@simplybusiness/services 0.21.5 → 0.22.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/CHANGELOG.md +21 -0
- package/dist/cjs/index.js +1198 -17
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/index.js +1193 -4
- package/package.json +7 -6
- package/src/snowplow/event-definitions/intervention.ts +2 -2
- package/dist/cjs/address-lookup/index.js +0 -98
- package/dist/cjs/address-lookup/index.js.map +0 -1
- package/dist/cjs/address-lookup/types.js +0 -7
- package/dist/cjs/address-lookup/types.js.map +0 -1
- package/dist/cjs/airbrake/index.js +0 -45
- package/dist/cjs/airbrake/index.js.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/mocks/eventDefinitions.js +0 -90
- package/dist/cjs/mocks/eventDefinitions.js.map +0 -1
- package/dist/cjs/mocks/scripts-mock.js +0 -59
- package/dist/cjs/mocks/scripts-mock.js.map +0 -1
- package/dist/cjs/mocks/snowplowBrowserTrackerMock.js +0 -7
- package/dist/cjs/mocks/snowplowBrowserTrackerMock.js.map +0 -1
- package/dist/cjs/snowplow/Snowplow.js +0 -174
- package/dist/cjs/snowplow/Snowplow.js.map +0 -1
- package/dist/cjs/snowplow/SnowplowContext.js +0 -61
- package/dist/cjs/snowplow/SnowplowContext.js.map +0 -1
- package/dist/cjs/snowplow/constants.js +0 -13
- package/dist/cjs/snowplow/constants.js.map +0 -1
- package/dist/cjs/snowplow/contexts.js +0 -68
- package/dist/cjs/snowplow/contexts.js.map +0 -1
- package/dist/cjs/snowplow/event-definitions/base.js +0 -56
- package/dist/cjs/snowplow/event-definitions/base.js.map +0 -1
- package/dist/cjs/snowplow/event-definitions/index.js +0 -65
- package/dist/cjs/snowplow/event-definitions/index.js.map +0 -1
- package/dist/cjs/snowplow/event-definitions/intervention.js +0 -33
- package/dist/cjs/snowplow/event-definitions/intervention.js.map +0 -1
- package/dist/cjs/snowplow/event-definitions/personalised_cover.js +0 -122
- package/dist/cjs/snowplow/event-definitions/personalised_cover.js.map +0 -1
- package/dist/cjs/snowplow/event-definitions/qcp.js +0 -348
- package/dist/cjs/snowplow/event-definitions/qcp.js.map +0 -1
- package/dist/cjs/snowplow/event-definitions/questionnaire.js +0 -115
- package/dist/cjs/snowplow/event-definitions/questionnaire.js.map +0 -1
- package/dist/cjs/snowplow/event-definitions/redaction.js +0 -154
- package/dist/cjs/snowplow/event-definitions/redaction.js.map +0 -1
- package/dist/cjs/snowplow/event-definitions/referral.js +0 -37
- package/dist/cjs/snowplow/event-definitions/referral.js.map +0 -1
- package/dist/cjs/snowplow/getSnowplowConfig.js +0 -16
- package/dist/cjs/snowplow/getSnowplowConfig.js.map +0 -1
- package/dist/cjs/snowplow/index.js +0 -25
- package/dist/cjs/snowplow/index.js.map +0 -1
- package/dist/cjs/snowplow/types.js +0 -6
- package/dist/cjs/snowplow/types.js.map +0 -1
- package/dist/cjs/utils/index.js +0 -21
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/cjs/utils/isObject.js +0 -15
- package/dist/cjs/utils/isObject.js.map +0 -1
- package/dist/cjs/utils/testUtils.js +0 -43
- package/dist/cjs/utils/testUtils.js.map +0 -1
- package/dist/cjs/utils/text.js +0 -45
- package/dist/cjs/utils/text.js.map +0 -1
- package/dist/esm/address-lookup/index.js +0 -88
- package/dist/esm/address-lookup/index.js.map +0 -1
- package/dist/esm/address-lookup/types.js +0 -5
- package/dist/esm/address-lookup/types.js.map +0 -1
- package/dist/esm/airbrake/index.js +0 -35
- package/dist/esm/airbrake/index.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/mocks/eventDefinitions.js +0 -80
- package/dist/esm/mocks/eventDefinitions.js.map +0 -1
- package/dist/esm/mocks/scripts-mock.js +0 -49
- package/dist/esm/mocks/scripts-mock.js.map +0 -1
- package/dist/esm/mocks/snowplowBrowserTrackerMock.js +0 -6
- package/dist/esm/mocks/snowplowBrowserTrackerMock.js.map +0 -1
- package/dist/esm/snowplow/Snowplow.js +0 -169
- package/dist/esm/snowplow/Snowplow.js.map +0 -1
- package/dist/esm/snowplow/SnowplowContext.js +0 -43
- package/dist/esm/snowplow/SnowplowContext.js.map +0 -1
- package/dist/esm/snowplow/constants.js +0 -3
- package/dist/esm/snowplow/constants.js.map +0 -1
- package/dist/esm/snowplow/contexts.js +0 -47
- package/dist/esm/snowplow/contexts.js.map +0 -1
- package/dist/esm/snowplow/event-definitions/base.js +0 -66
- package/dist/esm/snowplow/event-definitions/base.js.map +0 -1
- package/dist/esm/snowplow/event-definitions/index.js +0 -36
- package/dist/esm/snowplow/event-definitions/index.js.map +0 -1
- package/dist/esm/snowplow/event-definitions/intervention.js +0 -23
- package/dist/esm/snowplow/event-definitions/intervention.js.map +0 -1
- package/dist/esm/snowplow/event-definitions/personalised_cover.js +0 -131
- package/dist/esm/snowplow/event-definitions/personalised_cover.js.map +0 -1
- package/dist/esm/snowplow/event-definitions/qcp.js +0 -339
- package/dist/esm/snowplow/event-definitions/qcp.js.map +0 -1
- package/dist/esm/snowplow/event-definitions/questionnaire.js +0 -106
- package/dist/esm/snowplow/event-definitions/questionnaire.js.map +0 -1
- package/dist/esm/snowplow/event-definitions/redaction.js +0 -144
- package/dist/esm/snowplow/event-definitions/redaction.js.map +0 -1
- package/dist/esm/snowplow/event-definitions/referral.js +0 -28
- package/dist/esm/snowplow/event-definitions/referral.js.map +0 -1
- package/dist/esm/snowplow/getSnowplowConfig.js +0 -7
- package/dist/esm/snowplow/getSnowplowConfig.js.map +0 -1
- package/dist/esm/snowplow/index.js +0 -8
- package/dist/esm/snowplow/index.js.map +0 -1
- package/dist/esm/snowplow/types.js +0 -3
- package/dist/esm/snowplow/types.js.map +0 -1
- package/dist/esm/utils/index.js +0 -4
- package/dist/esm/utils/index.js.map +0 -1
- package/dist/esm/utils/isObject.js +0 -5
- package/dist/esm/utils/isObject.js.map +0 -1
- package/dist/esm/utils/testUtils.js +0 -26
- package/dist/esm/utils/testUtils.js.map +0 -1
- package/dist/esm/utils/text.js +0 -25
- package/dist/esm/utils/text.js.map +0 -1
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "referralEventDefinitions", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return referralEventDefinitions;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const referralEventDefinitions = [
|
|
12
|
-
{
|
|
13
|
-
name: "nextCoverageClicked",
|
|
14
|
-
type: "structured",
|
|
15
|
-
makePayload: (params)=>{
|
|
16
|
-
const { url } = params;
|
|
17
|
-
const eventName = "post_referral_workers_compensation_continuation_link";
|
|
18
|
-
return {
|
|
19
|
-
category: eventName,
|
|
20
|
-
action: "link_click",
|
|
21
|
-
label: eventName,
|
|
22
|
-
property: url
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: "helpChatLinkClicked",
|
|
28
|
-
type: "structured",
|
|
29
|
-
makePayload: ()=>({
|
|
30
|
-
category: "help chat for question",
|
|
31
|
-
action: "help_chat_for_question_clicked",
|
|
32
|
-
property: window.location.href
|
|
33
|
-
})
|
|
34
|
-
}
|
|
35
|
-
];
|
|
36
|
-
|
|
37
|
-
//# sourceMappingURL=referral.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/snowplow/event-definitions/referral.ts"],"sourcesContent":["import { EventDefinition, ParamsType } from \"../types\";\n\n// Referral page events\nexport const referralEventDefinitions: EventDefinition[] = [\n {\n name: \"nextCoverageClicked\",\n type: \"structured\",\n makePayload: params => {\n const { url } = params as ParamsType;\n const eventName = \"post_referral_workers_compensation_continuation_link\";\n\n return {\n category: eventName,\n action: \"link_click\",\n label: eventName,\n property: url,\n };\n },\n },\n {\n name: \"helpChatLinkClicked\",\n type: \"structured\",\n makePayload: () => ({\n category: \"help chat for question\",\n action: \"help_chat_for_question_clicked\",\n property: window.location.href,\n }),\n },\n];\n"],"names":["referralEventDefinitions","name","type","makePayload","params","url","eventName","category","action","label","property","window","location","href"],"mappings":";;;;+BAGaA;;;eAAAA;;;AAAN,MAAMA,2BAA8C;IACzD;QACEC,MAAM;QACNC,MAAM;QACNC,aAAaC,CAAAA;YACX,MAAM,EAAEC,GAAG,EAAE,GAAGD;YAChB,MAAME,YAAY;YAElB,OAAO;gBACLC,UAAUD;gBACVE,QAAQ;gBACRC,OAAOH;gBACPI,UAAUL;YACZ;QACF;IACF;IACA;QACEJ,MAAM;QACNC,MAAM;QACNC,aAAa,IAAO,CAAA;gBAClBI,UAAU;gBACVC,QAAQ;gBACRE,UAAUC,OAAOC,QAAQ,CAACC,IAAI;YAChC,CAAA;IACF;CACD"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "getSnowplowConfig", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return getSnowplowConfig;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const getSnowplowConfig = (pageData)=>{
|
|
12
|
-
var _pageData_scripts_find, _pageData_scripts;
|
|
13
|
-
return (_pageData_scripts = pageData.scripts) === null || _pageData_scripts === void 0 ? void 0 : (_pageData_scripts_find = _pageData_scripts.find(({ metadata })=>metadata.name === "snowplow")) === null || _pageData_scripts_find === void 0 ? void 0 : _pageData_scripts_find.props;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=getSnowplowConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/snowplow/getSnowplowConfig.ts"],"sourcesContent":["import type { TrackingProps, PageDataProps } from \"./types\";\n\n// Get Snowplow config from page data props\nexport const getSnowplowConfig = (\n pageData: PageDataProps,\n): TrackingProps | undefined =>\n pageData.scripts?.find(({ metadata }) => metadata.name === \"snowplow\")\n ?.props as TrackingProps;\n"],"names":["getSnowplowConfig","pageData","scripts","find","metadata","name","props"],"mappings":";;;;+BAGaA;;;eAAAA;;;AAAN,MAAMA,oBAAoB,CAC/BC;QAEAA,wBAAAA;YAAAA,oBAAAA,SAASC,OAAO,cAAhBD,yCAAAA,yBAAAA,kBAAkBE,IAAI,CAAC,CAAC,EAAEC,QAAQ,EAAE,GAAKA,SAASC,IAAI,KAAK,yBAA3DJ,6CAAAA,uBACIK,KAAK"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
_export_star(require("./contexts"), exports);
|
|
6
|
-
_export_star(require("./event-definitions"), exports);
|
|
7
|
-
_export_star(require("./getSnowplowConfig"), exports);
|
|
8
|
-
_export_star(require("./Snowplow"), exports);
|
|
9
|
-
_export_star(require("./SnowplowContext"), exports);
|
|
10
|
-
_export_star(require("./types"), exports);
|
|
11
|
-
function _export_star(from, to) {
|
|
12
|
-
Object.keys(from).forEach(function(k) {
|
|
13
|
-
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
14
|
-
Object.defineProperty(to, k, {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function() {
|
|
17
|
-
return from[k];
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
return from;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/snowplow/index.ts"],"sourcesContent":["export * from \"./contexts\";\nexport * from \"./event-definitions\";\nexport * from \"./getSnowplowConfig\";\nexport * from \"./Snowplow\";\nexport * from \"./SnowplowContext\";\nexport * from \"./types\";\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/snowplow/types.ts"],"names":[],"mappings":""}
|
package/dist/cjs/utils/index.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
_export_star(require("./text"), exports);
|
|
6
|
-
_export_star(require("./isObject"), exports);
|
|
7
|
-
function _export_star(from, to) {
|
|
8
|
-
Object.keys(from).forEach(function(k) {
|
|
9
|
-
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
10
|
-
Object.defineProperty(to, k, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function() {
|
|
13
|
-
return from[k];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
return from;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from \"./text\";\nexport * from \"./isObject\";\n"],"names":[],"mappings":";;;;qBAAc;qBACA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "isObject", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return isObject;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function isObject(value) {
|
|
12
|
-
return typeof value === "object" && value !== null && !Array.isArray(value) && Object.getPrototypeOf(value) === Object.prototype;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=isObject.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/isObject.tsx"],"sourcesContent":["export function isObject(value: unknown): value is Record<string, unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n !Array.isArray(value) &&\n Object.getPrototypeOf(value) === Object.prototype\n );\n }\n"],"names":["isObject","value","Array","isArray","Object","getPrototypeOf","prototype"],"mappings":";;;;+BAAgBA;;;eAAAA;;;AAAT,SAASA,SAASC,KAAc;IACnC,OACE,OAAOA,UAAU,YACjBA,UAAU,QACV,CAACC,MAAMC,OAAO,CAACF,UACfG,OAAOC,cAAc,CAACJ,WAAWG,OAAOE,SAAS;AAErD"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/* eslint-disable import/no-extraneous-dependencies */ "use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
mockLocation: function() {
|
|
13
|
-
return mockLocation;
|
|
14
|
-
},
|
|
15
|
-
renderWithProviders: function() {
|
|
16
|
-
return renderWithProviders;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
const _jsxruntime = require("react/jsx-runtime");
|
|
20
|
-
const _react = require("@testing-library/react");
|
|
21
|
-
const _scriptsmock = require("../mocks/scripts-mock");
|
|
22
|
-
const _SnowplowContext = require("../snowplow/SnowplowContext");
|
|
23
|
-
const _getSnowplowConfig = require("../snowplow/getSnowplowConfig");
|
|
24
|
-
// Snowplow analytics
|
|
25
|
-
const snowplowProps = (0, _getSnowplowConfig.getSnowplowConfig)(_scriptsmock.pageData);
|
|
26
|
-
const ProvidersMock = ({ children })=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_SnowplowContext.SnowplowProvider, {
|
|
27
|
-
scripts: snowplowProps,
|
|
28
|
-
children: children
|
|
29
|
-
});
|
|
30
|
-
const renderWithProviders = (ui, options)=>(0, _react.render)(ui, {
|
|
31
|
-
wrapper: ProvidersMock,
|
|
32
|
-
...options
|
|
33
|
-
});
|
|
34
|
-
const mockLocation = ({ origin = "https://simplybusiness.co.uk", pathname = "" })=>Object.defineProperty(window, "location", {
|
|
35
|
-
get () {
|
|
36
|
-
return {
|
|
37
|
-
origin,
|
|
38
|
-
pathname
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
//# sourceMappingURL=testUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/testUtils.tsx"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\nimport { RenderOptions, render } from \"@testing-library/react\";\nimport { ReactElement, ReactNode } from \"react\";\nimport { pageData } from \"../mocks/scripts-mock\";\nimport { SnowplowProvider } from \"../snowplow/SnowplowContext\";\nimport { getSnowplowConfig } from \"../snowplow/getSnowplowConfig\";\nimport { PageDataProps } from \"../snowplow/types\";\n\n// Snowplow analytics\nconst snowplowProps = getSnowplowConfig(pageData as PageDataProps);\n\nconst ProvidersMock = ({ children }: { children: ReactNode }) => (\n <SnowplowProvider scripts={snowplowProps!}>{children}</SnowplowProvider>\n);\n\nexport const renderWithProviders = (\n ui: ReactElement,\n options?: RenderOptions,\n) => render(ui, { wrapper: ProvidersMock, ...options });\n\n// Mocks window.location for url testing\nexport const mockLocation = ({\n origin = \"https://simplybusiness.co.uk\",\n pathname = \"\",\n}: {\n origin?: string;\n pathname?: string;\n}) =>\n Object.defineProperty(window, \"location\", {\n get() {\n return {\n origin,\n pathname,\n };\n },\n });\n"],"names":["mockLocation","renderWithProviders","snowplowProps","getSnowplowConfig","pageData","ProvidersMock","children","SnowplowProvider","scripts","ui","options","render","wrapper","origin","pathname","Object","defineProperty","window","get"],"mappings":"AAAA,oDAAoD;;;;;;;;;;;IAqBvCA,YAAY;eAAZA;;IANAC,mBAAmB;eAAnBA;;;;uBAdyB;6BAEb;iCACQ;mCACC;AAGlC,qBAAqB;AACrB,MAAMC,gBAAgBC,IAAAA,oCAAiB,EAACC,qBAAQ;AAEhD,MAAMC,gBAAgB,CAAC,EAAEC,QAAQ,EAA2B,iBAC1D,qBAACC,iCAAgB;QAACC,SAASN;kBAAiBI;;AAGvC,MAAML,sBAAsB,CACjCQ,IACAC,UACGC,IAAAA,aAAM,EAACF,IAAI;QAAEG,SAASP;QAAe,GAAGK,OAAO;IAAC;AAG9C,MAAMV,eAAe,CAAC,EAC3Ba,SAAS,8BAA8B,EACvCC,WAAW,EAAE,EAId,GACCC,OAAOC,cAAc,CAACC,QAAQ,YAAY;QACxCC;YACE,OAAO;gBACLL;gBACAC;YACF;QACF;IACF"}
|
package/dist/cjs/utils/text.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
camelToSnakeCase: function() {
|
|
13
|
-
return camelToSnakeCase;
|
|
14
|
-
},
|
|
15
|
-
snakeCase: function() {
|
|
16
|
-
return snakeCase;
|
|
17
|
-
},
|
|
18
|
-
snakeCaseKeys: function() {
|
|
19
|
-
return snakeCaseKeys;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _ = require(".");
|
|
23
|
-
const snakeCaseKeys = (object)=>Object.entries(object || {}).reduce((acc, [key, value])=>{
|
|
24
|
-
const newKey = camelToSnakeCase(key);
|
|
25
|
-
if (Array.isArray(value) && value.every(_.isObject)) {
|
|
26
|
-
return {
|
|
27
|
-
...acc,
|
|
28
|
-
[newKey]: value.map((v)=>snakeCaseKeys(v))
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
if ((0, _.isObject)(value)) {
|
|
32
|
-
return {
|
|
33
|
-
...acc,
|
|
34
|
-
[newKey]: snakeCaseKeys(value)
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
return {
|
|
38
|
-
...acc,
|
|
39
|
-
[newKey]: value
|
|
40
|
-
};
|
|
41
|
-
}, {});
|
|
42
|
-
const snakeCase = (text = "")=>text.toLowerCase().replace(/ /g, "_");
|
|
43
|
-
const camelToSnakeCase = (text)=>text.charAt(0).toLowerCase() + text.slice(1).replace(/(\[.*?\])|[A-Z]/g, (match, group)=>group ? match : `_${match.toLowerCase()}`);
|
|
44
|
-
|
|
45
|
-
//# sourceMappingURL=text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/text.ts"],"sourcesContent":["import { isObject } from \".\";\n\n// Deeply converts keys in an object to snake_case\nexport const snakeCaseKeys = (object: Record<string, unknown>) =>\n Object.entries(object || {}).reduce(\n (acc: Record<string, unknown>, [key, value]): Record<string, unknown> => {\n const newKey = camelToSnakeCase(key);\n\n if (Array.isArray(value) && value.every(isObject)) {\n return {\n ...acc,\n [newKey]: value.map(v => snakeCaseKeys(v)),\n };\n }\n\n if (isObject(value)) {\n return {\n ...acc,\n [newKey]: snakeCaseKeys(value),\n };\n }\n\n return {\n ...acc,\n [newKey]: value,\n };\n },\n {},\n );\n\nexport const snakeCase = (text = \"\"): string =>\n text.toLowerCase().replace(/ /g, \"_\");\n\nexport const camelToSnakeCase = (text: string) =>\n text.charAt(0).toLowerCase() +\n text\n .slice(1)\n .replace(/(\\[.*?\\])|[A-Z]/g, (match, group) =>\n group ? match : `_${match.toLowerCase()}`,\n );\n\n"],"names":["camelToSnakeCase","snakeCase","snakeCaseKeys","object","Object","entries","reduce","acc","key","value","newKey","Array","isArray","every","isObject","map","v","text","toLowerCase","replace","charAt","slice","match","group"],"mappings":";;;;;;;;;;;IAiCaA,gBAAgB;eAAhBA;;IAHAC,SAAS;eAATA;;IA3BAC,aAAa;eAAbA;;;kBAHY;AAGlB,MAAMA,gBAAgB,CAACC,SAC5BC,OAAOC,OAAO,CAACF,UAAU,CAAC,GAAGG,MAAM,CACjC,CAACC,KAA8B,CAACC,KAAKC,MAAM;QACzC,MAAMC,SAASV,iBAAiBQ;QAEhC,IAAIG,MAAMC,OAAO,CAACH,UAAUA,MAAMI,KAAK,CAACC,UAAQ,GAAG;YACjD,OAAO;gBACL,GAAGP,GAAG;gBACN,CAACG,OAAO,EAAED,MAAMM,GAAG,CAACC,CAAAA,IAAKd,cAAcc;YACzC;QACF;QAEA,IAAIF,IAAAA,UAAQ,EAACL,QAAQ;YACnB,OAAO;gBACL,GAAGF,GAAG;gBACN,CAACG,OAAO,EAAER,cAAcO;YAC1B;QACF;QAEA,OAAO;YACL,GAAGF,GAAG;YACN,CAACG,OAAO,EAAED;QACZ;IACF,GACA,CAAC;AAGE,MAAMR,YAAY,CAACgB,OAAO,EAAE,GACjCA,KAAKC,WAAW,GAAGC,OAAO,CAAC,MAAM;AAE5B,MAAMnB,mBAAmB,CAACiB,OAC/BA,KAAKG,MAAM,CAAC,GAAGF,WAAW,KAC1BD,KACGI,KAAK,CAAC,GACNF,OAAO,CAAC,oBAAoB,CAACG,OAAOC,QACnCA,QAAQD,QAAQ,CAAC,CAAC,EAAEA,MAAMJ,WAAW,IAAI"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
function _define_property(obj, key, value) {
|
|
2
|
-
if (key in obj) {
|
|
3
|
-
Object.defineProperty(obj, key, {
|
|
4
|
-
value: value,
|
|
5
|
-
enumerable: true,
|
|
6
|
-
configurable: true,
|
|
7
|
-
writable: true
|
|
8
|
-
});
|
|
9
|
-
} else {
|
|
10
|
-
obj[key] = value;
|
|
11
|
-
}
|
|
12
|
-
return obj;
|
|
13
|
-
}
|
|
14
|
-
// Loquate API constants
|
|
15
|
-
const BASE_URL = "https://api.addressy.com/Capture/Interactive";
|
|
16
|
-
const FIND_URL = `${BASE_URL}/Find/v1.00/json3.ws`;
|
|
17
|
-
const RETRIEVE_URL = `${BASE_URL}/Retrieve/v1.2/json3.ws`;
|
|
18
|
-
const COUNTRIES = [
|
|
19
|
-
"GB"
|
|
20
|
-
]; // 2 or 3-letter ISO country codes
|
|
21
|
-
const LIMIT = 20;
|
|
22
|
-
export class AddressLookup {
|
|
23
|
-
static async fetchFromApi(url, handleResponse) {
|
|
24
|
-
return new Promise((resolve, reject)=>{
|
|
25
|
-
fetch(url).then((response)=>response.json()).then((data)=>resolve(handleResponse(data))).catch((error)=>reject(Error(error)));
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
find(partialAddress) {
|
|
29
|
-
return new Promise((resolve, reject)=>{
|
|
30
|
-
fetch(`${this.findUrl}&Text=${partialAddress}`).then((response)=>response.json()).then((data)=>resolve(this.formatItems(data))).catch((error)=>reject(Error(error)));
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
findById(id) {
|
|
34
|
-
return new Promise((resolve, reject)=>{
|
|
35
|
-
fetch(`${this.findUrl}&Container=${id}`).then((response)=>response.json()).then((data)=>resolve(this.formatItems(data))).catch((error)=>reject(Error(error)));
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
get(id) {
|
|
39
|
-
return new Promise((resolve, reject)=>{
|
|
40
|
-
fetch(`${this.retrieveUrl}&Id=${id}`).then((response)=>response.json()).then((data)=>resolve(AddressLookup.formatUkAddress(data))).catch((error)=>reject(Error(error)));
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
formatItems({ Items }) {
|
|
44
|
-
if (!Items || !Array.isArray(Items)) {
|
|
45
|
-
throw Error("No address found");
|
|
46
|
-
}
|
|
47
|
-
if (Items[0].Error) {
|
|
48
|
-
throw Error(Items[0].Description);
|
|
49
|
-
}
|
|
50
|
-
return Items.map((item)=>({
|
|
51
|
-
id: item.Id,
|
|
52
|
-
label: `${item.Text}, ${item.Description}`,
|
|
53
|
-
value: item.Text,
|
|
54
|
-
// Add a callback to trigger secondary search
|
|
55
|
-
// if the address type is not "Address"
|
|
56
|
-
callback: item.Type === "Address" ? undefined : ()=>this.findById(item.Id)
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
59
|
-
static formatUkAddress({ Items }) {
|
|
60
|
-
if (!Items || !Array.isArray(Items)) {
|
|
61
|
-
throw Error("No address found");
|
|
62
|
-
}
|
|
63
|
-
if (Items[0].Error) {
|
|
64
|
-
throw Error(Items[0].Description);
|
|
65
|
-
}
|
|
66
|
-
const { Line1, Line2, City, PostalCode } = Items[0];
|
|
67
|
-
return {
|
|
68
|
-
address_1: Line1,
|
|
69
|
-
address_2: Line2,
|
|
70
|
-
town: City,
|
|
71
|
-
uk_postcode: PostalCode
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
constructor({ apiKey, limit, countries }){
|
|
75
|
-
_define_property(this, "apiKey", void 0);
|
|
76
|
-
_define_property(this, "limit", void 0);
|
|
77
|
-
_define_property(this, "findUrl", void 0);
|
|
78
|
-
_define_property(this, "retrieveUrl", void 0);
|
|
79
|
-
_define_property(this, "countries", void 0);
|
|
80
|
-
this.apiKey = apiKey;
|
|
81
|
-
this.limit = limit || LIMIT;
|
|
82
|
-
this.countries = countries || COUNTRIES;
|
|
83
|
-
this.findUrl = `${FIND_URL}?Key=${this.apiKey}&Limit=${this.limit}&Countries=${this.countries}`;
|
|
84
|
-
this.retrieveUrl = `${RETRIEVE_URL}?Key=${this.apiKey}`;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/address-lookup/index.ts"],"sourcesContent":["import {\n AddressError,\n AddressLookupConfig,\n FindAddressResponse,\n FindAddressResult,\n Option,\n Options,\n RetrieveAddressResponse,\n RetrieveAddressResult,\n} from \"./types\";\n\n// Loquate API constants\nconst BASE_URL = \"https://api.addressy.com/Capture/Interactive\";\nconst FIND_URL = `${BASE_URL}/Find/v1.00/json3.ws`;\nconst RETRIEVE_URL = `${BASE_URL}/Retrieve/v1.2/json3.ws`;\nconst COUNTRIES = [\"GB\"]; // 2 or 3-letter ISO country codes\nconst LIMIT = 20;\n\nexport class AddressLookup {\n private apiKey: string;\n\n private limit: number;\n\n private findUrl: string;\n\n private retrieveUrl: string;\n\n private countries: string[];\n\n constructor({ apiKey, limit, countries }: AddressLookupConfig) {\n this.apiKey = apiKey;\n this.limit = limit || LIMIT;\n this.countries = countries || COUNTRIES;\n this.findUrl = `${FIND_URL}?Key=${this.apiKey}&Limit=${this.limit}&Countries=${this.countries}`;\n this.retrieveUrl = `${RETRIEVE_URL}?Key=${this.apiKey}`;\n }\n\n private static async fetchFromApi(\n url: string,\n handleResponse: Function,\n ): Promise<unknown> {\n return new Promise((resolve, reject) => {\n fetch(url)\n .then(response => response.json())\n .then(data => resolve(handleResponse(data)))\n .catch(error => reject(Error(error)));\n });\n }\n\n public find(partialAddress: string): Promise<Options> {\n return new Promise((resolve, reject) => {\n fetch(`${this.findUrl}&Text=${partialAddress}`)\n .then(response => response.json())\n .then(data => resolve(this.formatItems(data)))\n .catch(error => reject(Error(error)));\n });\n }\n\n public findById(id: string): Promise<Options> {\n return new Promise((resolve, reject) => {\n fetch(`${this.findUrl}&Container=${id}`)\n .then(response => response.json())\n .then(data => resolve(this.formatItems(data)))\n .catch(error => reject(Error(error)));\n });\n }\n\n public get(id: string): Promise<Record<string, string>> {\n return new Promise((resolve, reject) => {\n fetch(`${this.retrieveUrl}&Id=${id}`)\n .then(response => response.json())\n .then(data => resolve(AddressLookup.formatUkAddress(data)))\n .catch(error => reject(Error(error)));\n });\n }\n\n private formatItems({ Items }: FindAddressResponse) {\n if (!Items || !Array.isArray(Items)) {\n throw Error(\"No address found\");\n }\n\n if ((Items[0] as AddressError).Error) {\n throw Error(Items[0].Description);\n }\n\n return (Items as FindAddressResult[]).map(\n (item): Option => ({\n id: item.Id,\n label: `${item.Text}, ${item.Description}`,\n value: item.Text,\n // Add a callback to trigger secondary search\n // if the address type is not \"Address\"\n callback:\n item.Type === \"Address\" ? undefined : () => this.findById(item.Id),\n }),\n );\n }\n\n private static formatUkAddress({ Items }: RetrieveAddressResponse) {\n if (!Items || !Array.isArray(Items)) {\n throw Error(\"No address found\");\n }\n\n if ((Items[0] as AddressError).Error) {\n throw Error((Items[0] as AddressError).Description);\n }\n\n const { Line1, Line2, City, PostalCode } = (\n Items as RetrieveAddressResult[]\n )[0];\n\n return {\n address_1: Line1,\n address_2: Line2,\n town: City,\n uk_postcode: PostalCode,\n };\n }\n}\n"],"names":["BASE_URL","FIND_URL","RETRIEVE_URL","COUNTRIES","LIMIT","AddressLookup","fetchFromApi","url","handleResponse","Promise","resolve","reject","fetch","then","response","json","data","catch","error","Error","find","partialAddress","findUrl","formatItems","findById","id","get","retrieveUrl","formatUkAddress","Items","Array","isArray","Description","map","item","Id","label","Text","value","callback","Type","undefined","Line1","Line2","City","PostalCode","address_1","address_2","town","uk_postcode","constructor","apiKey","limit","countries"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/address-lookup/types.ts"],"sourcesContent":["// Options: the target shape for responses to Combobox\nexport type Option = {\n id: string;\n label: string;\n value: string | number | boolean;\n callback?: () => Promise<Options>;\n};\n\nexport type OptionGroup = {\n heading: string;\n options: Option[];\n};\n\nexport type Options = Option[] | OptionGroup[];\n\n// Loquate API types\nexport type FindAddressResult = {\n Id: string;\n Type: string;\n Text: string;\n Highlight: string;\n Description: string;\n};\n\nexport type AddressError = {\n Cause: string;\n Error: string;\n Description: string;\n Resolution: string;\n};\n\nexport type FindAddressResponse = {\n Items: FindAddressResult[] | AddressError[];\n};\n\nexport type RetrieveAddressResult = {\n Id: string;\n Type: string;\n City: string;\n Line1: string;\n Line2: string;\n PostalCode: string;\n Label: string;\n};\n\nexport type RetrieveAddressResponse = {\n Items: RetrieveAddressResult[] | AddressError[];\n};\n\n// Class interface\nexport type AddressLookupConfig = {\n apiKey: string;\n limit?: number;\n countries?: string[];\n};\n"],"names":[],"mappings":"AAAA,sDAAsD;AAiDtD,kBAAkB;AAClB,WAIE"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Notifier } from "@airbrake/browser";
|
|
2
|
-
// https://simplybusiness.airbrake.io/projects/512949/edit#tab-access
|
|
3
|
-
// This configuration is for embedded-qcp project
|
|
4
|
-
const defaultProjectId = 512949;
|
|
5
|
-
const defaultProjectKey = "4e25197d8faea61c10fbb97702200780";
|
|
6
|
-
let notifierInstance;
|
|
7
|
-
// Fake signature which logs to console
|
|
8
|
-
const fakeAirbrake = {
|
|
9
|
-
notify: console.error
|
|
10
|
-
};
|
|
11
|
-
// We don't want to send real alerts on non-quote domains
|
|
12
|
-
const shouldUseAirbrake = ()=>{
|
|
13
|
-
const { location } = globalThis;
|
|
14
|
-
const isTest = process.env.NODE_ENV === "test";
|
|
15
|
-
return isTest || (location === null || location === void 0 ? void 0 : location.hostname.indexOf("quote.")) > -1;
|
|
16
|
-
};
|
|
17
|
-
export function getAirbrake(options) {
|
|
18
|
-
const { projectId, projectKey, forceSend } = options;
|
|
19
|
-
if (!forceSend || !shouldUseAirbrake()) {
|
|
20
|
-
return fakeAirbrake;
|
|
21
|
-
}
|
|
22
|
-
if (!notifierInstance) {
|
|
23
|
-
notifierInstance = new Notifier({
|
|
24
|
-
projectId: projectId !== null && projectId !== void 0 ? projectId : defaultProjectId,
|
|
25
|
-
projectKey: projectKey !== null && projectKey !== void 0 ? projectKey : defaultProjectKey,
|
|
26
|
-
environment: process.env.NODE_ENV,
|
|
27
|
-
instrumentation: {
|
|
28
|
-
onerror: false
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
return notifierInstance;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/airbrake/index.ts"],"sourcesContent":["import { Notifier } from \"@airbrake/browser\";\n\n// https://simplybusiness.airbrake.io/projects/512949/edit#tab-access\n// This configuration is for embedded-qcp project\nconst defaultProjectId = 512949;\nconst defaultProjectKey = \"4e25197d8faea61c10fbb97702200780\";\n\nlet notifierInstance: Notifier | null;\n\n// Fake signature which logs to console\nconst fakeAirbrake = {\n notify: console.error,\n};\n\n// We don't want to send real alerts on non-quote domains\nconst shouldUseAirbrake = () => {\n const { location } = globalThis;\n const isTest = process.env.NODE_ENV === \"test\";\n\n return isTest || location?.hostname.indexOf(\"quote.\") > -1;\n};\n\nexport type GetAirbrakeOptions = {\n projectId?: number;\n projectKey?: string;\n forceSend?: boolean;\n};\n\nexport function getAirbrake(options: GetAirbrakeOptions) {\n const { projectId, projectKey, forceSend } = options;\n\n if (!forceSend || !shouldUseAirbrake()) {\n return fakeAirbrake;\n }\n\n if (!notifierInstance) {\n notifierInstance = new Notifier({\n projectId: projectId ?? defaultProjectId,\n projectKey: projectKey ?? defaultProjectKey,\n environment: process.env.NODE_ENV,\n instrumentation: {\n onerror: false,\n },\n });\n }\n\n return notifierInstance;\n}\n"],"names":["Notifier","defaultProjectId","defaultProjectKey","notifierInstance","fakeAirbrake","notify","console","error","shouldUseAirbrake","location","globalThis","isTest","process","env","NODE_ENV","hostname","indexOf","getAirbrake","options","projectId","projectKey","forceSend","environment","instrumentation","onerror"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,oBAAoB;AAE7C,qEAAqE;AACrE,iDAAiD;AACjD,MAAMC,mBAAmB;AACzB,MAAMC,oBAAoB;AAE1B,IAAIC;AAEJ,uCAAuC;AACvC,MAAMC,eAAe;IACnBC,QAAQC,QAAQC,KAAK;AACvB;AAEA,yDAAyD;AACzD,MAAMC,oBAAoB;IACxB,MAAM,EAAEC,QAAQ,EAAE,GAAGC;IACrB,MAAMC,SAASC,QAAQC,GAAG,CAACC,QAAQ,KAAK;IAExC,OAAOH,UAAUF,CAAAA,qBAAAA,+BAAAA,SAAUM,QAAQ,CAACC,OAAO,CAAC,aAAY,CAAC;AAC3D;AAQA,OAAO,SAASC,YAAYC,OAA2B;IACrD,MAAM,EAAEC,SAAS,EAAEC,UAAU,EAAEC,SAAS,EAAE,GAAGH;IAE7C,IAAI,CAACG,aAAa,CAACb,qBAAqB;QACtC,OAAOJ;IACT;IAEA,IAAI,CAACD,kBAAkB;QACrBA,mBAAmB,IAAIH,SAAS;YAC9BmB,WAAWA,sBAAAA,uBAAAA,YAAalB;YACxBmB,YAAYA,uBAAAA,wBAAAA,aAAclB;YAC1BoB,aAAaV,QAAQC,GAAG,CAACC,QAAQ;YACjCS,iBAAiB;gBACfC,SAAS;YACX;QACF;IACF;IAEA,OAAOrB;AACT"}
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.tsx"],"sourcesContent":["export * from \"./address-lookup\";\nexport * from \"./airbrake\";\nexport * from \"./snowplow\";\n"],"names":[],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,aAAa;AAC3B,cAAc,aAAa"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { redact } from "../snowplow/event-definitions/redaction";
|
|
2
|
-
export default [
|
|
3
|
-
{
|
|
4
|
-
name: "navButtonClicked",
|
|
5
|
-
type: "structured",
|
|
6
|
-
makePayload: (params)=>{
|
|
7
|
-
const { label } = params;
|
|
8
|
-
return {
|
|
9
|
-
category: "navigation",
|
|
10
|
-
action: "thankyou_navigation_button_click",
|
|
11
|
-
label,
|
|
12
|
-
property: "test-property"
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
name: "questionAnswered",
|
|
18
|
-
type: "unstructured",
|
|
19
|
-
makePayload: (params)=>{
|
|
20
|
-
const { section, context } = params;
|
|
21
|
-
const { question, answer } = redact(params);
|
|
22
|
-
return {
|
|
23
|
-
schema: "iglu:com.simplybusiness/form_question_answered/jsonschema/1-0-3",
|
|
24
|
-
data: {
|
|
25
|
-
site: context.site,
|
|
26
|
-
page_index: 1,
|
|
27
|
-
page_name: "quick_to_quote",
|
|
28
|
-
submitted_from: "quick_to_quote_experiment",
|
|
29
|
-
section_name: section,
|
|
30
|
-
question,
|
|
31
|
-
answer,
|
|
32
|
-
vertical: context.vertical
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
},
|
|
36
|
-
contexts: [
|
|
37
|
-
"distributionChannelContext"
|
|
38
|
-
]
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
name: "primaryDetailSelected",
|
|
42
|
-
type: "unstructured",
|
|
43
|
-
makePayload: (params)=>{
|
|
44
|
-
const { context, answer, vertical } = params;
|
|
45
|
-
const { site } = context;
|
|
46
|
-
let verticalName = vertical || context.vertical;
|
|
47
|
-
if (verticalName.toLowerCase().indexOf("landlord") > -1) {
|
|
48
|
-
verticalName = answer === "residential" ? "Landlord" : "Commercial landlord";
|
|
49
|
-
}
|
|
50
|
-
return {
|
|
51
|
-
schema: "iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-3-0",
|
|
52
|
-
data: {
|
|
53
|
-
site,
|
|
54
|
-
vertical: verticalName,
|
|
55
|
-
primary_detail: answer
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
name: "helpTextOpened",
|
|
62
|
-
type: "unstructured",
|
|
63
|
-
makePayload: (params)=>{
|
|
64
|
-
const { primaryText, label, context, helpText } = params;
|
|
65
|
-
return {
|
|
66
|
-
schema: "iglu:com.simplybusiness/help_text_opened/jsonschema/1-1-0",
|
|
67
|
-
data: {
|
|
68
|
-
vertical: context.vertical,
|
|
69
|
-
site: context.site,
|
|
70
|
-
help_text: helpText,
|
|
71
|
-
primary_text: primaryText,
|
|
72
|
-
label,
|
|
73
|
-
page_name: "quick_to_quote"
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
];
|
|
79
|
-
|
|
80
|
-
//# sourceMappingURL=eventDefinitions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mocks/eventDefinitions.ts"],"sourcesContent":["import { ParamsType } from \"../snowplow\";\nimport { redact } from \"../snowplow/event-definitions/redaction\";\n\nexport default [\n {\n name: \"navButtonClicked\",\n type: \"structured\",\n makePayload: (params: { label: \"next\" | \"back\" | \"redirect\" }) => {\n const { label } = params;\n return {\n category: \"navigation\",\n action: \"thankyou_navigation_button_click\",\n label,\n property: \"test-property\",\n };\n },\n },\n {\n name: \"questionAnswered\",\n type: \"unstructured\",\n makePayload: (params: ParamsType) => {\n const { section, context } = params as ParamsType;\n const { question, answer } = redact(params as ParamsType);\n\n return {\n schema:\n \"iglu:com.simplybusiness/form_question_answered/jsonschema/1-0-3\",\n data: {\n site: context.site,\n page_index: 1,\n page_name: \"quick_to_quote\",\n submitted_from: \"quick_to_quote_experiment\",\n section_name: section,\n question,\n answer,\n vertical: context.vertical,\n },\n };\n },\n contexts: [\"distributionChannelContext\"],\n },\n {\n name: \"primaryDetailSelected\",\n type: \"unstructured\",\n makePayload: (params: ParamsType) => {\n const { context, answer, vertical } = params as ParamsType;\n const { site } = context;\n let verticalName = vertical || context.vertical;\n\n if (verticalName.toLowerCase().indexOf(\"landlord\") > -1) {\n verticalName =\n answer === \"residential\" ? \"Landlord\" : \"Commercial landlord\";\n }\n\n return {\n schema:\n \"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-3-0\",\n data: {\n site,\n vertical: verticalName,\n primary_detail: answer,\n },\n };\n },\n },\n {\n name: \"helpTextOpened\",\n type: \"unstructured\",\n makePayload: (params: ParamsType) => {\n const { primaryText, label, context, helpText } = params as ParamsType;\n\n return {\n schema: \"iglu:com.simplybusiness/help_text_opened/jsonschema/1-1-0\",\n data: {\n vertical: context.vertical,\n site: context.site,\n help_text: helpText,\n primary_text: primaryText,\n label,\n page_name: \"quick_to_quote\",\n },\n };\n },\n },\n];\n"],"names":["redact","name","type","makePayload","params","label","category","action","property","section","context","question","answer","schema","data","site","page_index","page_name","submitted_from","section_name","vertical","contexts","verticalName","toLowerCase","indexOf","primary_detail","primaryText","helpText","help_text","primary_text"],"mappings":"AACA,SAASA,MAAM,QAAQ,0CAA0C;AAEjE,eAAe;IACb;QACEC,MAAM;QACNC,MAAM;QACNC,aAAa,CAACC;YACZ,MAAM,EAAEC,KAAK,EAAE,GAAGD;YAClB,OAAO;gBACLE,UAAU;gBACVC,QAAQ;gBACRF;gBACAG,UAAU;YACZ;QACF;IACF;IACA;QACEP,MAAM;QACNC,MAAM;QACNC,aAAa,CAACC;YACZ,MAAM,EAAEK,OAAO,EAAEC,OAAO,EAAE,GAAGN;YAC7B,MAAM,EAAEO,QAAQ,EAAEC,MAAM,EAAE,GAAGZ,OAAOI;YAEpC,OAAO;gBACLS,QACE;gBACFC,MAAM;oBACJC,MAAML,QAAQK,IAAI;oBAClBC,YAAY;oBACZC,WAAW;oBACXC,gBAAgB;oBAChBC,cAAcV;oBACdE;oBACAC;oBACAQ,UAAUV,QAAQU,QAAQ;gBAC5B;YACF;QACF;QACAC,UAAU;YAAC;SAA6B;IAC1C;IACA;QACEpB,MAAM;QACNC,MAAM;QACNC,aAAa,CAACC;YACZ,MAAM,EAAEM,OAAO,EAAEE,MAAM,EAAEQ,QAAQ,EAAE,GAAGhB;YACtC,MAAM,EAAEW,IAAI,EAAE,GAAGL;YACjB,IAAIY,eAAeF,YAAYV,QAAQU,QAAQ;YAE/C,IAAIE,aAAaC,WAAW,GAAGC,OAAO,CAAC,cAAc,CAAC,GAAG;gBACvDF,eACEV,WAAW,gBAAgB,aAAa;YAC5C;YAEA,OAAO;gBACLC,QACE;gBACFC,MAAM;oBACJC;oBACAK,UAAUE;oBACVG,gBAAgBb;gBAClB;YACF;QACF;IACF;IACA;QACEX,MAAM;QACNC,MAAM;QACNC,aAAa,CAACC;YACZ,MAAM,EAAEsB,WAAW,EAAErB,KAAK,EAAEK,OAAO,EAAEiB,QAAQ,EAAE,GAAGvB;YAElD,OAAO;gBACLS,QAAQ;gBACRC,MAAM;oBACJM,UAAUV,QAAQU,QAAQ;oBAC1BL,MAAML,QAAQK,IAAI;oBAClBa,WAAWD;oBACXE,cAAcH;oBACdrB;oBACAY,WAAW;gBACb;YACF;QACF;IACF;CACD,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
export const pageData = {
|
|
2
|
-
scripts: [
|
|
3
|
-
{
|
|
4
|
-
metadata: {
|
|
5
|
-
name: "snowplow"
|
|
6
|
-
},
|
|
7
|
-
props: {
|
|
8
|
-
uid: "49a449d8aaa9dd58f90a623d4b9dbcae235bf92a",
|
|
9
|
-
cookieDomain: "",
|
|
10
|
-
// TODO: Change this url to "http://localhost:8000" for local development
|
|
11
|
-
avalancheCollector: "https://snowplow-collector-staging.simplybusiness.com",
|
|
12
|
-
appId: "us-chopin",
|
|
13
|
-
includeGAContext: true,
|
|
14
|
-
eventMethod: "post",
|
|
15
|
-
postPath: "/com.simplybusiness/events",
|
|
16
|
-
trackActivity: true,
|
|
17
|
-
trackPageView: true,
|
|
18
|
-
pageViewContext: {
|
|
19
|
-
schema: "iglu:uk.co.simplybusiness/journey_context/jsonschema/1-0-0",
|
|
20
|
-
data: {
|
|
21
|
-
site: "simplybusiness_us",
|
|
22
|
-
vertical: "usa",
|
|
23
|
-
super_segment: "Unknown",
|
|
24
|
-
primary_detail: "Lawn care services",
|
|
25
|
-
journey_name: "usa",
|
|
26
|
-
journey_id: "666ff79d90abbc3582e496da",
|
|
27
|
-
page_step_name: "thank_you_ssr",
|
|
28
|
-
page_step_depth: -1
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
distributionChannelContext: {
|
|
32
|
-
schema: "iglu:com.simplybusiness/distribution_channel_context/jsonschema/1-0-0",
|
|
33
|
-
data: {
|
|
34
|
-
service_channel_identifier: "simplybusiness_us"
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
serviceChannelContext: {
|
|
38
|
-
schema: "iglu:com.simplybusiness/service_channel_context/jsonschema/1-0-0",
|
|
39
|
-
data: {
|
|
40
|
-
service_channel_identifier: "simplybusiness_us"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
forceSecureTracker: true
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
]
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
//# sourceMappingURL=scripts-mock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mocks/scripts-mock.ts"],"sourcesContent":["export const pageData = {\n scripts: [\n {\n metadata: { name: \"snowplow\" },\n props: {\n uid: \"49a449d8aaa9dd58f90a623d4b9dbcae235bf92a\",\n cookieDomain: \"\",\n // TODO: Change this url to \"http://localhost:8000\" for local development\n avalancheCollector:\n \"https://snowplow-collector-staging.simplybusiness.com\",\n appId: \"us-chopin\",\n includeGAContext: true,\n eventMethod: \"post\",\n postPath: \"/com.simplybusiness/events\",\n trackActivity: true,\n trackPageView: true,\n pageViewContext: {\n schema: \"iglu:uk.co.simplybusiness/journey_context/jsonschema/1-0-0\",\n data: {\n site: \"simplybusiness_us\",\n vertical: \"usa\",\n super_segment: \"Unknown\",\n primary_detail: \"Lawn care services\",\n journey_name: \"usa\",\n journey_id: \"666ff79d90abbc3582e496da\",\n page_step_name: \"thank_you_ssr\",\n page_step_depth: -1,\n },\n },\n distributionChannelContext: {\n schema:\n \"iglu:com.simplybusiness/distribution_channel_context/jsonschema/1-0-0\",\n data: { service_channel_identifier: \"simplybusiness_us\" },\n },\n serviceChannelContext: {\n schema:\n \"iglu:com.simplybusiness/service_channel_context/jsonschema/1-0-0\",\n data: { service_channel_identifier: \"simplybusiness_us\" },\n },\n forceSecureTracker: true,\n },\n },\n ],\n};\n"],"names":["pageData","scripts","metadata","name","props","uid","cookieDomain","avalancheCollector","appId","includeGAContext","eventMethod","postPath","trackActivity","trackPageView","pageViewContext","schema","data","site","vertical","super_segment","primary_detail","journey_name","journey_id","page_step_name","page_step_depth","distributionChannelContext","service_channel_identifier","serviceChannelContext","forceSecureTracker"],"mappings":"AAAA,OAAO,MAAMA,WAAW;IACtBC,SAAS;QACP;YACEC,UAAU;gBAAEC,MAAM;YAAW;YAC7BC,OAAO;gBACLC,KAAK;gBACLC,cAAc;gBACd,yEAAyE;gBACzEC,oBACE;gBACFC,OAAO;gBACPC,kBAAkB;gBAClBC,aAAa;gBACbC,UAAU;gBACVC,eAAe;gBACfC,eAAe;gBACfC,iBAAiB;oBACfC,QAAQ;oBACRC,MAAM;wBACJC,MAAM;wBACNC,UAAU;wBACVC,eAAe;wBACfC,gBAAgB;wBAChBC,cAAc;wBACdC,YAAY;wBACZC,gBAAgB;wBAChBC,iBAAiB,CAAC;oBACpB;gBACF;gBACAC,4BAA4B;oBAC1BV,QACE;oBACFC,MAAM;wBAAEU,4BAA4B;oBAAoB;gBAC1D;gBACAC,uBAAuB;oBACrBZ,QACE;oBACFC,MAAM;wBAAEU,4BAA4B;oBAAoB;gBAC1D;gBACAE,oBAAoB;YACtB;QACF;KACD;AACH,EAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mocks/snowplowBrowserTrackerMock.js"],"sourcesContent":["/**\n * Mocking this module prevents requests being sent to\n * Snowplow which causes CORS errors in the test enviornment.\n */\n\njest.mock(\"@snowplow/browser-tracker\");\n"],"names":["jest","mock"],"mappings":"AAAA;;;CAGC,GAEDA,KAAKC,IAAI,CAAC"}
|