@envive-ai/react-hooks 0.3.18 → 0.3.19-alpha-marlo-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/dist/application/commerce-api.cjs +14 -13
- package/dist/application/commerce-api.js +14 -13
- package/dist/application/logging/logger.cjs +16 -10
- package/dist/application/logging/logger.js +16 -10
- package/dist/application/models/guards/api/isApiFormResponse.cjs +9 -8
- package/dist/application/models/guards/api/isApiFormResponse.js +9 -8
- package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.cjs +6 -5
- package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.js +6 -5
- package/dist/application/models/guards/api/isApiOrderResponseAttributes.cjs +19 -18
- package/dist/application/models/guards/api/isApiOrderResponseAttributes.js +19 -18
- package/dist/application/models/guards/api/isApiOrgConfigResults.cjs +27 -26
- package/dist/application/models/guards/api/isApiOrgConfigResults.js +27 -26
- package/dist/application/models/guards/api/isApiOrganizationConfig.cjs +23 -22
- package/dist/application/models/guards/api/isApiOrganizationConfig.js +23 -22
- package/dist/application/models/guards/api/isApiProductResponseAttributes.cjs +12 -11
- package/dist/application/models/guards/api/isApiProductResponseAttributes.js +12 -11
- package/dist/application/models/guards/api/isApiResponse.cjs +7 -6
- package/dist/application/models/guards/api/isApiResponse.js +7 -6
- package/dist/application/models/guards/graphQL/isGraphQLColorsConfig.cjs +5 -4
- package/dist/application/models/guards/graphQL/isGraphQLColorsConfig.js +5 -4
- package/dist/application/models/validators/validateGraphQLFrontendConfig.cjs +15 -14
- package/dist/application/models/validators/validateGraphQLFrontendConfig.js +15 -14
- package/dist/application/utils/analyticsUtils.cjs +4 -3
- package/dist/application/utils/analyticsUtils.js +4 -3
- package/dist/application/utils/nextMessageRequestToApiRequest.cjs +3 -1
- package/dist/application/utils/nextMessageRequestToApiRequest.js +3 -1
- package/dist/atoms/app/index.d.cts +1 -1
- package/dist/atoms/app/index.d.ts +7 -7
- package/dist/atoms/app/variant.cjs +3 -2
- package/dist/atoms/app/variant.d.cts +6 -6
- package/dist/atoms/app/variant.js +3 -2
- package/dist/atoms/chat/chatState.d.cts +18 -18
- package/dist/atoms/chat/chatState.d.ts +18 -18
- package/dist/atoms/chat/form.d.cts +3 -3
- package/dist/atoms/chat/form.d.ts +2 -2
- package/dist/atoms/chat/index.d.cts +3 -3
- package/dist/atoms/chat/index.d.ts +3 -3
- package/dist/atoms/chat/lastMessage.d.cts +2 -2
- package/dist/atoms/chat/lastMessage.d.ts +2 -2
- package/dist/atoms/chat/messageQueue.d.cts +7 -7
- package/dist/atoms/chat/messageQueue.d.ts +6 -6
- package/dist/atoms/chat/performanceMetrics.cjs +3 -2
- package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
- package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
- package/dist/atoms/chat/performanceMetrics.js +3 -2
- package/dist/atoms/chat/renderedWidgetRefs.d.cts +3 -3
- package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
- package/dist/atoms/chat/replies.d.cts +3 -3
- package/dist/atoms/chat/replies.d.ts +3 -3
- package/dist/atoms/chat/suggestions.d.cts +3 -3
- package/dist/atoms/chat/suggestions.d.ts +2 -2
- package/dist/atoms/envive/enviveConfig.cjs +5 -4
- package/dist/atoms/envive/enviveConfig.d.cts +13 -13
- package/dist/atoms/envive/enviveConfig.d.ts +13 -13
- package/dist/atoms/envive/enviveConfig.js +5 -4
- package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
- package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
- package/dist/atoms/org/customerService.d.cts +6 -6
- package/dist/atoms/org/customerService.d.ts +6 -6
- package/dist/atoms/org/graphqlConfig.d.cts +4 -4
- package/dist/atoms/org/graphqlConfig.d.ts +4 -4
- package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
- package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
- package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
- package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
- package/dist/atoms/search/chatSearch.d.cts +17 -17
- package/dist/atoms/search/searchAPI.d.cts +13 -13
- package/dist/atoms/search/types.d.cts +1 -1
- package/dist/atoms/search/utils.d.cts +1 -1
- package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
- package/dist/contexts/amplitudeContext/amplitudeContext.cjs +4 -3
- package/dist/contexts/amplitudeContext/amplitudeContext.js +3 -2
- package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +26 -15
- package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +2 -4
- package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +2 -4
- package/dist/contexts/enviveConfigContext/enviveConfigContext.js +29 -16
- package/dist/contexts/enviveConfigContext/index.cjs +2 -1
- package/dist/contexts/enviveConfigContext/index.d.cts +2 -1
- package/dist/contexts/enviveConfigContext/index.d.ts +2 -1
- package/dist/contexts/enviveConfigContext/index.js +2 -1
- package/dist/contexts/enviveConfigContext/useEnviveConfig.cjs +12 -0
- package/dist/contexts/enviveConfigContext/useEnviveConfig.d.cts +7 -0
- package/dist/contexts/enviveConfigContext/useEnviveConfig.d.ts +7 -0
- package/dist/contexts/enviveConfigContext/useEnviveConfig.js +11 -0
- package/dist/contexts/enviveContext/WindowChatToggleBinder.cjs +7 -5
- package/dist/contexts/enviveContext/WindowChatToggleBinder.js +6 -4
- package/dist/contexts/enviveContext/enviveContext.cjs +74 -45
- package/dist/contexts/enviveContext/enviveContext.d.cts +8 -2
- package/dist/contexts/enviveContext/enviveContext.d.ts +8 -2
- package/dist/contexts/enviveContext/enviveContext.js +75 -46
- package/dist/contexts/enviveContext/index.d.cts +2 -2
- package/dist/contexts/enviveContext/index.d.ts +2 -2
- package/dist/contexts/enviveContext/types.d.cts +1 -1
- package/dist/contexts/enviveContext/types.d.ts +1 -1
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +7 -6
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +7 -6
- package/dist/contexts/graphqlContext/graphqlContext.cjs +8 -7
- package/dist/contexts/graphqlContext/graphqlContext.js +8 -7
- package/dist/contexts/hardcopyContext/hardcopyContext.cjs +9 -8
- package/dist/contexts/hardcopyContext/hardcopyContext.js +9 -8
- package/dist/contexts/localStorageContext/localStorageContext.cjs +4 -3
- package/dist/contexts/localStorageContext/localStorageContext.js +4 -3
- package/dist/contexts/pageContext/pageContext.cjs +23 -4
- package/dist/contexts/pageContext/pageContext.d.cts +3 -1
- package/dist/contexts/pageContext/pageContext.d.ts +3 -1
- package/dist/contexts/pageContext/pageContext.js +24 -5
- package/dist/contexts/pageContext/types.d.ts +1 -1
- package/dist/contexts/salesAgentContext/chatAPI.cjs +3 -2
- package/dist/contexts/salesAgentContext/chatAPI.js +3 -2
- package/dist/contexts/salesAgentContext/salesAgentContext.cjs +4 -3
- package/dist/contexts/salesAgentContext/salesAgentContext.js +4 -3
- package/dist/contexts/salesAgentContext/salesAgentService.cjs +3 -2
- package/dist/contexts/salesAgentContext/salesAgentService.js +3 -2
- package/dist/contexts/searchContext/searchContext.cjs +8 -6
- package/dist/contexts/searchContext/searchContext.js +7 -5
- package/dist/contexts/sessionStorageContext/sessionStorageContext.cjs +3 -2
- package/dist/contexts/sessionStorageContext/sessionStorageContext.js +3 -2
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
- package/dist/contexts/types.d.cts +1 -1
- package/dist/contexts/types.d.ts +1 -1
- package/dist/contexts/typesV3.d.cts +1 -1
- package/dist/contexts/uiConfigContext/index.cjs +0 -1
- package/dist/contexts/uiConfigContext/index.d.cts +2 -2
- package/dist/contexts/uiConfigContext/index.d.ts +2 -2
- package/dist/contexts/uiConfigContext/index.js +2 -2
- package/dist/contexts/uiConfigContext/uiConfigContext.cjs +13 -30
- package/dist/contexts/uiConfigContext/uiConfigContext.d.cts +5 -9
- package/dist/contexts/uiConfigContext/uiConfigContext.d.ts +5 -9
- package/dist/contexts/uiConfigContext/uiConfigContext.js +14 -29
- package/dist/contexts/userIdentityContext/userIdentityContext.cjs +7 -7
- package/dist/contexts/userIdentityContext/userIdentityContext.js +7 -7
- package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +4 -3
- package/dist/contexts/widgetConfigContext/widgetConfigContext.js +4 -3
- package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.cjs +4 -3
- package/dist/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.js +4 -3
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
- package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.cts +2 -2
- package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.ts +2 -2
- package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.ts +2 -2
- package/dist/hooks/WidgetInteraction/useWidgetInteraction.cjs +2 -2
- package/dist/hooks/WidgetInteraction/useWidgetInteraction.js +2 -2
- package/dist/hooks/WidgetInteraction/utils.cjs +2 -1
- package/dist/hooks/WidgetInteraction/utils.js +2 -1
- package/dist/hooks/utils.d.cts +1 -1
- package/dist/hooks/utils.d.ts +1 -1
- package/dist/services/amplitudeService/amplitudeService.cjs +15 -7
- package/dist/services/amplitudeService/amplitudeService.d.cts +2 -1
- package/dist/services/amplitudeService/amplitudeService.d.ts +2 -1
- package/dist/services/amplitudeService/amplitudeService.js +15 -7
- package/dist/services/ga4ProjectionService/ga4ProjectionService.cjs +3 -2
- package/dist/services/ga4ProjectionService/ga4ProjectionService.js +3 -2
- package/dist/services/userIdentityService/userIdentityService.cjs +8 -7
- package/dist/services/userIdentityService/userIdentityService.js +8 -7
- package/package.json +2 -2
- package/src/application/commerce-api.ts +14 -12
- package/src/application/logging/logger.ts +33 -8
- package/src/application/models/guards/api/isApiFormResponse.ts +9 -7
- package/src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts +6 -4
- package/src/application/models/guards/api/isApiOrderResponseAttributes.ts +19 -17
- package/src/application/models/guards/api/isApiOrgConfigResults.ts +40 -48
- package/src/application/models/guards/api/isApiOrganizationConfig.ts +25 -38
- package/src/application/models/guards/api/isApiProductResponseAttributes.ts +12 -10
- package/src/application/models/guards/api/isApiResponse.ts +7 -5
- package/src/application/models/guards/graphQL/isGraphQLColorsConfig.ts +5 -3
- package/src/application/models/validators/validateGraphQLFrontendConfig.ts +15 -13
- package/src/application/utils/analyticsUtils.ts +4 -4
- package/src/application/utils/nextMessageRequestToApiRequest.ts +2 -0
- package/src/atoms/app/variant.ts +3 -1
- package/src/atoms/chat/performanceMetrics.ts +3 -1
- package/src/atoms/envive/enviveConfig.ts +5 -3
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +1 -1
- package/src/contexts/enviveConfigContext/__tests__/enviveConfigContext.test.tsx +4 -3
- package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +50 -35
- package/src/contexts/enviveConfigContext/index.ts +1 -0
- package/src/contexts/enviveConfigContext/useEnviveConfig.ts +9 -0
- package/src/contexts/enviveContext/WindowChatToggleBinder.tsx +6 -4
- package/src/contexts/enviveContext/enviveContext.tsx +109 -50
- package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +11 -12
- package/src/contexts/graphqlContext/__tests__/graphqlContext.test.tsx +4 -4
- package/src/contexts/graphqlContext/graphqlContext.tsx +8 -6
- package/src/contexts/hardcopyContext/hardcopyContext.tsx +9 -7
- package/src/contexts/localStorageContext/__tests__/localStorageContext.test.tsx +6 -6
- package/src/contexts/localStorageContext/localStorageContext.tsx +4 -2
- package/src/contexts/pageContext/__tests__/pageContext.test.tsx +5 -5
- package/src/contexts/pageContext/pageContext.tsx +22 -2
- package/src/contexts/salesAgentContext/chatAPI.ts +5 -5
- package/src/contexts/salesAgentContext/salesAgentContext.tsx +4 -2
- package/src/contexts/salesAgentContext/salesAgentService.ts +4 -2
- package/src/contexts/searchContext/__tests__/searchContext.test.tsx +15 -12
- package/src/contexts/searchContext/searchContext.tsx +6 -4
- package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +3 -1
- package/src/contexts/uiConfigContext/__tests__/uiConfigContext.test.tsx +7 -32
- package/src/contexts/uiConfigContext/uiConfigContext.tsx +17 -29
- package/src/contexts/userIdentityContext/__tests__/userIdentityContext.test.tsx +5 -5
- package/src/contexts/userIdentityContext/userIdentityContext.tsx +7 -6
- package/src/contexts/widgetConfigContext/__tests__/widgetConfigContext.test.tsx +7 -7
- package/src/contexts/widgetConfigContext/widgetConfigContext.tsx +4 -2
- package/src/hooks/CustomerSupportHandoff/useCustomerSupportHandoff.ts +4 -2
- package/src/hooks/Search/__tests__/useSearch.test.tsx +14 -8
- package/src/hooks/WidgetInteraction/useWidgetInteraction.ts +3 -2
- package/src/hooks/WidgetInteraction/utils.ts +3 -1
- package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +3 -3
- package/src/services/amplitudeService/amplitudeService.ts +19 -6
- package/src/services/ga4ProjectionService/ga4ProjectionService.ts +3 -1
- package/src/services/userIdentityService/userIdentityService.ts +8 -8
|
@@ -1,21 +1,27 @@
|
|
|
1
1
|
|
|
2
2
|
//#region src/application/logging/logger.ts
|
|
3
|
-
var Logger = class {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
var Logger = class Logger {
|
|
4
|
+
constructor(caller) {
|
|
5
|
+
this.caller = caller;
|
|
6
6
|
}
|
|
7
|
-
static
|
|
8
|
-
|
|
7
|
+
static getTimestamp() {
|
|
8
|
+
return (/* @__PURE__ */ new Date()).toISOString();
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
console.
|
|
10
|
+
logInfo(message, ...args) {
|
|
11
|
+
console.info(`INFO: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message}`, ...args);
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
console.
|
|
13
|
+
logDebug(message, ...args) {
|
|
14
|
+
console.debug(`DEBUG: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message}`, ...args);
|
|
15
|
+
}
|
|
16
|
+
logError(message, error, ...args) {
|
|
17
|
+
console.error(`ERROR: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message} error=${error}`, args);
|
|
18
|
+
}
|
|
19
|
+
logWarn(message, error, ...args) {
|
|
20
|
+
console.warn(`WARN: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message} error=${error}`, args);
|
|
15
21
|
}
|
|
16
22
|
};
|
|
17
23
|
var logger_default = Logger;
|
|
18
24
|
|
|
19
25
|
//#endregion
|
|
20
26
|
exports.default = logger_default;
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmNqcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5jbGFzcyBMb2dnZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhbGxlcjogc3RyaW5nO1xuXG4gIC8qIENyZWF0ZXMgYSBuZXcgTG9nZ2VyIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gY2FsbGVyIC0gVGhlIGNhbGxlciBvZiB0aGUgbG9nZ2VyLlxuICAgKi9cbiAgY29uc3RydWN0b3IoY2FsbGVyOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNhbGxlciA9IGNhbGxlcjtcbiAgfVxuXG4gIHN0YXRpYyBnZXRUaW1lc3RhbXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICB9XG5cbiAgbG9nSW5mbyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQge1xuICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgIGBJTkZPOiBbZW52aXZlLWFpXSAke0xvZ2dlci5nZXRUaW1lc3RhbXAoKX0gLSAke3RoaXMuY2FsbGVyfSAtICR7bWVzc2FnZX1gLFxuICAgICAgLi4uYXJncyxcbiAgICApO1xuICB9XG5cbiAgbG9nRGVidWcobWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICBjb25zb2xlLmRlYnVnKFxuICAgICAgYERFQlVHOiBbZW52aXZlLWFpXSAke0xvZ2dlci5nZXRUaW1lc3RhbXAoKX0gLSAke3RoaXMuY2FsbGVyfSAtICR7bWVzc2FnZX1gLFxuICAgICAgLi4uYXJncyxcbiAgICApO1xuICB9XG5cbiAgbG9nRXJyb3IobWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biB8IHVuZGVmaW5lZCwgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGBFUlJPUjogW2Vudml2ZS1haV0gJHtMb2dnZXIuZ2V0VGltZXN0YW1wKCl9IC0gJHt0aGlzLmNhbGxlcn0gLSAke21lc3NhZ2V9IGVycm9yPSR7ZXJyb3J9YCxcbiAgICAgIGFyZ3MsXG4gICAgKTtcbiAgfVxuXG4gIGxvZ1dhcm4obWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biB8IHVuZGVmaW5lZCwgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYFdBUk46IFtlbnZpdmUtYWldICR7TG9nZ2VyLmdldFRpbWVzdGFtcCgpfSAtICR7dGhpcy5jYWxsZXJ9IC0gJHttZXNzYWdlfSBlcnJvcj0ke2Vycm9yfWAsXG4gICAgICBhcmdzLFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTG9nZ2VyO1xuIl0sIm1hcHBpbmdzIjoiOztBQUVBLElBQU0sU0FBTixNQUFNLE9BQU87Q0FNWCxZQUFZLFFBQWdCO0FBQzFCLE9BQUssU0FBUzs7Q0FHaEIsT0FBTyxlQUF1QjtBQUM1QiwwQkFBTyxJQUFJLE1BQU0sRUFBQyxhQUFhOztDQUdqQyxRQUFRLFNBQWlCLEdBQUcsTUFBdUI7QUFDakQsVUFBUSxLQUNOLHFCQUFxQixPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssT0FBTyxLQUFLLFdBQ2pFLEdBQUcsS0FDSjs7Q0FHSCxTQUFTLFNBQWlCLEdBQUcsTUFBdUI7QUFDbEQsVUFBUSxNQUNOLHNCQUFzQixPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssT0FBTyxLQUFLLFdBQ2xFLEdBQUcsS0FDSjs7Q0FHSCxTQUFTLFNBQWlCLE9BQTRCLEdBQUcsTUFBdUI7QUFDOUUsVUFBUSxNQUNOLHNCQUFzQixPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssT0FBTyxLQUFLLFFBQVEsU0FBUyxTQUNuRixLQUNEOztDQUdILFFBQVEsU0FBaUIsT0FBNEIsR0FBRyxNQUF1QjtBQUM3RSxVQUFRLEtBQ04scUJBQXFCLE9BQU8sY0FBYyxDQUFDLEtBQUssS0FBSyxPQUFPLEtBQUssUUFBUSxTQUFTLFNBQ2xGLEtBQ0Q7OztBQUlMLHFCQUFlIn0=
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
//#region src/application/logging/logger.ts
|
|
2
|
-
var Logger = class {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
var Logger = class Logger {
|
|
3
|
+
constructor(caller) {
|
|
4
|
+
this.caller = caller;
|
|
5
5
|
}
|
|
6
|
-
static
|
|
7
|
-
|
|
6
|
+
static getTimestamp() {
|
|
7
|
+
return (/* @__PURE__ */ new Date()).toISOString();
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
console.
|
|
9
|
+
logInfo(message, ...args) {
|
|
10
|
+
console.info(`INFO: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message}`, ...args);
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
console.
|
|
12
|
+
logDebug(message, ...args) {
|
|
13
|
+
console.debug(`DEBUG: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message}`, ...args);
|
|
14
|
+
}
|
|
15
|
+
logError(message, error, ...args) {
|
|
16
|
+
console.error(`ERROR: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message} error=${error}`, args);
|
|
17
|
+
}
|
|
18
|
+
logWarn(message, error, ...args) {
|
|
19
|
+
console.warn(`WARN: [envive-ai] ${Logger.getTimestamp()} - ${this.caller} - ${message} error=${error}`, args);
|
|
14
20
|
}
|
|
15
21
|
};
|
|
16
22
|
var logger_default = Logger;
|
|
17
23
|
|
|
18
24
|
//#endregion
|
|
19
25
|
export { logger_default as default };
|
|
20
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmNsYXNzIExvZ2dlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FsbGVyOiBzdHJpbmc7XG5cbiAgLyogQ3JlYXRlcyBhIG5ldyBMb2dnZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBjYWxsZXIgLSBUaGUgY2FsbGVyIG9mIHRoZSBsb2dnZXIuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjYWxsZXI6IHN0cmluZykge1xuICAgIHRoaXMuY2FsbGVyID0gY2FsbGVyO1xuICB9XG5cbiAgc3RhdGljIGdldFRpbWVzdGFtcCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gIH1cblxuICBsb2dJbmZvKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgY29uc29sZS5pbmZvKFxuICAgICAgYElORk86IFtlbnZpdmUtYWldICR7TG9nZ2VyLmdldFRpbWVzdGFtcCgpfSAtICR7dGhpcy5jYWxsZXJ9IC0gJHttZXNzYWdlfWAsXG4gICAgICAuLi5hcmdzLFxuICAgICk7XG4gIH1cblxuICBsb2dEZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSk6IHZvaWQge1xuICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICBgREVCVUc6IFtlbnZpdmUtYWldICR7TG9nZ2VyLmdldFRpbWVzdGFtcCgpfSAtICR7dGhpcy5jYWxsZXJ9IC0gJHttZXNzYWdlfWAsXG4gICAgICAuLi5hcmdzLFxuICAgICk7XG4gIH1cblxuICBsb2dFcnJvcihtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duIHwgdW5kZWZpbmVkLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgYEVSUk9SOiBbZW52aXZlLWFpXSAke0xvZ2dlci5nZXRUaW1lc3RhbXAoKX0gLSAke3RoaXMuY2FsbGVyfSAtICR7bWVzc2FnZX0gZXJyb3I9JHtlcnJvcn1gLFxuICAgICAgYXJncyxcbiAgICApO1xuICB9XG5cbiAgbG9nV2FybihtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duIHwgdW5kZWZpbmVkLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICBgV0FSTjogW2Vudml2ZS1haV0gJHtMb2dnZXIuZ2V0VGltZXN0YW1wKCl9IC0gJHt0aGlzLmNhbGxlcn0gLSAke21lc3NhZ2V9IGVycm9yPSR7ZXJyb3J9YCxcbiAgICAgIGFyZ3MsXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBMb2dnZXI7XG4iXSwibWFwcGluZ3MiOiI7QUFFQSxJQUFNLFNBQU4sTUFBTSxPQUFPO0NBTVgsWUFBWSxRQUFnQjtBQUMxQixPQUFLLFNBQVM7O0NBR2hCLE9BQU8sZUFBdUI7QUFDNUIsMEJBQU8sSUFBSSxNQUFNLEVBQUMsYUFBYTs7Q0FHakMsUUFBUSxTQUFpQixHQUFHLE1BQXVCO0FBQ2pELFVBQVEsS0FDTixxQkFBcUIsT0FBTyxjQUFjLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxXQUNqRSxHQUFHLEtBQ0o7O0NBR0gsU0FBUyxTQUFpQixHQUFHLE1BQXVCO0FBQ2xELFVBQVEsTUFDTixzQkFBc0IsT0FBTyxjQUFjLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxXQUNsRSxHQUFHLEtBQ0o7O0NBR0gsU0FBUyxTQUFpQixPQUE0QixHQUFHLE1BQXVCO0FBQzlFLFVBQVEsTUFDTixzQkFBc0IsT0FBTyxjQUFjLENBQUMsS0FBSyxLQUFLLE9BQU8sS0FBSyxRQUFRLFNBQVMsU0FDbkYsS0FDRDs7Q0FHSCxRQUFRLFNBQWlCLE9BQTRCLEdBQUcsTUFBdUI7QUFDN0UsVUFBUSxLQUNOLHFCQUFxQixPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssT0FBTyxLQUFLLFFBQVEsU0FBUyxTQUNsRixLQUNEOzs7QUFJTCxxQkFBZSJ9
|
|
@@ -4,6 +4,7 @@ const require_application_models_guards_utils = require('../utils.cjs');
|
|
|
4
4
|
let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
|
|
5
5
|
|
|
6
6
|
//#region src/application/models/guards/api/isApiFormResponse.ts
|
|
7
|
+
const logger = new require_logger.default("isApiFormResponse");
|
|
7
8
|
/**
|
|
8
9
|
* Type guard to check if the provided data has the all of the properties (with the correct types) of
|
|
9
10
|
* a FormResponseAttribute
|
|
@@ -14,33 +15,33 @@ let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
|
|
|
14
15
|
*/
|
|
15
16
|
const isApiFormResponseAttributes = (data) => {
|
|
16
17
|
if (data == null || typeof data !== "object") {
|
|
17
|
-
|
|
18
|
+
logger.logError("isApiFormResponseAttributes: data is null or not an object", void 0, { data });
|
|
18
19
|
return false;
|
|
19
20
|
}
|
|
20
21
|
if ("form_category" in data && typeof data.form_category !== "object") {
|
|
21
|
-
|
|
22
|
+
logger.logError("isApiFormResponseAttributes: form_category is not an object", void 0, { data });
|
|
22
23
|
return false;
|
|
23
24
|
}
|
|
24
25
|
if ("form_category" in data && typeof data.form_category === "object") {
|
|
25
26
|
if (!require_application_models_guards_utils.hasPropertyOfType(data.form_category, "form_type", "string") || !Object.values(__spiffy_ai_commerce_api_client.FormType).includes(data.form_category.form_type)) {
|
|
26
|
-
|
|
27
|
+
logger.logError("isApiFormResponseAttributes: form_type is missing or not a valid form type", void 0, { data });
|
|
27
28
|
return false;
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "schema", "object")) {
|
|
31
|
-
|
|
32
|
+
logger.logError("isApiFormResponseAttributes: schema is missing or not an object", void 0, { data });
|
|
32
33
|
return false;
|
|
33
34
|
}
|
|
34
35
|
if (!require_application_models_guards_utils.hasPropertyOfType(data.schema, "properties", "object")) {
|
|
35
|
-
|
|
36
|
+
logger.logError("isApiFormResponseAttributes: schema.properties is missing or not an object", void 0, { data });
|
|
36
37
|
return false;
|
|
37
38
|
}
|
|
38
39
|
if (!require_application_models_guards_utils.hasPropertyOfType(data.schema, "required", "array")) {
|
|
39
|
-
|
|
40
|
+
logger.logError("isApiFormResponseAttributes: schema.required is missing or not an array", void 0, { data });
|
|
40
41
|
return false;
|
|
41
42
|
}
|
|
42
43
|
if (!data.schema.required.every((key) => typeof key === "string" && key in data.schema.properties)) {
|
|
43
|
-
|
|
44
|
+
logger.logError("isApiFormResponseAttributes: schema.required contains invalid property keys", void 0, { data });
|
|
44
45
|
return false;
|
|
45
46
|
}
|
|
46
47
|
return true;
|
|
@@ -48,4 +49,4 @@ const isApiFormResponseAttributes = (data) => {
|
|
|
48
49
|
|
|
49
50
|
//#endregion
|
|
50
51
|
exports.isApiFormResponseAttributes = isApiFormResponseAttributes;
|
|
51
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNBcGlGb3JtUmVzcG9uc2UuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwiaGFzUHJvcGVydHlPZlR5cGUiLCJGb3JtVHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaUZvcm1SZXNwb25zZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBGb3JtVHlwZSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2VHZW5lcmljcyc7XG5pbXBvcnQgeyBoYXNQcm9wZXJ0eU9mVHlwZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL3V0aWxzJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignaXNBcGlGb3JtUmVzcG9uc2UnKTtcblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIHRoZSBwcm92aWRlZCBkYXRhIGhhcyB0aGUgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzICh3aXRoIHRoZSBjb3JyZWN0IHR5cGVzKSBvZlxuICogYSBGb3JtUmVzcG9uc2VBdHRyaWJ1dGVcbiAqXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSBkYXRhIHRvIGNoZWNrXG4gKlxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgZGF0YSBoYXMgdGhlIGNvcnJlY3QgcHJvcGVydGllcywgZmFsc2Ugb3RoZXJ3aXNlXG4gKi9cbmV4cG9ydCBjb25zdCBpc0FwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXMgPSAoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgQXBpRm9ybVJlc3BvbnNlQXR0cmlidXRlcyA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXM6IGRhdGEgaXMgbnVsbCBvciBub3QgYW4gb2JqZWN0JywgdW5kZWZpbmVkLCB7XG4gICAgICBkYXRhLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICgnZm9ybV9jYXRlZ29yeScgaW4gZGF0YSAmJiB0eXBlb2YgZGF0YS5mb3JtX2NhdGVnb3J5ICE9PSAnb2JqZWN0Jykge1xuICAgIGxvZ2dlci5sb2dFcnJvcignaXNBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzOiBmb3JtX2NhdGVnb3J5IGlzIG5vdCBhbiBvYmplY3QnLCB1bmRlZmluZWQsIHtcbiAgICAgIGRhdGEsXG4gICAgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCdmb3JtX2NhdGVnb3J5JyBpbiBkYXRhICYmIHR5cGVvZiBkYXRhLmZvcm1fY2F0ZWdvcnkgPT09ICdvYmplY3QnKSB7XG4gICAgaWYgKFxuICAgICAgIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEuZm9ybV9jYXRlZ29yeSwgJ2Zvcm1fdHlwZScsICdzdHJpbmcnKSB8fFxuICAgICAgIU9iamVjdC52YWx1ZXMoRm9ybVR5cGUpLmluY2x1ZGVzKGRhdGEuZm9ybV9jYXRlZ29yeS5mb3JtX3R5cGUgYXMgRm9ybVR5cGUpXG4gICAgKSB7XG4gICAgICBsb2dnZXIubG9nRXJyb3IoXG4gICAgICAgICdpc0FwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXM6IGZvcm1fdHlwZSBpcyBtaXNzaW5nIG9yIG5vdCBhIHZhbGlkIGZvcm0gdHlwZScsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAge1xuICAgICAgICAgIGRhdGEsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ3NjaGVtYScsICdvYmplY3QnKSkge1xuICAgIGxvZ2dlci5sb2dFcnJvcignaXNBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzOiBzY2hlbWEgaXMgbWlzc2luZyBvciBub3QgYW4gb2JqZWN0JywgdW5kZWZpbmVkLCB7XG4gICAgICBkYXRhLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIFRPRE86IGFsc28gd2FubmEgdmFsaWRhdGUgdGhlIGZpZWxkcyBvZiBkYXRhLnNjaGVtYS5wcm9wZXJ0aWVzIGJ1dCBtaWdodCB3YW5uYSBjaGFuZ2UgdGhlIHNjaGVtYVxuICAvLyB0byBub3QgaGF2ZSB0aGUgcHJvcGVydHkgbmFtZSBhcyBhIGtleSBpbiB0aGUgb2JqZWN0XG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YS5zY2hlbWEsICdwcm9wZXJ0aWVzJywgJ29iamVjdCcpKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ2lzQXBpRm9ybVJlc3BvbnNlQXR0cmlidXRlczogc2NoZW1hLnByb3BlcnRpZXMgaXMgbWlzc2luZyBvciBub3QgYW4gb2JqZWN0JyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHtcbiAgICAgICAgZGF0YSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEuc2NoZW1hLCAncmVxdWlyZWQnLCAnYXJyYXknKSkge1xuICAgIGxvZ2dlci5sb2dFcnJvcihcbiAgICAgICdpc0FwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXM6IHNjaGVtYS5yZXF1aXJlZCBpcyBtaXNzaW5nIG9yIG5vdCBhbiBhcnJheScsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB7IGRhdGEgfSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChcbiAgICAhZGF0YS5zY2hlbWEucmVxdWlyZWQuZXZlcnkoXG4gICAgICAoa2V5OiB1bmtub3duKSA9PiB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJiBrZXkgaW4gZGF0YS5zY2hlbWEucHJvcGVydGllcyxcbiAgICApXG4gICkge1xuICAgIGxvZ2dlci5sb2dFcnJvcihcbiAgICAgICdpc0FwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXM6IHNjaGVtYS5yZXF1aXJlZCBjb250YWlucyBpbnZhbGlkIHByb3BlcnR5IGtleXMnLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAge1xuICAgICAgICBkYXRhLFxuICAgICAgfSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBS0EsTUFBTSxTQUFTLElBQUlBLHVCQUFPLG9CQUFvQjs7Ozs7Ozs7O0FBVTlDLE1BQWEsK0JBQStCLFNBQXFEO0FBQy9GLEtBQUksUUFBUSxRQUFRLE9BQU8sU0FBUyxVQUFVO0FBQzVDLFNBQU8sU0FBUyw4REFBOEQsUUFBVyxFQUN2RixNQUNELENBQUM7QUFDRixTQUFPOztBQUdULEtBQUksbUJBQW1CLFFBQVEsT0FBTyxLQUFLLGtCQUFrQixVQUFVO0FBQ3JFLFNBQU8sU0FBUywrREFBK0QsUUFBVyxFQUN4RixNQUNELENBQUM7QUFDRixTQUFPOztBQUdULEtBQUksbUJBQW1CLFFBQVEsT0FBTyxLQUFLLGtCQUFrQixVQUMzRDtNQUNFLENBQUNDLDBEQUFrQixLQUFLLGVBQWUsYUFBYSxTQUFTLElBQzdELENBQUMsT0FBTyxPQUFPQyx5Q0FBUyxDQUFDLFNBQVMsS0FBSyxjQUFjLFVBQXNCLEVBQzNFO0FBQ0EsVUFBTyxTQUNMLDhFQUNBLFFBQ0EsRUFDRSxNQUNELENBQ0Y7QUFDRCxVQUFPOzs7QUFJWCxLQUFJLENBQUNELDBEQUFrQixNQUFNLFVBQVUsU0FBUyxFQUFFO0FBQ2hELFNBQU8sU0FBUyxtRUFBbUUsUUFBVyxFQUM1RixNQUNELENBQUM7QUFDRixTQUFPOztBQUtULEtBQUksQ0FBQ0EsMERBQWtCLEtBQUssUUFBUSxjQUFjLFNBQVMsRUFBRTtBQUMzRCxTQUFPLFNBQ0wsOEVBQ0EsUUFDQSxFQUNFLE1BQ0QsQ0FDRjtBQUNELFNBQU87O0FBR1QsS0FBSSxDQUFDQSwwREFBa0IsS0FBSyxRQUFRLFlBQVksUUFBUSxFQUFFO0FBQ3hELFNBQU8sU0FDTCwyRUFDQSxRQUNBLEVBQUUsTUFBTSxDQUNUO0FBQ0QsU0FBTzs7QUFHVCxLQUNFLENBQUMsS0FBSyxPQUFPLFNBQVMsT0FDbkIsUUFBaUIsT0FBTyxRQUFRLFlBQVksT0FBTyxLQUFLLE9BQU8sV0FDakUsRUFDRDtBQUNBLFNBQU8sU0FDTCwrRUFDQSxRQUNBLEVBQ0UsTUFDRCxDQUNGO0FBQ0QsU0FBTzs7QUFHVCxRQUFPIn0=
|
|
@@ -3,6 +3,7 @@ import { hasPropertyOfType } from "../utils.js";
|
|
|
3
3
|
import { FormType } from "@spiffy-ai/commerce-api-client";
|
|
4
4
|
|
|
5
5
|
//#region src/application/models/guards/api/isApiFormResponse.ts
|
|
6
|
+
const logger = new logger_default("isApiFormResponse");
|
|
6
7
|
/**
|
|
7
8
|
* Type guard to check if the provided data has the all of the properties (with the correct types) of
|
|
8
9
|
* a FormResponseAttribute
|
|
@@ -13,33 +14,33 @@ import { FormType } from "@spiffy-ai/commerce-api-client";
|
|
|
13
14
|
*/
|
|
14
15
|
const isApiFormResponseAttributes = (data) => {
|
|
15
16
|
if (data == null || typeof data !== "object") {
|
|
16
|
-
|
|
17
|
+
logger.logError("isApiFormResponseAttributes: data is null or not an object", void 0, { data });
|
|
17
18
|
return false;
|
|
18
19
|
}
|
|
19
20
|
if ("form_category" in data && typeof data.form_category !== "object") {
|
|
20
|
-
|
|
21
|
+
logger.logError("isApiFormResponseAttributes: form_category is not an object", void 0, { data });
|
|
21
22
|
return false;
|
|
22
23
|
}
|
|
23
24
|
if ("form_category" in data && typeof data.form_category === "object") {
|
|
24
25
|
if (!hasPropertyOfType(data.form_category, "form_type", "string") || !Object.values(FormType).includes(data.form_category.form_type)) {
|
|
25
|
-
|
|
26
|
+
logger.logError("isApiFormResponseAttributes: form_type is missing or not a valid form type", void 0, { data });
|
|
26
27
|
return false;
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
if (!hasPropertyOfType(data, "schema", "object")) {
|
|
30
|
-
|
|
31
|
+
logger.logError("isApiFormResponseAttributes: schema is missing or not an object", void 0, { data });
|
|
31
32
|
return false;
|
|
32
33
|
}
|
|
33
34
|
if (!hasPropertyOfType(data.schema, "properties", "object")) {
|
|
34
|
-
|
|
35
|
+
logger.logError("isApiFormResponseAttributes: schema.properties is missing or not an object", void 0, { data });
|
|
35
36
|
return false;
|
|
36
37
|
}
|
|
37
38
|
if (!hasPropertyOfType(data.schema, "required", "array")) {
|
|
38
|
-
|
|
39
|
+
logger.logError("isApiFormResponseAttributes: schema.required is missing or not an array", void 0, { data });
|
|
39
40
|
return false;
|
|
40
41
|
}
|
|
41
42
|
if (!data.schema.required.every((key) => typeof key === "string" && key in data.schema.properties)) {
|
|
42
|
-
|
|
43
|
+
logger.logError("isApiFormResponseAttributes: schema.required contains invalid property keys", void 0, { data });
|
|
43
44
|
return false;
|
|
44
45
|
}
|
|
45
46
|
return true;
|
|
@@ -47,4 +48,4 @@ const isApiFormResponseAttributes = (data) => {
|
|
|
47
48
|
|
|
48
49
|
//#endregion
|
|
49
50
|
export { isApiFormResponseAttributes };
|
|
50
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNBcGlGb3JtUmVzcG9uc2UuanMiLCJuYW1lcyI6WyJMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlGb3JtUmVzcG9uc2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgRm9ybVR5cGUgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQXBpRm9ybVJlc3BvbnNlQXR0cmlidXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlR2VuZXJpY3MnO1xuaW1wb3J0IHsgaGFzUHJvcGVydHlPZlR5cGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy91dGlscyc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ2lzQXBpRm9ybVJlc3BvbnNlJyk7XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiB0aGUgcHJvdmlkZWQgZGF0YSBoYXMgdGhlIGFsbCBvZiB0aGUgcHJvcGVydGllcyAod2l0aCB0aGUgY29ycmVjdCB0eXBlcykgb2ZcbiAqIGEgRm9ybVJlc3BvbnNlQXR0cmlidXRlXG4gKlxuICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSB0byBjaGVja1xuICpcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGRhdGEgaGFzIHRoZSBjb3JyZWN0IHByb3BlcnRpZXMsIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnQgY29uc3QgaXNBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzID0gKGRhdGE6IHVua25vd24pOiBkYXRhIGlzIEFwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXMgPT4ge1xuICBpZiAoZGF0YSA9PSBudWxsIHx8IHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0Jykge1xuICAgIGxvZ2dlci5sb2dFcnJvcignaXNBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzOiBkYXRhIGlzIG51bGwgb3Igbm90IGFuIG9iamVjdCcsIHVuZGVmaW5lZCwge1xuICAgICAgZGF0YSxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoJ2Zvcm1fY2F0ZWdvcnknIGluIGRhdGEgJiYgdHlwZW9mIGRhdGEuZm9ybV9jYXRlZ29yeSAhPT0gJ29iamVjdCcpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoJ2lzQXBpRm9ybVJlc3BvbnNlQXR0cmlidXRlczogZm9ybV9jYXRlZ29yeSBpcyBub3QgYW4gb2JqZWN0JywgdW5kZWZpbmVkLCB7XG4gICAgICBkYXRhLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICgnZm9ybV9jYXRlZ29yeScgaW4gZGF0YSAmJiB0eXBlb2YgZGF0YS5mb3JtX2NhdGVnb3J5ID09PSAnb2JqZWN0Jykge1xuICAgIGlmIChcbiAgICAgICFoYXNQcm9wZXJ0eU9mVHlwZShkYXRhLmZvcm1fY2F0ZWdvcnksICdmb3JtX3R5cGUnLCAnc3RyaW5nJykgfHxcbiAgICAgICFPYmplY3QudmFsdWVzKEZvcm1UeXBlKS5pbmNsdWRlcyhkYXRhLmZvcm1fY2F0ZWdvcnkuZm9ybV90eXBlIGFzIEZvcm1UeXBlKVxuICAgICkge1xuICAgICAgbG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgICAnaXNBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzOiBmb3JtX3R5cGUgaXMgbWlzc2luZyBvciBub3QgYSB2YWxpZCBmb3JtIHR5cGUnLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIHtcbiAgICAgICAgICBkYXRhLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdzY2hlbWEnLCAnb2JqZWN0JykpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoJ2lzQXBpRm9ybVJlc3BvbnNlQXR0cmlidXRlczogc2NoZW1hIGlzIG1pc3Npbmcgb3Igbm90IGFuIG9iamVjdCcsIHVuZGVmaW5lZCwge1xuICAgICAgZGF0YSxcbiAgICB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBUT0RPOiBhbHNvIHdhbm5hIHZhbGlkYXRlIHRoZSBmaWVsZHMgb2YgZGF0YS5zY2hlbWEucHJvcGVydGllcyBidXQgbWlnaHQgd2FubmEgY2hhbmdlIHRoZSBzY2hlbWFcbiAgLy8gdG8gbm90IGhhdmUgdGhlIHByb3BlcnR5IG5hbWUgYXMgYSBrZXkgaW4gdGhlIG9iamVjdFxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEuc2NoZW1hLCAncHJvcGVydGllcycsICdvYmplY3QnKSkge1xuICAgIGxvZ2dlci5sb2dFcnJvcihcbiAgICAgICdpc0FwaUZvcm1SZXNwb25zZUF0dHJpYnV0ZXM6IHNjaGVtYS5wcm9wZXJ0aWVzIGlzIG1pc3Npbmcgb3Igbm90IGFuIG9iamVjdCcsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB7XG4gICAgICAgIGRhdGEsXG4gICAgICB9LFxuICAgICk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShkYXRhLnNjaGVtYSwgJ3JlcXVpcmVkJywgJ2FycmF5JykpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoXG4gICAgICAnaXNBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzOiBzY2hlbWEucmVxdWlyZWQgaXMgbWlzc2luZyBvciBub3QgYW4gYXJyYXknLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgeyBkYXRhIH0sXG4gICAgKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoXG4gICAgIWRhdGEuc2NoZW1hLnJlcXVpcmVkLmV2ZXJ5KFxuICAgICAgKGtleTogdW5rbm93bikgPT4gdHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiYga2V5IGluIGRhdGEuc2NoZW1hLnByb3BlcnRpZXMsXG4gICAgKVxuICApIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoXG4gICAgICAnaXNBcGlGb3JtUmVzcG9uc2VBdHRyaWJ1dGVzOiBzY2hlbWEucmVxdWlyZWQgY29udGFpbnMgaW52YWxpZCBwcm9wZXJ0eSBrZXlzJyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHtcbiAgICAgICAgZGF0YSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0EsTUFBTSxTQUFTLElBQUlBLGVBQU8sb0JBQW9COzs7Ozs7Ozs7QUFVOUMsTUFBYSwrQkFBK0IsU0FBcUQ7QUFDL0YsS0FBSSxRQUFRLFFBQVEsT0FBTyxTQUFTLFVBQVU7QUFDNUMsU0FBTyxTQUFTLDhEQUE4RCxRQUFXLEVBQ3ZGLE1BQ0QsQ0FBQztBQUNGLFNBQU87O0FBR1QsS0FBSSxtQkFBbUIsUUFBUSxPQUFPLEtBQUssa0JBQWtCLFVBQVU7QUFDckUsU0FBTyxTQUFTLCtEQUErRCxRQUFXLEVBQ3hGLE1BQ0QsQ0FBQztBQUNGLFNBQU87O0FBR1QsS0FBSSxtQkFBbUIsUUFBUSxPQUFPLEtBQUssa0JBQWtCLFVBQzNEO01BQ0UsQ0FBQyxrQkFBa0IsS0FBSyxlQUFlLGFBQWEsU0FBUyxJQUM3RCxDQUFDLE9BQU8sT0FBTyxTQUFTLENBQUMsU0FBUyxLQUFLLGNBQWMsVUFBc0IsRUFDM0U7QUFDQSxVQUFPLFNBQ0wsOEVBQ0EsUUFDQSxFQUNFLE1BQ0QsQ0FDRjtBQUNELFVBQU87OztBQUlYLEtBQUksQ0FBQyxrQkFBa0IsTUFBTSxVQUFVLFNBQVMsRUFBRTtBQUNoRCxTQUFPLFNBQVMsbUVBQW1FLFFBQVcsRUFDNUYsTUFDRCxDQUFDO0FBQ0YsU0FBTzs7QUFLVCxLQUFJLENBQUMsa0JBQWtCLEtBQUssUUFBUSxjQUFjLFNBQVMsRUFBRTtBQUMzRCxTQUFPLFNBQ0wsOEVBQ0EsUUFDQSxFQUNFLE1BQ0QsQ0FDRjtBQUNELFNBQU87O0FBR1QsS0FBSSxDQUFDLGtCQUFrQixLQUFLLFFBQVEsWUFBWSxRQUFRLEVBQUU7QUFDeEQsU0FBTyxTQUNMLDJFQUNBLFFBQ0EsRUFBRSxNQUFNLENBQ1Q7QUFDRCxTQUFPOztBQUdULEtBQ0UsQ0FBQyxLQUFLLE9BQU8sU0FBUyxPQUNuQixRQUFpQixPQUFPLFFBQVEsWUFBWSxPQUFPLEtBQUssT0FBTyxXQUNqRSxFQUNEO0FBQ0EsU0FBTyxTQUNMLCtFQUNBLFFBQ0EsRUFDRSxNQUNELENBQ0Y7QUFDRCxTQUFPOztBQUdULFFBQU8ifQ==
|
|
@@ -4,21 +4,22 @@ const require_application_models_guards_utils = require('../utils.cjs');
|
|
|
4
4
|
let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
|
|
5
5
|
|
|
6
6
|
//#region src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts
|
|
7
|
+
const logger = new require_logger.default("isApiFormSubmittedResponseAttributes");
|
|
7
8
|
const isApiFormSubmittedResponseAttributes = (data) => {
|
|
8
9
|
if (data == null || typeof data !== "object") {
|
|
9
|
-
|
|
10
|
+
logger.logError("isApiFormSubmittedResponseAttributes", "data is null or not an object", data);
|
|
10
11
|
return false;
|
|
11
12
|
}
|
|
12
13
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "filled_schema", "object")) {
|
|
13
|
-
|
|
14
|
+
logger.logError("isApiFormSubmittedResponseAttributes", "filled_schema is not an object", data);
|
|
14
15
|
return false;
|
|
15
16
|
}
|
|
16
17
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "form_response_id", "string")) {
|
|
17
|
-
|
|
18
|
+
logger.logError("isApiFormSubmittedResponseAttributes", "form_response_id is not a string", data);
|
|
18
19
|
return false;
|
|
19
20
|
}
|
|
20
21
|
if (!("form_type" in data) || !Object.values(__spiffy_ai_commerce_api_client.FormType).includes(data.form_type)) {
|
|
21
|
-
|
|
22
|
+
logger.logError("isApiFormSubmittedResponseAttributes", "form_type is not a valid form type enum", data);
|
|
22
23
|
return false;
|
|
23
24
|
}
|
|
24
25
|
return true;
|
|
@@ -26,4 +27,4 @@ const isApiFormSubmittedResponseAttributes = (data) => {
|
|
|
26
27
|
|
|
27
28
|
//#endregion
|
|
28
29
|
exports.isApiFormSubmittedResponseAttributes = isApiFormSubmittedResponseAttributes;
|
|
29
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNBcGlGb3JtU3VibWl0dGVkUmVzcG9uc2VBdHRyaWJ1dGVzLmNqcyIsIm5hbWVzIjpbIkxvZ2dlciIsImhhc1Byb3BlcnR5T2ZUeXBlIiwiRm9ybVR5cGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy9hcGkvaXNBcGlGb3JtU3VibWl0dGVkUmVzcG9uc2VBdHRyaWJ1dGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzLCBGb3JtVHlwZSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBoYXNQcm9wZXJ0eU9mVHlwZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL3V0aWxzJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignaXNBcGlGb3JtU3VibWl0dGVkUmVzcG9uc2VBdHRyaWJ1dGVzJyk7XG5cbmV4cG9ydCBjb25zdCBpc0FwaUZvcm1TdWJtaXR0ZWRSZXNwb25zZUF0dHJpYnV0ZXMgPSAoXG4gIGRhdGE6IHVua25vd24sXG4pOiBkYXRhIGlzIEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzID0+IHtcbiAgaWYgKGRhdGEgPT0gbnVsbCB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoJ2lzQXBpRm9ybVN1Ym1pdHRlZFJlc3BvbnNlQXR0cmlidXRlcycsICdkYXRhIGlzIG51bGwgb3Igbm90IGFuIG9iamVjdCcsIGRhdGEpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ2ZpbGxlZF9zY2hlbWEnLCAnb2JqZWN0JykpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoJ2lzQXBpRm9ybVN1Ym1pdHRlZFJlc3BvbnNlQXR0cmlidXRlcycsICdmaWxsZWRfc2NoZW1hIGlzIG5vdCBhbiBvYmplY3QnLCBkYXRhKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdmb3JtX3Jlc3BvbnNlX2lkJywgJ3N0cmluZycpKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ2lzQXBpRm9ybVN1Ym1pdHRlZFJlc3BvbnNlQXR0cmlidXRlcycsXG4gICAgICAnZm9ybV9yZXNwb25zZV9pZCBpcyBub3QgYSBzdHJpbmcnLFxuICAgICAgZGF0YSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghKCdmb3JtX3R5cGUnIGluIGRhdGEpIHx8ICFPYmplY3QudmFsdWVzKEZvcm1UeXBlKS5pbmNsdWRlcyhkYXRhLmZvcm1fdHlwZSBhcyBGb3JtVHlwZSkpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoXG4gICAgICAnaXNBcGlGb3JtU3VibWl0dGVkUmVzcG9uc2VBdHRyaWJ1dGVzJyxcbiAgICAgICdmb3JtX3R5cGUgaXMgbm90IGEgdmFsaWQgZm9ybSB0eXBlIGVudW0nLFxuICAgICAgZGF0YSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBSUEsTUFBTSxTQUFTLElBQUlBLHVCQUFPLHVDQUF1QztBQUVqRSxNQUFhLHdDQUNYLFNBQ29DO0FBQ3BDLEtBQUksUUFBUSxRQUFRLE9BQU8sU0FBUyxVQUFVO0FBQzVDLFNBQU8sU0FBUyx3Q0FBd0MsaUNBQWlDLEtBQUs7QUFDOUYsU0FBTzs7QUFHVCxLQUFJLENBQUNDLDBEQUFrQixNQUFNLGlCQUFpQixTQUFTLEVBQUU7QUFDdkQsU0FBTyxTQUFTLHdDQUF3QyxrQ0FBa0MsS0FBSztBQUMvRixTQUFPOztBQUdULEtBQUksQ0FBQ0EsMERBQWtCLE1BQU0sb0JBQW9CLFNBQVMsRUFBRTtBQUMxRCxTQUFPLFNBQ0wsd0NBQ0Esb0NBQ0EsS0FDRDtBQUNELFNBQU87O0FBR1QsS0FBSSxFQUFFLGVBQWUsU0FBUyxDQUFDLE9BQU8sT0FBT0MseUNBQVMsQ0FBQyxTQUFTLEtBQUssVUFBc0IsRUFBRTtBQUMzRixTQUFPLFNBQ0wsd0NBQ0EsMkNBQ0EsS0FDRDtBQUNELFNBQU87O0FBR1QsUUFBTyJ9
|
|
@@ -3,21 +3,22 @@ import { hasPropertyOfType } from "../utils.js";
|
|
|
3
3
|
import { FormType } from "@spiffy-ai/commerce-api-client";
|
|
4
4
|
|
|
5
5
|
//#region src/application/models/guards/api/isApiFormSubmittedResponseAttributes.ts
|
|
6
|
+
const logger = new logger_default("isApiFormSubmittedResponseAttributes");
|
|
6
7
|
const isApiFormSubmittedResponseAttributes = (data) => {
|
|
7
8
|
if (data == null || typeof data !== "object") {
|
|
8
|
-
|
|
9
|
+
logger.logError("isApiFormSubmittedResponseAttributes", "data is null or not an object", data);
|
|
9
10
|
return false;
|
|
10
11
|
}
|
|
11
12
|
if (!hasPropertyOfType(data, "filled_schema", "object")) {
|
|
12
|
-
|
|
13
|
+
logger.logError("isApiFormSubmittedResponseAttributes", "filled_schema is not an object", data);
|
|
13
14
|
return false;
|
|
14
15
|
}
|
|
15
16
|
if (!hasPropertyOfType(data, "form_response_id", "string")) {
|
|
16
|
-
|
|
17
|
+
logger.logError("isApiFormSubmittedResponseAttributes", "form_response_id is not a string", data);
|
|
17
18
|
return false;
|
|
18
19
|
}
|
|
19
20
|
if (!("form_type" in data) || !Object.values(FormType).includes(data.form_type)) {
|
|
20
|
-
|
|
21
|
+
logger.logError("isApiFormSubmittedResponseAttributes", "form_type is not a valid form type enum", data);
|
|
21
22
|
return false;
|
|
22
23
|
}
|
|
23
24
|
return true;
|
|
@@ -25,4 +26,4 @@ const isApiFormSubmittedResponseAttributes = (data) => {
|
|
|
25
26
|
|
|
26
27
|
//#endregion
|
|
27
28
|
export { isApiFormSubmittedResponseAttributes };
|
|
28
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNBcGlGb3JtU3VibWl0dGVkUmVzcG9uc2VBdHRyaWJ1dGVzLmpzIiwibmFtZXMiOlsiTG9nZ2VyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvYXBpL2lzQXBpRm9ybVN1Ym1pdHRlZFJlc3BvbnNlQXR0cmlidXRlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcywgRm9ybVR5cGUgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgaGFzUHJvcGVydHlPZlR5cGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2d1YXJkcy91dGlscyc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ2lzQXBpRm9ybVN1Ym1pdHRlZFJlc3BvbnNlQXR0cmlidXRlcycpO1xuXG5leHBvcnQgY29uc3QgaXNBcGlGb3JtU3VibWl0dGVkUmVzcG9uc2VBdHRyaWJ1dGVzID0gKFxuICBkYXRhOiB1bmtub3duLFxuKTogZGF0YSBpcyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcyA9PiB7XG4gIGlmIChkYXRhID09IG51bGwgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaUZvcm1TdWJtaXR0ZWRSZXNwb25zZUF0dHJpYnV0ZXMnLCAnZGF0YSBpcyBudWxsIG9yIG5vdCBhbiBvYmplY3QnLCBkYXRhKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdmaWxsZWRfc2NoZW1hJywgJ29iamVjdCcpKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKCdpc0FwaUZvcm1TdWJtaXR0ZWRSZXNwb25zZUF0dHJpYnV0ZXMnLCAnZmlsbGVkX3NjaGVtYSBpcyBub3QgYW4gb2JqZWN0JywgZGF0YSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShkYXRhLCAnZm9ybV9yZXNwb25zZV9pZCcsICdzdHJpbmcnKSkge1xuICAgIGxvZ2dlci5sb2dFcnJvcihcbiAgICAgICdpc0FwaUZvcm1TdWJtaXR0ZWRSZXNwb25zZUF0dHJpYnV0ZXMnLFxuICAgICAgJ2Zvcm1fcmVzcG9uc2VfaWQgaXMgbm90IGEgc3RyaW5nJyxcbiAgICAgIGRhdGEsXG4gICAgKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoISgnZm9ybV90eXBlJyBpbiBkYXRhKSB8fCAhT2JqZWN0LnZhbHVlcyhGb3JtVHlwZSkuaW5jbHVkZXMoZGF0YS5mb3JtX3R5cGUgYXMgRm9ybVR5cGUpKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ2lzQXBpRm9ybVN1Ym1pdHRlZFJlc3BvbnNlQXR0cmlidXRlcycsXG4gICAgICAnZm9ybV90eXBlIGlzIG5vdCBhIHZhbGlkIGZvcm0gdHlwZSBlbnVtJyxcbiAgICAgIGRhdGEsXG4gICAgKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBSUEsTUFBTSxTQUFTLElBQUlBLGVBQU8sdUNBQXVDO0FBRWpFLE1BQWEsd0NBQ1gsU0FDb0M7QUFDcEMsS0FBSSxRQUFRLFFBQVEsT0FBTyxTQUFTLFVBQVU7QUFDNUMsU0FBTyxTQUFTLHdDQUF3QyxpQ0FBaUMsS0FBSztBQUM5RixTQUFPOztBQUdULEtBQUksQ0FBQyxrQkFBa0IsTUFBTSxpQkFBaUIsU0FBUyxFQUFFO0FBQ3ZELFNBQU8sU0FBUyx3Q0FBd0Msa0NBQWtDLEtBQUs7QUFDL0YsU0FBTzs7QUFHVCxLQUFJLENBQUMsa0JBQWtCLE1BQU0sb0JBQW9CLFNBQVMsRUFBRTtBQUMxRCxTQUFPLFNBQ0wsd0NBQ0Esb0NBQ0EsS0FDRDtBQUNELFNBQU87O0FBR1QsS0FBSSxFQUFFLGVBQWUsU0FBUyxDQUFDLE9BQU8sT0FBTyxTQUFTLENBQUMsU0FBUyxLQUFLLFVBQXNCLEVBQUU7QUFDM0YsU0FBTyxTQUNMLHdDQUNBLDJDQUNBLEtBQ0Q7QUFDRCxTQUFPOztBQUdULFFBQU8ifQ==
|
|
@@ -2,76 +2,77 @@ const require_logger = require('../../../logging/logger.cjs');
|
|
|
2
2
|
const require_application_models_guards_utils = require('../utils.cjs');
|
|
3
3
|
|
|
4
4
|
//#region src/application/models/guards/api/isApiOrderResponseAttributes.ts
|
|
5
|
+
const logger = new require_logger.default("isApiOrderResponseAttributes");
|
|
5
6
|
const isApiOrderItemInfo = (data) => {
|
|
6
7
|
if (data == null || typeof data !== "object") {
|
|
7
|
-
|
|
8
|
+
logger.logError("OrderItemInfo must be an object", void 0, { data });
|
|
8
9
|
return false;
|
|
9
10
|
}
|
|
10
11
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "order_item_id", "string")) {
|
|
11
|
-
|
|
12
|
+
logger.logError("OrderItemInfo must have an order_item_id property", void 0, { data });
|
|
12
13
|
return false;
|
|
13
14
|
}
|
|
14
15
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "item_title", "string")) {
|
|
15
|
-
|
|
16
|
+
logger.logError("OrderItemInfo must have an item_title property", void 0, { data });
|
|
16
17
|
return false;
|
|
17
18
|
}
|
|
18
19
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "item_price", "number")) {
|
|
19
|
-
|
|
20
|
+
logger.logError("OrderItemInfo must have an item_price property", void 0, { data });
|
|
20
21
|
return false;
|
|
21
22
|
}
|
|
22
23
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "item_quantity", "number")) {
|
|
23
|
-
|
|
24
|
+
logger.logError("OrderItemInfo must have an item_quantity property", void 0, { data });
|
|
24
25
|
return false;
|
|
25
26
|
}
|
|
26
27
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "image", "string", true)) {
|
|
27
|
-
|
|
28
|
+
logger.logError("OrderItemInfo.image must be a string or null", void 0, { data });
|
|
28
29
|
return false;
|
|
29
30
|
}
|
|
30
31
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "fulfillment_display_status", "string", true)) {
|
|
31
|
-
|
|
32
|
+
logger.logError("OrderItemInfo.fulfillment_display_status must be a string or null", void 0, { data });
|
|
32
33
|
return false;
|
|
33
34
|
}
|
|
34
35
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "tracking_url", "string", true)) {
|
|
35
|
-
|
|
36
|
+
logger.logError("OrderItemInfo.tracking_url must be a string or null", void 0, { data });
|
|
36
37
|
return false;
|
|
37
38
|
}
|
|
38
39
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "delivered_at", "string", true)) {
|
|
39
|
-
|
|
40
|
+
logger.logError("OrderItemInfo.delivered_at must be a string or null", void 0, { data });
|
|
40
41
|
return false;
|
|
41
42
|
}
|
|
42
43
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "estimated_delivery_at", "string", true)) {
|
|
43
|
-
|
|
44
|
+
logger.logError("OrderItemInfo.estimated_delivery_at must be a string or null", void 0, { data });
|
|
44
45
|
return false;
|
|
45
46
|
}
|
|
46
47
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "in_transit_at", "string", true)) {
|
|
47
|
-
|
|
48
|
+
logger.logError("OrderItemInfo.in_transit_at must be a string or null", void 0, { data });
|
|
48
49
|
return false;
|
|
49
50
|
}
|
|
50
51
|
return true;
|
|
51
52
|
};
|
|
52
53
|
const isApiOrderResponseAttributes = (data) => {
|
|
53
54
|
if (data == null || typeof data !== "object") {
|
|
54
|
-
|
|
55
|
+
logger.logError("Order response attributes must be an object", void 0, { data });
|
|
55
56
|
return false;
|
|
56
57
|
}
|
|
57
58
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "created_at", "string")) {
|
|
58
|
-
|
|
59
|
+
logger.logError("Order response attributes must have a created_at property and have type string", void 0, { data });
|
|
59
60
|
return false;
|
|
60
61
|
}
|
|
61
62
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "latest_event_date", "string")) {
|
|
62
|
-
|
|
63
|
+
logger.logError("Order response attributes must have a latest_event_date property and have type string", void 0, { data });
|
|
63
64
|
return false;
|
|
64
65
|
}
|
|
65
66
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "line_items", "array") || !data.line_items.every((item) => isApiOrderItemInfo(item))) {
|
|
66
|
-
|
|
67
|
+
logger.logError("Order response attributes must have a line_items property with at least one order item", void 0, { data });
|
|
67
68
|
return false;
|
|
68
69
|
}
|
|
69
70
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "order_id", "string")) {
|
|
70
|
-
|
|
71
|
+
logger.logError("Order response attributes must have an order_id property and have type string", void 0, { data });
|
|
71
72
|
return false;
|
|
72
73
|
}
|
|
73
74
|
if (!require_application_models_guards_utils.hasPropertyOfType(data, "order_number", "string")) {
|
|
74
|
-
|
|
75
|
+
logger.logError("Order response attributes must have an order_number property and have type string", void 0, { data });
|
|
75
76
|
return false;
|
|
76
77
|
}
|
|
77
78
|
return true;
|
|
@@ -79,4 +80,4 @@ const isApiOrderResponseAttributes = (data) => {
|
|
|
79
80
|
|
|
80
81
|
//#endregion
|
|
81
82
|
exports.isApiOrderResponseAttributes = isApiOrderResponseAttributes;
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNBcGlPcmRlclJlc3BvbnNlQXR0cmlidXRlcy5janMiLCJuYW1lcyI6WyJMb2dnZXIiLCJoYXNQcm9wZXJ0eU9mVHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZ3VhcmRzL2FwaS9pc0FwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IE9yZGVySXRlbUluZm8sIE9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IGhhc1Byb3BlcnR5T2ZUeXBlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9ndWFyZHMvdXRpbHMnO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdpc0FwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzJyk7XG5cbi8vIHRoZSBjbGllbnQgU0RLIGdlbmVyYXRlcyBkYXRlLXRpbWUgZm9ybWF0IHR5cGVzIGFzIGBEYXRlYCBidXQgdGhlIG9wZW5hcGkgdHlwZXNjcmlwdCBnZW5lcmF0b3Jcbi8vIGRvZXMgbm90IGNvcnJlY3RseSBkZXNlcmlhbGl6ZSBkYXRlLXRpbWUgdmFsdWVzIHNvIHRoZXkgYXJlIGFsd2F5cyBgc3RyaW5nYCBhdCBydW50aW1lIGluc3RlYWQgb2Zcbi8vIGBEYXRlYCBvYmplY3RzLiBUaGVzZSBpbnRlcmZhY2VzIG92ZXJyaWRlIHRoZSBTREsgdHlwZXMgc28gdGhhdCB3ZSBjYW4gdmFsaWRhdGUgYWdhaW5zdCB0aGUgYWN0dWFsXG4vLyBgc3RyaW5nYCB2YWx1ZXMuIGh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuQVBJVG9vbHMvb3BlbmFwaS1nZW5lcmF0b3IvaXNzdWVzLzkyNlxuZXhwb3J0IGludGVyZmFjZSBBcGlPcmRlckl0ZW1JbmZvIGV4dGVuZHMgT21pdDxcbiAgT3JkZXJJdGVtSW5mbyxcbiAgJ2RlbGl2ZXJlZF9hdCcgfCAnZXN0aW1hdGVkX2RlbGl2ZXJ5X2F0JyB8ICdpbl90cmFuc2l0X2F0J1xuPiB7XG4gIGRlbGl2ZXJlZF9hdD86IHN0cmluZztcbiAgZXN0aW1hdGVkX2RlbGl2ZXJ5X2F0Pzogc3RyaW5nO1xuICBpbl90cmFuc2l0X2F0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzIGV4dGVuZHMgT21pdDxcbiAgT3JkZXJSZXNwb25zZUF0dHJpYnV0ZXMsXG4gICdjcmVhdGVkX2F0JyB8ICdsYXRlc3RfZXZlbnRfZGF0ZScgfCAnbGluZV9pdGVtcydcbj4ge1xuICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gIGxhdGVzdF9ldmVudF9kYXRlOiBzdHJpbmc7XG4gIGxpbmVfaXRlbXM6IEFwaU9yZGVySXRlbUluZm9bXTtcbn1cblxuY29uc3QgaXNBcGlPcmRlckl0ZW1JbmZvID0gKGRhdGE6IHVua25vd24pOiBkYXRhIGlzIEFwaU9yZGVySXRlbUluZm8gPT4ge1xuICBpZiAoZGF0YSA9PSBudWxsIHx8IHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0Jykge1xuICAgIGxvZ2dlci5sb2dFcnJvcignT3JkZXJJdGVtSW5mbyBtdXN0IGJlIGFuIG9iamVjdCcsIHVuZGVmaW5lZCwgeyBkYXRhIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ29yZGVyX2l0ZW1faWQnLCAnc3RyaW5nJykpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoJ09yZGVySXRlbUluZm8gbXVzdCBoYXZlIGFuIG9yZGVyX2l0ZW1faWQgcHJvcGVydHknLCB1bmRlZmluZWQsIHsgZGF0YSB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdpdGVtX3RpdGxlJywgJ3N0cmluZycpKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKCdPcmRlckl0ZW1JbmZvIG11c3QgaGF2ZSBhbiBpdGVtX3RpdGxlIHByb3BlcnR5JywgdW5kZWZpbmVkLCB7IGRhdGEgfSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShkYXRhLCAnaXRlbV9wcmljZScsICdudW1iZXInKSkge1xuICAgIGxvZ2dlci5sb2dFcnJvcignT3JkZXJJdGVtSW5mbyBtdXN0IGhhdmUgYW4gaXRlbV9wcmljZSBwcm9wZXJ0eScsIHVuZGVmaW5lZCwgeyBkYXRhIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ2l0ZW1fcXVhbnRpdHknLCAnbnVtYmVyJykpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoJ09yZGVySXRlbUluZm8gbXVzdCBoYXZlIGFuIGl0ZW1fcXVhbnRpdHkgcHJvcGVydHknLCB1bmRlZmluZWQsIHsgZGF0YSB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdpbWFnZScsICdzdHJpbmcnLCB0cnVlKSkge1xuICAgIGxvZ2dlci5sb2dFcnJvcignT3JkZXJJdGVtSW5mby5pbWFnZSBtdXN0IGJlIGEgc3RyaW5nIG9yIG51bGwnLCB1bmRlZmluZWQsIHsgZGF0YSB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdmdWxmaWxsbWVudF9kaXNwbGF5X3N0YXR1cycsICdzdHJpbmcnLCB0cnVlKSkge1xuICAgIGxvZ2dlci5sb2dFcnJvcihcbiAgICAgICdPcmRlckl0ZW1JbmZvLmZ1bGZpbGxtZW50X2Rpc3BsYXlfc3RhdHVzIG11c3QgYmUgYSBzdHJpbmcgb3IgbnVsbCcsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB7XG4gICAgICAgIGRhdGEsXG4gICAgICB9LFxuICAgICk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShkYXRhLCAndHJhY2tpbmdfdXJsJywgJ3N0cmluZycsIHRydWUpKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKCdPcmRlckl0ZW1JbmZvLnRyYWNraW5nX3VybCBtdXN0IGJlIGEgc3RyaW5nIG9yIG51bGwnLCB1bmRlZmluZWQsIHsgZGF0YSB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdkZWxpdmVyZWRfYXQnLCAnc3RyaW5nJywgdHJ1ZSkpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoJ09yZGVySXRlbUluZm8uZGVsaXZlcmVkX2F0IG11c3QgYmUgYSBzdHJpbmcgb3IgbnVsbCcsIHVuZGVmaW5lZCwgeyBkYXRhIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ2VzdGltYXRlZF9kZWxpdmVyeV9hdCcsICdzdHJpbmcnLCB0cnVlKSkge1xuICAgIGxvZ2dlci5sb2dFcnJvcignT3JkZXJJdGVtSW5mby5lc3RpbWF0ZWRfZGVsaXZlcnlfYXQgbXVzdCBiZSBhIHN0cmluZyBvciBudWxsJywgdW5kZWZpbmVkLCB7XG4gICAgICBkYXRhLFxuICAgIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ2luX3RyYW5zaXRfYXQnLCAnc3RyaW5nJywgdHJ1ZSkpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoJ09yZGVySXRlbUluZm8uaW5fdHJhbnNpdF9hdCBtdXN0IGJlIGEgc3RyaW5nIG9yIG51bGwnLCB1bmRlZmluZWQsIHsgZGF0YSB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0FwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzID0gKGRhdGE6IHVua25vd24pOiBkYXRhIGlzIEFwaU9yZGVyUmVzcG9uc2VBdHRyaWJ1dGVzID0+IHtcbiAgaWYgKGRhdGEgPT0gbnVsbCB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoJ09yZGVyIHJlc3BvbnNlIGF0dHJpYnV0ZXMgbXVzdCBiZSBhbiBvYmplY3QnLCB1bmRlZmluZWQsIHsgZGF0YSB9KTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdjcmVhdGVkX2F0JywgJ3N0cmluZycpKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ09yZGVyIHJlc3BvbnNlIGF0dHJpYnV0ZXMgbXVzdCBoYXZlIGEgY3JlYXRlZF9hdCBwcm9wZXJ0eSBhbmQgaGF2ZSB0eXBlIHN0cmluZycsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB7XG4gICAgICAgIGRhdGEsXG4gICAgICB9LFxuICAgICk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFoYXNQcm9wZXJ0eU9mVHlwZShkYXRhLCAnbGF0ZXN0X2V2ZW50X2RhdGUnLCAnc3RyaW5nJykpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoXG4gICAgICAnT3JkZXIgcmVzcG9uc2UgYXR0cmlidXRlcyBtdXN0IGhhdmUgYSBsYXRlc3RfZXZlbnRfZGF0ZSBwcm9wZXJ0eSBhbmQgaGF2ZSB0eXBlIHN0cmluZycsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB7XG4gICAgICAgIGRhdGEsXG4gICAgICB9LFxuICAgICk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKFxuICAgICFoYXNQcm9wZXJ0eU9mVHlwZShkYXRhLCAnbGluZV9pdGVtcycsICdhcnJheScpIHx8XG4gICAgIWRhdGEubGluZV9pdGVtcy5ldmVyeSgoaXRlbTogdW5rbm93bikgPT4gaXNBcGlPcmRlckl0ZW1JbmZvKGl0ZW0pKVxuICApIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoXG4gICAgICAnT3JkZXIgcmVzcG9uc2UgYXR0cmlidXRlcyBtdXN0IGhhdmUgYSBsaW5lX2l0ZW1zIHByb3BlcnR5IHdpdGggYXQgbGVhc3Qgb25lIG9yZGVyIGl0ZW0nLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAge1xuICAgICAgICBkYXRhLFxuICAgICAgfSxcbiAgICApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaGFzUHJvcGVydHlPZlR5cGUoZGF0YSwgJ29yZGVyX2lkJywgJ3N0cmluZycpKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKFxuICAgICAgJ09yZGVyIHJlc3BvbnNlIGF0dHJpYnV0ZXMgbXVzdCBoYXZlIGFuIG9yZGVyX2lkIHByb3BlcnR5IGFuZCBoYXZlIHR5cGUgc3RyaW5nJyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHtcbiAgICAgICAgZGF0YSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIWhhc1Byb3BlcnR5T2ZUeXBlKGRhdGEsICdvcmRlcl9udW1iZXInLCAnc3RyaW5nJykpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoXG4gICAgICAnT3JkZXIgcmVzcG9uc2UgYXR0cmlidXRlcyBtdXN0IGhhdmUgYW4gb3JkZXJfbnVtYmVyIHByb3BlcnR5IGFuZCBoYXZlIHR5cGUgc3RyaW5nJyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHtcbiAgICAgICAgZGF0YSxcbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxNQUFNLFNBQVMsSUFBSUEsdUJBQU8sK0JBQStCO0FBd0J6RCxNQUFNLHNCQUFzQixTQUE0QztBQUN0RSxLQUFJLFFBQVEsUUFBUSxPQUFPLFNBQVMsVUFBVTtBQUM1QyxTQUFPLFNBQVMsbUNBQW1DLFFBQVcsRUFBRSxNQUFNLENBQUM7QUFDdkUsU0FBTzs7QUFHVCxLQUFJLENBQUNDLDBEQUFrQixNQUFNLGlCQUFpQixTQUFTLEVBQUU7QUFDdkQsU0FBTyxTQUFTLHFEQUFxRCxRQUFXLEVBQUUsTUFBTSxDQUFDO0FBQ3pGLFNBQU87O0FBR1QsS0FBSSxDQUFDQSwwREFBa0IsTUFBTSxjQUFjLFNBQVMsRUFBRTtBQUNwRCxTQUFPLFNBQVMsa0RBQWtELFFBQVcsRUFBRSxNQUFNLENBQUM7QUFDdEYsU0FBTzs7QUFHVCxLQUFJLENBQUNBLDBEQUFrQixNQUFNLGNBQWMsU0FBUyxFQUFFO0FBQ3BELFNBQU8sU0FBUyxrREFBa0QsUUFBVyxFQUFFLE1BQU0sQ0FBQztBQUN0RixTQUFPOztBQUdULEtBQUksQ0FBQ0EsMERBQWtCLE1BQU0saUJBQWlCLFNBQVMsRUFBRTtBQUN2RCxTQUFPLFNBQVMscURBQXFELFFBQVcsRUFBRSxNQUFNLENBQUM7QUFDekYsU0FBTzs7QUFHVCxLQUFJLENBQUNBLDBEQUFrQixNQUFNLFNBQVMsVUFBVSxLQUFLLEVBQUU7QUFDckQsU0FBTyxTQUFTLGdEQUFnRCxRQUFXLEVBQUUsTUFBTSxDQUFDO0FBQ3BGLFNBQU87O0FBR1QsS0FBSSxDQUFDQSwwREFBa0IsTUFBTSw4QkFBOEIsVUFBVSxLQUFLLEVBQUU7QUFDMUUsU0FBTyxTQUNMLHFFQUNBLFFBQ0EsRUFDRSxNQUNELENBQ0Y7QUFDRCxTQUFPOztBQUdULEtBQUksQ0FBQ0EsMERBQWtCLE1BQU0sZ0JBQWdCLFVBQVUsS0FBSyxFQUFFO0FBQzVELFNBQU8sU0FBUyx1REFBdUQsUUFBVyxFQUFFLE1BQU0sQ0FBQztBQUMzRixTQUFPOztBQUdULEtBQUksQ0FBQ0EsMERBQWtCLE1BQU0sZ0JBQWdCLFVBQVUsS0FBSyxFQUFFO0FBQzVELFNBQU8sU0FBUyx1REFBdUQsUUFBVyxFQUFFLE1BQU0sQ0FBQztBQUMzRixTQUFPOztBQUdULEtBQUksQ0FBQ0EsMERBQWtCLE1BQU0seUJBQXlCLFVBQVUsS0FBSyxFQUFFO0FBQ3JFLFNBQU8sU0FBUyxnRUFBZ0UsUUFBVyxFQUN6RixNQUNELENBQUM7QUFDRixTQUFPOztBQUdULEtBQUksQ0FBQ0EsMERBQWtCLE1BQU0saUJBQWlCLFVBQVUsS0FBSyxFQUFFO0FBQzdELFNBQU8sU0FBUyx3REFBd0QsUUFBVyxFQUFFLE1BQU0sQ0FBQztBQUM1RixTQUFPOztBQUdULFFBQU87O0FBR1QsTUFBYSxnQ0FBZ0MsU0FBc0Q7QUFDakcsS0FBSSxRQUFRLFFBQVEsT0FBTyxTQUFTLFVBQVU7QUFDNUMsU0FBTyxTQUFTLCtDQUErQyxRQUFXLEVBQUUsTUFBTSxDQUFDO0FBQ25GLFNBQU87O0FBR1QsS0FBSSxDQUFDQSwwREFBa0IsTUFBTSxjQUFjLFNBQVMsRUFBRTtBQUNwRCxTQUFPLFNBQ0wsa0ZBQ0EsUUFDQSxFQUNFLE1BQ0QsQ0FDRjtBQUNELFNBQU87O0FBR1QsS0FBSSxDQUFDQSwwREFBa0IsTUFBTSxxQkFBcUIsU0FBUyxFQUFFO0FBQzNELFNBQU8sU0FDTCx5RkFDQSxRQUNBLEVBQ0UsTUFDRCxDQUNGO0FBQ0QsU0FBTzs7QUFHVCxLQUNFLENBQUNBLDBEQUFrQixNQUFNLGNBQWMsUUFBUSxJQUMvQyxDQUFDLEtBQUssV0FBVyxPQUFPLFNBQWtCLG1CQUFtQixLQUFLLENBQUMsRUFDbkU7QUFDQSxTQUFPLFNBQ0wsMEZBQ0EsUUFDQSxFQUNFLE1BQ0QsQ0FDRjtBQUNELFNBQU87O0FBR1QsS0FBSSxDQUFDQSwwREFBa0IsTUFBTSxZQUFZLFNBQVMsRUFBRTtBQUNsRCxTQUFPLFNBQ0wsaUZBQ0EsUUFDQSxFQUNFLE1BQ0QsQ0FDRjtBQUNELFNBQU87O0FBR1QsS0FBSSxDQUFDQSwwREFBa0IsTUFBTSxnQkFBZ0IsU0FBUyxFQUFFO0FBQ3RELFNBQU8sU0FDTCxxRkFDQSxRQUNBLEVBQ0UsTUFDRCxDQUNGO0FBQ0QsU0FBTzs7QUFHVCxRQUFPIn0=
|