@croct/plug 0.13.3 → 0.14.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.
- package/README.md +1 -1
- package/api/evaluate.d.ts +21 -0
- package/api/evaluate.js +25 -0
- package/api/evaluate.js.map +1 -0
- package/api/fetchContent.d.ts +25 -0
- package/api/fetchContent.js +25 -0
- package/api/fetchContent.js.map +1 -0
- package/api/index.d.ts +2 -0
- package/api/index.js +6 -0
- package/api/index.js.map +1 -0
- package/constants.d.ts +1 -1
- package/constants.js +1 -1
- package/package.json +5 -5
- package/playground.js.map +1 -1
- package/plug.d.ts +1 -1
- package/plug.js +13 -3
- package/plug.js.map +1 -1
- package/preview.js +2 -0
- package/preview.js.map +1 -1
- package/src/api/evaluate.ts +50 -0
- package/src/api/fetchContent.ts +68 -0
- package/src/api/index.ts +2 -0
- package/src/plug.ts +16 -3
- package/src/preview.ts +3 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<a href="https://github.com/croct-tech/plug-js/actions?query=workflow%3AValidations"><img alt="Build" src="https://github.com/croct-tech/plug-js/workflows/Validations/badge.svg"/></a>
|
|
10
10
|
<a href="https://codeclimate.com/repos/5e7251a86589d75edf000f9e/maintainability"><img alt="Maintainability" src="https://api.codeclimate.com/v1/badges/2288af031dccbec256d9/maintainability"/></a>
|
|
11
11
|
<a href="https://codeclimate.com/repos/5e7251a86589d75edf000f9e/test_coverage"><img alt="Coverage" src="https://api.codeclimate.com/v1/badges/2288af031dccbec256d9/test_coverage"/></a>
|
|
12
|
-
<img alt="Gzipped bundle
|
|
12
|
+
<img alt="Gzipped bundle size" src="https://img.badgesize.io/https:/cdn.croct.io/js/v1/lib/plug.js?style=flat&compression=gzip" />
|
|
13
13
|
<br /> <br /> <br/>
|
|
14
14
|
<a href="https://github.com/croct-tech/plug-js/releases">📦 Releases</a>
|
|
15
15
|
·
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EvaluationOptions as BaseOptions } from '@croct/sdk/evaluator';
|
|
2
|
+
import type { ApiKey } from '@croct/sdk/apiKey';
|
|
3
|
+
import type { Logger } from '@croct/sdk/logging';
|
|
4
|
+
import { JsonValue } from '../sdk/json';
|
|
5
|
+
export type EvaluationOptions<T extends JsonValue = JsonValue> = BaseOptions & AuthOptions & FetchingOptions<T>;
|
|
6
|
+
type FetchingOptions<T extends JsonValue> = {
|
|
7
|
+
baseEndpointUrl?: string;
|
|
8
|
+
fallback?: T;
|
|
9
|
+
logger?: Logger;
|
|
10
|
+
};
|
|
11
|
+
type AuthOptions = ServerSideAuthOptions | ClientSideAuthOptions;
|
|
12
|
+
type ServerSideAuthOptions = {
|
|
13
|
+
apiKey: string | ApiKey;
|
|
14
|
+
appId?: never;
|
|
15
|
+
};
|
|
16
|
+
type ClientSideAuthOptions = {
|
|
17
|
+
appId: string;
|
|
18
|
+
apiKey?: never;
|
|
19
|
+
};
|
|
20
|
+
export declare function evaluate<T extends JsonValue>(query: string, options: EvaluationOptions<T>): Promise<T>;
|
|
21
|
+
export {};
|
package/api/evaluate.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.evaluate = void 0;
|
|
4
|
+
const evaluator_1 = require("@croct/sdk/evaluator");
|
|
5
|
+
const error_1 = require("@croct/sdk/error");
|
|
6
|
+
function evaluate(query, options) {
|
|
7
|
+
const { baseEndpointUrl, fallback, apiKey, appId, logger, ...evaluation } = options;
|
|
8
|
+
const auth = apiKey !== undefined ? { apiKey: apiKey } : { appId: appId };
|
|
9
|
+
const promise = (new evaluator_1.Evaluator({ ...auth, baseEndpointUrl: baseEndpointUrl }))
|
|
10
|
+
.evaluate(query, evaluation);
|
|
11
|
+
if (fallback !== undefined) {
|
|
12
|
+
return promise.catch(error => {
|
|
13
|
+
if (logger !== undefined) {
|
|
14
|
+
const reference = query.length > 20
|
|
15
|
+
? `${query.slice(0, 20)}...`
|
|
16
|
+
: query;
|
|
17
|
+
logger.error(`Failed to evaluate query "${reference}": ${(0, error_1.formatCause)(error)}`);
|
|
18
|
+
}
|
|
19
|
+
return fallback;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return promise;
|
|
23
|
+
}
|
|
24
|
+
exports.evaluate = evaluate;
|
|
25
|
+
//# sourceMappingURL=evaluate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/api/evaluate.ts"],"names":[],"mappings":";;;AAAA,oDAAiF;AAGjF,4CAA6C;AAuB7C,SAAgB,QAAQ,CAAsB,KAAa,EAAE,OAA6B;IACtF,MAAM,EAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,EAAC,GAAG,OAAO,CAAC;IAClF,MAAM,IAAI,GAAgB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC;IACnF,MAAM,OAAO,GAAG,CAAC,IAAI,qBAAS,CAAC,EAAC,GAAG,IAAI,EAAE,eAAe,EAAE,eAAe,EAAC,CAAC,CAAC;SACvE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAe,CAAC;IAE/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,KAAK,CAChB,KAAK,CAAC,EAAE;YACJ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE;oBAC/B,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK;oBAC5B,CAAC,CAAC,KAAK,CAAC;gBAEZ,MAAM,CAAC,KAAK,CAAC,6BAA6B,SAAS,MAAM,IAAA,mBAAW,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAvBD,4BAuBC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DynamicContentOptions as BaseDynamicOptions, StaticContentOptions as BaseStaticOptions } from '@croct/sdk/contentFetcher';
|
|
2
|
+
import type { ApiKey } from '@croct/sdk/apiKey';
|
|
3
|
+
import type { Logger } from '@croct/sdk/logging';
|
|
4
|
+
import { JsonObject, JsonValue } from '../sdk/json';
|
|
5
|
+
import { FetchResponse } from '../plug';
|
|
6
|
+
import { SlotContent, VersionedSlotId } from '../slot';
|
|
7
|
+
type FetchingOptions<T extends JsonValue> = {
|
|
8
|
+
baseEndpointUrl?: string;
|
|
9
|
+
fallback?: T;
|
|
10
|
+
logger?: Logger;
|
|
11
|
+
};
|
|
12
|
+
type AuthOptions = ServerSideAuthOptions | ClientSideAuthOptions;
|
|
13
|
+
type ServerSideAuthOptions = {
|
|
14
|
+
apiKey: string | ApiKey;
|
|
15
|
+
appId?: never;
|
|
16
|
+
};
|
|
17
|
+
type ClientSideAuthOptions = {
|
|
18
|
+
appId: string;
|
|
19
|
+
apiKey?: never;
|
|
20
|
+
};
|
|
21
|
+
export type DynamicContentOptions<T extends JsonObject = JsonObject> = Omit<BaseDynamicOptions, 'version'> & FetchingOptions<T> & AuthOptions;
|
|
22
|
+
export type StaticContentOptions<T extends JsonObject = JsonObject> = Omit<BaseStaticOptions, 'version'> & FetchingOptions<T> & ServerSideAuthOptions;
|
|
23
|
+
export type FetchOptions<T extends JsonObject = SlotContent> = DynamicContentOptions<T> | StaticContentOptions<T>;
|
|
24
|
+
export declare function fetchContent<I extends VersionedSlotId, C extends JsonObject>(slotId: I, options?: FetchOptions<SlotContent<I, C>>): Promise<Omit<FetchResponse<I, C>, 'payload'>>;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchContent = void 0;
|
|
4
|
+
const contentFetcher_1 = require("@croct/sdk/contentFetcher");
|
|
5
|
+
const error_1 = require("@croct/sdk/error");
|
|
6
|
+
function fetchContent(slotId, options) {
|
|
7
|
+
const { apiKey, appId, fallback, baseEndpointUrl, logger, ...fetchOptions } = options !== null && options !== void 0 ? options : {};
|
|
8
|
+
const auth = { appId: appId, apiKey: apiKey };
|
|
9
|
+
const [id, version = 'latest'] = slotId.split('@');
|
|
10
|
+
const promise = (new contentFetcher_1.ContentFetcher({ ...auth, baseEndpointUrl: baseEndpointUrl }))
|
|
11
|
+
.fetch(id, version === 'latest'
|
|
12
|
+
? fetchOptions
|
|
13
|
+
: { ...fetchOptions, version: version });
|
|
14
|
+
if (fallback !== undefined) {
|
|
15
|
+
return promise.catch(error => {
|
|
16
|
+
if (logger !== undefined) {
|
|
17
|
+
logger.error(`Failed to fetch content for slot "${id}@${version}": ${(0, error_1.formatCause)(error)}`);
|
|
18
|
+
}
|
|
19
|
+
return { content: fallback };
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return promise;
|
|
23
|
+
}
|
|
24
|
+
exports.fetchContent = fetchContent;
|
|
25
|
+
//# sourceMappingURL=fetchContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchContent.js","sourceRoot":"","sources":["../src/api/fetchContent.ts"],"names":[],"mappings":";;;AAAA,8DAImC;AAGnC,4CAA6C;AA+B7C,SAAgB,YAAY,CACxB,MAAS,EACT,OAAyC;IAEzC,MAAM,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,YAAY,EAAC,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAC1F,MAAM,IAAI,GAAG,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAA4C,CAAC;IAE9F,MAAM,OAAO,GAAG,CAAC,IAAI,+BAAc,CAAC,EAAC,GAAG,IAAI,EAAE,eAAe,EAAE,eAAe,EAAC,CAAC,CAAC;SAC5E,KAAK,CACF,EAAE,EACF,OAAO,KAAK,QAAQ;QAChB,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,EAAC,GAAG,YAAY,EAAE,OAAO,EAAE,OAAO,EAAC,CAC5C,CAAC;IAEN,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,KAAK,CAChB,KAAK,CAAC,EAAE;YACJ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,IAAI,OAAO,MAAM,IAAA,mBAAW,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/F,CAAC;YAED,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC;QAC/B,CAAC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AA7BD,oCA6BC"}
|
package/api/index.d.ts
ADDED
package/api/index.js
ADDED
package/api/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/api/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,yDAA+B"}
|
package/constants.d.ts
CHANGED
|
@@ -2,4 +2,4 @@ export declare const CDN_URL = "https://cdn.croct.io/js/v1/lib/plug.js";
|
|
|
2
2
|
export declare const PLAYGROUND_ORIGIN = "https://play.croct.com";
|
|
3
3
|
export declare const PLAYGROUND_CONNECT_URL = "https://play.croct.com/connect.html";
|
|
4
4
|
export declare const PREVIEW_WIDGET_ORIGIN = "https://cdn.croct.io";
|
|
5
|
-
export declare const PREVIEW_WIDGET_URL = "https://cdn.croct.io/js/v1/lib/plug/widget-0.
|
|
5
|
+
export declare const PREVIEW_WIDGET_URL = "https://cdn.croct.io/js/v1/lib/plug/widget-0.14.0.html";
|
package/constants.js
CHANGED
|
@@ -5,5 +5,5 @@ exports.CDN_URL = 'https://cdn.croct.io/js/v1/lib/plug.js';
|
|
|
5
5
|
exports.PLAYGROUND_ORIGIN = 'https://play.croct.com';
|
|
6
6
|
exports.PLAYGROUND_CONNECT_URL = 'https://play.croct.com/connect.html';
|
|
7
7
|
exports.PREVIEW_WIDGET_ORIGIN = 'https://cdn.croct.io';
|
|
8
|
-
exports.PREVIEW_WIDGET_URL = 'https://cdn.croct.io/js/v1/lib/plug/widget-0.
|
|
8
|
+
exports.PREVIEW_WIDGET_URL = 'https://cdn.croct.io/js/v1/lib/plug/widget-0.14.0.html';
|
|
9
9
|
//# sourceMappingURL=constants.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@croct/plug",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "A fully-featured devkit for building natively personalized applications.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -34,25 +34,25 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@croct/json": "^2.0.1",
|
|
37
|
-
"@croct/sdk": "^0.
|
|
37
|
+
"@croct/sdk": "^0.15.2",
|
|
38
38
|
"tslib": "^2.2.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@croct/eslint-plugin": "^0.
|
|
41
|
+
"@croct/eslint-plugin": "^0.7.0",
|
|
42
42
|
"@rollup/plugin-commonjs": "^25.0.0",
|
|
43
43
|
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
44
44
|
"@rollup/plugin-replace": "^5.0.1",
|
|
45
45
|
"@rollup/plugin-terser": "^0.4.0",
|
|
46
46
|
"@rollup/plugin-typescript": "^11.0.0",
|
|
47
47
|
"@types/jest": "^29.2.2",
|
|
48
|
-
"@typescript-eslint/parser": "^
|
|
48
|
+
"@typescript-eslint/parser": "^7.0.0",
|
|
49
49
|
"eslint": "^8.27.0",
|
|
50
50
|
"jest": "^29.3.1",
|
|
51
51
|
"jest-environment-jsdom": "^29.3.1",
|
|
52
52
|
"rollup": "^3.3.0",
|
|
53
53
|
"ts-jest": "^29.0.3",
|
|
54
54
|
"ts-node": "^10.9.1",
|
|
55
|
-
"typescript": "^
|
|
55
|
+
"typescript": "^5.0.0"
|
|
56
56
|
},
|
|
57
57
|
"browserslist": [
|
|
58
58
|
"last 1 version"
|
package/playground.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playground.js","sourceRoot":"","sources":["src/playground.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAE7C,uEAAoF;AAGpF,2CAAsE;AAItE,MAAM,oBAAoB,GAAG,SAAS,CAAC;AA6BvC,MAAa,gBAAgB;IAuBzB,YAAmB,aAA4B;QAC3C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IACvC,CAAC;IAEM,MAAM;QACT,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEhD,IAAI,YAAY,KAAK,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"playground.js","sourceRoot":"","sources":["src/playground.ts"],"names":[],"mappings":"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"}
|
package/plug.d.ts
CHANGED
|
@@ -72,7 +72,7 @@ export declare class GlobalPlug implements Plug {
|
|
|
72
72
|
setToken(token: string): void;
|
|
73
73
|
unsetToken(): void;
|
|
74
74
|
track<T extends ExternalEventType>(type: T, payload: ExternalEventPayload<T>): Promise<ExternalEvent<T>>;
|
|
75
|
-
evaluate<T extends JsonValue>(
|
|
75
|
+
evaluate<T extends JsonValue>(query: string, options?: EvaluationOptions): Promise<T>;
|
|
76
76
|
test(expression: string, options?: EvaluationOptions): Promise<boolean>;
|
|
77
77
|
get fetch(): Plug['fetch'];
|
|
78
78
|
unplug(): Promise<void>;
|
package/plug.js
CHANGED
|
@@ -198,10 +198,16 @@ class GlobalPlug {
|
|
|
198
198
|
.tracker
|
|
199
199
|
.track(type, payload);
|
|
200
200
|
}
|
|
201
|
-
evaluate(
|
|
201
|
+
evaluate(query, options = {}) {
|
|
202
202
|
return this.sdk
|
|
203
203
|
.evaluator
|
|
204
|
-
.evaluate(
|
|
204
|
+
.evaluate(query, options)
|
|
205
|
+
.catch(error => {
|
|
206
|
+
const logger = this.sdk.getLogger();
|
|
207
|
+
const reference = query.length > 20 ? `${query.slice(0, 20)}...` : query;
|
|
208
|
+
logger.error(`Failed to evaluate query "${reference}": ${(0, error_1.formatCause)(error)}`);
|
|
209
|
+
throw error;
|
|
210
|
+
});
|
|
205
211
|
}
|
|
206
212
|
test(expression, options = {}) {
|
|
207
213
|
return this.evaluate(expression, options)
|
|
@@ -221,7 +227,11 @@ class GlobalPlug {
|
|
|
221
227
|
return response.content;
|
|
222
228
|
},
|
|
223
229
|
content: response.content,
|
|
224
|
-
}))
|
|
230
|
+
}))
|
|
231
|
+
.catch(error => {
|
|
232
|
+
logger.error(`Failed to fetch content for slot "${id}@${version}": ${(0, error_1.formatCause)(error)}`);
|
|
233
|
+
throw error;
|
|
234
|
+
});
|
|
225
235
|
});
|
|
226
236
|
}
|
|
227
237
|
async unplug() {
|
package/plug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plug.js","sourceRoot":"","sources":["src/plug.ts"],"names":[],"mappings":";;;AAKA,2DAA+F;AAC/F,4CAA6C;AAC7C,sDAA+C;AAE/C,4CAAuC;AAMvC,oCAAmC;AAGnC,2CAAoC;AACpC,6CAAgE;AAChE,uCAA0D;AA+D1D,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAElC,SAAS,WAAW;IAChB,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,mBAAO,IAAI,CAAC,CAAC;IAE1E,IAAI,CAAC,CAAC,MAAM,YAAY,iBAAiB,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"plug.js","sourceRoot":"","sources":["src/plug.ts"],"names":[],"mappings":"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"}
|
package/preview.js
CHANGED
|
@@ -147,10 +147,12 @@ class PreviewPlugin {
|
|
|
147
147
|
}
|
|
148
148
|
exports.PreviewPlugin = PreviewPlugin;
|
|
149
149
|
PreviewPlugin.PREVIEW_PARAMS = {
|
|
150
|
+
previewMode: 'previewMode',
|
|
150
151
|
experienceName: 'experience',
|
|
151
152
|
experimentName: 'experiment',
|
|
152
153
|
audienceName: 'audience',
|
|
153
154
|
variantName: 'variant',
|
|
155
|
+
locale: 'locale',
|
|
154
156
|
};
|
|
155
157
|
const factory = (props) => {
|
|
156
158
|
const { sdk } = props;
|
package/preview.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["src/preview.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAG7C,uCAA8C;AAC9C,2CAAsE;AAEtE,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAC1C,MAAM,YAAY,GAAG,MAAM,CAAC;AAO5B,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["src/preview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import {Evaluator, EvaluationOptions as BaseOptions} from '@croct/sdk/evaluator';
|
|
2
|
+
import type {ApiKey} from '@croct/sdk/apiKey';
|
|
3
|
+
import type {Logger} from '@croct/sdk/logging';
|
|
4
|
+
import {formatCause} from '@croct/sdk/error';
|
|
5
|
+
import {JsonValue} from '../sdk/json';
|
|
6
|
+
|
|
7
|
+
export type EvaluationOptions<T extends JsonValue = JsonValue> = BaseOptions & AuthOptions & FetchingOptions<T>;
|
|
8
|
+
|
|
9
|
+
type FetchingOptions<T extends JsonValue> = {
|
|
10
|
+
baseEndpointUrl?: string,
|
|
11
|
+
fallback?: T,
|
|
12
|
+
logger?: Logger,
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
type AuthOptions = ServerSideAuthOptions | ClientSideAuthOptions;
|
|
16
|
+
|
|
17
|
+
type ServerSideAuthOptions = {
|
|
18
|
+
apiKey: string|ApiKey,
|
|
19
|
+
appId?: never,
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
type ClientSideAuthOptions = {
|
|
23
|
+
appId: string,
|
|
24
|
+
apiKey?: never,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export function evaluate<T extends JsonValue>(query: string, options: EvaluationOptions<T>): Promise<T> {
|
|
28
|
+
const {baseEndpointUrl, fallback, apiKey, appId, logger, ...evaluation} = options;
|
|
29
|
+
const auth: AuthOptions = apiKey !== undefined ? {apiKey: apiKey} : {appId: appId};
|
|
30
|
+
const promise = (new Evaluator({...auth, baseEndpointUrl: baseEndpointUrl}))
|
|
31
|
+
.evaluate(query, evaluation) as Promise<T>;
|
|
32
|
+
|
|
33
|
+
if (fallback !== undefined) {
|
|
34
|
+
return promise.catch(
|
|
35
|
+
error => {
|
|
36
|
+
if (logger !== undefined) {
|
|
37
|
+
const reference = query.length > 20
|
|
38
|
+
? `${query.slice(0, 20)}...`
|
|
39
|
+
: query;
|
|
40
|
+
|
|
41
|
+
logger.error(`Failed to evaluate query "${reference}": ${formatCause(error)}`);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return fallback;
|
|
45
|
+
},
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return promise;
|
|
50
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ContentFetcher,
|
|
3
|
+
DynamicContentOptions as BaseDynamicOptions,
|
|
4
|
+
StaticContentOptions as BaseStaticOptions,
|
|
5
|
+
} from '@croct/sdk/contentFetcher';
|
|
6
|
+
import type {ApiKey} from '@croct/sdk/apiKey';
|
|
7
|
+
import type {Logger} from '@croct/sdk/logging';
|
|
8
|
+
import {formatCause} from '@croct/sdk/error';
|
|
9
|
+
import {JsonObject, JsonValue} from '../sdk/json';
|
|
10
|
+
import {FetchResponse} from '../plug';
|
|
11
|
+
import {SlotContent, VersionedSlotId} from '../slot';
|
|
12
|
+
|
|
13
|
+
type FetchingOptions<T extends JsonValue> = {
|
|
14
|
+
baseEndpointUrl?: string,
|
|
15
|
+
fallback?: T,
|
|
16
|
+
logger?: Logger,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
type AuthOptions = ServerSideAuthOptions | ClientSideAuthOptions;
|
|
20
|
+
|
|
21
|
+
type ServerSideAuthOptions = {
|
|
22
|
+
apiKey: string|ApiKey,
|
|
23
|
+
appId?: never,
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
type ClientSideAuthOptions = {
|
|
27
|
+
appId: string,
|
|
28
|
+
apiKey?: never,
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type DynamicContentOptions<T extends JsonObject = JsonObject> =
|
|
32
|
+
Omit<BaseDynamicOptions, 'version'> & FetchingOptions<T> & AuthOptions;
|
|
33
|
+
|
|
34
|
+
export type StaticContentOptions<T extends JsonObject = JsonObject> =
|
|
35
|
+
Omit<BaseStaticOptions, 'version'> & FetchingOptions<T> & ServerSideAuthOptions;
|
|
36
|
+
|
|
37
|
+
export type FetchOptions<T extends JsonObject = SlotContent> = DynamicContentOptions<T> | StaticContentOptions<T>;
|
|
38
|
+
|
|
39
|
+
export function fetchContent<I extends VersionedSlotId, C extends JsonObject>(
|
|
40
|
+
slotId: I,
|
|
41
|
+
options?: FetchOptions<SlotContent<I, C>>,
|
|
42
|
+
): Promise<Omit<FetchResponse<I, C>, 'payload'>> {
|
|
43
|
+
const {apiKey, appId, fallback, baseEndpointUrl, logger, ...fetchOptions} = options ?? {};
|
|
44
|
+
const auth = {appId: appId, apiKey: apiKey};
|
|
45
|
+
const [id, version = 'latest'] = slotId.split('@') as [I, `${number}` | 'latest' | undefined];
|
|
46
|
+
|
|
47
|
+
const promise = (new ContentFetcher({...auth, baseEndpointUrl: baseEndpointUrl}))
|
|
48
|
+
.fetch<SlotContent<I, C>>(
|
|
49
|
+
id,
|
|
50
|
+
version === 'latest'
|
|
51
|
+
? fetchOptions
|
|
52
|
+
: {...fetchOptions, version: version},
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
if (fallback !== undefined) {
|
|
56
|
+
return promise.catch(
|
|
57
|
+
error => {
|
|
58
|
+
if (logger !== undefined) {
|
|
59
|
+
logger.error(`Failed to fetch content for slot "${id}@${version}": ${formatCause(error)}`);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return {content: fallback};
|
|
63
|
+
},
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return promise;
|
|
68
|
+
}
|
package/src/api/index.ts
ADDED
package/src/plug.ts
CHANGED
|
@@ -355,10 +355,18 @@ export class GlobalPlug implements Plug {
|
|
|
355
355
|
.track(type, payload);
|
|
356
356
|
}
|
|
357
357
|
|
|
358
|
-
public evaluate<T extends JsonValue>(
|
|
358
|
+
public evaluate<T extends JsonValue>(query: string, options: EvaluationOptions = {}): Promise<T> {
|
|
359
359
|
return this.sdk
|
|
360
360
|
.evaluator
|
|
361
|
-
.evaluate(
|
|
361
|
+
.evaluate(query, options)
|
|
362
|
+
.catch(error => {
|
|
363
|
+
const logger = this.sdk.getLogger();
|
|
364
|
+
const reference = query.length > 20 ? `${query.slice(0, 20)}...` : query;
|
|
365
|
+
|
|
366
|
+
logger.error(`Failed to evaluate query "${reference}": ${formatCause(error)}`);
|
|
367
|
+
|
|
368
|
+
throw error;
|
|
369
|
+
}) as Promise<T>;
|
|
362
370
|
}
|
|
363
371
|
|
|
364
372
|
public test(expression: string, options: EvaluationOptions = {}): Promise<boolean> {
|
|
@@ -391,7 +399,12 @@ export class GlobalPlug implements Plug {
|
|
|
391
399
|
},
|
|
392
400
|
content: response.content,
|
|
393
401
|
}),
|
|
394
|
-
)
|
|
402
|
+
)
|
|
403
|
+
.catch(error => {
|
|
404
|
+
logger.error(`Failed to fetch content for slot "${id}@${version}": ${formatCause(error)}`);
|
|
405
|
+
|
|
406
|
+
throw error;
|
|
407
|
+
});
|
|
395
408
|
},
|
|
396
409
|
);
|
|
397
410
|
}
|
package/src/preview.ts
CHANGED
|
@@ -14,10 +14,12 @@ export type Configuration = {
|
|
|
14
14
|
|
|
15
15
|
export class PreviewPlugin implements Plugin {
|
|
16
16
|
private static readonly PREVIEW_PARAMS = {
|
|
17
|
+
previewMode: 'previewMode',
|
|
17
18
|
experienceName: 'experience',
|
|
18
19
|
experimentName: 'experiment',
|
|
19
20
|
audienceName: 'audience',
|
|
20
21
|
variantName: 'variant',
|
|
22
|
+
locale: 'locale',
|
|
21
23
|
};
|
|
22
24
|
|
|
23
25
|
private readonly tokenStore: TokenStore;
|
|
@@ -69,7 +71,7 @@ export class PreviewPlugin implements Plugin {
|
|
|
69
71
|
}
|
|
70
72
|
|
|
71
73
|
try {
|
|
72
|
-
let token: Token|null = Token.parse(data);
|
|
74
|
+
let token: Token | null = Token.parse(data);
|
|
73
75
|
const {exp} = token.getPayload();
|
|
74
76
|
|
|
75
77
|
if (exp !== undefined && exp <= Date.now() / 1000) {
|