@agnostack/verifyd 2.1.0-beta.3 → 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 +20 -0
- package/dist/shared/display.d.ts +27 -3
- package/dist/shared/display.d.ts.map +1 -1
- package/dist/shared/display.js +129 -38
- package/dist/shared/display.js.map +1 -1
- package/dist/umd/lib/index.js +1 -1
- package/dist/umd/lib/index.js.map +1 -1
- package/dist/umd/lib/shared/display.d.ts +27 -3
- package/dist/umd/lib/shared/display.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
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
|
+
|
|
8
|
+
# [2.1.0](https://github.com/agnostack/verifyd/compare/v2.0.2...v2.1.0) (2024-03-11)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* testing avoiding of extra encryption ([442ba4d](https://github.com/agnostack/verifyd/commit/442ba4d47931fcd0c4610d6713cfd934f3968edf))
|
|
14
|
+
* updated to remove debug ([6b39330](https://github.com/agnostack/verifyd/commit/6b39330f9f94139afc1df6e74a151f70edf5d227))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* added authorization/shared secret helpers ([6eea8aa](https://github.com/agnostack/verifyd/commit/6eea8aac539c848286c638c470198c790111da2d))
|
|
20
|
+
|
|
1
21
|
# [2.1.0-beta.3](https://github.com/agnostack/verifyd/compare/v2.1.0-beta.2...v2.1.0-beta.3) (2024-03-11)
|
|
2
22
|
|
|
3
23
|
|
package/dist/shared/display.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
export function normalizeShopifyId(shopifyData: any): {
|
|
2
|
-
gid?: string | undefined;
|
|
3
2
|
entity_type?: string | undefined;
|
|
4
|
-
|
|
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
|
|
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":"
|
|
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"}
|
package/dist/shared/display.js
CHANGED
|
@@ -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.
|
|
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
|
|
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.
|
|
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(
|
|
31
|
-
|
|
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.
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
149
|
+
switch (true) {
|
|
150
|
+
case (0, exports.isTypeEnhanced)(value, 'object'):
|
|
151
|
+
case (0, exports.isTypeEnhanced)(value, 'array'): {
|
|
152
|
+
return value;
|
|
117
153
|
}
|
|
118
|
-
|
|
119
|
-
//
|
|
120
|
-
|
|
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) =>
|
|
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.
|
|
312
|
-
?
|
|
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 (
|
|
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: '
|
|
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
|
|
416
|
-
const
|
|
417
|
-
...
|
|
418
|
-
...(0, exports.ensureArray)(
|
|
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
|
-
...
|
|
507
|
+
..._parsedCommaKeywords,
|
|
422
508
|
...keywords.filter((_keyword) => (0, exports.stringNotEmpty)(_keyword))
|
|
423
509
|
];
|
|
424
510
|
}, [])
|
|
425
511
|
]), []);
|
|
426
|
-
return [...new Set(
|
|
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,
|
|
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
|
|
463
|
-
|
|
464
|
-
|
|
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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"}
|
package/dist/umd/lib/index.js
CHANGED
|
@@ -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
|