@spscommerce/utils 5.20.3-ie → 5.20.5

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 (209) hide show
  1. package/lib/index.cjs.js +1 -2437
  2. package/lib/index.es.js +893 -2268
  3. package/package.json +5 -5
  4. package/vite.config.js +1 -1
  5. package/dist/out-tsc/array/flatten.d.ts +0 -1
  6. package/dist/out-tsc/array/flatten.js +0 -7
  7. package/dist/out-tsc/array/flatten.js.map +0 -1
  8. package/dist/out-tsc/array/flatten.spec.d.ts +0 -1
  9. package/dist/out-tsc/array/flatten.spec.js +0 -10
  10. package/dist/out-tsc/array/flatten.spec.js.map +0 -1
  11. package/dist/out-tsc/array/index.d.ts +0 -3
  12. package/dist/out-tsc/array/index.js +0 -4
  13. package/dist/out-tsc/array/index.js.map +0 -1
  14. package/dist/out-tsc/array/is-subset.d.ts +0 -4
  15. package/dist/out-tsc/array/is-subset.js +0 -41
  16. package/dist/out-tsc/array/is-subset.js.map +0 -1
  17. package/dist/out-tsc/array/is-subset.spec.d.ts +0 -1
  18. package/dist/out-tsc/array/is-subset.spec.js +0 -41
  19. package/dist/out-tsc/array/is-subset.spec.js.map +0 -1
  20. package/dist/out-tsc/array/range.d.ts +0 -5
  21. package/dist/out-tsc/array/range.js +0 -16
  22. package/dist/out-tsc/array/range.js.map +0 -1
  23. package/dist/out-tsc/array/range.spec.d.ts +0 -1
  24. package/dist/out-tsc/array/range.spec.js +0 -26
  25. package/dist/out-tsc/array/range.spec.js.map +0 -1
  26. package/dist/out-tsc/classes/custom-event.d.ts +0 -4
  27. package/dist/out-tsc/classes/custom-event.js +0 -87
  28. package/dist/out-tsc/classes/custom-event.js.map +0 -1
  29. package/dist/out-tsc/classes/index.d.ts +0 -1
  30. package/dist/out-tsc/classes/index.js +0 -2
  31. package/dist/out-tsc/classes/index.js.map +0 -1
  32. package/dist/out-tsc/data/doctypes.d.ts +0 -4
  33. package/dist/out-tsc/data/doctypes.js +0 -302
  34. package/dist/out-tsc/data/doctypes.js.map +0 -1
  35. package/dist/out-tsc/data/index.d.ts +0 -1
  36. package/dist/out-tsc/data/index.js +0 -2
  37. package/dist/out-tsc/data/index.js.map +0 -1
  38. package/dist/out-tsc/decorators/cast-to-number.d.ts +0 -5
  39. package/dist/out-tsc/decorators/cast-to-number.js +0 -29
  40. package/dist/out-tsc/decorators/cast-to-number.js.map +0 -1
  41. package/dist/out-tsc/decorators/debounced.broken_spec.d.ts +0 -0
  42. package/dist/out-tsc/decorators/debounced.broken_spec.js +0 -38
  43. package/dist/out-tsc/decorators/debounced.broken_spec.js.map +0 -1
  44. package/dist/out-tsc/decorators/debounced.d.ts +0 -11
  45. package/dist/out-tsc/decorators/debounced.js +0 -35
  46. package/dist/out-tsc/decorators/debounced.js.map +0 -1
  47. package/dist/out-tsc/decorators/index.d.ts +0 -5
  48. package/dist/out-tsc/decorators/index.js +0 -6
  49. package/dist/out-tsc/decorators/index.js.map +0 -1
  50. package/dist/out-tsc/decorators/locked-to-animation-frames.d.ts +0 -4
  51. package/dist/out-tsc/decorators/locked-to-animation-frames.js +0 -34
  52. package/dist/out-tsc/decorators/locked-to-animation-frames.js.map +0 -1
  53. package/dist/out-tsc/decorators/locked-to-animation-frames.spec.d.ts +0 -0
  54. package/dist/out-tsc/decorators/locked-to-animation-frames.spec.js +0 -63
  55. package/dist/out-tsc/decorators/locked-to-animation-frames.spec.js.map +0 -1
  56. package/dist/out-tsc/decorators/simple-metadata-decorator-applicator.d.ts +0 -11
  57. package/dist/out-tsc/decorators/simple-metadata-decorator-applicator.js +0 -80
  58. package/dist/out-tsc/decorators/simple-metadata-decorator-applicator.js.map +0 -1
  59. package/dist/out-tsc/decorators/tick-delay.d.ts +0 -6
  60. package/dist/out-tsc/decorators/tick-delay.js +0 -31
  61. package/dist/out-tsc/decorators/tick-delay.js.map +0 -1
  62. package/dist/out-tsc/function/debounce.d.ts +0 -9
  63. package/dist/out-tsc/function/debounce.js +0 -102
  64. package/dist/out-tsc/function/debounce.js.map +0 -1
  65. package/dist/out-tsc/function/debounce.spec.d.ts +0 -1
  66. package/dist/out-tsc/function/debounce.spec.js +0 -150
  67. package/dist/out-tsc/function/debounce.spec.js.map +0 -1
  68. package/dist/out-tsc/function/debounced-function.interface.d.ts +0 -10
  69. package/dist/out-tsc/function/debounced-function.interface.js +0 -2
  70. package/dist/out-tsc/function/debounced-function.interface.js.map +0 -1
  71. package/dist/out-tsc/function/delayed-function.interface.d.ts +0 -10
  72. package/dist/out-tsc/function/delayed-function.interface.js +0 -2
  73. package/dist/out-tsc/function/delayed-function.interface.js.map +0 -1
  74. package/dist/out-tsc/function/index.d.ts +0 -6
  75. package/dist/out-tsc/function/index.js +0 -7
  76. package/dist/out-tsc/function/index.js.map +0 -1
  77. package/dist/out-tsc/function/lock-to-animation-frames.d.ts +0 -7
  78. package/dist/out-tsc/function/lock-to-animation-frames.js +0 -43
  79. package/dist/out-tsc/function/lock-to-animation-frames.js.map +0 -1
  80. package/dist/out-tsc/function/lock-to-animation-frames.spec.d.ts +0 -0
  81. package/dist/out-tsc/function/lock-to-animation-frames.spec.js +0 -53
  82. package/dist/out-tsc/function/lock-to-animation-frames.spec.js.map +0 -1
  83. package/dist/out-tsc/function/on-next-tick.d.ts +0 -8
  84. package/dist/out-tsc/function/on-next-tick.js +0 -12
  85. package/dist/out-tsc/function/on-next-tick.js.map +0 -1
  86. package/dist/out-tsc/function/on-next-tick.spec.d.ts +0 -1
  87. package/dist/out-tsc/function/on-next-tick.spec.js +0 -13
  88. package/dist/out-tsc/function/on-next-tick.spec.js.map +0 -1
  89. package/dist/out-tsc/function/op.d.ts +0 -32
  90. package/dist/out-tsc/function/op.js +0 -34
  91. package/dist/out-tsc/function/op.js.map +0 -1
  92. package/dist/out-tsc/function/op.spec.d.ts +0 -1
  93. package/dist/out-tsc/function/op.spec.js +0 -94
  94. package/dist/out-tsc/function/op.spec.js.map +0 -1
  95. package/dist/out-tsc/index.d.ts +0 -9
  96. package/dist/out-tsc/index.js +0 -10
  97. package/dist/out-tsc/index.js.map +0 -1
  98. package/dist/out-tsc/number/constrain.d.ts +0 -7
  99. package/dist/out-tsc/number/constrain.js +0 -16
  100. package/dist/out-tsc/number/constrain.js.map +0 -1
  101. package/dist/out-tsc/number/decimal-round.d.ts +0 -7
  102. package/dist/out-tsc/number/decimal-round.js +0 -19
  103. package/dist/out-tsc/number/decimal-round.js.map +0 -1
  104. package/dist/out-tsc/number/decimal-round.spec.d.ts +0 -1
  105. package/dist/out-tsc/number/decimal-round.spec.js +0 -10
  106. package/dist/out-tsc/number/decimal-round.spec.js.map +0 -1
  107. package/dist/out-tsc/number/index.d.ts +0 -3
  108. package/dist/out-tsc/number/index.js +0 -4
  109. package/dist/out-tsc/number/index.js.map +0 -1
  110. package/dist/out-tsc/number/to-file-size-string.d.ts +0 -5
  111. package/dist/out-tsc/number/to-file-size-string.js +0 -24
  112. package/dist/out-tsc/number/to-file-size-string.js.map +0 -1
  113. package/dist/out-tsc/object/copy-property.d.ts +0 -6
  114. package/dist/out-tsc/object/copy-property.js +0 -9
  115. package/dist/out-tsc/object/copy-property.js.map +0 -1
  116. package/dist/out-tsc/object/copy-property.spec.d.ts +0 -1
  117. package/dist/out-tsc/object/copy-property.spec.js +0 -16
  118. package/dist/out-tsc/object/copy-property.spec.js.map +0 -1
  119. package/dist/out-tsc/object/crumble-path.d.ts +0 -6
  120. package/dist/out-tsc/object/crumble-path.js +0 -9
  121. package/dist/out-tsc/object/crumble-path.js.map +0 -1
  122. package/dist/out-tsc/object/crumble-path.spec.d.ts +0 -1
  123. package/dist/out-tsc/object/crumble-path.spec.js +0 -24
  124. package/dist/out-tsc/object/crumble-path.spec.js.map +0 -1
  125. package/dist/out-tsc/object/deep-freeze.d.ts +0 -1
  126. package/dist/out-tsc/object/deep-freeze.js +0 -36
  127. package/dist/out-tsc/object/deep-freeze.js.map +0 -1
  128. package/dist/out-tsc/object/deep-freeze.spec.d.ts +0 -1
  129. package/dist/out-tsc/object/deep-freeze.spec.js +0 -14
  130. package/dist/out-tsc/object/deep-freeze.spec.js.map +0 -1
  131. package/dist/out-tsc/object/diff.d.ts +0 -12
  132. package/dist/out-tsc/object/diff.js +0 -92
  133. package/dist/out-tsc/object/diff.js.map +0 -1
  134. package/dist/out-tsc/object/diff.spec.d.ts +0 -1
  135. package/dist/out-tsc/object/diff.spec.js +0 -40
  136. package/dist/out-tsc/object/diff.spec.js.map +0 -1
  137. package/dist/out-tsc/object/for-each-entry-deep.d.ts +0 -4
  138. package/dist/out-tsc/object/for-each-entry-deep.js +0 -38
  139. package/dist/out-tsc/object/for-each-entry-deep.js.map +0 -1
  140. package/dist/out-tsc/object/for-each-entry-deep.spec.d.ts +0 -1
  141. package/dist/out-tsc/object/for-each-entry-deep.spec.js +0 -24
  142. package/dist/out-tsc/object/for-each-entry-deep.spec.js.map +0 -1
  143. package/dist/out-tsc/object/for-each-nested-object.d.ts +0 -4
  144. package/dist/out-tsc/object/for-each-nested-object.js +0 -38
  145. package/dist/out-tsc/object/for-each-nested-object.js.map +0 -1
  146. package/dist/out-tsc/object/for-each-nested-object.spec.d.ts +0 -1
  147. package/dist/out-tsc/object/for-each-nested-object.spec.js +0 -46
  148. package/dist/out-tsc/object/for-each-nested-object.spec.js.map +0 -1
  149. package/dist/out-tsc/object/get-path.d.ts +0 -5
  150. package/dist/out-tsc/object/get-path.js +0 -67
  151. package/dist/out-tsc/object/get-path.js.map +0 -1
  152. package/dist/out-tsc/object/get-path.spec.d.ts +0 -1
  153. package/dist/out-tsc/object/get-path.spec.js +0 -44
  154. package/dist/out-tsc/object/get-path.spec.js.map +0 -1
  155. package/dist/out-tsc/object/index.d.ts +0 -13
  156. package/dist/out-tsc/object/index.js +0 -14
  157. package/dist/out-tsc/object/index.js.map +0 -1
  158. package/dist/out-tsc/object/merge-deep.d.ts +0 -4
  159. package/dist/out-tsc/object/merge-deep.js +0 -60
  160. package/dist/out-tsc/object/merge-deep.js.map +0 -1
  161. package/dist/out-tsc/object/merge-deep.spec.d.ts +0 -1
  162. package/dist/out-tsc/object/merge-deep.spec.js +0 -16
  163. package/dist/out-tsc/object/merge-deep.spec.js.map +0 -1
  164. package/dist/out-tsc/object/merge-properties-deep.d.ts +0 -4
  165. package/dist/out-tsc/object/merge-properties-deep.js +0 -61
  166. package/dist/out-tsc/object/merge-properties-deep.js.map +0 -1
  167. package/dist/out-tsc/object/merge-properties-deep.spec.d.ts +0 -1
  168. package/dist/out-tsc/object/merge-properties-deep.spec.js +0 -24
  169. package/dist/out-tsc/object/merge-properties-deep.spec.js.map +0 -1
  170. package/dist/out-tsc/object/omit.d.ts +0 -1
  171. package/dist/out-tsc/object/omit.js +0 -40
  172. package/dist/out-tsc/object/omit.js.map +0 -1
  173. package/dist/out-tsc/object/omit.spec.d.ts +0 -1
  174. package/dist/out-tsc/object/omit.spec.js +0 -10
  175. package/dist/out-tsc/object/omit.spec.js.map +0 -1
  176. package/dist/out-tsc/object/set-path.d.ts +0 -2
  177. package/dist/out-tsc/object/set-path.js +0 -45
  178. package/dist/out-tsc/object/set-path.js.map +0 -1
  179. package/dist/out-tsc/object/set-path.spec.d.ts +0 -1
  180. package/dist/out-tsc/object/set-path.spec.js +0 -36
  181. package/dist/out-tsc/object/set-path.spec.js.map +0 -1
  182. package/dist/out-tsc/object/traverse-path.d.ts +0 -2
  183. package/dist/out-tsc/object/traverse-path.js +0 -81
  184. package/dist/out-tsc/object/traverse-path.js.map +0 -1
  185. package/dist/out-tsc/object/values.d.ts +0 -2
  186. package/dist/out-tsc/object/values.js +0 -31
  187. package/dist/out-tsc/object/values.js.map +0 -1
  188. package/dist/out-tsc/object/values.spec.d.ts +0 -1
  189. package/dist/out-tsc/object/values.spec.js +0 -7
  190. package/dist/out-tsc/object/values.spec.js.map +0 -1
  191. package/dist/out-tsc/string/code.template-tag.d.ts +0 -2
  192. package/dist/out-tsc/string/code.template-tag.js +0 -38
  193. package/dist/out-tsc/string/code.template-tag.js.map +0 -1
  194. package/dist/out-tsc/string/index.d.ts +0 -3
  195. package/dist/out-tsc/string/index.js +0 -4
  196. package/dist/out-tsc/string/index.js.map +0 -1
  197. package/dist/out-tsc/string/parse-file-size.d.ts +0 -5
  198. package/dist/out-tsc/string/parse-file-size.js +0 -43
  199. package/dist/out-tsc/string/parse-file-size.js.map +0 -1
  200. package/dist/out-tsc/string/template.d.ts +0 -15
  201. package/dist/out-tsc/string/template.js +0 -28
  202. package/dist/out-tsc/string/template.js.map +0 -1
  203. package/dist/out-tsc/string/template.spec.d.ts +0 -1
  204. package/dist/out-tsc/string/template.spec.js +0 -39
  205. package/dist/out-tsc/string/template.spec.js.map +0 -1
  206. package/dist/out-tsc/typings.d.ts +0 -1
  207. package/dist/out-tsc/typings.js +0 -2
  208. package/dist/out-tsc/typings.js.map +0 -1
  209. package/rollup.config.js +0 -22
@@ -1,32 +0,0 @@
1
- /**
2
- * Functions for various operators, most useful in combination
3
- * with functional programming tools like map, filter, and reduce.
4
- */
5
- export declare const Op: {
6
- add: (a: any, b: any) => any;
7
- and: (a: any, b: any) => any;
8
- band: (a: any, b: any) => number;
9
- bor: (a: any, b: any) => number;
10
- bxor: (a: any, b: any) => number;
11
- bnot: (a: any) => number;
12
- decr: (a: number) => number;
13
- div: (a: number, b: number) => number;
14
- eq: (a: any, b: any) => boolean;
15
- exp: (a: number, b: number) => number;
16
- gt: (a: any, b: any) => boolean;
17
- gte: (a: any, b: any) => boolean;
18
- incr: (a: number) => number;
19
- lshift: (a: any, b: any) => number;
20
- lt: (a: any, b: any) => boolean;
21
- lte: (a: any, b: any) => boolean;
22
- mul: (a: number, b: number) => number;
23
- neg: (a: number) => number;
24
- neq: (a: any, b: any) => boolean;
25
- not: (a: any) => boolean;
26
- or: (a: any, b: any) => any;
27
- rem: (a: number, b: number) => number;
28
- rshift: (a: any, b: any) => number;
29
- rshift_zf: (a: any, b: any) => number;
30
- sub: (a: number, b: number) => number;
31
- xor: (a: any, b: any) => boolean;
32
- };
@@ -1,34 +0,0 @@
1
- /**
2
- * Functions for various operators, most useful in combination
3
- * with functional programming tools like map, filter, and reduce.
4
- */
5
- export var Op = {
6
- // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
7
- add: function (a, b) { return a + b; },
8
- and: function (a, b) { return a && b; },
9
- band: function (a, b) { return a & b; },
10
- bor: function (a, b) { return a | b; },
11
- bxor: function (a, b) { return a ^ b; },
12
- bnot: function (a) { return ~a; },
13
- decr: function (a) { return a - 1; },
14
- div: function (a, b) { return a / b; },
15
- eq: function (a, b) { return a === b; },
16
- exp: function (a, b) { return Math.pow(a, b); },
17
- gt: function (a, b) { return a > b; },
18
- gte: function (a, b) { return a >= b; },
19
- incr: function (a) { return a + 1; },
20
- lshift: function (a, b) { return a << b; },
21
- lt: function (a, b) { return a < b; },
22
- lte: function (a, b) { return a <= b; },
23
- mul: function (a, b) { return a * b; },
24
- neg: function (a) { return -a; },
25
- neq: function (a, b) { return a !== b; },
26
- not: function (a) { return !a; },
27
- or: function (a, b) { return a || b; },
28
- rem: function (a, b) { return a % b; },
29
- rshift: function (a, b) { return a >> b; },
30
- rshift_zf: function (a, b) { return a >>> b; },
31
- sub: function (a, b) { return a - b; },
32
- xor: function (a, b) { return (a || b) && !(a && b); },
33
- };
34
- //# sourceMappingURL=op.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"op.js","sourceRoot":"","sources":["../../../src/function/op.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,IAAM,EAAE,GAAG;IAChB,qEAAqE;IACrE,GAAG,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAEpB,GAAG,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,IAAI,CAAC,EAAN,CAAM;IAErB,IAAI,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAErB,GAAG,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAEpB,IAAI,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAErB,IAAI,EAAE,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAF,CAAE;IAEf,IAAI,EAAE,UAAC,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAE1B,GAAG,EAAE,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAEpC,EAAE,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,KAAK,CAAC,EAAP,CAAO;IAErB,GAAG,EAAE,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,SAAA,CAAC,EAAI,CAAC,CAAA,EAAN,CAAM;IAErC,EAAE,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAEnB,GAAG,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,IAAI,CAAC,EAAN,CAAM;IAErB,IAAI,EAAE,UAAC,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAE1B,MAAM,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,IAAI,CAAC,EAAN,CAAM;IAExB,EAAE,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAEnB,GAAG,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,IAAI,CAAC,EAAN,CAAM;IAErB,GAAG,EAAE,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAEpC,GAAG,EAAE,UAAC,CAAS,IAAK,OAAA,CAAC,CAAC,EAAF,CAAE;IAEtB,GAAG,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,KAAK,CAAC,EAAP,CAAO;IAEtB,GAAG,EAAE,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAF,CAAE;IAEd,EAAE,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,IAAI,CAAC,EAAN,CAAM;IAEpB,GAAG,EAAE,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAEpC,MAAM,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,IAAI,CAAC,EAAN,CAAM;IAExB,SAAS,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,KAAK,CAAC,EAAP,CAAO;IAE5B,GAAG,EAAE,UAAC,CAAS,EAAE,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK;IAEpC,GAAG,EAAE,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAArB,CAAqB;CACrC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,94 +0,0 @@
1
- import { Op } from "./op";
2
- describe("Op", function () {
3
- test("provides addition as a function", function () {
4
- expect(Op.add(1, 3)).toBe(4);
5
- });
6
- test("provides Boolean AND as a function", function () {
7
- expect(Op.and(true, true)).toBe(true);
8
- expect(Op.and(true, false)).toBe(false);
9
- expect(Op.and(false, true)).toBe(false);
10
- expect(Op.and(false, false)).toBe(false);
11
- });
12
- test("provides bitwise AND as a function", function () {
13
- expect(Op.band(5, 12)).toBe(4);
14
- });
15
- test("provides bitwise OR as a function", function () {
16
- expect(Op.bor(5, 12)).toBe(13);
17
- });
18
- test("provides bitwise XOR as a function", function () {
19
- expect(Op.bxor(5, 12)).toBe(9);
20
- });
21
- test("provides bitwise NOT as a function", function () {
22
- expect(Op.bnot(5)).toBe(-6);
23
- });
24
- test("provides decrement as a function", function () {
25
- expect(Op.decr(6)).toBe(5);
26
- });
27
- test("provides division as a function", function () {
28
- expect(Op.div(5, 2)).toBe(2.5);
29
- });
30
- test("provides equality (triple equals) as a function", function () {
31
- var a = 5;
32
- var b = 5;
33
- var c = "5";
34
- expect(Op.eq(a, b)).toBe(true);
35
- expect(Op.eq(b, c)).toBe(false);
36
- });
37
- test("provides exponentiation as a function", function () {
38
- expect(Op.exp(2, 5)).toBe(32);
39
- });
40
- test("provides greater-than as a function", function () {
41
- expect(Op.gt(7, 6)).toBe(true);
42
- });
43
- test("provides greater-than-or-equals as a function", function () {
44
- expect(Op.gte(7, 6)).toBe(true);
45
- expect(Op.gte(6, 6)).toBe(true);
46
- });
47
- test("provides increment as a function", function () {
48
- expect(Op.incr(4)).toBe(5);
49
- });
50
- test("provides left shift as a function", function () {
51
- expect(Op.lshift(10, 1)).toBe(20);
52
- expect(Op.lshift(-10, 1)).toBe(-20);
53
- });
54
- test("provides less-than as a function", function () {
55
- expect(Op.lt(6, 7)).toBe(true);
56
- });
57
- test("provides less-than-or-equals as a function", function () {
58
- expect(Op.lte(6, 7)).toBe(true);
59
- expect(Op.lte(6, 6)).toBe(true);
60
- });
61
- test("provides multiplication as a function", function () {
62
- expect(Op.mul(12, 12)).toBe(144);
63
- });
64
- test("provides negation as a function", function () {
65
- expect(Op.neg(3)).toBe(-3);
66
- });
67
- test("provides Boolean OR as a function", function () {
68
- expect(Op.or(true, true)).toBe(true);
69
- expect(Op.or(true, false)).toBe(true);
70
- expect(Op.or(false, true)).toBe(true);
71
- expect(Op.or(false, false)).toBe(false);
72
- });
73
- test("provides remainder as a function", function () {
74
- expect(Op.rem(17, 7)).toBe(3);
75
- });
76
- test("provides right shift as a function", function () {
77
- expect(Op.rshift(10, 1)).toBe(5);
78
- expect(Op.rshift(-10, 1)).toBe(-5);
79
- });
80
- test("provides unsigned zero-fill right shift as a function", function () {
81
- expect(Op.rshift_zf(10, 1)).toBe(5);
82
- expect(Op.rshift_zf(-10, 1)).toBe(2147483643);
83
- });
84
- test("provides subtraction as a function", function () {
85
- expect(Op.sub(9, 4)).toBe(5);
86
- });
87
- test("provides Boolean XOR as a function", function () {
88
- expect(Op.xor(true, true)).toBe(false);
89
- expect(Op.xor(true, false)).toBe(true);
90
- expect(Op.xor(false, true)).toBe(true);
91
- expect(Op.xor(false, false)).toBe(false);
92
- });
93
- });
94
- //# sourceMappingURL=op.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"op.spec.js","sourceRoot":"","sources":["../../../src/function/op.spec.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export * from "./array/index";
2
- export * from "./classes/index";
3
- export * from "./data/index";
4
- export * from "./decorators/index";
5
- export * from "./function/index";
6
- export * from "./number/index";
7
- export * from "./object/index";
8
- export * from "./string/index";
9
- export * from "./typings";
@@ -1,10 +0,0 @@
1
- export * from "./array/index";
2
- export * from "./classes/index";
3
- export * from "./data/index";
4
- export * from "./decorators/index";
5
- export * from "./function/index";
6
- export * from "./number/index";
7
- export * from "./object/index";
8
- export * from "./string/index";
9
- export * from "./typings";
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Constrains a number to the given range. If the number is below the
3
- * low end of the range, the low end will be returned. If the number is
4
- * above the top end of the range, the top end will be returned. Otherwise
5
- * the number itself will be returned.
6
- */
7
- export declare function constrain(n: number, range: [number, number]): number;
@@ -1,16 +0,0 @@
1
- /**
2
- * Constrains a number to the given range. If the number is below the
3
- * low end of the range, the low end will be returned. If the number is
4
- * above the top end of the range, the top end will be returned. Otherwise
5
- * the number itself will be returned.
6
- */
7
- export function constrain(n, range) {
8
- if (!n || n < range[0]) {
9
- return range[0];
10
- }
11
- if (n > range[1]) {
12
- return range[1];
13
- }
14
- return n;
15
- }
16
- //# sourceMappingURL=constrain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constrain.js","sourceRoot":"","sources":["../../../src/number/constrain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,CAAS,EAAE,KAAuB;IAC1D,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;QACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;QAChB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Progressively rounds `num` to `decimalPlaces` places. This differs from other
3
- * rounding methods out there such as lodash's, which are not progressive. For example,
4
- * `(0.149).toFixed(1)` and lodash `_.round(0.149, 1)` both return `0.1`, but this
5
- * function rounds `0.149` to `0.15` and then `0.15` to `0.2` and returns `0.2`.
6
- */
7
- export declare function decimalRound(num: number, decimalPlaces?: number): number;
@@ -1,19 +0,0 @@
1
- /**
2
- * Progressively rounds `num` to `decimalPlaces` places. This differs from other
3
- * rounding methods out there such as lodash's, which are not progressive. For example,
4
- * `(0.149).toFixed(1)` and lodash `_.round(0.149, 1)` both return `0.1`, but this
5
- * function rounds `0.149` to `0.15` and then `0.15` to `0.2` and returns `0.2`.
6
- */
7
- export function decimalRound(num, decimalPlaces) {
8
- if (decimalPlaces === void 0) { decimalPlaces = 0; }
9
- var integralAndFractionalSplit = String(num).split(".");
10
- var allDecimalPlaces = integralAndFractionalSplit.length > 1
11
- ? integralAndFractionalSplit[1].length
12
- : 0;
13
- var roundedNum = num;
14
- for (var i = allDecimalPlaces - 1; i >= decimalPlaces; i -= 1) {
15
- roundedNum = Number(Math.round(Number(roundedNum + "e" + i)) + "e-" + i);
16
- }
17
- return roundedNum;
18
- }
19
- //# sourceMappingURL=decimal-round.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decimal-round.js","sourceRoot":"","sources":["../../../src/number/decimal-round.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,aAAiB;IAAjB,8BAAA,EAAA,iBAAiB;IACzD,IAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1D,IAAM,gBAAgB,GAAG,0BAA0B,CAAC,MAAM,GAAG,CAAC;QAC5D,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,MAAM;QACtC,CAAC,CAAC,CAAC,CAAC;IAEN,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE;QAC7D,UAAU,GAAG,MAAM,CAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAI,UAAU,SAAI,CAAG,CAAC,CAAC,UAAK,CAAG,CAAC,CAAC;KAC1E;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import { decimalRound } from "./decimal-round";
2
- describe("decimalRound", function () {
3
- test("does decimal rounding", function () {
4
- expect(decimalRound(1.49)).toEqual(2);
5
- });
6
- test("rounds to a given number of places", function () {
7
- expect(decimalRound(0.0149, 2)).toEqual(0.02);
8
- });
9
- });
10
- //# sourceMappingURL=decimal-round.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decimal-round.spec.js","sourceRoot":"","sources":["../../../src/number/decimal-round.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,QAAQ,CAAC,cAAc,EAAE;IACvB,IAAI,CAAC,uBAAuB,EAAE;QAC5B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE;QACzC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from "./constrain";
2
- export * from "./decimal-round";
3
- export * from "./to-file-size-string";
@@ -1,4 +0,0 @@
1
- export * from "./constrain";
2
- export * from "./decimal-round";
3
- export * from "./to-file-size-string";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/number/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Converts a file size in bytes to a human-friendly string. For example,
3
- * `toFileSizeString(2048)` will return `"2.00KB"`.
4
- */
5
- export declare function toFileSizeString(n: number, precision?: number): string;
@@ -1,24 +0,0 @@
1
- import { decimalRound } from "./decimal-round";
2
- /**
3
- * Converts a file size in bytes to a human-friendly string. For example,
4
- * `toFileSizeString(2048)` will return `"2.00KB"`.
5
- */
6
- export function toFileSizeString(n, precision) {
7
- if (precision === void 0) { precision = 2; }
8
- if (n > Number.MAX_SAFE_INTEGER) {
9
- throw new Error("Number is greater than MAX_SAFE_INTEGER; "
10
- + "toFileSizeString does not support orders of magnitude "
11
- + "higher than petabytes for this reason until BigInt "
12
- + "achieves broad browser support.");
13
- }
14
- var magnitude = Math.min(Math.floor(Math.log(n) / Math.log(1024)), 5);
15
- var unit = ["B",
16
- "KB",
17
- "MB",
18
- "GB",
19
- "TB",
20
- "PB"][magnitude];
21
- var decimalPlaces = magnitude ? precision : 0;
22
- return decimalRound(n / (Math.pow(1024, magnitude)), decimalPlaces).toFixed(decimalPlaces) + unit;
23
- }
24
- //# sourceMappingURL=to-file-size-string.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to-file-size-string.js","sourceRoot":"","sources":["../../../src/number/to-file-size-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,SAAa;IAAb,0BAAA,EAAA,aAAa;IACvD,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,EAAE;QAC/B,MAAM,IAAI,KAAK,CACb,2CAA2C;cAC/B,wDAAwD;cACxD,qDAAqD;cACrD,iCAAiC,CAC9C,CAAC;KACH;IACD,IAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,IAAM,IAAI,GAAG,CAAC,GAAG;QACf,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;IACnB,IAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,YAAY,CAAC,CAAC,GAAG,CAAC,SAAA,IAAI,EAAI,SAAS,CAAA,CAAC,EAAE,aAAa,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;AAC5F,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Copy a property from one object to another using its property descriptor.
3
- * In other words, if it's a getter/setter on `sourceObject` it'll be the same
4
- * getter/setter on `destObject`. If it's just a value it'll be just a value.
5
- */
6
- export declare function copyProperty(propName: PropertyKey, sourceObject: any, destObject: any): void;
@@ -1,9 +0,0 @@
1
- /**
2
- * Copy a property from one object to another using its property descriptor.
3
- * In other words, if it's a getter/setter on `sourceObject` it'll be the same
4
- * getter/setter on `destObject`. If it's just a value it'll be just a value.
5
- */
6
- export function copyProperty(propName, sourceObject, destObject) {
7
- Object.defineProperty(destObject, propName, Object.getOwnPropertyDescriptor(sourceObject, propName));
8
- }
9
- //# sourceMappingURL=copy-property.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy-property.js","sourceRoot":"","sources":["../../../src/object/copy-property.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,QAAqB,EAAE,YAAiB,EAAE,UAAe;IACpF,MAAM,CAAC,cAAc,CACnB,UAAU,EACV,QAAQ,EACR,MAAM,CAAC,wBAAwB,CAAC,YAAY,EAAE,QAAQ,CAAC,CACxD,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,16 +0,0 @@
1
- import { copyProperty } from "./copy-property";
2
- describe("copyProperty", function () {
3
- test("copies a property from sourceObject to destObject", function () {
4
- var sourceObject = {
5
- n: 2,
6
- get nn() {
7
- return this.n * this.n;
8
- },
9
- };
10
- var destObject = { n: 4, nn: null };
11
- copyProperty("nn", sourceObject, destObject);
12
- expect(sourceObject.nn).toBe(4);
13
- expect(destObject.nn).toBe(16);
14
- });
15
- });
16
- //# sourceMappingURL=copy-property.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy-property.spec.js","sourceRoot":"","sources":["../../../src/object/copy-property.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,QAAQ,CAAC,cAAc,EAAE;IACvB,IAAI,CAAC,mDAAmD,EAAE;QACxD,IAAM,YAAY,GAAG;YACnB,CAAC,EAAE,CAAC;YACJ,IAAI,EAAE;gBACJ,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACzB,CAAC;SACF,CAAC;QACF,IAAM,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QAEtC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAE7C,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Converts a path to crumbs.
3
- * For example:
4
- * "a.b[0].c" -> ["a", "b", "0", "c"]
5
- */
6
- export declare function crumblePath(path: string | PropertyKey | PropertyKey[]): PropertyKey[];
@@ -1,9 +0,0 @@
1
- /**
2
- * Converts a path to crumbs.
3
- * For example:
4
- * "a.b[0].c" -> ["a", "b", "0", "c"]
5
- */
6
- export function crumblePath(path) {
7
- return typeof path === "string" ? path.match(/[^.[\]]+/g) || [] : [].concat(path);
8
- }
9
- //# sourceMappingURL=crumble-path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crumble-path.js","sourceRoot":"","sources":["../../../src/object/crumble-path.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAA0C;IACpE,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpF,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,24 +0,0 @@
1
- import { crumblePath } from "./crumble-path";
2
- describe("crumblePath", function () {
3
- test("crumbles a dot path", function () {
4
- expect(crumblePath("a.b.c")).toEqual(["a",
5
- "b",
6
- "c"]);
7
- });
8
- test("crumbles a bracket path", function () {
9
- expect(crumblePath("[0][1][2]")).toEqual(["0",
10
- "1",
11
- "2"]);
12
- });
13
- test("crumbles a mixed path", function () {
14
- expect(crumblePath("a.b[0].c")).toEqual(["a",
15
- "b",
16
- "0",
17
- "c"]);
18
- });
19
- test("doesn't break on a single-crumb path", function () {
20
- expect(crumblePath("a")).toEqual(["a"]);
21
- expect(crumblePath("[0]")).toEqual(["0"]);
22
- });
23
- });
24
- //# sourceMappingURL=crumble-path.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crumble-path.spec.js","sourceRoot":"","sources":["../../../src/object/crumble-path.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,QAAQ,CAAC,aAAa,EAAE;IACtB,IAAI,CAAC,qBAAqB,EAAE;QAC1B,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG;YACvC,GAAG;YACH,GAAG,CAAC,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE;QAC9B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG;YAC3C,GAAG;YACH,GAAG,CAAC,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE;QAC5B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG;YAC1C,GAAG;YACH,GAAG;YACH,GAAG,CAAC,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE;QAC3C,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export declare function deepFreeze(obj: any): void;
@@ -1,36 +0,0 @@
1
- var __values = (this && this.__values) || function(o) {
2
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
3
- if (m) return m.call(o);
4
- if (o && typeof o.length === "number") return {
5
- next: function () {
6
- if (o && i >= o.length) o = void 0;
7
- return { value: o && o[i++], done: !o };
8
- }
9
- };
10
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
11
- };
12
- import isPlainObject from "lodash.isplainobject";
13
- /*
14
- * Recursive Object.freeze on plain objects and arrays
15
- */
16
- export function deepFreeze(obj) {
17
- var e_1, _a;
18
- Object.freeze(obj);
19
- try {
20
- for (var _b = __values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) {
21
- var key = _c.value;
22
- var val = obj[key];
23
- if (isPlainObject(val) || Array.isArray(val)) {
24
- deepFreeze(val);
25
- }
26
- }
27
- }
28
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
29
- finally {
30
- try {
31
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
32
- }
33
- finally { if (e_1) throw e_1.error; }
34
- }
35
- }
36
- //# sourceMappingURL=deep-freeze.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deep-freeze.js","sourceRoot":"","sources":["../../../src/object/deep-freeze.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAG;;IAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;QACnB,KAAkB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,gBAAA,4BAAE;YAA/B,IAAM,GAAG,WAAA;YACZ,IAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC5C,UAAU,CAAC,GAAG,CAAC,CAAC;aACjB;SACF;;;;;;;;;AACH,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,14 +0,0 @@
1
- import { deepFreeze } from "./deep-freeze";
2
- describe("deepFreeze", function () {
3
- test("should recursively freeze the input", function () {
4
- var obj = { a: { b: 1 } };
5
- deepFreeze(obj);
6
- expect(function () {
7
- obj.a = "q";
8
- }).toThrow();
9
- expect(function () {
10
- obj.a.b = 2;
11
- }).toThrow();
12
- });
13
- });
14
- //# sourceMappingURL=deep-freeze.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deep-freeze.spec.js","sourceRoot":"","sources":["../../../src/object/deep-freeze.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,QAAQ,CAAC,YAAY,EAAE;IACrB,IAAI,CAAC,qCAAqC,EAAE;QAC1C,IAAM,GAAG,GAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,CAAC;YACL,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QACd,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,CAAC;YACL,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,12 +0,0 @@
1
- export declare enum DiffChange {
2
- ADDITION = 0,
3
- DELETION = 1,
4
- ALTERATION = 2
5
- }
6
- export interface DiffEntry {
7
- type: DiffChange;
8
- key: PropertyKey;
9
- parentPath: PropertyKey[];
10
- objects: [Record<PropertyKey, unknown>, Record<PropertyKey, unknown>];
11
- }
12
- export declare function diff(o1: Record<PropertyKey, unknown>, o2: Record<PropertyKey, unknown>, parentPath?: PropertyKey[]): DiffEntry[];
@@ -1,92 +0,0 @@
1
- var __read = (this && this.__read) || function (o, n) {
2
- var m = typeof Symbol === "function" && o[Symbol.iterator];
3
- if (!m) return o;
4
- var i = m.call(o), r, ar = [], e;
5
- try {
6
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
- }
8
- catch (error) { e = { error: error }; }
9
- finally {
10
- try {
11
- if (r && !r.done && (m = i["return"])) m.call(i);
12
- }
13
- finally { if (e) throw e.error; }
14
- }
15
- return ar;
16
- };
17
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
- if (ar || !(i in from)) {
20
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
- ar[i] = from[i];
22
- }
23
- }
24
- return to.concat(ar || Array.prototype.slice.call(from));
25
- };
26
- var __values = (this && this.__values) || function(o) {
27
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
28
- if (m) return m.call(o);
29
- if (o && typeof o.length === "number") return {
30
- next: function () {
31
- if (o && i >= o.length) o = void 0;
32
- return { value: o && o[i++], done: !o };
33
- }
34
- };
35
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
36
- };
37
- import isPlainObject from "lodash.isplainobject";
38
- export var DiffChange;
39
- (function (DiffChange) {
40
- DiffChange[DiffChange["ADDITION"] = 0] = "ADDITION";
41
- DiffChange[DiffChange["DELETION"] = 1] = "DELETION";
42
- DiffChange[DiffChange["ALTERATION"] = 2] = "ALTERATION";
43
- })(DiffChange || (DiffChange = {}));
44
- export function diff(o1, o2, parentPath) {
45
- var e_1, _a;
46
- if (parentPath === void 0) { parentPath = []; }
47
- var d = [];
48
- try {
49
- for (var _b = __values(new Set(__spreadArray(__spreadArray([], __read(Object.keys(o1)), false), __read(Object.keys(o2)), false))), _c = _b.next(); !_c.done; _c = _b.next()) {
50
- var key = _c.value;
51
- var o1HasKey = Object.prototype.hasOwnProperty.call(o1, key);
52
- var o2HasKey = Object.prototype.hasOwnProperty.call(o2, key);
53
- if (o1HasKey && !o2HasKey) {
54
- d.push({
55
- type: DiffChange.DELETION,
56
- key: key,
57
- parentPath: parentPath,
58
- objects: [o1, o2],
59
- });
60
- }
61
- else if (!o1HasKey && o2HasKey) {
62
- d.push({
63
- type: DiffChange.ADDITION,
64
- key: key,
65
- parentPath: parentPath,
66
- objects: [o1, o2],
67
- });
68
- }
69
- else if ((isPlainObject(o1[key]) && isPlainObject(o2[key]))
70
- || (Array.isArray(o1[key]) && Array.isArray(o2[key]))) {
71
- d = d.concat(diff(o1[key], o2[key], __spreadArray(__spreadArray([], __read(parentPath), false), [key], false)));
72
- }
73
- else if (o1[key] !== o2[key]) {
74
- d.push({
75
- type: DiffChange.ALTERATION,
76
- key: key,
77
- parentPath: parentPath,
78
- objects: [o1, o2],
79
- });
80
- }
81
- }
82
- }
83
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
84
- finally {
85
- try {
86
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
87
- }
88
- finally { if (e_1) throw e_1.error; }
89
- }
90
- return d;
91
- }
92
- //# sourceMappingURL=diff.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/object/diff.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAEjD,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,mDAAQ,CAAA;IACR,mDAAQ,CAAA;IACR,uDAAU,CAAA;AACZ,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AASD,MAAM,UAAU,IAAI,CAClB,EAAgC,EAChC,EAAgC,EAChC,UAA8B;;IAA9B,2BAAA,EAAA,eAA8B;IAE9B,IAAI,CAAC,GAAgB,EAAE,CAAC;;QACxB,KAAkB,IAAA,KAAA,SAAA,IAAI,GAAG,wCAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAE,CAAA,gBAAA,4BAAE;YAAhE,IAAM,GAAG,WAAA;YACZ,IAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAE/D,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE;gBACzB,CAAC,CAAC,IAAI,CAAC;oBACL,IAAI,EAAE,UAAU,CAAC,QAAQ;oBAAE,GAAG,KAAA;oBAAE,UAAU,YAAA;oBAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;iBAC9D,CAAC,CAAC;aACJ;iBAAM,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE;gBAChC,CAAC,CAAC,IAAI,CAAC;oBACL,IAAI,EAAE,UAAU,CAAC,QAAQ;oBAAE,GAAG,KAAA;oBAAE,UAAU,YAAA;oBAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;iBAC9D,CAAC,CAAC;aACJ;iBAAM,IACL,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;mBACrC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAC/D;gBACA,CAAC,GAAG,CAAC,CAAC,MAAM,CACV,IAAI,CACF,EAAE,CAAC,GAAG,CAAiC,EACvC,EAAE,CAAC,GAAG,CAAiC,yCACnC,UAAU,YAAE,GAAG,UACpB,CACF,CAAC;aACH;iBAAM,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;gBAC9B,CAAC,CAAC,IAAI,CAAC;oBACL,IAAI,EAAE,UAAU,CAAC,UAAU;oBAAE,GAAG,KAAA;oBAAE,UAAU,YAAA;oBAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;iBAChE,CAAC,CAAC;aACJ;SACF;;;;;;;;;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1 +0,0 @@
1
- export {};