@statsig/angular-bindings 3.6.0 → 3.6.1

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.
package/.eslintrc.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "extends": ["../../.eslintrc.json"],
3
+ "ignorePatterns": ["!**/*"],
4
+ "overrides": [
5
+ {
6
+ "files": ["*.ts"],
7
+ "extends": [
8
+ "plugin:@nx/angular",
9
+ "plugin:@angular-eslint/template/process-inline-templates"
10
+ ],
11
+ "rules": {
12
+ "@angular-eslint/directive-selector": [
13
+ "error",
14
+ {
15
+ "type": "attribute",
16
+ "prefix": "stg",
17
+ "style": "camelCase"
18
+ }
19
+ ],
20
+ "@angular-eslint/component-selector": [
21
+ "error",
22
+ {
23
+ "type": "element",
24
+ "prefix": "stg",
25
+ "style": "kebab-case"
26
+ }
27
+ ]
28
+ }
29
+ },
30
+ {
31
+ "files": ["*.html"],
32
+ "extends": ["plugin:@nx/angular-template"],
33
+ "rules": {}
34
+ },
35
+ {
36
+ "files": ["*.json"],
37
+ "parser": "jsonc-eslint-parser",
38
+ "rules": {
39
+ "@nx/dependency-checks": [
40
+ "error",
41
+ {
42
+ "ignoredDependencies": ["jest-preset-angular"]
43
+ }
44
+ ]
45
+ }
46
+ }
47
+ ]
48
+ }
package/jest.config.ts ADDED
@@ -0,0 +1,22 @@
1
+ /* eslint-disable */
2
+ export default {
3
+ displayName: 'angular-bindings',
4
+ preset: '../../jest.preset.js',
5
+ setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
6
+ coverageDirectory: '../../coverage/packages/angular-bindings',
7
+ transform: {
8
+ '^.+\\.(ts|mjs|js|html)$': [
9
+ 'jest-preset-angular',
10
+ {
11
+ tsconfig: '<rootDir>/tsconfig.spec.json',
12
+ stringifyContentPathRegex: '\\.(html|svg)$',
13
+ },
14
+ ],
15
+ },
16
+ transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
17
+ snapshotSerializers: [
18
+ 'jest-preset-angular/build/serializers/no-ng-attributes',
19
+ 'jest-preset-angular/build/serializers/ng-snapshot',
20
+ 'jest-preset-angular/build/serializers/html-comment',
21
+ ],
22
+ };
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "../../dist/packages/angular-bindings",
4
+ "lib": {
5
+ "entryFile": "src/index.ts"
6
+ },
7
+ "assets": ["README.md", "LICENSE"]
8
+ }
package/package.json CHANGED
@@ -1,27 +1,12 @@
1
1
  {
2
2
  "name": "@statsig/angular-bindings",
3
- "version": "3.6.0",
4
- "dependencies": {
5
- "tslib": "^2.3.0"
6
- },
3
+ "version": "3.6.1",
4
+ "dependencies": {},
7
5
  "peerDependencies": {
8
6
  "@angular/core": ">=12.0.0",
9
7
  "@statsig/js-client": "3.6.0",
10
8
  "@statsig/client-core": "3.6.0",
11
9
  "rxjs": "^6.0.0 || ^7.0.0"
12
10
  },
13
- "sideEffects": false,
14
- "module": "fesm2022/statsig-angular-bindings.mjs",
15
- "typings": "index.d.ts",
16
- "exports": {
17
- "./package.json": {
18
- "default": "./package.json"
19
- },
20
- ".": {
21
- "types": "./index.d.ts",
22
- "esm2022": "./esm2022/statsig-angular-bindings.mjs",
23
- "esm": "./esm2022/statsig-angular-bindings.mjs",
24
- "default": "./fesm2022/statsig-angular-bindings.mjs"
25
- }
26
- }
27
- }
11
+ "sideEffects": false
12
+ }
package/project.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "angular-bindings",
3
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
+ "sourceRoot": "packages/angular-bindings/src",
5
+ "prefix": "lib",
6
+ "projectType": "library",
7
+ "tags": [],
8
+ "targets": {
9
+ "build": {
10
+ "executor": "@nx/angular:package",
11
+ "outputs": ["{workspaceRoot}/dist/{projectRoot}"],
12
+ "options": {
13
+ "project": "packages/angular-bindings/ng-package.json",
14
+ "tsConfig": "packages/angular-bindings/tsconfig.lib.json"
15
+ }
16
+ },
17
+ "test": {
18
+ "executor": "@nx/jest:jest",
19
+ "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
20
+ "options": {
21
+ "jestConfig": "packages/angular-bindings/jest.config.ts"
22
+ }
23
+ },
24
+ "lint": {
25
+ "executor": "@nx/eslint:lint"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,72 @@
1
+ import {
2
+ Directive,
3
+ Input,
4
+ OnInit,
5
+ TemplateRef,
6
+ ViewContainerRef,
7
+ } from '@angular/core';
8
+
9
+ import { Log } from '@statsig/client-core';
10
+
11
+ import { FeatureGateOptions } from './statsig.module';
12
+ import { StatsigService } from './statsig.service';
13
+
14
+ @Directive({
15
+ selector: '[stgCheckGate]',
16
+ })
17
+ export class CheckGateDirective implements OnInit {
18
+ private _gate = '';
19
+ private _isHidden = true;
20
+ private _options: FeatureGateOptions = {};
21
+
22
+ @Input() set stgCheckGate(val: string) {
23
+ Log.debug('Setting gate', val);
24
+ if (val) {
25
+ this._gate = val;
26
+ this._updateView();
27
+ }
28
+ }
29
+
30
+ @Input() set stgCheckGateOptions(val: FeatureGateOptions) {
31
+ Log.debug('Setting options', val);
32
+ if (val) {
33
+ this._options = val;
34
+ this._updateView();
35
+ }
36
+ }
37
+
38
+ constructor(
39
+ private _templateRef: TemplateRef<unknown>,
40
+ private _viewContainer: ViewContainerRef,
41
+ private _statsigService: StatsigService,
42
+ ) {
43
+ _statsigService.getClient().$on('values_updated', () => {
44
+ this._updateView();
45
+ });
46
+ }
47
+
48
+ ngOnInit(): void {
49
+ if (this._gate) {
50
+ this._updateView();
51
+ }
52
+ }
53
+
54
+ private _updateView() {
55
+ if (this._checkGate()) {
56
+ if (this._isHidden) {
57
+ Log.debug('Feature flag is enabled, showing the template');
58
+ this._viewContainer.createEmbeddedView(this._templateRef);
59
+ this._isHidden = false;
60
+ }
61
+ } else {
62
+ this._viewContainer.clear();
63
+ this._isHidden = true;
64
+ }
65
+ }
66
+
67
+ private _checkGate() {
68
+ return (
69
+ this._gate && this._statsigService.checkGate(this._gate, this._options)
70
+ );
71
+ }
72
+ }
@@ -1,4 +1,3 @@
1
1
  export { StatsigModule, STATSIG_INIT_CONFIG } from './statsig.module';
2
2
  export { StatsigService } from './statsig.service';
3
3
  export { CheckGateDirective } from './checkGate.directive';
4
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,26 @@
1
+ export function Memoize(
2
+ keyGenerator: (...args: unknown[]) => string,
3
+ ): MethodDecorator {
4
+ return function (
5
+ _target: object,
6
+ _propertyKey: string | symbol,
7
+ descriptor: PropertyDescriptor,
8
+ ) {
9
+ const orignal = descriptor.value as (...args: unknown[]) => unknown;
10
+ const cache = new Map<string, unknown>();
11
+
12
+ descriptor.value = function (...args: unknown[]) {
13
+ const key = keyGenerator(...args);
14
+
15
+ if (cache.has(key)) {
16
+ return cache.get(key);
17
+ }
18
+
19
+ const result = orignal.apply(this, args);
20
+ cache.set(key, result);
21
+ return result;
22
+ };
23
+
24
+ return descriptor;
25
+ };
26
+ }
@@ -0,0 +1,34 @@
1
+ import { InjectionToken, NgModule } from '@angular/core';
2
+
3
+ import {
4
+ FeatureGateEvaluationOptions,
5
+ StatsigClient,
6
+ StatsigOptions,
7
+ StatsigUser,
8
+ } from '@statsig/js-client';
9
+
10
+ import { CheckGateDirective } from './checkGate.directive';
11
+
12
+ type WithClient<T extends StatsigClient> = { client: T };
13
+ type WithConfiguration = {
14
+ sdkKey: string;
15
+ user: StatsigUser;
16
+ options?: StatsigOptions;
17
+ };
18
+
19
+ export type StatsigInitConfig<T extends StatsigClient> =
20
+ | WithClient<T>
21
+ | WithConfiguration;
22
+
23
+ export const STATSIG_INIT_CONFIG = new InjectionToken<
24
+ StatsigInitConfig<StatsigClient>
25
+ >('StatsigProvider');
26
+
27
+ export type FeatureGateOptions = FeatureGateEvaluationOptions;
28
+
29
+ @NgModule({
30
+ declarations: [CheckGateDirective],
31
+ exports: [CheckGateDirective],
32
+ providers: [],
33
+ })
34
+ export class StatsigModule {}
@@ -0,0 +1,210 @@
1
+ import { Inject, Injectable, OnDestroy } from '@angular/core';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
3
+
4
+ import {
5
+ DataAdapterAsyncOptions,
6
+ DataAdapterSyncOptions,
7
+ DynamicConfig,
8
+ DynamicConfigEvaluationOptions,
9
+ Experiment,
10
+ ExperimentEvaluationOptions,
11
+ FeatureGateEvaluationOptions,
12
+ Layer,
13
+ LayerEvaluationOptions,
14
+ Log,
15
+ SDKType,
16
+ StatsigEvent,
17
+ StatsigUser,
18
+ } from '@statsig/client-core';
19
+ import { StatsigClient } from '@statsig/js-client';
20
+
21
+ import { Memoize } from './memoizeDecorator';
22
+ import { STATSIG_INIT_CONFIG, StatsigInitConfig } from './statsig.module';
23
+
24
+ @Injectable({
25
+ providedIn: 'root',
26
+ })
27
+ export class StatsigService implements OnDestroy {
28
+ private _renderVersion = 0;
29
+ private _client: StatsigClient;
30
+
31
+ private _isLoadingSubject = new BehaviorSubject<boolean>(true);
32
+ isLoading$: Observable<boolean> = this._isLoadingSubject.asObservable();
33
+
34
+ constructor(
35
+ @Inject(STATSIG_INIT_CONFIG) provider: StatsigInitConfig<StatsigClient>,
36
+ ) {
37
+ if ('client' in provider) {
38
+ this._client = provider.client;
39
+ } else if ('sdkKey' in provider && 'user' in provider) {
40
+ this._client = new StatsigClient(
41
+ provider.sdkKey,
42
+ provider.user,
43
+ provider.options,
44
+ );
45
+ this._client
46
+ .initializeAsync()
47
+ .catch((error) => {
48
+ Log.error('Error initializing StatsigClient', error);
49
+ })
50
+ .finally(() => {
51
+ this._isLoadingSubject.next(false);
52
+ });
53
+ } else {
54
+ Log.error(
55
+ 'Must provide a client or sdkKey and user to initialize StatsigService',
56
+ );
57
+ this._client = new StatsigClient('', {});
58
+ }
59
+ Log.debug('StatsigService created', this._client);
60
+ this._checkAndEmitLoadingStatus();
61
+ this._client.$on('values_updated', this._onValuesUpdated);
62
+
63
+ SDKType._setBindingType('angular');
64
+ }
65
+
66
+ ngOnDestroy(): void {
67
+ this._client.shutdown().catch((error) => {
68
+ Log.error('An error occured during shutdown', error);
69
+ });
70
+ this._client.off('values_updated', this._onValuesUpdated);
71
+ }
72
+
73
+ checkGate(gateName: string, options?: FeatureGateEvaluationOptions): boolean {
74
+ Log.debug(`checkGate caled for ${gateName}, rv: ${this._renderVersion}`);
75
+
76
+ return this._checkGateImpl(this._renderVersion, gateName, options);
77
+ }
78
+
79
+ getDynamicConfig(
80
+ configName: string,
81
+ options?: DynamicConfigEvaluationOptions,
82
+ ): DynamicConfig {
83
+ Log.debug(
84
+ `getDynamicConfig called for ${configName}, rv: ${this._renderVersion}`,
85
+ );
86
+
87
+ return this._getDynamicConfigImpl(this._renderVersion, configName, options);
88
+ }
89
+
90
+ getExperiment(
91
+ experimentName: string,
92
+ options?: ExperimentEvaluationOptions,
93
+ ): Experiment {
94
+ Log.debug(
95
+ `getExperiment caled for ${experimentName}, rv: ${this._renderVersion}`,
96
+ );
97
+
98
+ return this._getExperimentImpl(
99
+ this._renderVersion,
100
+ experimentName,
101
+ options,
102
+ );
103
+ }
104
+
105
+ getLayer(layerName: string, options?: LayerEvaluationOptions): Layer {
106
+ Log.debug(`getLayer caled for ${layerName}, rv: ${this._renderVersion}`);
107
+
108
+ return this._getLayerImpl(this._renderVersion, layerName, options);
109
+ }
110
+
111
+ logEvent(
112
+ eventName: StatsigEvent | string,
113
+ value?: string | number,
114
+ metadata?: Record<string, string>,
115
+ ): void {
116
+ this._client.logEvent(eventName, value, metadata);
117
+ }
118
+
119
+ updateUserAsync(
120
+ user: StatsigUser,
121
+ options?: DataAdapterAsyncOptions,
122
+ ): Promise<void> {
123
+ return this._client.updateUserAsync(user, options);
124
+ }
125
+
126
+ updateUserSync(user: StatsigUser, options?: DataAdapterSyncOptions): void {
127
+ this._client.updateUserSync(user, options);
128
+ }
129
+
130
+ getClient(): StatsigClient {
131
+ return this._client;
132
+ }
133
+
134
+ @Memoize((...args: unknown[]) => {
135
+ const [rv, gn, opt] = args as [
136
+ number,
137
+ string,
138
+ FeatureGateEvaluationOptions,
139
+ ];
140
+ return `${rv}-${gn}-${JSON.stringify(opt)}`;
141
+ })
142
+ private _checkGateImpl(
143
+ _rv: number,
144
+ gateName: string,
145
+ options?: FeatureGateEvaluationOptions,
146
+ ): boolean {
147
+ return this._client.checkGate(gateName, options);
148
+ }
149
+
150
+ @Memoize((...args: unknown[]) => {
151
+ const [rv, gn, opt] = args as [
152
+ number,
153
+ string,
154
+ DynamicConfigEvaluationOptions,
155
+ ];
156
+ return `${rv}-${gn}-${JSON.stringify(opt)}`;
157
+ })
158
+ private _getDynamicConfigImpl(
159
+ _rv: number,
160
+ configName: string,
161
+ options?: DynamicConfigEvaluationOptions,
162
+ ): DynamicConfig {
163
+ return this._client.getDynamicConfig(configName, options);
164
+ }
165
+
166
+ @Memoize((...args: unknown[]) => {
167
+ const [rv, en, opt] = args as [number, string, ExperimentEvaluationOptions];
168
+ return `${rv}-${en}-${JSON.stringify(opt)}`;
169
+ })
170
+ private _getExperimentImpl(
171
+ _rv: number,
172
+ experimentName: string,
173
+ options?: ExperimentEvaluationOptions,
174
+ ): Experiment {
175
+ return this._client.getExperiment(experimentName, options);
176
+ }
177
+
178
+ @Memoize((...args: unknown[]) => {
179
+ const [rv, ln, opt] = args as [number, string, LayerEvaluationOptions];
180
+ return `${rv}-${ln}-${JSON.stringify(opt)}`;
181
+ })
182
+ private _getLayerImpl(
183
+ _rv: number,
184
+ layerName: string,
185
+ options?: LayerEvaluationOptions,
186
+ ): Layer {
187
+ return this._client.getLayer(layerName, options);
188
+ }
189
+
190
+ private _checkAndEmitLoadingStatus(): void {
191
+ const isReady = _isReady(this._client);
192
+ if (isReady) {
193
+ this._isLoadingSubject.next(false);
194
+ Log.debug('Client is now ready, loading status set to false');
195
+ } else {
196
+ this._isLoadingSubject.next(true);
197
+ Log.debug('Client is not ready, loading status set to true');
198
+ }
199
+ }
200
+
201
+ private _onValuesUpdated = (): void => {
202
+ this._renderVersion++;
203
+ Log.debug('Values updated', this._renderVersion);
204
+ this._checkAndEmitLoadingStatus();
205
+ };
206
+ }
207
+
208
+ function _isReady(client: StatsigClient): boolean {
209
+ return client.loadingStatus === 'Ready';
210
+ }
@@ -0,0 +1,9 @@
1
+ import 'jest-preset-angular/setup-jest';
2
+
3
+ // @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment
4
+ globalThis.ngJest = {
5
+ testEnvironmentOptions: {
6
+ errorOnUnknownElements: true,
7
+ errorOnUnknownProperties: true,
8
+ },
9
+ };
package/tsconfig.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "jsx": "react-jsx",
5
+ "experimentalDecorators": true,
6
+ "emitDecoratorMetadata": true
7
+ },
8
+ "files": [],
9
+ "include": [],
10
+ "references": [
11
+ {
12
+ "path": "./tsconfig.lib.json"
13
+ },
14
+ {
15
+ "path": "./tsconfig.spec.json"
16
+ }
17
+ ],
18
+ "angularCompilerOptions": {
19
+ "enableI18nLegacyMessageIdFormat": false,
20
+ "strictInjectionParameters": true,
21
+ "strictInputAccessModifiers": true,
22
+ "strictTemplates": true
23
+ }
24
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "declaration": true,
6
+ "declarationMap": true,
7
+ "types": []
8
+ },
9
+ "exclude": [
10
+ "src/**/*.spec.ts",
11
+ "src/test-setup.ts",
12
+ "jest.config.ts",
13
+ "src/**/*.test.ts"
14
+ ],
15
+ "include": ["src/**/*.ts"]
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "../../dist/out-tsc",
5
+ "module": "commonjs",
6
+ "target": "es2016",
7
+ "types": ["jest", "node"]
8
+ },
9
+ "files": ["src/test-setup.ts"],
10
+ "include": [
11
+ "jest.config.ts",
12
+ "src/**/*.test.ts",
13
+ "src/**/*.spec.ts",
14
+ "src/**/*.d.ts"
15
+ ]
16
+ }
@@ -1,21 +0,0 @@
1
- import { OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { FeatureGateOptions } from './statsig.module';
3
- import { StatsigService } from './statsig.service';
4
- import * as i0 from "@angular/core";
5
- export declare class CheckGateDirective implements OnInit {
6
- private _templateRef;
7
- private _viewContainer;
8
- private _statsigService;
9
- private _gate;
10
- private _isHidden;
11
- private _options;
12
- set stgCheckGate(val: string);
13
- set stgCheckGateOptions(val: FeatureGateOptions);
14
- constructor(_templateRef: TemplateRef<unknown>, _viewContainer: ViewContainerRef, _statsigService: StatsigService);
15
- ngOnInit(): void;
16
- private _updateView;
17
- private _checkGate;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<CheckGateDirective, never>;
19
- static ɵdir: i0.ɵɵDirectiveDeclaration<CheckGateDirective, "[stgCheckGate]", never, { "stgCheckGate": { "alias": "stgCheckGate"; "required": false; }; "stgCheckGateOptions": { "alias": "stgCheckGateOptions"; "required": false; }; }, {}, never, never, false, never>;
20
- }
21
- //# sourceMappingURL=checkGate.directive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkGate.directive.d.ts","sourceRoot":"","sources":["../../../packages/angular-bindings/src/checkGate.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACN,WAAW,EACX,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;;AAEnD,qBAGa,kBAAmB,YAAW,MAAM;IAsB7C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,eAAe;IAvBzB,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAA0B;IAE1C,IAAa,YAAY,CAAC,GAAG,EAAE,MAAM,EAMpC;IAED,IAAa,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,EAMvD;gBAGS,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,EAClC,cAAc,EAAE,gBAAgB,EAChC,eAAe,EAAE,cAAc;IAOzC,QAAQ,IAAI,IAAI;IAMhB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,UAAU;yCAlDP,kBAAkB;2CAAlB,kBAAkB;CAuD9B"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheckGateDirective = void 0;
4
- const core_1 = require("@angular/core");
5
- const client_core_1 = require("@statsig/client-core");
6
- const statsig_service_1 = require("./statsig.service");
7
- const i0 = require("@angular/core");
8
- const i1 = require("./statsig.service");
9
- class CheckGateDirective {
10
- _templateRef;
11
- _viewContainer;
12
- _statsigService;
13
- _gate = '';
14
- _isHidden = true;
15
- _options = {};
16
- set stgCheckGate(val) {
17
- client_core_1.Log.debug('Setting gate', val);
18
- if (val) {
19
- this._gate = val;
20
- this._updateView();
21
- }
22
- }
23
- set stgCheckGateOptions(val) {
24
- client_core_1.Log.debug('Setting options', val);
25
- if (val) {
26
- this._options = val;
27
- this._updateView();
28
- }
29
- }
30
- constructor(_templateRef, _viewContainer, _statsigService) {
31
- this._templateRef = _templateRef;
32
- this._viewContainer = _viewContainer;
33
- this._statsigService = _statsigService;
34
- _statsigService.getClient().$on('values_updated', () => {
35
- this._updateView();
36
- });
37
- }
38
- ngOnInit() {
39
- if (this._gate) {
40
- this._updateView();
41
- }
42
- }
43
- _updateView() {
44
- if (this._checkGate()) {
45
- if (this._isHidden) {
46
- client_core_1.Log.debug('Feature flag is enabled, showing the template');
47
- this._viewContainer.createEmbeddedView(this._templateRef);
48
- this._isHidden = false;
49
- }
50
- }
51
- else {
52
- this._viewContainer.clear();
53
- this._isHidden = true;
54
- }
55
- }
56
- _checkGate() {
57
- return (this._gate && this._statsigService.checkGate(this._gate, this._options));
58
- }
59
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CheckGateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.StatsigService }], target: i0.ɵɵFactoryTarget.Directive });
60
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.3", type: CheckGateDirective, selector: "[stgCheckGate]", inputs: { stgCheckGate: "stgCheckGate", stgCheckGateOptions: "stgCheckGateOptions" }, ngImport: i0 });
61
- }
62
- exports.CheckGateDirective = CheckGateDirective;
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: CheckGateDirective, decorators: [{
64
- type: core_1.Directive,
65
- args: [{
66
- selector: '[stgCheckGate]',
67
- }]
68
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.StatsigService }], propDecorators: { stgCheckGate: [{
69
- type: core_1.Input
70
- }], stgCheckGateOptions: [{
71
- type: core_1.Input
72
- }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tHYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmluZGluZ3Mvc3JjL2NoZWNrR2F0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0NBTXVCO0FBRXZCLHNEQUEyQztBQUczQyx1REFBbUQ7OztBQUVuRCxNQUdhLGtCQUFrQjtJQXNCbkI7SUFDQTtJQUNBO0lBdkJGLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLFFBQVEsR0FBdUIsRUFBRSxDQUFDO0lBRTFDLElBQWEsWUFBWSxDQUFDLEdBQVc7UUFDbkMsaUJBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFhLG1CQUFtQixDQUFDLEdBQXVCO1FBQ3RELGlCQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxZQUNVLFlBQWtDLEVBQ2xDLGNBQWdDLEVBQ2hDLGVBQStCO1FBRi9CLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBRXZDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1lBQ3JELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ25CLGlCQUFHLENBQUMsS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7Z0JBQzNELElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixPQUFPLENBQ0wsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDeEUsQ0FBQztJQUNKLENBQUM7dUdBdERVLGtCQUFrQjsyRkFBbEIsa0JBQWtCOztBQUgvQixnREEwREM7MkZBdkRZLGtCQUFrQjtrQkFIOUIsZ0JBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7NElBTWMsWUFBWTtzQkFBeEIsWUFBSztnQkFRTyxtQkFBbUI7c0JBQS9CLFlBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTG9nIH0gZnJvbSAnQHN0YXRzaWcvY2xpZW50LWNvcmUnO1xuXG5pbXBvcnQgeyBGZWF0dXJlR2F0ZU9wdGlvbnMgfSBmcm9tICcuL3N0YXRzaWcubW9kdWxlJztcbmltcG9ydCB7IFN0YXRzaWdTZXJ2aWNlIH0gZnJvbSAnLi9zdGF0c2lnLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3RnQ2hlY2tHYXRlXScsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrR2F0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX2dhdGUgPSAnJztcbiAgcHJpdmF0ZSBfaXNIaWRkZW4gPSB0cnVlO1xuICBwcml2YXRlIF9vcHRpb25zOiBGZWF0dXJlR2F0ZU9wdGlvbnMgPSB7fTtcblxuICBASW5wdXQoKSBzZXQgc3RnQ2hlY2tHYXRlKHZhbDogc3RyaW5nKSB7XG4gICAgTG9nLmRlYnVnKCdTZXR0aW5nIGdhdGUnLCB2YWwpO1xuICAgIGlmICh2YWwpIHtcbiAgICAgIHRoaXMuX2dhdGUgPSB2YWw7XG4gICAgICB0aGlzLl91cGRhdGVWaWV3KCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IHN0Z0NoZWNrR2F0ZU9wdGlvbnModmFsOiBGZWF0dXJlR2F0ZU9wdGlvbnMpIHtcbiAgICBMb2cuZGVidWcoJ1NldHRpbmcgb3B0aW9ucycsIHZhbCk7XG4gICAgaWYgKHZhbCkge1xuICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbDtcbiAgICAgIHRoaXMuX3VwZGF0ZVZpZXcoKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF90ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4sXG4gICAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIF9zdGF0c2lnU2VydmljZTogU3RhdHNpZ1NlcnZpY2UsXG4gICkge1xuICAgIF9zdGF0c2lnU2VydmljZS5nZXRDbGllbnQoKS4kb24oJ3ZhbHVlc191cGRhdGVkJywgKCkgPT4ge1xuICAgICAgdGhpcy5fdXBkYXRlVmlldygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2dhdGUpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVZpZXcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWaWV3KCkge1xuICAgIGlmICh0aGlzLl9jaGVja0dhdGUoKSkge1xuICAgICAgaWYgKHRoaXMuX2lzSGlkZGVuKSB7XG4gICAgICAgIExvZy5kZWJ1ZygnRmVhdHVyZSBmbGFnIGlzIGVuYWJsZWQsIHNob3dpbmcgdGhlIHRlbXBsYXRlJyk7XG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RlbXBsYXRlUmVmKTtcbiAgICAgICAgdGhpcy5faXNIaWRkZW4gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdmlld0NvbnRhaW5lci5jbGVhcigpO1xuICAgICAgdGhpcy5faXNIaWRkZW4gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrR2F0ZSgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fZ2F0ZSAmJiB0aGlzLl9zdGF0c2lnU2VydmljZS5jaGVja0dhdGUodGhpcy5fZ2F0ZSwgdGhpcy5fb3B0aW9ucylcbiAgICApO1xuICB9XG59XG4iXX0=
package/esm2022/index.mjs DELETED
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheckGateDirective = exports.StatsigService = exports.STATSIG_INIT_CONFIG = exports.StatsigModule = void 0;
4
- var statsig_module_1 = require("./statsig.module");
5
- Object.defineProperty(exports, "StatsigModule", { enumerable: true, get: function () { return statsig_module_1.StatsigModule; } });
6
- Object.defineProperty(exports, "STATSIG_INIT_CONFIG", { enumerable: true, get: function () { return statsig_module_1.STATSIG_INIT_CONFIG; } });
7
- var statsig_service_1 = require("./statsig.service");
8
- Object.defineProperty(exports, "StatsigService", { enumerable: true, get: function () { return statsig_service_1.StatsigService; } });
9
- var checkGate_directive_1 = require("./checkGate.directive");
10
- Object.defineProperty(exports, "CheckGateDirective", { enumerable: true, get: function () { return checkGate_directive_1.CheckGateDirective; } });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbmRpbmdzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBc0U7QUFBN0QsK0dBQUEsYUFBYSxPQUFBO0FBQUUscUhBQUEsbUJBQW1CLE9BQUE7QUFDM0MscURBQW1EO0FBQTFDLGlIQUFBLGNBQWMsT0FBQTtBQUN2Qiw2REFBMkQ7QUFBbEQseUhBQUEsa0JBQWtCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTdGF0c2lnTW9kdWxlLCBTVEFUU0lHX0lOSVRfQ09ORklHIH0gZnJvbSAnLi9zdGF0c2lnLm1vZHVsZSc7XG5leHBvcnQgeyBTdGF0c2lnU2VydmljZSB9IGZyb20gJy4vc3RhdHNpZy5zZXJ2aWNlJztcbmV4cG9ydCB7IENoZWNrR2F0ZURpcmVjdGl2ZSB9IGZyb20gJy4vY2hlY2tHYXRlLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Memoize = void 0;
4
- function Memoize(keyGenerator) {
5
- return function (_target, _propertyKey, descriptor) {
6
- const orignal = descriptor.value;
7
- const cache = new Map();
8
- descriptor.value = function (...args) {
9
- const key = keyGenerator(...args);
10
- if (cache.has(key)) {
11
- return cache.get(key);
12
- }
13
- const result = orignal.apply(this, args);
14
- cache.set(key, result);
15
- return result;
16
- };
17
- return descriptor;
18
- };
19
- }
20
- exports.Memoize = Memoize;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb2l6ZURlY29yYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXItYmluZGluZ3Mvc3JjL21lbW9pemVEZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBZ0IsT0FBTyxDQUNyQixZQUE0QztJQUU1QyxPQUFPLFVBQ0wsT0FBZSxFQUNmLFlBQTZCLEVBQzdCLFVBQThCO1FBRTlCLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUF3QyxDQUFDO1FBQ3BFLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO1FBRXpDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsVUFBVSxHQUFHLElBQWU7WUFDN0MsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFFbEMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDekMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdkIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQXpCRCwwQkF5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gTWVtb2l6ZShcbiAga2V5R2VuZXJhdG9yOiAoLi4uYXJnczogdW5rbm93bltdKSA9PiBzdHJpbmcsXG4pOiBNZXRob2REZWNvcmF0b3Ige1xuICByZXR1cm4gZnVuY3Rpb24gKFxuICAgIF90YXJnZXQ6IG9iamVjdCxcbiAgICBfcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCxcbiAgICBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3IsXG4gICkge1xuICAgIGNvbnN0IG9yaWduYWwgPSBkZXNjcmlwdG9yLnZhbHVlIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IHVua25vd247XG4gICAgY29uc3QgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgdW5rbm93bj4oKTtcblxuICAgIGRlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiAoLi4uYXJnczogdW5rbm93bltdKSB7XG4gICAgICBjb25zdCBrZXkgPSBrZXlHZW5lcmF0b3IoLi4uYXJncyk7XG5cbiAgICAgIGlmIChjYWNoZS5oYXMoa2V5KSkge1xuICAgICAgICByZXR1cm4gY2FjaGUuZ2V0KGtleSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG9yaWduYWwuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICBjYWNoZS5zZXQoa2V5LCByZXN1bHQpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gIH07XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- "use strict";
2
- /**
3
- * Generated bundle index. Do not edit.
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- __exportStar(require("./index"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHNpZy1hbmd1bGFyLWJpbmRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaW5kaW5ncy9zcmMvc3RhdHNpZy1hbmd1bGFyLWJpbmRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDBDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StatsigModule = exports.STATSIG_INIT_CONFIG = void 0;
4
- const core_1 = require("@angular/core");
5
- const checkGate_directive_1 = require("./checkGate.directive");
6
- const i0 = require("@angular/core");
7
- exports.STATSIG_INIT_CONFIG = new core_1.InjectionToken('StatsigProvider');
8
- class StatsigModule {
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: StatsigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: StatsigModule, declarations: [checkGate_directive_1.CheckGateDirective], exports: [checkGate_directive_1.CheckGateDirective] });
11
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: StatsigModule });
12
- }
13
- exports.StatsigModule = StatsigModule;
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: StatsigModule, decorators: [{
15
- type: core_1.NgModule,
16
- args: [{
17
- declarations: [checkGate_directive_1.CheckGateDirective],
18
- exports: [checkGate_directive_1.CheckGateDirective],
19
- providers: [],
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHNpZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyLWJpbmRpbmdzL3NyYy9zdGF0c2lnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3Q0FBeUQ7QUFTekQsK0RBQTJEOztBQWE5QyxRQUFBLG1CQUFtQixHQUFHLElBQUkscUJBQWMsQ0FFbkQsaUJBQWlCLENBQUMsQ0FBQztBQUlyQixNQUthLGFBQWE7dUdBQWIsYUFBYTt3R0FBYixhQUFhLGlCQUpULHdDQUFrQixhQUN2Qix3Q0FBa0I7d0dBR2pCLGFBQWE7O0FBTDFCLHNDQUs2QjsyRkFBaEIsYUFBYTtrQkFMekIsZUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx3Q0FBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsd0NBQWtCLENBQUM7b0JBQzdCLFNBQVMsRUFBRSxFQUFFO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEZlYXR1cmVHYXRlRXZhbHVhdGlvbk9wdGlvbnMsXG4gIFN0YXRzaWdDbGllbnQsXG4gIFN0YXRzaWdPcHRpb25zLFxuICBTdGF0c2lnVXNlcixcbn0gZnJvbSAnQHN0YXRzaWcvanMtY2xpZW50JztcblxuaW1wb3J0IHsgQ2hlY2tHYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9jaGVja0dhdGUuZGlyZWN0aXZlJztcblxudHlwZSBXaXRoQ2xpZW50PFQgZXh0ZW5kcyBTdGF0c2lnQ2xpZW50PiA9IHsgY2xpZW50OiBUIH07XG50eXBlIFdpdGhDb25maWd1cmF0aW9uID0ge1xuICBzZGtLZXk6IHN0cmluZztcbiAgdXNlcjogU3RhdHNpZ1VzZXI7XG4gIG9wdGlvbnM/OiBTdGF0c2lnT3B0aW9ucztcbn07XG5cbmV4cG9ydCB0eXBlIFN0YXRzaWdJbml0Q29uZmlnPFQgZXh0ZW5kcyBTdGF0c2lnQ2xpZW50PiA9XG4gIHwgV2l0aENsaWVudDxUPlxuICB8IFdpdGhDb25maWd1cmF0aW9uO1xuXG5leHBvcnQgY29uc3QgU1RBVFNJR19JTklUX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgU3RhdHNpZ0luaXRDb25maWc8U3RhdHNpZ0NsaWVudD5cbj4oJ1N0YXRzaWdQcm92aWRlcicpO1xuXG5leHBvcnQgdHlwZSBGZWF0dXJlR2F0ZU9wdGlvbnMgPSBGZWF0dXJlR2F0ZUV2YWx1YXRpb25PcHRpb25zO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDaGVja0dhdGVEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbQ2hlY2tHYXRlRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHNpZ01vZHVsZSB7fVxuIl19
@@ -1,163 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.StatsigService = void 0;
13
- const core_1 = require("@angular/core");
14
- const rxjs_1 = require("rxjs");
15
- const client_core_1 = require("@statsig/client-core");
16
- const js_client_1 = require("@statsig/js-client");
17
- const memoizeDecorator_1 = require("./memoizeDecorator");
18
- const statsig_module_1 = require("./statsig.module");
19
- const i0 = require("@angular/core");
20
- class StatsigService {
21
- _renderVersion = 0;
22
- _client;
23
- _isLoadingSubject = new rxjs_1.BehaviorSubject(true);
24
- isLoading$ = this._isLoadingSubject.asObservable();
25
- constructor(provider) {
26
- if ('client' in provider) {
27
- this._client = provider.client;
28
- }
29
- else if ('sdkKey' in provider && 'user' in provider) {
30
- this._client = new js_client_1.StatsigClient(provider.sdkKey, provider.user, provider.options);
31
- this._client
32
- .initializeAsync()
33
- .catch((error) => {
34
- client_core_1.Log.error('Error initializing StatsigClient', error);
35
- })
36
- .finally(() => {
37
- this._isLoadingSubject.next(false);
38
- });
39
- }
40
- else {
41
- client_core_1.Log.error('Must provide a client or sdkKey and user to initialize StatsigService');
42
- this._client = new js_client_1.StatsigClient('', {});
43
- }
44
- client_core_1.Log.debug('StatsigService created', this._client);
45
- this._checkAndEmitLoadingStatus();
46
- this._client.$on('values_updated', this._onValuesUpdated);
47
- client_core_1.SDKType._setBindingType('angular');
48
- }
49
- ngOnDestroy() {
50
- this._client.shutdown().catch((error) => {
51
- client_core_1.Log.error('An error occured during shutdown', error);
52
- });
53
- this._client.off('values_updated', this._onValuesUpdated);
54
- }
55
- checkGate(gateName, options) {
56
- client_core_1.Log.debug(`checkGate caled for ${gateName}, rv: ${this._renderVersion}`);
57
- return this._checkGateImpl(this._renderVersion, gateName, options);
58
- }
59
- getDynamicConfig(configName, options) {
60
- client_core_1.Log.debug(`getDynamicConfig called for ${configName}, rv: ${this._renderVersion}`);
61
- return this._getDynamicConfigImpl(this._renderVersion, configName, options);
62
- }
63
- getExperiment(experimentName, options) {
64
- client_core_1.Log.debug(`getExperiment caled for ${experimentName}, rv: ${this._renderVersion}`);
65
- return this._getExperimentImpl(this._renderVersion, experimentName, options);
66
- }
67
- getLayer(layerName, options) {
68
- client_core_1.Log.debug(`getLayer caled for ${layerName}, rv: ${this._renderVersion}`);
69
- return this._getLayerImpl(this._renderVersion, layerName, options);
70
- }
71
- logEvent(eventName, value, metadata) {
72
- this._client.logEvent(eventName, value, metadata);
73
- }
74
- updateUserAsync(user, options) {
75
- return this._client.updateUserAsync(user, options);
76
- }
77
- updateUserSync(user, options) {
78
- this._client.updateUserSync(user, options);
79
- }
80
- getClient() {
81
- return this._client;
82
- }
83
- _checkGateImpl(_rv, gateName, options) {
84
- return this._client.checkGate(gateName, options);
85
- }
86
- _getDynamicConfigImpl(_rv, configName, options) {
87
- return this._client.getDynamicConfig(configName, options);
88
- }
89
- _getExperimentImpl(_rv, experimentName, options) {
90
- return this._client.getExperiment(experimentName, options);
91
- }
92
- _getLayerImpl(_rv, layerName, options) {
93
- return this._client.getLayer(layerName, options);
94
- }
95
- _checkAndEmitLoadingStatus() {
96
- const isReady = _isReady(this._client);
97
- if (isReady) {
98
- this._isLoadingSubject.next(false);
99
- client_core_1.Log.debug('Client is now ready, loading status set to false');
100
- }
101
- else {
102
- this._isLoadingSubject.next(true);
103
- client_core_1.Log.debug('Client is not ready, loading status set to true');
104
- }
105
- }
106
- _onValuesUpdated = () => {
107
- this._renderVersion++;
108
- client_core_1.Log.debug('Values updated', this._renderVersion);
109
- this._checkAndEmitLoadingStatus();
110
- };
111
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: StatsigService, deps: [{ token: statsig_module_1.STATSIG_INIT_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
112
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: StatsigService, providedIn: 'root' });
113
- }
114
- exports.StatsigService = StatsigService;
115
- __decorate([
116
- (0, memoizeDecorator_1.Memoize)((...args) => {
117
- const [rv, gn, opt] = args;
118
- return `${rv}-${gn}-${JSON.stringify(opt)}`;
119
- }),
120
- __metadata("design:type", Function),
121
- __metadata("design:paramtypes", [Number, String, Object]),
122
- __metadata("design:returntype", Boolean)
123
- ], StatsigService.prototype, "_checkGateImpl", null);
124
- __decorate([
125
- (0, memoizeDecorator_1.Memoize)((...args) => {
126
- const [rv, gn, opt] = args;
127
- return `${rv}-${gn}-${JSON.stringify(opt)}`;
128
- }),
129
- __metadata("design:type", Function),
130
- __metadata("design:paramtypes", [Number, String, Object]),
131
- __metadata("design:returntype", Object)
132
- ], StatsigService.prototype, "_getDynamicConfigImpl", null);
133
- __decorate([
134
- (0, memoizeDecorator_1.Memoize)((...args) => {
135
- const [rv, en, opt] = args;
136
- return `${rv}-${en}-${JSON.stringify(opt)}`;
137
- }),
138
- __metadata("design:type", Function),
139
- __metadata("design:paramtypes", [Number, String, Object]),
140
- __metadata("design:returntype", Object)
141
- ], StatsigService.prototype, "_getExperimentImpl", null);
142
- __decorate([
143
- (0, memoizeDecorator_1.Memoize)((...args) => {
144
- const [rv, ln, opt] = args;
145
- return `${rv}-${ln}-${JSON.stringify(opt)}`;
146
- }),
147
- __metadata("design:type", Function),
148
- __metadata("design:paramtypes", [Number, String, Object]),
149
- __metadata("design:returntype", Object)
150
- ], StatsigService.prototype, "_getLayerImpl", null);
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: StatsigService, decorators: [{
152
- type: core_1.Injectable,
153
- args: [{
154
- providedIn: 'root',
155
- }]
156
- }], ctorParameters: () => [{ type: undefined, decorators: [{
157
- type: core_1.Inject,
158
- args: [statsig_module_1.STATSIG_INIT_CONFIG]
159
- }] }], propDecorators: { _checkGateImpl: [], _getDynamicConfigImpl: [], _getExperimentImpl: [], _getLayerImpl: [] } });
160
- function _isReady(client) {
161
- return client.loadingStatus === 'Ready';
162
- }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHNpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci1iaW5kaW5ncy9zcmMvc3RhdHNpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHdDQUE4RDtBQUM5RCwrQkFBbUQ7QUFFbkQsc0RBYzhCO0FBQzlCLGtEQUFtRDtBQUVuRCx5REFBNkM7QUFDN0MscURBQTBFOztBQUUxRSxNQUdhLGNBQWM7SUFDakIsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUNuQixPQUFPLENBQWdCO0lBRXZCLGlCQUFpQixHQUFHLElBQUksc0JBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztJQUMvRCxVQUFVLEdBQXdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUV4RSxZQUMrQixRQUEwQztRQUV2RSxJQUFJLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDakMsQ0FBQzthQUFNLElBQUksUUFBUSxJQUFJLFFBQVEsSUFBSSxNQUFNLElBQUksUUFBUSxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLHlCQUFhLENBQzlCLFFBQVEsQ0FBQyxNQUFNLEVBQ2YsUUFBUSxDQUFDLElBQUksRUFDYixRQUFRLENBQUMsT0FBTyxDQUNqQixDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU87aUJBQ1QsZUFBZSxFQUFFO2lCQUNqQixLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixpQkFBRyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUM7aUJBQ0QsT0FBTyxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxD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RCxDQUFDO1FBQ3ZFLE9BQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM5QyxDQUFDLENBQUM7Ozs7bURBT0Q7MkZBaktVLGNBQWM7a0JBSDFCLGlCQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBU0ksYUFBTTsyQkFBQyxvQ0FBbUI7eUNBMkdyQixjQUFjLE1BZ0JkLHFCQUFxQixNQVlyQixrQkFBa0IsTUFZbEIsYUFBYTtBQTBCdkIsU0FBUyxRQUFRLENBQUMsTUFBcUI7SUFDckMsT0FBTyxNQUFNLENBQUMsYUFBYSxLQUFLLE9BQU8sQ0FBQztBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBEYXRhQWRhcHRlckFzeW5jT3B0aW9ucyxcbiAgRGF0YUFkYXB0ZXJTeW5jT3B0aW9ucyxcbiAgRHluYW1pY0NvbmZpZyxcbiAgRHluYW1pY0NvbmZpZ0V2YWx1YXRpb25PcHRpb25zLFxuICBFeHBlcmltZW50LFxuICBFeHBlcmltZW50RXZhbHVhdGlvbk9wdGlvbnMsXG4gIEZlYXR1cmVHYXRlRXZhbHVhdGlvbk9wdGlvbnMsXG4gIExheWVyLFxuICBMYXllckV2YWx1YXRpb25PcHRpb25zLFxuICBMb2csXG4gIFNES1R5cGUsXG4gIFN0YXRzaWdFdmVudCxcbiAgU3RhdHNpZ1VzZXIsXG59IGZyb20gJ0BzdGF0c2lnL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFN0YXRzaWdDbGllbnQgfSBmcm9tICdAc3RhdHNpZy9qcy1jbGllbnQnO1xuXG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplRGVjb3JhdG9yJztcbmltcG9ydCB7IFNUQVRTSUdfSU5JVF9DT05GSUcsIFN0YXRzaWdJbml0Q29uZmlnIH0gZnJvbSAnLi9zdGF0c2lnLm1vZHVsZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTdGF0c2lnU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3JlbmRlclZlcnNpb24gPSAwO1xuICBwcml2YXRlIF9jbGllbnQ6IFN0YXRzaWdDbGllbnQ7XG5cbiAgcHJpdmF0ZSBfaXNMb2FkaW5nU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIGlzTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLl9pc0xvYWRpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoU1RBVFNJR19JTklUX0NPTkZJRykgcHJvdmlkZXI6IFN0YXRzaWdJbml0Q29uZmlnPFN0YXRzaWdDbGllbnQ+LFxuICApIHtcbiAgICBpZiAoJ2NsaWVudCcgaW4gcHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuX2NsaWVudCA9IHByb3ZpZGVyLmNsaWVudDtcbiAgICB9IGVsc2UgaWYgKCdzZGtLZXknIGluIHByb3ZpZGVyICYmICd1c2VyJyBpbiBwcm92aWRlcikge1xuICAgICAgdGhpcy5fY2xpZW50ID0gbmV3IFN0YXRzaWdDbGllbnQoXG4gICAgICAgIHByb3ZpZGVyLnNka0tleSxcbiAgICAgICAgcHJvdmlkZXIudXNlcixcbiAgICAgICAgcHJvdmlkZXIub3B0aW9ucyxcbiAgICAgICk7XG4gICAgICB0aGlzLl9jbGllbnRcbiAgICAgICAgLmluaXRpYWxpemVBc3luYygpXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBMb2cuZXJyb3IoJ0Vycm9yIGluaXRpYWxpemluZyBTdGF0c2lnQ2xpZW50JywgZXJyb3IpO1xuICAgICAgICB9KVxuICAgICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5faXNMb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIExvZy5lcnJvcihcbiAgICAgICAgJ011c3QgcHJvdmlkZSBhIGNsaWVudCBvciBzZGtLZXkgYW5kIHVzZXIgdG8gaW5pdGlhbGl6ZSBTdGF0c2lnU2VydmljZScsXG4gICAgICApO1xuICAgICAgdGhpcy5fY2xpZW50ID0gbmV3IFN0YXRzaWdDbGllbnQoJycsIHt9KTtcbiAgICB9XG4gICAgTG9nLmRlYnVnKCdTdGF0c2lnU2VydmljZSBjcmVhdGVkJywgdGhpcy5fY2xpZW50KTtcbiAgICB0aGlzLl9jaGVja0FuZEVtaXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgdGhpcy5fY2xpZW50LiRvbigndmFsdWVzX3VwZGF0ZWQnLCB0aGlzLl9vblZhbHVlc1VwZGF0ZWQpO1xuXG4gICAgU0RLVHlwZS5fc2V0QmluZGluZ1R5cGUoJ2FuZ3VsYXInKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NsaWVudC5zaHV0ZG93bigpLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgTG9nLmVycm9yKCdBbiBlcnJvciBvY2N1cmVkIGR1cmluZyBzaHV0ZG93bicsIGVycm9yKTtcbiAgICB9KTtcbiAgICB0aGlzLl9jbGllbnQub2ZmKCd2YWx1ZXNfdXBkYXRlZCcsIHRoaXMuX29uVmFsdWVzVXBkYXRlZCk7XG4gIH1cblxuICBjaGVja0dhdGUoZ2F0ZU5hbWU6IHN0cmluZywgb3B0aW9ucz86IEZlYXR1cmVHYXRlRXZhbHVhdGlvbk9wdGlvbnMpOiBib29sZWFuIHtcbiAgICBMb2cuZGVidWcoYGNoZWNrR2F0ZSBjYWxlZCBmb3IgJHtnYXRlTmFtZX0sIHJ2OiAke3RoaXMuX3JlbmRlclZlcnNpb259YCk7XG5cbiAgICByZXR1cm4gdGhpcy5fY2hlY2tHYXRlSW1wbCh0aGlzLl9yZW5kZXJWZXJzaW9uLCBnYXRlTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICBnZXREeW5hbWljQ29uZmlnKFxuICAgIGNvbmZpZ05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogRHluYW1pY0NvbmZpZ0V2YWx1YXRpb25PcHRpb25zLFxuICApOiBEeW5hbWljQ29uZmlnIHtcbiAgICBMb2cuZGVidWcoXG4gICAgICBgZ2V0RHluYW1pY0NvbmZpZyBjYWxsZWQgZm9yICR7Y29uZmlnTmFtZX0sIHJ2OiAke3RoaXMuX3JlbmRlclZlcnNpb259YCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuX2dldER5bmFtaWNDb25maWdJbXBsKHRoaXMuX3JlbmRlclZlcnNpb24sIGNvbmZpZ05hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXhwZXJpbWVudChcbiAgICBleHBlcmltZW50TmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBFeHBlcmltZW50RXZhbHVhdGlvbk9wdGlvbnMsXG4gICk6IEV4cGVyaW1lbnQge1xuICAgIExvZy5kZWJ1ZyhcbiAgICAgIGBnZXRFeHBlcmltZW50IGNhbGVkIGZvciAke2V4cGVyaW1lbnROYW1lfSwgcnY6ICR7dGhpcy5fcmVuZGVyVmVyc2lvbn1gLFxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5fZ2V0RXhwZXJpbWVudEltcGwoXG4gICAgICB0aGlzLl9yZW5kZXJWZXJzaW9uLFxuICAgICAgZXhwZXJpbWVudE5hbWUsXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gIH1cblxuICBnZXRMYXllcihsYXllck5hbWU6IHN0cmluZywgb3B0aW9ucz86IExheWVyRXZhbHVhdGlvbk9wdGlvbnMpOiBMYXllciB7XG4gICAgTG9nLmRlYnVnKGBnZXRMYXllciBjYWxlZCBmb3IgJHtsYXllck5hbWV9LCBydjogJHt0aGlzLl9yZW5kZXJWZXJzaW9ufWApO1xuXG4gICAgcmV0dXJuIHRoaXMuX2dldExheWVySW1wbCh0aGlzLl9yZW5kZXJWZXJzaW9uLCBsYXllck5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgbG9nRXZlbnQoXG4gICAgZXZlbnROYW1lOiBTdGF0c2lnRXZlbnQgfCBzdHJpbmcsXG4gICAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIsXG4gICAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLl9jbGllbnQubG9nRXZlbnQoZXZlbnROYW1lLCB2YWx1ZSwgbWV0YWRhdGEpO1xuICB9XG5cbiAgdXBkYXRlVXNlckFzeW5jKFxuICAgIHVzZXI6IFN0YXRzaWdVc2VyLFxuICAgIG9wdGlvbnM/OiBEYXRhQWRhcHRlckFzeW5jT3B0aW9ucyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC51cGRhdGVVc2VyQXN5bmModXNlciwgb3B0aW9ucyk7XG4gIH1cblxuICB1cGRhdGVVc2VyU3luYyh1c2VyOiBTdGF0c2lnVXNlciwgb3B0aW9ucz86IERhdGFBZGFwdGVyU3luY09wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLl9jbGllbnQudXBkYXRlVXNlclN5bmModXNlciwgb3B0aW9ucyk7XG4gIH1cblxuICBnZXRDbGllbnQoKTogU3RhdHNpZ0NsaWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudDtcbiAgfVxuXG4gIEBNZW1vaXplKCguLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgICBjb25zdCBbcnYsIGduLCBvcHRdID0gYXJncyBhcyBbXG4gICAgICBudW1iZXIsXG4gICAgICBzdHJpbmcsXG4gICAgICBGZWF0dXJlR2F0ZUV2YWx1YXRpb25PcHRpb25zLFxuICAgIF07XG4gICAgcmV0dXJuIGAke3J2fS0ke2dufS0ke0pTT04uc3RyaW5naWZ5KG9wdCl9YDtcbiAgfSlcbiAgcHJpdmF0ZSBfY2hlY2tHYXRlSW1wbChcbiAgICBfcnY6IG51bWJlcixcbiAgICBnYXRlTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBGZWF0dXJlR2F0ZUV2YWx1YXRpb25PcHRpb25zLFxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmNoZWNrR2F0ZShnYXRlTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICBATWVtb2l6ZSgoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgY29uc3QgW3J2LCBnbiwgb3B0XSA9IGFyZ3MgYXMgW1xuICAgICAgbnVtYmVyLFxuICAgICAgc3RyaW5nLFxuICAgICAgRHluYW1pY0NvbmZpZ0V2YWx1YXRpb25PcHRpb25zLFxuICAgIF07XG4gICAgcmV0dXJuIGAke3J2fS0ke2dufS0ke0pTT04uc3RyaW5naWZ5KG9wdCl9YDtcbiAgfSlcbiAgcHJpdmF0ZSBfZ2V0RHluYW1pY0NvbmZpZ0ltcGwoXG4gICAgX3J2OiBudW1iZXIsXG4gICAgY29uZmlnTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBEeW5hbWljQ29uZmlnRXZhbHVhdGlvbk9wdGlvbnMsXG4gICk6IER5bmFtaWNDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0RHluYW1pY0NvbmZpZyhjb25maWdOYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIEBNZW1vaXplKCguLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgICBjb25zdCBbcnYsIGVuLCBvcHRdID0gYXJncyBhcyBbbnVtYmVyLCBzdHJpbmcsIEV4cGVyaW1lbnRFdmFsdWF0aW9uT3B0aW9uc107XG4gICAgcmV0dXJuIGAke3J2fS0ke2VufS0ke0pTT04uc3RyaW5naWZ5KG9wdCl9YDtcbiAgfSlcbiAgcHJpdmF0ZSBfZ2V0RXhwZXJpbWVudEltcGwoXG4gICAgX3J2OiBudW1iZXIsXG4gICAgZXhwZXJpbWVudE5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogRXhwZXJpbWVudEV2YWx1YXRpb25PcHRpb25zLFxuICApOiBFeHBlcmltZW50IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldEV4cGVyaW1lbnQoZXhwZXJpbWVudE5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgQE1lbW9pemUoKC4uLmFyZ3M6IHVua25vd25bXSkgPT4ge1xuICAgIGNvbnN0IFtydiwgbG4sIG9wdF0gPSBhcmdzIGFzIFtudW1iZXIsIHN0cmluZywgTGF5ZXJFdmFsdWF0aW9uT3B0aW9uc107XG4gICAgcmV0dXJuIGAke3J2fS0ke2xufS0ke0pTT04uc3RyaW5naWZ5KG9wdCl9YDtcbiAgfSlcbiAgcHJpdmF0ZSBfZ2V0TGF5ZXJJbXBsKFxuICAgIF9ydjogbnVtYmVyLFxuICAgIGxheWVyTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBMYXllckV2YWx1YXRpb25PcHRpb25zLFxuICApOiBMYXllciB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXRMYXllcihsYXllck5hbWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tBbmRFbWl0TG9hZGluZ1N0YXR1cygpOiB2b2lkIHtcbiAgICBjb25zdCBpc1JlYWR5ID0gX2lzUmVhZHkodGhpcy5fY2xpZW50KTtcbiAgICBpZiAoaXNSZWFkeSkge1xuICAgICAgdGhpcy5faXNMb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKTtcbiAgICAgIExvZy5kZWJ1ZygnQ2xpZW50IGlzIG5vdyByZWFkeSwgbG9hZGluZyBzdGF0dXMgc2V0IHRvIGZhbHNlJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2lzTG9hZGluZ1N1YmplY3QubmV4dCh0cnVlKTtcbiAgICAgIExvZy5kZWJ1ZygnQ2xpZW50IGlzIG5vdCByZWFkeSwgbG9hZGluZyBzdGF0dXMgc2V0IHRvIHRydWUnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vblZhbHVlc1VwZGF0ZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5fcmVuZGVyVmVyc2lvbisrO1xuICAgIExvZy5kZWJ1ZygnVmFsdWVzIHVwZGF0ZWQnLCB0aGlzLl9yZW5kZXJWZXJzaW9uKTtcbiAgICB0aGlzLl9jaGVja0FuZEVtaXRMb2FkaW5nU3RhdHVzKCk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIF9pc1JlYWR5KGNsaWVudDogU3RhdHNpZ0NsaWVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2xpZW50LmxvYWRpbmdTdGF0dXMgPT09ICdSZWFkeSc7XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- "use strict";
2
- /**
3
- * Generated bundle index. Do not edit.
4
- */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- __exportStar(require("./index"), exports);
21
- //# sourceMappingURL=statsig-angular-bindings.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statsig-angular-bindings.mjs","sources":["../../../../packages/angular-bindings/src/statsig-angular-bindings.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";AAAA;;AAEG;;;;;;;;;;;;;;;;AAEH,YAAwB,CAAA,OAAA,CAAA,SAAA,CAAA,EAAA,OAAA,CAAA"}
package/index.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/angular-bindings/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function Memoize(keyGenerator: (...args: unknown[]) => string): MethodDecorator;
2
- //# sourceMappingURL=memoizeDecorator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memoizeDecorator.d.ts","sourceRoot":"","sources":["../../../packages/angular-bindings/src/memoizeDecorator.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CACrB,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,GAC3C,eAAe,CAuBjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"statsig-angular-bindings.d.ts","sourceRoot":"","sources":["../../../packages/angular-bindings/src/statsig-angular-bindings.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,SAAS,CAAC"}
@@ -1,22 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { FeatureGateEvaluationOptions, StatsigClient, StatsigOptions, StatsigUser } from '@statsig/js-client';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./checkGate.directive";
5
- type WithClient<T extends StatsigClient> = {
6
- client: T;
7
- };
8
- type WithConfiguration = {
9
- sdkKey: string;
10
- user: StatsigUser;
11
- options?: StatsigOptions;
12
- };
13
- export type StatsigInitConfig<T extends StatsigClient> = WithClient<T> | WithConfiguration;
14
- export declare const STATSIG_INIT_CONFIG: InjectionToken<StatsigInitConfig<StatsigClient>>;
15
- export type FeatureGateOptions = FeatureGateEvaluationOptions;
16
- export declare class StatsigModule {
17
- static ɵfac: i0.ɵɵFactoryDeclaration<StatsigModule, never>;
18
- static ɵmod: i0.ɵɵNgModuleDeclaration<StatsigModule, [typeof i1.CheckGateDirective], never, [typeof i1.CheckGateDirective]>;
19
- static ɵinj: i0.ɵɵInjectorDeclaration<StatsigModule>;
20
- }
21
- export {};
22
- //# sourceMappingURL=statsig.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statsig.module.d.ts","sourceRoot":"","sources":["../../../packages/angular-bindings/src/statsig.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAY,MAAM,eAAe,CAAC;AAEzD,OAAO,EACL,4BAA4B,EAC5B,aAAa,EACb,cAAc,EACd,WAAW,EACZ,MAAM,oBAAoB,CAAC;;;AAI5B,KAAK,UAAU,CAAC,CAAC,SAAS,aAAa,IAAI;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC;AACzD,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,aAAa,IACjD,UAAU,CAAC,CAAC,CAAC,GACb,iBAAiB,CAAC;AAEtB,eAAO,MAAM,mBAAmB,kDAEZ,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAE9D,qBAKa,aAAa;yCAAb,aAAa;0CAAb,aAAa;0CAAb,aAAa;CAAG"}
@@ -1,31 +0,0 @@
1
- import { OnDestroy } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { DataAdapterAsyncOptions, DataAdapterSyncOptions, DynamicConfig, DynamicConfigEvaluationOptions, Experiment, ExperimentEvaluationOptions, FeatureGateEvaluationOptions, Layer, LayerEvaluationOptions, StatsigEvent, StatsigUser } from '@statsig/client-core';
4
- import { StatsigClient } from '@statsig/js-client';
5
- import { StatsigInitConfig } from './statsig.module';
6
- import * as i0 from "@angular/core";
7
- export declare class StatsigService implements OnDestroy {
8
- private _renderVersion;
9
- private _client;
10
- private _isLoadingSubject;
11
- isLoading$: Observable<boolean>;
12
- constructor(provider: StatsigInitConfig<StatsigClient>);
13
- ngOnDestroy(): void;
14
- checkGate(gateName: string, options?: FeatureGateEvaluationOptions): boolean;
15
- getDynamicConfig(configName: string, options?: DynamicConfigEvaluationOptions): DynamicConfig;
16
- getExperiment(experimentName: string, options?: ExperimentEvaluationOptions): Experiment;
17
- getLayer(layerName: string, options?: LayerEvaluationOptions): Layer;
18
- logEvent(eventName: StatsigEvent | string, value?: string | number, metadata?: Record<string, string>): void;
19
- updateUserAsync(user: StatsigUser, options?: DataAdapterAsyncOptions): Promise<void>;
20
- updateUserSync(user: StatsigUser, options?: DataAdapterSyncOptions): void;
21
- getClient(): StatsigClient;
22
- private _checkGateImpl;
23
- private _getDynamicConfigImpl;
24
- private _getExperimentImpl;
25
- private _getLayerImpl;
26
- private _checkAndEmitLoadingStatus;
27
- private _onValuesUpdated;
28
- static ɵfac: i0.ɵɵFactoryDeclaration<StatsigService, never>;
29
- static ɵprov: i0.ɵɵInjectableDeclaration<StatsigService>;
30
- }
31
- //# sourceMappingURL=statsig.service.d.ts.map
@@ -1 +0,0 @@
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,EAGtB,YAAY,EACZ,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,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,IAAI,CAAC;IAIhB,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;IAQrB,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,gBAAgB,CAItB;yCAlLS,cAAc;6CAAd,cAAc;CAmL1B"}