@agnostack/next-shopify 1.15.0-beta.17 → 1.15.0-beta.18

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 CHANGED
@@ -1,3 +1,10 @@
1
+ # [1.15.0-beta.18](https://github.com/agnostack/next-shopify/compare/v1.15.0-beta.17...v1.15.0-beta.18) (2023-12-08)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * wip ([1343a5c](https://github.com/agnostack/next-shopify/commit/1343a5c91e53b9cb228376281fe74b711c70b76b))
7
+
1
8
  # [1.15.0-beta.17](https://github.com/agnostack/next-shopify/compare/v1.15.0-beta.16...v1.15.0-beta.17) (2023-12-08)
2
9
 
3
10
 
@@ -1,7 +1,11 @@
1
1
  export default WebCrypto;
2
2
  declare class WebCrypto {
3
- constructor(cryptoInstance: any);
3
+ constructor({ crypto: _crypto, utils: _util }?: {
4
+ crypto: any;
5
+ utils: any;
6
+ });
4
7
  _crypto: any;
8
+ _util: any;
5
9
  get subtle(): any;
6
10
  getWebCrypto(): Promise<any>;
7
11
  getTextDecoder(): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"WebCrypto.d.ts","sourceRoot":"","sources":["../../src/shared/WebCrypto.js"],"names":[],"mappings":";AAIA;IACE,iCAEC;IADC,aAA6B;IAG/B,kBAEC;IAED,6BAsBC;IAED,+BAYC;IAED,+BAYC;IAED,mDAiBC;IAED,sCAMC;IAED,mCAQC;IAED,oDAIC;IAED,oCAMC;IAED,gDAMC;IAED,gCAYC;IAED,yCAiBC;IAED;;;;;;MAmBC;IAED,yEAiBC;IAED,iFAIC;IAED,0CAKC;IAED,iEAkBC;IAED,8CAUC;IAED,kDAUC;IAED;;;qBAoBC;IAED;;;qBAqBC;IAED;;;;;;;;;OAaC;IAED,sFAuBC;IAED,qEAuBC;CACF"}
1
+ {"version":3,"file":"WebCrypto.d.ts","sourceRoot":"","sources":["../../src/shared/WebCrypto.js"],"names":[],"mappings":";AAIA;IACE;;;OAGC;IAFC,aAAsB;IACtB,WAAkB;IAGpB,kBAEC;IAED,6BAoBC;IAED,+BAYC;IAED,+BAYC;IAED,mDAiBC;IAED,sCAMC;IAED,mCAQC;IAED,oDAIC;IAED,oCAMC;IAED,gDAMC;IAED,gCAYC;IAED,yCAiBC;IAED;;;;;;MAmBC;IAED,yEAiBC;IAED,iFAIC;IAED,0CAKC;IAED,iEAkBC;IAED,8CAUC;IAED,kDAUC;IAED;;;qBAoBC;IAED;;;qBAqBC;IAED;;;;;;;;;OAaC;IAED,sFAuBC;IAED,qEAuBC;CACF"}
@@ -35,8 +35,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
35
35
  const browser_monads_ts_1 = require("browser-monads-ts");
36
36
  const display_1 = require("./display");
37
37
  class WebCrypto {
38
- constructor(cryptoInstance) {
39
- this._crypto = cryptoInstance;
38
+ constructor({ crypto: _crypto, utils: _util } = {}) {
39
+ this._crypto = _crypto;
40
+ this._util = _util;
40
41
  }
41
42
  get subtle() {
42
43
  var _a;
@@ -48,13 +49,11 @@ class WebCrypto {
48
49
  if (!this._crypto) {
49
50
  try {
50
51
  this._crypto = (yield Promise.resolve().then(() => __importStar(require('isomorphic-webcrypto')))).default;
51
- console.log(`>>> > getWebCrypto > imported isomorphic-webcrypto:`, { crypto: this._crypto });
52
52
  }
53
53
  catch (_ignore) {
54
54
  console.info('Failed to import isomorphic-webcrypto, retrying w/ node crypto');
55
55
  try {
56
56
  this._crypto = (yield Promise.resolve().then(() => __importStar(require('crypto')))).default;
57
- console.log(`>>> > getWebCrypto > imported node crypto:`, { crypto: this._crypto });
58
57
  }
59
58
  catch (error) {
60
59
  console.error('Failed to import node crypto');
@@ -74,7 +73,7 @@ class WebCrypto {
74
73
  return browser_monads_ts_1.window.TextDecoder;
75
74
  }
76
75
  try {
77
- const TextDecoder = (yield Promise.resolve().then(() => __importStar(require('util')))).TextDecoder;
76
+ const TextDecoder = (this._util || (yield Promise.resolve().then(() => __importStar(require('util'))))).TextDecoder;
78
77
  return TextDecoder;
79
78
  }
80
79
  catch (error) {
@@ -89,7 +88,7 @@ class WebCrypto {
89
88
  return browser_monads_ts_1.window.TextEncoder;
90
89
  }
91
90
  try {
92
- const TextEncoder = (yield Promise.resolve().then(() => __importStar(require('util')))).TextEncoder;
91
+ const TextEncoder = (this._util || (yield Promise.resolve().then(() => __importStar(require('util'))))).TextEncoder;
93
92
  return TextEncoder;
94
93
  }
95
94
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"WebCrypto.js","sourceRoot":"","sources":["../../src/shared/WebCrypto.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAAkD;AAElD,uCAAkE;AAElE,MAAM,SAAS;IACb,YAAY,cAAc;QACxB,IAAI,CAAC,OAAO,GAAG,cAAc,CAAA;IAC/B,CAAC;IAED,IAAI,MAAM;;QACR,OAAO,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAA;IAC7B,CAAC;IAEK,YAAY;;;YAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,IAAI;oBACF,IAAI,CAAC,OAAO,GAAG,CAAC,wDAAa,sBAAsB,GAAC,CAAC,CAAC,OAAO,CAAA;oBAC7D,OAAO,CAAC,GAAG,CAAC,qDAAqD,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;iBAC7F;gBAAC,OAAO,OAAO,EAAE;oBAChB,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAA;oBAC9E,IAAI;wBACF,IAAI,CAAC,OAAO,GAAG,CAAC,wDAAa,QAAQ,GAAC,CAAC,CAAC,OAAO,CAAA;wBAC/C,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;qBACpF;oBAAC,OAAO,KAAK,EAAE;wBACd,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;wBAC7C,MAAM,KAAK,CAAA;qBACZ;iBACF;aACF;YAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAA,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;aAClD;YAED,OAAO,IAAI,CAAC,OAAO,CAAA;;KACpB;IAEK,cAAc;;YAClB,IAAI,IAAA,0BAAM,EAAC,0BAAM,CAAC,IAAI,OAAO,CAAA,0BAAM,aAAN,0BAAM,uBAAN,0BAAM,CAAE,WAAW,CAAA,KAAK,UAAU,EAAE;gBAC/D,OAAO,0BAAM,CAAC,WAAW,CAAA;aAC1B;YAED,IAAI;gBACF,MAAM,WAAW,GAAG,CAAC,wDAAa,MAAM,GAAC,CAAC,CAAC,WAAW,CAAA;gBACtD,OAAO,WAAW,CAAA;aACnB;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;gBAC1D,MAAM,KAAK,CAAA;aACZ;QACH,CAAC;KAAA;IAEK,cAAc;;YAClB,IAAI,IAAA,0BAAM,EAAC,0BAAM,CAAC,IAAI,OAAO,CAAA,0BAAM,aAAN,0BAAM,uBAAN,0BAAM,CAAE,WAAW,CAAA,KAAK,UAAU,EAAE;gBAC/D,OAAO,0BAAM,CAAC,WAAW,CAAA;aAC1B;YAED,IAAI;gBACF,MAAM,WAAW,GAAG,CAAC,wDAAa,MAAM,GAAC,CAAC,CAAC,WAAW,CAAA;gBACtD,OAAO,WAAW,CAAA;aACnB;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;gBAC1D,MAAM,KAAK,CAAA;aACZ;QACH,CAAC;KAAA;IAED,eAAe,CAAC,MAAM,EAAE,MAAM;QAC5B,IACE,CAAC,MAAM,IAAI,SAAS,CAAC;YACrB,CAAC,MAAM,IAAI,SAAS,CAAC;YACrB,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,EACjC;YACA,OAAO,KAAK,CAAA;SACb;QAED,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,uCAAuC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,sCAAsC;YACtC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;SAChC;QAED,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,WAAW,CAAC,WAAW;QACrB,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,IAAA,sBAAY,EAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAC9C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CACjD,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACZ,CAAA;IACH,CAAC;IAED,WAAW,CAAC,QAAQ;QAClB,OAAO,CACL,IAAA,qBAAW,EACT,IAAA,sBAAY,EAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CACxC;aACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;aACtD,IAAI,CAAC,EAAE,CAAC,CACZ,CAAA;IACH,CAAC;IAEK,mBAAmB,CAAC,WAAW;;YACnC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;YAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YAC3C,OAAO,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACzC,CAAC;KAAA;IAED,kBAAkB,CAAC,KAAK;QACtB,OAAO,CACL,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC;YAC7B,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CACjC,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,kBAAkB;QAClC,OAAO,CACL,CAAC,kBAAkB,YAAY,WAAW,CAAC;YACzC,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAChD,CAAA;IACH,CAAC;IAEK,eAAe;;YACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACxC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAC7C;gBACE,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,OAAO;aACpB,EACD,IAAI,EACJ,CAAC,WAAW,CAAC,CACd,CAAA;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;KAAA;IAED,gBAAgB,CAAC,OAAO;QACtB,QAAQ,OAAO,EAAE;YACf,KAAK,SAAS,CAAC;YACf,KAAK,YAAY,CAAC,CAAC;gBACjB,OAAO,CAAC,WAAW,CAAC,CAAA;aACrB;YAED,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW,CAAC;YACjB,KAAK,cAAc,CAAC,CAAC;gBACnB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;aAC9B;YAED,OAAO,CAAC,CAAC;gBACP,OAAO,EAAE,CAAA;aACV;SACF;IACH,CAAC;IAED,eAAe,CAAC,OAAO;QACrB,QAAQ,OAAO,EAAE;YACf,KAAK,YAAY,CAAC;YAClB,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW,CAAC;YACjB,KAAK,cAAc,CAAC,CAAC;gBACnB,OAAO;oBACL,IAAI,EAAE,SAAS;iBAChB,CAAA;aACF;YAED,OAAO,CAAC,CAAC;gBACP,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,OAAO;iBACpB,CAAA;aACF;SACF;IACH,CAAC;IAEK,YAAY,CAAC,OAAO,EAAE,UAAU;;YACpC,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE;gBAC3B,OAAO,SAAS,CAAA;aACjB;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YAE3C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CACxC,MAAM,EACN,UAAU,EACV,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAC9B,CAAA;YAED,OAAO,IAAI,CAAC,WAAW,CACrB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CACpC,CAAA;QACH,CAAC;KAAA;IAEK,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc;;YAClD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAEnE,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;QAC7D,CAAC;KAAA;IAEK,cAAc,CAAC,GAAG;;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YAExC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;QACtD,CAAC;KAAA;IAEK,kBAAkB,CAAC,OAAO,EAAE,WAAW;;YAC3C,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAO,SAAS,CAAA;aACjB;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YAExC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAA;YACrE,IAAI,IAAA,qBAAW,EAAC,WAAW,CAAC,EAAE;gBAC5B,OAAO,SAAS,CAAA;aACjB;YAED,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B,KAAK,EACL,WAAW,EACX,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAC7B,IAAI,EACJ,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAC/B,CAAA;QACH,CAAC;KAAA;IAEK,kBAAkB,CAAC,OAAO;;YAC9B,MAAM,YAAY,GAAG,EAAE,CAAA;YAEvB,gDAAgD;YAChD,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACpD,4CAA4C;gBAC5C,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;aACvD;YAED,OAAO,YAAY,CAAA;QACrB,CAAC;KAAA;IAEK,sBAAsB,CAAC,OAAO;;YAClC,MAAM,YAAY,GAAG,EAAE,CAAA;YAEvB,gDAAgD;YAChD,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACpD,4CAA4C;gBAC5C,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;aACpE;YAED,OAAO,YAAY,CAAA;QACrB,CAAC;KAAA;IAEK,eAAe,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;;YAC7C,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,SAAS,CAAA;aACjB;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACxC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC9C;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,SAAS;aAClB,EACD,UAAU,EACV;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,GAAG;aACZ,EACD,IAAI,EACJ,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAA;YACD,OAAO,UAAU,CAAA;QACnB,CAAC;KAAA;IAEK,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;;YAC3C,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,SAAS,CAAA;aACjB;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACxC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC9C;gBACE,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,SAAS;aAClB,EACD,UAAU,EACV;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACzB,MAAM,EAAE,GAAG,EAAG,sCAAsC;aACrD,EACD,IAAI,EACJ,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAA;YACD,OAAO,UAAU,CAAA;QACnB,CAAC;KAAA;IAEK,mBAAmB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;;YACjD,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE;gBAC7B,OAAO,EAAE,CAAA;aACV;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAA;YAClF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;YAC9D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;YAElE,OAAO;gBACL,gBAAgB;gBAChB,cAAc;aACf,CAAA;QACH,CAAC;KAAA;IAEK,cAAc,CAAC,gBAAgB,EAAE,UAAU;;YAC/C,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE;gBACpC,OAAO,SAAS,CAAA;aACjB;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACxC,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;YACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YAC3C,MAAM,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAC7D,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAC5C;gBACE,IAAI,EAAE,SAAS;gBACf,EAAE;aACH,EACD,UAAU,EACV,cAAc,CACf,CAAA;YAED,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC;gBACtC,GAAG,EAAE;gBACL,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC;aAC9B,CAAC,CAAA;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACrC,CAAC;KAAA;IAEK,cAAc,CAAC,gBAAgB,EAAE,UAAU;;YAC/C,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE;gBACpC,OAAO,SAAS,CAAA;aACjB;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YACxC,oHAAoH;YACpH,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;YACrE,MAAM,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC5C,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAEjD,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CACtD;gBACE,IAAI,EAAE,SAAS;gBACf,EAAE;aACH,EACD,UAAU,EACV,UAAU,CACX,CAAA;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YAC3C,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAA;YACnE,OAAO,gBAAgB,CAAA;QACzB,CAAC;KAAA;CACF;AAED,kBAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"WebCrypto.js","sourceRoot":"","sources":["../../src/shared/WebCrypto.js"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export function getKeysData(publicKey: any, _cryptoInstance: any): Promise<{
1
+ export function getKeysData(publicKey: any, _crypto: any): Promise<{
2
2
  publicKey: any;
3
3
  ephemeral: {};
4
4
  verification: {
@@ -9,7 +9,7 @@ export function getKeysData(publicKey: any, _cryptoInstance: any): Promise<{
9
9
  derivedHMACKey: any;
10
10
  };
11
11
  }>;
12
- export function prepareVerificationRequest({ keysData: _keysData, disableRecryption: _disableRecryption, crypto: _cryptoInstance }?: {
12
+ export function prepareVerificationRequest({ keysData: _keysData, disableRecryption: _disableRecryption, crypto: _crypto }?: {
13
13
  keysData: any;
14
14
  disableRecryption: any;
15
15
  crypto: any;
@@ -18,7 +18,7 @@ export function prepareVerificationRequest({ keysData: _keysData, disableRecrypt
18
18
  body: any;
19
19
  headers: any;
20
20
  }) => Promise<any[] | undefined>;
21
- export function processVerificationResponse({ keysData, disableRecryption: _disableRecryption, crypto: _cryptoInstance }?: {
21
+ export function processVerificationResponse({ keysData, disableRecryption: _disableRecryption, crypto: _crypto }?: {
22
22
  keysData: any;
23
23
  disableRecryption: any;
24
24
  crypto: any;
@@ -28,8 +28,8 @@ const request_1 = require("./request");
28
28
  const display_1 = require("./display");
29
29
  const datetime_1 = require("./datetime");
30
30
  const WebCrypto_1 = __importDefault(require("./WebCrypto"));
31
- const getKeysData = (publicKey, _cryptoInstance) => __awaiter(void 0, void 0, void 0, function* () {
32
- const webCrypto = new WebCrypto_1.default(_cryptoInstance);
31
+ const getKeysData = (publicKey, _crypto) => __awaiter(void 0, void 0, void 0, function* () {
32
+ const webCrypto = new WebCrypto_1.default({ crypto: _crypto });
33
33
  const _ephemeralStoreableKeyPair = yield webCrypto.getStorableKeyPair(yield webCrypto.generateKeyPair(publicKey));
34
34
  const _verificationKeyPair = yield webCrypto.getVerificationKeys({
35
35
  publicKey,
@@ -43,8 +43,8 @@ const getKeysData = (publicKey, _cryptoInstance) => __awaiter(void 0, void 0, vo
43
43
  });
44
44
  exports.getKeysData = getKeysData;
45
45
  // eslint-disable-next-line arrow-body-style
46
- const prepareVerificationRequest = ({ keysData: _keysData, disableRecryption: _disableRecryption, crypto: _cryptoInstance } = {}) => {
47
- const webCrypto = new WebCrypto_1.default(_cryptoInstance);
46
+ const prepareVerificationRequest = ({ keysData: _keysData, disableRecryption: _disableRecryption, crypto: _crypto } = {}) => {
47
+ const webCrypto = new WebCrypto_1.default({ crypto: _crypto });
48
48
  const disableRecryption = (0, display_1.isTrue)(_disableRecryption);
49
49
  return (requestPath, _a = {}) => __awaiter(void 0, void 0, void 0, function* () {
50
50
  var { method: rawMethod, body: rawBody, headers: rawHeaders } = _a, requestOptions = __rest(_a, ["method", "body", "headers"]);
@@ -74,8 +74,8 @@ const prepareVerificationRequest = ({ keysData: _keysData, disableRecryption: _d
74
74
  });
75
75
  };
76
76
  exports.prepareVerificationRequest = prepareVerificationRequest;
77
- const processVerificationResponse = ({ keysData, disableRecryption: _disableRecryption, crypto: _cryptoInstance } = {}) => {
78
- const webCrypto = new WebCrypto_1.default(_cryptoInstance);
77
+ const processVerificationResponse = ({ keysData, disableRecryption: _disableRecryption, crypto: _crypto } = {}) => {
78
+ const webCrypto = new WebCrypto_1.default({ crypto: _crypto });
79
79
  const disableRecryption = (0, display_1.isTrue)(_disableRecryption);
80
80
  return (encryptedResponse, _derivedSecretKey) => __awaiter(void 0, void 0, void 0, function* () {
81
81
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/shared/verification.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/shared/verification.js"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  export default WebCrypto;
2
2
  declare class WebCrypto {
3
- constructor(cryptoInstance: any);
3
+ constructor({ crypto: _crypto, utils: _util }?: {
4
+ crypto: any;
5
+ utils: any;
6
+ });
4
7
  _crypto: any;
8
+ _util: any;
5
9
  get subtle(): any;
6
10
  getWebCrypto(): Promise<any>;
7
11
  getTextDecoder(): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"WebCrypto.d.ts","sourceRoot":"","sources":["../../src/shared/WebCrypto.js"],"names":[],"mappings":";AAIA;IACE,iCAEC;IADC,aAA6B;IAG/B,kBAEC;IAED,6BAsBC;IAED,+BAYC;IAED,+BAYC;IAED,mDAiBC;IAED,sCAMC;IAED,mCAQC;IAED,oDAIC;IAED,oCAMC;IAED,gDAMC;IAED,gCAYC;IAED,yCAiBC;IAED;;;;;;MAmBC;IAED,yEAiBC;IAED,iFAIC;IAED,0CAKC;IAED,iEAkBC;IAED,8CAUC;IAED,kDAUC;IAED;;;qBAoBC;IAED;;;qBAqBC;IAED;;;;;;;;;OAaC;IAED,sFAuBC;IAED,qEAuBC;CACF"}
1
+ {"version":3,"file":"WebCrypto.d.ts","sourceRoot":"","sources":["../../src/shared/WebCrypto.js"],"names":[],"mappings":";AAIA;IACE;;;OAGC;IAFC,aAAsB;IACtB,WAAkB;IAGpB,kBAEC;IAED,6BAoBC;IAED,+BAYC;IAED,+BAYC;IAED,mDAiBC;IAED,sCAMC;IAED,mCAQC;IAED,oDAIC;IAED,oCAMC;IAED,gDAMC;IAED,gCAYC;IAED,yCAiBC;IAED;;;;;;MAmBC;IAED,yEAiBC;IAED,iFAIC;IAED,0CAKC;IAED,iEAkBC;IAED,8CAUC;IAED,kDAUC;IAED;;;qBAoBC;IAED;;;qBAqBC;IAED;;;;;;;;;OAaC;IAED,sFAuBC;IAED,qEAuBC;CACF"}
@@ -1,4 +1,4 @@
1
- export function getKeysData(publicKey: any, _cryptoInstance: any): Promise<{
1
+ export function getKeysData(publicKey: any, _crypto: any): Promise<{
2
2
  publicKey: any;
3
3
  ephemeral: {};
4
4
  verification: {
@@ -9,7 +9,7 @@ export function getKeysData(publicKey: any, _cryptoInstance: any): Promise<{
9
9
  derivedHMACKey: any;
10
10
  };
11
11
  }>;
12
- export function prepareVerificationRequest({ keysData: _keysData, disableRecryption: _disableRecryption, crypto: _cryptoInstance }?: {
12
+ export function prepareVerificationRequest({ keysData: _keysData, disableRecryption: _disableRecryption, crypto: _crypto }?: {
13
13
  keysData: any;
14
14
  disableRecryption: any;
15
15
  crypto: any;
@@ -18,7 +18,7 @@ export function prepareVerificationRequest({ keysData: _keysData, disableRecrypt
18
18
  body: any;
19
19
  headers: any;
20
20
  }) => Promise<any[] | undefined>;
21
- export function processVerificationResponse({ keysData, disableRecryption: _disableRecryption, crypto: _cryptoInstance }?: {
21
+ export function processVerificationResponse({ keysData, disableRecryption: _disableRecryption, crypto: _crypto }?: {
22
22
  keysData: any;
23
23
  disableRecryption: any;
24
24
  crypto: any;
@@ -1 +1 @@
1
- {"version":3,"file":"rawbody.d.ts","sourceRoot":"","sources":["../../../src/verification/utils/rawbody.js"],"names":[],"mappings":"AAqBO,sDAQN"}
1
+ {"version":3,"file":"rawbody.d.ts","sourceRoot":"","sources":["../../../src/verification/utils/rawbody.js"],"names":[],"mappings":"AAoBO,sDAQN"}
@@ -1,4 +1,4 @@
1
- export function getVerificationHelpers({ keyPairs, crypto: _cryptoInstance }?: {
1
+ export function getVerificationHelpers({ keyPairs, crypto: _crypto }?: {
2
2
  keyPairs: any;
3
3
  crypto: any;
4
4
  }): (req: any, params: any) => Promise<{
@@ -243,7 +243,6 @@
243
243
 
244
244
  const getChunkedRawBody = async (readable) => {
245
245
  if (readable?.rawBody) {
246
- console.info(`>>> > getChunkedRawBody > readable?.rawBody:`, { rawBody: readable?.rawBody, type: typeof readable?.rawBody });
247
246
  return readable.rawBody
248
247
  }
249
248
 
@@ -416,8 +415,9 @@
416
415
  let window = typeof win !== "undefined" ? win : r;
417
416
 
418
417
  class WebCrypto {
419
- constructor(cryptoInstance) {
420
- this._crypto = cryptoInstance;
418
+ constructor({ crypto: _crypto, utils: _util } = {}) {
419
+ this._crypto = _crypto;
420
+ this._util = _util;
421
421
  }
422
422
 
423
423
  get subtle() {
@@ -428,12 +428,10 @@
428
428
  if (!this._crypto) {
429
429
  try {
430
430
  this._crypto = (await import('isomorphic-webcrypto')).default;
431
- console.log(`>>> > getWebCrypto > imported isomorphic-webcrypto:`, { crypto: this._crypto });
432
431
  } catch (_ignore) {
433
432
  console.info('Failed to import isomorphic-webcrypto, retrying w/ node crypto');
434
433
  try {
435
434
  this._crypto = (await import('crypto')).default;
436
- console.log(`>>> > getWebCrypto > imported node crypto:`, { crypto: this._crypto });
437
435
  } catch (error) {
438
436
  console.error('Failed to import node crypto');
439
437
  throw error
@@ -454,7 +452,7 @@
454
452
  }
455
453
 
456
454
  try {
457
- const TextDecoder = (await import('util')).TextDecoder;
455
+ const TextDecoder = (this._util || (await import('util'))).TextDecoder;
458
456
  return TextDecoder
459
457
  } catch (error) {
460
458
  console.error('Failed to import utils.TextDecoder', error);
@@ -468,7 +466,7 @@
468
466
  }
469
467
 
470
468
  try {
471
- const TextEncoder = (await import('util')).TextEncoder;
469
+ const TextEncoder = (this._util || (await import('util'))).TextEncoder;
472
470
  return TextEncoder
473
471
  } catch (error) {
474
472
  console.error('Failed to import utils.TextEncoder', error);
@@ -776,8 +774,8 @@
776
774
  }
777
775
  }
778
776
 
779
- const getVerificationHelpers = ({ keyPairs, crypto: _cryptoInstance } = {}) => {
780
- const webCrypto = new WebCrypto(_cryptoInstance);
777
+ const getVerificationHelpers = ({ keyPairs, crypto: _crypto } = {}) => {
778
+ const webCrypto = new WebCrypto({ crypto: _crypto });
781
779
 
782
780
  return async (req, params) => {
783
781
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"verification.js","sources":["../../src/shared/constants.js","../../src/verification/utils/errors.js","../../src/verification/utils/rawbody.js","../../src/shared/display.js","../../src/shared/request.js","../../node_modules/browser-monads-ts/dist/browser-monads-ts.es.js","../../src/shared/WebCrypto.js","../../src/verification/verification.js"],"sourcesContent":["export const COLLECTION_ROOT = 'oauth-data'\n\nexport const PAGE_ROUTE_NAMES = {\n EXIT: 'pageRouteExit',\n ERROR: 'pageRouteError',\n SUCCESS: 'pageRouteSuccess',\n}\n\nexport const API_WEBHOOK_TOPICS = {\n APP_UNINSTALLED: 'APP_UNINSTALLED',\n APP_PURCHASES_ONE_TIME_UPDATE: 'APP_PURCHASES_ONE_TIME_UPDATE',\n APP_SUBSCRIPTIONS_APPROACHING_CAPPED_AMOUNT: 'APP_SUBSCRIPTIONS_APPROACHING_CAPPED_AMOUNT',\n APP_SUBSCRIPTIONS_UPDATE: 'APP_SUBSCRIPTIONS_UPDATE',\n ATTRIBUTED_SESSIONS_FIRST: 'ATTRIBUTED_SESSIONS_FIRST',\n ATTRIBUTED_SESSIONS_LAST: 'ATTRIBUTED_SESSIONS_LAST',\n AUDIT_EVENTS_ADMIN_API_ACTIVITY: 'AUDIT_EVENTS_ADMIN_API_ACTIVITY',\n BULK_OPERATIONS_FINISH: 'BULK_OPERATIONS_FINISH',\n CARTS_CREATE: 'CARTS_CREATE',\n CARTS_UPDATE: 'CARTS_UPDATE',\n CHANNELS_DELETE: 'CHANNELS_DELETE',\n CHECKOUTS_CREATE: 'CHECKOUTS_CREATE',\n CHECKOUTS_DELETE: 'CHECKOUTS_DELETE',\n CHECKOUTS_UPDATE: 'CHECKOUTS_UPDATE',\n COLLECTIONS_CREATE: 'COLLECTIONS_CREATE',\n COLLECTIONS_DELETE: 'COLLECTIONS_DELETE',\n COLLECTIONS_UPDATE: 'COLLECTIONS_UPDATE',\n COLLECTION_LISTINGS_ADD: 'COLLECTION_LISTINGS_ADD',\n COLLECTION_LISTINGS_REMOVE: 'COLLECTION_LISTINGS_REMOVE',\n COLLECTION_LISTINGS_UPDATE: 'COLLECTION_LISTINGS_UPDATE',\n COLLECTION_PUBLICATIONS_CREATE: 'COLLECTION_PUBLICATIONS_CREATE',\n COLLECTION_PUBLICATIONS_DELETE: 'COLLECTION_PUBLICATIONS_DELETE',\n COLLECTION_PUBLICATIONS_UPDATE: 'COLLECTION_PUBLICATIONS_UPDATE',\n COMPANIES_CREATE: 'COMPANIES_CREATE',\n COMPANIES_DELETE: 'COMPANIES_DELETE',\n COMPANIES_UPDATE: 'COMPANIES_UPDATE',\n COMPANY_CONTACTS_CREATE: 'COMPANY_CONTACTS_CREATE',\n COMPANY_CONTACTS_DELETE: 'COMPANY_CONTACTS_DELETE',\n COMPANY_CONTACTS_UPDATE: 'COMPANY_CONTACTS_UPDATE',\n COMPANY_LOCATIONS_CREATE: 'COMPANY_LOCATIONS_CREATE',\n COMPANY_LOCATIONS_DELETE: 'COMPANY_LOCATIONS_DELETE',\n COMPANY_LOCATIONS_UPDATE: 'COMPANY_LOCATIONS_UPDATE',\n CUSTOMERS_CREATE: 'CUSTOMERS_CREATE',\n CUSTOMERS_DELETE: 'CUSTOMERS_DELETE',\n CUSTOMERS_DISABLE: 'CUSTOMERS_DISABLE',\n CUSTOMERS_ENABLE: 'CUSTOMERS_ENABLE',\n CUSTOMERS_MARKETING_CONSENT_UPDATE: 'CUSTOMERS_MARKETING_CONSENT_UPDATE',\n CUSTOMERS_MERGE: 'CUSTOMERS_MERGE',\n CUSTOMERS_UPDATE: 'CUSTOMERS_UPDATE',\n CUSTOMER_GROUPS_CREATE: 'CUSTOMER_GROUPS_CREATE',\n CUSTOMER_GROUPS_DELETE: 'CUSTOMER_GROUPS_DELETE',\n CUSTOMER_GROUPS_UPDATE: 'CUSTOMER_GROUPS_UPDATE',\n CUSTOMER_PAYMENT_METHODS_CREATE: 'CUSTOMER_PAYMENT_METHODS_CREATE',\n CUSTOMER_PAYMENT_METHODS_REVOKE: 'CUSTOMER_PAYMENT_METHODS_REVOKE',\n CUSTOMER_PAYMENT_METHODS_UPDATE: 'CUSTOMER_PAYMENT_METHODS_UPDATE',\n DISPUTES_CREATE: 'DISPUTES_CREATE',\n DISPUTES_UPDATE: 'DISPUTES_UPDATE',\n DOMAINS_CREATE: 'DOMAINS_CREATE',\n DOMAINS_DESTROY: 'DOMAINS_DESTROY',\n DOMAINS_UPDATE: 'DOMAINS_UPDATE',\n DRAFT_ORDERS_CREATE: 'DRAFT_ORDERS_CREATE',\n DRAFT_ORDERS_DELETE: 'DRAFT_ORDERS_DELETE',\n DRAFT_ORDERS_UPDATE: 'DRAFT_ORDERS_UPDATE',\n FULFILLMENTS_CREATE: 'FULFILLMENTS_CREATE',\n FULFILLMENTS_UPDATE: 'FULFILLMENTS_UPDATE',\n FULFILLMENT_EVENTS_CREATE: 'FULFILLMENT_EVENTS_CREATE',\n FULFILLMENT_EVENTS_DELETE: 'FULFILLMENT_EVENTS_DELETE',\n FULFILLMENT_ORDERS_CANCELLATION_REQUEST_ACCEPTED: 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_ACCEPTED',\n FULFILLMENT_ORDERS_CANCELLATION_REQUEST_REJECTED: 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_REJECTED',\n FULFILLMENT_ORDERS_CANCELLATION_REQUEST_SUBMITTED: 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_SUBMITTED',\n FULFILLMENT_ORDERS_CANCELLED: 'FULFILLMENT_ORDERS_CANCELLED',\n FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_ACCEPTED: 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_ACCEPTED',\n FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_REJECTED: 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_REJECTED',\n FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_SUBMITTED: 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_SUBMITTED',\n FULFILLMENT_ORDERS_FULFILLMENT_SERVICE_FAILED_TO_COMPLETE: 'FULFILLMENT_ORDERS_FULFILLMENT_SERVICE_FAILED_TO_COMPLETE',\n FULFILLMENT_ORDERS_HOLD_RELEASED: 'FULFILLMENT_ORDERS_HOLD_RELEASED',\n FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_LOCAL_DELIVERY: 'FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_LOCAL_DELIVERY',\n FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_PICKUP: 'FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_PICKUP',\n FULFILLMENT_ORDERS_MOVED: 'FULFILLMENT_ORDERS_MOVED',\n FULFILLMENT_ORDERS_ORDER_ROUTING_COMPLETE: 'FULFILLMENT_ORDERS_ORDER_ROUTING_COMPLETE',\n FULFILLMENT_ORDERS_PLACED_ON_HOLD: 'FULFILLMENT_ORDERS_PLACED_ON_HOLD',\n FULFILLMENT_ORDERS_RESCHEDULED: 'FULFILLMENT_ORDERS_RESCHEDULED',\n FULFILLMENT_ORDERS_SCHEDULED_FULFILLMENT_ORDER_READY: 'FULFILLMENT_ORDERS_SCHEDULED_FULFILLMENT_ORDER_READY',\n INVENTORY_ITEMS_CREATE: 'INVENTORY_ITEMS_CREATE',\n INVENTORY_ITEMS_DELETE: 'INVENTORY_ITEMS_DELETE',\n INVENTORY_ITEMS_UPDATE: 'INVENTORY_ITEMS_UPDATE',\n INVENTORY_LEVELS_CONNECT: 'INVENTORY_LEVELS_CONNECT',\n INVENTORY_LEVELS_DISCONNECT: 'INVENTORY_LEVELS_DISCONNECT',\n INVENTORY_LEVELS_UPDATE: 'INVENTORY_LEVELS_UPDATE',\n LOCALES_CREATE: 'LOCALES_CREATE',\n LOCALES_UPDATE: 'LOCALES_UPDATE',\n LOCATIONS_ACTIVATE: 'LOCATIONS_ACTIVATE',\n LOCATIONS_CREATE: 'LOCATIONS_CREATE',\n LOCATIONS_DEACTIVATE: 'LOCATIONS_DEACTIVATE',\n LOCATIONS_DELETE: 'LOCATIONS_DELETE',\n LOCATIONS_UPDATE: 'LOCATIONS_UPDATE',\n MARKETS_CREATE: 'MARKETS_CREATE',\n MARKETS_DELETE: 'MARKETS_DELETE',\n MARKETS_UPDATE: 'MARKETS_UPDATE',\n ORDERS_CANCELLED: 'ORDERS_CANCELLED',\n ORDERS_CREATE: 'ORDERS_CREATE',\n ORDERS_DELETE: 'ORDERS_DELETE',\n ORDERS_EDITED: 'ORDERS_EDITED',\n ORDERS_FULFILLED: 'ORDERS_FULFILLED',\n ORDERS_PAID: 'ORDERS_PAID',\n ORDERS_PARTIALLY_FULFILLED: 'ORDERS_PARTIALLY_FULFILLED',\n ORDERS_UPDATED: 'ORDERS_UPDATED',\n ORDER_TRANSACTIONS_CREATE: 'ORDER_TRANSACTIONS_CREATE',\n PAYMENT_SCHEDULES_DUE: 'PAYMENT_SCHEDULES_DUE',\n PAYMENT_TERMS_CREATE: 'PAYMENT_TERMS_CREATE',\n PAYMENT_TERMS_DELETE: 'PAYMENT_TERMS_DELETE',\n PAYMENT_TERMS_UPDATE: 'PAYMENT_TERMS_UPDATE',\n PRODUCTS_CREATE: 'PRODUCTS_CREATE',\n PRODUCTS_DELETE: 'PRODUCTS_DELETE',\n PRODUCTS_UPDATE: 'PRODUCTS_UPDATE',\n PRODUCT_LISTINGS_ADD: 'PRODUCT_LISTINGS_ADD',\n PRODUCT_LISTINGS_REMOVE: 'PRODUCT_LISTINGS_REMOVE',\n PRODUCT_LISTINGS_UPDATE: 'PRODUCT_LISTINGS_UPDATE',\n PRODUCT_PUBLICATIONS_CREATE: 'PRODUCT_PUBLICATIONS_CREATE',\n PRODUCT_PUBLICATIONS_DELETE: 'PRODUCT_PUBLICATIONS_DELETE',\n PRODUCT_PUBLICATIONS_UPDATE: 'PRODUCT_PUBLICATIONS_UPDATE',\n PROFILES_CREATE: 'PROFILES_CREATE',\n PROFILES_DELETE: 'PROFILES_DELETE',\n PROFILES_UPDATE: 'PROFILES_UPDATE',\n REFUNDS_CREATE: 'REFUNDS_CREATE',\n RETURNS_APPROVE: 'RETURNS_APPROVE',\n RETURNS_CANCEL: 'RETURNS_CANCEL',\n RETURNS_CLOSE: 'RETURNS_CLOSE',\n RETURNS_DECLINE: 'RETURNS_DECLINE',\n RETURNS_REOPEN: 'RETURNS_REOPEN',\n RETURNS_REQUEST: 'RETURNS_REQUEST',\n REVERSE_DELIVERIES_ATTACH_DELIVERABLE: 'REVERSE_DELIVERIES_ATTACH_DELIVERABLE',\n REVERSE_FULFILLMENT_ORDERS_DISPOSE: 'REVERSE_FULFILLMENT_ORDERS_DISPOSE',\n SCHEDULED_PRODUCT_LISTINGS_ADD: 'SCHEDULED_PRODUCT_LISTINGS_ADD',\n SCHEDULED_PRODUCT_LISTINGS_REMOVE: 'SCHEDULED_PRODUCT_LISTINGS_REMOVE',\n SCHEDULED_PRODUCT_LISTINGS_UPDATE: 'SCHEDULED_PRODUCT_LISTINGS_UPDATE',\n SEGMENTS_CREATE: 'SEGMENTS_CREATE',\n SEGMENTS_DELETE: 'SEGMENTS_DELETE',\n SEGMENTS_UPDATE: 'SEGMENTS_UPDATE',\n SELLING_PLAN_GROUPS_CREATE: 'SELLING_PLAN_GROUPS_CREATE',\n SELLING_PLAN_GROUPS_DELETE: 'SELLING_PLAN_GROUPS_DELETE',\n SELLING_PLAN_GROUPS_UPDATE: 'SELLING_PLAN_GROUPS_UPDATE',\n SHIPPING_ADDRESSES_CREATE: 'SHIPPING_ADDRESSES_CREATE',\n SHIPPING_ADDRESSES_UPDATE: 'SHIPPING_ADDRESSES_UPDATE',\n SHOP_UPDATE: 'SHOP_UPDATE',\n SUBSCRIPTION_BILLING_ATTEMPTS_CHALLENGED: 'SUBSCRIPTION_BILLING_ATTEMPTS_CHALLENGED',\n SUBSCRIPTION_BILLING_ATTEMPTS_FAILURE: 'SUBSCRIPTION_BILLING_ATTEMPTS_FAILURE',\n SUBSCRIPTION_BILLING_ATTEMPTS_SUCCESS: 'SUBSCRIPTION_BILLING_ATTEMPTS_SUCCESS',\n SUBSCRIPTION_BILLING_CYCLE_EDITS_CREATE: 'SUBSCRIPTION_BILLING_CYCLE_EDITS_CREATE',\n SUBSCRIPTION_BILLING_CYCLE_EDITS_DELETE: 'SUBSCRIPTION_BILLING_CYCLE_EDITS_DELETE',\n SUBSCRIPTION_BILLING_CYCLE_EDITS_UPDATE: 'SUBSCRIPTION_BILLING_CYCLE_EDITS_UPDATE',\n SUBSCRIPTION_CONTRACTS_CREATE: 'SUBSCRIPTION_CONTRACTS_CREATE',\n SUBSCRIPTION_CONTRACTS_UPDATE: 'SUBSCRIPTION_CONTRACTS_UPDATE',\n TAX_SERVICES_CREATE: 'TAX_SERVICES_CREATE',\n TAX_SERVICES_UPDATE: 'TAX_SERVICES_UPDATE',\n TENDER_TRANSACTIONS_CREATE: 'TENDER_TRANSACTIONS_CREATE',\n THEMES_CREATE: 'THEMES_CREATE',\n THEMES_DELETE: 'THEMES_DELETE',\n THEMES_PUBLISH: 'THEMES_PUBLISH',\n THEMES_UPDATE: 'THEMES_UPDATE',\n VARIANTS_IN_STOCK: 'VARIANTS_IN_STOCK',\n VARIANTS_OUT_OF_STOCK: 'VARIANTS_OUT_OF_STOCK',\n // NOTE: latest webhooks as of 6/3/23 UNSTABLE below (https://shopify.dev/docs/api/admin-graphql/unstable/enums/WebhookSubscriptionTopic)\n CHECKOUTS_PAID: 'CHECKOUTS_PAID',\n COMPANY_CONTACT_ROLES_ASSIGN: 'COMPANY_CONTACT_ROLES_ASSIGN',\n COMPANY_CONTACT_ROLES_REVOKE: 'COMPANY_CONTACT_ROLES_REVOKE',\n CUSTOMERS_EMAIL_MARKETING_CONSENT_UPDATE: 'CUSTOMERS_EMAIL_MARKETING_CONSENT_UPDATE',\n FINANCE_KYC_INFORMATION_UPDATE: 'FINANCE_KYC_INFORMATION_UPDATE',\n FULFILLMENT_ORDERS_HOLD_FULFILLMENT: 'FULFILLMENT_ORDERS_HOLD_FULFILLMENT',\n FULFILLMENT_ORDERS_READY_FOR_PICKUP: 'FULFILLMENT_ORDERS_READY_FOR_PICKUP',\n FULFILLMENT_ORDERS_READY_TO_FULFILL: 'FULFILLMENT_ORDERS_READY_TO_FULFILL',\n INVENTORY_QUANTITIES_CHANGED: 'INVENTORY_QUANTITIES_CHANGED',\n MARKETPLACE_PAYMENTS_CONFIGURATIONS_UPDATE: 'MARKETPLACE_PAYMENTS_CONFIGURATIONS_UPDATE',\n PRODUCT_FEEDS_CREATE: 'PRODUCT_FEEDS_CREATE',\n PRODUCT_FEEDS_FULL_SYNC: 'PRODUCT_FEEDS_FULL_SYNC',\n PRODUCT_FEEDS_INCREMENTAL_SYNC: 'PRODUCT_FEEDS_INCREMENTAL_SYNC',\n PRODUCT_FEEDS_UPDATE: 'PRODUCT_FEEDS_UPDATE',\n PUBLICATIONS_DELETE: 'PUBLICATIONS_DELETE',\n PURCHASE_ORDERS_CREATE: 'PURCHASE_ORDERS_CREATE',\n PURCHASE_ORDERS_DELETE: 'PURCHASE_ORDERS_DELETE',\n PURCHASE_ORDERS_MARK_AS_ORDERED: 'PURCHASE_ORDERS_MARK_AS_ORDERED',\n PURCHASE_ORDERS_RECEIVE: 'PURCHASE_ORDERS_RECEIVE',\n PURCHASE_ORDERS_UPDATE: 'PURCHASE_ORDERS_UPDATE',\n SUPPLIERS_CREATE: 'SUPPLIERS_CREATE',\n SUPPLIERS_DELETE: 'SUPPLIERS_DELETE',\n SUPPLIERS_UPDATE: 'SUPPLIERS_UPDATE',\n}\n\n// NOTE: this is a duplicate of shopify-api-js/registry.topicForStorage\nexport const convertEventTopic = (topic) => (\n API_WEBHOOK_TOPICS[topic?.toUpperCase().replace(/\\/|\\./g, '_')]\n)\n\nexport const API_ROUTE_NAMES = {\n APP_INSTALLATION: 'apiRouteAppInstallation',\n SESSION_TOKEN: 'apiRouteSessionToken',\n WEBHOOK_EVENT: 'apiRouteWebhook',\n AUTH_ONLINE: 'apiRouteAuthOnline',\n AUTH_OFFLINE: 'apiRouteAuthOffline',\n AUTH_ONLINE_CALLBACK: 'apiRouteAuthOnlineCallback',\n AUTH_OFFLINE_CALLBACK: 'apiRouteAuthOfflineCallback',\n AUTH_ONLINE_CALLBACK_REAUTH: 'apiRouteAuthOnlineCallbackReauth',\n AUTH_OFFLINE_CALLBACK_REAUTH: 'apiRouteAuthOfflineCallbackReauth',\n [API_WEBHOOK_TOPICS.APP_UNINSTALLED]: 'apiRouteAppUninstalled',\n [API_WEBHOOK_TOPICS.APP_PURCHASES_ONE_TIME_UPDATE]: 'apiRouteAppOneTimeBilling',\n [API_WEBHOOK_TOPICS.APP_SUBSCRIPTIONS_UPDATE]: 'apiRouteAppSubscriptionBilling',\n}\n\nexport const BILLING_INTERVALS = {\n ONE_TIME: 'ONE_TIME',\n MONTHLY: 'EVERY_30_DAYS',\n ANNUAL: 'ANNUAL',\n}\n\nexport const BILLING_EVENT_TYPES = {\n ONE_TIME: 'app_purchase_one_time',\n SUBSCRIPTION: 'app_subscription',\n}\n\nexport const AUTH_TYPES = {\n OFFLINE: 'offline',\n ONLINE: 'online',\n}\n","export class VerificationError extends Error {\n constructor(message, _data) {\n super(message)\n const { code = 500, ...data } = _data ?? {}\n this.code = code\n this.data = data\n this.name = 'VerificationError'\n Object.setPrototypeOf(this, VerificationError.prototype)\n }\n}\n","// import getRawBody from 'raw-body'\n// import * as getRawBody from 'raw-body'\n\nconst getChunkedRawBody = async (readable) => {\n if (readable?.rawBody) {\n console.info(`>>> > getChunkedRawBody > readable?.rawBody:`, { rawBody: readable?.rawBody, type: typeof readable?.rawBody })\n return readable.rawBody\n }\n\n const chunks = []\n const chunkedBody = readable?.body ?? []\n\n for await (const chunk of chunkedBody) {\n chunks.push(typeof chunk === \"string\" ? Buffer.from(chunk) : chunk)\n }\n\n return Buffer.concat(chunks)\n}\n\n// TODO: explore returning mutated request object adding on req.rawBody??\n// TODO: move to req.text() after next 13.5: https://github.com/vercel/next.js/discussions/13405\nexport const ensureRawBody = async (req) => (\n getChunkedRawBody(req)\n // getRawBody(req)\n .then((_rawBody) => _rawBody.toString())\n .catch((error) => {\n console.error(`Error getting raw body for '${req?.url}'`, error)\n throw error\n })\n)\n","/* eslint-disable no-use-before-define */\n\n// #region lib-core\n// TODO!!!: keep in sync between next-shopify and lib-core (and lib-utils-js at bottom)\nexport const normalizeShopifyId = (shopifyData) => {\n const isString = isType(shopifyData, 'string')\n if (isString && !shopifyData.startsWith('gid:')) {\n if (!isNumericOnly(shopifyData)) {\n return {}\n }\n\n return {\n id: `${shopifyData}`,\n }\n }\n\n const { id: _entityId, legacyResourceId } = isString\n ? { id: shopifyData }\n : ensureObject(shopifyData)\n\n if (stringEmpty(_entityId) && stringEmpty(legacyResourceId)) {\n return {}\n }\n\n const entity_id = ensureString(_entityId)\n const { entity_type, parsedId } = entity_id.match(/^gid:\\/\\/shopify\\/(?<entity_type>.*)\\/(?<parsedId>[0-9]+).*$/)?.groups ?? {}\n const id = ensureString(parsedId || legacyResourceId)\n\n const hasEntityId = stringNotEmpty(entity_id)\n const hasEntityType = stringNotEmpty(entity_type)\n\n return {\n ...stringNotEmpty(id) && { id },\n ...hasEntityId && { entity_id },\n ...hasEntityType && { entity_type },\n ...(hasEntityId && hasEntityType) && {\n gid: `gid://shopify/${entity_type}/${entity_id}`,\n },\n }\n}\n\nexport const random = (max = 100, min = 1) => {\n const floor = Math.min(max, min)\n return Math.floor(Math.random() * (max - floor + 1)) + floor\n}\n\nexport const nextRandom = (max = 100, min = 1) => {\n const maximum = Math.max(max, 0)\n const minimum = Math.max(min, 0)\n\n let randomNumber = maximum\n\n if (maximum > minimum) {\n do {\n randomNumber = random(maximum, minimum)\n } while (randomNumber === nextRandom.last)\n\n nextRandom.last = randomNumber\n }\n\n return randomNumber\n}\n\nexport const arrayRandom = (_values, _max = 1) => {\n const values = ensureArray(_values)\n const valuesLength = values.length\n const maxLength = Math.min(_max, valuesLength)\n\n if (valuesLength <= maxLength) {\n return values\n }\n\n const arrayLength = valuesLength - 1\n const randomValues = []\n do {\n const newVal = values[nextRandom(arrayLength, 0)]\n if (!randomValues.includes(newVal)) {\n randomValues.push(newVal)\n }\n } while (randomValues.length < maxLength)\n\n return randomValues\n}\n\nexport const arrayRandomItem = (_values) => (\n arrayRandom(_values)[0]\n)\n\nexport const isArray = (value) => (\n // eslint-disable-next-line eqeqeq\n (value != undefined) && Array.isArray(value)\n)\n\nexport const isSet = (value) => (\n // eslint-disable-next-line eqeqeq\n (value != undefined) && (value instanceof Set)\n)\n\nexport const isType = (value, type) => (\n // eslint-disable-next-line eqeqeq, valid-typeof\n (value != undefined) && (typeof value === type)\n)\n\nexport const isTypeEnhanced = (value, type) => {\n switch (true) {\n case (type === 'set'): {\n return isSet(value)\n }\n\n case (type === 'array'): {\n return (\n isArray(value) &&\n !isSet(value)\n )\n }\n\n case (type === 'object'): {\n return (\n isType(value, type) &&\n !isArray(value)\n )\n }\n\n default: {\n return isType(value, type)\n }\n }\n}\n\nexport const safeTrim = (value) => {\n if (isType(value, 'string')) {\n // eslint-disable-next-line no-param-reassign\n value = value.trim()\n }\n\n return value\n}\n\nexport const safeParse = (value, trim) => {\n if (isType(value, 'string')) {\n if (trim) {\n // eslint-disable-next-line no-param-reassign\n value = safeTrim(value)\n }\n\n if (value.startsWith('{') || value.startsWith('[') || value.startsWith('\"')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.parse(value)\n }\n }\n\n // TODO: should this be value ?? {}\n return value\n}\n\nexport const ensureString = (string) => (\n string ? `${string}` : ''\n)\n\n// HMMM: what if 'string' is an object?\nexport const ensureStringOnly = (string) => (\n // eslint-disable-next-line eqeqeq\n (string != undefined) ? `${string}` : ''\n)\n\nexport const ensureStringAscii = (string) => (\n // eslint-disable-next-line no-control-regex\n ensureStringOnly(string).replace(/[^\\x00-\\x7F]/g, '')\n)\n\nexport const ensureStringClean = (string) => (\n // eslint-disable-next-line no-control-regex\n ensureStringOnly(string).replace(/[^a-z0-9_-]/gi, '')\n)\n\nexport const ensureAlphaNumeric = (string) => (\n // eslint-disable-next-line no-control-regex\n ensureStringOnly(string).replace(/[^a-z0-9]/gi, '')\n)\n\nexport const isNumericOnly = (value) => {\n const [matched] = `${value}`.match(/^([0-9]+)$/) ?? []\n // eslint-disable-next-line eqeqeq\n return (matched != undefined)\n}\n\nexport const isNumericNegatable = (value) => {\n const [matched] = `${value}`.match(/^(-?[0-9]+(\\.[0-9]+)?)?$/) ?? []\n // eslint-disable-next-line eqeqeq\n return (matched != undefined)\n}\n\n// TODO: explore places using ensureNumeric to move to isNumericNegatable\nexport const ensureNumeric = (string) => (\n Number(ensureString(string).replace(/[^0-9.]/gi, ''))\n)\n\nexport const ensureNumericOnly = (string) => (\n Number(ensureString(string).replace(/[^0-9]/gi, ''))\n)\n\n// TODO: update regex to handle negative number returns negative. Something like (?!\\d\\.)(-?\\d+(\\.\\d)?)\nexport const ensureNumericNegatable = (string) => (\n Number(ensureString(string).replace(/[^0-9.-]/gi, ''))\n)\n\nexport const ensureNumericConstrained = (value, { min: _min = 0, max: _max = 100 } = {}) => {\n const min = ensureNumericNegatable(_min)\n const max = ensureNumericNegatable(_max)\n\n return Math.max(\n min,\n Math.min(ensureNumeric(value), max)\n )\n}\n\nexport const ensureArray = (array = []) => (\n // eslint-disable-next-line no-nested-ternary\n !array ? [] : Array.isArray(array) ? array : [array]\n)\n\nexport const ensureArraySet = (arrayOrSet) => (\n ensureArray(isSet(arrayOrSet) ? [...arrayOrSet] : arrayOrSet)\n)\n\nexport const arrayEmpty = (array, disableEmptyString = false) => (\n // eslint-disable-next-line eqeqeq\n !array || !array.length || (array.length === 1 && (array[0] == undefined || (disableEmptyString && stringEmpty(array[0]))))\n)\n\nexport const arrayNotEmpty = (array, disableEmptyString = false) => (\n // eslint-disable-next-line eqeqeq\n !arrayEmpty(array) && array[0] != undefined && (!disableEmptyString || stringNotEmpty(array[0]))\n)\n\nexport const findLastMatch = (array, filterCallback = (value) => (value)) => (\n ensureArray(array).filter(filterCallback).slice(-1)[0]\n)\n\nexport const ensureObject = (object) => (\n object ?? {}\n)\n\n// NOTE: this does not ensure !isType(string)\nexport const objectEmpty = (object) => (\n !object || !Object.keys(object).length\n)\n\nexport const objectNotEmpty = (object) => (\n !objectEmpty(object)\n)\n\nexport const nullable = (object) => (\n (!object || (object === 'null') || (object === undefined) || (object === null))\n ? null // TODO: explore undefined here??\n : object\n)\n\nexport const objectContainsAnyValue = (object) => (\n Object.values(ensureObject(object)).some((value) => nullable(value))\n)\n\nconst isUndefined = (value) => (\n // eslint-disable-next-line eqeqeq\n value == undefined\n)\n\nexport const cleanObject = (object, allowEmptyLeafs, isEmptyCallback) => (\n Object.entries(ensureObject(object)).reduce((\n _cleanedObject,\n [key, _value]\n ) => {\n if (!allowEmptyLeafs && (isEmptyCallback?.(_value) ?? isUndefined(_value))) {\n return _cleanedObject // skip key if null or undefined\n }\n\n const value = !Array.isArray(_value)\n ? cleanObjectValue(_value, allowEmptyLeafs, isEmptyCallback)\n : _value.reduce((_data, __value) => ([\n ..._data,\n cleanObjectValue(__value, allowEmptyLeafs, isEmptyCallback)\n ]), [])\n\n return {\n ..._cleanedObject,\n [key]: value,\n }\n }, {})\n)\n\nconst cleanObjectValue = (value, allowEmptyLeafs, isEmptyCallback) => (\n isType(value, 'object') ? cleanObject(value, allowEmptyLeafs, isEmptyCallback) : value\n)\n\nexport const stringNotEmptyOnly = (stringable) => {\n const string = ensureStringOnly(stringable)\n return ((string.length > 0) && !['null', 'undefined'].includes(string))\n}\n\nexport const stringEmptyOnly = (stringable) => (\n !stringNotEmptyOnly(stringable)\n)\n\nexport const stringNotEmpty = (stringable) => {\n const string = ensureString(stringable)\n return ((string.length > 0) && !['null', 'undefined'].includes(string))\n}\n\nexport const stringEmpty = (stringable) => (\n !stringNotEmpty(stringable)\n)\n\nconst splitString = (splitting, index = splitting.length) => {\n const string = ensureString(splitting)\n return [string.slice(0, index), string.slice(index)]\n}\n\nexport const compareNumber = (number1 = 0, number2 = 0) => (\n number1 - number2\n)\n\nexport const compareString = (string1, string2) => {\n if (stringEmpty(string1)) {\n return 1\n }\n\n if (stringEmpty(string2)) {\n return -1\n }\n\n return ensureString(string1).localeCompare(string2)\n}\n\nexport const compareEntryKeys = ([string1], [string2]) => (\n compareString(string1, string2)\n)\n\nexport const objectToSortedString = (object, separator = '') => (\n Object.entries(ensureObject(object))\n .sort(compareEntryKeys)\n .map(([key, value]) => `${key}=${value}`)\n .join(separator)\n)\n\nexport const isHTML = (string) => (\n (string?.startsWith?.('<') || string?.startsWith?.('\\n<')) ?? false\n)\n\nexport const freeze = (logMessage, object, type = 'log') => {\n console[type](logMessage, !object ? object : JSON.parse(JSON.stringify(ensureObject(object))))\n}\n\nexport const replaceSpaces = (string, replacement = '') => (\n !isType(string, 'string')\n ? ''\n : string.replace(/\\s/g, replacement)\n)\n\nconst recase = (string, replacement = '') => (\n !isType(string, 'string')\n ? ''\n : string\n .replace(/[^a-zA-Z0-9]+/g, replacement)\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/([0-9])([^0-9])/g, '$1-$2')\n .replace(/([^0-9])([0-9])/g, '$1-$2')\n .replace(/[-_]+/g, replacement)\n .replace(new RegExp(`${replacement}$`), '')\n .toLowerCase()\n)\n\nexport const zencase = (string, replacement = '-') => (\n !isType(string, 'string')\n ? ''\n : replaceSpaces(string, replacement)\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(new RegExp(`${replacement}$`), '')\n .toLowerCase()\n)\n\nexport const dashcase = (string) => (\n recase(string, '-')\n)\n\nexport const undashcase = (string, replacement = ' ') => (\n ensureString(string).replace(/-/g, replacement).trim()\n)\n\nexport const snakecase = (string) => (\n recase(string, '_')\n)\n\nexport const unsnakecase = (string, replacement = ' ') => (\n ensureString(string).replace(/_/g, replacement).trim()\n)\n\nexport const uppercase = (string) => (\n ensureString(string).toUpperCase()\n)\n\nexport const lowercase = (string, defaultValue = '') => (\n !stringNotEmpty(string)\n ? defaultValue\n : ensureString(string).toLowerCase()\n)\n\nexport const slugify = (string) => (\n lowercase(dashcase(string))\n)\n\nexport const capitalize = (string) => {\n const parts = splitString(string, 1)\n return `${uppercase(parts[0])}${parts[1]}`\n}\n\nexport const camelCase = (string) => (\n stringNotEmpty(string)\n ? unsnakecase(undashcase(string)).replace(/\\w\\S*/g, (word, charIndex) => {\n if (charIndex === 0) {\n return lowercase(word)\n }\n return `${uppercase(word.charAt(0))}${lowercase(word.substr(1))}`\n }).split(' ').join('')\n : ''\n)\n\nexport const titleCase = (string, _overrides) => {\n if (!stringNotEmpty(string)) {\n return ''\n }\n\n const overrides = {\n 'add-ons': 'Add-Ons',\n agnostack: 'agnoStack',\n ai: 'AI',\n b2b: 'B2B',\n b2c: 'B2C',\n cartcollab: 'CartCollab',\n 'cartcollab(sm)': 'CartCollab(SM)',\n chatgpt: 'ChatGPT',\n covid: 'COVID',\n covid19: 'COVID-19',\n 'covid-19': 'COVID-19',\n crm: 'CRM',\n elasticpath: 'Elastic Path',\n ecommerce: 'eCommerce',\n 'e-commerce': 'eCommerce',\n faqs: 'FAQs',\n gpt: 'GPT',\n 'smile.io': 'Smile.io',\n 'stamped.io': 'Stamped.io',\n 'judge.me': 'Judge.me',\n 'influence.io': 'Influence.io',\n keepsmallstrong: 'KeepSmallStrong',\n loyaltylion: 'LoyaltyLion',\n openai: 'OpenAI',\n paypal: 'PayPal',\n 'postscript.io': 'Postscript.io',\n recharge: 'ReCharge',\n 'stay.ai': 'Stay.ai',\n 'stay ai': 'Stay Ai',\n shipengine: 'ShipEngine',\n shipperhq: 'ShipperHQ',\n shipstation: 'ShipStation',\n taxjar: 'TaxJar',\n yotpo: 'YotPo',\n ..._overrides,\n }\n\n const stringParts = lowercase(string)\n .split(' ')\n .reduce((\n _stringParts,\n _stringPart\n ) => {\n const stringPart = overrides[_stringPart] ?? _stringPart\n .replace(/([A-Z]+)/g, ' $1')\n .replace(/\\s\\s+/g, ' ')\n .replace(/(\\b[a-z](?!\\s)*)/g, (firstChar) => uppercase(firstChar))\n\n return [\n ..._stringParts,\n ...stringNotEmpty(stringPart) ? [stringPart] : []\n ]\n }, [])\n\n return stringParts.join(' ')\n}\n\nexport const removeLeadingSlash = (string) => (\n ensureString(string).replace(/^\\//, '')\n)\n\nexport const removeLeadingTrailingQuotes = (string) => (\n ensureString(string).replace(/^\"|\"$/g, '')\n)\n\n// TODO: not sure if this should remove multipel at end or just one (as it does now)?\nexport const removeTrailingSlash = (string) => (\n ensureString(string).replace(/\\/$/, '')\n)\n\nexport const removeLeadingTrailingSlash = (string) => (\n removeTrailingSlash(removeLeadingSlash(string))\n)\n\nexport const ensureLeadingSlash = (string) => (\n `/${removeLeadingSlash(string)}`\n)\n\nexport const ensureTrailingSlash = (string) => (\n `${removeTrailingSlash(string)}/`\n)\n\nexport const ensureExtension = (string, extension) => {\n if (stringEmpty(extension)) {\n return string\n }\n\n const filePath = string.match(/(.*)\\..+$/)?.[1] ?? string\n\n return `${filePath}.${extension}`\n}\n\nexport const wrappedEncode = (basePath, _wrappingPath) => {\n const wrappingPath = ensureString(_wrappingPath)\n if (stringEmpty(basePath)) {\n return wrappingPath\n }\n\n return `${basePath}${encodeURIComponent(wrappingPath)}`\n}\n\nexport const splitCommas = (value) => (\n ensureString(value)\n .replace(/, /g, ',')\n .split(',')\n .reduce((_values, _value) => {\n const __value = safeTrim(_value)\n return [\n ..._values,\n ...stringNotEmpty(__value) ? [__value] : [] // TODO: explore stringEmptyOnly?\n ]\n }, [])\n)\n\nexport const combineCommas = (values) => (\n [...new Set(\n ensureArray(values).reduce((\n _combined,\n value\n ) => ([\n ..._combined,\n ...splitCommas(value)\n ]), [])\n )]\n)\n\nexport const normalizeArray = (input, separator = ' ') => {\n const inputArray = ensureArray(input)\n\n return inputArray.reduce((normalized, _ignore, index) => ([\n ...normalized,\n inputArray.slice(0, index + 1).join(separator)\n ]), []).reverse()\n}\n\nexport const arrayToObject = (arrayable, key) => (\n ensureArray(arrayable).reduce((_object, item) => ({\n ..._object,\n [item?.[key]]: item,\n }), {})\n)\n\nexport const isTrue = (value, falsy) => {\n const string = ensureString(value)\n return ![...ensureArray(falsy), '', 'false'].includes(string)\n}\n\n// TODO: move all uses of parseKeywords to parseKeywordGroups\nexport const parseKeywords = (keywordGroup, previous) => (\n [...new Set(ensureArray(keywordGroup).reduce((_parsedKeywords, keyword) => {\n const keywords = splitCommas(keyword)\n\n return [\n ..._parsedKeywords,\n ...keywords.filter((_keyword) => stringNotEmpty(_keyword))\n ]\n }, ensureArray(previous)))].join(', ')\n)\n\nexport const parseKeywordGroups = (keywordGroups) => {\n const parsedKeywords = ensureArray(keywordGroups).reduce((_parsedKeywords, keywordGroup) => ([\n ..._parsedKeywords,\n ...ensureArray(keywordGroup).reduce((_parsedGroupKeywords, keyword) => {\n const keywords = splitCommas(keyword)\n\n return [\n ..._parsedGroupKeywords,\n ...keywords.filter((_keyword) => stringNotEmpty(_keyword))\n ]\n }, [])\n ]), [])\n\n return [...new Set(parsedKeywords)].join(', ')\n}\n\nexport const parseProjectName = (_name) => {\n const name = ensureString(_name)\n const [, organization, ...parts] = /(@.*)([\\\\]+|\\/)+(.*)/.exec(name) ?? []\n const projectName = organization ? name.replace(organization, '').replace('/', '') : name\n\n return {\n name,\n parts,\n organization,\n projectName,\n }\n}\n\nexport const parseProject = (packageInfo) => {\n const { shortName, owner: _appOwner, name: _name, appName: _appName, keywords, siteName: _siteName } = packageInfo ?? {}\n const { name, organization, projectName } = parseProjectName(_name)\n\n const appName = _appName ?? projectName?.slice(projectName?.indexOf('-') + 1)\n const siteName = _siteName ?? projectName?.slice(projectName?.indexOf('-') + 1)\n const companyName = titleCase(organization?.replace('@', ''))\n const appOwner = _appOwner ?? companyName\n\n return [{\n keywords,\n appOwner,\n appName,\n siteName,\n shortName,\n companyName,\n projectName,\n }, organization, name]\n}\n\n// #endregion lib-core\n\n// #region lib-utils-js\n\nexport const querystringToObject = (queryString) => {\n if (stringEmpty(queryString)) {\n return {}\n }\n\n const urlParams = new URLSearchParams(queryString)\n return Object.fromEntries(urlParams)\n}\n\nexport const arrayIncludesAll = (_values, comparison) => {\n const values = ensureArray(_values)\n return ensureArray(comparison).every((value) => (\n stringNotEmpty(value) && values.includes(value)\n ))\n}\n\nexport const arraysMatch = (array1, array2) => (\n arrayIncludesAll(array1, array2) && arrayIncludesAll(array2, array1)\n)\n\nexport const appendQuery = (_basePath, queryString) => {\n const basePath = ensureString(_basePath)\n if (stringEmpty(queryString)) {\n return basePath\n }\n return `${basePath}${basePath.includes('?') ? '&' : '?'}${queryString}`\n}\n","import {\n ensureLeadingSlash,\n stringEmpty,\n uppercase,\n safeParse,\n} from './display'\n\nconst TEMP_HOSTNAME = 'xyz.com'\nconst REMOVABLE_KEYS = ['shop', 'host']\n\nexport const HEADER_CONTENT_TYPE = 'Content-Type'\nexport const CONTENT_TYPES = {\n APPLICATION_JSON: 'application/json',\n}\n\nexport const getRequestMethod = (body, _method) => {\n const method = _method ?? (body ? 'POST' : 'GET')\n\n return uppercase(method)\n}\n\nexport const prepareRequestOptions = ({ method: _method, body: _body, headers: _header, ...requestOptions } = {}) => {\n const method = getRequestMethod(_body, _method)\n\n const headers = {\n [HEADER_CONTENT_TYPE]: CONTENT_TYPES.APPLICATION_JSON,\n ..._header,\n }\n\n let body = _body\n if (body && headers[HEADER_CONTENT_TYPE].startsWith(CONTENT_TYPES.APPLICATION_JSON)) {\n body = JSON.stringify(safeParse(body))\n }\n\n return {\n method,\n headers,\n ...(body && (method !== 'GET')) && { body },\n ...requestOptions,\n }\n}\n\nconst convertToURL = (uri) => {\n if (stringEmpty(uri)) {\n return undefined\n }\n\n const protocolRegex = /^(https?:\\/\\/).+/i\n\n if (!protocolRegex.test(uri)) {\n return new URL(`https://${TEMP_HOSTNAME}${ensureLeadingSlash(uri)}`)\n }\n\n return new URL(uri)\n}\n\nexport const normalizeURIParts = (uri) => {\n const urlObject = convertToURL(uri)\n if (!urlObject) {\n return undefined\n }\n\n REMOVABLE_KEYS.forEach((key) => urlObject.searchParams.delete(key))\n\n return {\n ...(urlObject.hostname !== TEMP_HOSTNAME) && {\n origin: urlObject.origin,\n },\n pathname: urlObject.pathname,\n search: urlObject.search,\n }\n}\n","var n,r=((n=function(){return r}).toString=n.toLocaleString=n[Symbol.toPrimitive]=function(){return \"\"},n.valueOf=function(){return !1},new Proxy(Object.freeze(n),{get:function(n,t){return n.hasOwnProperty(t)?n[t]:r}})),u=function(n){return n===r};\n\nlet win = global.window;\nlet doc = global.document;\nlet nav = global.navigator;\nlet document = typeof doc !== \"undefined\" ? doc : r;\nlet exists = (variable) => !u(variable);\nlet navigator = typeof nav !== \"undefined\" ? nav : r;\nlet window = typeof win !== \"undefined\" ? win : r;\n\nexport { document, exists, navigator, window };\n//# sourceMappingURL=browser-monads-ts.es.js.map\n","import { exists, window } from 'browser-monads-ts'\n\nimport { ensureArray, ensureString, objectEmpty } from './display'\n\nclass WebCrypto {\n constructor(cryptoInstance) {\n this._crypto = cryptoInstance\n }\n\n get subtle() {\n return this._crypto?.subtle\n }\n\n async getWebCrypto() {\n if (!this._crypto) {\n try {\n this._crypto = (await import('isomorphic-webcrypto')).default\n console.log(`>>> > getWebCrypto > imported isomorphic-webcrypto:`, { crypto: this._crypto })\n } catch (_ignore) {\n console.info('Failed to import isomorphic-webcrypto, retrying w/ node crypto')\n try {\n this._crypto = (await import('crypto')).default\n console.log(`>>> > getWebCrypto > imported node crypto:`, { crypto: this._crypto })\n } catch (error) {\n console.error('Failed to import node crypto')\n throw error\n }\n }\n }\n\n if (!this._crypto?.subtle) {\n throw new Error('Invalid crypto, missing subtle')\n }\n\n return this._crypto\n }\n\n async getTextDecoder() {\n if (exists(window) && typeof window?.TextDecoder === 'function') {\n return window.TextDecoder\n }\n\n try {\n const TextDecoder = (await import('util')).TextDecoder\n return TextDecoder\n } catch (error) {\n console.error('Failed to import utils.TextDecoder', error)\n throw error\n }\n }\n\n async getTextEncoder() {\n if (exists(window) && typeof window?.TextEncoder === 'function') {\n return window.TextEncoder\n }\n\n try {\n const TextEncoder = (await import('util')).TextEncoder\n return TextEncoder\n } catch (error) {\n console.error('Failed to import utils.TextEncoder', error)\n throw error\n }\n }\n\n timingSafeEqual(value1, value2) {\n if (\n (value1 == undefined) ||\n (value2 == undefined) ||\n (value1.length !== value2.length)\n ) {\n return false\n }\n\n let result = 0\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < value1.length; i++) {\n // eslint-disable-next-line no-bitwise\n result |= value1[i] ^ value2[i]\n }\n\n return (result === 0)\n }\n\n stringToHex(stringValue) {\n return (\n Array.from(ensureString(stringValue), (char) => (\n char.charCodeAt(0).toString(16).padStart(2, '0')\n )).join('')\n )\n }\n\n hexToString(hexValue) {\n return (\n ensureArray(\n ensureString(hexValue).match(/.{1,2}/g)\n )\n .map((byte) => String.fromCharCode(parseInt(byte, 16)))\n .join('')\n )\n }\n\n async arrayBufferToString(arrayBuffer) {\n const uint8Array = new Uint8Array(arrayBuffer)\n const Decoder = await this.getTextDecoder()\n return new Decoder().decode(uint8Array)\n }\n\n arrayToArrayBuffer(array) {\n return (\n (ArrayBuffer.from != undefined)\n ? ArrayBuffer.from(array)\n : new Uint8Array(array).buffer\n )\n }\n\n ensureArrayBuffer(arrayOrArrayBuffer) {\n return (\n (arrayOrArrayBuffer instanceof ArrayBuffer)\n ? arrayOrArrayBuffer\n : this.arrayToArrayBuffer(arrayOrArrayBuffer)\n )\n }\n\n async generateKeyPair() {\n const crypto = await this.getWebCrypto()\n const keyPair = await crypto.subtle.generateKey(\n {\n name: 'ECDH',\n namedCurve: 'P-256',\n },\n true,\n ['deriveKey']\n )\n\n return keyPair\n }\n\n getKeyOperations(keyType) {\n switch (keyType) {\n case 'private':\n case 'privateKey': {\n return ['deriveKey']\n }\n\n case 'secret':\n case 'secretKey':\n case 'sharedSecret': {\n return ['encrypt', 'decrypt'] \n }\n\n default: {\n return []\n }\n }\n }\n\n getKeyAlgorythm(keyType) {\n switch (keyType) {\n case 'derivedKey':\n case 'derived':\n case 'secret':\n case 'secretKey':\n case 'sharedSecret': {\n return {\n name: 'AES-GCM',\n }\n }\n\n default: {\n return {\n name: 'ECDH',\n namedCurve: 'P-256',\n }\n }\n }\n }\n\n async generateHMAC(message, derivedKey) {\n if (!message || !derivedKey) {\n return undefined\n } \n\n const crypto = await this.getWebCrypto()\n const Encoder = await this.getTextEncoder()\n\n const signature = await crypto.subtle.sign(\n 'HMAC',\n derivedKey,\n new Encoder().encode(message)\n )\n\n return this.stringToHex(\n this.arrayBufferToString(signature)\n )\n }\n\n async verifyHMAC(message, derivedKey, verifiableHMAC) {\n const calculatedHMAC = await this.generateHMAC(message, derivedKey)\n\n return this.timingSafeEqual(calculatedHMAC, verifiableHMAC)\n }\n\n async getStorableKey(key) {\n const crypto = await this.getWebCrypto()\n\n const exportedJWK = await crypto.subtle.exportKey('jwk', key)\n return this.stringToHex(JSON.stringify(exportedJWK))\n }\n\n async restoreStorableKey(keyType, storableHex) {\n if (!storableHex) {\n return undefined\n }\n const crypto = await this.getWebCrypto()\n\n const exportedJWK = JSON.parse(this.hexToString(storableHex) || '{}')\n if (objectEmpty(exportedJWK)) {\n return undefined\n }\n\n return crypto.subtle.importKey(\n 'jwk',\n exportedJWK,\n this.getKeyAlgorythm(keyType),\n true,\n this.getKeyOperations(keyType)\n )\n }\n\n async getStorableKeyPair(keyPair) {\n const storableKeys = {}\n\n // eslint-disable-next-line no-restricted-syntax\n for (const [keyType, key] of Object.entries(keyPair)) {\n // eslint-disable-next-line no-await-in-loop\n storableKeys[keyType] = await this.getStorableKey(key)\n }\n\n return storableKeys\n }\n\n async restoreStorableKeyPair(keyPair) {\n const restoredKeys = {}\n\n // eslint-disable-next-line no-restricted-syntax\n for (const [keyType, key] of Object.entries(keyPair)) {\n // eslint-disable-next-line no-await-in-loop\n restoredKeys[keyType] = await this.restoreStorableKey(keyType, key)\n }\n\n return restoredKeys\n }\n\n async deriveSharedKey({ publicKey, privateKey }) {\n if (!publicKey || !privateKey) {\n return undefined\n }\n\n const crypto = await this.getWebCrypto()\n const derivedKey = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: publicKey,\n },\n privateKey,\n {\n name: 'AES-GCM',\n length: 256,\n },\n true,\n ['encrypt', 'decrypt']\n )\n return derivedKey\n }\n\n async deriveHMACKey({ publicKey, privateKey }) {\n if (!publicKey || !privateKey) {\n return undefined\n }\n\n const crypto = await this.getWebCrypto()\n const derivedKey = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: publicKey,\n },\n privateKey,\n {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n length: 256, // Adjusted key length, e.g., 128 bits\n },\n true,\n ['sign', 'verify']\n )\n return derivedKey\n }\n\n async getVerificationKeys({ publicKey, privateKey }) {\n if (!publicKey || !privateKey) {\n return {}\n }\n\n const sharedKeyPair = await this.restoreStorableKeyPair({ publicKey, privateKey })\n const derivedHMACKey = await this.deriveHMACKey(sharedKeyPair)\n const derivedSecretKey = await this.deriveSharedKey(sharedKeyPair)\n\n return {\n derivedSecretKey,\n derivedHMACKey,\n }\n }\n\n async encryptMessage(decryptedMessage, derivedKey) {\n if (!decryptedMessage || !derivedKey) {\n return undefined\n }\n\n const crypto = await this.getWebCrypto()\n const iv = crypto.getRandomValues(new Uint8Array(12))\n const Encoder = await this.getTextEncoder()\n const encodedMessage = new Encoder().encode(decryptedMessage)\n const ciphertext = await crypto.subtle.encrypt(\n {\n name: 'AES-GCM',\n iv,\n },\n derivedKey,\n encodedMessage\n )\n\n const encryptedMessage = new Uint8Array([\n ...iv,\n ...new Uint8Array(ciphertext)\n ])\n return Array.from(encryptedMessage)\n }\n\n async decryptMessage(encryptedMessage, derivedKey) {\n if (!encryptedMessage || !derivedKey) {\n return undefined\n }\n\n const crypto = await this.getWebCrypto()\n // NOTE: this presumed an array or arrayBuffer coming in as encryptedMessage (will fail w/ IV error if its a string)\n const encryptedArrayBuffer = this.ensureArrayBuffer(encryptedMessage)\n const iv = encryptedArrayBuffer.slice(0, 12)\n const ciphertext = encryptedArrayBuffer.slice(12)\n\n const decryptedArrayBuffer = await crypto.subtle.decrypt(\n {\n name: 'AES-GCM',\n iv,\n },\n derivedKey,\n ciphertext\n )\n\n const Decoder = await this.getTextDecoder()\n const decryptedMessage = new Decoder().decode(decryptedArrayBuffer)\n return decryptedMessage\n }\n}\n\nexport default WebCrypto\n","import {\n objectToSortedString,\n ensureString,\n safeParse,\n isTrue,\n} from '../shared/display'\nimport {\n getRequestMethod,\n normalizeURIParts,\n} from '../shared/request'\nimport WebCrypto from '../shared/WebCrypto'\nimport {\n ensureRawBody,\n VerificationError,\n} from './utils'\n\nexport const getVerificationHelpers = ({ keyPairs, crypto: _cryptoInstance } = {}) => {\n const webCrypto = new WebCrypto(_cryptoInstance)\n\n return async (req, params) => {\n const {\n 'x-public-key': apiKey,\n 'x-ephemeral-key': ephemeralPublicKey,\n 'x-authorization-timestamp': customAuthTimestamp,\n 'x-authorization': customAuth,\n } = req.headers ?? {}\n\n const { uri: _uri, disableRecryption: _disableRecryption } = params ?? {}\n const uri = _uri ?? req.url\n const disableRecryption = isTrue(_disableRecryption)\n\n let isVerifiable\n try {\n const [authProtocol, authSignature] = ensureString(customAuth).split(' ')\n isVerifiable = isTrue(\n apiKey &&\n ephemeralPublicKey &&\n keyPairs?.shared &&\n customAuthTimestamp &&\n authSignature &&\n (authProtocol === 'HMAC-SHA256')\n )\n\n let verificationKeys\n const rawBody = await ensureRawBody(req)\n\n // NOTE: requestBody should be wind up decrypted when isVerifiable (unless disableRecryption, then will pass through)\n let requestBody = safeParse(rawBody)\n\n // TEMP!!! remove isVerifiable check once webwidget moved to react\n if (isVerifiable) {\n if (\n !apiKey ||\n !ephemeralPublicKey ||\n !customAuthTimestamp ||\n !authSignature ||\n !keyPairs?.shared ||\n (apiKey !== keyPairs.shared.publicKey) ||\n (authProtocol !== 'HMAC-SHA256')\n ) {\n throw new VerificationError('Invalid or missing authorization', { code: 401 })\n }\n\n verificationKeys = await webCrypto.getVerificationKeys({\n publicKey: ephemeralPublicKey,\n privateKey: keyPairs.shared.privateKey,\n })\n\n if (!verificationKeys) {\n throw new VerificationError('Invalid or missing verification', { code: 412 })\n }\n\n const verificationPayload = objectToSortedString({\n method: getRequestMethod(rawBody, req.method),\n timestamp: customAuthTimestamp,\n body: requestBody, // NOTE: requestBody should be encrypted when isVerifiable\n ...normalizeURIParts(uri),\n })\n\n const isValid = await webCrypto.verifyHMAC(\n verificationPayload,\n verificationKeys.derivedHMACKey,\n authSignature\n )\n\n if (!isValid) {\n throw new VerificationError('Invalid or missing verification', { code: 412 })\n }\n\n if (!disableRecryption && requestBody) {\n const decryptedMessage = await webCrypto.decryptMessage(requestBody, verificationKeys.derivedSecretKey)\n requestBody = safeParse(decryptedMessage)\n }\n }\n\n const processResponse = async (response) => {\n if (!response || disableRecryption || !isVerifiable || !verificationKeys?.derivedSecretKey) {\n return response\n }\n\n return webCrypto.encryptMessage(JSON.stringify(response), verificationKeys.derivedSecretKey)\n }\n\n return { rawBody, requestBody, processResponse }\n } catch (error) {\n console.error(`Error handling request verification for '${uri}'`, { error, isVerifiable, disableRecryption })\n throw error\n }\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification.js","sources":["../../src/shared/constants.js","../../src/verification/utils/errors.js","../../src/verification/utils/rawbody.js","../../src/shared/display.js","../../src/shared/request.js","../../node_modules/browser-monads-ts/dist/browser-monads-ts.es.js","../../src/shared/WebCrypto.js","../../src/verification/verification.js"],"sourcesContent":["export const COLLECTION_ROOT = 'oauth-data'\n\nexport const PAGE_ROUTE_NAMES = {\n EXIT: 'pageRouteExit',\n ERROR: 'pageRouteError',\n SUCCESS: 'pageRouteSuccess',\n}\n\nexport const API_WEBHOOK_TOPICS = {\n APP_UNINSTALLED: 'APP_UNINSTALLED',\n APP_PURCHASES_ONE_TIME_UPDATE: 'APP_PURCHASES_ONE_TIME_UPDATE',\n APP_SUBSCRIPTIONS_APPROACHING_CAPPED_AMOUNT: 'APP_SUBSCRIPTIONS_APPROACHING_CAPPED_AMOUNT',\n APP_SUBSCRIPTIONS_UPDATE: 'APP_SUBSCRIPTIONS_UPDATE',\n ATTRIBUTED_SESSIONS_FIRST: 'ATTRIBUTED_SESSIONS_FIRST',\n ATTRIBUTED_SESSIONS_LAST: 'ATTRIBUTED_SESSIONS_LAST',\n AUDIT_EVENTS_ADMIN_API_ACTIVITY: 'AUDIT_EVENTS_ADMIN_API_ACTIVITY',\n BULK_OPERATIONS_FINISH: 'BULK_OPERATIONS_FINISH',\n CARTS_CREATE: 'CARTS_CREATE',\n CARTS_UPDATE: 'CARTS_UPDATE',\n CHANNELS_DELETE: 'CHANNELS_DELETE',\n CHECKOUTS_CREATE: 'CHECKOUTS_CREATE',\n CHECKOUTS_DELETE: 'CHECKOUTS_DELETE',\n CHECKOUTS_UPDATE: 'CHECKOUTS_UPDATE',\n COLLECTIONS_CREATE: 'COLLECTIONS_CREATE',\n COLLECTIONS_DELETE: 'COLLECTIONS_DELETE',\n COLLECTIONS_UPDATE: 'COLLECTIONS_UPDATE',\n COLLECTION_LISTINGS_ADD: 'COLLECTION_LISTINGS_ADD',\n COLLECTION_LISTINGS_REMOVE: 'COLLECTION_LISTINGS_REMOVE',\n COLLECTION_LISTINGS_UPDATE: 'COLLECTION_LISTINGS_UPDATE',\n COLLECTION_PUBLICATIONS_CREATE: 'COLLECTION_PUBLICATIONS_CREATE',\n COLLECTION_PUBLICATIONS_DELETE: 'COLLECTION_PUBLICATIONS_DELETE',\n COLLECTION_PUBLICATIONS_UPDATE: 'COLLECTION_PUBLICATIONS_UPDATE',\n COMPANIES_CREATE: 'COMPANIES_CREATE',\n COMPANIES_DELETE: 'COMPANIES_DELETE',\n COMPANIES_UPDATE: 'COMPANIES_UPDATE',\n COMPANY_CONTACTS_CREATE: 'COMPANY_CONTACTS_CREATE',\n COMPANY_CONTACTS_DELETE: 'COMPANY_CONTACTS_DELETE',\n COMPANY_CONTACTS_UPDATE: 'COMPANY_CONTACTS_UPDATE',\n COMPANY_LOCATIONS_CREATE: 'COMPANY_LOCATIONS_CREATE',\n COMPANY_LOCATIONS_DELETE: 'COMPANY_LOCATIONS_DELETE',\n COMPANY_LOCATIONS_UPDATE: 'COMPANY_LOCATIONS_UPDATE',\n CUSTOMERS_CREATE: 'CUSTOMERS_CREATE',\n CUSTOMERS_DELETE: 'CUSTOMERS_DELETE',\n CUSTOMERS_DISABLE: 'CUSTOMERS_DISABLE',\n CUSTOMERS_ENABLE: 'CUSTOMERS_ENABLE',\n CUSTOMERS_MARKETING_CONSENT_UPDATE: 'CUSTOMERS_MARKETING_CONSENT_UPDATE',\n CUSTOMERS_MERGE: 'CUSTOMERS_MERGE',\n CUSTOMERS_UPDATE: 'CUSTOMERS_UPDATE',\n CUSTOMER_GROUPS_CREATE: 'CUSTOMER_GROUPS_CREATE',\n CUSTOMER_GROUPS_DELETE: 'CUSTOMER_GROUPS_DELETE',\n CUSTOMER_GROUPS_UPDATE: 'CUSTOMER_GROUPS_UPDATE',\n CUSTOMER_PAYMENT_METHODS_CREATE: 'CUSTOMER_PAYMENT_METHODS_CREATE',\n CUSTOMER_PAYMENT_METHODS_REVOKE: 'CUSTOMER_PAYMENT_METHODS_REVOKE',\n CUSTOMER_PAYMENT_METHODS_UPDATE: 'CUSTOMER_PAYMENT_METHODS_UPDATE',\n DISPUTES_CREATE: 'DISPUTES_CREATE',\n DISPUTES_UPDATE: 'DISPUTES_UPDATE',\n DOMAINS_CREATE: 'DOMAINS_CREATE',\n DOMAINS_DESTROY: 'DOMAINS_DESTROY',\n DOMAINS_UPDATE: 'DOMAINS_UPDATE',\n DRAFT_ORDERS_CREATE: 'DRAFT_ORDERS_CREATE',\n DRAFT_ORDERS_DELETE: 'DRAFT_ORDERS_DELETE',\n DRAFT_ORDERS_UPDATE: 'DRAFT_ORDERS_UPDATE',\n FULFILLMENTS_CREATE: 'FULFILLMENTS_CREATE',\n FULFILLMENTS_UPDATE: 'FULFILLMENTS_UPDATE',\n FULFILLMENT_EVENTS_CREATE: 'FULFILLMENT_EVENTS_CREATE',\n FULFILLMENT_EVENTS_DELETE: 'FULFILLMENT_EVENTS_DELETE',\n FULFILLMENT_ORDERS_CANCELLATION_REQUEST_ACCEPTED: 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_ACCEPTED',\n FULFILLMENT_ORDERS_CANCELLATION_REQUEST_REJECTED: 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_REJECTED',\n FULFILLMENT_ORDERS_CANCELLATION_REQUEST_SUBMITTED: 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_SUBMITTED',\n FULFILLMENT_ORDERS_CANCELLED: 'FULFILLMENT_ORDERS_CANCELLED',\n FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_ACCEPTED: 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_ACCEPTED',\n FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_REJECTED: 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_REJECTED',\n FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_SUBMITTED: 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_SUBMITTED',\n FULFILLMENT_ORDERS_FULFILLMENT_SERVICE_FAILED_TO_COMPLETE: 'FULFILLMENT_ORDERS_FULFILLMENT_SERVICE_FAILED_TO_COMPLETE',\n FULFILLMENT_ORDERS_HOLD_RELEASED: 'FULFILLMENT_ORDERS_HOLD_RELEASED',\n FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_LOCAL_DELIVERY: 'FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_LOCAL_DELIVERY',\n FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_PICKUP: 'FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_PICKUP',\n FULFILLMENT_ORDERS_MOVED: 'FULFILLMENT_ORDERS_MOVED',\n FULFILLMENT_ORDERS_ORDER_ROUTING_COMPLETE: 'FULFILLMENT_ORDERS_ORDER_ROUTING_COMPLETE',\n FULFILLMENT_ORDERS_PLACED_ON_HOLD: 'FULFILLMENT_ORDERS_PLACED_ON_HOLD',\n FULFILLMENT_ORDERS_RESCHEDULED: 'FULFILLMENT_ORDERS_RESCHEDULED',\n FULFILLMENT_ORDERS_SCHEDULED_FULFILLMENT_ORDER_READY: 'FULFILLMENT_ORDERS_SCHEDULED_FULFILLMENT_ORDER_READY',\n INVENTORY_ITEMS_CREATE: 'INVENTORY_ITEMS_CREATE',\n INVENTORY_ITEMS_DELETE: 'INVENTORY_ITEMS_DELETE',\n INVENTORY_ITEMS_UPDATE: 'INVENTORY_ITEMS_UPDATE',\n INVENTORY_LEVELS_CONNECT: 'INVENTORY_LEVELS_CONNECT',\n INVENTORY_LEVELS_DISCONNECT: 'INVENTORY_LEVELS_DISCONNECT',\n INVENTORY_LEVELS_UPDATE: 'INVENTORY_LEVELS_UPDATE',\n LOCALES_CREATE: 'LOCALES_CREATE',\n LOCALES_UPDATE: 'LOCALES_UPDATE',\n LOCATIONS_ACTIVATE: 'LOCATIONS_ACTIVATE',\n LOCATIONS_CREATE: 'LOCATIONS_CREATE',\n LOCATIONS_DEACTIVATE: 'LOCATIONS_DEACTIVATE',\n LOCATIONS_DELETE: 'LOCATIONS_DELETE',\n LOCATIONS_UPDATE: 'LOCATIONS_UPDATE',\n MARKETS_CREATE: 'MARKETS_CREATE',\n MARKETS_DELETE: 'MARKETS_DELETE',\n MARKETS_UPDATE: 'MARKETS_UPDATE',\n ORDERS_CANCELLED: 'ORDERS_CANCELLED',\n ORDERS_CREATE: 'ORDERS_CREATE',\n ORDERS_DELETE: 'ORDERS_DELETE',\n ORDERS_EDITED: 'ORDERS_EDITED',\n ORDERS_FULFILLED: 'ORDERS_FULFILLED',\n ORDERS_PAID: 'ORDERS_PAID',\n ORDERS_PARTIALLY_FULFILLED: 'ORDERS_PARTIALLY_FULFILLED',\n ORDERS_UPDATED: 'ORDERS_UPDATED',\n ORDER_TRANSACTIONS_CREATE: 'ORDER_TRANSACTIONS_CREATE',\n PAYMENT_SCHEDULES_DUE: 'PAYMENT_SCHEDULES_DUE',\n PAYMENT_TERMS_CREATE: 'PAYMENT_TERMS_CREATE',\n PAYMENT_TERMS_DELETE: 'PAYMENT_TERMS_DELETE',\n PAYMENT_TERMS_UPDATE: 'PAYMENT_TERMS_UPDATE',\n PRODUCTS_CREATE: 'PRODUCTS_CREATE',\n PRODUCTS_DELETE: 'PRODUCTS_DELETE',\n PRODUCTS_UPDATE: 'PRODUCTS_UPDATE',\n PRODUCT_LISTINGS_ADD: 'PRODUCT_LISTINGS_ADD',\n PRODUCT_LISTINGS_REMOVE: 'PRODUCT_LISTINGS_REMOVE',\n PRODUCT_LISTINGS_UPDATE: 'PRODUCT_LISTINGS_UPDATE',\n PRODUCT_PUBLICATIONS_CREATE: 'PRODUCT_PUBLICATIONS_CREATE',\n PRODUCT_PUBLICATIONS_DELETE: 'PRODUCT_PUBLICATIONS_DELETE',\n PRODUCT_PUBLICATIONS_UPDATE: 'PRODUCT_PUBLICATIONS_UPDATE',\n PROFILES_CREATE: 'PROFILES_CREATE',\n PROFILES_DELETE: 'PROFILES_DELETE',\n PROFILES_UPDATE: 'PROFILES_UPDATE',\n REFUNDS_CREATE: 'REFUNDS_CREATE',\n RETURNS_APPROVE: 'RETURNS_APPROVE',\n RETURNS_CANCEL: 'RETURNS_CANCEL',\n RETURNS_CLOSE: 'RETURNS_CLOSE',\n RETURNS_DECLINE: 'RETURNS_DECLINE',\n RETURNS_REOPEN: 'RETURNS_REOPEN',\n RETURNS_REQUEST: 'RETURNS_REQUEST',\n REVERSE_DELIVERIES_ATTACH_DELIVERABLE: 'REVERSE_DELIVERIES_ATTACH_DELIVERABLE',\n REVERSE_FULFILLMENT_ORDERS_DISPOSE: 'REVERSE_FULFILLMENT_ORDERS_DISPOSE',\n SCHEDULED_PRODUCT_LISTINGS_ADD: 'SCHEDULED_PRODUCT_LISTINGS_ADD',\n SCHEDULED_PRODUCT_LISTINGS_REMOVE: 'SCHEDULED_PRODUCT_LISTINGS_REMOVE',\n SCHEDULED_PRODUCT_LISTINGS_UPDATE: 'SCHEDULED_PRODUCT_LISTINGS_UPDATE',\n SEGMENTS_CREATE: 'SEGMENTS_CREATE',\n SEGMENTS_DELETE: 'SEGMENTS_DELETE',\n SEGMENTS_UPDATE: 'SEGMENTS_UPDATE',\n SELLING_PLAN_GROUPS_CREATE: 'SELLING_PLAN_GROUPS_CREATE',\n SELLING_PLAN_GROUPS_DELETE: 'SELLING_PLAN_GROUPS_DELETE',\n SELLING_PLAN_GROUPS_UPDATE: 'SELLING_PLAN_GROUPS_UPDATE',\n SHIPPING_ADDRESSES_CREATE: 'SHIPPING_ADDRESSES_CREATE',\n SHIPPING_ADDRESSES_UPDATE: 'SHIPPING_ADDRESSES_UPDATE',\n SHOP_UPDATE: 'SHOP_UPDATE',\n SUBSCRIPTION_BILLING_ATTEMPTS_CHALLENGED: 'SUBSCRIPTION_BILLING_ATTEMPTS_CHALLENGED',\n SUBSCRIPTION_BILLING_ATTEMPTS_FAILURE: 'SUBSCRIPTION_BILLING_ATTEMPTS_FAILURE',\n SUBSCRIPTION_BILLING_ATTEMPTS_SUCCESS: 'SUBSCRIPTION_BILLING_ATTEMPTS_SUCCESS',\n SUBSCRIPTION_BILLING_CYCLE_EDITS_CREATE: 'SUBSCRIPTION_BILLING_CYCLE_EDITS_CREATE',\n SUBSCRIPTION_BILLING_CYCLE_EDITS_DELETE: 'SUBSCRIPTION_BILLING_CYCLE_EDITS_DELETE',\n SUBSCRIPTION_BILLING_CYCLE_EDITS_UPDATE: 'SUBSCRIPTION_BILLING_CYCLE_EDITS_UPDATE',\n SUBSCRIPTION_CONTRACTS_CREATE: 'SUBSCRIPTION_CONTRACTS_CREATE',\n SUBSCRIPTION_CONTRACTS_UPDATE: 'SUBSCRIPTION_CONTRACTS_UPDATE',\n TAX_SERVICES_CREATE: 'TAX_SERVICES_CREATE',\n TAX_SERVICES_UPDATE: 'TAX_SERVICES_UPDATE',\n TENDER_TRANSACTIONS_CREATE: 'TENDER_TRANSACTIONS_CREATE',\n THEMES_CREATE: 'THEMES_CREATE',\n THEMES_DELETE: 'THEMES_DELETE',\n THEMES_PUBLISH: 'THEMES_PUBLISH',\n THEMES_UPDATE: 'THEMES_UPDATE',\n VARIANTS_IN_STOCK: 'VARIANTS_IN_STOCK',\n VARIANTS_OUT_OF_STOCK: 'VARIANTS_OUT_OF_STOCK',\n // NOTE: latest webhooks as of 6/3/23 UNSTABLE below (https://shopify.dev/docs/api/admin-graphql/unstable/enums/WebhookSubscriptionTopic)\n CHECKOUTS_PAID: 'CHECKOUTS_PAID',\n COMPANY_CONTACT_ROLES_ASSIGN: 'COMPANY_CONTACT_ROLES_ASSIGN',\n COMPANY_CONTACT_ROLES_REVOKE: 'COMPANY_CONTACT_ROLES_REVOKE',\n CUSTOMERS_EMAIL_MARKETING_CONSENT_UPDATE: 'CUSTOMERS_EMAIL_MARKETING_CONSENT_UPDATE',\n FINANCE_KYC_INFORMATION_UPDATE: 'FINANCE_KYC_INFORMATION_UPDATE',\n FULFILLMENT_ORDERS_HOLD_FULFILLMENT: 'FULFILLMENT_ORDERS_HOLD_FULFILLMENT',\n FULFILLMENT_ORDERS_READY_FOR_PICKUP: 'FULFILLMENT_ORDERS_READY_FOR_PICKUP',\n FULFILLMENT_ORDERS_READY_TO_FULFILL: 'FULFILLMENT_ORDERS_READY_TO_FULFILL',\n INVENTORY_QUANTITIES_CHANGED: 'INVENTORY_QUANTITIES_CHANGED',\n MARKETPLACE_PAYMENTS_CONFIGURATIONS_UPDATE: 'MARKETPLACE_PAYMENTS_CONFIGURATIONS_UPDATE',\n PRODUCT_FEEDS_CREATE: 'PRODUCT_FEEDS_CREATE',\n PRODUCT_FEEDS_FULL_SYNC: 'PRODUCT_FEEDS_FULL_SYNC',\n PRODUCT_FEEDS_INCREMENTAL_SYNC: 'PRODUCT_FEEDS_INCREMENTAL_SYNC',\n PRODUCT_FEEDS_UPDATE: 'PRODUCT_FEEDS_UPDATE',\n PUBLICATIONS_DELETE: 'PUBLICATIONS_DELETE',\n PURCHASE_ORDERS_CREATE: 'PURCHASE_ORDERS_CREATE',\n PURCHASE_ORDERS_DELETE: 'PURCHASE_ORDERS_DELETE',\n PURCHASE_ORDERS_MARK_AS_ORDERED: 'PURCHASE_ORDERS_MARK_AS_ORDERED',\n PURCHASE_ORDERS_RECEIVE: 'PURCHASE_ORDERS_RECEIVE',\n PURCHASE_ORDERS_UPDATE: 'PURCHASE_ORDERS_UPDATE',\n SUPPLIERS_CREATE: 'SUPPLIERS_CREATE',\n SUPPLIERS_DELETE: 'SUPPLIERS_DELETE',\n SUPPLIERS_UPDATE: 'SUPPLIERS_UPDATE',\n}\n\n// NOTE: this is a duplicate of shopify-api-js/registry.topicForStorage\nexport const convertEventTopic = (topic) => (\n API_WEBHOOK_TOPICS[topic?.toUpperCase().replace(/\\/|\\./g, '_')]\n)\n\nexport const API_ROUTE_NAMES = {\n APP_INSTALLATION: 'apiRouteAppInstallation',\n SESSION_TOKEN: 'apiRouteSessionToken',\n WEBHOOK_EVENT: 'apiRouteWebhook',\n AUTH_ONLINE: 'apiRouteAuthOnline',\n AUTH_OFFLINE: 'apiRouteAuthOffline',\n AUTH_ONLINE_CALLBACK: 'apiRouteAuthOnlineCallback',\n AUTH_OFFLINE_CALLBACK: 'apiRouteAuthOfflineCallback',\n AUTH_ONLINE_CALLBACK_REAUTH: 'apiRouteAuthOnlineCallbackReauth',\n AUTH_OFFLINE_CALLBACK_REAUTH: 'apiRouteAuthOfflineCallbackReauth',\n [API_WEBHOOK_TOPICS.APP_UNINSTALLED]: 'apiRouteAppUninstalled',\n [API_WEBHOOK_TOPICS.APP_PURCHASES_ONE_TIME_UPDATE]: 'apiRouteAppOneTimeBilling',\n [API_WEBHOOK_TOPICS.APP_SUBSCRIPTIONS_UPDATE]: 'apiRouteAppSubscriptionBilling',\n}\n\nexport const BILLING_INTERVALS = {\n ONE_TIME: 'ONE_TIME',\n MONTHLY: 'EVERY_30_DAYS',\n ANNUAL: 'ANNUAL',\n}\n\nexport const BILLING_EVENT_TYPES = {\n ONE_TIME: 'app_purchase_one_time',\n SUBSCRIPTION: 'app_subscription',\n}\n\nexport const AUTH_TYPES = {\n OFFLINE: 'offline',\n ONLINE: 'online',\n}\n","export class VerificationError extends Error {\n constructor(message, _data) {\n super(message)\n const { code = 500, ...data } = _data ?? {}\n this.code = code\n this.data = data\n this.name = 'VerificationError'\n Object.setPrototypeOf(this, VerificationError.prototype)\n }\n}\n","// import getRawBody from 'raw-body'\n// import * as getRawBody from 'raw-body'\n\nconst getChunkedRawBody = async (readable) => {\n if (readable?.rawBody) {\n return readable.rawBody\n }\n\n const chunks = []\n const chunkedBody = readable?.body ?? []\n\n for await (const chunk of chunkedBody) {\n chunks.push(typeof chunk === \"string\" ? Buffer.from(chunk) : chunk)\n }\n\n return Buffer.concat(chunks)\n}\n\n// TODO: explore returning mutated request object adding on req.rawBody??\n// TODO: move to req.text() after next 13.5: https://github.com/vercel/next.js/discussions/13405\nexport const ensureRawBody = async (req) => (\n getChunkedRawBody(req)\n // getRawBody(req)\n .then((_rawBody) => _rawBody.toString())\n .catch((error) => {\n console.error(`Error getting raw body for '${req?.url}'`, error)\n throw error\n })\n)\n","/* eslint-disable no-use-before-define */\n\n// #region lib-core\n// TODO!!!: keep in sync between next-shopify and lib-core (and lib-utils-js at bottom)\nexport const normalizeShopifyId = (shopifyData) => {\n const isString = isType(shopifyData, 'string')\n if (isString && !shopifyData.startsWith('gid:')) {\n if (!isNumericOnly(shopifyData)) {\n return {}\n }\n\n return {\n id: `${shopifyData}`,\n }\n }\n\n const { id: _entityId, legacyResourceId } = isString\n ? { id: shopifyData }\n : ensureObject(shopifyData)\n\n if (stringEmpty(_entityId) && stringEmpty(legacyResourceId)) {\n return {}\n }\n\n const entity_id = ensureString(_entityId)\n const { entity_type, parsedId } = entity_id.match(/^gid:\\/\\/shopify\\/(?<entity_type>.*)\\/(?<parsedId>[0-9]+).*$/)?.groups ?? {}\n const id = ensureString(parsedId || legacyResourceId)\n\n const hasEntityId = stringNotEmpty(entity_id)\n const hasEntityType = stringNotEmpty(entity_type)\n\n return {\n ...stringNotEmpty(id) && { id },\n ...hasEntityId && { entity_id },\n ...hasEntityType && { entity_type },\n ...(hasEntityId && hasEntityType) && {\n gid: `gid://shopify/${entity_type}/${entity_id}`,\n },\n }\n}\n\nexport const random = (max = 100, min = 1) => {\n const floor = Math.min(max, min)\n return Math.floor(Math.random() * (max - floor + 1)) + floor\n}\n\nexport const nextRandom = (max = 100, min = 1) => {\n const maximum = Math.max(max, 0)\n const minimum = Math.max(min, 0)\n\n let randomNumber = maximum\n\n if (maximum > minimum) {\n do {\n randomNumber = random(maximum, minimum)\n } while (randomNumber === nextRandom.last)\n\n nextRandom.last = randomNumber\n }\n\n return randomNumber\n}\n\nexport const arrayRandom = (_values, _max = 1) => {\n const values = ensureArray(_values)\n const valuesLength = values.length\n const maxLength = Math.min(_max, valuesLength)\n\n if (valuesLength <= maxLength) {\n return values\n }\n\n const arrayLength = valuesLength - 1\n const randomValues = []\n do {\n const newVal = values[nextRandom(arrayLength, 0)]\n if (!randomValues.includes(newVal)) {\n randomValues.push(newVal)\n }\n } while (randomValues.length < maxLength)\n\n return randomValues\n}\n\nexport const arrayRandomItem = (_values) => (\n arrayRandom(_values)[0]\n)\n\nexport const isArray = (value) => (\n // eslint-disable-next-line eqeqeq\n (value != undefined) && Array.isArray(value)\n)\n\nexport const isSet = (value) => (\n // eslint-disable-next-line eqeqeq\n (value != undefined) && (value instanceof Set)\n)\n\nexport const isType = (value, type) => (\n // eslint-disable-next-line eqeqeq, valid-typeof\n (value != undefined) && (typeof value === type)\n)\n\nexport const isTypeEnhanced = (value, type) => {\n switch (true) {\n case (type === 'set'): {\n return isSet(value)\n }\n\n case (type === 'array'): {\n return (\n isArray(value) &&\n !isSet(value)\n )\n }\n\n case (type === 'object'): {\n return (\n isType(value, type) &&\n !isArray(value)\n )\n }\n\n default: {\n return isType(value, type)\n }\n }\n}\n\nexport const safeTrim = (value) => {\n if (isType(value, 'string')) {\n // eslint-disable-next-line no-param-reassign\n value = value.trim()\n }\n\n return value\n}\n\nexport const safeParse = (value, trim) => {\n if (isType(value, 'string')) {\n if (trim) {\n // eslint-disable-next-line no-param-reassign\n value = safeTrim(value)\n }\n\n if (value.startsWith('{') || value.startsWith('[') || value.startsWith('\"')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.parse(value)\n }\n }\n\n // TODO: should this be value ?? {}\n return value\n}\n\nexport const ensureString = (string) => (\n string ? `${string}` : ''\n)\n\n// HMMM: what if 'string' is an object?\nexport const ensureStringOnly = (string) => (\n // eslint-disable-next-line eqeqeq\n (string != undefined) ? `${string}` : ''\n)\n\nexport const ensureStringAscii = (string) => (\n // eslint-disable-next-line no-control-regex\n ensureStringOnly(string).replace(/[^\\x00-\\x7F]/g, '')\n)\n\nexport const ensureStringClean = (string) => (\n // eslint-disable-next-line no-control-regex\n ensureStringOnly(string).replace(/[^a-z0-9_-]/gi, '')\n)\n\nexport const ensureAlphaNumeric = (string) => (\n // eslint-disable-next-line no-control-regex\n ensureStringOnly(string).replace(/[^a-z0-9]/gi, '')\n)\n\nexport const isNumericOnly = (value) => {\n const [matched] = `${value}`.match(/^([0-9]+)$/) ?? []\n // eslint-disable-next-line eqeqeq\n return (matched != undefined)\n}\n\nexport const isNumericNegatable = (value) => {\n const [matched] = `${value}`.match(/^(-?[0-9]+(\\.[0-9]+)?)?$/) ?? []\n // eslint-disable-next-line eqeqeq\n return (matched != undefined)\n}\n\n// TODO: explore places using ensureNumeric to move to isNumericNegatable\nexport const ensureNumeric = (string) => (\n Number(ensureString(string).replace(/[^0-9.]/gi, ''))\n)\n\nexport const ensureNumericOnly = (string) => (\n Number(ensureString(string).replace(/[^0-9]/gi, ''))\n)\n\n// TODO: update regex to handle negative number returns negative. Something like (?!\\d\\.)(-?\\d+(\\.\\d)?)\nexport const ensureNumericNegatable = (string) => (\n Number(ensureString(string).replace(/[^0-9.-]/gi, ''))\n)\n\nexport const ensureNumericConstrained = (value, { min: _min = 0, max: _max = 100 } = {}) => {\n const min = ensureNumericNegatable(_min)\n const max = ensureNumericNegatable(_max)\n\n return Math.max(\n min,\n Math.min(ensureNumeric(value), max)\n )\n}\n\nexport const ensureArray = (array = []) => (\n // eslint-disable-next-line no-nested-ternary\n !array ? [] : Array.isArray(array) ? array : [array]\n)\n\nexport const ensureArraySet = (arrayOrSet) => (\n ensureArray(isSet(arrayOrSet) ? [...arrayOrSet] : arrayOrSet)\n)\n\nexport const arrayEmpty = (array, disableEmptyString = false) => (\n // eslint-disable-next-line eqeqeq\n !array || !array.length || (array.length === 1 && (array[0] == undefined || (disableEmptyString && stringEmpty(array[0]))))\n)\n\nexport const arrayNotEmpty = (array, disableEmptyString = false) => (\n // eslint-disable-next-line eqeqeq\n !arrayEmpty(array) && array[0] != undefined && (!disableEmptyString || stringNotEmpty(array[0]))\n)\n\nexport const findLastMatch = (array, filterCallback = (value) => (value)) => (\n ensureArray(array).filter(filterCallback).slice(-1)[0]\n)\n\nexport const ensureObject = (object) => (\n object ?? {}\n)\n\n// NOTE: this does not ensure !isType(string)\nexport const objectEmpty = (object) => (\n !object || !Object.keys(object).length\n)\n\nexport const objectNotEmpty = (object) => (\n !objectEmpty(object)\n)\n\nexport const nullable = (object) => (\n (!object || (object === 'null') || (object === undefined) || (object === null))\n ? null // TODO: explore undefined here??\n : object\n)\n\nexport const objectContainsAnyValue = (object) => (\n Object.values(ensureObject(object)).some((value) => nullable(value))\n)\n\nconst isUndefined = (value) => (\n // eslint-disable-next-line eqeqeq\n value == undefined\n)\n\nexport const cleanObject = (object, allowEmptyLeafs, isEmptyCallback) => (\n Object.entries(ensureObject(object)).reduce((\n _cleanedObject,\n [key, _value]\n ) => {\n if (!allowEmptyLeafs && (isEmptyCallback?.(_value) ?? isUndefined(_value))) {\n return _cleanedObject // skip key if null or undefined\n }\n\n const value = !Array.isArray(_value)\n ? cleanObjectValue(_value, allowEmptyLeafs, isEmptyCallback)\n : _value.reduce((_data, __value) => ([\n ..._data,\n cleanObjectValue(__value, allowEmptyLeafs, isEmptyCallback)\n ]), [])\n\n return {\n ..._cleanedObject,\n [key]: value,\n }\n }, {})\n)\n\nconst cleanObjectValue = (value, allowEmptyLeafs, isEmptyCallback) => (\n isType(value, 'object') ? cleanObject(value, allowEmptyLeafs, isEmptyCallback) : value\n)\n\nexport const stringNotEmptyOnly = (stringable) => {\n const string = ensureStringOnly(stringable)\n return ((string.length > 0) && !['null', 'undefined'].includes(string))\n}\n\nexport const stringEmptyOnly = (stringable) => (\n !stringNotEmptyOnly(stringable)\n)\n\nexport const stringNotEmpty = (stringable) => {\n const string = ensureString(stringable)\n return ((string.length > 0) && !['null', 'undefined'].includes(string))\n}\n\nexport const stringEmpty = (stringable) => (\n !stringNotEmpty(stringable)\n)\n\nconst splitString = (splitting, index = splitting.length) => {\n const string = ensureString(splitting)\n return [string.slice(0, index), string.slice(index)]\n}\n\nexport const compareNumber = (number1 = 0, number2 = 0) => (\n number1 - number2\n)\n\nexport const compareString = (string1, string2) => {\n if (stringEmpty(string1)) {\n return 1\n }\n\n if (stringEmpty(string2)) {\n return -1\n }\n\n return ensureString(string1).localeCompare(string2)\n}\n\nexport const compareEntryKeys = ([string1], [string2]) => (\n compareString(string1, string2)\n)\n\nexport const objectToSortedString = (object, separator = '') => (\n Object.entries(ensureObject(object))\n .sort(compareEntryKeys)\n .map(([key, value]) => `${key}=${value}`)\n .join(separator)\n)\n\nexport const isHTML = (string) => (\n (string?.startsWith?.('<') || string?.startsWith?.('\\n<')) ?? false\n)\n\nexport const freeze = (logMessage, object, type = 'log') => {\n console[type](logMessage, !object ? object : JSON.parse(JSON.stringify(ensureObject(object))))\n}\n\nexport const replaceSpaces = (string, replacement = '') => (\n !isType(string, 'string')\n ? ''\n : string.replace(/\\s/g, replacement)\n)\n\nconst recase = (string, replacement = '') => (\n !isType(string, 'string')\n ? ''\n : string\n .replace(/[^a-zA-Z0-9]+/g, replacement)\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/([0-9])([^0-9])/g, '$1-$2')\n .replace(/([^0-9])([0-9])/g, '$1-$2')\n .replace(/[-_]+/g, replacement)\n .replace(new RegExp(`${replacement}$`), '')\n .toLowerCase()\n)\n\nexport const zencase = (string, replacement = '-') => (\n !isType(string, 'string')\n ? ''\n : replaceSpaces(string, replacement)\n .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(new RegExp(`${replacement}$`), '')\n .toLowerCase()\n)\n\nexport const dashcase = (string) => (\n recase(string, '-')\n)\n\nexport const undashcase = (string, replacement = ' ') => (\n ensureString(string).replace(/-/g, replacement).trim()\n)\n\nexport const snakecase = (string) => (\n recase(string, '_')\n)\n\nexport const unsnakecase = (string, replacement = ' ') => (\n ensureString(string).replace(/_/g, replacement).trim()\n)\n\nexport const uppercase = (string) => (\n ensureString(string).toUpperCase()\n)\n\nexport const lowercase = (string, defaultValue = '') => (\n !stringNotEmpty(string)\n ? defaultValue\n : ensureString(string).toLowerCase()\n)\n\nexport const slugify = (string) => (\n lowercase(dashcase(string))\n)\n\nexport const capitalize = (string) => {\n const parts = splitString(string, 1)\n return `${uppercase(parts[0])}${parts[1]}`\n}\n\nexport const camelCase = (string) => (\n stringNotEmpty(string)\n ? unsnakecase(undashcase(string)).replace(/\\w\\S*/g, (word, charIndex) => {\n if (charIndex === 0) {\n return lowercase(word)\n }\n return `${uppercase(word.charAt(0))}${lowercase(word.substr(1))}`\n }).split(' ').join('')\n : ''\n)\n\nexport const titleCase = (string, _overrides) => {\n if (!stringNotEmpty(string)) {\n return ''\n }\n\n const overrides = {\n 'add-ons': 'Add-Ons',\n agnostack: 'agnoStack',\n ai: 'AI',\n b2b: 'B2B',\n b2c: 'B2C',\n cartcollab: 'CartCollab',\n 'cartcollab(sm)': 'CartCollab(SM)',\n chatgpt: 'ChatGPT',\n covid: 'COVID',\n covid19: 'COVID-19',\n 'covid-19': 'COVID-19',\n crm: 'CRM',\n elasticpath: 'Elastic Path',\n ecommerce: 'eCommerce',\n 'e-commerce': 'eCommerce',\n faqs: 'FAQs',\n gpt: 'GPT',\n 'smile.io': 'Smile.io',\n 'stamped.io': 'Stamped.io',\n 'judge.me': 'Judge.me',\n 'influence.io': 'Influence.io',\n keepsmallstrong: 'KeepSmallStrong',\n loyaltylion: 'LoyaltyLion',\n openai: 'OpenAI',\n paypal: 'PayPal',\n 'postscript.io': 'Postscript.io',\n recharge: 'ReCharge',\n 'stay.ai': 'Stay.ai',\n 'stay ai': 'Stay Ai',\n shipengine: 'ShipEngine',\n shipperhq: 'ShipperHQ',\n shipstation: 'ShipStation',\n taxjar: 'TaxJar',\n yotpo: 'YotPo',\n ..._overrides,\n }\n\n const stringParts = lowercase(string)\n .split(' ')\n .reduce((\n _stringParts,\n _stringPart\n ) => {\n const stringPart = overrides[_stringPart] ?? _stringPart\n .replace(/([A-Z]+)/g, ' $1')\n .replace(/\\s\\s+/g, ' ')\n .replace(/(\\b[a-z](?!\\s)*)/g, (firstChar) => uppercase(firstChar))\n\n return [\n ..._stringParts,\n ...stringNotEmpty(stringPart) ? [stringPart] : []\n ]\n }, [])\n\n return stringParts.join(' ')\n}\n\nexport const removeLeadingSlash = (string) => (\n ensureString(string).replace(/^\\//, '')\n)\n\nexport const removeLeadingTrailingQuotes = (string) => (\n ensureString(string).replace(/^\"|\"$/g, '')\n)\n\n// TODO: not sure if this should remove multipel at end or just one (as it does now)?\nexport const removeTrailingSlash = (string) => (\n ensureString(string).replace(/\\/$/, '')\n)\n\nexport const removeLeadingTrailingSlash = (string) => (\n removeTrailingSlash(removeLeadingSlash(string))\n)\n\nexport const ensureLeadingSlash = (string) => (\n `/${removeLeadingSlash(string)}`\n)\n\nexport const ensureTrailingSlash = (string) => (\n `${removeTrailingSlash(string)}/`\n)\n\nexport const ensureExtension = (string, extension) => {\n if (stringEmpty(extension)) {\n return string\n }\n\n const filePath = string.match(/(.*)\\..+$/)?.[1] ?? string\n\n return `${filePath}.${extension}`\n}\n\nexport const wrappedEncode = (basePath, _wrappingPath) => {\n const wrappingPath = ensureString(_wrappingPath)\n if (stringEmpty(basePath)) {\n return wrappingPath\n }\n\n return `${basePath}${encodeURIComponent(wrappingPath)}`\n}\n\nexport const splitCommas = (value) => (\n ensureString(value)\n .replace(/, /g, ',')\n .split(',')\n .reduce((_values, _value) => {\n const __value = safeTrim(_value)\n return [\n ..._values,\n ...stringNotEmpty(__value) ? [__value] : [] // TODO: explore stringEmptyOnly?\n ]\n }, [])\n)\n\nexport const combineCommas = (values) => (\n [...new Set(\n ensureArray(values).reduce((\n _combined,\n value\n ) => ([\n ..._combined,\n ...splitCommas(value)\n ]), [])\n )]\n)\n\nexport const normalizeArray = (input, separator = ' ') => {\n const inputArray = ensureArray(input)\n\n return inputArray.reduce((normalized, _ignore, index) => ([\n ...normalized,\n inputArray.slice(0, index + 1).join(separator)\n ]), []).reverse()\n}\n\nexport const arrayToObject = (arrayable, key) => (\n ensureArray(arrayable).reduce((_object, item) => ({\n ..._object,\n [item?.[key]]: item,\n }), {})\n)\n\nexport const isTrue = (value, falsy) => {\n const string = ensureString(value)\n return ![...ensureArray(falsy), '', 'false'].includes(string)\n}\n\n// TODO: move all uses of parseKeywords to parseKeywordGroups\nexport const parseKeywords = (keywordGroup, previous) => (\n [...new Set(ensureArray(keywordGroup).reduce((_parsedKeywords, keyword) => {\n const keywords = splitCommas(keyword)\n\n return [\n ..._parsedKeywords,\n ...keywords.filter((_keyword) => stringNotEmpty(_keyword))\n ]\n }, ensureArray(previous)))].join(', ')\n)\n\nexport const parseKeywordGroups = (keywordGroups) => {\n const parsedKeywords = ensureArray(keywordGroups).reduce((_parsedKeywords, keywordGroup) => ([\n ..._parsedKeywords,\n ...ensureArray(keywordGroup).reduce((_parsedGroupKeywords, keyword) => {\n const keywords = splitCommas(keyword)\n\n return [\n ..._parsedGroupKeywords,\n ...keywords.filter((_keyword) => stringNotEmpty(_keyword))\n ]\n }, [])\n ]), [])\n\n return [...new Set(parsedKeywords)].join(', ')\n}\n\nexport const parseProjectName = (_name) => {\n const name = ensureString(_name)\n const [, organization, ...parts] = /(@.*)([\\\\]+|\\/)+(.*)/.exec(name) ?? []\n const projectName = organization ? name.replace(organization, '').replace('/', '') : name\n\n return {\n name,\n parts,\n organization,\n projectName,\n }\n}\n\nexport const parseProject = (packageInfo) => {\n const { shortName, owner: _appOwner, name: _name, appName: _appName, keywords, siteName: _siteName } = packageInfo ?? {}\n const { name, organization, projectName } = parseProjectName(_name)\n\n const appName = _appName ?? projectName?.slice(projectName?.indexOf('-') + 1)\n const siteName = _siteName ?? projectName?.slice(projectName?.indexOf('-') + 1)\n const companyName = titleCase(organization?.replace('@', ''))\n const appOwner = _appOwner ?? companyName\n\n return [{\n keywords,\n appOwner,\n appName,\n siteName,\n shortName,\n companyName,\n projectName,\n }, organization, name]\n}\n\n// #endregion lib-core\n\n// #region lib-utils-js\n\nexport const querystringToObject = (queryString) => {\n if (stringEmpty(queryString)) {\n return {}\n }\n\n const urlParams = new URLSearchParams(queryString)\n return Object.fromEntries(urlParams)\n}\n\nexport const arrayIncludesAll = (_values, comparison) => {\n const values = ensureArray(_values)\n return ensureArray(comparison).every((value) => (\n stringNotEmpty(value) && values.includes(value)\n ))\n}\n\nexport const arraysMatch = (array1, array2) => (\n arrayIncludesAll(array1, array2) && arrayIncludesAll(array2, array1)\n)\n\nexport const appendQuery = (_basePath, queryString) => {\n const basePath = ensureString(_basePath)\n if (stringEmpty(queryString)) {\n return basePath\n }\n return `${basePath}${basePath.includes('?') ? '&' : '?'}${queryString}`\n}\n","import {\n ensureLeadingSlash,\n stringEmpty,\n uppercase,\n safeParse,\n} from './display'\n\nconst TEMP_HOSTNAME = 'xyz.com'\nconst REMOVABLE_KEYS = ['shop', 'host']\n\nexport const HEADER_CONTENT_TYPE = 'Content-Type'\nexport const CONTENT_TYPES = {\n APPLICATION_JSON: 'application/json',\n}\n\nexport const getRequestMethod = (body, _method) => {\n const method = _method ?? (body ? 'POST' : 'GET')\n\n return uppercase(method)\n}\n\nexport const prepareRequestOptions = ({ method: _method, body: _body, headers: _header, ...requestOptions } = {}) => {\n const method = getRequestMethod(_body, _method)\n\n const headers = {\n [HEADER_CONTENT_TYPE]: CONTENT_TYPES.APPLICATION_JSON,\n ..._header,\n }\n\n let body = _body\n if (body && headers[HEADER_CONTENT_TYPE].startsWith(CONTENT_TYPES.APPLICATION_JSON)) {\n body = JSON.stringify(safeParse(body))\n }\n\n return {\n method,\n headers,\n ...(body && (method !== 'GET')) && { body },\n ...requestOptions,\n }\n}\n\nconst convertToURL = (uri) => {\n if (stringEmpty(uri)) {\n return undefined\n }\n\n const protocolRegex = /^(https?:\\/\\/).+/i\n\n if (!protocolRegex.test(uri)) {\n return new URL(`https://${TEMP_HOSTNAME}${ensureLeadingSlash(uri)}`)\n }\n\n return new URL(uri)\n}\n\nexport const normalizeURIParts = (uri) => {\n const urlObject = convertToURL(uri)\n if (!urlObject) {\n return undefined\n }\n\n REMOVABLE_KEYS.forEach((key) => urlObject.searchParams.delete(key))\n\n return {\n ...(urlObject.hostname !== TEMP_HOSTNAME) && {\n origin: urlObject.origin,\n },\n pathname: urlObject.pathname,\n search: urlObject.search,\n }\n}\n","var n,r=((n=function(){return r}).toString=n.toLocaleString=n[Symbol.toPrimitive]=function(){return \"\"},n.valueOf=function(){return !1},new Proxy(Object.freeze(n),{get:function(n,t){return n.hasOwnProperty(t)?n[t]:r}})),u=function(n){return n===r};\n\nlet win = global.window;\nlet doc = global.document;\nlet nav = global.navigator;\nlet document = typeof doc !== \"undefined\" ? doc : r;\nlet exists = (variable) => !u(variable);\nlet navigator = typeof nav !== \"undefined\" ? nav : r;\nlet window = typeof win !== \"undefined\" ? win : r;\n\nexport { document, exists, navigator, window };\n//# sourceMappingURL=browser-monads-ts.es.js.map\n","import { exists, window } from 'browser-monads-ts'\n\nimport { ensureArray, ensureString, objectEmpty } from './display'\n\nclass WebCrypto {\n constructor({ crypto: _crypto, utils: _util } = {}) {\n this._crypto = _crypto\n this._util = _util\n }\n\n get subtle() {\n return this._crypto?.subtle\n }\n\n async getWebCrypto() {\n if (!this._crypto) {\n try {\n this._crypto = (await import('isomorphic-webcrypto')).default\n } catch (_ignore) {\n console.info('Failed to import isomorphic-webcrypto, retrying w/ node crypto')\n try {\n this._crypto = (await import('crypto')).default\n } catch (error) {\n console.error('Failed to import node crypto')\n throw error\n }\n }\n }\n\n if (!this._crypto?.subtle) {\n throw new Error('Invalid crypto, missing subtle')\n }\n\n return this._crypto\n }\n\n async getTextDecoder() {\n if (exists(window) && typeof window?.TextDecoder === 'function') {\n return window.TextDecoder\n }\n\n try {\n const TextDecoder = (this._util || (await import('util'))).TextDecoder\n return TextDecoder\n } catch (error) {\n console.error('Failed to import utils.TextDecoder', error)\n throw error\n }\n }\n\n async getTextEncoder() {\n if (exists(window) && typeof window?.TextEncoder === 'function') {\n return window.TextEncoder\n }\n\n try {\n const TextEncoder = (this._util || (await import('util'))).TextEncoder\n return TextEncoder\n } catch (error) {\n console.error('Failed to import utils.TextEncoder', error)\n throw error\n }\n }\n\n timingSafeEqual(value1, value2) {\n if (\n (value1 == undefined) ||\n (value2 == undefined) ||\n (value1.length !== value2.length)\n ) {\n return false\n }\n\n let result = 0\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < value1.length; i++) {\n // eslint-disable-next-line no-bitwise\n result |= value1[i] ^ value2[i]\n }\n\n return (result === 0)\n }\n\n stringToHex(stringValue) {\n return (\n Array.from(ensureString(stringValue), (char) => (\n char.charCodeAt(0).toString(16).padStart(2, '0')\n )).join('')\n )\n }\n\n hexToString(hexValue) {\n return (\n ensureArray(\n ensureString(hexValue).match(/.{1,2}/g)\n )\n .map((byte) => String.fromCharCode(parseInt(byte, 16)))\n .join('')\n )\n }\n\n async arrayBufferToString(arrayBuffer) {\n const uint8Array = new Uint8Array(arrayBuffer)\n const Decoder = await this.getTextDecoder()\n return new Decoder().decode(uint8Array)\n }\n\n arrayToArrayBuffer(array) {\n return (\n (ArrayBuffer.from != undefined)\n ? ArrayBuffer.from(array)\n : new Uint8Array(array).buffer\n )\n }\n\n ensureArrayBuffer(arrayOrArrayBuffer) {\n return (\n (arrayOrArrayBuffer instanceof ArrayBuffer)\n ? arrayOrArrayBuffer\n : this.arrayToArrayBuffer(arrayOrArrayBuffer)\n )\n }\n\n async generateKeyPair() {\n const crypto = await this.getWebCrypto()\n const keyPair = await crypto.subtle.generateKey(\n {\n name: 'ECDH',\n namedCurve: 'P-256',\n },\n true,\n ['deriveKey']\n )\n\n return keyPair\n }\n\n getKeyOperations(keyType) {\n switch (keyType) {\n case 'private':\n case 'privateKey': {\n return ['deriveKey']\n }\n\n case 'secret':\n case 'secretKey':\n case 'sharedSecret': {\n return ['encrypt', 'decrypt'] \n }\n\n default: {\n return []\n }\n }\n }\n\n getKeyAlgorythm(keyType) {\n switch (keyType) {\n case 'derivedKey':\n case 'derived':\n case 'secret':\n case 'secretKey':\n case 'sharedSecret': {\n return {\n name: 'AES-GCM',\n }\n }\n\n default: {\n return {\n name: 'ECDH',\n namedCurve: 'P-256',\n }\n }\n }\n }\n\n async generateHMAC(message, derivedKey) {\n if (!message || !derivedKey) {\n return undefined\n } \n\n const crypto = await this.getWebCrypto()\n const Encoder = await this.getTextEncoder()\n\n const signature = await crypto.subtle.sign(\n 'HMAC',\n derivedKey,\n new Encoder().encode(message)\n )\n\n return this.stringToHex(\n this.arrayBufferToString(signature)\n )\n }\n\n async verifyHMAC(message, derivedKey, verifiableHMAC) {\n const calculatedHMAC = await this.generateHMAC(message, derivedKey)\n\n return this.timingSafeEqual(calculatedHMAC, verifiableHMAC)\n }\n\n async getStorableKey(key) {\n const crypto = await this.getWebCrypto()\n\n const exportedJWK = await crypto.subtle.exportKey('jwk', key)\n return this.stringToHex(JSON.stringify(exportedJWK))\n }\n\n async restoreStorableKey(keyType, storableHex) {\n if (!storableHex) {\n return undefined\n }\n const crypto = await this.getWebCrypto()\n\n const exportedJWK = JSON.parse(this.hexToString(storableHex) || '{}')\n if (objectEmpty(exportedJWK)) {\n return undefined\n }\n\n return crypto.subtle.importKey(\n 'jwk',\n exportedJWK,\n this.getKeyAlgorythm(keyType),\n true,\n this.getKeyOperations(keyType)\n )\n }\n\n async getStorableKeyPair(keyPair) {\n const storableKeys = {}\n\n // eslint-disable-next-line no-restricted-syntax\n for (const [keyType, key] of Object.entries(keyPair)) {\n // eslint-disable-next-line no-await-in-loop\n storableKeys[keyType] = await this.getStorableKey(key)\n }\n\n return storableKeys\n }\n\n async restoreStorableKeyPair(keyPair) {\n const restoredKeys = {}\n\n // eslint-disable-next-line no-restricted-syntax\n for (const [keyType, key] of Object.entries(keyPair)) {\n // eslint-disable-next-line no-await-in-loop\n restoredKeys[keyType] = await this.restoreStorableKey(keyType, key)\n }\n\n return restoredKeys\n }\n\n async deriveSharedKey({ publicKey, privateKey }) {\n if (!publicKey || !privateKey) {\n return undefined\n }\n\n const crypto = await this.getWebCrypto()\n const derivedKey = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: publicKey,\n },\n privateKey,\n {\n name: 'AES-GCM',\n length: 256,\n },\n true,\n ['encrypt', 'decrypt']\n )\n return derivedKey\n }\n\n async deriveHMACKey({ publicKey, privateKey }) {\n if (!publicKey || !privateKey) {\n return undefined\n }\n\n const crypto = await this.getWebCrypto()\n const derivedKey = await crypto.subtle.deriveKey(\n {\n name: 'ECDH',\n public: publicKey,\n },\n privateKey,\n {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n length: 256, // Adjusted key length, e.g., 128 bits\n },\n true,\n ['sign', 'verify']\n )\n return derivedKey\n }\n\n async getVerificationKeys({ publicKey, privateKey }) {\n if (!publicKey || !privateKey) {\n return {}\n }\n\n const sharedKeyPair = await this.restoreStorableKeyPair({ publicKey, privateKey })\n const derivedHMACKey = await this.deriveHMACKey(sharedKeyPair)\n const derivedSecretKey = await this.deriveSharedKey(sharedKeyPair)\n\n return {\n derivedSecretKey,\n derivedHMACKey,\n }\n }\n\n async encryptMessage(decryptedMessage, derivedKey) {\n if (!decryptedMessage || !derivedKey) {\n return undefined\n }\n\n const crypto = await this.getWebCrypto()\n const iv = crypto.getRandomValues(new Uint8Array(12))\n const Encoder = await this.getTextEncoder()\n const encodedMessage = new Encoder().encode(decryptedMessage)\n const ciphertext = await crypto.subtle.encrypt(\n {\n name: 'AES-GCM',\n iv,\n },\n derivedKey,\n encodedMessage\n )\n\n const encryptedMessage = new Uint8Array([\n ...iv,\n ...new Uint8Array(ciphertext)\n ])\n return Array.from(encryptedMessage)\n }\n\n async decryptMessage(encryptedMessage, derivedKey) {\n if (!encryptedMessage || !derivedKey) {\n return undefined\n }\n\n const crypto = await this.getWebCrypto()\n // NOTE: this presumed an array or arrayBuffer coming in as encryptedMessage (will fail w/ IV error if its a string)\n const encryptedArrayBuffer = this.ensureArrayBuffer(encryptedMessage)\n const iv = encryptedArrayBuffer.slice(0, 12)\n const ciphertext = encryptedArrayBuffer.slice(12)\n\n const decryptedArrayBuffer = await crypto.subtle.decrypt(\n {\n name: 'AES-GCM',\n iv,\n },\n derivedKey,\n ciphertext\n )\n\n const Decoder = await this.getTextDecoder()\n const decryptedMessage = new Decoder().decode(decryptedArrayBuffer)\n return decryptedMessage\n }\n}\n\nexport default WebCrypto\n","import {\n objectToSortedString,\n ensureString,\n safeParse,\n isTrue,\n} from '../shared/display'\nimport {\n getRequestMethod,\n normalizeURIParts,\n} from '../shared/request'\nimport WebCrypto from '../shared/WebCrypto'\nimport {\n ensureRawBody,\n VerificationError,\n} from './utils'\n\nexport const getVerificationHelpers = ({ keyPairs, crypto: _crypto } = {}) => {\n const webCrypto = new WebCrypto({ crypto: _crypto })\n\n return async (req, params) => {\n const {\n 'x-public-key': apiKey,\n 'x-ephemeral-key': ephemeralPublicKey,\n 'x-authorization-timestamp': customAuthTimestamp,\n 'x-authorization': customAuth,\n } = req.headers ?? {}\n\n const { uri: _uri, disableRecryption: _disableRecryption } = params ?? {}\n const uri = _uri ?? req.url\n const disableRecryption = isTrue(_disableRecryption)\n\n let isVerifiable\n try {\n const [authProtocol, authSignature] = ensureString(customAuth).split(' ')\n isVerifiable = isTrue(\n apiKey &&\n ephemeralPublicKey &&\n keyPairs?.shared &&\n customAuthTimestamp &&\n authSignature &&\n (authProtocol === 'HMAC-SHA256')\n )\n\n let verificationKeys\n const rawBody = await ensureRawBody(req)\n\n // NOTE: requestBody should be wind up decrypted when isVerifiable (unless disableRecryption, then will pass through)\n let requestBody = safeParse(rawBody)\n\n // TEMP!!! remove isVerifiable check once webwidget moved to react\n if (isVerifiable) {\n if (\n !apiKey ||\n !ephemeralPublicKey ||\n !customAuthTimestamp ||\n !authSignature ||\n !keyPairs?.shared ||\n (apiKey !== keyPairs.shared.publicKey) ||\n (authProtocol !== 'HMAC-SHA256')\n ) {\n throw new VerificationError('Invalid or missing authorization', { code: 401 })\n }\n\n verificationKeys = await webCrypto.getVerificationKeys({\n publicKey: ephemeralPublicKey,\n privateKey: keyPairs.shared.privateKey,\n })\n\n if (!verificationKeys) {\n throw new VerificationError('Invalid or missing verification', { code: 412 })\n }\n\n const verificationPayload = objectToSortedString({\n method: getRequestMethod(rawBody, req.method),\n timestamp: customAuthTimestamp,\n body: requestBody, // NOTE: requestBody should be encrypted when isVerifiable\n ...normalizeURIParts(uri),\n })\n\n const isValid = await webCrypto.verifyHMAC(\n verificationPayload,\n verificationKeys.derivedHMACKey,\n authSignature\n )\n\n if (!isValid) {\n throw new VerificationError('Invalid or missing verification', { code: 412 })\n }\n\n if (!disableRecryption && requestBody) {\n const decryptedMessage = await webCrypto.decryptMessage(requestBody, verificationKeys.derivedSecretKey)\n requestBody = safeParse(decryptedMessage)\n }\n }\n\n const processResponse = async (response) => {\n if (!response || disableRecryption || !isVerifiable || !verificationKeys?.derivedSecretKey) {\n return response\n }\n\n return webCrypto.encryptMessage(JSON.stringify(response), verificationKeys.derivedSecretKey)\n }\n\n return { rawBody, requestBody, processResponse }\n } catch (error) {\n console.error(`Error handling request verification for '${uri}'`, { error, isVerifiable, disableRecryption })\n throw error\n }\n }\n}\n"],"names":[],"mappings":";;;;;;AAAY,QAAC,eAAe,GAAG,aAAY;AAC3C;AACY,QAAC,gBAAgB,GAAG;EAChC,EAAE,IAAI,EAAE,eAAe;EACvB,EAAE,KAAK,EAAE,gBAAgB;EACzB,EAAE,OAAO,EAAE,kBAAkB;EAC7B,EAAC;AACD;AACY,QAAC,kBAAkB,GAAG;EAClC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,6BAA6B,EAAE,+BAA+B;EAChE,EAAE,2CAA2C,EAAE,6CAA6C;EAC5F,EAAE,wBAAwB,EAAE,0BAA0B;EACtD,EAAE,yBAAyB,EAAE,2BAA2B;EACxD,EAAE,wBAAwB,EAAE,0BAA0B;EACtD,EAAE,+BAA+B,EAAE,iCAAiC;EACpE,EAAE,sBAAsB,EAAE,wBAAwB;EAClD,EAAE,YAAY,EAAE,cAAc;EAC9B,EAAE,YAAY,EAAE,cAAc;EAC9B,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,kBAAkB,EAAE,oBAAoB;EAC1C,EAAE,kBAAkB,EAAE,oBAAoB;EAC1C,EAAE,kBAAkB,EAAE,oBAAoB;EAC1C,EAAE,uBAAuB,EAAE,yBAAyB;EACpD,EAAE,0BAA0B,EAAE,4BAA4B;EAC1D,EAAE,0BAA0B,EAAE,4BAA4B;EAC1D,EAAE,8BAA8B,EAAE,gCAAgC;EAClE,EAAE,8BAA8B,EAAE,gCAAgC;EAClE,EAAE,8BAA8B,EAAE,gCAAgC;EAClE,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,uBAAuB,EAAE,yBAAyB;EACpD,EAAE,uBAAuB,EAAE,yBAAyB;EACpD,EAAE,uBAAuB,EAAE,yBAAyB;EACpD,EAAE,wBAAwB,EAAE,0BAA0B;EACtD,EAAE,wBAAwB,EAAE,0BAA0B;EACtD,EAAE,wBAAwB,EAAE,0BAA0B;EACtD,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,iBAAiB,EAAE,mBAAmB;EACxC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,kCAAkC,EAAE,oCAAoC;EAC1E,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,sBAAsB,EAAE,wBAAwB;EAClD,EAAE,sBAAsB,EAAE,wBAAwB;EAClD,EAAE,sBAAsB,EAAE,wBAAwB;EAClD,EAAE,+BAA+B,EAAE,iCAAiC;EACpE,EAAE,+BAA+B,EAAE,iCAAiC;EACpE,EAAE,+BAA+B,EAAE,iCAAiC;EACpE,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,mBAAmB,EAAE,qBAAqB;EAC5C,EAAE,mBAAmB,EAAE,qBAAqB;EAC5C,EAAE,mBAAmB,EAAE,qBAAqB;EAC5C,EAAE,mBAAmB,EAAE,qBAAqB;EAC5C,EAAE,mBAAmB,EAAE,qBAAqB;EAC5C,EAAE,yBAAyB,EAAE,2BAA2B;EACxD,EAAE,yBAAyB,EAAE,2BAA2B;EACxD,EAAE,gDAAgD,EAAE,kDAAkD;EACtG,EAAE,gDAAgD,EAAE,kDAAkD;EACtG,EAAE,iDAAiD,EAAE,mDAAmD;EACxG,EAAE,4BAA4B,EAAE,8BAA8B;EAC9D,EAAE,+CAA+C,EAAE,iDAAiD;EACpG,EAAE,+CAA+C,EAAE,iDAAiD;EACpG,EAAE,gDAAgD,EAAE,kDAAkD;EACtG,EAAE,yDAAyD,EAAE,2DAA2D;EACxH,EAAE,gCAAgC,EAAE,kCAAkC;EACtE,EAAE,yDAAyD,EAAE,2DAA2D;EACxH,EAAE,iDAAiD,EAAE,mDAAmD;EACxG,EAAE,wBAAwB,EAAE,0BAA0B;EACtD,EAAE,yCAAyC,EAAE,2CAA2C;EACxF,EAAE,iCAAiC,EAAE,mCAAmC;EACxE,EAAE,8BAA8B,EAAE,gCAAgC;EAClE,EAAE,oDAAoD,EAAE,sDAAsD;EAC9G,EAAE,sBAAsB,EAAE,wBAAwB;EAClD,EAAE,sBAAsB,EAAE,wBAAwB;EAClD,EAAE,sBAAsB,EAAE,wBAAwB;EAClD,EAAE,wBAAwB,EAAE,0BAA0B;EACtD,EAAE,2BAA2B,EAAE,6BAA6B;EAC5D,EAAE,uBAAuB,EAAE,yBAAyB;EACpD,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,kBAAkB,EAAE,oBAAoB;EAC1C,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,oBAAoB,EAAE,sBAAsB;EAC9C,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,aAAa,EAAE,eAAe;EAChC,EAAE,aAAa,EAAE,eAAe;EAChC,EAAE,aAAa,EAAE,eAAe;EAChC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,WAAW,EAAE,aAAa;EAC5B,EAAE,0BAA0B,EAAE,4BAA4B;EAC1D,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,yBAAyB,EAAE,2BAA2B;EACxD,EAAE,qBAAqB,EAAE,uBAAuB;EAChD,EAAE,oBAAoB,EAAE,sBAAsB;EAC9C,EAAE,oBAAoB,EAAE,sBAAsB;EAC9C,EAAE,oBAAoB,EAAE,sBAAsB;EAC9C,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,oBAAoB,EAAE,sBAAsB;EAC9C,EAAE,uBAAuB,EAAE,yBAAyB;EACpD,EAAE,uBAAuB,EAAE,yBAAyB;EACpD,EAAE,2BAA2B,EAAE,6BAA6B;EAC5D,EAAE,2BAA2B,EAAE,6BAA6B;EAC5D,EAAE,2BAA2B,EAAE,6BAA6B;EAC5D,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,aAAa,EAAE,eAAe;EAChC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,qCAAqC,EAAE,uCAAuC;EAChF,EAAE,kCAAkC,EAAE,oCAAoC;EAC1E,EAAE,8BAA8B,EAAE,gCAAgC;EAClE,EAAE,iCAAiC,EAAE,mCAAmC;EACxE,EAAE,iCAAiC,EAAE,mCAAmC;EACxE,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,eAAe,EAAE,iBAAiB;EACpC,EAAE,0BAA0B,EAAE,4BAA4B;EAC1D,EAAE,0BAA0B,EAAE,4BAA4B;EAC1D,EAAE,0BAA0B,EAAE,4BAA4B;EAC1D,EAAE,yBAAyB,EAAE,2BAA2B;EACxD,EAAE,yBAAyB,EAAE,2BAA2B;EACxD,EAAE,WAAW,EAAE,aAAa;EAC5B,EAAE,wCAAwC,EAAE,0CAA0C;EACtF,EAAE,qCAAqC,EAAE,uCAAuC;EAChF,EAAE,qCAAqC,EAAE,uCAAuC;EAChF,EAAE,uCAAuC,EAAE,yCAAyC;EACpF,EAAE,uCAAuC,EAAE,yCAAyC;EACpF,EAAE,uCAAuC,EAAE,yCAAyC;EACpF,EAAE,6BAA6B,EAAE,+BAA+B;EAChE,EAAE,6BAA6B,EAAE,+BAA+B;EAChE,EAAE,mBAAmB,EAAE,qBAAqB;EAC5C,EAAE,mBAAmB,EAAE,qBAAqB;EAC5C,EAAE,0BAA0B,EAAE,4BAA4B;EAC1D,EAAE,aAAa,EAAE,eAAe;EAChC,EAAE,aAAa,EAAE,eAAe;EAChC,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,aAAa,EAAE,eAAe;EAChC,EAAE,iBAAiB,EAAE,mBAAmB;EACxC,EAAE,qBAAqB,EAAE,uBAAuB;EAChD;EACA,EAAE,cAAc,EAAE,gBAAgB;EAClC,EAAE,4BAA4B,EAAE,8BAA8B;EAC9D,EAAE,4BAA4B,EAAE,8BAA8B;EAC9D,EAAE,wCAAwC,EAAE,0CAA0C;EACtF,EAAE,8BAA8B,EAAE,gCAAgC;EAClE,EAAE,mCAAmC,EAAE,qCAAqC;EAC5E,EAAE,mCAAmC,EAAE,qCAAqC;EAC5E,EAAE,mCAAmC,EAAE,qCAAqC;EAC5E,EAAE,4BAA4B,EAAE,8BAA8B;EAC9D,EAAE,0CAA0C,EAAE,4CAA4C;EAC1F,EAAE,oBAAoB,EAAE,sBAAsB;EAC9C,EAAE,uBAAuB,EAAE,yBAAyB;EACpD,EAAE,8BAA8B,EAAE,gCAAgC;EAClE,EAAE,oBAAoB,EAAE,sBAAsB;EAC9C,EAAE,mBAAmB,EAAE,qBAAqB;EAC5C,EAAE,sBAAsB,EAAE,wBAAwB;EAClD,EAAE,sBAAsB,EAAE,wBAAwB;EAClD,EAAE,+BAA+B,EAAE,iCAAiC;EACpE,EAAE,uBAAuB,EAAE,yBAAyB;EACpD,EAAE,sBAAsB,EAAE,wBAAwB;EAClD,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAE,gBAAgB,EAAE,kBAAkB;EACtC,EAAC;AACD;EACA;AACY,QAAC,iBAAiB,GAAG,CAAC,KAAK;EACvC,EAAE,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;EACjE,EAAC;AACD;AACY,QAAC,eAAe,GAAG;EAC/B,EAAE,gBAAgB,EAAE,yBAAyB;EAC7C,EAAE,aAAa,EAAE,sBAAsB;EACvC,EAAE,aAAa,EAAE,iBAAiB;EAClC,EAAE,WAAW,EAAE,oBAAoB;EACnC,EAAE,YAAY,EAAE,qBAAqB;EACrC,EAAE,oBAAoB,EAAE,4BAA4B;EACpD,EAAE,qBAAqB,EAAE,6BAA6B;EACtD,EAAE,2BAA2B,EAAE,kCAAkC;EACjE,EAAE,4BAA4B,EAAE,mCAAmC;EACnE,EAAE,CAAC,kBAAkB,CAAC,eAAe,GAAG,wBAAwB;EAChE,EAAE,CAAC,kBAAkB,CAAC,6BAA6B,GAAG,2BAA2B;EACjF,EAAE,CAAC,kBAAkB,CAAC,wBAAwB,GAAG,gCAAgC;EACjF,EAAC;AACD;AACY,QAAC,iBAAiB,GAAG;EACjC,EAAE,QAAQ,EAAE,UAAU;EACtB,EAAE,OAAO,EAAE,eAAe;EAC1B,EAAE,MAAM,EAAE,QAAQ;EAClB,EAAC;AACD;AACY,QAAC,mBAAmB,GAAG;EACnC,EAAE,QAAQ,EAAE,uBAAuB;EACnC,EAAE,YAAY,EAAE,kBAAkB;EAClC,EAAC;AACD;AACY,QAAC,UAAU,GAAG;EAC1B,EAAE,OAAO,EAAE,SAAS;EACpB,EAAE,MAAM,EAAE,QAAQ;EAClB;;EC7NO,MAAM,iBAAiB,SAAS,KAAK,CAAC;EAC7C,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE;EAC9B,IAAI,KAAK,CAAC,OAAO,EAAC;EAClB,IAAI,MAAM,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,GAAE;EAC/C,IAAI,IAAI,CAAC,IAAI,GAAG,KAAI;EACpB,IAAI,IAAI,CAAC,IAAI,GAAG,KAAI;EACpB,IAAI,IAAI,CAAC,IAAI,GAAG,oBAAmB;EACnC,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAC;EAC5D,GAAG;EACH;;ECTA;EACA;AACA;EACA,MAAM,iBAAiB,GAAG,OAAO,QAAQ,KAAK;EAC9C,EAAE,IAAI,QAAQ,EAAE,OAAO,EAAE;EACzB,IAAI,OAAO,QAAQ,CAAC,OAAO;EAC3B,GAAG;AACH;EACA,EAAE,MAAM,MAAM,GAAG,GAAE;EACnB,EAAE,MAAM,WAAW,GAAG,QAAQ,EAAE,IAAI,IAAI,GAAE;AAC1C;EACA,EAAE,WAAW,MAAM,KAAK,IAAI,WAAW,EAAE;EACzC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,EAAC;EACvE,GAAG;AACH;EACA,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;EAC9B,EAAC;AACD;EACA;EACA;AACY,QAAC,aAAa,GAAG,OAAO,GAAG;EACvC,EAAE,iBAAiB,CAAC,GAAG,CAAC;EACxB;EACA,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;EAC5C,KAAK,KAAK,CAAC,CAAC,KAAK,KAAK;EACtB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,4BAA4B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAC;EACtE,MAAM,MAAM,KAAK;EACjB,GAAG,CAAC;EACJ;;EC5BA;AAiGA;EACO,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,IAAI;EAClC;EACA,EAAE,CAAC,KAAK,IAAI,SAAS,MAAM,OAAO,KAAK,KAAK,IAAI,CAAC;EACjD,EAAC;AA2BD;EACO,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK;EACnC,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;EAC/B;EACA,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,GAAE;EACxB,GAAG;AACH;EACA,EAAE,OAAO,KAAK;EACd,EAAC;AACD;EACO,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK;EAC1C,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;EAC/B,IAAI,IAAI,IAAI,EAAE;EACd;EACA,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAC;EAC7B,KAAK;AACL;EACA,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;EACjF;EACA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC;EAC/B,KAAK;EACL,GAAG;AACH;EACA;EACA,EAAE,OAAO,KAAK;EACd,EAAC;AACD;EACO,MAAM,YAAY,GAAG,CAAC,MAAM;EACnC,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE;EAC3B,EAAC;AA0DD;EACO,MAAM,WAAW,GAAG,CAAC,KAAK,GAAG,EAAE;EACtC;EACA,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC;EACtD,EAAC;AAmBD;EACO,MAAM,YAAY,GAAG,CAAC,MAAM;EACnC,EAAE,MAAM,IAAI,EAAE;EACd,EAAC;AACD;EACA;EACO,MAAM,WAAW,GAAG,CAAC,MAAM;EAClC,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM;EACxC,EAAC;AAwDD;EACO,MAAM,cAAc,GAAG,CAAC,UAAU,KAAK;EAC9C,EAAE,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAC;EACzC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;EACzE,EAAC;AACD;EACO,MAAM,WAAW,GAAG,CAAC,UAAU;EACtC,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;EAC7B,EAAC;AAUD;EACO,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK;EACnD,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;EAC5B,IAAI,OAAO,CAAC;EACZ,GAAG;AACH;EACA,EAAE,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;EAC5B,IAAI,OAAO,CAAC,CAAC;EACb,GAAG;AACH;EACA,EAAE,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;EACrD,EAAC;AACD;EACO,MAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;EACrD,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC;EACjC,EAAC;AACD;EACO,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE;EAC3D,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;EACtC,KAAK,IAAI,CAAC,gBAAgB,CAAC;EAC3B,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;EAC7C,KAAK,IAAI,CAAC,SAAS,CAAC;EACpB,EAAC;AAuDD;EACO,MAAM,SAAS,GAAG,CAAC,MAAM;EAChC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;EACpC,EAAC;AA0FD;EACO,MAAM,kBAAkB,GAAG,CAAC,MAAM;EACzC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACzC,EAAC;AAcD;EACO,MAAM,kBAAkB,GAAG,CAAC,MAAM;EACzC,EAAE,CAAC,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;EAClC,EAAC;AAiED;EACO,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK;EACxC,EAAE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAC;EACpC,EAAE,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;EAC/D;;EC5jBA,MAAM,aAAa,GAAG,UAAS;EAC/B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAC;AAMvC;EACO,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK;EACnD,EAAE,MAAM,MAAM,GAAG,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,KAAK,EAAC;AACnD;EACA,EAAE,OAAO,SAAS,CAAC,MAAM,CAAC;EAC1B,EAAC;AAsBD;EACA,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK;EAC9B,EAAE,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE;EACxB,IAAI,OAAO,SAAS;EACpB,GAAG;AACH;EACA,EAAE,MAAM,aAAa,GAAG,oBAAmB;AAC3C;EACA,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;EAChC,IAAI,OAAO,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EACxE,GAAG;AACH;EACA,EAAE,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC;EACrB,EAAC;AACD;EACO,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAK;EAC1C,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAC;EACrC,EAAE,IAAI,CAAC,SAAS,EAAE;EAClB,IAAI,OAAO,SAAS;EACpB,GAAG;AACH;EACA,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC;AACrE;EACA,EAAE,OAAO;EACT,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,aAAa,KAAK;EACjD,MAAM,MAAM,EAAE,SAAS,CAAC,MAAM;EAC9B,KAAK;EACL,IAAI,QAAQ,EAAE,SAAS,CAAC,QAAQ;EAChC,IAAI,MAAM,EAAE,SAAS,CAAC,MAAM;EAC5B,GAAG;EACH;;ECvEA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACxP;EACA,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;EAIxB,IAAI,MAAM,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;EAExC,IAAI,MAAM,GAAG,OAAO,GAAG,KAAK,WAAW,GAAG,GAAG,GAAG,CAAC;;ECJjD,MAAM,SAAS,CAAC;EAChB,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;EACtD,IAAI,IAAI,CAAC,OAAO,GAAG,QAAO;EAC1B,IAAI,IAAI,CAAC,KAAK,GAAG,MAAK;EACtB,GAAG;AACH;EACA,EAAE,IAAI,MAAM,GAAG;EACf,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM;EAC/B,GAAG;AACH;EACA,EAAE,MAAM,YAAY,GAAG;EACvB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;EACvB,MAAM,IAAI;EACV,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,OAAO,sBAAsB,CAAC,EAAE,QAAO;EACrE,OAAO,CAAC,OAAO,OAAO,EAAE;EACxB,QAAQ,OAAO,CAAC,IAAI,CAAC,gEAAgE,EAAC;EACtF,QAAQ,IAAI;EACZ,UAAU,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,OAAO,QAAQ,CAAC,EAAE,QAAO;EACzD,SAAS,CAAC,OAAO,KAAK,EAAE;EACxB,UAAU,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAC;EACvD,UAAU,MAAM,KAAK;EACrB,SAAS;EACT,OAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;EAC/B,MAAM,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC;EACvD,KAAK;AACL;EACA,IAAI,OAAO,IAAI,CAAC,OAAO;EACvB,GAAG;AACH;EACA,EAAE,MAAM,cAAc,GAAG;EACzB,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,EAAE,WAAW,KAAK,UAAU,EAAE;EACrE,MAAM,OAAO,MAAM,CAAC,WAAW;EAC/B,KAAK;AACL;EACA,IAAI,IAAI;EACR,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,OAAO,MAAM,CAAC,CAAC,EAAE,YAAW;EAC5E,MAAM,OAAO,WAAW;EACxB,KAAK,CAAC,OAAO,KAAK,EAAE;EACpB,MAAM,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,EAAC;EAChE,MAAM,MAAM,KAAK;EACjB,KAAK;EACL,GAAG;AACH;EACA,EAAE,MAAM,cAAc,GAAG;EACzB,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,EAAE,WAAW,KAAK,UAAU,EAAE;EACrE,MAAM,OAAO,MAAM,CAAC,WAAW;EAC/B,KAAK;AACL;EACA,IAAI,IAAI;EACR,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,OAAO,MAAM,CAAC,CAAC,EAAE,YAAW;EAC5E,MAAM,OAAO,WAAW;EACxB,KAAK,CAAC,OAAO,KAAK,EAAE;EACpB,MAAM,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,EAAC;EAChE,MAAM,MAAM,KAAK;EACjB,KAAK;EACL,GAAG;AACH;EACA,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE;EAClC,IAAI;EACJ,MAAM,CAAC,MAAM,IAAI,SAAS;EAC1B,OAAO,MAAM,IAAI,SAAS,CAAC;EAC3B,OAAO,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;EACvC,MAAM;EACN,MAAM,OAAO,KAAK;EAClB,KAAK;AACL;EACA,IAAI,IAAI,MAAM,GAAG,EAAC;EAClB;EACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC5C;EACA,MAAM,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAC;EACrC,KAAK;AACL;EACA,IAAI,QAAQ,MAAM,KAAK,CAAC,CAAC;EACzB,GAAG;AACH;EACA,EAAE,WAAW,CAAC,WAAW,EAAE;EAC3B,IAAI;EACJ,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI;EACjD,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACxD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;EACjB,KAAK;EACL,GAAG;AACH;EACA,EAAE,WAAW,CAAC,QAAQ,EAAE;EACxB,IAAI;EACJ,MAAM,WAAW;EACjB,QAAQ,YAAY,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;EAC/C,OAAO;EACP,SAAS,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;EAC/D,SAAS,IAAI,CAAC,EAAE,CAAC;EACjB,KAAK;EACL,GAAG;AACH;EACA,EAAE,MAAM,mBAAmB,CAAC,WAAW,EAAE;EACzC,IAAI,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,WAAW,EAAC;EAClD,IAAI,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,GAAE;EAC/C,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;EAC3C,GAAG;AACH;EACA,EAAE,kBAAkB,CAAC,KAAK,EAAE;EAC5B,IAAI;EACJ,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS;EACpC,UAAU,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;EACjC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM;EACtC,KAAK;EACL,GAAG;AACH;EACA,EAAE,iBAAiB,CAAC,kBAAkB,EAAE;EACxC,IAAI;EACJ,MAAM,CAAC,kBAAkB,YAAY,WAAW;EAChD,UAAU,kBAAkB;EAC5B,UAAU,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;EACrD,KAAK;EACL,GAAG;AACH;EACA,EAAE,MAAM,eAAe,GAAG;EAC1B,IAAI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,GAAE;EAC5C,IAAI,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW;EACnD,MAAM;EACN,QAAQ,IAAI,EAAE,MAAM;EACpB,QAAQ,UAAU,EAAE,OAAO;EAC3B,OAAO;EACP,MAAM,IAAI;EACV,MAAM,CAAC,WAAW,CAAC;EACnB,MAAK;AACL;EACA,IAAI,OAAO,OAAO;EAClB,GAAG;AACH;EACA,EAAE,gBAAgB,CAAC,OAAO,EAAE;EAC5B,IAAI,QAAQ,OAAO;EACnB,MAAM,KAAK,SAAS,CAAC;EACrB,MAAM,KAAK,YAAY,EAAE;EACzB,QAAQ,OAAO,CAAC,WAAW,CAAC;EAC5B,OAAO;AACP;EACA,MAAM,KAAK,QAAQ,CAAC;EACpB,MAAM,KAAK,WAAW,CAAC;EACvB,MAAM,KAAK,cAAc,EAAE;EAC3B,QAAQ,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;EACrC,OAAO;AACP;EACA,MAAM,SAAS;EACf,QAAQ,OAAO,EAAE;EACjB,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA,EAAE,eAAe,CAAC,OAAO,EAAE;EAC3B,IAAI,QAAQ,OAAO;EACnB,MAAM,KAAK,YAAY,CAAC;EACxB,MAAM,KAAK,SAAS,CAAC;EACrB,MAAM,KAAK,QAAQ,CAAC;EACpB,MAAM,KAAK,WAAW,CAAC;EACvB,MAAM,KAAK,cAAc,EAAE;EAC3B,QAAQ,OAAO;EACf,UAAU,IAAI,EAAE,SAAS;EACzB,SAAS;EACT,OAAO;AACP;EACA,MAAM,SAAS;EACf,QAAQ,OAAO;EACf,UAAU,IAAI,EAAE,MAAM;EACtB,UAAU,UAAU,EAAE,OAAO;EAC7B,SAAS;EACT,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA,EAAE,MAAM,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE;EAC1C,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE;EACjC,MAAM,OAAO,SAAS;EACtB,KAAK;AACL;EACA,IAAI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,GAAE;EAC5C,IAAI,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,GAAE;AAC/C;EACA,IAAI,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI;EAC9C,MAAM,MAAM;EACZ,MAAM,UAAU;EAChB,MAAM,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;EACnC,MAAK;AACL;EACA,IAAI,OAAO,IAAI,CAAC,WAAW;EAC3B,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;EACzC,KAAK;EACL,GAAG;AACH;EACA,EAAE,MAAM,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE;EACxD,IAAI,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,EAAC;AACvE;EACA,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC;EAC/D,GAAG;AACH;EACA,EAAE,MAAM,cAAc,CAAC,GAAG,EAAE;EAC5B,IAAI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,GAAE;AAC5C;EACA,IAAI,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAC;EACjE,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;EACxD,GAAG;AACH;EACA,EAAE,MAAM,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE;EACjD,IAAI,IAAI,CAAC,WAAW,EAAE;EACtB,MAAM,OAAO,SAAS;EACtB,KAAK;EACL,IAAI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,GAAE;AAC5C;EACA,IAAI,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,EAAC;EACzE,IAAI,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE;EAClC,MAAM,OAAO,SAAS;EACtB,KAAK;AACL;EACA,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS;EAClC,MAAM,KAAK;EACX,MAAM,WAAW;EACjB,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;EACnC,MAAM,IAAI;EACV,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;EACpC,KAAK;EACL,GAAG;AACH;EACA,EAAE,MAAM,kBAAkB,CAAC,OAAO,EAAE;EACpC,IAAI,MAAM,YAAY,GAAG,GAAE;AAC3B;EACA;EACA,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;EAC1D;EACA,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAC;EAC5D,KAAK;AACL;EACA,IAAI,OAAO,YAAY;EACvB,GAAG;AACH;EACA,EAAE,MAAM,sBAAsB,CAAC,OAAO,EAAE;EACxC,IAAI,MAAM,YAAY,GAAG,GAAE;AAC3B;EACA;EACA,IAAI,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;EAC1D;EACA,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAC;EACzE,KAAK;AACL;EACA,IAAI,OAAO,YAAY;EACvB,GAAG;AACH;EACA,EAAE,MAAM,eAAe,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;EACnD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE;EACnC,MAAM,OAAO,SAAS;EACtB,KAAK;AACL;EACA,IAAI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,GAAE;EAC5C,IAAI,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS;EACpD,MAAM;EACN,QAAQ,IAAI,EAAE,MAAM;EACpB,QAAQ,MAAM,EAAE,SAAS;EACzB,OAAO;EACP,MAAM,UAAU;EAChB,MAAM;EACN,QAAQ,IAAI,EAAE,SAAS;EACvB,QAAQ,MAAM,EAAE,GAAG;EACnB,OAAO;EACP,MAAM,IAAI;EACV,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;EAC5B,MAAK;EACL,IAAI,OAAO,UAAU;EACrB,GAAG;AACH;EACA,EAAE,MAAM,aAAa,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;EACjD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE;EACnC,MAAM,OAAO,SAAS;EACtB,KAAK;AACL;EACA,IAAI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,GAAE;EAC5C,IAAI,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS;EACpD,MAAM;EACN,QAAQ,IAAI,EAAE,MAAM;EACpB,QAAQ,MAAM,EAAE,SAAS;EACzB,OAAO;EACP,MAAM,UAAU;EAChB,MAAM;EACN,QAAQ,IAAI,EAAE,MAAM;EACpB,QAAQ,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;EACjC,QAAQ,MAAM,EAAE,GAAG;EACnB,OAAO;EACP,MAAM,IAAI;EACV,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;EACxB,MAAK;EACL,IAAI,OAAO,UAAU;EACrB,GAAG;AACH;EACA,EAAE,MAAM,mBAAmB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;EACvD,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE;EACnC,MAAM,OAAO,EAAE;EACf,KAAK;AACL;EACA,IAAI,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAC;EACtF,IAAI,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAC;EAClE,IAAI,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,EAAC;AACtE;EACA,IAAI,OAAO;EACX,MAAM,gBAAgB;EACtB,MAAM,cAAc;EACpB,KAAK;EACL,GAAG;AACH;EACA,EAAE,MAAM,cAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE;EACrD,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE;EAC1C,MAAM,OAAO,SAAS;EACtB,KAAK;AACL;EACA,IAAI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,GAAE;EAC5C,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAC;EACzD,IAAI,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,GAAE;EAC/C,IAAI,MAAM,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAC;EACjE,IAAI,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO;EAClD,MAAM;EACN,QAAQ,IAAI,EAAE,SAAS;EACvB,QAAQ,EAAE;EACV,OAAO;EACP,MAAM,UAAU;EAChB,MAAM,cAAc;EACpB,MAAK;AACL;EACA,IAAI,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC;EAC5C,MAAM,GAAG,EAAE;EACX,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC;EACnC,KAAK,EAAC;EACN,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;EACvC,GAAG;AACH;EACA,EAAE,MAAM,cAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE;EACrD,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE;EAC1C,MAAM,OAAO,SAAS;EACtB,KAAK;AACL;EACA,IAAI,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,GAAE;EAC5C;EACA,IAAI,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAC;EACzE,IAAI,MAAM,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAC;EAChD,IAAI,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,EAAE,EAAC;AACrD;EACA,IAAI,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO;EAC5D,MAAM;EACN,QAAQ,IAAI,EAAE,SAAS;EACvB,QAAQ,EAAE;EACV,OAAO;EACP,MAAM,UAAU;EAChB,MAAM,UAAU;EAChB,MAAK;AACL;EACA,IAAI,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,GAAE;EAC/C,IAAI,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAC;EACvE,IAAI,OAAO,gBAAgB;EAC3B,GAAG;EACH;;AC1VY,QAAC,sBAAsB,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,GAAG,EAAE,KAAK;EAC/E,EAAE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAC;AACtD;EACA,EAAE,OAAO,OAAO,GAAG,EAAE,MAAM,KAAK;EAChC,IAAI,MAAM;EACV,MAAM,cAAc,EAAE,MAAM;EAC5B,MAAM,iBAAiB,EAAE,kBAAkB;EAC3C,MAAM,2BAA2B,EAAE,mBAAmB;EACtD,MAAM,iBAAiB,EAAE,UAAU;EACnC,KAAK,GAAG,GAAG,CAAC,OAAO,IAAI,GAAE;AACzB;EACA,IAAI,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAI,GAAE;EAC7E,IAAI,MAAM,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC,IAAG;EAC/B,IAAI,MAAM,iBAAiB,GAAG,MAAM,CAAC,kBAAkB,EAAC;AACxD;EACA,IAAI,IAAI,aAAY;EACpB,IAAI,IAAI;EACR,MAAM,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAC;EAC/E,MAAM,YAAY,GAAG,MAAM;EAC3B,QAAQ,MAAM;EACd,QAAQ,kBAAkB;EAC1B,QAAQ,QAAQ,EAAE,MAAM;EACxB,QAAQ,mBAAmB;EAC3B,QAAQ,aAAa;EACrB,SAAS,YAAY,KAAK,aAAa,CAAC;EACxC,QAAO;AACP;EACA,MAAM,IAAI,iBAAgB;EAC1B,MAAM,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,GAAG,EAAC;AAC9C;EACA;EACA,MAAM,IAAI,WAAW,GAAG,SAAS,CAAC,OAAO,EAAC;AAC1C;EACA;EACA,MAAM,IAAI,YAAY,EAAE;EACxB,QAAQ;EACR,UAAU,CAAC,MAAM;EACjB,UAAU,CAAC,kBAAkB;EAC7B,UAAU,CAAC,mBAAmB;EAC9B,UAAU,CAAC,aAAa;EACxB,UAAU,CAAC,QAAQ,EAAE,MAAM;EAC3B,WAAW,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;EAChD,WAAW,YAAY,KAAK,aAAa,CAAC;EAC1C,UAAU;EACV,UAAU,MAAM,IAAI,iBAAiB,CAAC,kCAAkC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;EACxF,SAAS;AACT;EACA,QAAQ,gBAAgB,GAAG,MAAM,SAAS,CAAC,mBAAmB,CAAC;EAC/D,UAAU,SAAS,EAAE,kBAAkB;EACvC,UAAU,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;EAChD,SAAS,EAAC;AACV;EACA,QAAQ,IAAI,CAAC,gBAAgB,EAAE;EAC/B,UAAU,MAAM,IAAI,iBAAiB,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;EACvF,SAAS;AACT;EACA,QAAQ,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;EACzD,UAAU,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC;EACvD,UAAU,SAAS,EAAE,mBAAmB;EACxC,UAAU,IAAI,EAAE,WAAW;EAC3B,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC;EACnC,SAAS,EAAC;AACV;EACA,QAAQ,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU;EAClD,UAAU,mBAAmB;EAC7B,UAAU,gBAAgB,CAAC,cAAc;EACzC,UAAU,aAAa;EACvB,UAAS;AACT;EACA,QAAQ,IAAI,CAAC,OAAO,EAAE;EACtB,UAAU,MAAM,IAAI,iBAAiB,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;EACvF,SAAS;AACT;EACA,QAAQ,IAAI,CAAC,iBAAiB,IAAI,WAAW,EAAE;EAC/C,UAAU,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,gBAAgB,EAAC;EACjH,UAAU,WAAW,GAAG,SAAS,CAAC,gBAAgB,EAAC;EACnD,SAAS;EACT,OAAO;AACP;EACA,MAAM,MAAM,eAAe,GAAG,OAAO,QAAQ,KAAK;EAClD,QAAQ,IAAI,CAAC,QAAQ,IAAI,iBAAiB,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,gBAAgB,EAAE;EACpG,UAAU,OAAO,QAAQ;EACzB,SAAS;AACT;EACA,QAAQ,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;EACpG,QAAO;AACP;EACA,MAAM,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;EACtD,KAAK,CAAC,OAAO,KAAK,EAAE;EACpB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAC;EACnH,MAAM,MAAM,KAAK;EACjB,KAAK;EACL,GAAG;EACH;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"rawbody.d.ts","sourceRoot":"","sources":["../../../src/verification/utils/rawbody.js"],"names":[],"mappings":"AAqBO,sDAQN"}
1
+ {"version":3,"file":"rawbody.d.ts","sourceRoot":"","sources":["../../../src/verification/utils/rawbody.js"],"names":[],"mappings":"AAoBO,sDAQN"}
@@ -23,7 +23,6 @@ const getChunkedRawBody = (readable) => __awaiter(void 0, void 0, void 0, functi
23
23
  var e_1, _a;
24
24
  var _b;
25
25
  if (readable === null || readable === void 0 ? void 0 : readable.rawBody) {
26
- console.info(`>>> > getChunkedRawBody > readable?.rawBody:`, { rawBody: readable === null || readable === void 0 ? void 0 : readable.rawBody, type: typeof (readable === null || readable === void 0 ? void 0 : readable.rawBody) });
27
26
  return readable.rawBody;
28
27
  }
29
28
  const chunks = [];
@@ -1 +1 @@
1
- {"version":3,"file":"rawbody.js","sourceRoot":"","sources":["../../../src/verification/utils/rawbody.js"],"names":[],"mappings":";AAAA,oCAAoC;AACpC,yCAAyC;;;;;;;;;;;;;;;;;;;AAEzC,MAAM,iBAAiB,GAAG,CAAO,QAAQ,EAAE,EAAE;;;IAC3C,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE;QACrB,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAE,OAAO,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAA,EAAE,CAAC,CAAA;QAC5H,OAAO,QAAQ,CAAC,OAAO,CAAA;KACxB;IAED,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,WAAW,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,EAAE,CAAA;;QAExC,KAA0B,IAAA,gBAAA,cAAA,WAAW,CAAA,iBAAA;YAA1B,MAAM,KAAK,wBAAA,CAAA;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;SACpE;;;;;;;;;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC,CAAA,CAAA;AAED,yEAAyE;AACzE,gGAAgG;AACzF,MAAM,aAAa,GAAG,CAAO,GAAG,EAAE,EAAE;IAAC,OAAA,CAC1C,iBAAiB,CAAC,GAAG,CAAC;QACtB,kBAAkB;SACf,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,GAAG,EAAE,KAAK,CAAC,CAAA;QAChE,MAAM,KAAK,CAAA;IACf,CAAC,CAAC,CACH,CAAA;EAAA,CAAA;AARY,QAAA,aAAa,iBAQzB"}
1
+ {"version":3,"file":"rawbody.js","sourceRoot":"","sources":["../../../src/verification/utils/rawbody.js"],"names":[],"mappings":";AAAA,oCAAoC;AACpC,yCAAyC;;;;;;;;;;;;;;;;;;;AAEzC,MAAM,iBAAiB,GAAG,CAAO,QAAQ,EAAE,EAAE;;;IAC3C,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE;QACrB,OAAO,QAAQ,CAAC,OAAO,CAAA;KACxB;IAED,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,WAAW,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,EAAE,CAAA;;QAExC,KAA0B,IAAA,gBAAA,cAAA,WAAW,CAAA,iBAAA;YAA1B,MAAM,KAAK,wBAAA,CAAA;YACpB,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;SACpE;;;;;;;;;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC,CAAA,CAAA;AAED,yEAAyE;AACzE,gGAAgG;AACzF,MAAM,aAAa,GAAG,CAAO,GAAG,EAAE,EAAE;IAAC,OAAA,CAC1C,iBAAiB,CAAC,GAAG,CAAC;QACtB,kBAAkB;SACf,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,GAAG,EAAE,KAAK,CAAC,CAAA;QAChE,MAAM,KAAK,CAAA;IACf,CAAC,CAAC,CACH,CAAA;EAAA,CAAA;AARY,QAAA,aAAa,iBAQzB"}
@@ -1,4 +1,4 @@
1
- export function getVerificationHelpers({ keyPairs, crypto: _cryptoInstance }?: {
1
+ export function getVerificationHelpers({ keyPairs, crypto: _crypto }?: {
2
2
  keyPairs: any;
3
3
  crypto: any;
4
4
  }): (req: any, params: any) => Promise<{
@@ -17,8 +17,8 @@ const display_1 = require("../shared/display");
17
17
  const request_1 = require("../shared/request");
18
18
  const WebCrypto_1 = __importDefault(require("../shared/WebCrypto"));
19
19
  const utils_1 = require("./utils");
20
- const getVerificationHelpers = ({ keyPairs, crypto: _cryptoInstance } = {}) => {
21
- const webCrypto = new WebCrypto_1.default(_cryptoInstance);
20
+ const getVerificationHelpers = ({ keyPairs, crypto: _crypto } = {}) => {
21
+ const webCrypto = new WebCrypto_1.default({ crypto: _crypto });
22
22
  return (req, params) => __awaiter(void 0, void 0, void 0, function* () {
23
23
  var _a;
24
24
  const { 'x-public-key': apiKey, 'x-ephemeral-key': ephemeralPublicKey, 'x-authorization-timestamp': customAuthTimestamp, 'x-authorization': customAuth, } = (_a = req.headers) !== null && _a !== void 0 ? _a : {};
@@ -1 +1 @@
1
- {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/verification/verification.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAK0B;AAC1B,+CAG0B;AAC1B,oEAA2C;AAC3C,mCAGgB;AAET,MAAM,sBAAsB,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAG,GAAG,EAAE,EAAE,EAAE;IACpF,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC,eAAe,CAAC,CAAA;IAEhD,OAAO,CAAO,GAAG,EAAE,MAAM,EAAE,EAAE;;QAC3B,MAAM,EACJ,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,kBAAkB,EACrC,2BAA2B,EAAE,mBAAmB,EAChD,iBAAiB,EAAE,UAAU,GAC9B,GAAG,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,CAAA;QAErB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;QACzE,MAAM,GAAG,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,GAAG,CAAC,GAAG,CAAA;QAC3B,MAAM,iBAAiB,GAAG,IAAA,gBAAM,EAAC,kBAAkB,CAAC,CAAA;QAEpD,IAAI,YAAY,CAAA;QAChB,IAAI;YACF,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,IAAA,sBAAY,EAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACzE,YAAY,GAAG,IAAA,gBAAM,EACnB,MAAM;gBACN,kBAAkB;iBAClB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA;gBAChB,mBAAmB;gBACnB,aAAa;gBACb,CAAC,YAAY,KAAK,aAAa,CAAC,CACjC,CAAA;YAED,IAAI,gBAAgB,CAAA;YACpB,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAA;YAExC,qHAAqH;YACrH,IAAI,WAAW,GAAG,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAA;YAEpC,kEAAkE;YAClE,IAAI,YAAY,EAAE;gBAChB,IACE,CAAC,MAAM;oBACP,CAAC,kBAAkB;oBACnB,CAAC,mBAAmB;oBACpB,CAAC,aAAa;oBACd,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA;oBACjB,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;oBACtC,CAAC,YAAY,KAAK,aAAa,CAAC,EAChC;oBACA,MAAM,IAAI,yBAAiB,CAAC,kCAAkC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;iBAC/E;gBAED,gBAAgB,GAAG,MAAM,SAAS,CAAC,mBAAmB,CAAC;oBACrD,SAAS,EAAE,kBAAkB;oBAC7B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;iBACvC,CAAC,CAAA;gBAEF,IAAI,CAAC,gBAAgB,EAAE;oBACrB,MAAM,IAAI,yBAAiB,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;iBAC9E;gBAED,MAAM,mBAAmB,GAAG,IAAA,8BAAoB,kBAC9C,MAAM,EAAE,IAAA,0BAAgB,EAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7C,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE,WAAW,IACd,IAAA,2BAAiB,EAAC,GAAG,CAAC,EACzB,CAAA;gBAEF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CACxC,mBAAmB,EACnB,gBAAgB,CAAC,cAAc,EAC/B,aAAa,CACd,CAAA;gBAED,IAAI,CAAC,OAAO,EAAE;oBACZ,MAAM,IAAI,yBAAiB,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;iBAC9E;gBAED,IAAI,CAAC,iBAAiB,IAAI,WAAW,EAAE;oBACrC,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;oBACvG,WAAW,GAAG,IAAA,mBAAS,EAAC,gBAAgB,CAAC,CAAA;iBAC1C;aACF;YAED,MAAM,eAAe,GAAG,CAAO,QAAQ,EAAE,EAAE;gBACzC,IAAI,CAAC,QAAQ,IAAI,iBAAiB,IAAI,CAAC,YAAY,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,gBAAgB,CAAA,EAAE;oBAC1F,OAAO,QAAQ,CAAA;iBAChB;gBAED,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;YAC9F,CAAC,CAAA,CAAA;YAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAA;SACjD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,4CAA4C,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC,CAAA;YAC7G,MAAM,KAAK,CAAA;SACZ;IACH,CAAC,CAAA,CAAA;AACH,CAAC,CAAA;AA7FY,QAAA,sBAAsB,0BA6FlC"}
1
+ {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/verification/verification.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agnostack/next-shopify",
3
- "version": "1.15.0-beta.17",
3
+ "version": "1.15.0-beta.18",
4
4
  "author": "agnoStack Dev <developers@agnostack.com> (https://agnostack.com)",
5
5
  "owner": "agnoStack",
6
6
  "description": "Please contact agnoStack via info@agnostack.com for any questions",