route-helpers-generator 1.0.8 → 1.0.9
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.
|
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
+
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
|
|
8
|
+
|
|
9
|
+
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
10
|
+
|
|
7
11
|
var _qs = require('qs');
|
|
8
12
|
|
|
9
13
|
var _qs2 = _interopRequireDefault(_qs);
|
|
@@ -12,6 +16,24 @@ var _pathToRegexp = require('path-to-regexp');
|
|
|
12
16
|
|
|
13
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
18
|
|
|
19
|
+
var bigintToString = function bigintToString(value) {
|
|
20
|
+
// eslint-disable-next-line valid-typeof
|
|
21
|
+
if (typeof value === 'bigint') return value.toString();
|
|
22
|
+
if (Array.isArray(value)) return value.map(bigintToString);
|
|
23
|
+
if (value === null || value instanceof Date) return value;
|
|
24
|
+
if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {
|
|
25
|
+
return Object.entries(value).reduce(function (acc, _ref) {
|
|
26
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
27
|
+
key = _ref2[0],
|
|
28
|
+
value = _ref2[1];
|
|
29
|
+
|
|
30
|
+
acc[key] = bigintToString(value);
|
|
31
|
+
return acc;
|
|
32
|
+
}, {});
|
|
33
|
+
}
|
|
34
|
+
return value;
|
|
35
|
+
};
|
|
36
|
+
|
|
15
37
|
var generatePathMethod = function generatePathMethod(path) {
|
|
16
38
|
var tokens = (0, _pathToRegexp.parse)(path);
|
|
17
39
|
var tokenNames = tokens.map(function (token) {
|
|
@@ -27,7 +49,7 @@ var generatePathMethod = function generatePathMethod(path) {
|
|
|
27
49
|
return tokenName === key;
|
|
28
50
|
}) === -1 && key !== 'hash' && key !== 'format' && (queryValues[key] = data[key]);
|
|
29
51
|
});
|
|
30
|
-
var path = pathFunc(data, options);
|
|
52
|
+
var path = pathFunc(bigintToString(data || {}), options);
|
|
31
53
|
var query = _qs2.default.stringify(queryValues, Object.assign({ arrayFormat: 'brackets' }, options || {}));
|
|
32
54
|
var hash = (data || {}).hash || '';
|
|
33
55
|
var format = (data || {}).format || '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generatePathMethod.js"],"names":["generatePathMethod","path","tokens","tokenNames","
|
|
1
|
+
{"version":3,"sources":["../src/generatePathMethod.js"],"names":["bigintToString","value","toString","Array","isArray","map","Date","Object","entries","reduce","acc","key","generatePathMethod","path","tokens","tokenNames","token","name","filter","pathFunc","data","options","queryValues","keys","forEach","findIndex","tokenName","query","stringify","assign","arrayFormat","hash","format"],"mappings":";;;;;;;;;;AAAA;;;;AACA;;;;AAEA,IAAMA,iBAAiB,SAAjBA,cAAiB,CAACC,KAAD,EAAW;AACjC;AACA,KAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B,OAAOA,MAAMC,QAAN,EAAP;AAC/B,KAAIC,MAAMC,OAAN,CAAcH,KAAd,CAAJ,EAA0B,OAAOA,MAAMI,GAAN,CAAUL,cAAV,CAAP;AAC1B,KAAIC,UAAU,IAAV,IAAkBA,iBAAiBK,IAAvC,EAA6C,OAAOL,KAAP;AAC7C,KAAI,QAAOA,KAAP,yCAAOA,KAAP,OAAiB,QAArB,EAA+B;AAC9B,SAAOM,OAAOC,OAAP,CAAeP,KAAf,EAAsBQ,MAAtB,CAA6B,UAACC,GAAD,QAAuB;AAAA;AAAA,OAAhBC,GAAgB;AAAA,OAAXV,KAAW;;AAC1DS,OAAIC,GAAJ,IAAWX,eAAeC,KAAf,CAAX;AACA,UAAOS,GAAP;AACA,GAHM,EAGJ,EAHI,CAAP;AAIA;AACD,QAAOT,KAAP;AACA,CAZD;;AAcA,IAAMW,qBAAqB,SAArBA,kBAAqB,CAACC,IAAD,EAAU;AACpC,KAAMC,SAAS,yBAAMD,IAAN,CAAf;AACA,KAAME,aAAaD,OAAOT,GAAP,CAAW,UAACW,KAAD;AAAA,SAAW,OAAOA,KAAP,KAAiB,QAAjB,GAA4B,IAA5B,GAAmCA,MAAMC,IAApD;AAAA,EAAX,EAAqEC,MAArE,CAA4E,UAACF,KAAD;AAAA,SAAWA,KAAX;AAAA,EAA5E,CAAnB;AACA,KAAMG,WAAW,oCAAiBL,MAAjB,CAAjB;AACA,QAAO,CAACC,UAAD,EAAa,UAACK,IAAD,EAAOC,OAAP,EAAmB;AACtC,MAAIC,cAAc,EAAlB;AACAf,SAAOgB,IAAP,CAAYH,QAAQ,EAApB,EAAwBI,OAAxB,CAAgC,UAACb,GAAD,EAAS;AACxCI,cAAWU,SAAX,CAAqB,UAACC,SAAD;AAAA,WAAeA,cAAcf,GAA7B;AAAA,IAArB,MAA2D,CAAC,CAA5D,IACAA,QAAQ,MADR,IAEAA,QAAQ,QAFR,KAGCW,YAAYX,GAAZ,IAAmBS,KAAKT,GAAL,CAHpB;AAIA,GALD;AAMA,MAAME,OAAOM,SAASnB,eAAeoB,QAAQ,EAAvB,CAAT,EAAqCC,OAArC,CAAb;AACA,MAAMM,QAAQ,aAAGC,SAAH,CAAaN,WAAb,EAA0Bf,OAAOsB,MAAP,CAAc,EAAEC,aAAa,UAAf,EAAd,EAA2CT,WAAW,EAAtD,CAA1B,CAAd;AACA,MAAMU,OAAO,CAACX,QAAQ,EAAT,EAAaW,IAAb,IAAqB,EAAlC;AACA,MAAMC,SAAS,CAACZ,QAAQ,EAAT,EAAaY,MAAb,IAAuB,EAAtC;AACA,cAAUnB,IAAV,IAAiBmB,gBAAcA,MAA/B,KAA0CL,SAAS,GAAnD,IAAyDA,KAAzD,IAAiEI,QAAQ,GAAzE,IAA+EA,IAA/E;AACA,EAbM,CAAP;AAcA,CAlBD;;kBAoBenB,kB","file":"generatePathMethod.js","sourcesContent":["import qs from 'qs'\nimport {parse, tokensToFunction} from 'path-to-regexp'\n\nconst bigintToString = (value) => {\n\t// eslint-disable-next-line valid-typeof\n\tif (typeof value === 'bigint') return value.toString();\n\tif (Array.isArray(value)) return value.map(bigintToString);\n\tif (value === null || value instanceof Date) return value;\n\tif (typeof value === 'object') {\n\t\treturn Object.entries(value).reduce((acc, [key, value]) => {\n\t\t\tacc[key] = bigintToString(value);\n\t\t\treturn acc;\n\t\t}, {});\n\t}\n\treturn value;\n}\n\nconst generatePathMethod = (path) => {\n\tconst tokens = parse(path);\n\tconst tokenNames = tokens.map((token) => typeof token === 'string' ? null : token.name).filter((token) => token);\n\tconst pathFunc = tokensToFunction(tokens);\n\treturn [tokenNames, (data, options) => {\n\t\tlet queryValues = {};\n\t\tObject.keys(data || {}).forEach((key) => {\n\t\t\ttokenNames.findIndex((tokenName) => tokenName === key) === -1 &&\n\t\t\tkey !== 'hash' &&\n\t\t\tkey !== 'format' &&\n\t\t\t(queryValues[key] = data[key]);\n\t\t});\n\t\tconst path = pathFunc(bigintToString(data || {}), options);\n\t\tconst query = qs.stringify(queryValues, Object.assign({ arrayFormat: 'brackets' }, options || {}));\n\t\tconst hash = (data || {}).hash || '';\n\t\tconst format = (data || {}).format || '';\n\t\treturn `${path}${format && `.${format}`}${query && '?'}${query}${hash && '#'}${hash}`;\n\t}];\n};\n\nexport default generatePathMethod;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import qs from 'qs'
|
|
2
2
|
import {parse, tokensToFunction} from 'path-to-regexp'
|
|
3
3
|
|
|
4
|
+
const bigintToString = (value) => {
|
|
5
|
+
// eslint-disable-next-line valid-typeof
|
|
6
|
+
if (typeof value === 'bigint') return value.toString();
|
|
7
|
+
if (Array.isArray(value)) return value.map(bigintToString);
|
|
8
|
+
if (value === null || value instanceof Date) return value;
|
|
9
|
+
if (typeof value === 'object') {
|
|
10
|
+
return Object.entries(value).reduce((acc, [key, value]) => {
|
|
11
|
+
acc[key] = bigintToString(value);
|
|
12
|
+
return acc;
|
|
13
|
+
}, {});
|
|
14
|
+
}
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
|
|
4
18
|
const generatePathMethod = (path) => {
|
|
5
19
|
const tokens = parse(path);
|
|
6
20
|
const tokenNames = tokens.map((token) => typeof token === 'string' ? null : token.name).filter((token) => token);
|
|
@@ -13,7 +27,7 @@ const generatePathMethod = (path) => {
|
|
|
13
27
|
key !== 'format' &&
|
|
14
28
|
(queryValues[key] = data[key]);
|
|
15
29
|
});
|
|
16
|
-
const path = pathFunc(data, options);
|
|
30
|
+
const path = pathFunc(bigintToString(data || {}), options);
|
|
17
31
|
const query = qs.stringify(queryValues, Object.assign({ arrayFormat: 'brackets' }, options || {}));
|
|
18
32
|
const hash = (data || {}).hash || '';
|
|
19
33
|
const format = (data || {}).format || '';
|