@deot/helper-route 1.0.1 → 1.0.3

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/dist/index.cjs.js CHANGED
@@ -15,7 +15,7 @@ const get = (key, url, options) => {
15
15
  let value = match != null ? match[2] : null;
16
16
  if (value === null)
17
17
  return null;
18
- value = helperUtils.flattenDecodeURIComponent(value);
18
+ value = helperUtils.flatten(value);
19
19
  return typeof options$.parse === "function" ? options$.parse(value) : value;
20
20
  };
21
21
 
@@ -30,7 +30,7 @@ const merge = (route) => {
30
30
  let queryArr = [];
31
31
  for (let key in query) {
32
32
  if (query[key] || query[key] === false || query[key] === 0) {
33
- let v = helperUtils.flattenDecodeURIComponent(query[key]);
33
+ let v = helperUtils.flatten(query[key]);
34
34
  queryArr = [
35
35
  ...queryArr,
36
36
  `${key}=${encodeURIComponent(v)}`
@@ -55,7 +55,7 @@ const parse = (url, options) => {
55
55
  if (search) {
56
56
  Array.from(search.match(/[^?=&]+=[^&]*/g) || []).forEach((v) => {
57
57
  let [key, value] = v.split("=");
58
- value = helperUtils.flattenDecodeURIComponent(value);
58
+ value = helperUtils.flatten(value);
59
59
  query[key] = typeof options$.parse === "function" ? options$.parse(value) : value;
60
60
  });
61
61
  }
package/dist/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { flattenJSONParse, flattenDecodeURIComponent } from '@deot/helper-utils';
1
+ import { flattenJSONParse, flatten } from '@deot/helper-utils';
2
2
 
3
3
  const get = (key, url, options) => {
4
4
  const options$ = {
@@ -11,7 +11,7 @@ const get = (key, url, options) => {
11
11
  let value = match != null ? match[2] : null;
12
12
  if (value === null)
13
13
  return null;
14
- value = flattenDecodeURIComponent(value);
14
+ value = flatten(value);
15
15
  return typeof options$.parse === "function" ? options$.parse(value) : value;
16
16
  };
17
17
 
@@ -26,7 +26,7 @@ const merge = (route) => {
26
26
  let queryArr = [];
27
27
  for (let key in query) {
28
28
  if (query[key] || query[key] === false || query[key] === 0) {
29
- let v = flattenDecodeURIComponent(query[key]);
29
+ let v = flatten(query[key]);
30
30
  queryArr = [
31
31
  ...queryArr,
32
32
  `${key}=${encodeURIComponent(v)}`
@@ -51,7 +51,7 @@ const parse = (url, options) => {
51
51
  if (search) {
52
52
  Array.from(search.match(/[^?=&]+=[^&]*/g) || []).forEach((v) => {
53
53
  let [key, value] = v.split("=");
54
- value = flattenDecodeURIComponent(value);
54
+ value = flatten(value);
55
55
  query[key] = typeof options$.parse === "function" ? options$.parse(value) : value;
56
56
  });
57
57
  }
@@ -1,7 +1,7 @@
1
1
  var HelperRoute = (function (exports) {
2
2
  'use strict';
3
3
 
4
- const flattenDecodeURIComponent = (value) => {
4
+ const flatten = (value, parser) => {
5
5
  let need = true;
6
6
  let safeCount = 1;
7
7
  let parseValue = value;
@@ -10,7 +10,7 @@ var HelperRoute = (function (exports) {
10
10
  throw new Error(value);
11
11
  }
12
12
  try {
13
- let next = decodeURIComponent(parseValue);
13
+ let next = (parser || decodeURIComponent)(parseValue);
14
14
  if (parseValue === next) {
15
15
  need = false;
16
16
  }
@@ -30,25 +30,7 @@ var HelperRoute = (function (exports) {
30
30
  if (regex.test(value) && value.length >= 16 && +value > Number.MAX_SAFE_INTEGER) {
31
31
  return value;
32
32
  }
33
- let need = true;
34
- let safeCount = 1;
35
- let parseValue = value;
36
- while (need) {
37
- if (safeCount > 10) {
38
- throw new Error(value);
39
- }
40
- try {
41
- let next = JSON.parse(parseValue);
42
- if (parseValue === next) {
43
- need = false;
44
- }
45
- parseValue = next;
46
- } catch {
47
- need = false;
48
- }
49
- safeCount++;
50
- }
51
- return parseValue;
33
+ return flatten(value, JSON.parse);
52
34
  };
53
35
 
54
36
  const get = (key, url, options) => {
@@ -62,7 +44,7 @@ var HelperRoute = (function (exports) {
62
44
  let value = match != null ? match[2] : null;
63
45
  if (value === null)
64
46
  return null;
65
- value = flattenDecodeURIComponent(value);
47
+ value = flatten(value);
66
48
  return typeof options$.parse === "function" ? options$.parse(value) : value;
67
49
  };
68
50
 
@@ -77,7 +59,7 @@ var HelperRoute = (function (exports) {
77
59
  let queryArr = [];
78
60
  for (let key in query) {
79
61
  if (query[key] || query[key] === false || query[key] === 0) {
80
- let v = flattenDecodeURIComponent(query[key]);
62
+ let v = flatten(query[key]);
81
63
  queryArr = [
82
64
  ...queryArr,
83
65
  `${key}=${encodeURIComponent(v)}`
@@ -102,7 +84,7 @@ var HelperRoute = (function (exports) {
102
84
  if (search) {
103
85
  Array.from(search.match(/[^?=&]+=[^&]*/g) || []).forEach((v) => {
104
86
  let [key, value] = v.split("=");
105
- value = flattenDecodeURIComponent(value);
87
+ value = flatten(value);
106
88
  query[key] = typeof options$.parse === "function" ? options$.parse(value) : value;
107
89
  });
108
90
  }
package/dist/index.umd.js CHANGED
@@ -4,7 +4,7 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.HelperRoute = {}));
5
5
  })(this, (function (exports) { 'use strict';
6
6
 
7
- const flattenDecodeURIComponent = (value) => {
7
+ const flatten = (value, parser) => {
8
8
  let need = true;
9
9
  let safeCount = 1;
10
10
  let parseValue = value;
@@ -13,7 +13,7 @@
13
13
  throw new Error(value);
14
14
  }
15
15
  try {
16
- let next = decodeURIComponent(parseValue);
16
+ let next = (parser || decodeURIComponent)(parseValue);
17
17
  if (parseValue === next) {
18
18
  need = false;
19
19
  }
@@ -33,25 +33,7 @@
33
33
  if (regex.test(value) && value.length >= 16 && +value > Number.MAX_SAFE_INTEGER) {
34
34
  return value;
35
35
  }
36
- let need = true;
37
- let safeCount = 1;
38
- let parseValue = value;
39
- while (need) {
40
- if (safeCount > 10) {
41
- throw new Error(value);
42
- }
43
- try {
44
- let next = JSON.parse(parseValue);
45
- if (parseValue === next) {
46
- need = false;
47
- }
48
- parseValue = next;
49
- } catch {
50
- need = false;
51
- }
52
- safeCount++;
53
- }
54
- return parseValue;
36
+ return flatten(value, JSON.parse);
55
37
  };
56
38
 
57
39
  const get = (key, url, options) => {
@@ -65,7 +47,7 @@
65
47
  let value = match != null ? match[2] : null;
66
48
  if (value === null)
67
49
  return null;
68
- value = flattenDecodeURIComponent(value);
50
+ value = flatten(value);
69
51
  return typeof options$.parse === "function" ? options$.parse(value) : value;
70
52
  };
71
53
 
@@ -80,7 +62,7 @@
80
62
  let queryArr = [];
81
63
  for (let key in query) {
82
64
  if (query[key] || query[key] === false || query[key] === 0) {
83
- let v = flattenDecodeURIComponent(query[key]);
65
+ let v = flatten(query[key]);
84
66
  queryArr = [
85
67
  ...queryArr,
86
68
  `${key}=${encodeURIComponent(v)}`
@@ -105,7 +87,7 @@
105
87
  if (search) {
106
88
  Array.from(search.match(/[^?=&]+=[^&]*/g) || []).forEach((v) => {
107
89
  let [key, value] = v.split("=");
108
- value = flattenDecodeURIComponent(value);
90
+ value = flatten(value);
109
91
  query[key] = typeof options$.parse === "function" ? options$.parse(value) : value;
110
92
  });
111
93
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deot/helper-route",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "main": "dist/index.cjs.js",
5
5
  "module": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,6 +19,6 @@
19
19
  "access": "public"
20
20
  },
21
21
  "dependencies": {
22
- "@deot/helper-utils": "^1.0.1"
22
+ "@deot/helper-utils": "^1.0.3"
23
23
  }
24
24
  }