@frankieone/one-sdk 0.6.6-rc.7 → 0.7.0-alpha
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/dist/commit.txt +2 -2
- package/dist/esm/modules/biometrics/{types/events.d.ts → events.d.ts} +2 -2
- package/dist/esm/modules/biometrics/events.js.map +1 -0
- package/dist/esm/modules/biometrics/index.d.ts +12 -3
- package/dist/esm/modules/biometrics/index.js +58 -75
- package/dist/esm/modules/biometrics/index.js.map +1 -1
- package/dist/esm/modules/biometrics/parseConfiguration.d.ts +2 -4
- package/dist/esm/modules/biometrics/parseConfiguration.js +0 -1
- package/dist/esm/modules/biometrics/parseConfiguration.js.map +1 -1
- package/dist/esm/modules/biometrics/vendors/OcrLabs/Liveness.js.map +1 -0
- package/dist/esm/modules/biometrics/vendors/OcrLabs/index.d.ts +4 -0
- package/dist/esm/modules/biometrics/{wrappers → vendors}/OcrLabs/index.js +15 -20
- package/dist/esm/modules/biometrics/vendors/OcrLabs/index.js.map +1 -0
- package/dist/esm/modules/biometrics/vendors/OcrLabs/nolint_liveness-v3.1.1.min.umd.js.map +1 -0
- package/dist/esm/modules/biometrics/vendors/dummy-biometrics/green-tick-svg.js.map +1 -0
- package/dist/esm/modules/biometrics/vendors/dummy-biometrics/index.d.ts +3 -0
- package/dist/esm/modules/biometrics/{wrappers → vendors}/dummy-biometrics/index.js +10 -16
- package/dist/esm/modules/biometrics/vendors/dummy-biometrics/index.js.map +1 -0
- package/dist/esm/modules/common/index.d.ts +4 -3
- package/dist/esm/modules/common/index.js +4 -3
- package/dist/esm/modules/common/index.js.map +1 -1
- package/dist/esm/modules/common/modules/HOF.d.ts +7 -18
- package/dist/esm/modules/common/modules/HOF.js +26 -9
- package/dist/esm/modules/common/modules/HOF.js.map +1 -1
- package/dist/esm/modules/common/modules/eventHub.d.ts +2 -2
- package/dist/esm/modules/common/modules/vendorLoading.d.ts +69 -45
- package/dist/esm/modules/common/modules/vendorLoading.js +134 -67
- package/dist/esm/modules/common/modules/vendorLoading.js.map +1 -1
- package/dist/esm/modules/common/types/Accessors.d.ts +3 -3
- package/dist/esm/modules/common/types/RecipeConfiguration.js +2 -0
- package/dist/esm/modules/common/types/RecipeConfiguration.js.map +1 -0
- package/dist/esm/modules/configuration.d.ts +18 -0
- package/dist/esm/modules/configuration.js +16 -0
- package/dist/esm/modules/configuration.js.map +1 -0
- package/dist/esm/modules/device/constants.d.ts +1 -1
- package/dist/esm/modules/device/constants.js +8 -1
- package/dist/esm/modules/device/constants.js.map +1 -1
- package/dist/esm/modules/device/{types/events.d.ts → events.d.ts} +3 -4
- package/dist/esm/modules/device/events.js.map +1 -0
- package/dist/esm/modules/device/index.d.ts +22 -3
- package/dist/esm/modules/device/index.js +64 -84
- package/dist/esm/modules/device/index.js.map +1 -1
- package/dist/esm/modules/device/parseConfiguration.d.ts +2 -5
- package/dist/esm/modules/device/parseConfiguration.js +3 -4
- package/dist/esm/modules/device/parseConfiguration.js.map +1 -1
- package/dist/esm/modules/device/vendors/Sardine.d.ts +3 -2
- package/dist/esm/modules/device/vendors/Sardine.js +36 -34
- package/dist/esm/modules/device/vendors/Sardine.js.map +1 -1
- package/dist/esm/modules/device/vendors/Threatmetrix/index.d.ts +3 -2
- package/dist/esm/modules/device/vendors/Threatmetrix/index.js +18 -30
- package/dist/esm/modules/device/vendors/Threatmetrix/index.js.map +1 -1
- package/dist/esm/modules/federation/events.js.map +1 -0
- package/dist/esm/modules/federation/index.d.ts +12 -3
- package/dist/esm/modules/federation/index.js +46 -65
- package/dist/esm/modules/federation/index.js.map +1 -1
- package/dist/esm/modules/federation/parseConfiguration.d.ts +2 -2
- package/dist/esm/modules/federation/parseConfiguration.js +9 -9
- package/dist/esm/modules/federation/parseConfiguration.js.map +1 -1
- package/dist/esm/modules/federation/vendors/Singpass.d.ts +4 -3
- package/dist/esm/modules/federation/vendors/Singpass.js +16 -23
- package/dist/esm/modules/federation/vendors/Singpass.js.map +1 -1
- package/dist/esm/modules/frankie-client/index.d.ts +2 -2
- package/dist/esm/modules/frankie-client/index.js +8 -4
- package/dist/esm/modules/frankie-client/index.js.map +1 -1
- package/dist/esm/modules/index.d.ts +8 -3
- package/dist/esm/modules/index.js +19 -1
- package/dist/esm/modules/index.js.map +1 -1
- package/dist/esm/modules/individual/actions/documents.d.ts +1 -1
- package/dist/esm/modules/individual/actions/emitEvents.d.ts +1 -1
- package/dist/esm/modules/individual/actions/search.d.ts +1 -1
- package/dist/esm/modules/individual/actions/search.js.map +1 -1
- package/dist/esm/modules/individual/actions/submit.d.ts +2 -2
- package/dist/esm/modules/individual/actions/submit.js.map +1 -1
- package/dist/esm/modules/individual/{types/events.d.ts → events.d.ts} +1 -1
- package/dist/esm/modules/individual/events.js.map +1 -0
- package/dist/esm/modules/individual/index.d.ts +29 -2
- package/dist/esm/modules/individual/index.js +66 -67
- package/dist/esm/modules/individual/index.js.map +1 -1
- package/dist/esm/modules/meta.json +1 -1
- package/dist/esm/modules/ocr/actions/start.d.ts +2 -2
- package/dist/esm/modules/ocr/{types/events.d.ts → events.d.ts} +2 -2
- package/dist/esm/modules/ocr/events.js.map +1 -0
- package/dist/esm/modules/ocr/index.d.ts +29 -8
- package/dist/esm/modules/ocr/index.js +45 -52
- package/dist/esm/modules/ocr/index.js.map +1 -1
- package/dist/esm/modules/sdk/index.d.ts +1 -1
- package/dist/esm/modules/sdk/index.js +11 -11
- package/dist/esm/modules/sdk/index.js.map +1 -1
- package/dist/esm/modules/sdk/initialisation/componentLoader.d.ts +1 -1
- package/dist/esm/modules/sdk/initialisation/componentLoader.js +24 -10
- package/dist/esm/modules/sdk/initialisation/componentLoader.js.map +1 -1
- package/dist/esm/modules/sdk/initialisation/configurationParser.d.ts +9 -10
- package/dist/esm/modules/sdk/initialisation/configurationParser.js +39 -20
- package/dist/esm/modules/sdk/initialisation/configurationParser.js.map +1 -1
- package/dist/esm/modules/sdk/initialisation/sharedDependencies.d.ts +2 -3
- package/dist/esm/modules/sdk/initialisation/sharedDependencies.js +6 -4
- package/dist/esm/modules/sdk/initialisation/sharedDependencies.js.map +1 -1
- package/dist/esm/modules/sdk/types/{events.d.ts → globalEvents.d.ts} +2 -2
- package/dist/esm/modules/sdk/types/globalEvents.js +2 -0
- package/dist/esm/modules/sdk/types/globalEvents.js.map +1 -0
- package/dist/esm/modules/sdk/types/index.d.ts +5 -4
- package/dist/esm/modules/sdk/types/index.js +5 -4
- package/dist/esm/modules/sdk/types/index.js.map +1 -1
- package/dist/esm/modules/sdk/types/oneSDK.d.ts +13 -0
- package/dist/esm/modules/sdk/types/oneSDK.js +2 -0
- package/dist/esm/modules/sdk/types/oneSDK.js.map +1 -0
- package/dist/esm/modules/sdk/types/oneSDKModules.d.ts +82 -0
- package/dist/esm/modules/sdk/types/oneSDKModules.js +2 -0
- package/dist/esm/modules/sdk/types/oneSDKModules.js.map +1 -0
- package/dist/esm/modules/sdk/types/{configuration.d.ts → oneSDKParameters.d.ts} +6 -20
- package/dist/esm/modules/sdk/types/oneSDKParameters.js +8 -0
- package/dist/esm/modules/sdk/types/oneSDKParameters.js.map +1 -0
- package/dist/esm/modules/sdk/types/oneSDKVendorWrappers.d.ts +11 -0
- package/dist/esm/modules/sdk/types/oneSDKVendorWrappers.js +2 -0
- package/dist/esm/modules/sdk/types/oneSDKVendorWrappers.js.map +1 -0
- package/dist/esm/modules/session/SessionContext.d.ts +4 -1
- package/dist/esm/modules/session/SessionContext.js +6 -0
- package/dist/esm/modules/session/SessionContext.js.map +1 -1
- package/dist/esm/modules/session/index.d.ts +4 -5
- package/dist/esm/modules/session/index.js +21 -23
- package/dist/esm/modules/session/index.js.map +1 -1
- package/dist/esm/types/Primitives.d.ts +9 -1
- package/dist/esm/types/Utilities.d.ts +12 -0
- package/dist/release.txt +2 -2
- package/dist/umd/biometrics-dummy.js +1 -1
- package/dist/umd/biometrics-dummy.js.map +1 -1
- package/dist/umd/biometrics-ocrlabs.js +1 -1
- package/dist/umd/biometrics-ocrlabs.js.map +1 -1
- package/dist/umd/device-sardine.js +1 -1
- package/dist/umd/device-sardine.js.map +1 -1
- package/dist/umd/device-threatmetrix.js +1 -1
- package/dist/umd/device-threatmetrix.js.map +1 -1
- package/dist/umd/oneSdk.umd.js +1 -1
- package/dist/umd/oneSdk.umd.js.map +1 -1
- package/dist/version.txt +2 -2
- package/package.json +147 -147
- package/dist/esm/modules/biometrics/types/events.js.map +0 -1
- package/dist/esm/modules/biometrics/types/index.d.ts +0 -3
- package/dist/esm/modules/biometrics/types/index.js +0 -4
- package/dist/esm/modules/biometrics/types/index.js.map +0 -1
- package/dist/esm/modules/biometrics/types/module.d.ts +0 -8
- package/dist/esm/modules/biometrics/types/module.js +0 -2
- package/dist/esm/modules/biometrics/types/module.js.map +0 -1
- package/dist/esm/modules/biometrics/types/wrapper.d.ts +0 -19
- package/dist/esm/modules/biometrics/types/wrapper.js +0 -2
- package/dist/esm/modules/biometrics/types/wrapper.js.map +0 -1
- package/dist/esm/modules/biometrics/wrappers/OcrLabs/Liveness.js.map +0 -1
- package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.d.ts +0 -3
- package/dist/esm/modules/biometrics/wrappers/OcrLabs/index.js.map +0 -1
- package/dist/esm/modules/biometrics/wrappers/OcrLabs/nolint_liveness-v3.1.1.min.umd.js.map +0 -1
- package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/green-tick-svg.js.map +0 -1
- package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/index.d.ts +0 -2
- package/dist/esm/modules/biometrics/wrappers/dummy-biometrics/index.js.map +0 -1
- package/dist/esm/modules/common/constants.d.ts +0 -8
- package/dist/esm/modules/common/constants.js +0 -11
- package/dist/esm/modules/common/constants.js.map +0 -1
- package/dist/esm/modules/common/types/Configuration.js +0 -2
- package/dist/esm/modules/common/types/Configuration.js.map +0 -1
- package/dist/esm/modules/device/types/events.js.map +0 -1
- package/dist/esm/modules/device/types/index.d.ts +0 -3
- package/dist/esm/modules/device/types/index.js +0 -4
- package/dist/esm/modules/device/types/index.js.map +0 -1
- package/dist/esm/modules/device/types/module.d.ts +0 -13
- package/dist/esm/modules/device/types/module.js +0 -2
- package/dist/esm/modules/device/types/module.js.map +0 -1
- package/dist/esm/modules/device/types/wrapper.d.ts +0 -34
- package/dist/esm/modules/device/types/wrapper.js +0 -2
- package/dist/esm/modules/device/types/wrapper.js.map +0 -1
- package/dist/esm/modules/federation/types/events.js.map +0 -1
- package/dist/esm/modules/federation/types/module.d.ts +0 -8
- package/dist/esm/modules/federation/types/module.js +0 -2
- package/dist/esm/modules/federation/types/module.js.map +0 -1
- package/dist/esm/modules/federation/types/wrapper.d.ts +0 -18
- package/dist/esm/modules/federation/types/wrapper.js +0 -2
- package/dist/esm/modules/federation/types/wrapper.js.map +0 -1
- package/dist/esm/modules/individual/types/events.js.map +0 -1
- package/dist/esm/modules/individual/types/index.d.ts +0 -2
- package/dist/esm/modules/individual/types/index.js +0 -3
- package/dist/esm/modules/individual/types/index.js.map +0 -1
- package/dist/esm/modules/individual/types/module.d.ts +0 -31
- package/dist/esm/modules/individual/types/module.js +0 -2
- package/dist/esm/modules/individual/types/module.js.map +0 -1
- package/dist/esm/modules/ocr/types/events.js.map +0 -1
- package/dist/esm/modules/ocr/types/index.d.ts +0 -2
- package/dist/esm/modules/ocr/types/index.js +0 -3
- package/dist/esm/modules/ocr/types/index.js.map +0 -1
- package/dist/esm/modules/ocr/types/module.d.ts +0 -26
- package/dist/esm/modules/ocr/types/module.js +0 -2
- package/dist/esm/modules/ocr/types/module.js.map +0 -1
- package/dist/esm/modules/sdk/types/components.d.ts +0 -25
- package/dist/esm/modules/sdk/types/components.js +0 -2
- package/dist/esm/modules/sdk/types/components.js.map +0 -1
- package/dist/esm/modules/sdk/types/configuration.js +0 -38
- package/dist/esm/modules/sdk/types/configuration.js.map +0 -1
- package/dist/esm/modules/sdk/types/events.js +0 -2
- package/dist/esm/modules/sdk/types/events.js.map +0 -1
- package/dist/esm/modules/sdk/types/module.d.ts +0 -16
- package/dist/esm/modules/sdk/types/module.js +0 -2
- package/dist/esm/modules/sdk/types/module.js.map +0 -1
- /package/dist/esm/modules/biometrics/{types/events.js → events.js} +0 -0
- /package/dist/esm/modules/biometrics/{wrappers → vendors}/OcrLabs/Liveness.d.ts +0 -0
- /package/dist/esm/modules/biometrics/{wrappers → vendors}/OcrLabs/Liveness.js +0 -0
- /package/dist/esm/modules/biometrics/{wrappers → vendors}/OcrLabs/nolint_liveness-v3.1.1.min.umd.js +0 -0
- /package/dist/esm/modules/biometrics/{wrappers → vendors}/dummy-biometrics/green-tick-svg.d.ts +0 -0
- /package/dist/esm/modules/biometrics/{wrappers → vendors}/dummy-biometrics/green-tick-svg.js +0 -0
- /package/dist/esm/modules/common/types/{Configuration.d.ts → RecipeConfiguration.d.ts} +0 -0
- /package/dist/esm/modules/device/{types/events.js → events.js} +0 -0
- /package/dist/esm/modules/federation/{types/events.d.ts → events.d.ts} +0 -0
- /package/dist/esm/modules/federation/{types/events.js → events.js} +0 -0
- /package/dist/esm/modules/individual/{types/events.js → events.js} +0 -0
- /package/dist/esm/modules/ocr/{types/events.js → events.js} +0 -0
|
@@ -18,22 +18,21 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
18
18
|
}
|
|
19
19
|
return t;
|
|
20
20
|
};
|
|
21
|
-
import {
|
|
21
|
+
import { OneSDKError, merge } from "../../common";
|
|
22
22
|
import { ConfigurationClient } from "../../frankie-client/clients/ConfigurationClient";
|
|
23
|
-
import { SdkModes } from "../types";
|
|
23
|
+
import { SdkModes, } from "../types";
|
|
24
24
|
/**
|
|
25
25
|
*
|
|
26
26
|
* Parses parameters passed to OneSDK constructor and returns a dictionary of sharedState variables and a list of warnings to be emitted as global events by the top level constructor
|
|
27
|
-
* @param
|
|
27
|
+
* @param rootParameters All the parameters passed to the OneSDK constructor
|
|
28
28
|
* @returns { sharedState: Dictionary, warnings: { level: "info"|"warnings"|"error", message: string, payload: unknown }[] }
|
|
29
29
|
*/
|
|
30
|
-
export function parseConfiguration(
|
|
30
|
+
export function parseConfiguration(rootParameters, sharedDependencies) {
|
|
31
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
32
|
const { frankieClient, globalEventHub } = sharedDependencies;
|
|
33
33
|
// Resolve final recipe name based on optionally provided recipe object
|
|
34
34
|
const warnings = [];
|
|
35
|
-
const recipe = resolveRecipeValue(
|
|
36
|
-
const { mode, modeName } = resolveMode(oneSdkOptions);
|
|
35
|
+
const recipe = resolveRecipeValue(rootParameters.recipe);
|
|
37
36
|
// use frankie client to fetch existing recipe configuration from API
|
|
38
37
|
const fetchedRecipeConfiguration = yield fetchRecipeConfig({ frankieClient, globalEventHub, recipe }, warnings);
|
|
39
38
|
// And merge it with provided config
|
|
@@ -44,8 +43,8 @@ export function parseConfiguration(oneSdkOptions, sharedDependencies) {
|
|
|
44
43
|
// This gives the modules all capabilities that users also have when accessing the one sdk instance directly
|
|
45
44
|
// We can then from inside the modules provide an extra layer of abstraction and some level of "reflexion" to simplify different use cases.
|
|
46
45
|
const sharedState = {
|
|
47
|
-
mode,
|
|
48
|
-
telemetry: includeTelemetry(
|
|
46
|
+
mode: rootParameters.mode,
|
|
47
|
+
telemetry: includeTelemetry(rootParameters),
|
|
49
48
|
recipe: mergedRecipeConfiguration,
|
|
50
49
|
frankieClient: sharedDependencies.frankieClient,
|
|
51
50
|
globalEventHub: sharedDependencies.globalEventHub,
|
|
@@ -54,22 +53,42 @@ export function parseConfiguration(oneSdkOptions, sharedDependencies) {
|
|
|
54
53
|
return { sharedState, warnings };
|
|
55
54
|
});
|
|
56
55
|
}
|
|
57
|
-
export function
|
|
58
|
-
return oneSdkOptions.telemetry === true;
|
|
59
|
-
}
|
|
60
|
-
export function resolveMode(oneSdkOptions) {
|
|
56
|
+
export function resolveParameters(oneSdkRootParameters) {
|
|
61
57
|
var _a;
|
|
62
|
-
const
|
|
63
|
-
const
|
|
64
|
-
|
|
58
|
+
const { mode: modeParameter, recipe: recipeParameter } = oneSdkRootParameters;
|
|
59
|
+
const mode = resolveModeObject(modeParameter);
|
|
60
|
+
const recipe = resolveRecipeValue(recipeParameter);
|
|
61
|
+
const session = resolveSession(oneSdkRootParameters.session);
|
|
62
|
+
const telemetry = (_a = oneSdkRootParameters.telemetry) !== null && _a !== void 0 ? _a : false;
|
|
63
|
+
return Object.assign({}, oneSdkRootParameters, {
|
|
64
|
+
mode,
|
|
65
|
+
recipe,
|
|
66
|
+
telemetry,
|
|
67
|
+
session,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
export function resolveSession(sessionParameter) {
|
|
71
|
+
var _a, _b;
|
|
72
|
+
return {
|
|
73
|
+
token: (_a = sessionParameter === null || sessionParameter === void 0 ? void 0 : sessionParameter.token) !== null && _a !== void 0 ? _a : null,
|
|
74
|
+
persist: (_b = sessionParameter === null || sessionParameter === void 0 ? void 0 : sessionParameter.persist) !== null && _b !== void 0 ? _b : false,
|
|
75
|
+
};
|
|
65
76
|
}
|
|
66
|
-
export function
|
|
77
|
+
export function resolveModeObject(modeParameter) {
|
|
78
|
+
if (!modeParameter)
|
|
79
|
+
return { modeName: SdkModes.PROD };
|
|
80
|
+
return typeof modeParameter === "string" ? { modeName: modeParameter } : modeParameter;
|
|
81
|
+
}
|
|
82
|
+
export function resolveRecipeValue(recipeParameter) {
|
|
67
83
|
var _a;
|
|
68
|
-
if (!
|
|
84
|
+
if (!recipeParameter)
|
|
69
85
|
return { name: "auto" };
|
|
70
|
-
if (typeof
|
|
71
|
-
return { name:
|
|
72
|
-
return Object.assign(Object.assign({},
|
|
86
|
+
if (typeof recipeParameter === "string")
|
|
87
|
+
return { name: recipeParameter };
|
|
88
|
+
return Object.assign(Object.assign({}, recipeParameter), { name: (_a = recipeParameter === null || recipeParameter === void 0 ? void 0 : recipeParameter.name) !== null && _a !== void 0 ? _a : "auto" });
|
|
89
|
+
}
|
|
90
|
+
export function includeTelemetry(oneSdkOptions) {
|
|
91
|
+
return oneSdkOptions.telemetry === true;
|
|
73
92
|
}
|
|
74
93
|
function mergeRecipeConfigurations(provided, fetched, warnings) {
|
|
75
94
|
// Merge configs by:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurationParser.js","sourceRoot":"","sources":["../../../../../modules/sdk/initialisation/configurationParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"configurationParser.js","sourceRoot":"","sources":["../../../../../modules/sdk/initialisation/configurationParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { EventHub } from "../../common";
|
|
2
2
|
import { FrankieApiClient } from "../../frankie-client";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export declare function mkSharedDependencies(oneSdkOptions: OneSdkRootParameters, sessionContext: SessionContext): Promise<SharedDependencies>;
|
|
3
|
+
import { GlobalEvents, ResolvedRootParameters, SharedDependencies } from "../types";
|
|
4
|
+
export declare function mkSharedDependencies(oneSdkParameters: ResolvedRootParameters): Promise<SharedDependencies>;
|
|
6
5
|
export declare function registerTelemetryEvents(globalEventHub: EventHub<GlobalEvents>, frankieClient: FrankieApiClient): void;
|
|
@@ -11,21 +11,23 @@ import { mkEventHub } from "../../common";
|
|
|
11
11
|
import { TelemetryEvent } from "../../common/shared/models/TelemetryEvent";
|
|
12
12
|
import { mkFrankieClient } from "../../frankie-client";
|
|
13
13
|
import { TelemetryEventsClient } from "../../frankie-client/clients/TelemetryEventsClient";
|
|
14
|
+
import { initialise as sessionModule } from "../../session";
|
|
14
15
|
import { version as oneSdkVersion } from "../../meta.json";
|
|
15
16
|
import { UAParser } from "ua-parser-js";
|
|
16
17
|
import { OneSDKError } from "../../common/errors/OneSDKError";
|
|
17
|
-
import {
|
|
18
|
-
export function mkSharedDependencies(
|
|
18
|
+
import { includeTelemetry } from "./configurationParser";
|
|
19
|
+
export function mkSharedDependencies(oneSdkParameters) {
|
|
19
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
21
|
// Create global event hub to be passed to all OneSdk modules
|
|
22
|
+
const { mode } = oneSdkParameters;
|
|
21
23
|
const globalEventHub = mkEventHub();
|
|
22
|
-
const
|
|
24
|
+
const sessionContext = sessionModule(oneSdkParameters);
|
|
23
25
|
// Initialise a Frankie Client object to connect with our backend APIs
|
|
24
26
|
const frankieClient = yield mkFrankieClient({ mode, session: sessionContext, globalEventHub });
|
|
25
27
|
// Use the already authenticated frankie client to register the "telemetry" events
|
|
26
28
|
// This will cause any emitted "telemetry" events anywhere in the onesdk to be registered to our backend
|
|
27
29
|
try {
|
|
28
|
-
if (includeTelemetry(
|
|
30
|
+
if (includeTelemetry(oneSdkParameters))
|
|
29
31
|
registerTelemetryEvents(globalEventHub, frankieClient);
|
|
30
32
|
}
|
|
31
33
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedDependencies.js","sourceRoot":"","sources":["../../../../../modules/sdk/initialisation/sharedDependencies.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAY,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"sharedDependencies.js","sourceRoot":"","sources":["../../../../../modules/sdk/initialisation/sharedDependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { TelemetryEvent } from "../../common/shared/models/TelemetryEvent";
|
|
2
|
-
import type { SharedState } from "
|
|
2
|
+
import type { SharedConfiguration, SharedState } from ".";
|
|
3
3
|
export declare type GlobalEvents = {
|
|
4
4
|
resolved_root_config: [Omit<SharedState, "globalEventHub" | "oneSdkInstance">];
|
|
5
|
-
resolved_module_config: [
|
|
5
|
+
resolved_module_config: [SharedConfiguration, unknown];
|
|
6
6
|
telemetry: [string | {
|
|
7
7
|
eventName: string;
|
|
8
8
|
data?: TelemetryEvent["data"];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalEvents.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/globalEvents.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
export * from "./
|
|
3
|
-
export * from "./
|
|
4
|
-
export * from "./
|
|
1
|
+
export * from "./globalEvents";
|
|
2
|
+
export * from "./oneSDK";
|
|
3
|
+
export * from "./oneSDKModules";
|
|
4
|
+
export * from "./oneSDKParameters";
|
|
5
|
+
export * from "./oneSDKVendorWrappers";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
export * from "./
|
|
3
|
-
export * from "./
|
|
4
|
-
export * from "./
|
|
1
|
+
export * from "./globalEvents";
|
|
2
|
+
export * from "./oneSDK";
|
|
3
|
+
export * from "./oneSDKModules";
|
|
4
|
+
export * from "./oneSDKParameters";
|
|
5
|
+
export * from "./oneSDKVendorWrappers";
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IndividualModuleContext } from "../../individual";
|
|
2
|
+
import { GlobalEvents } from "./globalEvents";
|
|
3
|
+
import { ComponentFactoryFunction, ComponentsDictionary, ModuleContext } from "./oneSDKModules";
|
|
4
|
+
import { OneSdkRootParameters } from "./oneSDKParameters";
|
|
5
|
+
export declare type OneSdkContext = ModuleContext<{
|
|
6
|
+
individual: () => IndividualModuleContext;
|
|
7
|
+
component: ComponentFactoryFunction & {
|
|
8
|
+
instances: Readonly<ComponentsDictionary>;
|
|
9
|
+
};
|
|
10
|
+
}, GlobalEvents>;
|
|
11
|
+
export declare type OneSdkModule = {
|
|
12
|
+
initialise(p: OneSdkRootParameters): Promise<OneSdkContext>;
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oneSDK.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/oneSDK.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { AllModules, EventHub, EventListener, EventsDictionary, ModulesDictionary, PreInitialisationModuleName, PrivateModuleName, PublicModuleName } from "../../common";
|
|
2
|
+
import { FrankieApiClient } from "../../frankie-client";
|
|
3
|
+
import { SessionContext } from "../../session/SessionContext";
|
|
4
|
+
import { ParameterCount } from "../../../types/index.js";
|
|
5
|
+
import { OneSdkContext } from "../..";
|
|
6
|
+
import { GlobalEvents } from "./globalEvents";
|
|
7
|
+
import { DummyModeOptions, RecipeParsed, SdkModes } from "./oneSDKParameters";
|
|
8
|
+
export declare type ModuleInitialiseFunction<ModuleName extends AllModules = PublicModuleName, Context extends ModuleContext = ModuleContext, ExclusiveOptions = void> = (...args: ModuleInitialiseFunctionParameters<ModuleName, ExclusiveOptions>) => Context;
|
|
9
|
+
declare type ModuleInitialiseFunctionParameters<Name extends AllModules, Options> = Options extends void ? [shared: ModuleBaseParameters<Name>] : [shared: ModuleBaseParameters<Name>, options: Options];
|
|
10
|
+
export declare type ModuleContext<Context extends object = object, Events extends EventsDictionary = EventsDictionary> = Context & EventListener<Events>;
|
|
11
|
+
export declare type ModuleComponent<Ctx extends ModuleContext = ModuleContext> = Ctx & {
|
|
12
|
+
instanceName: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* ModuleBaseParameters
|
|
16
|
+
* The base parameters object provided to all modules. Depending on the type of the module, ModuleBaseParameters is defined as:
|
|
17
|
+
* - For public modules, defined in the PublicModuleName, it is SharedState + oneSdkInstance + moduleMeta (injected by the component loader)
|
|
18
|
+
* - For private modules, defined in the PrivateModuleName, it is SharedState + oneSdkInstance
|
|
19
|
+
* - For pre initialisation modules, where no dependencies were built yet, it is simply the ResolvedRootParameters
|
|
20
|
+
*/
|
|
21
|
+
declare type ModuleBaseParameters<ModuleName extends AllModules> = ModuleName extends PublicModuleName ? SharedConfiguration : ModuleName extends PrivateModuleName ? Omit<SharedConfiguration, "moduleMeta"> : ModuleName extends PreInitialisationModuleName ? ResolvedRootParameters : never;
|
|
22
|
+
export declare type SharedConfiguration<ModuleName extends PublicModuleName | PrivateModuleName = PublicModuleName> = SharedState & {
|
|
23
|
+
oneSdkInstance: OneSdkContext;
|
|
24
|
+
moduleMeta: ModuleMeta<ModuleName>;
|
|
25
|
+
};
|
|
26
|
+
declare type ModuleMeta<ModuleName extends AllModules> = {
|
|
27
|
+
moduleName: ModuleName;
|
|
28
|
+
instanceName: string;
|
|
29
|
+
};
|
|
30
|
+
export declare type SharedState = SharedDependencies & Omit<ResolvedRootParameters, "session">;
|
|
31
|
+
export declare type SharedDependencies = {
|
|
32
|
+
globalEventHub: EventHub<GlobalEvents>;
|
|
33
|
+
frankieClient: FrankieApiClient;
|
|
34
|
+
session: SessionContext;
|
|
35
|
+
};
|
|
36
|
+
export declare type ResolvedRootParameters = {
|
|
37
|
+
recipe: RecipeParsed;
|
|
38
|
+
telemetry: boolean;
|
|
39
|
+
session: {
|
|
40
|
+
token: string;
|
|
41
|
+
persist: boolean;
|
|
42
|
+
} | {
|
|
43
|
+
token: null;
|
|
44
|
+
persist: false;
|
|
45
|
+
};
|
|
46
|
+
mode: {
|
|
47
|
+
modeName: SdkModes;
|
|
48
|
+
} | DummyModeOptions;
|
|
49
|
+
};
|
|
50
|
+
/** Type of the component factory function for public modules only */
|
|
51
|
+
export declare type ComponentFactoryFunction = <Name extends PublicModuleName>(...args: ComponentFactoryParameters<Name>) => ComponentOf<Name>;
|
|
52
|
+
/**
|
|
53
|
+
* If a module doesn't have exclusive options (second parameter of the initialisation function),
|
|
54
|
+
* then the second parameter is optional, containing only instanceName
|
|
55
|
+
* if it has exclusive options, add "instanceName" as an extra optional field
|
|
56
|
+
**/
|
|
57
|
+
export declare type ComponentFactoryParameters<Name extends AllModules> = OptionsOf<Name> extends undefined ? [name: Name, options?: {
|
|
58
|
+
instanceName?: string;
|
|
59
|
+
}] : [name: Name, options: OptionsOf<Name> & {
|
|
60
|
+
instanceName?: string;
|
|
61
|
+
}];
|
|
62
|
+
/**
|
|
63
|
+
* Determine the exclusive options for a module, if any.
|
|
64
|
+
*/
|
|
65
|
+
export declare type OptionsOf<Name extends AllModules> = ParameterCount<ModulesDictionary[Name]> extends 2 ? Parameters<ModulesDictionary[Name]>[1] : undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Determine the context of a module (the type of the object returned by the initialisation function)
|
|
68
|
+
*/
|
|
69
|
+
export declare type ContextOf<Name extends AllModules> = ModuleContext<ReturnType<ModulesDictionary[Name]>>;
|
|
70
|
+
/**
|
|
71
|
+
* Determine the type of the Component of a Module = Context + { instanceName: string }
|
|
72
|
+
* A component is simply an instance of the module, represented by the context object and a name for that instance, which defaults to the name of the module
|
|
73
|
+
*/
|
|
74
|
+
export declare type ComponentOf<Name extends PublicModuleName | PrivateModuleName, InstanceName extends string = string> = ContextOf<Name> & {
|
|
75
|
+
instanceName: InstanceName;
|
|
76
|
+
};
|
|
77
|
+
export declare type ComponentsDictionary = {
|
|
78
|
+
[Module in PublicModuleName]?: {
|
|
79
|
+
[instanceName: string]: ComponentOf<Module, string>;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oneSDKModules.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/oneSDKModules.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FrankieApiClient } from "../../frankie-client";
|
|
1
|
+
import { RecipeConfiguration } from "../../common";
|
|
3
2
|
import { SimplifiedMockOptions } from "../../frankie-client/mocks/simplifier";
|
|
4
|
-
import { SessionContext } from "../../session/SessionContext";
|
|
5
3
|
import { PartialDeep, SetRequired } from "type-fest";
|
|
6
|
-
import { GlobalEvents } from "./events";
|
|
7
|
-
import { OneSdkContext } from "./module";
|
|
8
4
|
/**
|
|
9
5
|
* Different levels of configuration may be done in OneSdk. This isn't a requirement,
|
|
10
6
|
* but allows us to ensure options are consistent and compatible throughout all levels of OneSdk
|
|
@@ -36,6 +32,10 @@ import { OneSdkContext } from "./module";
|
|
|
36
32
|
* instanceName?
|
|
37
33
|
* }
|
|
38
34
|
*/
|
|
35
|
+
export declare type OneSdkRootParameters = {
|
|
36
|
+
recipe?: RecipeOption;
|
|
37
|
+
telemetry?: boolean;
|
|
38
|
+
} & ModeAndSessionOptions;
|
|
39
39
|
export declare enum SdkModes {
|
|
40
40
|
DEV = "development",
|
|
41
41
|
PROD = "production",
|
|
@@ -43,7 +43,7 @@ export declare enum SdkModes {
|
|
|
43
43
|
}
|
|
44
44
|
export declare type DummyModeOptions = {
|
|
45
45
|
modeName: SdkModes.DUMMY;
|
|
46
|
-
mocks
|
|
46
|
+
mocks?: SimplifiedMockOptions;
|
|
47
47
|
};
|
|
48
48
|
export declare type PartialRecipe = PartialDeep<RecipeConfiguration>;
|
|
49
49
|
export declare type RecipeOption = string | PartialRecipe;
|
|
@@ -59,18 +59,4 @@ export declare type ModeAndSessionOptions = {
|
|
|
59
59
|
mode?: Exclude<SdkModes, SdkModes.DUMMY>;
|
|
60
60
|
session: SessionOptions;
|
|
61
61
|
};
|
|
62
|
-
export declare type OneSdkRootParameters = {
|
|
63
|
-
recipe?: RecipeOption;
|
|
64
|
-
telemetry?: boolean;
|
|
65
|
-
} & ModeAndSessionOptions;
|
|
66
|
-
export declare type SharedDependencies = {
|
|
67
|
-
globalEventHub: EventHub<GlobalEvents>;
|
|
68
|
-
frankieClient: FrankieApiClient;
|
|
69
|
-
session: SessionContext;
|
|
70
|
-
};
|
|
71
|
-
export declare type SharedState = {
|
|
72
|
-
oneSdkInstance: OneSdkContext;
|
|
73
|
-
recipe: RecipeParsed;
|
|
74
|
-
session: SessionContext;
|
|
75
|
-
} & SharedDependencies & Required<Omit<OneSdkRootParameters, "session">>;
|
|
76
62
|
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Below you'll find the bits and pieces that together form the parameter object above
|
|
2
|
+
export var SdkModes;
|
|
3
|
+
(function (SdkModes) {
|
|
4
|
+
SdkModes["DEV"] = "development";
|
|
5
|
+
SdkModes["PROD"] = "production";
|
|
6
|
+
SdkModes["DUMMY"] = "dummy";
|
|
7
|
+
})(SdkModes || (SdkModes = {}));
|
|
8
|
+
//# sourceMappingURL=oneSDKParameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oneSDKParameters.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/oneSDKParameters.ts"],"names":[],"mappings":"AA0CA,sFAAsF;AAEtF,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,2BAAe,CAAA;AACjB,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PublicModuleName } from "../../configuration";
|
|
2
|
+
import { Dictionary } from "../../../types/index.js";
|
|
3
|
+
import { SharedConfiguration } from "./oneSDKModules";
|
|
4
|
+
export declare type WrapperInitialiseFunction<Options extends Dictionary = Dictionary, // Vendor wrappers almost always have extra options
|
|
5
|
+
VendorWrapperContext = Dictionary, // But sometimes return an empty context (no actions or fields attached to it)
|
|
6
|
+
Async extends "sync" | "async" = "sync"> = (b: SharedConfiguration<PublicModuleName>, o: Options) => Async extends "async" ? Promise<VendorWrapperContext> : VendorWrapperContext;
|
|
7
|
+
export declare type VendorWrapperImport<Wrapper extends WrapperInitialiseFunction> = {
|
|
8
|
+
initialise: Wrapper;
|
|
9
|
+
};
|
|
10
|
+
export declare type WrapperInitialiseOptions<Wrapper extends WrapperInitialiseFunction = WrapperInitialiseFunction> = Parameters<Wrapper>[1];
|
|
11
|
+
export declare type WrapperContext<Wrapper extends WrapperInitialiseFunction> = ReturnType<Wrapper>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oneSDKVendorWrappers.js","sourceRoot":"","sources":["../../../../../modules/sdk/types/oneSDKVendorWrappers.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { EventListener } from "../common";
|
|
1
2
|
declare type Options = {
|
|
2
3
|
takenFromStorage: boolean;
|
|
3
4
|
};
|
|
4
|
-
export declare class SessionContext {
|
|
5
|
+
export declare class SessionContext implements EventListener {
|
|
5
6
|
#private;
|
|
6
7
|
constructor(tokenOrMeta: string | SessionMeta, options?: Options);
|
|
8
|
+
on(): void;
|
|
9
|
+
off(): void;
|
|
7
10
|
isTakenFromStorage(): boolean;
|
|
8
11
|
get customerID(): string;
|
|
9
12
|
get customerChildID(): string;
|
|
@@ -25,6 +25,12 @@ export class SessionContext {
|
|
|
25
25
|
__classPrivateFieldSet(this, _SessionContext_meta, tokenOrMeta, "f");
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
+
on() {
|
|
29
|
+
throw new Error("No implementation yet. This is WIP");
|
|
30
|
+
}
|
|
31
|
+
off() {
|
|
32
|
+
throw new Error("No implementation yet. This is WIP");
|
|
33
|
+
}
|
|
28
34
|
isTakenFromStorage() {
|
|
29
35
|
return __classPrivateFieldGet(this, _SessionContext_options, "f").takenFromStorage;
|
|
30
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContext.js","sourceRoot":"","sources":["../../../../modules/session/SessionContext.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SessionContext.js","sourceRoot":"","sources":["../../../../modules/session/SessionContext.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,SAAS,MAAM,YAAY,CAAC;AAKnC,MAAM,OAAO,cAAc;IAKzB,YAAY,WAAiC,EAAE,OAAiB;QAJhE,uCAAmB;QACnB,wCAAe;QACf,+CAA4B;QAC5B,0CAAkB;QAEhB,uBAAA,IAAI,2BAAY,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAA,CAAC;QACvD,IAAI,OAAO,WAAW,KAAK,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aAC3D;YACH,uBAAA,IAAI,yBAAU,IAAI,MAAA,CAAC;YACnB,uBAAA,IAAI,wBAAS,WAAW,MAAA,CAAC;SAC1B;IACH,CAAC;IAED,EAAE;QACA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,GAAG;QACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB;QAChB,OAAO,uBAAA,IAAI,+BAAS,CAAC,gBAAgB,CAAC;IACxC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,uBAAA,IAAI,4BAAM,CAAC,UAAU,CAAC;IAC/B,CAAC;IACD,IAAI,eAAe;QACjB,OAAO,uBAAA,IAAI,4BAAM,CAAC,eAAe,CAAC;IACpC,CAAC;IACD,IAAI,WAAW;QACb,OAAO,uBAAA,IAAI,4BAAM,CAAC,WAAW,CAAC;IAChC,CAAC;IACD,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,4BAAM,CAAC,SAAS,CAAC;IAC9B,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,uBAAA,IAAI,4BAAM,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACD,IAAI,SAAS;QACX,OAAO,uBAAA,IAAI,4BAAM,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,uBAAA,IAAI,6BAAO,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,uBAAA,IAAI,yBAAU,KAAK,MAAA,CAAC;QACpB,uBAAA,IAAI,gCAAiB,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,MAAA,CAAC;QACvD,uBAAA,IAAI,wBAAS,cAAc,CAAC,YAAY,CAAC,uBAAA,IAAI,oCAAc,CAAC,MAAA,CAAC;IAC/D,CAAC;IAED,WAAW,CAAC,QAAgB;QAC1B,uBAAA,IAAI,4BAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED,OAAO;QACL,OAAO,cAAc,CAAC,gBAAgB,CAAC,uBAAA,IAAI,oCAAc,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAgB;;QACxC,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;YACxC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe;YAClD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,MAAC,IAAqB,CAAC,QAAQ,mCAAI,IAAI;YACjD,SAAS,EAAE,MAAC,IAAsB,CAAC,SAAS,mCAAI,IAAI;SACrD,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,YAA0B;QAChD,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAChC,gCAAgC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC;QAChD,OAAO,YAAY,IAAI,eAAe,CAAC;IACzC,CAAC;CACF;;AAcD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAc,EAA6B,EAAE,CACvE,OAAQ,CAA0B,CAAC,QAAQ,KAAK,QAAQ,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ModuleInitialiseFunction, ResolvedRootParameters } from "../sdk/types";
|
|
2
2
|
import { SessionContext } from "./SessionContext";
|
|
3
|
-
|
|
4
|
-
export declare
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function resolveToken(options: OneSdkRootParameters): SessionContext;
|
|
3
|
+
export declare const initialise: ModuleInitialiseFunction<"session", SessionContext>;
|
|
4
|
+
export declare function mkDummySessionContext(options: ResolvedRootParameters): SessionContext;
|
|
5
|
+
export declare function resolveToken(options: ResolvedRootParameters): SessionContext;
|
|
@@ -1,39 +1,37 @@
|
|
|
1
1
|
import { SdkMode } from "..";
|
|
2
2
|
import { LocalStorage } from "../common/modules/LocalStorage";
|
|
3
3
|
import { dummySessionMeta } from "../frankie-client/DummyFrankieApiClient";
|
|
4
|
-
import { resolveMode } from "../sdk/initialisation/configurationParser";
|
|
5
|
-
import { StorageKeys } from "./constants";
|
|
6
4
|
import { SessionContext } from "./SessionContext";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
},
|
|
5
|
+
import { StorageKeys } from "./constants";
|
|
6
|
+
export const initialise = (resolvedParameters) => {
|
|
7
|
+
var _a;
|
|
8
|
+
let sessionContext;
|
|
9
|
+
const isDummy = ((_a = resolvedParameters.mode) === null || _a === void 0 ? void 0 : _a.modeName) === SdkMode.DUMMY;
|
|
10
|
+
if (isDummy)
|
|
11
|
+
sessionContext = mkDummySessionContext(resolvedParameters);
|
|
12
|
+
else {
|
|
13
|
+
sessionContext = resolveToken(resolvedParameters);
|
|
14
|
+
}
|
|
15
|
+
// If current session was just taken from storage, don't re-store it
|
|
16
|
+
if (resolvedParameters.session.persist && !isDummy && !sessionContext.isTakenFromStorage()) {
|
|
17
|
+
const storage = new LocalStorage();
|
|
18
|
+
storage.store(StorageKeys.TOKEN, sessionContext.token);
|
|
19
|
+
}
|
|
20
|
+
return sessionContext;
|
|
24
21
|
};
|
|
25
22
|
export function mkDummySessionContext(options) {
|
|
26
|
-
var _a;
|
|
27
23
|
// Even in dummy mode, if token is provided resolve session context based on token
|
|
28
|
-
if (
|
|
24
|
+
if (options.session.token)
|
|
29
25
|
return resolveToken(options);
|
|
30
26
|
return new SessionContext(dummySessionMeta, { takenFromStorage: false });
|
|
31
27
|
}
|
|
32
28
|
export function resolveToken(options) {
|
|
33
29
|
var _a;
|
|
34
30
|
const { session } = options;
|
|
35
|
-
const providedToken = (_a = session
|
|
36
|
-
const persistOption =
|
|
31
|
+
const providedToken = (_a = session.token) !== null && _a !== void 0 ? _a : null;
|
|
32
|
+
const persistOption = session.persist === true;
|
|
33
|
+
if (!providedToken)
|
|
34
|
+
throw new Error("No token provided to session.token");
|
|
37
35
|
const mkProvidedSessionContext = (storeToken) => {
|
|
38
36
|
if (storeToken)
|
|
39
37
|
storage.store(StorageKeys.TOKEN, providedToken);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/session/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../modules/session/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,UAAU,GAAwD,CAAC,kBAAkB,EAAE,EAAE;;IACpG,IAAI,cAA8B,CAAC;IACnC,MAAM,OAAO,GAAG,CAAA,MAAA,kBAAkB,CAAC,IAAI,0CAAE,QAAQ,MAAK,OAAO,CAAC,KAAK,CAAC;IAEpE,IAAI,OAAO;QAAE,cAAc,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;SACnE;QACH,cAAc,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;KACnD;IAED,oEAAoE;IACpE,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,EAAE;QAC1F,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;KACxD;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,kFAAkF;IAClF,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,IAAI,cAAc,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3E,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,OAA+B;;IAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,aAAa,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,IAAI,CAAC;IAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC;IAE/C,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC1E,MAAM,wBAAwB,GAAG,CAAC,UAAmB,EAAE,EAAE;QACvD,IAAI,UAAU;YAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAChE,OAAO,IAAI,cAAc,CAAC,aAAa,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,OAAO,IAAI,cAAc,CAAC,aAAa,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IACnC,2FAA2F;IAC3F,IAAI,CAAC,aAAa;QAAE,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC3D,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAS,WAAW,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,aAAa,IAAI,CAAC,aAAa;QAAE,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAE3E,0DAA0D;IAC1D,IAAI;QACF,wCAAwC;QACxC,8CAA8C;QAC9C,MAAM,oBAAoB,GAAG,sBAAsB,EAAE,CAAC;QACtD,yCAAyC;QACzC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACtE,kCAAkC;QAClC,OAAO,oBAAoB,CAAC;KAC7B;IAAC,OAAO,CAAC,EAAE;QACV,qCAAqC;QACrC,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;KACvC;AACH,CAAC"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
export declare type
|
|
1
|
+
export declare type EmptyObject = Record<string, never>;
|
|
2
2
|
export declare type AnyFunction<Args extends any[] = unknown[], ReturnType = unknown> = (...args: Args) => ReturnType;
|
|
3
|
+
export declare type Dictionary<Value = unknown, Type extends "read" | "write" | "readwrite" = "write"> = Type extends "read" ? _DictionaryRead<Value> : Type extends "write" ? _DictionaryWrite<Value> : Type extends "readwrite" ? _DictionaryReadWrite<Value> : never;
|
|
4
|
+
export declare type _DictionaryRead<Value> = {
|
|
5
|
+
readonly [x: string]: Value;
|
|
6
|
+
};
|
|
7
|
+
export declare type _DictionaryWrite<Value> = {
|
|
8
|
+
[x: string]: Value;
|
|
9
|
+
};
|
|
10
|
+
export declare type _DictionaryReadWrite<Value> = _DictionaryRead<Value> & _DictionaryWrite<Value>;
|
|
@@ -23,3 +23,15 @@ export declare type Tuple<T, N extends number> = _Tuple<T, N, [T]>;
|
|
|
23
23
|
* - Length-Tuple of Value, if Length > 1
|
|
24
24
|
*/
|
|
25
25
|
export declare type MaybeTuple<Value, Length extends number> = Length extends 1 ? Value : Tuple<Value, Length>;
|
|
26
|
+
/**
|
|
27
|
+
* Merges object types together, ignoring undefined types
|
|
28
|
+
*/
|
|
29
|
+
export declare type Merge<A extends object, B extends object> = A extends undefined ? B : B extends undefined ? A : A & B;
|
|
30
|
+
/**
|
|
31
|
+
* Get length of a tuple
|
|
32
|
+
*/
|
|
33
|
+
export declare type Length<Type extends readonly unknown[]> = Type["length"];
|
|
34
|
+
/**
|
|
35
|
+
* Get number of parameters of a function
|
|
36
|
+
*/
|
|
37
|
+
export declare type ParameterCount<F extends (...args: any) => any> = Length<Parameters<F>>;
|
package/dist/release.txt
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
v0.
|
|
1
|
+
v0.7.0-alpha
|
|
2
|
+
v0.7.0-alpha
|