@sparted/shared-library 0.0.13 → 0.0.14

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.
Files changed (77) hide show
  1. package/_virtual/_tslib.js +1 -50
  2. package/_virtual/_tslib.js.map +1 -1
  3. package/array/array-to-map.js +6 -9
  4. package/array/array-to-map.js.map +1 -1
  5. package/array/get-values-from-keys.js +2 -2
  6. package/array/get-values-from-keys.js.map +1 -1
  7. package/date/constants.js +4 -4
  8. package/date/constants.js.map +1 -1
  9. package/date/convert.js +2 -2
  10. package/date/convert.js.map +1 -1
  11. package/date/format-minutes.js +6 -6
  12. package/date/format-minutes.js.map +1 -1
  13. package/date/get-time-diff-as-string.js +30 -32
  14. package/date/get-time-diff-as-string.js.map +1 -1
  15. package/formatting/format-number.js +7 -7
  16. package/formatting/format-number.js.map +1 -1
  17. package/fp/run-while.js +5 -6
  18. package/fp/run-while.js.map +1 -1
  19. package/http/encode-search-object.js +9 -13
  20. package/http/encode-search-object.js.map +1 -1
  21. package/http/fetch-with-timeout.js +6 -6
  22. package/http/fetch-with-timeout.js.map +1 -1
  23. package/linked-list/apply-diff-linked-list.js +2 -2
  24. package/linked-list/apply-diff-linked-list.js.map +1 -1
  25. package/linked-list/create-linked-list.js +24 -24
  26. package/linked-list/create-linked-list.js.map +1 -1
  27. package/linked-list/find-linked-list.js +2 -3
  28. package/linked-list/find-linked-list.js.map +1 -1
  29. package/linked-list/get-linked-list.js +1 -1
  30. package/linked-list/get-linked-list.js.map +1 -1
  31. package/linked-list/insert-linked-list.js +11 -13
  32. package/linked-list/insert-linked-list.js.map +1 -1
  33. package/linked-list/linked-list-utils.js +26 -27
  34. package/linked-list/linked-list-utils.js.map +1 -1
  35. package/linked-list/reduce-linked-list.js +5 -5
  36. package/linked-list/reduce-linked-list.js.map +1 -1
  37. package/linked-list/remove-linked-list.js +11 -12
  38. package/linked-list/remove-linked-list.js.map +1 -1
  39. package/linked-list/update-linked-list.js +6 -7
  40. package/linked-list/update-linked-list.js.map +1 -1
  41. package/linked-list/while-linked-list.js +4 -5
  42. package/linked-list/while-linked-list.js.map +1 -1
  43. package/math/clamp-number.js +2 -3
  44. package/math/clamp-number.js.map +1 -1
  45. package/math/interpolate.js +4 -4
  46. package/math/interpolate.js.map +1 -1
  47. package/math/number-range.js +3 -4
  48. package/math/number-range.js.map +1 -1
  49. package/math/random-number.js +2 -3
  50. package/math/random-number.js.map +1 -1
  51. package/object/merge-deep.js +6 -9
  52. package/object/merge-deep.js.map +1 -1
  53. package/package.json +1 -1
  54. package/parsing/parse-boolean.js +1 -1
  55. package/parsing/parse-boolean.js.map +1 -1
  56. package/parsing/parse-enum.js +3 -3
  57. package/parsing/parse-enum.js.map +1 -1
  58. package/parsing/parse-number.js +2 -2
  59. package/parsing/parse-number.js.map +1 -1
  60. package/predicates/is-function.js +1 -1
  61. package/predicates/is-function.js.map +1 -1
  62. package/predicates/is-null.js +1 -1
  63. package/predicates/is-null.js.map +1 -1
  64. package/predicates/is-object.js +1 -1
  65. package/predicates/is-object.js.map +1 -1
  66. package/predicates/is-primitive.js +4 -4
  67. package/predicates/is-primitive.js.map +1 -1
  68. package/predicates/is-undefined.js +1 -1
  69. package/predicates/is-undefined.js.map +1 -1
  70. package/promise/delay.js +2 -2
  71. package/promise/delay.js.map +1 -1
  72. package/promise/execute-or-resolve-default.js +2 -2
  73. package/promise/execute-or-resolve-default.js.map +1 -1
  74. package/promise/execute-with-delay.js +5 -11
  75. package/promise/execute-with-delay.js.map +1 -1
  76. package/string/replace-in-template.js +8 -10
  77. package/string/replace-in-template.js.map +1 -1
@@ -13,17 +13,6 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
13
  PERFORMANCE OF THIS SOFTWARE.
14
14
  ***************************************************************************** */
15
15
 
16
- var __assign = function() {
17
- __assign = Object.assign || function __assign(t) {
18
- for (var s, i = 1, n = arguments.length; i < n; i++) {
19
- s = arguments[i];
20
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
21
- }
22
- return t;
23
- };
24
- return __assign.apply(this, arguments);
25
- };
26
-
27
16
  function __rest(s, e) {
28
17
  var t = {};
29
18
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -44,45 +33,7 @@ function __awaiter(thisArg, _arguments, P, generator) {
44
33
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
45
34
  step((generator = generator.apply(thisArg, _arguments || [])).next());
46
35
  });
47
- }
48
-
49
- function __generator(thisArg, body) {
50
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
51
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
52
- function verb(n) { return function (v) { return step([n, v]); }; }
53
- function step(op) {
54
- if (f) throw new TypeError("Generator is already executing.");
55
- while (_) try {
56
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
57
- if (y = 0, t) op = [op[0] & 2, t.value];
58
- switch (op[0]) {
59
- case 0: case 1: t = op; break;
60
- case 4: _.label++; return { value: op[1], done: false };
61
- case 5: _.label++; y = op[1]; op = [0]; continue;
62
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
63
- default:
64
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
65
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
66
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
67
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
68
- if (t[2]) _.ops.pop();
69
- _.trys.pop(); continue;
70
- }
71
- op = body.call(thisArg, _);
72
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
73
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
74
- }
75
- }
76
-
77
- function __spreadArray(to, from, pack) {
78
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
79
- if (ar || !(i in from)) {
80
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
81
- ar[i] = from[i];
82
- }
83
- }
84
- return to.concat(ar || Array.prototype.slice.call(from));
85
36
  }
86
37
 
87
- export { __assign, __awaiter, __generator, __rest, __spreadArray };
38
+ export { __awaiter, __rest };
88
39
  //# sourceMappingURL=_tslib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_tslib.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"_tslib.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,17 +1,14 @@
1
- import { __assign } from '../_virtual/_tslib.js';
2
-
3
1
  /**
4
2
  * Transform an array to a map.
5
3
  */
6
- var arrayToMap = function (array, options) {
7
- var selectKey = options.selectKey;
8
- return array.reduce(function (acc, current) {
9
- var _a;
10
- var key = selectKey(current);
11
- var value = options.dataModifier
4
+ const arrayToMap = (array, options) => {
5
+ const { selectKey } = options;
6
+ return array.reduce((acc, current) => {
7
+ const key = selectKey(current);
8
+ const value = options.dataModifier
12
9
  ? options.dataModifier(current)
13
10
  : current;
14
- return __assign(__assign({}, acc), (_a = {}, _a[key] = value, _a));
11
+ return Object.assign(Object.assign({}, acc), { [key]: value });
15
12
  }, {});
16
13
  };
17
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"array-to-map.js","sources":["../../src/array/array-to-map.ts"],"sourcesContent":["export type ArrayToMapOptions<InitialValue, ModifiedValue = InitialValue> = {\n /**\n * Function to return the key used in the map.\n */\n selectKey: (value: InitialValue) => string,\n /**\n * Transform the initial data into another value\n */\n dataModifier?: (value: InitialValue) => ModifiedValue;\n};\n\n/**\n * Transform an array to a map.\n */\nexport const arrayToMap = <InitialValue, ModifiedValue = InitialValue>(\n array: ReadonlyArray<InitialValue>,\n options: ArrayToMapOptions<InitialValue, ModifiedValue>,\n) => {\n const { selectKey } = options;\n\n return array.reduce<Record<string, ModifiedValue>>((acc, current) => {\n const key = selectKey(current);\n const value = options.dataModifier\n ? options.dataModifier(current)\n : current;\n\n return {\n ...acc,\n [key]: value as ModifiedValue,\n };\n }, {});\n};\n"],"names":[],"mappings":";;AAWA;;AAEG;AACU,IAAA,UAAU,GAAG,UACxB,KAAkC,EAClC,OAAuD,EAAA;AAE/C,IAAA,IAAA,SAAS,GAAK,OAAO,CAAA,SAAZ,CAAa;AAE9B,IAAA,OAAO,KAAK,CAAC,MAAM,CAAgC,UAAC,GAAG,EAAE,OAAO,EAAA;;AAC9D,QAAA,IAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAC/B,QAAA,IAAM,KAAK,GAAG,OAAO,CAAC,YAAY;AAChC,cAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;cAC7B,OAAO,CAAC;AAEZ,QAAA,OAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACK,GAAG,CAAA,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CACL,GAAG,CAAA,GAAG,KAAsB,EAC7B,EAAA,EAAA,CAAA;KACH,EAAE,EAAE,CAAC,CAAC;AACT;;;;"}
1
+ {"version":3,"file":"array-to-map.js","sources":["../../src/array/array-to-map.ts"],"sourcesContent":["export type ArrayToMapOptions<InitialValue, ModifiedValue = InitialValue> = {\n /**\n * Function to return the key used in the map.\n */\n selectKey: (value: InitialValue) => string,\n /**\n * Transform the initial data into another value\n */\n dataModifier?: (value: InitialValue) => ModifiedValue;\n};\n\n/**\n * Transform an array to a map.\n */\nexport const arrayToMap = <InitialValue, ModifiedValue = InitialValue>(\n array: ReadonlyArray<InitialValue>,\n options: ArrayToMapOptions<InitialValue, ModifiedValue>,\n) => {\n const { selectKey } = options;\n\n return array.reduce<Record<string, ModifiedValue>>((acc, current) => {\n const key = selectKey(current);\n const value = options.dataModifier\n ? options.dataModifier(current)\n : current;\n\n return {\n ...acc,\n [key]: value as ModifiedValue,\n };\n }, {});\n};\n"],"names":[],"mappings":"AAWA;;AAEG;MACU,UAAU,GAAG,CACxB,KAAkC,EAClC,OAAuD,KACrD;AACF,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE9B,OAAO,KAAK,CAAC,MAAM,CAAgC,CAAC,GAAG,EAAE,OAAO,KAAI;AAClE,QAAA,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAC/B,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY;AAChC,cAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;cAC7B,OAAO,CAAC;AAEZ,QAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,GAAG,CACN,EAAA,EAAA,CAAC,GAAG,GAAG,KAAsB,EAC7B,CAAA,CAAA;KACH,EAAE,EAAE,CAAC,CAAC;AACT;;;;"}
@@ -1,5 +1,5 @@
1
- var valuesFromKeys = function (keys, map) {
2
- return keys.map(function (key) { return map[key]; });
1
+ const valuesFromKeys = (keys, map) => {
2
+ return keys.map((key) => map[key]);
3
3
  };
4
4
 
5
5
  export { valuesFromKeys };
@@ -1 +1 @@
1
- {"version":3,"file":"get-values-from-keys.js","sources":["../../src/array/get-values-from-keys.ts"],"sourcesContent":["export const valuesFromKeys = <T>(keys: string[], map: Record<string, T>) => {\n return keys.map((key) => map[key]);\n};\n"],"names":[],"mappings":"AAAa,IAAA,cAAc,GAAG,UAAI,IAAc,EAAE,GAAsB,EAAA;AACtE,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAA,EAAK,OAAA,GAAG,CAAC,GAAG,CAAC,CAAR,EAAQ,CAAC,CAAC;AACrC;;;;"}
1
+ {"version":3,"file":"get-values-from-keys.js","sources":["../../src/array/get-values-from-keys.ts"],"sourcesContent":["export const valuesFromKeys = <T>(keys: string[], map: Record<string, T>) => {\n return keys.map((key) => map[key]);\n};\n"],"names":[],"mappings":"MAAa,cAAc,GAAG,CAAI,IAAc,EAAE,GAAsB,KAAI;AAC1E,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC;;;;"}
package/date/constants.js CHANGED
@@ -1,7 +1,7 @@
1
- var MS_SECOND = 1000;
2
- var MS_MINUTE = MS_SECOND * 60;
3
- var MS_HOUR = MS_MINUTE * 60;
4
- var MS_DAY = MS_HOUR * 24;
1
+ const MS_SECOND = 1000;
2
+ const MS_MINUTE = MS_SECOND * 60;
3
+ const MS_HOUR = MS_MINUTE * 60;
4
+ const MS_DAY = MS_HOUR * 24;
5
5
 
6
6
  export { MS_DAY, MS_HOUR, MS_MINUTE, MS_SECOND };
7
7
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../src/date/constants.ts"],"sourcesContent":["export const MS_SECOND = 1000;\nexport const MS_MINUTE = MS_SECOND * 60;\nexport const MS_HOUR = MS_MINUTE * 60;\nexport const MS_DAY = MS_HOUR * 24;"],"names":[],"mappings":"AAAO,IAAM,SAAS,GAAG,KAAK;AACjB,IAAA,SAAS,GAAG,SAAS,GAAG,GAAG;AAC3B,IAAA,OAAO,GAAG,SAAS,GAAG,GAAG;AACzB,IAAA,MAAM,GAAG,OAAO,GAAG;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../../src/date/constants.ts"],"sourcesContent":["export const MS_SECOND = 1000;\nexport const MS_MINUTE = MS_SECOND * 60;\nexport const MS_HOUR = MS_MINUTE * 60;\nexport const MS_DAY = MS_HOUR * 24;"],"names":[],"mappings":"AAAO,MAAM,SAAS,GAAG,KAAK;AACjB,MAAA,SAAS,GAAG,SAAS,GAAG,GAAG;AAC3B,MAAA,OAAO,GAAG,SAAS,GAAG,GAAG;AACzB,MAAA,MAAM,GAAG,OAAO,GAAG;;;;"}
package/date/convert.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { MS_MINUTE, MS_HOUR } from './constants.js';
2
2
 
3
- var msToMinute = function (ms) { return Math.floor(ms / MS_MINUTE); };
4
- var msToHour = function (ms) { return Math.floor(ms / MS_HOUR); };
3
+ const msToMinute = (ms) => Math.floor(ms / MS_MINUTE);
4
+ const msToHour = (ms) => Math.floor(ms / MS_HOUR);
5
5
 
6
6
  export { msToHour, msToMinute };
7
7
  //# sourceMappingURL=convert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sources":["../../src/date/convert.ts"],"sourcesContent":["import { MS_MINUTE, MS_HOUR } from './constants';\n\nexport const msToMinute = (ms: number) => Math.floor(ms / MS_MINUTE);\n\nexport const msToHour = (ms: number) => Math.floor(ms / MS_HOUR);"],"names":[],"mappings":";;AAEa,IAAA,UAAU,GAAG,UAAC,EAAU,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,CAAA,GAAC;AAExD,IAAA,QAAQ,GAAG,UAAC,EAAU,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"convert.js","sources":["../../src/date/convert.ts"],"sourcesContent":["import { MS_MINUTE, MS_HOUR } from './constants';\n\nexport const msToMinute = (ms: number) => Math.floor(ms / MS_MINUTE);\n\nexport const msToHour = (ms: number) => Math.floor(ms / MS_HOUR);"],"names":[],"mappings":";;AAEa,MAAA,UAAU,GAAG,CAAC,EAAU,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,EAAE;AAExD,MAAA,QAAQ,GAAG,CAAC,EAAU,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO;;;;"}
@@ -1,11 +1,11 @@
1
- var formatMinutes = function (timeInMin) {
2
- var hours = Math.floor(timeInMin / 60);
3
- var mins = Math.round(timeInMin % 60);
1
+ const formatMinutes = (timeInMin) => {
2
+ const hours = Math.floor(timeInMin / 60);
3
+ const mins = Math.round(timeInMin % 60);
4
4
  if (hours === 0)
5
- return "".concat(mins, "min");
5
+ return `${mins}min`;
6
6
  if (mins === 0)
7
- return "".concat(hours, "h");
8
- return "".concat(hours, "h").concat(mins, "min");
7
+ return `${hours}h`;
8
+ return `${hours}h${mins}min`;
9
9
  };
10
10
 
11
11
  export { formatMinutes };
@@ -1 +1 @@
1
- {"version":3,"file":"format-minutes.js","sources":["../../src/date/format-minutes.ts"],"sourcesContent":["export const formatMinutes = (timeInMin: number): string => {\n const hours = Math.floor(timeInMin / 60);\n const mins = Math.round(timeInMin % 60);\n\n if (hours === 0) return `${mins}min`;\n if (mins === 0) return `${hours}h`;\n\n return `${hours}h${mins}min`;\n};\n"],"names":[],"mappings":"AAAO,IAAM,aAAa,GAAG,UAAC,SAAiB,EAAA;IAC7C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IACzC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IAExC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAA,CAAA,MAAA,CAAG,IAAI,EAAA,KAAA,CAAK,CAAC;IACrC,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,EAAA,CAAA,MAAA,CAAG,KAAK,EAAA,GAAA,CAAG,CAAC;AAEnC,IAAA,OAAO,EAAG,CAAA,MAAA,CAAA,KAAK,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,IAAI,QAAK,CAAC;AAC/B;;;;"}
1
+ {"version":3,"file":"format-minutes.js","sources":["../../src/date/format-minutes.ts"],"sourcesContent":["export const formatMinutes = (timeInMin: number): string => {\n const hours = Math.floor(timeInMin / 60);\n const mins = Math.round(timeInMin % 60);\n\n if (hours === 0) return `${mins}min`;\n if (mins === 0) return `${hours}h`;\n\n return `${hours}h${mins}min`;\n};\n"],"names":[],"mappings":"AAAa,MAAA,aAAa,GAAG,CAAC,SAAiB,KAAY;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;IAExC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAA,EAAG,IAAI,CAAA,GAAA,CAAK,CAAC;IACrC,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,CAAA,EAAG,KAAK,CAAA,CAAA,CAAG,CAAC;AAEnC,IAAA,OAAO,CAAG,EAAA,KAAK,CAAI,CAAA,EAAA,IAAI,KAAK,CAAC;AAC/B;;;;"}
@@ -2,7 +2,7 @@ import { replaceInTemplate } from '../string/replace-in-template.js';
2
2
  import { MS_HOUR, MS_DAY } from './constants.js';
3
3
  import { msToMinute, msToHour } from './convert.js';
4
4
 
5
- var defaultLocaleLabels = [
5
+ const defaultLocaleLabels = [
6
6
  'January',
7
7
  'February',
8
8
  'March',
@@ -16,7 +16,7 @@ var defaultLocaleLabels = [
16
16
  'November',
17
17
  'December',
18
18
  ];
19
- var defaultEnglishTemplate = {
19
+ const defaultEnglishTemplate = {
20
20
  timeTemplate: '%time% %timeLabel% ago',
21
21
  fullDateTemplate: 'on %date%',
22
22
  monthLocaleLabels: defaultLocaleLabels,
@@ -31,32 +31,32 @@ var defaultEnglishTemplate = {
31
31
  },
32
32
  },
33
33
  };
34
- var TEMPLATE_CONFIG = {
34
+ const TEMPLATE_CONFIG = {
35
35
  delimiter: {
36
36
  left: '%',
37
37
  right: '%',
38
38
  },
39
39
  };
40
- var formatMinuteString = function (minute) {
41
- var str = minute.toString();
40
+ const formatMinuteString = (minute) => {
41
+ const str = minute.toString();
42
42
  return {
43
- time: str.length === 2 ? str : "0".concat(str),
43
+ time: str.length === 2 ? str : `0${str}`,
44
44
  };
45
45
  };
46
- var formatHourString = function (hour) {
47
- var period = hour < 12 ? 'am' : 'pm';
48
- var twelveHourTime = hour > 12 ? hour - 12 : hour;
46
+ const formatHourString = (hour) => {
47
+ const period = hour < 12 ? 'am' : 'pm';
48
+ const twelveHourTime = hour > 12 ? hour - 12 : hour;
49
49
  return {
50
50
  time: twelveHourTime === 0 ? '12' : twelveHourTime.toString(),
51
- period: period,
51
+ period,
52
52
  };
53
53
  };
54
- var getTemplatingParameters = function (msDiff, config) {
55
- var dates = config.dates, templateConfig = config.templateConfig;
56
- var timeLabel = templateConfig.timeLabel, monthLocaleLabels = templateConfig.monthLocaleLabels, timeTemplate = templateConfig.timeTemplate, fullDateTemplate = templateConfig.fullDateTemplate;
54
+ const getTemplatingParameters = (msDiff, config) => {
55
+ const { dates, templateConfig } = config;
56
+ const { timeLabel, monthLocaleLabels, timeTemplate, fullDateTemplate } = templateConfig;
57
57
  if (msDiff < MS_HOUR) {
58
- var minuteDiff = msToMinute(msDiff);
59
- var minuteUnit = minuteDiff > 1
58
+ const minuteDiff = msToMinute(msDiff);
59
+ const minuteUnit = minuteDiff > 1
60
60
  ? timeLabel.minute.plural
61
61
  : timeLabel.minute.singular;
62
62
  return {
@@ -68,8 +68,8 @@ var getTemplatingParameters = function (msDiff, config) {
68
68
  };
69
69
  }
70
70
  if (msDiff < MS_DAY) {
71
- var hourDiff = msToHour(msDiff);
72
- var hourUnit = hourDiff > 1
71
+ const hourDiff = msToHour(msDiff);
72
+ const hourUnit = hourDiff > 1
73
73
  ? timeLabel.hour.plural
74
74
  : timeLabel.hour.singular;
75
75
  return {
@@ -80,15 +80,15 @@ var getTemplatingParameters = function (msDiff, config) {
80
80
  },
81
81
  };
82
82
  }
83
- var monthLabel = monthLocaleLabels[dates.old.getMonth()];
84
- var minute = formatMinuteString(dates.old.getMinutes());
85
- var hour = formatHourString(dates.old.getHours());
86
- var dayFormat = "".concat(monthLabel, " ").concat(dates.old.getDate());
87
- var timeFormat = "".concat(hour.time, ":").concat(minute.time, " ").concat(hour.period);
83
+ const monthLabel = monthLocaleLabels[dates.old.getMonth()];
84
+ const minute = formatMinuteString(dates.old.getMinutes());
85
+ const hour = formatHourString(dates.old.getHours());
86
+ const dayFormat = `${monthLabel} ${dates.old.getDate()}`;
87
+ const timeFormat = `${hour.time}:${minute.time} ${hour.period}`;
88
88
  return {
89
89
  template: fullDateTemplate,
90
90
  params: {
91
- date: "".concat(dayFormat, ", ").concat(timeFormat),
91
+ date: `${dayFormat}, ${timeFormat}`,
92
92
  },
93
93
  };
94
94
  };
@@ -103,22 +103,20 @@ var getTemplatingParameters = function (msDiff, config) {
103
103
  * @param template - DiffTemplate
104
104
  * @returns a preformated string to be inserted in a phrase.
105
105
  */
106
- var getTimeDiffAsString = function (olderDate, recentDate, templateConfig) {
107
- if (recentDate === void 0) { recentDate = new Date(); }
108
- if (templateConfig === void 0) { templateConfig = defaultEnglishTemplate; }
109
- var oldDateTime = olderDate.getTime();
110
- var recentDateTime = recentDate.getTime();
106
+ const getTimeDiffAsString = (olderDate, recentDate = new Date(), templateConfig = defaultEnglishTemplate) => {
107
+ const oldDateTime = olderDate.getTime();
108
+ const recentDateTime = recentDate.getTime();
111
109
  if (oldDateTime > recentDateTime) {
112
110
  return '';
113
111
  }
114
- var msDiff = recentDateTime - oldDateTime;
115
- var _a = getTemplatingParameters(msDiff, {
112
+ const msDiff = recentDateTime - oldDateTime;
113
+ const { template, params } = getTemplatingParameters(msDiff, {
116
114
  dates: {
117
115
  old: olderDate,
118
116
  recent: recentDate,
119
117
  },
120
- templateConfig: templateConfig,
121
- }), template = _a.template, params = _a.params;
118
+ templateConfig,
119
+ });
122
120
  return replaceInTemplate(template, params, TEMPLATE_CONFIG);
123
121
  };
124
122
 
@@ -1 +1 @@
1
- {"version":3,"file":"get-time-diff-as-string.js","sources":["../../src/date/get-time-diff-as-string.ts"],"sourcesContent":["import { ReplaceConfig, replaceInTemplate } from '../string';\nimport { MS_HOUR, MS_DAY } from './constants';\nimport { msToMinute, msToHour } from './convert';\n\nexport type MonthLocaleLabels = [\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n];\n\nexport type DiffTemplate = {\n /**\n * e.g.: (\"%time% %timelabel% blabla\")\n */\n timeTemplate: string,\n /**\n * e.g.: \"%date% blabla\"\n */\n monthLocaleLabels: MonthLocaleLabels,\n fullDateTemplate: string,\n timeLabel: {\n minute: {\n singular: string,\n plural: string,\n },\n hour: {\n singular: string,\n plural: string,\n },\n }\n};\n\nconst defaultLocaleLabels: MonthLocaleLabels = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nconst defaultEnglishTemplate: DiffTemplate = {\n timeTemplate: '%time% %timeLabel% ago',\n fullDateTemplate: 'on %date%',\n monthLocaleLabels: defaultLocaleLabels,\n timeLabel: {\n minute: {\n singular: 'min',\n plural: 'min',\n },\n hour: {\n singular: 'hour',\n plural: 'hours',\n },\n },\n};\n\nconst TEMPLATE_CONFIG: ReplaceConfig = {\n delimiter: {\n left: '%',\n right: '%',\n },\n};\n\ntype HourFormat = {\n time: string,\n period: 'am' | 'pm';\n}\n\ntype MinuteFormat = {\n time: string,\n};\n\ntype DateForTemplate = {\n old: Date,\n recent: Date,\n};\n\ntype ParamForTemplateConfig = {\n templateConfig: DiffTemplate,\n dates: DateForTemplate,\n}\n\nconst formatMinuteString = (minute: number): MinuteFormat => {\n const str = minute.toString();\n\n return {\n time: str.length === 2 ? str : `0${str}`,\n };\n}\n\nconst formatHourString = (hour: number): HourFormat => {\n const period = hour < 12 ? 'am' : 'pm';\n const twelveHourTime = hour > 12 ? hour - 12 : hour;\n\n return {\n time: twelveHourTime === 0 ? '12' : twelveHourTime.toString(),\n period,\n }\n};\n\nconst getTemplatingParameters = (msDiff: number, config: ParamForTemplateConfig) => {\n const { dates, templateConfig } = config;\n const { timeLabel, monthLocaleLabels, timeTemplate, fullDateTemplate } = templateConfig;\n\n if (msDiff < MS_HOUR) {\n const minuteDiff = msToMinute(msDiff);\n const minuteUnit = minuteDiff > 1\n ? timeLabel.minute.plural\n : timeLabel.minute.singular;\n\n return {\n template: timeTemplate,\n params: {\n time: String(minuteDiff || 1),\n timeLabel: minuteUnit,\n },\n };\n }\n\n if (msDiff < MS_DAY) {\n const hourDiff = msToHour(msDiff);\n const hourUnit = hourDiff > 1\n ? timeLabel.hour.plural\n : timeLabel.hour.singular;\n\n return {\n template: timeTemplate,\n params: {\n time: String(hourDiff),\n timeLabel: hourUnit,\n },\n };\n }\n\n const monthLabel = monthLocaleLabels[dates.old.getMonth()];\n\n const minute = formatMinuteString(dates.old.getMinutes());\n const hour = formatHourString(dates.old.getHours());\n\n const dayFormat = `${monthLabel} ${dates.old.getDate()}`;\n const timeFormat = `${hour.time}:${minute.time} ${hour.period}`;\n\n return {\n template: fullDateTemplate,\n params: {\n date: `${dayFormat}, ${timeFormat}`,\n },\n };\n}\n\n/**\n * The returned string follows the following rules:\n * - If diff < 60 minutes: '29 min ago'\n * - If diff >= 60 minutes & < 24 hours: '12 hours ago' | '1 hour ago'\n * - If diff > 24 hours: 'on March 15, 14:45 pm'\n *\n * @param olderDate - Date\n * @param recentDate - Date\n * @param template - DiffTemplate\n * @returns a preformated string to be inserted in a phrase.\n */\nexport const getTimeDiffAsString = (olderDate: Date, recentDate = new Date(), templateConfig = defaultEnglishTemplate): string => {\n const oldDateTime = olderDate.getTime();\n const recentDateTime = recentDate.getTime();\n\n if (oldDateTime > recentDateTime) {\n return '';\n }\n\n const msDiff = recentDateTime - oldDateTime;\n const { template, params } = getTemplatingParameters(msDiff, {\n dates: {\n old: olderDate,\n recent: recentDate,\n },\n templateConfig,\n });\n\n return replaceInTemplate(template, params, TEMPLATE_CONFIG);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-time-diff-as-string.js","sources":["../../src/date/get-time-diff-as-string.ts"],"sourcesContent":["import { ReplaceConfig, replaceInTemplate } from '../string';\nimport { MS_HOUR, MS_DAY } from './constants';\nimport { msToMinute, msToHour } from './convert';\n\nexport type MonthLocaleLabels = [\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n];\n\nexport type DiffTemplate = {\n /**\n * e.g.: (\"%time% %timelabel% blabla\")\n */\n timeTemplate: string,\n /**\n * e.g.: \"%date% blabla\"\n */\n monthLocaleLabels: MonthLocaleLabels,\n fullDateTemplate: string,\n timeLabel: {\n minute: {\n singular: string,\n plural: string,\n },\n hour: {\n singular: string,\n plural: string,\n },\n }\n};\n\nconst defaultLocaleLabels: MonthLocaleLabels = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nconst defaultEnglishTemplate: DiffTemplate = {\n timeTemplate: '%time% %timeLabel% ago',\n fullDateTemplate: 'on %date%',\n monthLocaleLabels: defaultLocaleLabels,\n timeLabel: {\n minute: {\n singular: 'min',\n plural: 'min',\n },\n hour: {\n singular: 'hour',\n plural: 'hours',\n },\n },\n};\n\nconst TEMPLATE_CONFIG: ReplaceConfig = {\n delimiter: {\n left: '%',\n right: '%',\n },\n};\n\ntype HourFormat = {\n time: string,\n period: 'am' | 'pm';\n}\n\ntype MinuteFormat = {\n time: string,\n};\n\ntype DateForTemplate = {\n old: Date,\n recent: Date,\n};\n\ntype ParamForTemplateConfig = {\n templateConfig: DiffTemplate,\n dates: DateForTemplate,\n}\n\nconst formatMinuteString = (minute: number): MinuteFormat => {\n const str = minute.toString();\n\n return {\n time: str.length === 2 ? str : `0${str}`,\n };\n}\n\nconst formatHourString = (hour: number): HourFormat => {\n const period = hour < 12 ? 'am' : 'pm';\n const twelveHourTime = hour > 12 ? hour - 12 : hour;\n\n return {\n time: twelveHourTime === 0 ? '12' : twelveHourTime.toString(),\n period,\n }\n};\n\nconst getTemplatingParameters = (msDiff: number, config: ParamForTemplateConfig) => {\n const { dates, templateConfig } = config;\n const { timeLabel, monthLocaleLabels, timeTemplate, fullDateTemplate } = templateConfig;\n\n if (msDiff < MS_HOUR) {\n const minuteDiff = msToMinute(msDiff);\n const minuteUnit = minuteDiff > 1\n ? timeLabel.minute.plural\n : timeLabel.minute.singular;\n\n return {\n template: timeTemplate,\n params: {\n time: String(minuteDiff || 1),\n timeLabel: minuteUnit,\n },\n };\n }\n\n if (msDiff < MS_DAY) {\n const hourDiff = msToHour(msDiff);\n const hourUnit = hourDiff > 1\n ? timeLabel.hour.plural\n : timeLabel.hour.singular;\n\n return {\n template: timeTemplate,\n params: {\n time: String(hourDiff),\n timeLabel: hourUnit,\n },\n };\n }\n\n const monthLabel = monthLocaleLabels[dates.old.getMonth()];\n\n const minute = formatMinuteString(dates.old.getMinutes());\n const hour = formatHourString(dates.old.getHours());\n\n const dayFormat = `${monthLabel} ${dates.old.getDate()}`;\n const timeFormat = `${hour.time}:${minute.time} ${hour.period}`;\n\n return {\n template: fullDateTemplate,\n params: {\n date: `${dayFormat}, ${timeFormat}`,\n },\n };\n}\n\n/**\n * The returned string follows the following rules:\n * - If diff < 60 minutes: '29 min ago'\n * - If diff >= 60 minutes & < 24 hours: '12 hours ago' | '1 hour ago'\n * - If diff > 24 hours: 'on March 15, 14:45 pm'\n *\n * @param olderDate - Date\n * @param recentDate - Date\n * @param template - DiffTemplate\n * @returns a preformated string to be inserted in a phrase.\n */\nexport const getTimeDiffAsString = (olderDate: Date, recentDate = new Date(), templateConfig = defaultEnglishTemplate): string => {\n const oldDateTime = olderDate.getTime();\n const recentDateTime = recentDate.getTime();\n\n if (oldDateTime > recentDateTime) {\n return '';\n }\n\n const msDiff = recentDateTime - oldDateTime;\n const { template, params } = getTemplatingParameters(msDiff, {\n dates: {\n old: olderDate,\n recent: recentDate,\n },\n templateConfig,\n });\n\n return replaceInTemplate(template, params, TEMPLATE_CONFIG);\n};\n"],"names":[],"mappings":";;;;AAyCA,MAAM,mBAAmB,GAAsB;IAC7C,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,sBAAsB,GAAiB;AAC3C,IAAA,YAAY,EAAE,wBAAwB;AACtC,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,iBAAiB,EAAE,mBAAmB;AACtC,IAAA,SAAS,EAAE;AACT,QAAA,MAAM,EAAE;AACN,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,MAAM,EAAE,KAAK;AACd,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,MAAM,EAAE,OAAO;AAChB,SAAA;AACF,KAAA;CACF,CAAC;AAEF,MAAM,eAAe,GAAkB;AACrC,IAAA,SAAS,EAAE;AACT,QAAA,IAAI,EAAE,GAAG;AACT,QAAA,KAAK,EAAE,GAAG;AACX,KAAA;CACF,CAAC;AAqBF,MAAM,kBAAkB,GAAG,CAAC,MAAc,KAAkB;AAC1D,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAE9B,OAAO;AACL,QAAA,IAAI,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,CAAA,CAAA,EAAI,GAAG,CAAE,CAAA;KACzC,CAAC;AACJ,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAY,KAAgB;AACpD,IAAA,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,IAAA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC;IAEpD,OAAO;AACL,QAAA,IAAI,EAAE,cAAc,KAAK,CAAC,GAAG,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE;QAC7D,MAAM;KACP,CAAA;AACH,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAE,MAA8B,KAAI;AACjF,IAAA,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IACzC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC;IAExF,IAAI,MAAM,GAAG,OAAO,EAAE;AACpB,QAAA,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACtC,QAAA,MAAM,UAAU,GAAG,UAAU,GAAG,CAAC;AAC/B,cAAE,SAAS,CAAC,MAAM,CAAC,MAAM;AACzB,cAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;QAE9B,OAAO;AACL,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;AAC7B,gBAAA,SAAS,EAAE,UAAU;AACtB,aAAA;SACF,CAAC;AACH,KAAA;IAED,IAAI,MAAM,GAAG,MAAM,EAAE;AACnB,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClC,QAAA,MAAM,QAAQ,GAAG,QAAQ,GAAG,CAAC;AAC3B,cAAE,SAAS,CAAC,IAAI,CAAC,MAAM;AACvB,cAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;QAE5B,OAAO;AACL,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;AACtB,gBAAA,SAAS,EAAE,QAAQ;AACpB,aAAA;SACF,CAAC;AACH,KAAA;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEpD,IAAA,MAAM,SAAS,GAAG,CAAG,EAAA,UAAU,CAAI,CAAA,EAAA,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA,CAAE,CAAC;AACzD,IAAA,MAAM,UAAU,GAAG,CAAG,EAAA,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAI,CAAA,EAAA,IAAI,CAAC,MAAM,EAAE,CAAC;IAEhE,OAAO;AACL,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,CAAA,EAAG,SAAS,CAAA,EAAA,EAAK,UAAU,CAAE,CAAA;AACpC,SAAA;KACF,CAAC;AACJ,CAAC,CAAA;AAED;;;;;;;;;;AAUG;AACU,MAAA,mBAAmB,GAAG,CAAC,SAAe,EAAE,UAAU,GAAG,IAAI,IAAI,EAAE,EAAE,cAAc,GAAG,sBAAsB,KAAY;AAC/H,IAAA,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;AACxC,IAAA,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;IAE5C,IAAI,WAAW,GAAG,cAAc,EAAE;AAChC,QAAA,OAAO,EAAE,CAAC;AACX,KAAA;AAED,IAAA,MAAM,MAAM,GAAG,cAAc,GAAG,WAAW,CAAC;IAC5C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAAC,MAAM,EAAE;AAC3D,QAAA,KAAK,EAAE;AACL,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,MAAM,EAAE,UAAU;AACnB,SAAA;QACD,cAAc;AACf,KAAA,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;AAC9D;;;;"}
@@ -1,13 +1,13 @@
1
- var DECIMAL_SEPARATOR = '.';
2
- var THOUSAND_UNIT = 'k';
3
- var formatNumber = function (n) {
4
- var numString = String(n);
1
+ const DECIMAL_SEPARATOR = '.';
2
+ const THOUSAND_UNIT = 'k';
3
+ const formatNumber = (n) => {
4
+ const numString = String(n);
5
5
  if (n < 1000) {
6
6
  return numString;
7
7
  }
8
- var decimalsMinusLast = numString.slice(0, numString.length - 3);
9
- var lastDecimal = numString.slice(numString.length - 3, numString.length - 2);
10
- return "".concat(decimalsMinusLast).concat(DECIMAL_SEPARATOR).concat(lastDecimal).concat(THOUSAND_UNIT);
8
+ const decimalsMinusLast = numString.slice(0, numString.length - 3);
9
+ const lastDecimal = numString.slice(numString.length - 3, numString.length - 2);
10
+ return `${decimalsMinusLast}${DECIMAL_SEPARATOR}${lastDecimal}${THOUSAND_UNIT}`;
11
11
  };
12
12
 
13
13
  export { formatNumber };
@@ -1 +1 @@
1
- {"version":3,"file":"format-number.js","sources":["../../src/formatting/format-number.ts"],"sourcesContent":["const DECIMAL_SEPARATOR = '.';\nconst THOUSAND_UNIT = 'k';\n\nexport const formatNumber = (n: number): string => {\n const numString = String(n);\n if (n < 1000) {\n return numString;\n }\n\n const decimalsMinusLast = numString.slice(0, numString.length - 3);\n const lastDecimal = numString.slice(numString.length - 3, numString.length - 2);\n\n return `${decimalsMinusLast}${DECIMAL_SEPARATOR}${lastDecimal}${THOUSAND_UNIT}`;\n};\n"],"names":[],"mappings":"AAAA,IAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,IAAM,aAAa,GAAG,GAAG,CAAC;AAEnB,IAAM,YAAY,GAAG,UAAC,CAAS,EAAA;AACpC,IAAA,IAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,EAAE;AACZ,QAAA,OAAO,SAAS,CAAC;AAClB,KAAA;AAED,IAAA,IAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnE,IAAA,IAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEhF,OAAO,EAAA,CAAA,MAAA,CAAG,iBAAiB,CAAG,CAAA,MAAA,CAAA,iBAAiB,SAAG,WAAW,CAAA,CAAA,MAAA,CAAG,aAAa,CAAE,CAAC;AAClF;;;;"}
1
+ {"version":3,"file":"format-number.js","sources":["../../src/formatting/format-number.ts"],"sourcesContent":["const DECIMAL_SEPARATOR = '.';\nconst THOUSAND_UNIT = 'k';\n\nexport const formatNumber = (n: number): string => {\n const numString = String(n);\n if (n < 1000) {\n return numString;\n }\n\n const decimalsMinusLast = numString.slice(0, numString.length - 3);\n const lastDecimal = numString.slice(numString.length - 3, numString.length - 2);\n\n return `${decimalsMinusLast}${DECIMAL_SEPARATOR}${lastDecimal}${THOUSAND_UNIT}`;\n};\n"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,aAAa,GAAG,GAAG,CAAC;AAEb,MAAA,YAAY,GAAG,CAAC,CAAS,KAAY;AAChD,IAAA,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,EAAE;AACZ,QAAA,OAAO,SAAS,CAAC;AAClB,KAAA;AAED,IAAA,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnE,IAAA,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEhF,OAAO,CAAA,EAAG,iBAAiB,CAAG,EAAA,iBAAiB,GAAG,WAAW,CAAA,EAAG,aAAa,CAAA,CAAE,CAAC;AAClF;;;;"}
package/fp/run-while.js CHANGED
@@ -2,16 +2,15 @@
2
2
  * Run the callback while the predicate return true. Throws an
3
3
  * error if the iteration count exceeds the iteration limit.
4
4
  */
5
- var runWhile = function (_a) {
6
- var predicate = _a.predicate, callback = _a.callback, initialValue = _a.initialValue, _b = _a.iterationLimit, iterationLimit = _b === void 0 ? Infinity : _b;
7
- var counter = 0;
8
- var currentValue = initialValue;
9
- var shouldRun = predicate(currentValue);
5
+ const runWhile = ({ predicate, callback, initialValue, iterationLimit = Infinity }) => {
6
+ let counter = 0;
7
+ let currentValue = initialValue;
8
+ let shouldRun = predicate(currentValue);
10
9
  while (shouldRun) {
11
10
  if (counter >= iterationLimit) {
12
11
  break;
13
12
  }
14
- var nextValue = callback(currentValue, counter);
13
+ const nextValue = callback(currentValue, counter);
15
14
  counter += 1;
16
15
  shouldRun = predicate(nextValue);
17
16
  currentValue = nextValue;
@@ -1 +1 @@
1
- {"version":3,"file":"run-while.js","sources":["../../src/fp/run-while.ts"],"sourcesContent":["export type RunWhileConfig<T> = {\n /**\n * Return a boolean to keep running the callback or not.\n */\n predicate: (current: T) => boolean,\n /**\n * The function to run while `predicate` returns `true`\n */\n callback: (current: T, iteractionCount: number) => T,\n /**\n * `callback` will not be run again if `iterationCount` exceeds this value.\n * Default to `Infinity`\n */\n iterationLimit?: number,\n /**\n * The first value passed to the callback.\n */\n initialValue: T,\n};\n\nexport type RunWhileFn = <T>(config: RunWhileConfig<T>) => {\n /**\n * The callback last result.\n */\n result: T,\n iterationCount: number,\n};\n\n/**\n * Run the callback while the predicate return true. Throws an\n * error if the iteration count exceeds the iteration limit.\n */\nexport const runWhile: RunWhileFn = ({ predicate, callback, initialValue, iterationLimit = Infinity }) => {\n let counter = 0;\n let currentValue = initialValue;\n let shouldRun = predicate(currentValue);\n\n while (shouldRun) {\n if (counter >= iterationLimit) {\n break;\n }\n\n const nextValue = callback(currentValue, counter);\n\n counter += 1;\n shouldRun = predicate(nextValue);\n currentValue = nextValue;\n }\n\n return {\n result: currentValue,\n iterationCount: counter,\n };\n};\n"],"names":[],"mappings":"AA4BA;;;AAGG;AACI,IAAM,QAAQ,GAAe,UAAC,EAAgE,EAAA;AAA9D,IAAA,IAAA,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,EAAyB,GAAA,EAAA,CAAA,cAAA,EAAzB,cAAc,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,QAAQ,GAAA,EAAA,CAAA;IACjG,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,YAAY,GAAG,YAAY,CAAC;AAChC,IAAA,IAAI,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAExC,IAAA,OAAO,SAAS,EAAE;QAChB,IAAI,OAAO,IAAI,cAAc,EAAE;YAC7B,MAAM;AACP,SAAA;QAED,IAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,CAAC;AACb,QAAA,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACjC,YAAY,GAAG,SAAS,CAAC;AAC1B,KAAA;IAED,OAAO;AACL,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,cAAc,EAAE,OAAO;KACxB,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"run-while.js","sources":["../../src/fp/run-while.ts"],"sourcesContent":["export type RunWhileConfig<T> = {\n /**\n * Return a boolean to keep running the callback or not.\n */\n predicate: (current: T) => boolean,\n /**\n * The function to run while `predicate` returns `true`\n */\n callback: (current: T, iteractionCount: number) => T,\n /**\n * `callback` will not be run again if `iterationCount` exceeds this value.\n * Default to `Infinity`\n */\n iterationLimit?: number,\n /**\n * The first value passed to the callback.\n */\n initialValue: T,\n};\n\nexport type RunWhileFn = <T>(config: RunWhileConfig<T>) => {\n /**\n * The callback last result.\n */\n result: T,\n iterationCount: number,\n};\n\n/**\n * Run the callback while the predicate return true. Throws an\n * error if the iteration count exceeds the iteration limit.\n */\nexport const runWhile: RunWhileFn = ({ predicate, callback, initialValue, iterationLimit = Infinity }) => {\n let counter = 0;\n let currentValue = initialValue;\n let shouldRun = predicate(currentValue);\n\n while (shouldRun) {\n if (counter >= iterationLimit) {\n break;\n }\n\n const nextValue = callback(currentValue, counter);\n\n counter += 1;\n shouldRun = predicate(nextValue);\n currentValue = nextValue;\n }\n\n return {\n result: currentValue,\n iterationCount: counter,\n };\n};\n"],"names":[],"mappings":"AA4BA;;;AAGG;AACU,MAAA,QAAQ,GAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,GAAG,QAAQ,EAAE,KAAI;IACvG,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,YAAY,GAAG,YAAY,CAAC;AAChC,IAAA,IAAI,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;AAExC,IAAA,OAAO,SAAS,EAAE;QAChB,IAAI,OAAO,IAAI,cAAc,EAAE;YAC7B,MAAM;AACP,SAAA;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,CAAC;AACb,QAAA,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACjC,YAAY,GAAG,SAAS,CAAC;AAC1B,KAAA;IAED,OAAO;AACL,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,cAAc,EAAE,OAAO;KACxB,CAAC;AACJ;;;;"}
@@ -1,22 +1,18 @@
1
- var defaultEncodingConfig = {
1
+ const defaultEncodingConfig = {
2
2
  keyValueDelimiter: ':',
3
3
  pairDelimiter: '+',
4
4
  };
5
- var encodeSearchValue = function (searchValue, config) {
6
- if (config === void 0) { config = defaultEncodingConfig; }
7
- var pairDelimiter = config.pairDelimiter, keyValueDelimiter = config.keyValueDelimiter;
5
+ const encodeSearchValue = (searchValue, config = defaultEncodingConfig) => {
6
+ const { pairDelimiter, keyValueDelimiter } = config;
8
7
  return Object.entries(searchValue)
9
- .map(function (_a) {
10
- var key = _a[0], value = _a[1];
11
- return "".concat(key).concat(keyValueDelimiter).concat(encodeURI(value));
12
- })
8
+ .map(([key, value]) => `${key}${keyValueDelimiter}${encodeURI(value)}`)
13
9
  .join(pairDelimiter);
14
10
  };
15
- var encodeSearchObject = function (searchObject) {
16
- var sort = searchObject.sort, query = searchObject.query, offset = searchObject.offset, limit = searchObject.limit;
17
- var sortEncoded = sort ? encodeSearchValue(sort) : null;
18
- var queryEncoded = query ? encodeSearchValue(query) : null;
19
- var urlParams = new URLSearchParams({
11
+ const encodeSearchObject = (searchObject) => {
12
+ const { sort, query, offset, limit } = searchObject;
13
+ const sortEncoded = sort ? encodeSearchValue(sort) : null;
14
+ const queryEncoded = query ? encodeSearchValue(query) : null;
15
+ const urlParams = new URLSearchParams({
20
16
  offset: offset.toString(),
21
17
  limit: limit.toString(),
22
18
  });
@@ -1 +1 @@
1
- {"version":3,"file":"encode-search-object.js","sources":["../../src/http/encode-search-object.ts"],"sourcesContent":["import { SearchObject } from '../types';\n\nexport type EncodingConfig = {\n keyValueDelimiter: string,\n pairDelimiter: string,\n};\n\nconst defaultEncodingConfig: EncodingConfig = {\n keyValueDelimiter: ':',\n pairDelimiter: '+',\n};\n\nexport const encodeSearchValue = <T extends Record<string, string>>(\n searchValue: T,\n config: EncodingConfig = defaultEncodingConfig,\n) => {\n const { pairDelimiter, keyValueDelimiter } = config;\n\n return Object.entries(searchValue)\n .map(([key, value]) => `${key}${keyValueDelimiter}${encodeURI(value)}`)\n .join(pairDelimiter);\n};\n\nexport const encodeSearchObject = (searchObject: SearchObject): string => {\n const { sort, query, offset, limit } = searchObject;\n\n const sortEncoded = sort ? encodeSearchValue(sort) : null;\n const queryEncoded = query ? encodeSearchValue(query) : null;\n\n const urlParams = new URLSearchParams({\n offset: offset.toString(),\n limit: limit.toString(),\n });\n\n if (sortEncoded) urlParams.append('sort', sortEncoded);\n if (queryEncoded) urlParams.append('query', queryEncoded);\n\n return urlParams.toString();\n};\n"],"names":[],"mappings":"AAOA,IAAM,qBAAqB,GAAmB;AAC5C,IAAA,iBAAiB,EAAE,GAAG;AACtB,IAAA,aAAa,EAAE,GAAG;CACnB,CAAC;AAEW,IAAA,iBAAiB,GAAG,UAC/B,WAAc,EACd,MAA8C,EAAA;AAA9C,IAAA,IAAA,MAAA,KAAA,KAAA,CAAA,EAAA,EAAA,MAA8C,GAAA,qBAAA,CAAA,EAAA;IAEtC,IAAA,aAAa,GAAwB,MAAM,CAAA,aAA9B,EAAE,iBAAiB,GAAK,MAAM,CAAA,iBAAX,CAAY;AAEpD,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,GAAG,CAAC,UAAC,EAAY,EAAA;YAAX,GAAG,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;QAAM,OAAA,EAAA,CAAA,MAAA,CAAG,GAAG,CAAG,CAAA,MAAA,CAAA,iBAAiB,SAAG,SAAS,CAAC,KAAK,CAAC,CAAE,CAAA;AAA/C,KAA+C,CAAC;SACtE,IAAI,CAAC,aAAa,CAAC,CAAC;AACzB,EAAE;AAEK,IAAM,kBAAkB,GAAG,UAAC,YAA0B,EAAA;AACnD,IAAA,IAAA,IAAI,GAA2B,YAAY,KAAvC,EAAE,KAAK,GAAoB,YAAY,CAAA,KAAhC,EAAE,MAAM,GAAY,YAAY,CAAxB,MAAA,EAAE,KAAK,GAAK,YAAY,MAAjB,CAAkB;AAEpD,IAAA,IAAM,WAAW,GAAG,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1D,IAAA,IAAM,YAAY,GAAG,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAE7D,IAAA,IAAM,SAAS,GAAG,IAAI,eAAe,CAAC;AACpC,QAAA,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;AACzB,QAAA,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;AACxB,KAAA,CAAC,CAAC;AAEH,IAAA,IAAI,WAAW;AAAE,QAAA,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACvD,IAAA,IAAI,YAAY;AAAE,QAAA,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAE1D,IAAA,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC9B;;;;"}
1
+ {"version":3,"file":"encode-search-object.js","sources":["../../src/http/encode-search-object.ts"],"sourcesContent":["import { SearchObject } from '../types';\n\nexport type EncodingConfig = {\n keyValueDelimiter: string,\n pairDelimiter: string,\n};\n\nconst defaultEncodingConfig: EncodingConfig = {\n keyValueDelimiter: ':',\n pairDelimiter: '+',\n};\n\nexport const encodeSearchValue = <T extends Record<string, string>>(\n searchValue: T,\n config: EncodingConfig = defaultEncodingConfig,\n) => {\n const { pairDelimiter, keyValueDelimiter } = config;\n\n return Object.entries(searchValue)\n .map(([key, value]) => `${key}${keyValueDelimiter}${encodeURI(value)}`)\n .join(pairDelimiter);\n};\n\nexport const encodeSearchObject = (searchObject: SearchObject): string => {\n const { sort, query, offset, limit } = searchObject;\n\n const sortEncoded = sort ? encodeSearchValue(sort) : null;\n const queryEncoded = query ? encodeSearchValue(query) : null;\n\n const urlParams = new URLSearchParams({\n offset: offset.toString(),\n limit: limit.toString(),\n });\n\n if (sortEncoded) urlParams.append('sort', sortEncoded);\n if (queryEncoded) urlParams.append('query', queryEncoded);\n\n return urlParams.toString();\n};\n"],"names":[],"mappings":"AAOA,MAAM,qBAAqB,GAAmB;AAC5C,IAAA,iBAAiB,EAAE,GAAG;AACtB,IAAA,aAAa,EAAE,GAAG;CACnB,CAAC;AAEW,MAAA,iBAAiB,GAAG,CAC/B,WAAc,EACd,MAAA,GAAyB,qBAAqB,KAC5C;AACF,IAAA,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;AAEpD,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAA,EAAG,iBAAiB,CAAG,EAAA,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;SACtE,IAAI,CAAC,aAAa,CAAC,CAAC;AACzB,EAAE;AAEW,MAAA,kBAAkB,GAAG,CAAC,YAA0B,KAAY;IACvE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC;AAEpD,IAAA,MAAM,WAAW,GAAG,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1D,IAAA,MAAM,YAAY,GAAG,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAE7D,IAAA,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC;AACpC,QAAA,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE;AACzB,QAAA,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;AACxB,KAAA,CAAC,CAAC;AAEH,IAAA,IAAI,WAAW;AAAE,QAAA,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACvD,IAAA,IAAI,YAAY;AAAE,QAAA,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAE1D,IAAA,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC9B;;;;"}
@@ -1,15 +1,15 @@
1
- import { __rest, __assign } from '../_virtual/_tslib.js';
1
+ import { __rest } from '../_virtual/_tslib.js';
2
2
 
3
3
  /**
4
4
  * Use fetch to perform an HTTP request
5
5
  * Add an optional timeout, that will abort the request if it has not returned before
6
6
  */
7
- var fetchWithTimeout = function (input, init) {
8
- var abortController = new AbortController();
9
- var _a = init || {}, timeout = _a.timeout, rest = __rest(_a, ["timeout"]);
10
- var params = __assign(__assign({}, rest), { signal: abortController.signal });
7
+ const fetchWithTimeout = (input, init) => {
8
+ const abortController = new AbortController();
9
+ const _a = init || {}, { timeout } = _a, rest = __rest(_a, ["timeout"]);
10
+ const params = Object.assign(Object.assign({}, rest), { signal: abortController.signal });
11
11
  if (timeout !== undefined) {
12
- setTimeout(function () { return abortController.abort(); }, timeout);
12
+ setTimeout(() => abortController.abort(), timeout);
13
13
  }
14
14
  return fetch(input, params);
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-with-timeout.js","sources":["../../src/http/fetch-with-timeout.ts"],"sourcesContent":["export type RequestInitWithTimeout = RequestInit & {\n timeout?: number\n};\n\n/**\n * Use fetch to perform an HTTP request\n * Add an optional timeout, that will abort the request if it has not returned before\n */\nexport const fetchWithTimeout = (input: RequestInfo, init?: Omit<RequestInitWithTimeout, 'signal'> | undefined): Promise<Response> => {\n const abortController = new AbortController();\n\n const { timeout, ...rest } = init || {};\n\n const params = {\n ...rest,\n signal: abortController.signal,\n };\n\n if (timeout !== undefined) {\n setTimeout(() => abortController.abort(), timeout);\n }\n\n return fetch(input, params);\n};\n"],"names":[],"mappings":";;AAIA;;;AAGG;AACU,IAAA,gBAAgB,GAAG,UAAC,KAAkB,EAAE,IAAyD,EAAA;AAC5G,IAAA,IAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAE9C,IAAA,IAAM,EAAuB,GAAA,IAAI,IAAI,EAAE,EAA/B,OAAO,GAAA,EAAA,CAAA,OAAA,EAAK,IAAI,GAAA,MAAA,CAAA,EAAA,EAAlB,CAAoB,SAAA,CAAA,CAAa,CAAC;IAExC,IAAM,MAAM,GACP,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,IAAI,CACP,EAAA,EAAA,MAAM,EAAE,eAAe,CAAC,MAAM,EAAA,CAC/B,CAAC;IAEF,IAAI,OAAO,KAAK,SAAS,EAAE;AACzB,QAAA,UAAU,CAAC,YAAA,EAAM,OAAA,eAAe,CAAC,KAAK,EAAE,CAAA,EAAA,EAAE,OAAO,CAAC,CAAC;AACpD,KAAA;AAED,IAAA,OAAO,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9B;;;;"}
1
+ {"version":3,"file":"fetch-with-timeout.js","sources":["../../src/http/fetch-with-timeout.ts"],"sourcesContent":["export type RequestInitWithTimeout = RequestInit & {\n timeout?: number\n};\n\n/**\n * Use fetch to perform an HTTP request\n * Add an optional timeout, that will abort the request if it has not returned before\n */\nexport const fetchWithTimeout = (input: RequestInfo, init?: Omit<RequestInitWithTimeout, 'signal'> | undefined): Promise<Response> => {\n const abortController = new AbortController();\n\n const { timeout, ...rest } = init || {};\n\n const params = {\n ...rest,\n signal: abortController.signal,\n };\n\n if (timeout !== undefined) {\n setTimeout(() => abortController.abort(), timeout);\n }\n\n return fetch(input, params);\n};\n"],"names":[],"mappings":";;AAIA;;;AAGG;MACU,gBAAgB,GAAG,CAAC,KAAkB,EAAE,IAAyD,KAAuB;AACnI,IAAA,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAE9C,IAAA,MAAM,EAAuB,GAAA,IAAI,IAAI,EAAE,EAAjC,EAAE,OAAO,EAAA,GAAA,EAAwB,EAAnB,IAAI,GAAlB,MAAA,CAAA,EAAA,EAAA,CAAA,SAAA,CAAoB,CAAa,CAAC;IAExC,MAAM,MAAM,GACP,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CACP,EAAA,EAAA,MAAM,EAAE,eAAe,CAAC,MAAM,EAAA,CAC/B,CAAC;IAEF,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,UAAU,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;AACpD,KAAA;AAED,IAAA,OAAO,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9B;;;;"}
@@ -1,4 +1,4 @@
1
- var applyDiffLinkedList = function (before, after, list) {
1
+ const applyDiffLinkedList = (before, after, list) => {
2
2
  // Delete
3
3
  if (!after && before) {
4
4
  return list.remove(before.id);
@@ -15,7 +15,7 @@ var applyDiffLinkedList = function (before, after, list) {
15
15
  if (before.id !== after.id) {
16
16
  throw new Error('Cannot change id of a ListNode');
17
17
  }
18
- var listWithPotentialReorder = before.nextId === after.nextId
18
+ const listWithPotentialReorder = before.nextId === after.nextId
19
19
  ? list
20
20
  : list
21
21
  .remove(before.id)
@@ -1 +1 @@
1
- {"version":3,"file":"apply-diff-linked-list.js","sources":["../../src/linked-list/apply-diff-linked-list.ts"],"sourcesContent":["import { LinkedList, LinkedListItem, ManipulationConfig } from './type';\n\nexport const applyDiffLinkedList = <T extends LinkedListItem>(\n before: T | null,\n after: T | null,\n list: LinkedList<T>,\n) => {\n // Delete\n if (!after && before) {\n return list.remove(before.id);\n }\n\n // Insert\n if (!before && after) {\n return list.insert(after);\n }\n\n // For the following commands, none of the 2 items can be null\n // We dont use && because checks are already done above, but ts cannot infer that they cannot be null afterwards\n if (!before || !after) {\n throw new Error('Cannot have both before & after as null');\n }\n\n if (before.id !== after.id) {\n throw new Error('Cannot change id of a ListNode');\n }\n\n const listWithPotentialReorder = before.nextId === after.nextId\n ? list\n : list\n .remove(before.id)\n .insert(after);\n\n return listWithPotentialReorder.update(after);\n};"],"names":[],"mappings":"IAEa,mBAAmB,GAAG,UACjC,MAAgB,EAChB,KAAe,EACf,IAAmB,EAAA;;AAGnB,IAAA,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,KAAA;;AAGD,IAAA,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;AACpB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3B,KAAA;;;AAID,IAAA,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;AACrB,QAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAC5D,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE;AAC1B,QAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACnD,KAAA;IAED,IAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;AAC7D,UAAE,IAAI;AACN,UAAE,IAAI;AACH,aAAA,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;aACjB,MAAM,CAAC,KAAK,CAAC,CAAC;AAEnB,IAAA,OAAO,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChD;;;;"}
1
+ {"version":3,"file":"apply-diff-linked-list.js","sources":["../../src/linked-list/apply-diff-linked-list.ts"],"sourcesContent":["import { LinkedList, LinkedListItem, ManipulationConfig } from './type';\n\nexport const applyDiffLinkedList = <T extends LinkedListItem>(\n before: T | null,\n after: T | null,\n list: LinkedList<T>,\n) => {\n // Delete\n if (!after && before) {\n return list.remove(before.id);\n }\n\n // Insert\n if (!before && after) {\n return list.insert(after);\n }\n\n // For the following commands, none of the 2 items can be null\n // We dont use && because checks are already done above, but ts cannot infer that they cannot be null afterwards\n if (!before || !after) {\n throw new Error('Cannot have both before & after as null');\n }\n\n if (before.id !== after.id) {\n throw new Error('Cannot change id of a ListNode');\n }\n\n const listWithPotentialReorder = before.nextId === after.nextId\n ? list\n : list\n .remove(before.id)\n .insert(after);\n\n return listWithPotentialReorder.update(after);\n};"],"names":[],"mappings":"AAEa,MAAA,mBAAmB,GAAG,CACjC,MAAgB,EAChB,KAAe,EACf,IAAmB,KACjB;;AAEF,IAAA,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,KAAA;;AAGD,IAAA,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;AACpB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3B,KAAA;;;AAID,IAAA,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;AACrB,QAAA,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAC5D,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE;AAC1B,QAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;AACnD,KAAA;IAED,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;AAC7D,UAAE,IAAI;AACN,UAAE,IAAI;AACH,aAAA,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;aACjB,MAAM,CAAC,KAAK,CAAC,CAAC;AAEnB,IAAA,OAAO,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChD;;;;"}
@@ -8,16 +8,16 @@ import { getLinkedList } from './get-linked-list.js';
8
8
  import { updateLinkedList } from './update-linked-list.js';
9
9
  import { applyDiffLinkedList } from './apply-diff-linked-list.js';
10
10
 
11
- var createLinkedList = function (headId, items) {
12
- var head = headId ? items[headId] : null;
11
+ const createLinkedList = (headId, items) => {
12
+ const head = headId ? items[headId] : null;
13
13
  if (head === undefined) {
14
14
  throw new Error('Cannot find the head.');
15
15
  }
16
- var list = { headId: headId, items: items };
17
- var _a = walkListItemRecord(function (acc, current) {
18
- var newCount = acc.count + 1;
19
- var isDoubleLinked = current.previousId !== undefined;
20
- var incompatibleFormats = acc.isDoubleLinked !== undefined && acc.isDoubleLinked !== isDoubleLinked;
16
+ const list = { headId, items };
17
+ const { isDoubleLinked, count } = walkListItemRecord((acc, current) => {
18
+ const newCount = acc.count + 1;
19
+ const isDoubleLinked = current.previousId !== undefined;
20
+ const incompatibleFormats = acc.isDoubleLinked !== undefined && acc.isDoubleLinked !== isDoubleLinked;
21
21
  if (incompatibleFormats || (isDoubleLinked && current.previousId !== acc.previousId)) {
22
22
  throw new Error('Invalid previous node in the linked list');
23
23
  }
@@ -25,7 +25,7 @@ var createLinkedList = function (headId, items) {
25
25
  result: {
26
26
  previousId: current.id,
27
27
  count: newCount,
28
- isDoubleLinked: isDoubleLinked,
28
+ isDoubleLinked,
29
29
  }
30
30
  };
31
31
  }, {
@@ -35,29 +35,29 @@ var createLinkedList = function (headId, items) {
35
35
  previousId: null,
36
36
  },
37
37
  startId: headId,
38
- items: items,
39
- }), isDoubleLinked = _a.isDoubleLinked, count = _a.count;
40
- var manipulationConfig = {
41
- factory: function (list) { return createLinkedList(list.headId, list.items); },
38
+ items,
39
+ });
40
+ const manipulationConfig = {
41
+ factory: (list) => createLinkedList(list.headId, list.items),
42
42
  /**
43
43
  * At this point isDoubleLinked cannot be undefined
44
44
  */
45
45
  isDoubleLinkList: isDoubleLinked,
46
- list: list,
46
+ list,
47
47
  };
48
- var linkedList = {
49
- head: head,
50
- items: items,
48
+ const linkedList = {
49
+ head,
50
+ items,
51
51
  size: count,
52
52
  isDoubleLinked: isDoubleLinked,
53
- reduce: function (cb, initValue) { return reduceLinkedList(cb, initValue, list); },
54
- find: function (predicate) { return findLinkedList(predicate, list); },
55
- while: function (predicate, startId) { return whileLinkedList(predicate, list, startId); },
56
- remove: function (id) { return removeLinkedList(id, manipulationConfig); },
57
- insert: function (item) { return insertLinkedList(item, manipulationConfig); },
58
- get: function (id) { return getLinkedList(id, list); },
59
- update: function (item) { return updateLinkedList(item, manipulationConfig); },
60
- applyDiff: function (before, after) { return applyDiffLinkedList(before, after, linkedList); },
53
+ reduce: (cb, initValue) => reduceLinkedList(cb, initValue, list),
54
+ find: (predicate) => findLinkedList(predicate, list),
55
+ while: (predicate, startId) => whileLinkedList(predicate, list, startId),
56
+ remove: (id) => removeLinkedList(id, manipulationConfig),
57
+ insert: (item) => insertLinkedList(item, manipulationConfig),
58
+ get: (id) => getLinkedList(id, list),
59
+ update: (item) => updateLinkedList(item, manipulationConfig),
60
+ applyDiff: (before, after) => applyDiffLinkedList(before, after, linkedList),
61
61
  };
62
62
  return linkedList;
63
63
  };