@agnostack/verifyd 2.1.0 → 2.1.1-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [2.1.1-beta.1](https://github.com/agnostack/verifyd/compare/v2.1.0...v2.1.1-beta.1) (2024-09-25)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * updated datetime, graph, display ([7c78b69](https://github.com/agnostack/verifyd/commit/7c78b691cfee2db5b097d3388210ac51a1e40e45))
7
+
1
8
  # [2.1.0](https://github.com/agnostack/verifyd/compare/v2.0.2...v2.1.0) (2024-03-11)
2
9
 
3
10
 
@@ -1,7 +1,14 @@
1
1
  export function normalizeShopifyId(shopifyData: any): {
2
- gid?: string | undefined;
3
2
  entity_type?: string | undefined;
4
- entity_id?: string | undefined;
3
+ id?: string | undefined;
4
+ } | {
5
+ entity_id: string;
6
+ gid: string;
7
+ entity_type?: string | undefined;
8
+ id?: string | undefined;
9
+ } | {
10
+ gid: string;
11
+ entity_type?: string | undefined;
5
12
  id?: string | undefined;
6
13
  };
7
14
  export function random(max?: number, min?: number): number;
@@ -13,6 +20,7 @@ export function isSet(value: any): boolean;
13
20
  export function isType(value: any, type: any): boolean;
14
21
  export function isTypeEnhanced(value: any, type: any): boolean;
15
22
  export function safeTrim(value: any): any;
23
+ export function isParseable(value: any, trim: any, matchQuoted: any): boolean;
16
24
  export function safeParse(value: any, trim: any): any;
17
25
  export function ensureString(string: any): string;
18
26
  export function ensureStringOnly(string: any): string;
@@ -38,6 +46,9 @@ export function objectEmpty(object: any): boolean;
38
46
  export function objectNotEmpty(object: any): boolean;
39
47
  export function nullable(object: any): any;
40
48
  export function objectContainsAnyValue(object: any): boolean;
49
+ export function cleanObjectKeys(object: any, _removeKeyNames: any): {
50
+ [k: string]: any;
51
+ };
41
52
  export function cleanObject(object: any, allowEmptyLeafs: any, isEmptyCallback: any): any;
42
53
  export function stringNotEmptyOnly(stringable: any): boolean;
43
54
  export function stringEmptyOnly(stringable: any): boolean;
@@ -57,6 +68,7 @@ export function snakecase(string: any): any;
57
68
  export function unsnakecase(string: any, replacement?: string): string;
58
69
  export function uppercase(string: any): string;
59
70
  export function lowercase(string: any, defaultValue?: string): string;
71
+ export function isLowercase(string: any): boolean;
60
72
  export function slugify(string: any): string;
61
73
  export function capitalize(string: any): string;
62
74
  export function camelCase(string: any): string;
@@ -67,6 +79,7 @@ export function removeTrailingSlash(string: any): string;
67
79
  export function removeLeadingTrailingSlash(string: any): string;
68
80
  export function ensureLeadingSlash(string: any): string;
69
81
  export function ensureTrailingSlash(string: any): string;
82
+ export function ensureTrailingQuestion(string: any): any;
70
83
  export function ensureExtension(string: any, extension: any): any;
71
84
  export function wrappedEncode(basePath: any, _wrappingPath: any): string;
72
85
  export function splitCommas(value: any): any[];
@@ -74,7 +87,12 @@ export function combineCommas(values: any): any[];
74
87
  export function normalizeArray(input: any, separator?: string): any;
75
88
  export function arrayToObject(arrayable: any, key: any): any;
76
89
  export function isTrue(value: any, falsy: any): boolean;
90
+ export function isUndefinedOrTrue(value: any, falsy: any): boolean;
91
+ export function isBoolean(value: any): boolean;
92
+ export function getBaseDomain(baseUrl: any): any;
93
+ export function getPublicEnvValue(publicEnv: any, key: any): any;
77
94
  export function parseKeywords(keywordGroup: any, previous: any): string;
95
+ export function parseCommaGroups(commaGroups: any): any[];
78
96
  export function parseKeywordGroups(keywordGroups: any): string;
79
97
  export function parseProjectName(_name: any): {
80
98
  name: string;
@@ -88,13 +106,19 @@ export function parseProject(packageInfo: any): (string | {
88
106
  appName: any;
89
107
  siteName: any;
90
108
  shortName: any;
109
+ siteHandle: any;
110
+ siteAuthor: any;
91
111
  companyName: any;
92
112
  projectName: string;
93
113
  })[];
94
- export function querystringToObject(queryString: any): {
114
+ export function querystringToParams(queryString: any): (URLSearchParams | {
115
+ [k: string]: string;
116
+ })[];
117
+ export function querystringToObject(queryString: any): URLSearchParams | {
95
118
  [k: string]: string;
96
119
  };
97
120
  export function arrayIncludesAll(_values: any, comparison: any): boolean;
98
121
  export function arraysMatch(array1: any, array2: any): boolean;
99
122
  export function appendQuery(_basePath: any, queryString: any): string;
123
+ export function appendParams(basePath: any, params: any): string;
100
124
  //# sourceMappingURL=display.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/shared/display.js"],"names":[],"mappings":"AAIO;;;;;EAmCN;AAEM,2DAGN;AAEM,4DAeN;AAEM,gEAmBN;AAEM,mDAEN;AAEM,6CAGN;AAEM,2CAGN;AAEM,uDAGN;AAEM,+DAwBN;AAEM,0CAON;AAEM,sDAeN;AAEM,kDAEN;AAGM,sDAGN;AAEM,uDAGN;AAEM,uDAGN;AAEM,wDAGN;AAEM,mDAIN;AAEM,wDAIN;AAGM,mDAEN;AAEM,uDAEN;AAGM,4DAEN;AAEM;;;WAQN;AAEM,kDAGN;AAEM,uDAEN;AAEM,8EAGN;AAEM,iFAGN;AAEM,qFAEN;AAEM,+CAEN;AAGM,kDAEN;AAEM,qDAEN;AAEM,2CAIN;AAEM,6DAEN;AAOM,0FAqBN;AAMM,6DAGN;AAEM,0DAEN;AAEM,yDAGN;AAEM,sDAEN;AAOM,0EAEN;AAEM,kEAUN;AAEM,6EAEN;AAEM,8EAKN;AAEM,yCAEN;AAEM,0EAEN;AAEM,sEAIN;AAgBM,gEAQN;AAEM,2CAEN;AAEM,sEAEN;AAEM,4CAEN;AAEM,uEAEN;AAEM,+CAEN;AAEM,sEAIN;AAEM,6CAEN;AAEM,gDAGN;AAEM,+CASN;AAEM,8DAqEN;AAEM,wDAEN;AAEM,iEAEN;AAGM,yDAEN;AAEM,gEAEN;AAEM,wDAEN;AAEM,yDAEN;AAEM,kEAQN;AAEM,yEAON;AAEM,+CAWN;AAEM,kDAUN;AAEM,oEAON;AAEM,6DAKN;AAEM,wDAGN;AAGM,wEASN;AAEM,+DAcN;AAEM;;;;;EAWN;AAEM;;;;;;;;KAkBN;AAMM;;EAON;AAEM,yEAKN;AAEM,+DAEN;AAEM,sEAMN"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/shared/display.js"],"names":[],"mappings":"AAOO;;;;;;;;;;;;EAsCN;AAEM,2DAGN;AAEM,4DAeN;AAEM,gEAmBN;AAEM,mDAEN;AAEM,6CAGN;AAEM,2CAGN;AAEM,uDAGN;AAaM,+DA6CN;AAEM,0CAON;AAEM,8EAWN;AAEM,sDAgBN;AAEM,kDAEN;AAGM,sDAGN;AAEM,uDAGN;AAEM,uDAGN;AAEM,wDAGN;AAEM,mDAIN;AAEM,wDAIN;AAGM,mDAEN;AAEM,uDAEN;AAGM,4DAEN;AAEM;;;WAQN;AAEM,kDAGN;AAEM,uDAEN;AAEM,8EAGN;AAEM,iFAGN;AAEM,qFAEN;AAEM,+CAEN;AAGM,kDAEN;AAEM,qDAEN;AAEM,2CAIN;AAEM,6DAEN;AAOM;;EAKN;AAEM,0FAyBN;AAkBM,6DAGN;AAEM,0DAEN;AAEM,yDAGN;AAEM,sDAEN;AAOM,0EAEN;AAEM,kEAUN;AAEM,6EAEN;AAEM,8EAKN;AAEM,yCAEN;AAEM,0EAEN;AAEM,sEAIN;AAgBM,gEAQN;AAEM,2CAEN;AAEM,sEAEN;AAEM,4CAEN;AAEM,uEAEN;AAEM,+CAEN;AAEM,sEAIN;AAEM,kDAEN;AAEM,6CAEN;AAEM,gDAGN;AAEM,+CASN;AAEM,8DA2EN;AAEM,wDAEN;AAEM,iEAEN;AAGM,yDAEN;AAEM,gEAEN;AAEM,wDAEN;AAEM,yDAEN;AAEM,yDAMN;AAEM,kEAQN;AAEM,yEAON;AAEM,+CAWN;AAEM,kDAUN;AAEM,oEAON;AAEM,6DAKN;AAEM,wDAGN;AAEM,mEAEN;AAEM,+CAEN;AAEM,iDAIN;AAEM,iEAWN;AAGM,wEASN;AAEM,0DAcN;AAEM,+DAEN;AAEM;;;;;EAWN;AAEM;;;;;;;;;;KA6BN;AAKM;;KAGN;AAEM;;EAEN;AAEM,yEAKN;AAEM,+DAEN;AAEM,sEAMN;AAEM,iEAEN"}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  /* eslint-disable no-use-before-define */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.uppercase = exports.unsnakecase = exports.snakecase = exports.undashcase = exports.dashcase = exports.zencase = exports.replaceSpaces = exports.freeze = exports.isHTML = exports.objectToSortedString = exports.compareEntryKeys = exports.compareString = exports.compareNumber = exports.stringEmpty = exports.stringNotEmpty = exports.stringEmptyOnly = exports.stringNotEmptyOnly = exports.cleanObject = exports.objectContainsAnyValue = exports.nullable = exports.objectNotEmpty = exports.objectEmpty = exports.ensureObject = exports.findLastMatch = exports.arrayNotEmpty = exports.arrayEmpty = exports.ensureArraySet = exports.ensureArray = exports.ensureNumericConstrained = exports.ensureNumericNegatable = exports.ensureNumericOnly = exports.ensureNumeric = exports.isNumericNegatable = exports.isNumericOnly = exports.ensureAlphaNumeric = exports.ensureStringClean = exports.ensureStringAscii = exports.ensureStringOnly = exports.ensureString = exports.safeParse = exports.safeTrim = exports.isTypeEnhanced = exports.isType = exports.isSet = exports.isArray = exports.arrayRandomItem = exports.arrayRandom = exports.nextRandom = exports.random = exports.normalizeShopifyId = void 0;
5
- exports.appendQuery = exports.arraysMatch = exports.arrayIncludesAll = exports.querystringToObject = exports.parseProject = exports.parseProjectName = exports.parseKeywordGroups = exports.parseKeywords = exports.isTrue = exports.arrayToObject = exports.normalizeArray = exports.combineCommas = exports.splitCommas = exports.wrappedEncode = exports.ensureExtension = exports.ensureTrailingSlash = exports.ensureLeadingSlash = exports.removeLeadingTrailingSlash = exports.removeTrailingSlash = exports.removeLeadingTrailingQuotes = exports.removeLeadingSlash = exports.titleCase = exports.camelCase = exports.capitalize = exports.slugify = exports.lowercase = void 0;
4
+ exports.snakecase = exports.undashcase = exports.dashcase = exports.zencase = exports.replaceSpaces = exports.freeze = exports.isHTML = exports.objectToSortedString = exports.compareEntryKeys = exports.compareString = exports.compareNumber = exports.stringEmpty = exports.stringNotEmpty = exports.stringEmptyOnly = exports.stringNotEmptyOnly = exports.cleanObject = exports.cleanObjectKeys = exports.objectContainsAnyValue = exports.nullable = exports.objectNotEmpty = exports.objectEmpty = exports.ensureObject = exports.findLastMatch = exports.arrayNotEmpty = exports.arrayEmpty = exports.ensureArraySet = exports.ensureArray = exports.ensureNumericConstrained = exports.ensureNumericNegatable = exports.ensureNumericOnly = exports.ensureNumeric = exports.isNumericNegatable = exports.isNumericOnly = exports.ensureAlphaNumeric = exports.ensureStringClean = exports.ensureStringAscii = exports.ensureStringOnly = exports.ensureString = exports.safeParse = exports.isParseable = exports.safeTrim = exports.isTypeEnhanced = exports.isType = exports.isSet = exports.isArray = exports.arrayRandomItem = exports.arrayRandom = exports.nextRandom = exports.random = exports.normalizeShopifyId = void 0;
5
+ exports.appendParams = exports.appendQuery = exports.arraysMatch = exports.arrayIncludesAll = exports.querystringToObject = exports.querystringToParams = exports.parseProject = exports.parseProjectName = exports.parseKeywordGroups = exports.parseCommaGroups = exports.parseKeywords = exports.getPublicEnvValue = exports.getBaseDomain = exports.isBoolean = exports.isUndefinedOrTrue = exports.isTrue = exports.arrayToObject = exports.normalizeArray = exports.combineCommas = exports.splitCommas = exports.wrappedEncode = exports.ensureExtension = exports.ensureTrailingQuestion = exports.ensureTrailingSlash = exports.ensureLeadingSlash = exports.removeLeadingTrailingSlash = exports.removeTrailingSlash = exports.removeLeadingTrailingQuotes = exports.removeLeadingSlash = exports.titleCase = exports.camelCase = exports.capitalize = exports.slugify = exports.isLowercase = exports.lowercase = exports.uppercase = exports.unsnakecase = void 0;
6
6
  // #region lib-core
7
- // TODO!!!: keep in sync between verifyd and lib-core (and lib-utils-js at bottom)
7
+ // TODO!!!: keep in sync between next-shopify and lib-core (AND lib-utils-js at bottom)
8
+ const REACT_SYMBOL = Symbol.for('react.element');
8
9
  const normalizeShopifyId = (shopifyData) => {
9
10
  var _a, _b;
10
- const isString = (0, exports.isType)(shopifyData, 'string');
11
+ const isString = (0, exports.isTypeEnhanced)(shopifyData, 'string');
11
12
  if (isString && !shopifyData.startsWith('gid:')) {
12
13
  if (!(0, exports.isNumericOnly)(shopifyData)) {
13
14
  return {};
@@ -25,10 +26,14 @@ const normalizeShopifyId = (shopifyData) => {
25
26
  const entity_id = (0, exports.ensureString)(_entityId);
26
27
  const { entity_type, parsedId } = (_b = (_a = entity_id.match(/^gid:\/\/shopify\/(?<entity_type>.*)\/(?<parsedId>[0-9]+).*$/)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
27
28
  const id = (0, exports.ensureString)(parsedId || legacyResourceId);
29
+ const hasId = (0, exports.stringNotEmpty)(id);
28
30
  const hasEntityId = (0, exports.stringNotEmpty)(entity_id);
29
31
  const hasEntityType = (0, exports.stringNotEmpty)(entity_type);
30
- return Object.assign(Object.assign(Object.assign(Object.assign({}, (0, exports.stringNotEmpty)(id) && { id }), hasEntityId && { entity_id }), hasEntityType && { entity_type }), (hasEntityId && hasEntityType) && {
31
- gid: `gid://shopify/${entity_type}/${entity_id}`,
32
+ return Object.assign(Object.assign(Object.assign({}, (0, exports.stringNotEmpty)(id) && { id }), hasEntityType && { entity_type }), hasEntityId ? {
33
+ entity_id,
34
+ gid: entity_id,
35
+ } : (hasEntityType && hasId) && {
36
+ gid: `gid://shopify/${entity_type}/${id}`,
32
37
  });
33
38
  };
34
39
  exports.normalizeShopifyId = normalizeShopifyId;
@@ -82,18 +87,38 @@ const isType = (value, type) => (
82
87
  // eslint-disable-next-line eqeqeq, valid-typeof
83
88
  (value != undefined) && (typeof value === type));
84
89
  exports.isType = isType;
90
+ const isReact = (value) => ((0, exports.isType)(value, 'object') &&
91
+ ((value === null || value === void 0 ? void 0 : value.$$typeof) === REACT_SYMBOL));
92
+ const isClass = (value) => ((0, exports.isType)(value, 'object') &&
93
+ (Object.getPrototypeOf(value) !== Object.prototype) &&
94
+ !isReact(value));
85
95
  const isTypeEnhanced = (value, type) => {
86
96
  switch (true) {
97
+ case (type === 'boolean'): {
98
+ return (0, exports.isType)(value, type) || ['true', 'false'].includes(value);
99
+ }
100
+ case (type === 'string'): {
101
+ return ((0, exports.isType)(value, type) ||
102
+ (value instanceof String));
103
+ }
87
104
  case (type === 'set'): {
88
105
  return (0, exports.isSet)(value);
89
106
  }
107
+ case (type === 'react'): {
108
+ return isReact(value);
109
+ }
110
+ case (type === 'class'): {
111
+ return isClass(value);
112
+ }
90
113
  case (type === 'array'): {
91
114
  return ((0, exports.isArray)(value) &&
92
115
  !(0, exports.isSet)(value));
93
116
  }
94
117
  case (type === 'object'): {
95
118
  return ((0, exports.isType)(value, type) &&
96
- !(0, exports.isArray)(value));
119
+ !(0, exports.isArray)(value) &&
120
+ !isClass(value) &&
121
+ !isReact(value));
97
122
  }
98
123
  default: {
99
124
  return (0, exports.isType)(value, type);
@@ -102,26 +127,38 @@ const isTypeEnhanced = (value, type) => {
102
127
  };
103
128
  exports.isTypeEnhanced = isTypeEnhanced;
104
129
  const safeTrim = (value) => {
105
- if ((0, exports.isType)(value, 'string')) {
130
+ if ((0, exports.isTypeEnhanced)(value, 'string')) {
106
131
  // eslint-disable-next-line no-param-reassign
107
132
  value = value.trim();
108
133
  }
109
134
  return value;
110
135
  };
111
136
  exports.safeTrim = safeTrim;
137
+ const isParseable = (value, trim, matchQuoted) => {
138
+ if (!(0, exports.isTypeEnhanced)(value, 'string')) {
139
+ return false;
140
+ }
141
+ if (trim) {
142
+ // eslint-disable-next-line no-param-reassign
143
+ value = (0, exports.safeTrim)(value);
144
+ }
145
+ return (0, exports.isTrue)(value.startsWith('{') || value.startsWith('[') || (matchQuoted && value.startsWith('"')));
146
+ };
147
+ exports.isParseable = isParseable;
112
148
  const safeParse = (value, trim) => {
113
- if ((0, exports.isType)(value, 'string')) {
114
- if (trim) {
115
- // eslint-disable-next-line no-param-reassign
116
- value = (0, exports.safeTrim)(value);
149
+ switch (true) {
150
+ case (0, exports.isTypeEnhanced)(value, 'object'):
151
+ case (0, exports.isTypeEnhanced)(value, 'array'): {
152
+ return value;
117
153
  }
118
- if (value.startsWith('{') || value.startsWith('[') || value.startsWith('"')) {
119
- // eslint-disable-next-line no-param-reassign
120
- value = JSON.parse(value);
154
+ case (0, exports.isParseable)(value, trim, true): {
155
+ return JSON.parse(value); // TODO!!!!!: add try/catch in safeParse?
156
+ }
157
+ default: {
158
+ // TODO: should this be value ?? {}
159
+ return value;
121
160
  }
122
161
  }
123
- // TODO: should this be value ?? {}
124
- return value;
125
162
  };
126
163
  exports.safeParse = safeParse;
127
164
  const ensureString = (string) => (string ? `${string}` : '');
@@ -203,8 +240,13 @@ exports.objectContainsAnyValue = objectContainsAnyValue;
203
240
  const isUndefined = (value) => (
204
241
  // eslint-disable-next-line eqeqeq
205
242
  value == undefined);
243
+ const cleanObjectKeys = (object, _removeKeyNames) => {
244
+ const removeKeyNames = (0, exports.ensureArray)(_removeKeyNames);
245
+ return Object.fromEntries(Object.entries((0, exports.ensureObject)(object)).filter(([key]) => !removeKeyNames.includes(key)));
246
+ };
247
+ exports.cleanObjectKeys = cleanObjectKeys;
206
248
  const cleanObject = (object, allowEmptyLeafs, isEmptyCallback) => (Object.entries((0, exports.ensureObject)(object)).reduce((_cleanedObject, [key, _value]) => {
207
- var _a;
249
+ var _a, _b;
208
250
  if (!allowEmptyLeafs && ((_a = isEmptyCallback === null || isEmptyCallback === void 0 ? void 0 : isEmptyCallback(_value)) !== null && _a !== void 0 ? _a : isUndefined(_value))) {
209
251
  return _cleanedObject; // skip key if null or undefined
210
252
  }
@@ -214,10 +256,25 @@ const cleanObject = (object, allowEmptyLeafs, isEmptyCallback) => (Object.entrie
214
256
  ..._data,
215
257
  cleanObjectValue(__value, allowEmptyLeafs, isEmptyCallback)
216
258
  ]), []);
259
+ if (!allowEmptyLeafs && ((_b = isEmptyCallback === null || isEmptyCallback === void 0 ? void 0 : isEmptyCallback(value)) !== null && _b !== void 0 ? _b : isUndefined(value))) {
260
+ return _cleanedObject; // skip key if null or undefined
261
+ }
217
262
  return Object.assign(Object.assign({}, _cleanedObject), { [key]: value });
218
263
  }, {}));
219
264
  exports.cleanObject = cleanObject;
220
- const cleanObjectValue = (value, allowEmptyLeafs, isEmptyCallback) => ((0, exports.isType)(value, 'object') ? (0, exports.cleanObject)(value, allowEmptyLeafs, isEmptyCallback) : value);
265
+ const cleanObjectValue = (value, allowEmptyLeafs, isEmptyCallback) => {
266
+ switch (true) {
267
+ case isClass(value): {
268
+ return undefined;
269
+ }
270
+ case (0, exports.isTypeEnhanced)(value, 'object'): {
271
+ return (0, exports.cleanObject)(value, allowEmptyLeafs, isEmptyCallback);
272
+ }
273
+ default: {
274
+ return value;
275
+ }
276
+ }
277
+ };
221
278
  const stringNotEmptyOnly = (stringable) => {
222
279
  const string = (0, exports.ensureStringOnly)(stringable);
223
280
  return ((string.length > 0) && !['null', 'undefined'].includes(string));
@@ -301,6 +358,8 @@ const lowercase = (string, defaultValue = '') => (!(0, exports.stringNotEmpty)(s
301
358
  ? defaultValue
302
359
  : (0, exports.ensureString)(string).toLowerCase());
303
360
  exports.lowercase = lowercase;
361
+ const isLowercase = (string) => ((0, exports.stringNotEmpty)(string) && /^[^A-Z]*$/.test(string));
362
+ exports.isLowercase = isLowercase;
304
363
  const slugify = (string) => ((0, exports.lowercase)((0, exports.dashcase)(string)));
305
364
  exports.slugify = slugify;
306
365
  const capitalize = (string) => {
@@ -308,20 +367,20 @@ const capitalize = (string) => {
308
367
  return `${(0, exports.uppercase)(parts[0])}${parts[1]}`;
309
368
  };
310
369
  exports.capitalize = capitalize;
311
- const camelCase = (string) => ((0, exports.stringNotEmpty)(string)
312
- ? (0, exports.unsnakecase)((0, exports.undashcase)(string)).replace(/\w\S*/g, (word, charIndex) => {
370
+ const camelCase = (string) => ((0, exports.stringEmpty)(string)
371
+ ? ''
372
+ : (0, exports.unsnakecase)((0, exports.undashcase)(string)).replace(/\w\S*/g, (word, charIndex) => {
313
373
  if (charIndex === 0) {
314
374
  return (0, exports.lowercase)(word);
315
375
  }
316
376
  return `${(0, exports.uppercase)(word.charAt(0))}${(0, exports.lowercase)(word.substr(1))}`;
317
- }).split(' ').join('')
318
- : '');
377
+ }).split(' ').join(''));
319
378
  exports.camelCase = camelCase;
320
379
  const titleCase = (_string, _overrides) => {
321
- if (!(0, exports.stringNotEmpty)(_string)) {
380
+ if ((0, exports.stringEmpty)(_string)) {
322
381
  return '';
323
382
  }
324
- const overrides = Object.assign({ 'add-ons': 'Add-Ons', agnostack: 'agnoStack', ai: 'AI', b2b: 'B2B', b2c: 'B2C', cartcollab: 'CartCollab', 'cartcollab(sm)': 'CartCollab(SM)', chatgpt: 'ChatGPT', covid: 'COVID', covid19: 'COVID-19', 'covid-19': 'COVID-19', crm: 'CRM', elasticpath: 'Elastic Path', ecommerce: 'eCommerce', 'e-commerce': 'eCommerce', faqs: 'FAQs', gpt: 'GPT', ipaas: 'iPaaS', 'smile.io': 'Smile.io', 'stamped.io': 'Stamped.io', 'judge.me': 'Judge.me', 'influence.io': 'Influence.io', keepsmallstrong: 'KeepSmallStrong', loyaltylion: 'LoyaltyLion', 'mach alliance': 'MACH Alliance', openai: 'OpenAI', paypal: 'PayPal', 'postscript.io': 'Postscript.io', recharge: 'ReCharge', 'stay.ai': 'Stay.ai', 'stay ai': 'Stay Ai', shipengine: 'ShipEngine', shipperhq: 'ShipperHQ', shipstation: 'ShipStation', taxjar: 'TaxJar', yotpo: 'YotPo' }, _overrides);
383
+ const overrides = Object.assign({ 'add-ons': 'Add-Ons', agnostack: 'agnoStack', ai: 'AI', 'ai for commerce': 'AI for Commerce', "'ai for commerce'": "'AI For Commerce'", b2b: 'B2B', b2c: 'B2C', cartcollab: 'CartCollab', 'cartcollab(sm)': 'CartCollab(SM)', chatgpt: 'ChatGPT', covid: 'COVID', covid19: 'COVID-19', 'covid-19': 'COVID-19', crm: 'CRM', elasticpath: 'Elastic Path', ecommerce: 'eCommerce', 'e-commerce': 'eCommerce', faqs: 'FAQs', gpt: 'GPT', ipaas: 'iPaaS', 'ltv.ai': 'LTV.ai', 'smile.io': 'Smile.io', 'stamped.io': 'Stamped.io', 'judge.me': 'Judge.me', 'influence.io': 'Influence.io', keepsmallstrong: 'KeepSmallStrong', loyaltylion: 'LoyaltyLion', 'mach alliance': 'MACH Alliance', openai: 'OpenAI', paypal: 'PayPal', 'postscript.io': 'Postscript.io', recharge: 'Recharge', 'stay.ai': 'Stay Ai', 'stay ai': 'Stay Ai', shipengine: 'ShipEngine', shipperhq: 'ShipperHQ', shipstation: 'ShipStation', taxjar: 'TaxJar', vs: 'vs', 'vs.': 'vs.', yotpo: 'YotPo', "zendesk 'ai for commerce'": "Zendesk 'AI For Commerce'" }, _overrides);
325
384
  const string = (0, exports.lowercase)(_string);
326
385
  if (overrides[string]) {
327
386
  return overrides[string];
@@ -355,6 +414,14 @@ const ensureLeadingSlash = (string) => (`/${(0, exports.removeLeadingSlash)(stri
355
414
  exports.ensureLeadingSlash = ensureLeadingSlash;
356
415
  const ensureTrailingSlash = (string) => (`${(0, exports.removeTrailingSlash)(string)}/`);
357
416
  exports.ensureTrailingSlash = ensureTrailingSlash;
417
+ const ensureTrailingQuestion = (string) => {
418
+ const isString = (0, exports.isTypeEnhanced)(string, 'string');
419
+ if (!isString) {
420
+ return string;
421
+ }
422
+ return string.endsWith('?') ? string : `${string}?`;
423
+ };
424
+ exports.ensureTrailingQuestion = ensureTrailingQuestion;
358
425
  const ensureExtension = (string, extension) => {
359
426
  var _a, _b;
360
427
  if ((0, exports.stringEmpty)(extension)) {
@@ -403,6 +470,25 @@ const isTrue = (value, falsy) => {
403
470
  return ![...(0, exports.ensureArray)(falsy), '', 'false'].includes(string);
404
471
  };
405
472
  exports.isTrue = isTrue;
473
+ const isUndefinedOrTrue = (value, falsy) => (isUndefined(value) || (0, exports.isTrue)(value, falsy));
474
+ exports.isUndefinedOrTrue = isUndefinedOrTrue;
475
+ const isBoolean = (value) => ([true, false, 'true', 'false'].includes(value));
476
+ exports.isBoolean = isBoolean;
477
+ const getBaseDomain = (baseUrl) => ((baseUrl === null || baseUrl === void 0 ? void 0 : baseUrl.match(/^(?:https?:\/\/)?([^/:]+)(?::(\d+))?/).slice(1, 3).filter(exports.stringNotEmpty).join(':')) || undefined);
478
+ exports.getBaseDomain = getBaseDomain;
479
+ const getPublicEnvValue = (publicEnv, key) => {
480
+ let envValue;
481
+ // NOTE: intentionally using for/of loop instead of map so we can break to exit quickly soon as matched
482
+ // eslint-disable-next-line no-restricted-syntax
483
+ for (const envKey of [`NEXT_PUBLIC_${key}`, `VITE_PUBLIC_${key}`, `GATSBY_${key}`, `PUBLIC_${key}`]) {
484
+ envValue = publicEnv === null || publicEnv === void 0 ? void 0 : publicEnv[envKey];
485
+ if ((0, exports.stringNotEmpty)(envValue)) {
486
+ break;
487
+ }
488
+ }
489
+ return envValue;
490
+ };
491
+ exports.getPublicEnvValue = getPublicEnvValue;
406
492
  // TODO: move all uses of parseKeywords to parseKeywordGroups
407
493
  const parseKeywords = (keywordGroup, previous) => ([...new Set((0, exports.ensureArray)(keywordGroup).reduce((_parsedKeywords, keyword) => {
408
494
  const keywords = (0, exports.splitCommas)(keyword);
@@ -412,19 +498,21 @@ const parseKeywords = (keywordGroup, previous) => ([...new Set((0, exports.ensur
412
498
  ];
413
499
  }, (0, exports.ensureArray)(previous)))].join(', '));
414
500
  exports.parseKeywords = parseKeywords;
415
- const parseKeywordGroups = (keywordGroups) => {
416
- const parsedKeywords = (0, exports.ensureArray)(keywordGroups).reduce((_parsedKeywords, keywordGroup) => ([
417
- ..._parsedKeywords,
418
- ...(0, exports.ensureArray)(keywordGroup).reduce((_parsedGroupKeywords, keyword) => {
501
+ const parseCommaGroups = (commaGroups) => {
502
+ const parsedGroups = (0, exports.ensureArray)(commaGroups).reduce((_parsedGroups, commaGroup) => ([
503
+ ..._parsedGroups,
504
+ ...(0, exports.ensureArray)(commaGroup).reduce((_parsedCommaKeywords, keyword) => {
419
505
  const keywords = (0, exports.splitCommas)(keyword);
420
506
  return [
421
- ..._parsedGroupKeywords,
507
+ ..._parsedCommaKeywords,
422
508
  ...keywords.filter((_keyword) => (0, exports.stringNotEmpty)(_keyword))
423
509
  ];
424
510
  }, [])
425
511
  ]), []);
426
- return [...new Set(parsedKeywords)].join(', ');
512
+ return [...new Set(parsedGroups)];
427
513
  };
514
+ exports.parseCommaGroups = parseCommaGroups;
515
+ const parseKeywordGroups = (keywordGroups) => ((0, exports.parseCommaGroups)(keywordGroups).join(', '));
428
516
  exports.parseKeywordGroups = parseKeywordGroups;
429
517
  const parseProjectName = (_name) => {
430
518
  var _a;
@@ -440,7 +528,7 @@ const parseProjectName = (_name) => {
440
528
  };
441
529
  exports.parseProjectName = parseProjectName;
442
530
  const parseProject = (packageInfo) => {
443
- const { shortName, owner: _appOwner, name: _name, appName: _appName, keywords, siteName: _siteName } = packageInfo !== null && packageInfo !== void 0 ? packageInfo : {};
531
+ const { keywords, shortName, siteHandle, siteAuthor, name: _name, owner: _appOwner, appName: _appName, siteName: _siteName, } = packageInfo !== null && packageInfo !== void 0 ? packageInfo : {};
444
532
  const { name, organization, projectName } = (0, exports.parseProjectName)(_name);
445
533
  const appName = _appName !== null && _appName !== void 0 ? _appName : projectName === null || projectName === void 0 ? void 0 : projectName.slice((projectName === null || projectName === void 0 ? void 0 : projectName.indexOf('-')) + 1);
446
534
  const siteName = _siteName !== null && _siteName !== void 0 ? _siteName : projectName === null || projectName === void 0 ? void 0 : projectName.slice((projectName === null || projectName === void 0 ? void 0 : projectName.indexOf('-')) + 1);
@@ -452,6 +540,8 @@ const parseProject = (packageInfo) => {
452
540
  appName,
453
541
  siteName,
454
542
  shortName,
543
+ siteHandle,
544
+ siteAuthor,
455
545
  companyName,
456
546
  projectName,
457
547
  }, organization, name];
@@ -459,13 +549,12 @@ const parseProject = (packageInfo) => {
459
549
  exports.parseProject = parseProject;
460
550
  // #endregion lib-core
461
551
  // #region lib-utils-js
462
- const querystringToObject = (queryString) => {
463
- if ((0, exports.stringEmpty)(queryString)) {
464
- return {};
465
- }
466
- const urlParams = new URLSearchParams(queryString);
467
- return Object.fromEntries(urlParams);
552
+ const querystringToParams = (queryString) => {
553
+ const urlParams = new URLSearchParams((0, exports.ensureString)(queryString));
554
+ return [Object.fromEntries(urlParams), urlParams];
468
555
  };
556
+ exports.querystringToParams = querystringToParams;
557
+ const querystringToObject = (queryString) => ((0, exports.querystringToParams)(queryString)[0]);
469
558
  exports.querystringToObject = querystringToObject;
470
559
  const arrayIncludesAll = (_values, comparison) => {
471
560
  const values = (0, exports.ensureArray)(_values);
@@ -482,4 +571,6 @@ const appendQuery = (_basePath, queryString) => {
482
571
  return `${basePath}${basePath.includes('?') ? '&' : '?'}${queryString}`;
483
572
  };
484
573
  exports.appendQuery = appendQuery;
574
+ const appendParams = (basePath, params) => ((0, exports.appendQuery)(basePath, (0, exports.ensureArray)(params).join('&')));
575
+ exports.appendParams = appendParams;
485
576
  //# sourceMappingURL=display.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/shared/display.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/shared/display.js"],"names":[],"mappings":"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"}
@@ -22,5 +22,5 @@
22
22
  * SOFTWARE.
23
23
  */
24
24
 
25
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@agnostack/verifyd/external"]={})}(this,(function(e){"use strict";const t=(e,t)=>null!=e&&typeof e===t,r=(e,r)=>(t(e,"string")&&(r&&(e=(e=>(t(e,"string")&&(e=e.trim()),e))(e)),(e.startsWith("{")||e.startsWith("[")||e.startsWith('"'))&&(e=JSON.parse(e))),e),i=e=>e?`${e}`:"",n=(e=[])=>e?Array.isArray(e)?e:[e]:[],o=e=>{const t=i(e);return t.length>0&&!["null","undefined"].includes(t)},a=e=>!o(e),s=([e],[t])=>((e,t)=>a(e)?1:a(t)?-1:i(e).localeCompare(t))(e,t),c=(e,t="")=>Object.entries((e=>e??{})(e)).sort(s).map((([e,t])=>`${e}=${t}`)).join(t),y=e=>`/${(e=>i(e).replace(/^\//,""))(e)}`,u=(e,t)=>{const r=i(e);return![...n(t),"","false"].includes(r)};var l,d=((l=function(){return d}).toString=l.toLocaleString=l[Symbol.toPrimitive]=function(){return""},l.valueOf=function(){return!1},new Proxy(Object.freeze(l),{get:function(e,t){return e.hasOwnProperty(t)?e[t]:d}}));let p=global.window,h=e=>!function(e){return e===d}(e),f=void 0!==p?p:d;class g{constructor({crypto:e,util:t}={}){this._crypto=e??{},this._util=t??{}}get subtle(){return this._crypto?.subtle}async getWebCrypto(){if(!this._crypto?.subtle)try{this._crypto=(await import("isomorphic-webcrypto")).default}catch(e){try{this._crypto=(await import("crypto")).default}catch(e){throw console.error("Failed to import node crypto, ensure 'isomorphic-webcrypto' (or node 'crypto') is installed and/or pass in implementation via 'new WebCrypto({ crypto })'"),e}}if(!this._crypto?.subtle)throw new Error("Invalid crypto, missing subtle");return this._crypto}async getTextDecoder(){if(this._util?.TextDecoder)return this._util.TextDecoder;if(h(f)&&"function"==typeof f?.TextDecoder)return f.TextDecoder;try{const e=(await import("util")).TextDecoder;return this._util.TextDecoder=e,e}catch(e){throw console.error("Failed to import 'utils.TextDecoder', ensure 'util' is available and/or pass in implementation via 'new WebCrypto({ util })'"),e}}async getTextEncoder(){if(this._util?.TextEncoder)return this._util.TextEncoder;if(h(f)&&"function"==typeof f?.TextEncoder)return f.TextEncoder;try{const e=(await import("util")).TextEncoder;return this._util.TextEncoder=e,e}catch(e){throw console.error("Failed to import 'utils.TextEncoder', ensure 'util' is available and/or pass in implementation via 'new WebCrypto({ util })'"),e}}timingSafeEqual(e,t){if(null==e||null==t||e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return 0===r}stringToHex(e){return Array.from(i(e),(e=>e.charCodeAt(0).toString(16).padStart(2,"0"))).join("")}hexToString(e){return n(i(e).match(/.{1,2}/g)).map((e=>String.fromCharCode(parseInt(e,16)))).join("")}async arrayBufferToString(e){const t=new Uint8Array(e);return(new(await this.getTextDecoder())).decode(t)}arrayToArrayBuffer(e){return null!=ArrayBuffer.from?ArrayBuffer.from(e):new Uint8Array(e).buffer}ensureArrayBuffer(e){return e instanceof ArrayBuffer?e:this.arrayToArrayBuffer(e)}getKeyOperations(e){switch(e){case"paired":case"private":case"privateKey":return["deriveKey"];case"secret":case"secretKey":case"sharedSecret":return["encrypt","decrypt"];default:return[]}}getKeyAlgorythm(e){switch(e){case"derivedKey":case"derived":case"secret":case"secretKey":case"sharedSecret":return{name:"AES-GCM"};default:return{name:"ECDH",namedCurve:"P-256"}}}async generateKeyPair(){const e=await this.getWebCrypto();return await e.subtle.generateKey(this.getKeyAlgorythm("paired"),!0,this.getKeyOperations("paired"))}async generateSharedSecret(){const e=await this.getWebCrypto();return await e.subtle.generateKey(this.getKeyAlgorythm("sharedSecret"),!0,this.getKeyOperations("sharedSecret"))}async generateHMAC(e,t){if(!e||!t)return;const r=await this.getWebCrypto(),i=await this.getTextEncoder(),n=await r.subtle.sign("HMAC",t,(new i).encode(e));return this.stringToHex(this.arrayBufferToString(n))}async verifyHMAC(e,t,r){const i=await this.generateHMAC(e,t);return this.timingSafeEqual(i,r)}async getStorableKey(e){const t=await this.getWebCrypto(),r=await t.subtle.exportKey("jwk",e);return this.stringToHex(JSON.stringify(r))}async restoreStorableKey(e,t){if(!t)return;const r=await this.getWebCrypto(),i=JSON.parse(this.hexToString(t)||"{}");var n;return(n=i)&&Object.keys(n).length?r.subtle.importKey("jwk",i,this.getKeyAlgorythm(e),!0,this.getKeyOperations(e)):void 0}async getStorableKeyPair(e){const t={};for(const[r,i]of Object.entries(e))t[r]=await this.getStorableKey(i);return t}async restoreStorableKeyPair(e){const t={};for(const[r,i]of Object.entries(e))t[r]=await this.restoreStorableKey(r,i);return t}async deriveSharedKey({publicKey:e,privateKey:t}){if(!e||!t)return;const r=await this.getWebCrypto();return await r.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}async deriveHMACKey({publicKey:e,privateKey:t}){if(!e||!t)return;const r=await this.getWebCrypto();return await r.subtle.deriveKey({name:"ECDH",public:e},t,{name:"HMAC",hash:{name:"SHA-256"},length:256},!0,["sign","verify"])}async getVerificationKeys({publicKey:e,privateKey:t}){if(!e||!t)return{};const r=await this.restoreStorableKeyPair({publicKey:e,privateKey:t}),i=await this.deriveHMACKey(r);return{derivedSecretKey:await this.deriveSharedKey(r),derivedHMACKey:i}}async encryptMessage(e,t){if(!e||!t)return;const r=await this.getWebCrypto(),i=r.getRandomValues(new Uint8Array(12)),n=(new(await this.getTextEncoder())).encode(e),o=await r.subtle.encrypt({name:"AES-GCM",iv:i},t,n),a=new Uint8Array([...i,...new Uint8Array(o)]);return Array.from(a)}async decryptMessage(e,t){if(!e||!t)return;const r=await this.getWebCrypto(),i=this.ensureArrayBuffer(e),n=i.slice(0,12),o=i.slice(12),a=await r.subtle.decrypt({name:"AES-GCM",iv:n},t,o);return(new(await this.getTextDecoder())).decode(a)}}const w="xyz.com",b=["shop","host"],m="Content-Type",K="X-Public-Key",v="X-Ephemeral-Key",A="X-Authorization",S="X-Authorization-Timestamp",C={APPLICATION_JSON:"application/json"},T=(e,t)=>i(t??(e?"POST":"GET")).toUpperCase(),E=({method:e,body:t,headers:i,...n}={})=>{const o=T(t,e),a=i?.[m.toLowerCase()],s={[m]:a||C.APPLICATION_JSON,...i};let c=t;return c&&s[m].startsWith(C.APPLICATION_JSON)&&(c=JSON.stringify(r(c))),{method:o,headers:s,...c&&"GET"!==o&&{body:c},...n}},O=e=>{const t=(e=>{if(a(e))return;return/^(https?:\/\/).+/i.test(e)?new URL(e):new URL(`https://${w}${y(e)}`)})(e);if(t)return b.forEach((e=>t.searchParams.delete(e))),{...t.hostname!==w&&{origin:t.origin},pathname:t.pathname,search:t.search}};class x extends Error{constructor(e,t){super(e);const{code:r=500,...i}=t??{};this.code=r,this.data=i,this.name="VerificationError",Object.setPrototypeOf(this,x.prototype)}}const H=async e=>{if(e?.rawBody)return e.rawBody;try{const t=(await import("raw-body")).default;if(!e.method||"get"===((e,t="")=>o(e)?i(e).toLowerCase():t)(e.method))return;return t(e).then((e=>e?.toString()))}catch(e){throw console.error("Failed to import 'raw-body', please ensure the dependency is installed"),e}},M=async e=>H(e).catch((t=>{throw console.error(`Error getting raw body for '${e?.url}'`,t),t}));function P(e,t,r,i){return new(r||(r=Promise))((function(n,o){function a(e){try{c(i.next(e))}catch(e){o(e)}}function s(e){try{c(i.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;e.CONTENT_TYPES=C,e.HEADER_AUTHORIZATION_CUSTOM=A,e.HEADER_AUTHORIZATION_TIMESTAMP=S,e.HEADER_CONTENT_TYPE=m,e.HEADER_EPHEMERAL_KEY=v,e.HEADER_PUBLIC_KEY=K,e.VerificationError=x,e.WebCrypto=g,e.ensureRawBody=M,e.generateStorableKeyPairs=({crypto:e,util:t}={})=>P(void 0,void 0,void 0,(function*(){const r=new g({crypto:e,util:t}),i=yield r.generateKeyPair();return r.getStorableKeyPair({publicKey:i.publicKey,privateKey:i.privateKey})})),e.getAuthorizationHelpers=async(e,{crypto:t,util:r}={})=>{if(a(e))return;const i=new g({crypto:t,util:r}),n=await i.restoreStorableKey("sharedSecret",e);return{encrypt:async e=>i.encryptMessage(e,n),decrypt:async e=>i.decryptMessage(e,n)}},e.getRequestMethod=T,e.getVerificationHelpers=({keyPairs:e,crypto:t,util:n}={keyPairs:{}})=>{const o=new g({crypto:t,util:n});return(t,n)=>P(void 0,void 0,void 0,(function*(){var a;const{[K]:s,[K.toLowerCase()]:y=s,[v]:l,[v.toLowerCase()]:d=l,[S]:p,[S.toLowerCase()]:h=p,[A]:f,[A.toLowerCase()]:g=f}=null!==(a=t.headers)&&void 0!==a?a:{},{uri:w,disableRecryption:b}=null!=n?n:{},m=null!=w?w:t.url,C=u(b);let E=!1;try{const[n,a]=i(g).split(" ");let s;E=u(y&&d&&h&&a&&"HMAC-SHA256"===n&&(null==e?void 0:e.shared));const l=yield M(t);let p=r(l);if(E){if(!(y&&d&&h&&a&&"HMAC-SHA256"===n&&(null==e?void 0:e.shared)&&y===e.shared.publicKey))throw new x("Invalid or missing authorization",{code:401});if(s=yield o.getVerificationKeys({publicKey:d,privateKey:e.shared.privateKey}),!s)throw new x("Invalid or missing verification",{code:412});const i=c(Object.assign({method:T(l,t.method),timestamp:h,body:p},O(m)));if(!(yield o.verifyHMAC(i,s.derivedHMACKey,a)))throw new x("Invalid or missing verification",{code:403});if(!C&&p){const e=yield o.decryptMessage(p,s.derivedSecretKey);p=r(e)}}return{rawBody:l,requestBody:p,processResponse:e=>P(void 0,void 0,void 0,(function*(){return e&&!C&&E&&(null==s?void 0:s.derivedSecretKey)?o.encryptMessage(JSON.stringify(e),s.derivedSecretKey):e}))}}catch(e){throw console.error(`Error handling request verification for '${m}'`,{error:e,isVerifiable:E,disableRecryption:C}),e}}))},e.getVerificationKeysData=async(e,{crypto:t,util:r}={})=>{if(a(e))return{};const i=new g({crypto:t,util:r}),n=await i.getStorableKeyPair(await i.generateKeyPair());return{publicKey:e,ephemeral:n,verification:await i.getVerificationKeys({publicKey:e,privateKey:n.privateKey})}},e.normalizeURIParts=O,e.prepareRequestOptions=E,e.prepareVerificationRequest=({keysData:e,disableRecryption:t,crypto:i,util:n}={})=>{const o=new g({crypto:i,util:n}),s=u(t);return async(t,{method:i,body:n,headers:y,...u}={})=>{let l=r(n);const d=T(l,i);if(s||a(e?.publicKey))return[t,E({method:d,body:l,headers:y,...u})];const{verification:{derivedHMACKey:p,derivedSecretKey:h}={},ephemeral:{publicKey:f}={}}=e??{};if(!p||!f)return;l&&h&&(l=await o.encryptMessage(JSON.stringify(l),h));const g=(()=>{const e=(new Date).getTime();return Math.floor(e/1e3).toString()})(),w=await o.generateHMAC(c({body:l,method:d,timestamp:g,...O(t)}),p);return[t,E({method:d,body:l,headers:{"X-Authorization":`HMAC-SHA256 ${w}`,"X-Authorization-Timestamp":g,"X-Ephemeral-Key":f,"X-Public-Key":e.publicKey,...y},...u}),h]}},e.processVerificationResponse=({keysData:e,disableRecryption:t,crypto:i,util:n}={})=>{const o=new g({crypto:i,util:n}),a=u(t);return async(t,i)=>{const n=i??e.verification?.derivedSecretKey;if(a||!t||!n)return t;const s=await o.decryptMessage(t,n);return r(s)}},Object.defineProperty(e,"__esModule",{value:!0})}));
25
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@agnostack/verifyd/external"]={})}(this,(function(e){"use strict";const t=Symbol.for("react.element"),r=e=>null!=e&&Array.isArray(e),i=e=>null!=e&&e instanceof Set,n=(e,t)=>null!=e&&typeof e===t,a=e=>n(e,"object")&&e?.$$typeof===t,o=e=>n(e,"object")&&Object.getPrototypeOf(e)!==Object.prototype&&!a(e),s=(e,t)=>{switch(!0){case"boolean"===t:return n(e,t)||["true","false"].includes(e);case"string"===t:return n(e,t)||e instanceof String;case"set"===t:return i(e);case"react"===t:return a(e);case"class"===t:return o(e);case"array"===t:return r(e)&&!i(e);case"object"===t:return n(e,t)&&!r(e)&&!o(e)&&!a(e);default:return n(e,t)}},c=(e,t,r)=>!!s(e,"string")&&(t&&(e=(e=>(s(e,"string")&&(e=e.trim()),e))(e)),w(e.startsWith("{")||e.startsWith("[")||r&&e.startsWith('"'))),y=(e,t)=>{switch(!0){case s(e,"object"):case s(e,"array"):return e;case c(e,t,!0):return JSON.parse(e);default:return e}},u=e=>e?`${e}`:"",l=(e=[])=>e?Array.isArray(e)?e:[e]:[],d=e=>{const t=u(e);return t.length>0&&!["null","undefined"].includes(t)},p=e=>!d(e),h=([e],[t])=>((e,t)=>p(e)?1:p(t)?-1:u(e).localeCompare(t))(e,t),f=(e,t="")=>Object.entries((e=>e??{})(e)).sort(h).map((([e,t])=>`${e}=${t}`)).join(t),g=e=>`/${(e=>u(e).replace(/^\//,""))(e)}`,w=(e,t)=>{const r=u(e);return![...l(t),"","false"].includes(r)};var b,m=((b=function(){return m}).toString=b.toLocaleString=b[Symbol.toPrimitive]=function(){return""},b.valueOf=function(){return!1},new Proxy(Object.freeze(b),{get:function(e,t){return e.hasOwnProperty(t)?e[t]:m}}));let K=global.window,v=e=>!function(e){return e===m}(e),A=void 0!==K?K:m;class S{constructor({crypto:e,util:t}={}){this._crypto=e??{},this._util=t??{}}get subtle(){return this._crypto?.subtle}async getWebCrypto(){if(!this._crypto?.subtle)try{this._crypto=(await import("isomorphic-webcrypto")).default}catch(e){try{this._crypto=(await import("crypto")).default}catch(e){throw console.error("Failed to import node crypto, ensure 'isomorphic-webcrypto' (or node 'crypto') is installed and/or pass in implementation via 'new WebCrypto({ crypto })'"),e}}if(!this._crypto?.subtle)throw new Error("Invalid crypto, missing subtle");return this._crypto}async getTextDecoder(){if(this._util?.TextDecoder)return this._util.TextDecoder;if(v(A)&&"function"==typeof A?.TextDecoder)return A.TextDecoder;try{const e=(await import("util")).TextDecoder;return this._util.TextDecoder=e,e}catch(e){throw console.error("Failed to import 'utils.TextDecoder', ensure 'util' is available and/or pass in implementation via 'new WebCrypto({ util })'"),e}}async getTextEncoder(){if(this._util?.TextEncoder)return this._util.TextEncoder;if(v(A)&&"function"==typeof A?.TextEncoder)return A.TextEncoder;try{const e=(await import("util")).TextEncoder;return this._util.TextEncoder=e,e}catch(e){throw console.error("Failed to import 'utils.TextEncoder', ensure 'util' is available and/or pass in implementation via 'new WebCrypto({ util })'"),e}}timingSafeEqual(e,t){if(null==e||null==t||e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return 0===r}stringToHex(e){return Array.from(u(e),(e=>e.charCodeAt(0).toString(16).padStart(2,"0"))).join("")}hexToString(e){return l(u(e).match(/.{1,2}/g)).map((e=>String.fromCharCode(parseInt(e,16)))).join("")}async arrayBufferToString(e){const t=new Uint8Array(e);return(new(await this.getTextDecoder())).decode(t)}arrayToArrayBuffer(e){return null!=ArrayBuffer.from?ArrayBuffer.from(e):new Uint8Array(e).buffer}ensureArrayBuffer(e){return e instanceof ArrayBuffer?e:this.arrayToArrayBuffer(e)}getKeyOperations(e){switch(e){case"paired":case"private":case"privateKey":return["deriveKey"];case"secret":case"secretKey":case"sharedSecret":return["encrypt","decrypt"];default:return[]}}getKeyAlgorythm(e){switch(e){case"derivedKey":case"derived":case"secret":case"secretKey":case"sharedSecret":return{name:"AES-GCM"};default:return{name:"ECDH",namedCurve:"P-256"}}}async generateKeyPair(){const e=await this.getWebCrypto();return await e.subtle.generateKey(this.getKeyAlgorythm("paired"),!0,this.getKeyOperations("paired"))}async generateSharedSecret(){const e=await this.getWebCrypto();return await e.subtle.generateKey(this.getKeyAlgorythm("sharedSecret"),!0,this.getKeyOperations("sharedSecret"))}async generateHMAC(e,t){if(!e||!t)return;const r=await this.getWebCrypto(),i=await this.getTextEncoder(),n=await r.subtle.sign("HMAC",t,(new i).encode(e));return this.stringToHex(this.arrayBufferToString(n))}async verifyHMAC(e,t,r){const i=await this.generateHMAC(e,t);return this.timingSafeEqual(i,r)}async getStorableKey(e){const t=await this.getWebCrypto(),r=await t.subtle.exportKey("jwk",e);return this.stringToHex(JSON.stringify(r))}async restoreStorableKey(e,t){if(!t)return;const r=await this.getWebCrypto(),i=JSON.parse(this.hexToString(t)||"{}");var n;return(n=i)&&Object.keys(n).length?r.subtle.importKey("jwk",i,this.getKeyAlgorythm(e),!0,this.getKeyOperations(e)):void 0}async getStorableKeyPair(e){const t={};for(const[r,i]of Object.entries(e))t[r]=await this.getStorableKey(i);return t}async restoreStorableKeyPair(e){const t={};for(const[r,i]of Object.entries(e))t[r]=await this.restoreStorableKey(r,i);return t}async deriveSharedKey({publicKey:e,privateKey:t}){if(!e||!t)return;const r=await this.getWebCrypto();return await r.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}async deriveHMACKey({publicKey:e,privateKey:t}){if(!e||!t)return;const r=await this.getWebCrypto();return await r.subtle.deriveKey({name:"ECDH",public:e},t,{name:"HMAC",hash:{name:"SHA-256"},length:256},!0,["sign","verify"])}async getVerificationKeys({publicKey:e,privateKey:t}){if(!e||!t)return{};const r=await this.restoreStorableKeyPair({publicKey:e,privateKey:t}),i=await this.deriveHMACKey(r);return{derivedSecretKey:await this.deriveSharedKey(r),derivedHMACKey:i}}async encryptMessage(e,t){if(!e||!t)return;const r=await this.getWebCrypto(),i=r.getRandomValues(new Uint8Array(12)),n=(new(await this.getTextEncoder())).encode(e),a=await r.subtle.encrypt({name:"AES-GCM",iv:i},t,n),o=new Uint8Array([...i,...new Uint8Array(a)]);return Array.from(o)}async decryptMessage(e,t){if(!e||!t)return;const r=await this.getWebCrypto(),i=this.ensureArrayBuffer(e),n=i.slice(0,12),a=i.slice(12),o=await r.subtle.decrypt({name:"AES-GCM",iv:n},t,a);return(new(await this.getTextDecoder())).decode(o)}}const C="xyz.com",T=["shop","host"],E="Content-Type",O="X-Public-Key",x="X-Ephemeral-Key",H="X-Authorization",P="X-Authorization-Timestamp",M={APPLICATION_JSON:"application/json"},_=(e,t)=>u(t??(e?"POST":"GET")).toUpperCase(),D=({method:e,body:t,headers:r,...i}={})=>{const n=_(t,e),a=r?.[E.toLowerCase()],o={[E]:a||M.APPLICATION_JSON,...r};let s=t;return s&&o[E].startsWith(M.APPLICATION_JSON)&&(s=JSON.stringify(y(s))),{method:n,headers:o,...s&&"GET"!==n&&{body:s},...i}},R=e=>{const t=(e=>{if(p(e))return;return/^(https?:\/\/).+/i.test(e)?new URL(e):new URL(`https://${C}${g(e)}`)})(e);if(t)return T.forEach((e=>t.searchParams.delete(e))),{...t.hostname!==C&&{origin:t.origin},pathname:t.pathname,search:t.search}};class j extends Error{constructor(e,t){super(e);const{code:r=500,...i}=t??{};this.code=r,this.data=i,this.name="VerificationError",Object.setPrototypeOf(this,j.prototype)}}const I=async e=>{if(e?.rawBody)return e.rawBody;try{const t=(await import("raw-body")).default;if(!e.method||"get"===((e,t="")=>d(e)?u(e).toLowerCase():t)(e.method))return;return t(e).then((e=>e?.toString()))}catch(e){throw console.error("Failed to import 'raw-body', please ensure the dependency is installed"),e}},N=async e=>I(e).catch((t=>{throw console.error(`Error getting raw body for '${e?.url}'`,t),t}));function W(e,t,r,i){return new(r||(r=Promise))((function(n,a){function o(e){try{c(i.next(e))}catch(e){a(e)}}function s(e){try{c(i.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,s)}c((i=i.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;e.CONTENT_TYPES=M,e.HEADER_AUTHORIZATION_CUSTOM=H,e.HEADER_AUTHORIZATION_TIMESTAMP=P,e.HEADER_CONTENT_TYPE=E,e.HEADER_EPHEMERAL_KEY=x,e.HEADER_PUBLIC_KEY=O,e.VerificationError=j,e.WebCrypto=S,e.ensureRawBody=N,e.generateStorableKeyPairs=({crypto:e,util:t}={})=>W(void 0,void 0,void 0,(function*(){const r=new S({crypto:e,util:t}),i=yield r.generateKeyPair();return r.getStorableKeyPair({publicKey:i.publicKey,privateKey:i.privateKey})})),e.getAuthorizationHelpers=async(e,{crypto:t,util:r}={})=>{if(p(e))return;const i=new S({crypto:t,util:r}),n=await i.restoreStorableKey("sharedSecret",e);return{encrypt:async e=>i.encryptMessage(e,n),decrypt:async e=>i.decryptMessage(e,n)}},e.getRequestMethod=_,e.getVerificationHelpers=({keyPairs:e,crypto:t,util:r}={keyPairs:{}})=>{const i=new S({crypto:t,util:r});return(t,r)=>W(void 0,void 0,void 0,(function*(){var n;const{[O]:a,[O.toLowerCase()]:o=a,[x]:s,[x.toLowerCase()]:c=s,[P]:l,[P.toLowerCase()]:d=l,[H]:p,[H.toLowerCase()]:h=p}=null!==(n=t.headers)&&void 0!==n?n:{},{uri:g,disableRecryption:b}=null!=r?r:{},m=null!=g?g:t.url,K=w(b);let v=!1;try{const[r,n]=u(h).split(" ");let a;v=w(o&&c&&d&&n&&"HMAC-SHA256"===r&&(null==e?void 0:e.shared));const s=yield N(t);let l=y(s);if(v){if(!(o&&c&&d&&n&&"HMAC-SHA256"===r&&(null==e?void 0:e.shared)&&o===e.shared.publicKey))throw new j("Invalid or missing authorization",{code:401});if(a=yield i.getVerificationKeys({publicKey:c,privateKey:e.shared.privateKey}),!a)throw new j("Invalid or missing verification",{code:412});const u=f(Object.assign({method:_(s,t.method),timestamp:d,body:l},R(m)));if(!(yield i.verifyHMAC(u,a.derivedHMACKey,n)))throw new j("Invalid or missing verification",{code:403});if(!K&&l){const e=yield i.decryptMessage(l,a.derivedSecretKey);l=y(e)}}return{rawBody:s,requestBody:l,processResponse:e=>W(void 0,void 0,void 0,(function*(){return e&&!K&&v&&(null==a?void 0:a.derivedSecretKey)?i.encryptMessage(JSON.stringify(e),a.derivedSecretKey):e}))}}catch(e){throw console.error(`Error handling request verification for '${m}'`,{error:e,isVerifiable:v,disableRecryption:K}),e}}))},e.getVerificationKeysData=async(e,{crypto:t,util:r}={})=>{if(p(e))return{};const i=new S({crypto:t,util:r}),n=await i.getStorableKeyPair(await i.generateKeyPair());return{publicKey:e,ephemeral:n,verification:await i.getVerificationKeys({publicKey:e,privateKey:n.privateKey})}},e.normalizeURIParts=R,e.prepareRequestOptions=D,e.prepareVerificationRequest=({keysData:e,disableRecryption:t,crypto:r,util:i}={})=>{const n=new S({crypto:r,util:i}),a=w(t);return async(t,{method:r,body:i,headers:o,...s}={})=>{let c=y(i);const u=_(c,r);if(a||p(e?.publicKey))return[t,D({method:u,body:c,headers:o,...s})];const{verification:{derivedHMACKey:l,derivedSecretKey:d}={},ephemeral:{publicKey:h}={}}=e??{};if(!l||!h)return;c&&d&&(c=await n.encryptMessage(JSON.stringify(c),d));const g=(()=>{const e=(new Date).getTime();return Math.floor(e/1e3).toString()})(),w=await n.generateHMAC(f({body:c,method:u,timestamp:g,...R(t)}),l);return[t,D({method:u,body:c,headers:{"X-Authorization":`HMAC-SHA256 ${w}`,"X-Authorization-Timestamp":g,"X-Ephemeral-Key":h,"X-Public-Key":e.publicKey,...o},...s}),d]}},e.processVerificationResponse=({keysData:e,disableRecryption:t,crypto:r,util:i}={})=>{const n=new S({crypto:r,util:i}),a=w(t);return async(t,r)=>{const i=r??e.verification?.derivedSecretKey;if(a||!t||!i)return t;const o=await n.decryptMessage(t,i);return y(o)}},Object.defineProperty(e,"__esModule",{value:!0})}));
26
26
  //# sourceMappingURL=index.js.map