@alanszp/split 7.8.1 → 7.10.3
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/dist/client/index.d.ts +1 -2
- package/dist/client/index.js +19 -17
- package/dist/client/index.js.map +1 -1
- package/dist/helpers/now.d.ts +1 -0
- package/dist/helpers/now.js +8 -0
- package/dist/helpers/now.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/client/index.ts +20 -26
- package/src/helpers/now.ts +3 -0
- package/src/index.ts +1 -0
package/dist/client/index.d.ts
CHANGED
|
@@ -8,14 +8,13 @@ export declare type DoNotUseSplitFactoryType = typeof SplitFactory;
|
|
|
8
8
|
export interface SplitClientConstructor {
|
|
9
9
|
apiKey: string;
|
|
10
10
|
logger: ILogger;
|
|
11
|
-
timeout: number;
|
|
12
11
|
debug: boolean;
|
|
13
12
|
}
|
|
14
13
|
export declare class BaseSplitClient {
|
|
15
14
|
protected static client: SplitIO.IClient;
|
|
16
15
|
protected static logger: ILogger;
|
|
17
16
|
protected promiseConstruction: Promise<boolean>;
|
|
18
|
-
constructor({ apiKey, logger,
|
|
17
|
+
constructor({ apiKey, logger, debug }: SplitClientConstructor);
|
|
19
18
|
hasLoaded(): Promise<boolean>;
|
|
20
19
|
getTreatment(key: string, splitName: string, attributes?: {}): string;
|
|
21
20
|
getBooleanTreatment(key: string, splitName: string, attributes?: {}): boolean;
|
package/dist/client/index.js
CHANGED
|
@@ -11,36 +11,38 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.BaseSplitClient = void 0;
|
|
13
13
|
const splitio_1 = require("@splitsoftware/splitio");
|
|
14
|
+
const now_1 = require("../helpers/now");
|
|
14
15
|
const ON = "on";
|
|
15
16
|
const CONTROL = "control";
|
|
16
|
-
const TIMEOUT_ERROR = 6000;
|
|
17
17
|
class BaseSplitClient {
|
|
18
|
-
constructor({ apiKey, logger,
|
|
18
|
+
constructor({ apiKey, logger, debug = false }) {
|
|
19
19
|
BaseSplitClient.logger = logger;
|
|
20
20
|
const factory = (0, splitio_1.SplitFactory)({
|
|
21
21
|
core: {
|
|
22
22
|
authorizationKey: apiKey,
|
|
23
23
|
},
|
|
24
24
|
scheduler: {
|
|
25
|
-
impressionsRefreshRate:
|
|
26
|
-
eventsPushRate: 2,
|
|
25
|
+
impressionsRefreshRate: 60,
|
|
27
26
|
},
|
|
28
27
|
debug,
|
|
29
28
|
});
|
|
29
|
+
const startedTime = (0, now_1.now)();
|
|
30
30
|
BaseSplitClient.client = factory.client();
|
|
31
|
-
this.promiseConstruction =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
31
|
+
this.promiseConstruction = BaseSplitClient.client
|
|
32
|
+
.ready()
|
|
33
|
+
.then(() => {
|
|
34
|
+
BaseSplitClient.logger.info("split_io_client.created.succeed", {
|
|
35
|
+
executionTime: (0, now_1.now)() - startedTime,
|
|
36
|
+
});
|
|
37
|
+
return true;
|
|
38
|
+
})
|
|
39
|
+
.catch((error) => {
|
|
40
|
+
BaseSplitClient.logger.info("split_io_client.created.error", {
|
|
41
|
+
executionTime: (0, now_1.now)() - startedTime,
|
|
42
|
+
error,
|
|
43
|
+
});
|
|
44
|
+
return false;
|
|
45
|
+
});
|
|
44
46
|
}
|
|
45
47
|
hasLoaded() {
|
|
46
48
|
return this.promiseConstruction;
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oDAAsD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oDAAsD;AACtD,wCAAqC;AAQrC,MAAM,EAAE,GAAG,IAAI,CAAC;AAChB,MAAM,OAAO,GAAG,SAAS,CAAC;AAQ1B,MAAa,eAAe;IAO1B,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,EAA0B;QACnE,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC;QAEhC,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC;YAC3B,IAAI,EAAE;gBACJ,gBAAgB,EAAE,MAAM;aACzB;YACD,SAAS,EAAE;gBACT,sBAAsB,EAAE,EAAE;aAC3B;YACD,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAA,SAAG,GAAE,CAAC;QAC1B,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAE1C,IAAI,CAAC,mBAAmB,GAAG,eAAe,CAAC,MAAM;aAC9C,KAAK,EAAE;aACP,IAAI,CAAC,GAAG,EAAE;YACT,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;gBAC7D,aAAa,EAAE,IAAA,SAAG,GAAE,GAAG,WAAW;aACnC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;gBAC3D,aAAa,EAAE,IAAA,SAAG,GAAE,GAAG,WAAW;gBAClC,KAAK;aACN,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,SAAiB,EAAE,UAAU,GAAG,EAAE;QAC1D,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,YAAY,CACnD,GAAG,EACH,SAAS,EACT,UAAU,CACX,CAAC;QAEF,IAAI,SAAS,KAAK,OAAO,EAAE;YACzB,eAAe,CAAC,MAAM,CAAC,IAAI,CACzB,4CAA4C,EAC5C;gBACE,GAAG;gBACH,SAAS;gBACT,UAAU;aACX,CACF,CAAC;SACH;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB,CACjB,GAAW,EACX,SAAiB,EACjB,UAAU,GAAG,EAAE;QAEf,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAChE,OAAO,SAAS,KAAK,EAAE,CAAC;IAC1B,CAAC;IAEK,OAAO;;YACX,MAAM,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC;KAAA;CACF;AA7ED,0CA6EC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function now(): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"now.js","sourceRoot":"","sources":["../../src/helpers/now.ts"],"names":[],"mappings":";;;AAAA,SAAgB,GAAG;IACjB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;AACpB,CAAC;AAFD,kBAEC"}
|
package/dist/index.js
CHANGED
|
@@ -10,5 +10,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
// Adding dummy code to deploy package
|
|
13
14
|
__exportStar(require("./client"), exports);
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAsC;AACtC,2CAAyB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alanszp/split",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.10.3",
|
|
4
4
|
"description": "Alan's split client",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"cuid": "^2.1.8",
|
|
38
38
|
"lodash": "^4.17.21"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "b921afdb66be64a60a1558105896e6d24d371ccd"
|
|
41
41
|
}
|
package/src/client/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ILogger } from "@alanszp/logger";
|
|
2
2
|
import { SplitFactory } from "@splitsoftware/splitio";
|
|
3
|
+
import { now } from "../helpers/now";
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Hack to force the compiler to import the types
|
|
@@ -9,14 +10,13 @@ export type DoNotUseSplitFactoryType = typeof SplitFactory;
|
|
|
9
10
|
|
|
10
11
|
const ON = "on";
|
|
11
12
|
const CONTROL = "control";
|
|
12
|
-
const TIMEOUT_ERROR = 6000;
|
|
13
13
|
|
|
14
14
|
export interface SplitClientConstructor {
|
|
15
15
|
apiKey: string;
|
|
16
16
|
logger: ILogger;
|
|
17
|
-
timeout: number;
|
|
18
17
|
debug: boolean;
|
|
19
18
|
}
|
|
19
|
+
|
|
20
20
|
export class BaseSplitClient {
|
|
21
21
|
protected static client: SplitIO.IClient;
|
|
22
22
|
|
|
@@ -24,12 +24,7 @@ export class BaseSplitClient {
|
|
|
24
24
|
|
|
25
25
|
protected promiseConstruction: Promise<boolean>;
|
|
26
26
|
|
|
27
|
-
constructor({
|
|
28
|
-
apiKey,
|
|
29
|
-
logger,
|
|
30
|
-
timeout = TIMEOUT_ERROR,
|
|
31
|
-
debug = false,
|
|
32
|
-
}: SplitClientConstructor) {
|
|
27
|
+
constructor({ apiKey, logger, debug = false }: SplitClientConstructor) {
|
|
33
28
|
BaseSplitClient.logger = logger;
|
|
34
29
|
|
|
35
30
|
const factory = SplitFactory({
|
|
@@ -37,30 +32,29 @@ export class BaseSplitClient {
|
|
|
37
32
|
authorizationKey: apiKey,
|
|
38
33
|
},
|
|
39
34
|
scheduler: {
|
|
40
|
-
impressionsRefreshRate:
|
|
41
|
-
eventsPushRate: 2,
|
|
35
|
+
impressionsRefreshRate: 60,
|
|
42
36
|
},
|
|
43
37
|
debug,
|
|
44
38
|
});
|
|
45
39
|
|
|
40
|
+
const startedTime = now();
|
|
46
41
|
BaseSplitClient.client = factory.client();
|
|
47
42
|
|
|
48
|
-
this.promiseConstruction =
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
()
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
})
|
|
63
|
-
]);
|
|
43
|
+
this.promiseConstruction = BaseSplitClient.client
|
|
44
|
+
.ready()
|
|
45
|
+
.then(() => {
|
|
46
|
+
BaseSplitClient.logger.info("split_io_client.created.succeed", {
|
|
47
|
+
executionTime: now() - startedTime,
|
|
48
|
+
});
|
|
49
|
+
return true;
|
|
50
|
+
})
|
|
51
|
+
.catch((error) => {
|
|
52
|
+
BaseSplitClient.logger.info("split_io_client.created.error", {
|
|
53
|
+
executionTime: now() - startedTime,
|
|
54
|
+
error,
|
|
55
|
+
});
|
|
56
|
+
return false;
|
|
57
|
+
});
|
|
64
58
|
}
|
|
65
59
|
|
|
66
60
|
hasLoaded(): Promise<boolean> {
|
package/src/index.ts
CHANGED