push neon reactor
This commit is contained in:
+69
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
* 1DS JS SDK POST plugin, 4.3.11
|
||||
* Copyright (c) Microsoft and contributors. All rights reserved.
|
||||
* (Microsoft Internal Only)
|
||||
*/
|
||||
/**
|
||||
* KillSwitch.ts
|
||||
* @author Abhilash Panwar (abpanwar)
|
||||
* @copyright Microsoft 2018
|
||||
*/
|
||||
import dynamicProto from "@microsoft/dynamicproto-js";
|
||||
import { arrForEach, dateNow, strTrim } from "@microsoft/1ds-core-js";
|
||||
import { _DYN_IS_TENANT_KILLED, _DYN_LENGTH, _DYN_PUSH, _DYN_SET_KILL_SWITCH_TENA11, _DYN_SPLIT } from "./__DynamicConstants";
|
||||
var SecToMsMultiplier = 1000;
|
||||
/**
|
||||
* Class to stop certain tenants sending events.
|
||||
*/
|
||||
var KillSwitch = /** @class */ (function () {
|
||||
function KillSwitch() {
|
||||
var _killedTokenDictionary = {};
|
||||
function _normalizeTenants(values) {
|
||||
var result = [];
|
||||
if (values) {
|
||||
arrForEach(values, function (value) {
|
||||
result[_DYN_PUSH /* @min:%2epush */](strTrim(value));
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
dynamicProto(KillSwitch, this, function (_self) {
|
||||
_self[_DYN_SET_KILL_SWITCH_TENA11 /* @min:%2esetKillSwitchTenants */] = function (killTokens, killDuration) {
|
||||
if (killTokens && killDuration) {
|
||||
try {
|
||||
var killedTokens = _normalizeTenants(killTokens[_DYN_SPLIT /* @min:%2esplit */](","));
|
||||
if (killDuration === "this-request-only") {
|
||||
return killedTokens;
|
||||
}
|
||||
var durationMs = parseInt(killDuration, 10) * SecToMsMultiplier;
|
||||
for (var i = 0; i < killedTokens[_DYN_LENGTH /* @min:%2elength */]; ++i) {
|
||||
_killedTokenDictionary[killedTokens[i]] = dateNow() + durationMs;
|
||||
}
|
||||
}
|
||||
catch (ex) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
return [];
|
||||
};
|
||||
_self[_DYN_IS_TENANT_KILLED /* @min:%2eisTenantKilled */] = function (tenantToken) {
|
||||
var killDictionary = _killedTokenDictionary;
|
||||
var name = strTrim(tenantToken);
|
||||
if (killDictionary[name] !== undefined && killDictionary[name] > dateNow()) {
|
||||
return true;
|
||||
}
|
||||
delete killDictionary[name];
|
||||
return false;
|
||||
};
|
||||
});
|
||||
}
|
||||
// Removed Stub for KillSwitch.prototype.setKillSwitchTenants.
|
||||
// Removed Stub for KillSwitch.prototype.isTenantKilled.
|
||||
// This is a workaround for an IE bug when using dynamicProto() with classes that don't have any
|
||||
// non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.
|
||||
KillSwitch.__ieDyn=1;
|
||||
|
||||
return KillSwitch;
|
||||
}());
|
||||
export { KillSwitch };
|
||||
//# sourceMappingURL=KillSwitch.js.map
|
||||
Reference in New Issue
Block a user