@statsig/angular-bindings 3.25.5 → 3.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -65,6 +65,10 @@ export class StatsigService {
|
|
|
65
65
|
Log.debug(`getLayer caled for ${layerName}, rv: ${this._renderVersion}`);
|
|
66
66
|
return this._getLayerImpl(this._renderVersion, layerName, options);
|
|
67
67
|
}
|
|
68
|
+
getParameterStore(parameterStoreName, options) {
|
|
69
|
+
Log.debug(`getParameterStore called for ${parameterStoreName}, rv: ${this._renderVersion}`);
|
|
70
|
+
return this._getParameterStoreImpl(this._renderVersion, parameterStoreName, options);
|
|
71
|
+
}
|
|
68
72
|
logEvent(eventName, value, metadata) {
|
|
69
73
|
this._client.logEvent(eventName, value, metadata);
|
|
70
74
|
}
|
|
@@ -89,6 +93,9 @@ export class StatsigService {
|
|
|
89
93
|
_getLayerImpl(_rv, layerName, options) {
|
|
90
94
|
return this._client.getLayer(layerName, options);
|
|
91
95
|
}
|
|
96
|
+
_getParameterStoreImpl(_rv, parameterStoreName, options) {
|
|
97
|
+
return this._client.getParameterStore(parameterStoreName, options);
|
|
98
|
+
}
|
|
92
99
|
_checkAndEmitLoadingStatus() {
|
|
93
100
|
const isReady = _isReady(this._client);
|
|
94
101
|
if (isReady) {
|
|
@@ -144,6 +151,15 @@ __decorate([
|
|
|
144
151
|
__metadata("design:paramtypes", [Number, String, Object]),
|
|
145
152
|
__metadata("design:returntype", Object)
|
|
146
153
|
], StatsigService.prototype, "_getLayerImpl", null);
|
|
154
|
+
__decorate([
|
|
155
|
+
Memoize((...args) => {
|
|
156
|
+
const [rv, pn, opt] = args;
|
|
157
|
+
return `${rv}-${pn}-${JSON.stringify(opt)}`;
|
|
158
|
+
}),
|
|
159
|
+
__metadata("design:type", Function),
|
|
160
|
+
__metadata("design:paramtypes", [Number, String, Object]),
|
|
161
|
+
__metadata("design:returntype", Object)
|
|
162
|
+
], StatsigService.prototype, "_getParameterStoreImpl", null);
|
|
147
163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StatsigService, decorators: [{
|
|
148
164
|
type: Injectable,
|
|
149
165
|
args: [{
|
|
@@ -152,8 +168,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
152
168
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
153
169
|
type: Inject,
|
|
154
170
|
args: [STATSIG_INIT_CONFIG]
|
|
155
|
-
}] }], propDecorators: { _checkGateImpl: [], _getDynamicConfigImpl: [], _getExperimentImpl: [], _getLayerImpl: [] } });
|
|
171
|
+
}] }], propDecorators: { _checkGateImpl: [], _getDynamicConfigImpl: [], _getExperimentImpl: [], _getLayerImpl: [], _getParameterStoreImpl: [] } });
|
|
156
172
|
function _isReady(client) {
|
|
157
173
|
return client.loadingStatus === 'Ready';
|
|
158
174
|
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHNpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaW5kaW5ncy9zcmMvc3RhdHNpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQVVMLEdBQUcsRUFDSCxPQUFPLEdBSVIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLMUUsTUFBTSxPQUFPLGNBQWM7SUFDakIsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNuQixPQUFPLENBQWdCO0lBRXZCLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBQy9ELFVBQVUsR0FBd0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRXhFLFlBQytCLFFBQTBDO1FBRXZFLElBQUksUUFBUSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUNqQyxDQUFDO2FBQU0sSUFBSSxRQUFRLElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksYUFBYSxDQUM5QixRQUFRLENBQUMsTUFBTSxFQUNmLFFBQVEsQ0FBQyxJQUFJLEVBQ2IsUUFBUSxDQUFDLE9BQU8sQ0FDakIsQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFP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QUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQyxDQUFDOzs7O3dEQU9EO0FBTU87SUFKUCxPQUFPLENBQUMsQ0FBQyxHQUFHLElBQWUsRUFBRSxFQUFFO1FBQzlCLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQWdELENBQUM7UUFDdkUsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQzlDLENBQUMsQ0FBQzs7OzttREFPRDs0RkFqS1UsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsbUJBQW1CO3lDQTJHckIsY0FBYyxNQWdCZCxxQkFBcUIsTUFZckIsa0JBQWtCLE1BWWxCLGFBQWE7QUEwQnZCLFNBQVMsUUFBUSxDQUFDLE1BQXFCO0lBQ3JDLE9BQU8sTUFBTSxDQUFDLGFBQWEsS0FBSyxPQUFPLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgRGF0YUFkYXB0ZXJBc3luY09wdGlvbnMsXG4gIERhdGFBZGFwdGVyU3luY09wdGlvbnMsXG4gIER5bmFtaWNDb25maWcsXG4gIER5bmFtaWNDb25maWdFdmFsdWF0aW9uT3B0aW9ucyxcbiAgRXhwZXJpbWVudCxcbiAgRXhwZXJpbWVudEV2YWx1YXRpb25PcHRpb25zLFxuICBGZWF0dXJlR2F0ZUV2YWx1YXRpb25PcHRpb25zLFxuICBMYXllcixcbiAgTGF5ZXJFdmFsdWF0aW9uT3B0aW9ucyxcbiAgTG9nLFxuICBTREtUeXBlLFxuICBTdGF0c2lnRXZlbnQsXG4gIFN0YXRzaWdVcGRhdGVEZXRhaWxzLFxuICBTdGF0c2lnVXNlcixcbn0gZnJvbSAnQHN0YXRzaWcvY2xpZW50LWNvcmUnO1xuaW1wb3J0IHsgU3RhdHNpZ0NsaWVudCB9IGZyb20gJ0BzdGF0c2lnL2pzLWNsaWVudCc7XG5cbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICcuL21lbW9pemVEZWNvcmF0b3InO1xuaW1wb3J0IHsgU1RBVFNJR19JTklUX0NPTkZJRywgU3RhdHNpZ0luaXRDb25maWcgfSBmcm9tICcuL3N0YXRzaWcubW9kdWxlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRzaWdTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfcmVuZGVyVmVyc2lvbiA9IDA7XG4gIHByaXZhdGUgX2NsaWVudDogU3RhdHNpZ0NsaWVudDtcblxuICBwcml2YXRlIF9pc0xvYWRpbmdTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgaXNMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX2lzTG9hZGluZ1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChTVEFUU0lHX0lOSVRfQ09ORklHKSBwcm92aWRlcjogU3RhdHNpZ0luaXRDb25maWc8U3RhdHNpZ0NsaWVudD4sXG4gICkge1xuICAgIGlmICgnY2xpZW50JyBpbiBwcm92aWRlcikge1xuICAgICAgdGhpcy5fY2xpZW50ID0gcHJvdmlkZXIuY2xpZW50O1xuICAgIH0gZWxzZSBpZiAoJ3Nka0tleScgaW4gcHJvdmlkZXIgJiYgJ3VzZXInIGluIHByb3ZpZGVyKSB7XG4gICAgICB0aGlzLl9jbGllbnQgPSBuZXcgU3RhdHNpZ0NsaWVudChcbiAgICAgICAgcHJvdmlkZXIuc2RrS2V5LFxuICAgICAgICBwcm92aWRlci51c2VyLFxuICAgICAgICBwcm92aWRlci5vcHRpb25zLFxuICAgICAgKTtcbiAgICAgIHRoaXMuX2NsaWVudFxuICAgICAgICAuaW5pdGlhbGl6ZUFzeW5jKClcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIExvZy5lcnJvcignRXJyb3IgaW5pdGlhbGl6aW5nIFN0YXRzaWdDbGllbnQnLCBlcnJvcik7XG4gICAgICAgIH0pXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9pc0xvYWRpbmdTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgTG9nLmVycm9yKFxuICAgICAgICAnTXVzdCBwcm92aWRlIGEgY2xpZW50IG9yIHNka0tleSBhbmQgdXNlciB0byBpbml0aWFsaXplIFN0YXRzaWdTZXJ2aWNlJyxcbiAgICAgICk7XG4gICAgICB0aGlzLl9jbGllbnQgPSBuZXcgU3RhdHNpZ0NsaWVudCgnJywge30pO1xuICAgIH1cbiAgICBMb2cuZGVidWcoJ1N0YXRzaWdTZXJ2aWNlIGNyZWF0ZWQnLCB0aGlzLl9jbGllbnQpO1xuICAgIHRoaXMuX2NoZWNrQW5kRW1pdExvYWRpbmdTdGF0dXMoKTtcbiAgICB0aGlzLl9jbGllbnQuJG9uKCd2YWx1ZXNfdXBkYXRlZCcsIHRoaXMuX29uVmFsdWVzVXBkYXRlZCk7XG5cbiAgICBTREtUeXBlLl9zZXRCaW5kaW5nVHlwZSgnYW5ndWxhcicpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fY2xpZW50LnNodXRkb3duKCkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICBMb2cuZXJyb3IoJ0FuIGVycm9yIG9jY3VyZWQgZHVyaW5nIHNodXRkb3duJywgZXJyb3IpO1xuICAgIH0pO1xuICAgIHRoaXMuX2NsaWVudC5vZmYoJ3ZhbHVlc191cGRhdGVkJywgdGhpcy5fb25WYWx1ZXNVcGRhdGVkKTtcbiAgfVxuXG4gIGNoZWNrR2F0ZShnYXRlTmFtZTogc3RyaW5nLCBvcHRpb25zPzogRmVhdHVyZUdhdGVFdmFsdWF0aW9uT3B0aW9ucyk6IGJvb2xlYW4ge1xuICAgIExvZy5kZWJ1ZyhgY2hlY2tHYXRlIGNhbGVkIGZvciAke2dhdGVOYW1lfSwgcnY6ICR7dGhpcy5fcmVuZGVyVmVyc2lvbn1gKTtcblxuICAgIHJldHVybiB0aGlzLl9jaGVja0dhdGVJbXBsKHRoaXMuX3JlbmRlclZlcnNpb24sIGdhdGVOYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIGdldER5bmFtaWNDb25maWcoXG4gICAgY29uZmlnTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBEeW5hbWljQ29uZmlnRXZhbHVhdGlvbk9wdGlvbnMsXG4gICk6IER5bmFtaWNDb25maWcge1xuICAgIExvZy5kZWJ1ZyhcbiAgICAgIGBnZXREeW5hbWljQ29uZmlnIGNhbGxlZCBmb3IgJHtjb25maWdOYW1lfSwgcnY6ICR7dGhpcy5fcmVuZGVyVmVyc2lvbn1gLFxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5fZ2V0RHluYW1pY0NvbmZpZ0ltcGwodGhpcy5fcmVuZGVyVmVyc2lvbiwgY29uZmlnTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICBnZXRFeHBlcmltZW50KFxuICAgIGV4cGVyaW1lbnROYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEV4cGVyaW1lbnRFdmFsdWF0aW9uT3B0aW9ucyxcbiAgKTogRXhwZXJpbWVudCB7XG4gICAgTG9nLmRlYnVnKFxuICAgICAgYGdldEV4cGVyaW1lbnQgY2FsZWQgZm9yICR7ZXhwZXJpbWVudE5hbWV9LCBydjogJHt0aGlzLl9yZW5kZXJWZXJzaW9ufWAsXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLl9nZXRFeHBlcmltZW50SW1wbChcbiAgICAgIHRoaXMuX3JlbmRlclZlcnNpb24sXG4gICAgICBleHBlcmltZW50TmFtZSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIGdldExheWVyKGxheWVyTmFtZTogc3RyaW5nLCBvcHRpb25zPzogTGF5ZXJFdmFsdWF0aW9uT3B0aW9ucyk6IExheWVyIHtcbiAgICBMb2cuZGVidWcoYGdldExheWVyIGNhbGVkIGZvciAke2xheWVyTmFtZX0sIHJ2OiAke3RoaXMuX3JlbmRlclZlcnNpb259YCk7XG5cbiAgICByZXR1cm4gdGhpcy5fZ2V0TGF5ZXJJbXBsKHRoaXMuX3JlbmRlclZlcnNpb24sIGxheWVyTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICBsb2dFdmVudChcbiAgICBldmVudE5hbWU6IFN0YXRzaWdFdmVudCB8IHN0cmluZyxcbiAgICB2YWx1ZT86IHN0cmluZyB8IG51bWJlcixcbiAgICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWVudC5sb2dFdmVudChldmVudE5hbWUsIHZhbHVlLCBtZXRhZGF0YSk7XG4gIH1cblxuICB1cGRhdGVVc2VyQXN5bmMoXG4gICAgdXNlcjogU3RhdHNpZ1VzZXIsXG4gICAgb3B0aW9ucz86IERhdGFBZGFwdGVyQXN5bmNPcHRpb25zLFxuICApOiBQcm9taXNlPFN0YXRzaWdVcGRhdGVEZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC51cGRhdGVVc2VyQXN5bmModXNlciwgb3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVVc2VyU3luYyh1c2VyOiBTdGF0c2lnVXNlciwgb3B0aW9ucz86IERhdGFBZGFwdGVyU3luY09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLl9jbGllbnQudXBkYXRlVXNlclN5bmModXNlciwgb3B0aW9ucyk7XG4gIH1cblxuICBnZXRDbGllbnQoKTogU3RhdHNpZ0NsaWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudDtcbiAgfVxuXG4gIEBNZW1vaXplKCguLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgICBjb25zdCBbcnYsIGduLCBvcHRdID0gYXJncyBhcyBbXG4gICAgICBudW1iZXIsXG4gICAgICBzdHJpbmcsXG4gICAgICBGZWF0dXJlR2F0ZUV2YWx1YXRpb25PcHRpb25zLFxuICAgIF07XG4gICAgcmV0dXJuIGAke3J2fS0ke2dufS0ke0pTT04uc3RyaW5naWZ5KG9wdCl9YDtcbiAgfSlcbiAgcHJpdmF0ZSBfY2hlY2tHYXRlSW1wbChcbiAgICBfcnY6IG51bWJlcixcbiAgICBnYXRlTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBGZWF0dXJlR2F0ZUV2YWx1YXRpb25PcHRpb25zLFxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmNoZWNrR2F0ZShnYXRlTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICBATWVtb2l6ZSgoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgY29uc3QgW3J2LCBnbiwgb3B0XSA9IGFyZ3MgYXMgW1xuICAgICAgbnVtYmVyLFxuICAgICAgc3RyaW5nLFxuICAgICAgRHluYW1pY0NvbmZpZ0V2YWx1YXRpb25PcHRpb25zLFxuICAgIF07XG4gICAgcmV0dXJuIGAke3J2fS0ke2dufS0ke0pTT04uc3RyaW5naWZ5KG9wdCl9YDtcbiAgfSlcbiAgcHJpdmF0ZSBfZ2V0RHluYW1pY0NvbmZpZ0ltcGwoXG4gICAgX3J2OiBudW1iZXIsXG4gICAgY29uZmlnTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBEeW5hbWljQ29uZmlnRXZhbHVhdGlvbk9wdGlvbnMsXG4gICk6IER5bmFtaWNDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0RHluYW1pY0NvbmZpZyhjb25maWdOYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIEBNZW1vaXplKCguLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgICBjb25zdCBbcnYsIGVuLCBvcHRdID0gYXJncyBhcyBbbnVtYmVyLCBzdHJpbmcsIEV4cGVyaW1lbnRFdmFsdWF0aW9uT3B0aW9uc107XG4gICAgcmV0dXJuIGAke3J2fS0ke2VufS0ke0pTT04uc3RyaW5naWZ5KG9wdCl9YDtcbiAgfSlcbiAgcHJpdmF0ZSBfZ2V0RXhwZXJpbWVudEltcGwoXG4gICAgX3J2OiBudW1iZXIsXG4gICAgZXhwZXJpbWVudE5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogRXhwZXJpbWVudEV2YWx1YXRpb25PcHRpb25zLFxuICApOiBFeHBlcmltZW50IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldEV4cGVyaW1lbnQoZXhwZXJpbWVudE5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgQE1lbW9pemUoKC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICAgIGNvbnN0IFtydiwgbG4sIG9wdF0gPSBhcmdzIGFzIFtudW1iZXIsIHN0cmluZywgTGF5ZXJFdmFsdWF0aW9uT3B0aW9uc107XG4gICAgcmV0dXJuIGAke3J2fS0ke2xufS0ke0pTT04uc3RyaW5naWZ5KG9wdCl9YDtcbiAgfSlcbiAgcHJpdmF0ZSBfZ2V0TGF5ZXJJbXBsKFxuICAgIF9ydjogbnVtYmVyLFxuICAgIGxheWVyTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBMYXllckV2YWx1YXRpb25PcHRpb25zLFxuICApOiBMYXllciB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXRMYXllcihsYXllck5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBbmRFbWl0TG9hZGluZ1N0YXR1cygpOiB2b2lkIHtcbiAgICBjb25zdCBpc1JlYWR5ID0gX2lzUmVhZHkodGhpcy5fY2xpZW50KTtcbiAgICBpZiAoaXNSZWFkeSkge1xuICAgICAgdGhpcy5faXNMb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgIExvZy5kZWJ1ZygnQ2xpZW50IGlzIG5vdyByZWFkeSwgbG9hZGluZyBzdGF0dXMgc2V0IHRvIGZhbHNlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2lzTG9hZGluZ1N1YmplY3QubmV4dCh0cnVlKTtcbiAgICAgIExvZy5kZWJ1ZygnQ2xpZW50IGlzIG5vdCByZWFkeSwgbG9hZGluZyBzdGF0dXMgc2V0IHRvIHRydWUnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblZhbHVlc1VwZGF0ZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fcmVuZGVyVmVyc2lvbisrO1xuICAgIExvZy5kZWJ1ZygnVmFsdWVzIHVwZGF0ZWQnLCB0aGlzLl9yZW5kZXJWZXJzaW9uKTtcbiAgICB0aGlzLl9jaGVja0FuZEVtaXRMb2FkaW5nU3RhdHVzKCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIF9pc1JlYWR5KGNsaWVudDogU3RhdHNpZ0NsaWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2xpZW50LmxvYWRpbmdTdGF0dXMgPT09ICdSZWFkeSc7XG59XG4iXX0=
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHNpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaW5kaW5ncy9zcmMvc3RhdHNpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQVVMLEdBQUcsRUFHSCxPQUFPLEdBSVIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBcUIsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLMUUsTUFBTSxPQUFPLGNBQWM7SUFDakIsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNuQixPQUFPLENBQWdCO0lBRXZCLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBQy9ELFVBQVUsR0FBd0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRXhFLFlBQytCLFFBQTBDO1FBRXZFLElBQUksUUFBUSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUNqQyxDQUFDO2FBQU0sSUFBSSxRQUFRLElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksYUFBYSxDQUM5QixRQUFRLENBQUMsTUFBTSxFQUNmLFFBQVEsQ0FBQyxJQUFJLEVBQ2IsUUFBUSxDQUFDLE9BQU8sQ0FDakIsQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFP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QUFxQixNQVlyQixrQkFBa0IsTUFZbEIsYUFBYSxNQWdCYixzQkFBc0I7QUEwQmhDLFNBQVMsUUFBUSxDQUFDLE1BQXFCO0lBQ3JDLE9BQU8sTUFBTSxDQUFDLGFBQWEsS0FBSyxPQUFPLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgRGF0YUFkYXB0ZXJBc3luY09wdGlvbnMsXG4gIERhdGFBZGFwdGVyU3luY09wdGlvbnMsXG4gIER5bmFtaWNDb25maWcsXG4gIER5bmFtaWNDb25maWdFdmFsdWF0aW9uT3B0aW9ucyxcbiAgRXhwZXJpbWVudCxcbiAgRXhwZXJpbWVudEV2YWx1YXRpb25PcHRpb25zLFxuICBGZWF0dXJlR2F0ZUV2YWx1YXRpb25PcHRpb25zLFxuICBMYXllcixcbiAgTGF5ZXJFdmFsdWF0aW9uT3B0aW9ucyxcbiAgTG9nLFxuICBQYXJhbWV0ZXJTdG9yZSxcbiAgUGFyYW1ldGVyU3RvcmVFdmFsdWF0aW9uT3B0aW9ucyxcbiAgU0RLVHlwZSxcbiAgU3RhdHNpZ0V2ZW50LFxuICBTdGF0c2lnVXBkYXRlRGV0YWlscyxcbiAgU3RhdHNpZ1VzZXIsXG59IGZyb20gJ0BzdGF0c2lnL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFN0YXRzaWdDbGllbnQgfSBmcm9tICdAc3RhdHNpZy9qcy1jbGllbnQnO1xuXG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplRGVjb3JhdG9yJztcbmltcG9ydCB7IFNUQVRTSUdfSU5JVF9DT05GSUcsIFN0YXRzaWdJbml0Q29uZmlnIH0gZnJvbSAnLi9zdGF0c2lnLm1vZHVsZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0c2lnU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3JlbmRlclZlcnNpb24gPSAwO1xuICBwcml2YXRlIF9jbGllbnQ6IFN0YXRzaWdDbGllbnQ7XG5cbiAgcHJpdmF0ZSBfaXNMb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIGlzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9pc0xvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoU1RBVFNJR19JTklUX0NPTkZJRykgcHJvdmlkZXI6IFN0YXRzaWdJbml0Q29uZmlnPFN0YXRzaWdDbGllbnQ+LFxuICApIHtcbiAgICBpZiAoJ2NsaWVudCcgaW4gcHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuX2NsaWVudCA9IHByb3ZpZGVyLmNsaWVudDtcbiAgICB9IGVsc2UgaWYgKCdzZGtLZXknIGluIHByb3ZpZGVyICYmICd1c2VyJyBpbiBwcm92aWRlcikge1xuICAgICAgdGhpcy5fY2xpZW50ID0gbmV3IFN0YXRzaWdDbGllbnQoXG4gICAgICAgIHByb3ZpZGVyLnNka0tleSxcbiAgICAgICAgcHJvdmlkZXIudXNlcixcbiAgICAgICAgcHJvdmlkZXIub3B0aW9ucyxcbiAgICAgICk7XG4gICAgICB0aGlzLl9jbGllbnRcbiAgICAgICAgLmluaXRpYWxpemVBc3luYygpXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBMb2cuZXJyb3IoJ0Vycm9yIGluaXRpYWxpemluZyBTdGF0c2lnQ2xpZW50JywgZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5faXNMb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIExvZy5lcnJvcihcbiAgICAgICAgJ011c3QgcHJvdmlkZSBhIGNsaWVudCBvciBzZGtLZXkgYW5kIHVzZXIgdG8gaW5pdGlhbGl6ZSBTdGF0c2lnU2VydmljZScsXG4gICAgICApO1xuICAgICAgdGhpcy5fY2xpZW50ID0gbmV3IFN0YXRzaWdDbGllbnQoJycsIHt9KTtcbiAgICB9XG4gICAgTG9nLmRlYnVnKCdTdGF0c2lnU2VydmljZSBjcmVhdGVkJywgdGhpcy5fY2xpZW50KTtcbiAgICB0aGlzLl9jaGVja0FuZEVtaXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgdGhpcy5fY2xpZW50LiRvbigndmFsdWVzX3VwZGF0ZWQnLCB0aGlzLl9vblZhbHVlc1VwZGF0ZWQpO1xuXG4gICAgU0RLVHlwZS5fc2V0QmluZGluZ1R5cGUoJ2FuZ3VsYXInKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWVudC5zaHV0ZG93bigpLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgTG9nLmVycm9yKCdBbiBlcnJvciBvY2N1cmVkIGR1cmluZyBzaHV0ZG93bicsIGVycm9yKTtcbiAgICB9KTtcbiAgICB0aGlzLl9jbGllbnQub2ZmKCd2YWx1ZXNfdXBkYXRlZCcsIHRoaXMuX29uVmFsdWVzVXBkYXRlZCk7XG4gIH1cblxuICBjaGVja0dhdGUoZ2F0ZU5hbWU6IHN0cmluZywgb3B0aW9ucz86IEZlYXR1cmVHYXRlRXZhbHVhdGlvbk9wdGlvbnMpOiBib29sZWFuIHtcbiAgICBMb2cuZGVidWcoYGNoZWNrR2F0ZSBjYWxlZCBmb3IgJHtnYXRlTmFtZX0sIHJ2OiAke3RoaXMuX3JlbmRlclZlcnNpb259YCk7XG5cbiAgICByZXR1cm4gdGhpcy5fY2hlY2tHYXRlSW1wbCh0aGlzLl9yZW5kZXJWZXJzaW9uLCBnYXRlTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICBnZXREeW5hbWljQ29uZmlnKFxuICAgIGNvbmZpZ05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogRHluYW1pY0NvbmZpZ0V2YWx1YXRpb25PcHRpb25zLFxuICApOiBEeW5hbWljQ29uZmlnIHtcbiAgICBMb2cuZGVidWcoXG4gICAgICBgZ2V0RHluYW1pY0NvbmZpZyBjYWxsZWQgZm9yICR7Y29uZmlnTmFtZX0sIHJ2OiAke3RoaXMuX3JlbmRlclZlcnNpb259YCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuX2dldER5bmFtaWNDb25maWdJbXBsKHRoaXMuX3JlbmRlclZlcnNpb24sIGNvbmZpZ05hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXhwZXJpbWVudChcbiAgICBleHBlcmltZW50TmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBFeHBlcmltZW50RXZhbHVhdGlvbk9wdGlvbnMsXG4gICk6IEV4cGVyaW1lbnQge1xuICAgIExvZy5kZWJ1ZyhcbiAgICAgIGBnZXRFeHBlcmltZW50IGNhbGVkIGZvciAke2V4cGVyaW1lbnROYW1lfSwgcnY6ICR7dGhpcy5fcmVuZGVyVmVyc2lvbn1gLFxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5fZ2V0RXhwZXJpbWVudEltcGwoXG4gICAgICB0aGlzLl9yZW5kZXJWZXJzaW9uLFxuICAgICAgZXhwZXJpbWVudE5hbWUsXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gIH1cblxuICBnZXRMYXllcihsYXllck5hbWU6IHN0cmluZywgb3B0aW9ucz86IExheWVyRXZhbHVhdGlvbk9wdGlvbnMpOiBMYXllciB7XG4gICAgTG9nLmRlYnVnKGBnZXRMYXllciBjYWxlZCBmb3IgJHtsYXllck5hbWV9LCBydjogJHt0aGlzLl9yZW5kZXJWZXJzaW9ufWApO1xuXG4gICAgcmV0dXJuIHRoaXMuX2dldExheWVySW1wbCh0aGlzLl9yZW5kZXJWZXJzaW9uLCBsYXllck5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVyU3RvcmUoXG4gICAgcGFyYW1ldGVyU3RvcmVOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IFBhcmFtZXRlclN0b3JlRXZhbHVhdGlvbk9wdGlvbnMsXG4gICk6IFBhcmFtZXRlclN0b3JlIHtcbiAgICBMb2cuZGVidWcoXG4gICAgICBgZ2V0UGFyYW1ldGVyU3RvcmUgY2FsbGVkIGZvciAke3BhcmFtZXRlclN0b3JlTmFtZX0sIHJ2OiAke3RoaXMuX3JlbmRlclZlcnNpb259YCxcbiAgICApO1xuICAgIHJldHVybiB0aGlzLl9nZXRQYXJhbWV0ZXJTdG9yZUltcGwoXG4gICAgICB0aGlzLl9yZW5kZXJWZXJzaW9uLFxuICAgICAgcGFyYW1ldGVyU3RvcmVOYW1lLFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICB9XG5cbiAgbG9nRXZlbnQoXG4gICAgZXZlbnROYW1lOiBTdGF0c2lnRXZlbnQgfCBzdHJpbmcsXG4gICAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLl9jbGllbnQubG9nRXZlbnQoZXZlbnROYW1lLCB2YWx1ZSwgbWV0YWRhdGEpO1xuICB9XG5cbiAgdXBkYXRlVXNlckFzeW5jKFxuICAgIHVzZXI6IFN0YXRzaWdVc2VyLFxuICAgIG9wdGlvbnM/OiBEYXRhQWRhcHRlckFzeW5jT3B0aW9ucyxcbiAgKTogUHJvbWlzZTxTdGF0c2lnVXBkYXRlRGV0YWlscz4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQudXBkYXRlVXNlckFzeW5jKHVzZXIsIG9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlVXNlclN5bmModXNlcjogU3RhdHNpZ1VzZXIsIG9wdGlvbnM/OiBEYXRhQWRhcHRlclN5bmNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fY2xpZW50LnVwZGF0ZVVzZXJTeW5jKHVzZXIsIG9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q2xpZW50KCk6IFN0YXRzaWdDbGllbnQge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQ7XG4gIH1cblxuICBATWVtb2l6ZSgoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgY29uc3QgW3J2LCBnbiwgb3B0XSA9IGFyZ3MgYXMgW1xuICAgICAgbnVtYmVyLFxuICAgICAgc3RyaW5nLFxuICAgICAgRmVhdHVyZUdhdGVFdmFsdWF0aW9uT3B0aW9ucyxcbiAgICBdO1xuICAgIHJldHVybiBgJHtydn0tJHtnbn0tJHtKU09OLnN0cmluZ2lmeShvcHQpfWA7XG4gIH0pXG4gIHByaXZhdGUgX2NoZWNrR2F0ZUltcGwoXG4gICAgX3J2OiBudW1iZXIsXG4gICAgZ2F0ZU5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogRmVhdHVyZUdhdGVFdmFsdWF0aW9uT3B0aW9ucyxcbiAgKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5jaGVja0dhdGUoZ2F0ZU5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgQE1lbW9pemUoKC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICAgIGNvbnN0IFtydiwgZ24sIG9wdF0gPSBhcmdzIGFzIFtcbiAgICAgIG51bWJlcixcbiAgICAgIHN0cmluZyxcbiAgICAgIER5bmFtaWNDb25maWdFdmFsdWF0aW9uT3B0aW9ucyxcbiAgICBdO1xuICAgIHJldHVybiBgJHtydn0tJHtnbn0tJHtKU09OLnN0cmluZ2lmeShvcHQpfWA7XG4gIH0pXG4gIHByaXZhdGUgX2dldER5bmFtaWNDb25maWdJbXBsKFxuICAgIF9ydjogbnVtYmVyLFxuICAgIGNvbmZpZ05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogRHluYW1pY0NvbmZpZ0V2YWx1YXRpb25PcHRpb25zLFxuICApOiBEeW5hbWljQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldER5bmFtaWNDb25maWcoY29uZmlnTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICBATWVtb2l6ZSgoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgY29uc3QgW3J2LCBlbiwgb3B0XSA9IGFyZ3MgYXMgW251bWJlciwgc3RyaW5nLCBFeHBlcmltZW50RXZhbHVhdGlvbk9wdGlvbnNdO1xuICAgIHJldHVybiBgJHtydn0tJHtlbn0tJHtKU09OLnN0cmluZ2lmeShvcHQpfWA7XG4gIH0pXG4gIHByaXZhdGUgX2dldEV4cGVyaW1lbnRJbXBsKFxuICAgIF9ydjogbnVtYmVyLFxuICAgIGV4cGVyaW1lbnROYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEV4cGVyaW1lbnRFdmFsdWF0aW9uT3B0aW9ucyxcbiAgKTogRXhwZXJpbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXRFeHBlcmltZW50KGV4cGVyaW1lbnROYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIEBNZW1vaXplKCguLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgICBjb25zdCBbcnYsIGxuLCBvcHRdID0gYXJncyBhcyBbbnVtYmVyLCBzdHJpbmcsIExheWVyRXZhbHVhdGlvbk9wdGlvbnNdO1xuICAgIHJldHVybiBgJHtydn0tJHtsbn0tJHtKU09OLnN0cmluZ2lmeShvcHQpfWA7XG4gIH0pXG4gIHByaXZhdGUgX2dldExheWVySW1wbChcbiAgICBfcnY6IG51bWJlcixcbiAgICBsYXllck5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogTGF5ZXJFdmFsdWF0aW9uT3B0aW9ucyxcbiAgKTogTGF5ZXIge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0TGF5ZXIobGF5ZXJOYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIEBNZW1vaXplKCguLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgICBjb25zdCBbcnYsIHBuLCBvcHRdID0gYXJncyBhcyBbXG4gICAgICBudW1iZXIsXG4gICAgICBzdHJpbmcsXG4gICAgICBQYXJhbWV0ZXJTdG9yZUV2YWx1YXRpb25PcHRpb25zLFxuICAgIF07XG4gICAgcmV0dXJuIGAke3J2fS0ke3BufS0ke0pTT04uc3RyaW5naWZ5KG9wdCl9YDtcbiAgfSlcbiAgcHJpdmF0ZSBfZ2V0UGFyYW1ldGVyU3RvcmVJbXBsKFxuICAgIF9ydjogbnVtYmVyLFxuICAgIHBhcmFtZXRlclN0b3JlTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBQYXJhbWV0ZXJTdG9yZUV2YWx1YXRpb25PcHRpb25zLFxuICApOiBQYXJhbWV0ZXJTdG9yZSB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXRQYXJhbWV0ZXJTdG9yZShwYXJhbWV0ZXJTdG9yZU5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBbmRFbWl0TG9hZGluZ1N0YXR1cygpOiB2b2lkIHtcbiAgICBjb25zdCBpc1JlYWR5ID0gX2lzUmVhZHkodGhpcy5fY2xpZW50KTtcbiAgICBpZiAoaXNSZWFkeSkge1xuICAgICAgdGhpcy5faXNMb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgIExvZy5kZWJ1ZygnQ2xpZW50IGlzIG5vdyByZWFkeSwgbG9hZGluZyBzdGF0dXMgc2V0IHRvIGZhbHNlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2lzTG9hZGluZ1N1YmplY3QubmV4dCh0cnVlKTtcbiAgICAgIExvZy5kZWJ1ZygnQ2xpZW50IGlzIG5vdCByZWFkeSwgbG9hZGluZyBzdGF0dXMgc2V0IHRvIHRydWUnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblZhbHVlc1VwZGF0ZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fcmVuZGVyVmVyc2lvbisrO1xuICAgIExvZy5kZWJ1ZygnVmFsdWVzIHVwZGF0ZWQnLCB0aGlzLl9yZW5kZXJWZXJzaW9uKTtcbiAgICB0aGlzLl9jaGVja0FuZEVtaXRMb2FkaW5nU3RhdHVzKCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIF9pc1JlYWR5KGNsaWVudDogU3RhdHNpZ0NsaWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2xpZW50LmxvYWRpbmdTdGF0dXMgPT09ICdSZWFkeSc7XG59XG4iXX0=
|
|
@@ -81,6 +81,10 @@ class StatsigService {
|
|
|
81
81
|
Log.debug(`getLayer caled for ${layerName}, rv: ${this._renderVersion}`);
|
|
82
82
|
return this._getLayerImpl(this._renderVersion, layerName, options);
|
|
83
83
|
}
|
|
84
|
+
getParameterStore(parameterStoreName, options) {
|
|
85
|
+
Log.debug(`getParameterStore called for ${parameterStoreName}, rv: ${this._renderVersion}`);
|
|
86
|
+
return this._getParameterStoreImpl(this._renderVersion, parameterStoreName, options);
|
|
87
|
+
}
|
|
84
88
|
logEvent(eventName, value, metadata) {
|
|
85
89
|
this._client.logEvent(eventName, value, metadata);
|
|
86
90
|
}
|
|
@@ -105,6 +109,9 @@ class StatsigService {
|
|
|
105
109
|
_getLayerImpl(_rv, layerName, options) {
|
|
106
110
|
return this._client.getLayer(layerName, options);
|
|
107
111
|
}
|
|
112
|
+
_getParameterStoreImpl(_rv, parameterStoreName, options) {
|
|
113
|
+
return this._client.getParameterStore(parameterStoreName, options);
|
|
114
|
+
}
|
|
108
115
|
_checkAndEmitLoadingStatus() {
|
|
109
116
|
const isReady = _isReady(this._client);
|
|
110
117
|
if (isReady) {
|
|
@@ -160,6 +167,15 @@ __decorate([
|
|
|
160
167
|
__metadata("design:paramtypes", [Number, String, Object]),
|
|
161
168
|
__metadata("design:returntype", Object)
|
|
162
169
|
], StatsigService.prototype, "_getLayerImpl", null);
|
|
170
|
+
__decorate([
|
|
171
|
+
Memoize((...args) => {
|
|
172
|
+
const [rv, pn, opt] = args;
|
|
173
|
+
return `${rv}-${pn}-${JSON.stringify(opt)}`;
|
|
174
|
+
}),
|
|
175
|
+
__metadata("design:type", Function),
|
|
176
|
+
__metadata("design:paramtypes", [Number, String, Object]),
|
|
177
|
+
__metadata("design:returntype", Object)
|
|
178
|
+
], StatsigService.prototype, "_getParameterStoreImpl", null);
|
|
163
179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StatsigService, decorators: [{
|
|
164
180
|
type: Injectable,
|
|
165
181
|
args: [{
|
|
@@ -168,7 +184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
168
184
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
169
185
|
type: Inject,
|
|
170
186
|
args: [STATSIG_INIT_CONFIG]
|
|
171
|
-
}] }], propDecorators: { _checkGateImpl: [], _getDynamicConfigImpl: [], _getExperimentImpl: [], _getLayerImpl: [] } });
|
|
187
|
+
}] }], propDecorators: { _checkGateImpl: [], _getDynamicConfigImpl: [], _getExperimentImpl: [], _getLayerImpl: [], _getParameterStoreImpl: [] } });
|
|
172
188
|
function _isReady(client) {
|
|
173
189
|
return client.loadingStatus === 'Ready';
|
|
174
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statsig-angular-bindings.mjs","sources":["../../../../packages/angular-bindings/src/memoizeDecorator.ts","../../../../packages/angular-bindings/src/statsig.service.ts","../../../../packages/angular-bindings/src/checkGate.directive.ts","../../../../packages/angular-bindings/src/statsig.module.ts","../../../../packages/angular-bindings/src/statsig-angular-bindings.ts"],"sourcesContent":["export function Memoize(\n keyGenerator: (...args: unknown[]) => string,\n): MethodDecorator {\n return function (\n _target: object,\n _propertyKey: string | symbol,\n descriptor: PropertyDescriptor,\n ) {\n const orignal = descriptor.value as (...args: unknown[]) => unknown;\n const cache = new Map<string, unknown>();\n\n descriptor.value = function (...args: unknown[]) {\n const key = keyGenerator(...args);\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n\n const result = orignal.apply(this, args);\n cache.set(key, result);\n return result;\n };\n\n return descriptor;\n };\n}\n","import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport {\n DataAdapterAsyncOptions,\n DataAdapterSyncOptions,\n DynamicConfig,\n DynamicConfigEvaluationOptions,\n Experiment,\n ExperimentEvaluationOptions,\n FeatureGateEvaluationOptions,\n Layer,\n LayerEvaluationOptions,\n Log,\n SDKType,\n StatsigEvent,\n StatsigUpdateDetails,\n StatsigUser,\n} from '@statsig/client-core';\nimport { StatsigClient } from '@statsig/js-client';\n\nimport { Memoize } from './memoizeDecorator';\nimport { STATSIG_INIT_CONFIG, StatsigInitConfig } from './statsig.module';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StatsigService implements OnDestroy {\n private _renderVersion = 0;\n private _client: StatsigClient;\n\n private _isLoadingSubject = new BehaviorSubject<boolean>(true);\n isLoading$: Observable<boolean> = this._isLoadingSubject.asObservable();\n\n constructor(\n @Inject(STATSIG_INIT_CONFIG) provider: StatsigInitConfig<StatsigClient>,\n ) {\n if ('client' in provider) {\n this._client = provider.client;\n } else if ('sdkKey' in provider && 'user' in provider) {\n this._client = new StatsigClient(\n provider.sdkKey,\n provider.user,\n provider.options,\n );\n this._client\n .initializeAsync()\n .catch((error) => {\n Log.error('Error initializing StatsigClient', error);\n })\n .finally(() => {\n this._isLoadingSubject.next(false);\n });\n } else {\n Log.error(\n 'Must provide a client or sdkKey and user to initialize StatsigService',\n );\n this._client = new StatsigClient('', {});\n }\n Log.debug('StatsigService created', this._client);\n this._checkAndEmitLoadingStatus();\n this._client.$on('values_updated', this._onValuesUpdated);\n\n SDKType._setBindingType('angular');\n }\n\n ngOnDestroy(): void {\n this._client.shutdown().catch((error) => {\n Log.error('An error occured during shutdown', error);\n });\n this._client.off('values_updated', this._onValuesUpdated);\n }\n\n checkGate(gateName: string, options?: FeatureGateEvaluationOptions): boolean {\n Log.debug(`checkGate caled for ${gateName}, rv: ${this._renderVersion}`);\n\n return this._checkGateImpl(this._renderVersion, gateName, options);\n }\n\n getDynamicConfig(\n configName: string,\n options?: DynamicConfigEvaluationOptions,\n ): DynamicConfig {\n Log.debug(\n `getDynamicConfig called for ${configName}, rv: ${this._renderVersion}`,\n );\n\n return this._getDynamicConfigImpl(this._renderVersion, configName, options);\n }\n\n getExperiment(\n experimentName: string,\n options?: ExperimentEvaluationOptions,\n ): Experiment {\n Log.debug(\n `getExperiment caled for ${experimentName}, rv: ${this._renderVersion}`,\n );\n\n return this._getExperimentImpl(\n this._renderVersion,\n experimentName,\n options,\n );\n }\n\n getLayer(layerName: string, options?: LayerEvaluationOptions): Layer {\n Log.debug(`getLayer caled for ${layerName}, rv: ${this._renderVersion}`);\n\n return this._getLayerImpl(this._renderVersion, layerName, options);\n }\n\n logEvent(\n eventName: StatsigEvent | string,\n value?: string | number,\n metadata?: Record<string, string>,\n ): void {\n this._client.logEvent(eventName, value, metadata);\n }\n\n updateUserAsync(\n user: StatsigUser,\n options?: DataAdapterAsyncOptions,\n ): Promise<StatsigUpdateDetails> {\n return this._client.updateUserAsync(user, options);\n }\n\n updateUserSync(user: StatsigUser, options?: DataAdapterSyncOptions): void {\n this._client.updateUserSync(user, options);\n }\n\n getClient(): StatsigClient {\n return this._client;\n }\n\n @Memoize((...args: unknown[]) => {\n const [rv, gn, opt] = args as [\n number,\n string,\n FeatureGateEvaluationOptions,\n ];\n return `${rv}-${gn}-${JSON.stringify(opt)}`;\n })\n private _checkGateImpl(\n _rv: number,\n gateName: string,\n options?: FeatureGateEvaluationOptions,\n ): boolean {\n return this._client.checkGate(gateName, options);\n }\n\n @Memoize((...args: unknown[]) => {\n const [rv, gn, opt] = args as [\n number,\n string,\n DynamicConfigEvaluationOptions,\n ];\n return `${rv}-${gn}-${JSON.stringify(opt)}`;\n })\n private _getDynamicConfigImpl(\n _rv: number,\n configName: string,\n options?: DynamicConfigEvaluationOptions,\n ): DynamicConfig {\n return this._client.getDynamicConfig(configName, options);\n }\n\n @Memoize((...args: unknown[]) => {\n const [rv, en, opt] = args as [number, string, ExperimentEvaluationOptions];\n return `${rv}-${en}-${JSON.stringify(opt)}`;\n })\n private _getExperimentImpl(\n _rv: number,\n experimentName: string,\n options?: ExperimentEvaluationOptions,\n ): Experiment {\n return this._client.getExperiment(experimentName, options);\n }\n\n @Memoize((...args: unknown[]) => {\n const [rv, ln, opt] = args as [number, string, LayerEvaluationOptions];\n return `${rv}-${ln}-${JSON.stringify(opt)}`;\n })\n private _getLayerImpl(\n _rv: number,\n layerName: string,\n options?: LayerEvaluationOptions,\n ): Layer {\n return this._client.getLayer(layerName, options);\n }\n\n private _checkAndEmitLoadingStatus(): void {\n const isReady = _isReady(this._client);\n if (isReady) {\n this._isLoadingSubject.next(false);\n Log.debug('Client is now ready, loading status set to false');\n } else {\n this._isLoadingSubject.next(true);\n Log.debug('Client is not ready, loading status set to true');\n }\n }\n\n private _onValuesUpdated = (): void => {\n this._renderVersion++;\n Log.debug('Values updated', this._renderVersion);\n this._checkAndEmitLoadingStatus();\n };\n}\n\nfunction _isReady(client: StatsigClient): boolean {\n return client.loadingStatus === 'Ready';\n}\n","import {\n Directive,\n Input,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Log } from '@statsig/client-core';\n\nimport { FeatureGateOptions } from './statsig.module';\nimport { StatsigService } from './statsig.service';\n\n@Directive({\n selector: '[stgCheckGate]',\n})\nexport class CheckGateDirective implements OnInit {\n private _gate = '';\n private _isHidden = true;\n private _options: FeatureGateOptions = {};\n\n @Input() set stgCheckGate(val: string) {\n Log.debug('Setting gate', val);\n if (val) {\n this._gate = val;\n this._updateView();\n }\n }\n\n @Input() set stgCheckGateOptions(val: FeatureGateOptions) {\n Log.debug('Setting options', val);\n if (val) {\n this._options = val;\n this._updateView();\n }\n }\n\n constructor(\n private _templateRef: TemplateRef<unknown>,\n private _viewContainer: ViewContainerRef,\n private _statsigService: StatsigService,\n ) {\n _statsigService.getClient().$on('values_updated', () => {\n this._updateView();\n });\n }\n\n ngOnInit(): void {\n if (this._gate) {\n this._updateView();\n }\n }\n\n private _updateView() {\n if (this._checkGate()) {\n if (this._isHidden) {\n Log.debug('Feature flag is enabled, showing the template');\n this._viewContainer.createEmbeddedView(this._templateRef);\n this._isHidden = false;\n }\n } else {\n this._viewContainer.clear();\n this._isHidden = true;\n }\n }\n\n private _checkGate() {\n return (\n this._gate && this._statsigService.checkGate(this._gate, this._options)\n );\n }\n}\n","import { InjectionToken, NgModule } from '@angular/core';\n\nimport {\n FeatureGateEvaluationOptions,\n StatsigClient,\n StatsigOptions,\n StatsigUser,\n} from '@statsig/js-client';\n\nimport { CheckGateDirective } from './checkGate.directive';\n\ntype WithClient<T extends StatsigClient> = { client: T };\ntype WithConfiguration = {\n sdkKey: string;\n user: StatsigUser;\n options?: StatsigOptions;\n};\n\nexport type StatsigInitConfig<T extends StatsigClient> =\n | WithClient<T>\n | WithConfiguration;\n\nexport const STATSIG_INIT_CONFIG = new InjectionToken<\n StatsigInitConfig<StatsigClient>\n>('StatsigProvider');\n\nexport type FeatureGateOptions = FeatureGateEvaluationOptions;\n\n@NgModule({\n declarations: [CheckGateDirective],\n exports: [CheckGateDirective],\n providers: [],\n})\nexport class StatsigModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.StatsigService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"statsig-angular-bindings.mjs","sources":["../../../../packages/angular-bindings/src/memoizeDecorator.ts","../../../../packages/angular-bindings/src/statsig.service.ts","../../../../packages/angular-bindings/src/checkGate.directive.ts","../../../../packages/angular-bindings/src/statsig.module.ts","../../../../packages/angular-bindings/src/statsig-angular-bindings.ts"],"sourcesContent":["export function Memoize(\n keyGenerator: (...args: unknown[]) => string,\n): MethodDecorator {\n return function (\n _target: object,\n _propertyKey: string | symbol,\n descriptor: PropertyDescriptor,\n ) {\n const orignal = descriptor.value as (...args: unknown[]) => unknown;\n const cache = new Map<string, unknown>();\n\n descriptor.value = function (...args: unknown[]) {\n const key = keyGenerator(...args);\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n\n const result = orignal.apply(this, args);\n cache.set(key, result);\n return result;\n };\n\n return descriptor;\n };\n}\n","import { Inject, Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport {\n DataAdapterAsyncOptions,\n DataAdapterSyncOptions,\n DynamicConfig,\n DynamicConfigEvaluationOptions,\n Experiment,\n ExperimentEvaluationOptions,\n FeatureGateEvaluationOptions,\n Layer,\n LayerEvaluationOptions,\n Log,\n ParameterStore,\n ParameterStoreEvaluationOptions,\n SDKType,\n StatsigEvent,\n StatsigUpdateDetails,\n StatsigUser,\n} from '@statsig/client-core';\nimport { StatsigClient } from '@statsig/js-client';\n\nimport { Memoize } from './memoizeDecorator';\nimport { STATSIG_INIT_CONFIG, StatsigInitConfig } from './statsig.module';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StatsigService implements OnDestroy {\n private _renderVersion = 0;\n private _client: StatsigClient;\n\n private _isLoadingSubject = new BehaviorSubject<boolean>(true);\n isLoading$: Observable<boolean> = this._isLoadingSubject.asObservable();\n\n constructor(\n @Inject(STATSIG_INIT_CONFIG) provider: StatsigInitConfig<StatsigClient>,\n ) {\n if ('client' in provider) {\n this._client = provider.client;\n } else if ('sdkKey' in provider && 'user' in provider) {\n this._client = new StatsigClient(\n provider.sdkKey,\n provider.user,\n provider.options,\n );\n this._client\n .initializeAsync()\n .catch((error) => {\n Log.error('Error initializing StatsigClient', error);\n })\n .finally(() => {\n this._isLoadingSubject.next(false);\n });\n } else {\n Log.error(\n 'Must provide a client or sdkKey and user to initialize StatsigService',\n );\n this._client = new StatsigClient('', {});\n }\n Log.debug('StatsigService created', this._client);\n this._checkAndEmitLoadingStatus();\n this._client.$on('values_updated', this._onValuesUpdated);\n\n SDKType._setBindingType('angular');\n }\n\n ngOnDestroy(): void {\n this._client.shutdown().catch((error) => {\n Log.error('An error occured during shutdown', error);\n });\n this._client.off('values_updated', this._onValuesUpdated);\n }\n\n checkGate(gateName: string, options?: FeatureGateEvaluationOptions): boolean {\n Log.debug(`checkGate caled for ${gateName}, rv: ${this._renderVersion}`);\n\n return this._checkGateImpl(this._renderVersion, gateName, options);\n }\n\n getDynamicConfig(\n configName: string,\n options?: DynamicConfigEvaluationOptions,\n ): DynamicConfig {\n Log.debug(\n `getDynamicConfig called for ${configName}, rv: ${this._renderVersion}`,\n );\n\n return this._getDynamicConfigImpl(this._renderVersion, configName, options);\n }\n\n getExperiment(\n experimentName: string,\n options?: ExperimentEvaluationOptions,\n ): Experiment {\n Log.debug(\n `getExperiment caled for ${experimentName}, rv: ${this._renderVersion}`,\n );\n\n return this._getExperimentImpl(\n this._renderVersion,\n experimentName,\n options,\n );\n }\n\n getLayer(layerName: string, options?: LayerEvaluationOptions): Layer {\n Log.debug(`getLayer caled for ${layerName}, rv: ${this._renderVersion}`);\n\n return this._getLayerImpl(this._renderVersion, layerName, options);\n }\n\n getParameterStore(\n parameterStoreName: string,\n options?: ParameterStoreEvaluationOptions,\n ): ParameterStore {\n Log.debug(\n `getParameterStore called for ${parameterStoreName}, rv: ${this._renderVersion}`,\n );\n return this._getParameterStoreImpl(\n this._renderVersion,\n parameterStoreName,\n options,\n );\n }\n\n logEvent(\n eventName: StatsigEvent | string,\n value?: string | number,\n metadata?: Record<string, string>,\n ): void {\n this._client.logEvent(eventName, value, metadata);\n }\n\n updateUserAsync(\n user: StatsigUser,\n options?: DataAdapterAsyncOptions,\n ): Promise<StatsigUpdateDetails> {\n return this._client.updateUserAsync(user, options);\n }\n\n updateUserSync(user: StatsigUser, options?: DataAdapterSyncOptions): void {\n this._client.updateUserSync(user, options);\n }\n\n getClient(): StatsigClient {\n return this._client;\n }\n\n @Memoize((...args: unknown[]) => {\n const [rv, gn, opt] = args as [\n number,\n string,\n FeatureGateEvaluationOptions,\n ];\n return `${rv}-${gn}-${JSON.stringify(opt)}`;\n })\n private _checkGateImpl(\n _rv: number,\n gateName: string,\n options?: FeatureGateEvaluationOptions,\n ): boolean {\n return this._client.checkGate(gateName, options);\n }\n\n @Memoize((...args: unknown[]) => {\n const [rv, gn, opt] = args as [\n number,\n string,\n DynamicConfigEvaluationOptions,\n ];\n return `${rv}-${gn}-${JSON.stringify(opt)}`;\n })\n private _getDynamicConfigImpl(\n _rv: number,\n configName: string,\n options?: DynamicConfigEvaluationOptions,\n ): DynamicConfig {\n return this._client.getDynamicConfig(configName, options);\n }\n\n @Memoize((...args: unknown[]) => {\n const [rv, en, opt] = args as [number, string, ExperimentEvaluationOptions];\n return `${rv}-${en}-${JSON.stringify(opt)}`;\n })\n private _getExperimentImpl(\n _rv: number,\n experimentName: string,\n options?: ExperimentEvaluationOptions,\n ): Experiment {\n return this._client.getExperiment(experimentName, options);\n }\n\n @Memoize((...args: unknown[]) => {\n const [rv, ln, opt] = args as [number, string, LayerEvaluationOptions];\n return `${rv}-${ln}-${JSON.stringify(opt)}`;\n })\n private _getLayerImpl(\n _rv: number,\n layerName: string,\n options?: LayerEvaluationOptions,\n ): Layer {\n return this._client.getLayer(layerName, options);\n }\n\n @Memoize((...args: unknown[]) => {\n const [rv, pn, opt] = args as [\n number,\n string,\n ParameterStoreEvaluationOptions,\n ];\n return `${rv}-${pn}-${JSON.stringify(opt)}`;\n })\n private _getParameterStoreImpl(\n _rv: number,\n parameterStoreName: string,\n options?: ParameterStoreEvaluationOptions,\n ): ParameterStore {\n return this._client.getParameterStore(parameterStoreName, options);\n }\n\n private _checkAndEmitLoadingStatus(): void {\n const isReady = _isReady(this._client);\n if (isReady) {\n this._isLoadingSubject.next(false);\n Log.debug('Client is now ready, loading status set to false');\n } else {\n this._isLoadingSubject.next(true);\n Log.debug('Client is not ready, loading status set to true');\n }\n }\n\n private _onValuesUpdated = (): void => {\n this._renderVersion++;\n Log.debug('Values updated', this._renderVersion);\n this._checkAndEmitLoadingStatus();\n };\n}\n\nfunction _isReady(client: StatsigClient): boolean {\n return client.loadingStatus === 'Ready';\n}\n","import {\n Directive,\n Input,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Log } from '@statsig/client-core';\n\nimport { FeatureGateOptions } from './statsig.module';\nimport { StatsigService } from './statsig.service';\n\n@Directive({\n selector: '[stgCheckGate]',\n})\nexport class CheckGateDirective implements OnInit {\n private _gate = '';\n private _isHidden = true;\n private _options: FeatureGateOptions = {};\n\n @Input() set stgCheckGate(val: string) {\n Log.debug('Setting gate', val);\n if (val) {\n this._gate = val;\n this._updateView();\n }\n }\n\n @Input() set stgCheckGateOptions(val: FeatureGateOptions) {\n Log.debug('Setting options', val);\n if (val) {\n this._options = val;\n this._updateView();\n }\n }\n\n constructor(\n private _templateRef: TemplateRef<unknown>,\n private _viewContainer: ViewContainerRef,\n private _statsigService: StatsigService,\n ) {\n _statsigService.getClient().$on('values_updated', () => {\n this._updateView();\n });\n }\n\n ngOnInit(): void {\n if (this._gate) {\n this._updateView();\n }\n }\n\n private _updateView() {\n if (this._checkGate()) {\n if (this._isHidden) {\n Log.debug('Feature flag is enabled, showing the template');\n this._viewContainer.createEmbeddedView(this._templateRef);\n this._isHidden = false;\n }\n } else {\n this._viewContainer.clear();\n this._isHidden = true;\n }\n }\n\n private _checkGate() {\n return (\n this._gate && this._statsigService.checkGate(this._gate, this._options)\n );\n }\n}\n","import { InjectionToken, NgModule } from '@angular/core';\n\nimport {\n FeatureGateEvaluationOptions,\n StatsigClient,\n StatsigOptions,\n StatsigUser,\n} from '@statsig/js-client';\n\nimport { CheckGateDirective } from './checkGate.directive';\n\ntype WithClient<T extends StatsigClient> = { client: T };\ntype WithConfiguration = {\n sdkKey: string;\n user: StatsigUser;\n options?: StatsigOptions;\n};\n\nexport type StatsigInitConfig<T extends StatsigClient> =\n | WithClient<T>\n | WithConfiguration;\n\nexport const STATSIG_INIT_CONFIG = new InjectionToken<\n StatsigInitConfig<StatsigClient>\n>('StatsigProvider');\n\nexport type FeatureGateOptions = FeatureGateEvaluationOptions;\n\n@NgModule({\n declarations: [CheckGateDirective],\n exports: [CheckGateDirective],\n providers: [],\n})\nexport class StatsigModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.StatsigService"],"mappings":";;;;;;AAAM,SAAU,OAAO,CACrB,YAA4C,EAAA;AAE5C,IAAA,OAAO,UACL,OAAe,EACf,YAA6B,EAC7B,UAA8B,EAAA;AAE9B,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,KAAwC;AACnE,QAAA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB;AAExC,QAAA,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAe,EAAA;AAC7C,YAAA,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC;AAEjC,YAAA,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAClB,gBAAA,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;;YAGvB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AACxC,YAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;AACtB,YAAA,OAAO,MAAM;AACf,SAAC;AAED,QAAA,OAAO,UAAU;AACnB,KAAC;AACH;;;;;;;;;;;MCIa,cAAc,CAAA;IACjB,cAAc,GAAG,CAAC;AAClB,IAAA,OAAO;AAEP,IAAA,iBAAiB,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAC9D,IAAA,UAAU,GAAwB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;AAEvE,IAAA,WAAA,CAC+B,QAA0C,EAAA;AAEvE,QAAA,IAAI,QAAQ,IAAI,QAAQ,EAAE;AACxB,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM;;aACzB,IAAI,QAAQ,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,EAAE;AACrD,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAC9B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,OAAO,CACjB;AACD,YAAA,IAAI,CAAC;AACF,iBAAA,eAAe;AACf,iBAAA,KAAK,CAAC,CAAC,KAAK,KAAI;AACf,gBAAA,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC;AACtD,aAAC;iBACA,OAAO,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,aAAC,CAAC;;aACC;AACL,YAAA,GAAG,CAAC,KAAK,CACP,uEAAuE,CACxE;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC;;QAE1C,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,OAAO,CAAC;QACjD,IAAI,CAAC,0BAA0B,EAAE;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAEzD,QAAA,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC;;IAGpC,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AACtC,YAAA,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC;AACtD,SAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC;;IAG3D,SAAS,CAAC,QAAgB,EAAE,OAAsC,EAAA;QAChE,GAAG,CAAC,KAAK,CAAC,CAAuB,oBAAA,EAAA,QAAQ,CAAS,MAAA,EAAA,IAAI,CAAC,cAAc,CAAE,CAAA,CAAC;AAExE,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC;;IAGpE,gBAAgB,CACd,UAAkB,EAClB,OAAwC,EAAA;QAExC,GAAG,CAAC,KAAK,CACP,CAA+B,4BAAA,EAAA,UAAU,CAAS,MAAA,EAAA,IAAI,CAAC,cAAc,CAAE,CAAA,CACxE;AAED,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC;;IAG7E,aAAa,CACX,cAAsB,EACtB,OAAqC,EAAA;QAErC,GAAG,CAAC,KAAK,CACP,CAA2B,wBAAA,EAAA,cAAc,CAAS,MAAA,EAAA,IAAI,CAAC,cAAc,CAAE,CAAA,CACxE;AAED,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAC5B,IAAI,CAAC,cAAc,EACnB,cAAc,EACd,OAAO,CACR;;IAGH,QAAQ,CAAC,SAAiB,EAAE,OAAgC,EAAA;QAC1D,GAAG,CAAC,KAAK,CAAC,CAAsB,mBAAA,EAAA,SAAS,CAAS,MAAA,EAAA,IAAI,CAAC,cAAc,CAAE,CAAA,CAAC;AAExE,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC;;IAGpE,iBAAiB,CACf,kBAA0B,EAC1B,OAAyC,EAAA;QAEzC,GAAG,CAAC,KAAK,CACP,CAAgC,6BAAA,EAAA,kBAAkB,CAAS,MAAA,EAAA,IAAI,CAAC,cAAc,CAAE,CAAA,CACjF;AACD,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAChC,IAAI,CAAC,cAAc,EACnB,kBAAkB,EAClB,OAAO,CACR;;AAGH,IAAA,QAAQ,CACN,SAAgC,EAChC,KAAuB,EACvB,QAAiC,EAAA;QAEjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;;IAGnD,eAAe,CACb,IAAiB,EACjB,OAAiC,EAAA;QAEjC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;;IAGpD,cAAc,CAAC,IAAiB,EAAE,OAAgC,EAAA;QAChE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;;IAG5C,SAAS,GAAA;QACP,OAAO,IAAI,CAAC,OAAO;;AAWb,IAAA,cAAc,CACpB,GAAW,EACX,QAAgB,EAChB,OAAsC,EAAA;QAEtC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;;AAW1C,IAAA,qBAAqB,CAC3B,GAAW,EACX,UAAkB,EAClB,OAAwC,EAAA;QAExC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC;;AAOnD,IAAA,kBAAkB,CACxB,GAAW,EACX,cAAsB,EACtB,OAAqC,EAAA;QAErC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC;;AAOpD,IAAA,aAAa,CACnB,GAAW,EACX,SAAiB,EACjB,OAAgC,EAAA;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;;AAW1C,IAAA,sBAAsB,CAC5B,GAAW,EACX,kBAA0B,EAC1B,OAAyC,EAAA;QAEzC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC;;IAG5D,0BAA0B,GAAA;QAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QACtC,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;AAClC,YAAA,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC;;aACxD;AACL,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,YAAA,GAAG,CAAC,KAAK,CAAC,iDAAiD,CAAC;;;IAIxD,gBAAgB,GAAG,MAAW;QACpC,IAAI,CAAC,cAAc,EAAE;QACrB,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,0BAA0B,EAAE;AACnC,KAAC;AAhNU,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBAQf,mBAAmB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AARlB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA;;AAmIV,UAAA,CAAA;AARP,IAAA,OAAO,CAAC,CAAC,GAAG,IAAe,KAAI;QAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,IAIrB;AACD,QAAA,OAAO,CAAG,EAAA,EAAE,CAAI,CAAA,EAAA,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,CAAE;AAC7C,KAAC,CAAC;;;;AAOD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,IAAA,CAAA;AAUO,UAAA,CAAA;AARP,IAAA,OAAO,CAAC,CAAC,GAAG,IAAe,KAAI;QAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,IAIrB;AACD,QAAA,OAAO,CAAG,EAAA,EAAE,CAAI,CAAA,EAAA,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,CAAE;AAC7C,KAAC,CAAC;;;;AAOD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,uBAAA,EAAA,IAAA,CAAA;AAMO,UAAA,CAAA;AAJP,IAAA,OAAO,CAAC,CAAC,GAAG,IAAe,KAAI;QAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,IAAqD;AAC3E,QAAA,OAAO,CAAG,EAAA,EAAE,CAAI,CAAA,EAAA,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,CAAE;AAC7C,KAAC,CAAC;;;;AAOD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,IAAA,CAAA;AAMO,UAAA,CAAA;AAJP,IAAA,OAAO,CAAC,CAAC,GAAG,IAAe,KAAI;QAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,IAAgD;AACtE,QAAA,OAAO,CAAG,EAAA,EAAE,CAAI,CAAA,EAAA,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,CAAE;AAC7C,KAAC,CAAC;;;;AAOD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA;AAUO,UAAA,CAAA;AARP,IAAA,OAAO,CAAC,CAAC,GAAG,IAAe,KAAI;QAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,IAIrB;AACD,QAAA,OAAO,CAAG,EAAA,EAAE,CAAI,CAAA,EAAA,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA,CAAE;AAC7C,KAAC,CAAC;;;;AAOD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,IAAA,CAAA;4FA/LU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;0BASI,MAAM;2BAAC,mBAAmB;AAyHrB,iBAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,cAAc,MAgBd,qBAAqB,EAAA,EAAA,EAYrB,kBAAkB,EAYlB,EAAA,EAAA,aAAa,MAgBb,sBAAsB,EAAA,EAAA,EAAA,EAAA,CAAA;AA0BhC,SAAS,QAAQ,CAAC,MAAqB,EAAA;AACrC,IAAA,OAAO,MAAM,CAAC,aAAa,KAAK,OAAO;AACzC;;MClOa,kBAAkB,CAAA;AAsBnB,IAAA,YAAA;AACA,IAAA,cAAA;AACA,IAAA,eAAA;IAvBF,KAAK,GAAG,EAAE;IACV,SAAS,GAAG,IAAI;IAChB,QAAQ,GAAuB,EAAE;IAEzC,IAAa,YAAY,CAAC,GAAW,EAAA;AACnC,QAAA,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC;QAC9B,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,KAAK,GAAG,GAAG;YAChB,IAAI,CAAC,WAAW,EAAE;;;IAItB,IAAa,mBAAmB,CAAC,GAAuB,EAAA;AACtD,QAAA,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC;QACjC,IAAI,GAAG,EAAE;AACP,YAAA,IAAI,CAAC,QAAQ,GAAG,GAAG;YACnB,IAAI,CAAC,WAAW,EAAE;;;AAItB,IAAA,WAAA,CACU,YAAkC,EAClC,cAAgC,EAChC,eAA+B,EAAA;QAF/B,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAc,CAAA,cAAA,GAAd,cAAc;QACd,IAAe,CAAA,eAAA,GAAf,eAAe;QAEvB,eAAe,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAK;YACrD,IAAI,CAAC,WAAW,EAAE;AACpB,SAAC,CAAC;;IAGJ,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,EAAE;;;IAId,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC;gBAC1D,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;AACzD,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;;aAEnB;AACL,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;;;IAIjB,UAAU,GAAA;QAChB,QACE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;;wGApDhE,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAlB,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC3B,iBAAA;yIAMc,YAAY,EAAA,CAAA;sBAAxB;gBAQY,mBAAmB,EAAA,CAAA;sBAA/B;;;MCPU,mBAAmB,GAAG,IAAI,cAAc,CAEnD,iBAAiB;MASN,aAAa,CAAA;wGAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;yGAAb,aAAa,EAAA,YAAA,EAAA,CAJT,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,kBAAkB,CAAA,EAAA,CAAA;yGAGjB,aAAa,EAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC7B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;AChCD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@statsig/angular-bindings",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.26.0",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"homepage": "https://github.com/statsig-io/js-client-monorepo",
|
|
6
6
|
"repository": {
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
15
|
"@angular/core": ">=12.0.0",
|
|
16
|
-
"@statsig/js-client": "3.
|
|
17
|
-
"@statsig/client-core": "3.
|
|
16
|
+
"@statsig/js-client": "3.26.0",
|
|
17
|
+
"@statsig/client-core": "3.26.0",
|
|
18
18
|
"rxjs": "^6.0.0 || ^7.0.0"
|
|
19
19
|
},
|
|
20
20
|
"sideEffects": false,
|
package/statsig.service.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { DataAdapterAsyncOptions, DataAdapterSyncOptions, DynamicConfig, DynamicConfigEvaluationOptions, Experiment, ExperimentEvaluationOptions, FeatureGateEvaluationOptions, Layer, LayerEvaluationOptions, StatsigEvent, StatsigUpdateDetails, StatsigUser } from '@statsig/client-core';
|
|
3
|
+
import { DataAdapterAsyncOptions, DataAdapterSyncOptions, DynamicConfig, DynamicConfigEvaluationOptions, Experiment, ExperimentEvaluationOptions, FeatureGateEvaluationOptions, Layer, LayerEvaluationOptions, ParameterStore, ParameterStoreEvaluationOptions, StatsigEvent, StatsigUpdateDetails, StatsigUser } from '@statsig/client-core';
|
|
4
4
|
import { StatsigClient } from '@statsig/js-client';
|
|
5
5
|
import { StatsigInitConfig } from './statsig.module';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -15,6 +15,7 @@ export declare class StatsigService implements OnDestroy {
|
|
|
15
15
|
getDynamicConfig(configName: string, options?: DynamicConfigEvaluationOptions): DynamicConfig;
|
|
16
16
|
getExperiment(experimentName: string, options?: ExperimentEvaluationOptions): Experiment;
|
|
17
17
|
getLayer(layerName: string, options?: LayerEvaluationOptions): Layer;
|
|
18
|
+
getParameterStore(parameterStoreName: string, options?: ParameterStoreEvaluationOptions): ParameterStore;
|
|
18
19
|
logEvent(eventName: StatsigEvent | string, value?: string | number, metadata?: Record<string, string>): void;
|
|
19
20
|
updateUserAsync(user: StatsigUser, options?: DataAdapterAsyncOptions): Promise<StatsigUpdateDetails>;
|
|
20
21
|
updateUserSync(user: StatsigUser, options?: DataAdapterSyncOptions): void;
|
|
@@ -23,6 +24,7 @@ export declare class StatsigService implements OnDestroy {
|
|
|
23
24
|
private _getDynamicConfigImpl;
|
|
24
25
|
private _getExperimentImpl;
|
|
25
26
|
private _getLayerImpl;
|
|
27
|
+
private _getParameterStoreImpl;
|
|
26
28
|
private _checkAndEmitLoadingStatus;
|
|
27
29
|
private _onValuesUpdated;
|
|
28
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<StatsigService, never>;
|
package/statsig.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statsig.service.d.ts","sourceRoot":"","sources":["../../../packages/angular-bindings/src/statsig.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AAEnD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,8BAA8B,EAC9B,UAAU,EACV,2BAA2B,EAC3B,4BAA4B,EAC5B,KAAK,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"statsig.service.d.ts","sourceRoot":"","sources":["../../../packages/angular-bindings/src/statsig.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,SAAS,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAmB,UAAU,EAAE,MAAM,MAAM,CAAC;AAEnD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,8BAA8B,EAC9B,UAAU,EACV,2BAA2B,EAC3B,4BAA4B,EAC5B,KAAK,EACL,sBAAsB,EAEtB,cAAc,EACd,+BAA+B,EAE/B,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAuB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;;AAE1E,qBAGa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAyC;gBAGzC,QAAQ,EAAE,iBAAiB,CAAC,aAAa,CAAC;IA+BzE,WAAW,IAAI,IAAI;IAOnB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAG,OAAO;IAM5E,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,8BAA8B,GACvC,aAAa;IAQhB,aAAa,CACX,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,2BAA2B,GACpC,UAAU;IAYb,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,KAAK;IAMpE,iBAAiB,CACf,kBAAkB,EAAE,MAAM,EAC1B,OAAO,CAAC,EAAE,+BAA+B,GACxC,cAAc;IAWjB,QAAQ,CACN,SAAS,EAAE,YAAY,GAAG,MAAM,EAChC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,IAAI;IAIP,eAAe,CACb,IAAI,EAAE,WAAW,EACjB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,oBAAoB,CAAC;IAIhC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;IAIzE,SAAS,IAAI,aAAa;IAY1B,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,gBAAgB,CAItB;yCAhNS,cAAc;6CAAd,cAAc;CAiN1B"}
|