@fat-zebra/sdk 1.0.6 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +162 -0
- package/dist/applepay/applepay.d.ts +20 -0
- package/dist/applepay/applepay.js +93 -0
- package/dist/applepay/clients/apple-pay-client.d.ts +24 -0
- package/dist/applepay/clients/apple-pay-client.js +29 -0
- package/dist/applepay/clients/paynow-client.d.ts +17 -0
- package/dist/applepay/clients/paynow-client.js +55 -0
- package/dist/applepay/index.d.ts +1 -0
- package/dist/applepay/index.js +1 -0
- package/dist/env.d.ts +5 -0
- package/dist/env.development.d.ts +5 -0
- package/dist/env.development.js +5 -0
- package/dist/env.js +5 -0
- package/dist/hpp/hpp.d.ts +61 -0
- package/dist/hpp/hpp.js +186 -0
- package/dist/hpp/index.d.ts +2 -0
- package/dist/hpp/index.js +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.js +6 -2
- package/dist/local/fatzebra.js +17728 -0
- package/dist/local/fatzebra.js.map +1 -0
- package/dist/local/index.html +247 -0
- package/dist/main.d.ts +38 -0
- package/dist/main.js +148 -0
- package/dist/paypal/paypal-button.d.ts +31 -0
- package/dist/paypal/paypal-button.js +199 -0
- package/dist/paypal/paypal-checkout.d.ts +21 -0
- package/dist/paypal/paypal-checkout.js +100 -0
- package/dist/paypal/types.d.ts +188 -0
- package/dist/paypal/types.js +5 -0
- package/dist/paypal/validation.d.ts +4 -0
- package/dist/paypal/validation.js +65 -0
- package/dist/react/VerifyCard.d.ts +2 -4
- package/dist/react/VerifyCard.js +1 -2
- package/dist/react/url.d.ts +2 -11
- package/dist/react/useFatZebra.d.ts +2 -3
- package/dist/react/useFatZebra.js +7 -7
- package/dist/sca/cardinal.d.ts +1 -1
- package/dist/sca/cardinal.js +1 -1
- package/dist/sca/index.d.ts +8 -5
- package/dist/sca/index.js +26 -87
- package/dist/sca/sca.d.ts +42 -0
- package/dist/sca/sca.js +273 -0
- package/dist/sca/scenarios/index.d.ts +3 -2
- package/dist/sca/types.d.ts +1 -1
- package/dist/sca/types.js +1 -1
- package/dist/shared/api-gateway-client.d.ts +7 -0
- package/dist/shared/api-gateway-client.js +37 -3
- package/dist/shared/env.d.ts +1 -1
- package/dist/shared/env.development.d.ts +5 -0
- package/dist/shared/env.development.js +5 -0
- package/dist/shared/env.js +1 -1
- package/dist/shared/event-manager.d.ts +1 -1
- package/dist/shared/event-manager.js +0 -1
- package/dist/shared/post-message-client.d.ts +1 -1
- package/dist/shared/post-message-client.js +2 -3
- package/dist/shared/types.d.ts +40 -33
- package/dist/shared/types.js +7 -1
- package/dist/src/applepay/applepay.js +198 -0
- package/dist/src/applepay/applepay.js.map +1 -0
- package/dist/src/applepay/clients/apple-pay-client.js +66 -0
- package/dist/src/applepay/clients/apple-pay-client.js.map +1 -0
- package/dist/src/applepay/clients/paynow-client.js +96 -0
- package/dist/src/applepay/clients/paynow-client.js.map +1 -0
- package/dist/src/applepay/index.js +6 -0
- package/dist/src/applepay/index.js.map +1 -0
- package/dist/src/hpp/hpp.js +230 -0
- package/dist/src/hpp/hpp.js.map +1 -0
- package/dist/src/hpp/hpp.test.js +135 -0
- package/dist/src/hpp/hpp.test.js.map +1 -0
- package/dist/src/hpp/index.js +6 -0
- package/dist/src/hpp/index.js.map +1 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/main.js +225 -0
- package/dist/src/main.js.map +1 -0
- package/dist/src/main.test.js +236 -0
- package/dist/src/main.test.js.map +1 -0
- package/dist/src/paypal/paypal-button.js +311 -0
- package/dist/src/paypal/paypal-button.js.map +1 -0
- package/dist/src/paypal/paypal-button.test.js +41 -0
- package/dist/src/paypal/paypal-button.test.js.map +1 -0
- package/dist/src/paypal/paypal-checkout.js +111 -0
- package/dist/src/paypal/paypal-checkout.js.map +1 -0
- package/dist/src/paypal/paypal-checkout.test.js +167 -0
- package/dist/src/paypal/paypal-checkout.test.js.map +1 -0
- package/dist/src/paypal/types.js +9 -0
- package/dist/src/paypal/types.js.map +1 -0
- package/dist/src/paypal/validation.js +73 -0
- package/dist/src/paypal/validation.js.map +1 -0
- package/dist/src/sca/__tests__/eci-mappings.test.js +31 -0
- package/dist/src/sca/__tests__/eci-mappings.test.js.map +1 -0
- package/dist/src/sca/__tests__/index.test.js +558 -0
- package/dist/src/sca/__tests__/index.test.js.map +1 -0
- package/dist/src/sca/cardinal.js +110 -0
- package/dist/src/sca/cardinal.js.map +1 -0
- package/dist/src/sca/eci-mappings.js +63 -0
- package/dist/src/sca/eci-mappings.js.map +1 -0
- package/dist/src/sca/eci-mappings.test.js +31 -0
- package/dist/src/sca/eci-mappings.test.js.map +1 -0
- package/dist/src/sca/index.js +388 -0
- package/dist/src/sca/index.js.map +1 -0
- package/dist/src/sca/index.test.js +558 -0
- package/dist/src/sca/index.test.js.map +1 -0
- package/dist/src/sca/scenarios/enrollment.js +150 -0
- package/dist/src/sca/scenarios/enrollment.js.map +1 -0
- package/dist/src/sca/scenarios/index.js +8 -0
- package/dist/src/sca/scenarios/index.js.map +1 -0
- package/dist/src/sca/scenarios/validation.js +128 -0
- package/dist/src/sca/scenarios/validation.js.map +1 -0
- package/dist/src/sca/types.js +57 -0
- package/dist/src/sca/types.js.map +1 -0
- package/dist/src/shared/api-gateway-client.js +150 -0
- package/dist/src/shared/api-gateway-client.js.map +1 -0
- package/dist/src/shared/bridge-client.js +24 -0
- package/dist/src/shared/bridge-client.js.map +1 -0
- package/dist/src/shared/constants.js +19 -0
- package/dist/src/shared/constants.js.map +1 -0
- package/dist/src/shared/event-manager.js +15 -0
- package/dist/src/shared/event-manager.js.map +1 -0
- package/dist/src/shared/post-message-client.js +107 -0
- package/dist/src/shared/post-message-client.js.map +1 -0
- package/dist/src/shared/post-message-client.test.js +58 -0
- package/dist/src/shared/post-message-client.test.js.map +1 -0
- package/dist/src/shared/types.js +47 -0
- package/dist/src/shared/types.js.map +1 -0
- package/dist/src/shared/types.test.js +55 -0
- package/dist/src/shared/types.test.js.map +1 -0
- package/dist/src/shared/util.js +96 -0
- package/dist/src/shared/util.js.map +1 -0
- package/dist/src/shared/util.test.js +148 -0
- package/dist/src/shared/util.test.js.map +1 -0
- package/dist/src/validation/index.js +10 -0
- package/dist/src/validation/index.js.map +1 -0
- package/dist/src/validation/validation-helper.js +10 -0
- package/dist/src/validation/validation-helper.js.map +1 -0
- package/dist/src/validation/validation-helper.test.js +34 -0
- package/dist/src/validation/validation-helper.test.js.map +1 -0
- package/dist/src/validation/validators/hpp-load-params-validator.js +17 -0
- package/dist/src/validation/validators/hpp-load-params-validator.js.map +1 -0
- package/dist/src/validation/validators/hpp-load-params-validator.test.js +56 -0
- package/dist/src/validation/validators/hpp-load-params-validator.test.js.map +1 -0
- package/dist/src/validation/validators/verify-card-params-validator.js +18 -0
- package/dist/src/validation/validators/verify-card-params-validator.js.map +1 -0
- package/dist/tests/helpers/api-gateway-mock.js +36 -0
- package/dist/tests/helpers/api-gateway-mock.js.map +1 -0
- package/dist/validation/index.d.ts +3 -0
- package/dist/validation/index.js +3 -0
- package/dist/validation/schemas/customer.json +38 -0
- package/dist/validation/schemas/hpp-load-params.json +40 -0
- package/dist/validation/schemas/hpp-options.json +48 -0
- package/dist/validation/schemas/payment-intent.json +48 -0
- package/dist/validation/schemas/payment-method.json +83 -0
- package/dist/validation/schemas/verify-card-options.json +15 -0
- package/dist/validation/schemas/verify-card-params.json +24 -0
- package/dist/validation/validation-helper.d.ts +3 -0
- package/dist/validation/validation-helper.js +6 -0
- package/dist/validation/validators/hpp-load-params-validator.d.ts +3 -0
- package/dist/validation/validators/hpp-load-params-validator.js +14 -0
- package/dist/validation/validators/verify-card-params-validator.d.ts +3 -0
- package/dist/validation/validators/verify-card-params-validator.js +16 -0
- package/docker-compose.yml +16 -0
- package/package.json +44 -15
- package/tsconfig.json +8 -18
- package/tsconfig.package.json +25 -0
- package/index.js +0 -0
- package/jest.config.js +0 -16
- package/yarn-error.log +0 -2374
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.PostMessageClient = void 0;
|
|
40
|
+
var types_1 = require("../shared/types");
|
|
41
|
+
var domain = process.env.PAYNOW_BASE_URL;
|
|
42
|
+
// NODE_ENV is introduced to PostMessageClient purely for the purpose of bypassing security
|
|
43
|
+
// check on the postMessage event between parent and child frames. Unforunately there is
|
|
44
|
+
// no workaround to override event origin due to lack of support in existing test framework.
|
|
45
|
+
var PostMessageClient = /** @class */ (function () {
|
|
46
|
+
function PostMessageClient(config) {
|
|
47
|
+
this.channel = config.channel;
|
|
48
|
+
this.fzEnv = process.env.NODE_ENV;
|
|
49
|
+
this.target = config.target;
|
|
50
|
+
}
|
|
51
|
+
// Handle event messages that conform to PostMessage format.
|
|
52
|
+
PostMessageClient.prototype.setEventListeners = function (handlers) {
|
|
53
|
+
var _this = this;
|
|
54
|
+
window.addEventListener("message", function (event) { return __awaiter(_this, void 0, void 0, function () {
|
|
55
|
+
var validationEnabled, isChannelValid, isOriginValid, message, subject, handler;
|
|
56
|
+
return __generator(this, function (_a) {
|
|
57
|
+
validationEnabled = ![types_1.NODE_ENV.TEST, types_1.NODE_ENV.LOCALDEV].includes(this.fzEnv);
|
|
58
|
+
isChannelValid = event.data.channel === this.channel;
|
|
59
|
+
isOriginValid = event.origin === domain;
|
|
60
|
+
if (validationEnabled && (!isOriginValid || !isChannelValid)) {
|
|
61
|
+
console.log('[WARNING] unmatched event origin or incorrect message channel');
|
|
62
|
+
return [2 /*return*/];
|
|
63
|
+
}
|
|
64
|
+
message = event.data;
|
|
65
|
+
subject = message.subject;
|
|
66
|
+
handler = handlers[subject];
|
|
67
|
+
if (handler) {
|
|
68
|
+
handler(message.data);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// Do not throw error here as it is possible that the parent frame chooses
|
|
72
|
+
// not to handle certain messages posted from child frame.
|
|
73
|
+
console.log("[WARNING] No handler registered for subject ".concat(subject, ", message ").concat(JSON.stringify(message)));
|
|
74
|
+
}
|
|
75
|
+
return [2 /*return*/];
|
|
76
|
+
});
|
|
77
|
+
}); });
|
|
78
|
+
};
|
|
79
|
+
// Handle event messages that do not conform to PostMessage format.
|
|
80
|
+
PostMessageClient.prototype.setEventListenersLegacy = function (handlers) {
|
|
81
|
+
var _this = this;
|
|
82
|
+
window.addEventListener("message", function (event) {
|
|
83
|
+
var validationEnabled = ![types_1.NODE_ENV.TEST, types_1.NODE_ENV.LOCALDEV].includes(_this.fzEnv);
|
|
84
|
+
var isOriginValid = event.origin === domain;
|
|
85
|
+
if (validationEnabled && !isOriginValid) {
|
|
86
|
+
console.log('[WARNING] unmatched event origin or incorrect message channel');
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
var message = event.data;
|
|
90
|
+
var handler = handlers[message.message];
|
|
91
|
+
if (handler) {
|
|
92
|
+
handler(message.data);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Do not throw error here as it is possible that the parent frame chooses
|
|
96
|
+
// not to handle certain messages posted from child frame.
|
|
97
|
+
console.log("[WARNING] no handler registered for message ".concat(message.message));
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
PostMessageClient.prototype.send = function (message) {
|
|
102
|
+
this.target.contentWindow.postMessage(message, domain);
|
|
103
|
+
};
|
|
104
|
+
return PostMessageClient;
|
|
105
|
+
}());
|
|
106
|
+
exports.PostMessageClient = PostMessageClient;
|
|
107
|
+
//# sourceMappingURL=post-message-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-message-client.js","sourceRoot":"","sources":["../../../src/shared/post-message-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA0C;AA2C1C,IAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAA;AAE1C,2FAA2F;AAC3F,wFAAwF;AACxF,4FAA4F;AAE5F;IAKE,2BAAY,MAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAoB,CAAA;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC7B,CAAC;IAED,4DAA4D;IAC5D,6CAAiB,GAAjB,UAAkB,QAAuB;QAAzC,iBAwBC;QAvBC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAM,KAAK;;;gBAEtC,iBAAiB,GAAG,CAAC,CAAC,gBAAQ,CAAC,IAAI,EAAE,gBAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC5E,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAA;gBACpD,aAAa,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAA;gBAE7C,IAAI,iBAAiB,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,EAAE;oBAC5D,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAA;oBAC5E,sBAAM;iBACP;gBAEK,OAAO,GAAG,KAAK,CAAC,IAAmB,CAAA;gBACnC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;gBACzB,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;gBAEjC,IAAI,OAAO,EAAE;oBACX,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;iBACtB;qBAAM;oBACL,0EAA0E;oBAC1E,0DAA0D;oBAC1D,OAAO,CAAC,GAAG,CAAC,sDAA+C,OAAO,uBAAa,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAE,CAAC,CAAA;iBAC1G;;;aACF,CAAC,CAAA;IACJ,CAAC;IAED,mEAAmE;IACnE,mDAAuB,GAAvB,UAAwB,QAAuB;QAA/C,iBAsBC;QArBC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,KAAK;YAEvC,IAAM,iBAAiB,GAAG,CAAC,CAAC,gBAAQ,CAAC,IAAI,EAAE,gBAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,CAAA;YAClF,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAA;YAE7C,IAAI,iBAAiB,IAAI,CAAC,aAAa,EAAE;gBACvC,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAA;gBAC5E,OAAM;aACP;YAED,IAAM,OAAO,GAAG,KAAK,CAAC,IAAyB,CAAA;YAC/C,IAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAEzC,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;aACtB;iBAAM;gBACL,0EAA0E;gBAC1E,0DAA0D;gBAC1D,OAAO,CAAC,GAAG,CAAC,sDAA+C,OAAO,CAAC,OAAO,CAAE,CAAC,CAAA;aAC9E;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,gCAAI,GAAJ,UAAK,OAAwC;QAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACxD,CAAC;IACH,wBAAC;AAAD,CAAC,AAlED,IAkEC;AAGC,8CAAiB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @jest-environment jsdom
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var post_message_client_1 = require("../../src/shared/post-message-client");
|
|
7
|
+
describe('PostMessageClient', function () {
|
|
8
|
+
describe('#setEventListeners', function () {
|
|
9
|
+
var message = {
|
|
10
|
+
channel: 'sca',
|
|
11
|
+
subject: 'test_subject',
|
|
12
|
+
data: {
|
|
13
|
+
action: 'transaction.complete'
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
it('selects the correct handler ', function (done) {
|
|
17
|
+
var document = window.document;
|
|
18
|
+
var iframe = document.createElement('iframe');
|
|
19
|
+
var handler = function (data) {
|
|
20
|
+
expect(data.action).toEqual('transaction.complete');
|
|
21
|
+
done();
|
|
22
|
+
};
|
|
23
|
+
document.body.appendChild(iframe);
|
|
24
|
+
var client = new post_message_client_1.PostMessageClient({
|
|
25
|
+
channel: 'sca'
|
|
26
|
+
});
|
|
27
|
+
client.setEventListeners({
|
|
28
|
+
'test_subject': handler
|
|
29
|
+
});
|
|
30
|
+
window.postMessage(message, '*');
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
describe('#setEventListenersLegacy', function () {
|
|
34
|
+
var message = {
|
|
35
|
+
message: 'transaction.complete',
|
|
36
|
+
data: {
|
|
37
|
+
action: 'transaction.complete'
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
it('selects the correct handler ', function (done) {
|
|
41
|
+
var document = window.document;
|
|
42
|
+
var iframe = document.createElement('iframe');
|
|
43
|
+
var handler = function (data) {
|
|
44
|
+
expect(data.action).toEqual('transaction.complete');
|
|
45
|
+
done();
|
|
46
|
+
};
|
|
47
|
+
document.body.appendChild(iframe);
|
|
48
|
+
var client = new post_message_client_1.PostMessageClient({
|
|
49
|
+
channel: 'sca'
|
|
50
|
+
});
|
|
51
|
+
client.setEventListenersLegacy({
|
|
52
|
+
'transaction.complete': handler
|
|
53
|
+
});
|
|
54
|
+
window.postMessage(message, '*');
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=post-message-client.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-message-client.test.js","sourceRoot":"","sources":["../../../src/shared/post-message-client.test.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,4EAI6C;AAE7C,QAAQ,CAAC,mBAAmB,EAAE;IAE5B,QAAQ,CAAC,oBAAoB,EAAE;QAC7B,IAAM,OAAO,GAAgB;YAC3B,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE;gBACJ,MAAM,EAAE,sBAAsB;aAC/B;SACF,CAAA;QAED,EAAE,CAAC,8BAA8B,EAAE,UAAC,IAAI;YACtC,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAM,OAAO,GAAG,UAAC,IAAS;gBACxB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;gBACnD,IAAI,EAAE,CAAC;YACT,CAAC,CAAC;YAEF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAElC,IAAM,MAAM,GAAG,IAAI,uCAAiB,CAAC;gBACnC,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YAEF,MAAM,CAAC,iBAAiB,CAAC;gBACvB,cAAc,EAAE,OAAO;aACxB,CAAC,CAAA;YAEF,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,0BAA0B,EAAE;QACnC,IAAM,OAAO,GAAsB;YACjC,OAAO,EAAE,sBAAsB;YAC/B,IAAI,EAAE;gBACJ,MAAM,EAAE,sBAAsB;aAC/B;SACF,CAAA;QAED,EAAE,CAAC,8BAA8B,EAAE,UAAC,IAAI;YACtC,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAM,OAAO,GAAG,UAAC,IAAS;gBACxB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;gBACnD,IAAI,EAAE,CAAC;YACT,CAAC,CAAC;YAEF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAElC,IAAM,MAAM,GAAG,IAAI,uCAAiB,CAAC;gBACnC,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YAEF,MAAM,CAAC,uBAAuB,CAAC;gBAC7B,sBAAsB,EAAE,OAAO;aAChC,CAAC,CAAA;YAEF,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaymentMethodType = exports.NODE_ENV = exports.PublicEvent = exports.BridgeEvent = void 0;
|
|
4
|
+
var NODE_ENV;
|
|
5
|
+
(function (NODE_ENV) {
|
|
6
|
+
NODE_ENV["LOCALDEV"] = "localdev";
|
|
7
|
+
NODE_ENV["PRODUCTION"] = "production";
|
|
8
|
+
NODE_ENV["SANDBOX"] = "sandbox";
|
|
9
|
+
NODE_ENV["STAGING"] = "staging";
|
|
10
|
+
NODE_ENV["TEST"] = "test";
|
|
11
|
+
})(NODE_ENV || (exports.NODE_ENV = NODE_ENV = {}));
|
|
12
|
+
var PublicEvent;
|
|
13
|
+
(function (PublicEvent) {
|
|
14
|
+
PublicEvent["FORM_VALIDATION_ERROR"] = "fz.form_validation.error";
|
|
15
|
+
PublicEvent["FORM_VALIDATION_SUCCESS"] = "fz.form_validation.success";
|
|
16
|
+
PublicEvent["VALIDATION_ERROR"] = "fz.validation.error";
|
|
17
|
+
PublicEvent["SCA_SUCCESS"] = "fz.sca.success";
|
|
18
|
+
PublicEvent["SCA_ERROR"] = "fz.sca.error";
|
|
19
|
+
PublicEvent["TOKENIZATION_SUCCESS"] = "fz.tokenization.success";
|
|
20
|
+
PublicEvent["TOKENIZATION_ERROR"] = "fz.tokenization.error";
|
|
21
|
+
PublicEvent["PAYMENT_SUCCESS"] = "fz.payment.success";
|
|
22
|
+
PublicEvent["PAYMENT_ERROR"] = "fz.payment.error";
|
|
23
|
+
PublicEvent["PAYPAL_CANCEL"] = "fz.paypal.cancel";
|
|
24
|
+
PublicEvent["PAYPAL_SUCCESS"] = "fz.paypal.success";
|
|
25
|
+
PublicEvent["PAYPAL_ERROR"] = "fz.paypal.error";
|
|
26
|
+
PublicEvent["PAYPAL_PROCESSESING"] = "fz.paypal.processing";
|
|
27
|
+
PublicEvent["BIN_LOOKUP"] = "fz.bin.lookup";
|
|
28
|
+
})(PublicEvent || (exports.PublicEvent = PublicEvent = {}));
|
|
29
|
+
var BridgeEvent;
|
|
30
|
+
(function (BridgeEvent) {
|
|
31
|
+
BridgeEvent["TOKENIZE_CARD_REQUEST"] = "fzi.tc_req";
|
|
32
|
+
BridgeEvent["TOKENIZE_CARD_RESPONSE"] = "fzi.tc_res";
|
|
33
|
+
BridgeEvent["CREATE_PAYMENT_REQUEST"] = "fzi.cp_req";
|
|
34
|
+
BridgeEvent["CREATE_PAYMENT_RESPONSE"] = "fzi.cp_res";
|
|
35
|
+
BridgeEvent["TRIGGER_PAYNOW_BUTTON"] = "fzi.pn_btn";
|
|
36
|
+
BridgeEvent["FORM_VALIDATION_ERROR"] = "fzi.form_validation_error";
|
|
37
|
+
BridgeEvent["FORM_VALIDATION_SUCCESS"] = "fzi.form_validation_success";
|
|
38
|
+
BridgeEvent["BIN_LOOKUP"] = "fzi.bin_lookup";
|
|
39
|
+
})(BridgeEvent || (exports.BridgeEvent = BridgeEvent = {}));
|
|
40
|
+
var PaymentMethodType;
|
|
41
|
+
(function (PaymentMethodType) {
|
|
42
|
+
PaymentMethodType["CARD"] = "card";
|
|
43
|
+
PaymentMethodType["CARD_ON_FILE"] = "card_on_file";
|
|
44
|
+
PaymentMethodType["PAYPAL_ORDER"] = "paypal_order";
|
|
45
|
+
PaymentMethodType["PAYPAL_BILLING"] = "paypal_billing";
|
|
46
|
+
})(PaymentMethodType || (exports.PaymentMethodType = PaymentMethodType = {}));
|
|
47
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":";;;AAEA,IAAK,QAMJ;AAND,WAAK,QAAQ;IACX,iCAAqB,CAAA;IACrB,qCAAyB,CAAA;IACzB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,yBAAa,CAAA;AACf,CAAC,EANI,QAAQ,wBAAR,QAAQ,QAMZ;AAED,IAAK,WAeJ;AAfD,WAAK,WAAW;IACd,iEAAkD,CAAA;IAClD,qEAAsD,CAAA;IACtD,uDAAwC,CAAA;IACxC,6CAA8B,CAAA;IAC9B,yCAA0B,CAAA;IAC1B,+DAAgD,CAAA;IAChD,2DAA4C,CAAA;IAC5C,qDAAsC,CAAA;IACtC,iDAAkC,CAAA;IAClC,iDAAkC,CAAA;IAClC,mDAAoC,CAAA;IACpC,+CAAgC,CAAA;IAChC,2DAA4C,CAAA;IAC5C,2CAA4B,CAAA;AAC9B,CAAC,EAfI,WAAW,2BAAX,WAAW,QAef;AAED,IAAK,WASJ;AATD,WAAK,WAAW;IACd,mDAAoC,CAAA;IACpC,oDAAqC,CAAA;IACrC,oDAAqC,CAAA;IACrC,qDAAsC,CAAA;IACtC,mDAAoC,CAAA;IACpC,kEAAmD,CAAA;IACnD,sEAAuD,CAAA;IACvD,4CAA6B,CAAA;AAC/B,CAAC,EATI,WAAW,2BAAX,WAAW,QASf;AAED,IAAK,iBAKJ;AALD,WAAK,iBAAiB;IACpB,kCAAa,CAAA;IACb,kDAA6B,CAAA;IAC7B,kDAA6B,CAAA;IAC7B,sDAAiC,CAAA;AACnC,CAAC,EALI,iBAAiB,iCAAjB,iBAAiB,QAKrB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
describe('Customer', function () {
|
|
4
|
+
var declareCustomer = function (properties) {
|
|
5
|
+
if (properties === void 0) { properties = {}; }
|
|
6
|
+
var customer = properties;
|
|
7
|
+
return customer;
|
|
8
|
+
};
|
|
9
|
+
it('allows no properties', function () {
|
|
10
|
+
expect(function () { return declareCustomer(); }).not.toThrow();
|
|
11
|
+
});
|
|
12
|
+
it('allows any combination of properties', function () {
|
|
13
|
+
expect(function () { return declareCustomer({ firstName: 'Ziggy', lastName: 'Zebra' }); }).not.toThrow();
|
|
14
|
+
expect(function () { return declareCustomer({ firstName: 'Ziggy', email: 'ziggy.zebra@fatzebra.com' }); }).not.toThrow();
|
|
15
|
+
expect(function () { return declareCustomer({ address: '2/58-62 Kippax Street', city: 'Surry Hills' }); }).not.toThrow();
|
|
16
|
+
});
|
|
17
|
+
it('allows all properties', function () {
|
|
18
|
+
var properties = {
|
|
19
|
+
firstName: 'Ziggy',
|
|
20
|
+
lastName: 'Zebra',
|
|
21
|
+
email: 'ziggy.zebra@fatzebra.com',
|
|
22
|
+
address: '2/58-62 Kippax Street',
|
|
23
|
+
city: 'Surry Hills',
|
|
24
|
+
postcode: '2010',
|
|
25
|
+
state: 'NSW',
|
|
26
|
+
country: 'Australia'
|
|
27
|
+
};
|
|
28
|
+
expect(function () { return declareCustomer(properties); }).not.toThrow();
|
|
29
|
+
});
|
|
30
|
+
it('allows only first name', function () {
|
|
31
|
+
expect(function () { return declareCustomer({ firstName: 'Ziggy' }); }).not.toThrow();
|
|
32
|
+
});
|
|
33
|
+
it('allows only last name', function () {
|
|
34
|
+
expect(function () { return declareCustomer({ lastName: 'Zebra' }); }).not.toThrow();
|
|
35
|
+
});
|
|
36
|
+
it('allows only email', function () {
|
|
37
|
+
expect(function () { return declareCustomer({ email: 'ziggy.zebra@fatzebra.com' }); }).not.toThrow();
|
|
38
|
+
});
|
|
39
|
+
it('allows only address', function () {
|
|
40
|
+
expect(function () { return declareCustomer({ address: '2/58-62 Kippax Street' }); }).not.toThrow();
|
|
41
|
+
});
|
|
42
|
+
it('allows only city', function () {
|
|
43
|
+
expect(function () { return declareCustomer({ city: 'Surry Hills' }); }).not.toThrow();
|
|
44
|
+
});
|
|
45
|
+
it('allows only postcode', function () {
|
|
46
|
+
expect(function () { return declareCustomer({ postcode: '2010' }); }).not.toThrow();
|
|
47
|
+
});
|
|
48
|
+
it('allows only state', function () {
|
|
49
|
+
expect(function () { return declareCustomer({ state: 'NSW' }); }).not.toThrow();
|
|
50
|
+
});
|
|
51
|
+
it('allows only country', function () {
|
|
52
|
+
expect(function () { return declareCustomer({ country: 'Australia' }); }).not.toThrow();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=types.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../../src/shared/types.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSdkVersionNumber = exports.toObjectWithSnakeCaseKeys = exports.toObjectWithCamelCaseKeys = exports.toSnakeCase = exports.toCamelCase = void 0;
|
|
4
|
+
var _package = require('../../package.json');
|
|
5
|
+
var toCamelCase = function (s) {
|
|
6
|
+
return s.replace(/_([a-z])/g, function (g) { return g[1].toUpperCase(); });
|
|
7
|
+
};
|
|
8
|
+
exports.toCamelCase = toCamelCase;
|
|
9
|
+
var toSnakeCase = function (s) {
|
|
10
|
+
return s.replace(/[A-Z]/g, function (char) { return "_".concat(char.toLowerCase()); });
|
|
11
|
+
};
|
|
12
|
+
exports.toSnakeCase = toSnakeCase;
|
|
13
|
+
var primitiveTypes = ['string', 'number', 'boolean', 'undefined', 'symbol', 'bigint'];
|
|
14
|
+
var toObjectWithSnakeCaseKeys = function (o) {
|
|
15
|
+
var objectType = typeof o;
|
|
16
|
+
if (primitiveTypes.includes(objectType) || o == null) {
|
|
17
|
+
return o;
|
|
18
|
+
}
|
|
19
|
+
var converted = {};
|
|
20
|
+
var _loop_1 = function (key) {
|
|
21
|
+
switch (typeof o[key]) {
|
|
22
|
+
case 'object':
|
|
23
|
+
if (Array.isArray(o[key])) {
|
|
24
|
+
converted[toSnakeCase(key)] = [];
|
|
25
|
+
Object.keys(o[key]).forEach(function (k) {
|
|
26
|
+
var c = toObjectWithSnakeCaseKeys(o[key][k]);
|
|
27
|
+
converted[toSnakeCase(key)].push(c);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
if (o[key] == null) {
|
|
32
|
+
converted[toSnakeCase(key)] = o[key];
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
converted[toSnakeCase(key)] = toObjectWithSnakeCaseKeys(o[key]);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
case 'string':
|
|
40
|
+
case 'number':
|
|
41
|
+
case 'boolean':
|
|
42
|
+
case 'undefined':
|
|
43
|
+
converted[toSnakeCase(key)] = o[key];
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
for (var key in o) {
|
|
48
|
+
_loop_1(key);
|
|
49
|
+
}
|
|
50
|
+
return converted;
|
|
51
|
+
};
|
|
52
|
+
exports.toObjectWithSnakeCaseKeys = toObjectWithSnakeCaseKeys;
|
|
53
|
+
var toObjectWithCamelCaseKeys = function (o) {
|
|
54
|
+
var objectType = typeof o;
|
|
55
|
+
if (primitiveTypes.includes(objectType) || o == null) {
|
|
56
|
+
return o;
|
|
57
|
+
}
|
|
58
|
+
var converted = {};
|
|
59
|
+
var _loop_2 = function (key) {
|
|
60
|
+
switch (typeof o[key]) {
|
|
61
|
+
case 'object':
|
|
62
|
+
if (Array.isArray(o[key])) {
|
|
63
|
+
converted[toCamelCase(key)] = [];
|
|
64
|
+
Object.keys(o[key]).forEach(function (k) {
|
|
65
|
+
var c = toObjectWithCamelCaseKeys(o[key][k]);
|
|
66
|
+
converted[toCamelCase(key)].push(c);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
if (o[key] == null) {
|
|
71
|
+
converted[toCamelCase(key)] = o[key];
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
converted[toCamelCase(key)] = toObjectWithCamelCaseKeys(o[key]);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
break;
|
|
78
|
+
case 'string':
|
|
79
|
+
case 'number':
|
|
80
|
+
case 'boolean':
|
|
81
|
+
case 'undefined':
|
|
82
|
+
converted[toCamelCase(key)] = o[key];
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
for (var key in o) {
|
|
87
|
+
_loop_2(key);
|
|
88
|
+
}
|
|
89
|
+
return converted;
|
|
90
|
+
};
|
|
91
|
+
exports.toObjectWithCamelCaseKeys = toObjectWithCamelCaseKeys;
|
|
92
|
+
var getSdkVersionNumber = function () {
|
|
93
|
+
return _package.version;
|
|
94
|
+
};
|
|
95
|
+
exports.getSdkVersionNumber = getSdkVersionNumber;
|
|
96
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/shared/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var util_1 = require("./util");
|
|
4
|
+
var objectWithCamelCaseKeys = {
|
|
5
|
+
stringKey: 'asdf',
|
|
6
|
+
nestedKey: {
|
|
7
|
+
firstName: 'John',
|
|
8
|
+
lastName: 'Doe',
|
|
9
|
+
nestedArray: [1, 2, 3],
|
|
10
|
+
nestedArray2: [
|
|
11
|
+
{ itemName: 'a1', itemDesc: { partDesc: 'p1' }, subParts: [{ unitCost: 100 }, { unitCost: 200 }] },
|
|
12
|
+
{ itemName: 'a2', itemDesc: { partDesc: 'p2' }, subParts: [{ unitCost: 300 }, { unitCost: 400 }] },
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
arrayKey: ['asd', 'f12'],
|
|
16
|
+
nullKey: null,
|
|
17
|
+
undefinedKey: undefined,
|
|
18
|
+
emptyKey: '',
|
|
19
|
+
};
|
|
20
|
+
var objectWithSnakeCaseKeys = {
|
|
21
|
+
string_key: 'asdf',
|
|
22
|
+
nested_key: {
|
|
23
|
+
first_name: 'John',
|
|
24
|
+
last_name: 'Doe',
|
|
25
|
+
nested_array: [1, 2, 3],
|
|
26
|
+
nested_array2: [
|
|
27
|
+
{ item_name: 'a1', item_desc: { part_desc: 'p1' }, sub_parts: [{ unit_cost: 100 }, { unit_cost: 200 }] },
|
|
28
|
+
{ item_name: 'a2', item_desc: { part_desc: 'p2' }, sub_parts: [{ unit_cost: 300 }, { unit_cost: 400 }] },
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
array_key: ['asd', 'f12'],
|
|
32
|
+
null_key: null,
|
|
33
|
+
undefined_key: undefined,
|
|
34
|
+
empty_key: '',
|
|
35
|
+
};
|
|
36
|
+
describe('toCamelCase', function () {
|
|
37
|
+
it('Convert snakecase string to camelcase string', function () {
|
|
38
|
+
var subject = 'snake_case';
|
|
39
|
+
var actual = (0, util_1.toCamelCase)(subject);
|
|
40
|
+
var expected = 'snakeCase';
|
|
41
|
+
expect(actual).toEqual(expected);
|
|
42
|
+
});
|
|
43
|
+
it('Leaves camelcase string intact', function () {
|
|
44
|
+
var subject = 'camelCase';
|
|
45
|
+
var actual = (0, util_1.toCamelCase)(subject);
|
|
46
|
+
var expected = 'camelCase';
|
|
47
|
+
expect(actual).toEqual(expected);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe('toSnakeCase', function () {
|
|
51
|
+
it('Convert camelcase string to snakecase string', function () {
|
|
52
|
+
var subject = 'camelCase';
|
|
53
|
+
var actual = (0, util_1.toSnakeCase)(subject);
|
|
54
|
+
var expected = 'camel_case';
|
|
55
|
+
expect(actual).toEqual(expected);
|
|
56
|
+
});
|
|
57
|
+
it('Leaves snakecase string intact', function () {
|
|
58
|
+
var subject = 'snake_case';
|
|
59
|
+
var actual = (0, util_1.toSnakeCase)(subject);
|
|
60
|
+
var expected = 'snake_case';
|
|
61
|
+
expect(actual).toEqual(expected);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe('toObjectWithCamelCaseKeys', function () {
|
|
65
|
+
it('Converts object with snake case keys to camel case', function () {
|
|
66
|
+
var actual = (0, util_1.toObjectWithCamelCaseKeys)(objectWithSnakeCaseKeys);
|
|
67
|
+
var expected = {
|
|
68
|
+
stringKey: 'asdf',
|
|
69
|
+
nestedKey: {
|
|
70
|
+
firstName: 'John',
|
|
71
|
+
lastName: 'Doe',
|
|
72
|
+
nestedArray: [1, 2, 3],
|
|
73
|
+
nestedArray2: [
|
|
74
|
+
{ itemName: 'a1', itemDesc: { partDesc: 'p1' }, subParts: [{ unitCost: 100 }, { unitCost: 200 }] },
|
|
75
|
+
{ itemName: 'a2', itemDesc: { partDesc: 'p2' }, subParts: [{ unitCost: 300 }, { unitCost: 400 }] },
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
arrayKey: ['asd', 'f12'],
|
|
79
|
+
nullKey: null,
|
|
80
|
+
undefinedKey: undefined,
|
|
81
|
+
emptyKey: '',
|
|
82
|
+
};
|
|
83
|
+
expect(actual).toMatchObject(expected);
|
|
84
|
+
});
|
|
85
|
+
it('Leave object with camel case intact', function () {
|
|
86
|
+
var actual = (0, util_1.toObjectWithCamelCaseKeys)(objectWithCamelCaseKeys);
|
|
87
|
+
var expected = {
|
|
88
|
+
stringKey: 'asdf',
|
|
89
|
+
nestedKey: {
|
|
90
|
+
firstName: 'John',
|
|
91
|
+
lastName: 'Doe',
|
|
92
|
+
nestedArray: [1, 2, 3],
|
|
93
|
+
nestedArray2: [
|
|
94
|
+
{ itemName: 'a1', itemDesc: { partDesc: 'p1' }, subParts: [{ unitCost: 100 }, { unitCost: 200 }] },
|
|
95
|
+
{ itemName: 'a2', itemDesc: { partDesc: 'p2' }, subParts: [{ unitCost: 300 }, { unitCost: 400 }] },
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
arrayKey: ['asd', 'f12'],
|
|
99
|
+
nullKey: null,
|
|
100
|
+
undefinedKey: undefined,
|
|
101
|
+
emptyKey: '',
|
|
102
|
+
};
|
|
103
|
+
expect(actual).toMatchObject(expected);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
describe('toObjectWithSnakeCaseKeys', function () {
|
|
107
|
+
it('Converts object with camel case keys to snake case', function () {
|
|
108
|
+
var actual = (0, util_1.toObjectWithSnakeCaseKeys)(objectWithCamelCaseKeys);
|
|
109
|
+
var expected = {
|
|
110
|
+
string_key: 'asdf',
|
|
111
|
+
nested_key: {
|
|
112
|
+
first_name: 'John',
|
|
113
|
+
last_name: 'Doe',
|
|
114
|
+
nested_array: [1, 2, 3],
|
|
115
|
+
nested_array2: [
|
|
116
|
+
{ item_name: 'a1', item_desc: { part_desc: 'p1' }, sub_parts: [{ unit_cost: 100 }, { unit_cost: 200 }] },
|
|
117
|
+
{ item_name: 'a2', item_desc: { part_desc: 'p2' }, sub_parts: [{ unit_cost: 300 }, { unit_cost: 400 }] },
|
|
118
|
+
]
|
|
119
|
+
},
|
|
120
|
+
array_key: ['asd', 'f12'],
|
|
121
|
+
null_key: null,
|
|
122
|
+
undefined_key: undefined,
|
|
123
|
+
empty_key: '',
|
|
124
|
+
};
|
|
125
|
+
expect(actual).toMatchObject(expected);
|
|
126
|
+
});
|
|
127
|
+
it('Leave object with snake case intact', function () {
|
|
128
|
+
var actual = (0, util_1.toObjectWithSnakeCaseKeys)(objectWithSnakeCaseKeys);
|
|
129
|
+
var expected = {
|
|
130
|
+
string_key: 'asdf',
|
|
131
|
+
nested_key: {
|
|
132
|
+
first_name: 'John',
|
|
133
|
+
last_name: 'Doe',
|
|
134
|
+
nested_array: [1, 2, 3],
|
|
135
|
+
nested_array2: [
|
|
136
|
+
{ item_name: 'a1', item_desc: { part_desc: 'p1' }, sub_parts: [{ unit_cost: 100 }, { unit_cost: 200 }] },
|
|
137
|
+
{ item_name: 'a2', item_desc: { part_desc: 'p2' }, sub_parts: [{ unit_cost: 300 }, { unit_cost: 400 }] },
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
array_key: ['asd', 'f12'],
|
|
141
|
+
null_key: null,
|
|
142
|
+
undefined_key: undefined,
|
|
143
|
+
empty_key: '',
|
|
144
|
+
};
|
|
145
|
+
expect(actual).toMatchObject(expected);
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
//# sourceMappingURL=util.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.test.js","sourceRoot":"","sources":["../../../src/shared/util.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toHumanizedErrors = exports.validateVerifyCardParams = exports.validateHppLoadParams = void 0;
|
|
4
|
+
var hpp_load_params_validator_1 = require("./validators/hpp-load-params-validator");
|
|
5
|
+
Object.defineProperty(exports, "validateHppLoadParams", { enumerable: true, get: function () { return hpp_load_params_validator_1.validateHppLoadParams; } });
|
|
6
|
+
var verify_card_params_validator_1 = require("./validators/verify-card-params-validator");
|
|
7
|
+
Object.defineProperty(exports, "validateVerifyCardParams", { enumerable: true, get: function () { return verify_card_params_validator_1.validateVerifyCardParams; } });
|
|
8
|
+
var validation_helper_1 = require("./validation-helper");
|
|
9
|
+
Object.defineProperty(exports, "toHumanizedErrors", { enumerable: true, get: function () { return validation_helper_1.toHumanizedErrors; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":";;;AAAA,oFAA8E;AAArE,kIAAA,qBAAqB,OAAA;AAC9B,0FAAoF;AAA3E,wIAAA,wBAAwB,OAAA;AACjC,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toHumanizedErrors = void 0;
|
|
4
|
+
var toHumanizedErrors = function (errors) {
|
|
5
|
+
return errors.map(function (e) {
|
|
6
|
+
return e.dataPath == '' ? e.message : "".concat(e.dataPath, " ").concat(e.message);
|
|
7
|
+
});
|
|
8
|
+
};
|
|
9
|
+
exports.toHumanizedErrors = toHumanizedErrors;
|
|
10
|
+
//# sourceMappingURL=validation-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-helper.js","sourceRoot":"","sources":["../../../src/validation/validation-helper.ts"],"names":[],"mappings":";;;AAEA,IAAM,iBAAiB,GAAG,UAAC,MAAqB;IAC9C,OAAO,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC;QAClB,OAAO,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAG,CAAC,CAAC,QAAQ,cAAI,CAAC,CAAC,OAAO,CAAE,CAAA;IACpE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAGC,8CAAiB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var validation_helper_1 = require("./validation-helper");
|
|
4
|
+
var hpp_load_params_validator_1 = require("./validators/hpp-load-params-validator");
|
|
5
|
+
describe('toHumanizedErrors', function () {
|
|
6
|
+
it('Converts Ajv ErrorObject to readable strings', function () {
|
|
7
|
+
var input = {
|
|
8
|
+
containerId: 'fz-hpp'
|
|
9
|
+
};
|
|
10
|
+
var errors = [
|
|
11
|
+
{
|
|
12
|
+
keyword: 'required',
|
|
13
|
+
dataPath: '',
|
|
14
|
+
schemaPath: '#/required',
|
|
15
|
+
params: { missingProperty: 'customer' },
|
|
16
|
+
message: "should have required property 'customer'"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
keyword: 'required',
|
|
20
|
+
dataPath: '',
|
|
21
|
+
schemaPath: '#/required',
|
|
22
|
+
params: { missingProperty: 'paymentIntent' },
|
|
23
|
+
message: "should have required property 'paymentIntent'"
|
|
24
|
+
}
|
|
25
|
+
];
|
|
26
|
+
var valid = (0, hpp_load_params_validator_1.validateHppLoadParams)(input);
|
|
27
|
+
var expected = [
|
|
28
|
+
"should have required property 'paymentIntent'"
|
|
29
|
+
];
|
|
30
|
+
expect(valid).toEqual(false);
|
|
31
|
+
expect((0, validation_helper_1.toHumanizedErrors)(hpp_load_params_validator_1.validateHppLoadParams.errors)).toEqual(expect.arrayContaining(expected));
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=validation-helper.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-helper.test.js","sourceRoot":"","sources":["../../../src/validation/validation-helper.test.ts"],"names":[],"mappings":";;AACA,yDAAuD;AACvD,oFAA8E;AAE9E,QAAQ,CAAC,mBAAmB,EAAE;IAC5B,EAAE,CAAC,8CAA8C,EAAE;QACjD,IAAM,KAAK,GAAG;YACZ,WAAW,EAAE,QAAQ;SACtB,CAAA;QAED,IAAM,MAAM,GAAkB;YAC5B;gBACE,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,YAAY;gBACxB,MAAM,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE;gBACvC,OAAO,EAAE,0CAA0C;aACpD;YACD;gBACE,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,YAAY;gBACxB,MAAM,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE;gBAC5C,OAAO,EAAE,+CAA+C;aACzD;SACF,CAAA;QAGD,IAAM,KAAK,GAAG,IAAA,iDAAqB,EAAC,KAAK,CAAC,CAAA;QAE1C,IAAM,QAAQ,GAAG;YACf,+CAA+C;SAChD,CAAA;QAED,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC5B,MAAM,CAAC,IAAA,qCAAiB,EAAC,iDAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnG,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateHppLoadParams = void 0;
|
|
7
|
+
var ajv_1 = __importDefault(require("ajv"));
|
|
8
|
+
var validator = new ajv_1.default({
|
|
9
|
+
allErrors: true,
|
|
10
|
+
jsonPointers: true,
|
|
11
|
+
})
|
|
12
|
+
.addSchema(require('../schemas/customer.json'))
|
|
13
|
+
.addSchema(require('../schemas/payment-intent.json'))
|
|
14
|
+
.addSchema(require('../schemas/hpp-options.json'))
|
|
15
|
+
.compile(require('../schemas/hpp-load-params.json'));
|
|
16
|
+
exports.validateHppLoadParams = validator;
|
|
17
|
+
//# sourceMappingURL=hpp-load-params-validator.js.map
|