@croct/plug 0.13.4 → 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.
@@ -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 {};
@@ -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
@@ -0,0 +1,2 @@
1
+ export * from './evaluate';
2
+ export * from './fetchContent';
package/api/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./evaluate"), exports);
5
+ tslib_1.__exportStar(require("./fetchContent"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -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.13.4.html";
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.13.4.html';
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.13.4",
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,7 +34,7 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@croct/json": "^2.0.1",
37
- "@croct/sdk": "^0.14.0",
37
+ "@croct/sdk": "^0.15.2",
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": "^6.0.0",
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>(expression: string, options?: EvaluationOptions): Promise<T>;
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(expression, options = {}) {
201
+ evaluate(query, options = {}) {
202
202
  return this.sdk
203
203
  .evaluator
204
- .evaluate(expression, options);
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
+ }
@@ -0,0 +1,2 @@
1
+ export * from './evaluate';
2
+ export * from './fetchContent';
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>(expression: string, options: EvaluationOptions = {}): Promise<T> {
358
+ public evaluate<T extends JsonValue>(query: string, options: EvaluationOptions = {}): Promise<T> {
359
359
  return this.sdk
360
360
  .evaluator
361
- .evaluate(expression, options) as Promise<T>;
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
  }