@croct/plug 0.13.4 → 0.14.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/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 +3 -3
- package/plug.d.ts +1 -1
- package/plug.js +13 -3
- package/plug.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
|
@@ -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.1.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.1.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.1",
|
|
4
4
|
"description": "A fully-featured devkit for building natively personalized applications.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@croct/json": "^2.0.1",
|
|
37
|
-
"@croct/sdk": "^0.
|
|
37
|
+
"@croct/sdk": "^0.16.0",
|
|
38
38
|
"tslib": "^2.2.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
@@ -45,7 +45,7 @@
|
|
|
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",
|
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":"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
|
|
1
|
+
{"version":3,"file":"plug.js","sourceRoot":"","sources":["src/plug.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
|
}
|