@oliversalzburg/js-utils 0.7.0 → 0.8.0

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 (178) hide show
  1. package/lib/async/async.d.ts +44 -0
  2. package/lib/async/async.js +76 -0
  3. package/lib/async/async.js.map +1 -0
  4. package/lib/async/async.test.d.ts +1 -0
  5. package/lib/async/async.test.js +26 -0
  6. package/lib/async/async.test.js.map +1 -0
  7. package/lib/cli/args.d.ts +9 -0
  8. package/lib/cli/args.js +49 -0
  9. package/lib/cli/args.js.map +1 -0
  10. package/lib/cli/args.test.d.ts +1 -0
  11. package/lib/cli/args.test.js +31 -0
  12. package/lib/cli/args.test.js.map +1 -0
  13. package/lib/core.d.ts +43 -0
  14. package/lib/core.js +2 -0
  15. package/lib/core.js.map +1 -0
  16. package/lib/data/array.d.ts +55 -0
  17. package/lib/data/array.js +90 -0
  18. package/lib/data/array.js.map +1 -0
  19. package/lib/data/nil.d.ts +92 -0
  20. package/lib/data/nil.js +131 -0
  21. package/lib/data/nil.js.map +1 -0
  22. package/lib/data/random.d.ts +111 -0
  23. package/lib/data/random.js +381 -0
  24. package/lib/data/random.js.map +1 -0
  25. package/lib/data/string.d.ts +30 -0
  26. package/lib/data/string.js +53 -0
  27. package/lib/data/string.js.map +1 -0
  28. package/lib/data/tree.d.ts +28 -0
  29. package/lib/data/tree.js +45 -0
  30. package/lib/data/tree.js.map +1 -0
  31. package/lib/device/shake.d.ts +79 -0
  32. package/lib/device/shake.js +135 -0
  33. package/lib/device/shake.js.map +1 -0
  34. package/lib/dom/core.d.ts +21 -0
  35. package/lib/dom/core.js +41 -0
  36. package/lib/dom/core.js.map +1 -0
  37. package/lib/errors/AbstractError.d.ts +29 -0
  38. package/lib/errors/AbstractError.js +59 -0
  39. package/lib/errors/AbstractError.js.map +1 -0
  40. package/lib/errors/InternalError.d.ts +19 -0
  41. package/lib/errors/InternalError.js +38 -0
  42. package/lib/errors/InternalError.js.map +1 -0
  43. package/lib/errors/InvalidArgumentError.d.ts +13 -0
  44. package/lib/errors/InvalidArgumentError.js +22 -0
  45. package/lib/errors/InvalidArgumentError.js.map +1 -0
  46. package/lib/errors/InvalidOperationError.d.ts +13 -0
  47. package/lib/errors/InvalidOperationError.js +22 -0
  48. package/lib/errors/InvalidOperationError.js.map +1 -0
  49. package/lib/errors/NotImplementedError.d.ts +12 -0
  50. package/lib/errors/NotImplementedError.js +21 -0
  51. package/lib/errors/NotImplementedError.js.map +1 -0
  52. package/lib/errors/PermissionViolationError.d.ts +13 -0
  53. package/lib/errors/PermissionViolationError.js +22 -0
  54. package/lib/errors/PermissionViolationError.js.map +1 -0
  55. package/lib/errors/ResourceConflictError.d.ts +12 -0
  56. package/lib/errors/ResourceConflictError.js +21 -0
  57. package/lib/errors/ResourceConflictError.js.map +1 -0
  58. package/lib/errors/UnknownError.d.ts +16 -0
  59. package/lib/errors/UnknownError.js +25 -0
  60. package/lib/errors/UnknownError.js.map +1 -0
  61. package/lib/errors/console.d.ts +7 -0
  62. package/lib/errors/console.js +13 -0
  63. package/lib/errors/console.js.map +1 -0
  64. package/lib/errors/error-serializer.d.ts +45 -0
  65. package/lib/errors/error-serializer.js +74 -0
  66. package/lib/errors/error-serializer.js.map +1 -0
  67. package/lib/errors/error-serializer.test.d.ts +1 -0
  68. package/lib/errors/error-serializer.test.js +109 -0
  69. package/lib/errors/error-serializer.test.js.map +1 -0
  70. package/lib/errors/stream.d.ts +7 -0
  71. package/lib/errors/stream.js +15 -0
  72. package/lib/errors/stream.js.map +1 -0
  73. package/lib/errors/tools.d.ts +10 -0
  74. package/lib/errors/tools.js +13 -0
  75. package/lib/errors/tools.js.map +1 -0
  76. package/lib/events/event.d.ts +9 -0
  77. package/lib/events/event.js +10 -0
  78. package/lib/events/event.js.map +1 -0
  79. package/lib/format/bytes.d.ts +118 -0
  80. package/lib/format/bytes.js +138 -0
  81. package/lib/format/bytes.js.map +1 -0
  82. package/lib/format/bytes.test.d.ts +1 -0
  83. package/lib/format/bytes.test.js +146 -0
  84. package/lib/format/bytes.test.js.map +1 -0
  85. package/lib/format/count.d.ts +14 -0
  86. package/lib/format/count.js +51 -0
  87. package/lib/format/count.js.map +1 -0
  88. package/lib/format/count.test.d.ts +1 -0
  89. package/lib/format/count.test.js +42 -0
  90. package/lib/format/count.test.js.map +1 -0
  91. package/lib/format/milliseconds.d.ts +100 -0
  92. package/lib/format/milliseconds.js +199 -0
  93. package/lib/format/milliseconds.js.map +1 -0
  94. package/lib/format/milliseconds.test.d.ts +1 -0
  95. package/lib/format/milliseconds.test.js +393 -0
  96. package/lib/format/milliseconds.test.js.map +1 -0
  97. package/lib/format/string.d.ts +24 -0
  98. package/lib/format/string.js +32 -0
  99. package/lib/format/string.js.map +1 -0
  100. package/lib/format/string.test.d.ts +1 -0
  101. package/lib/format/string.test.js +17 -0
  102. package/lib/format/string.test.js.map +1 -0
  103. package/lib/graphics/canvas-sandbox-mp.d.ts +258 -0
  104. package/lib/graphics/canvas-sandbox-mp.js +280 -0
  105. package/lib/graphics/canvas-sandbox-mp.js.map +1 -0
  106. package/lib/graphics/canvas-sandbox.d.ts +255 -0
  107. package/lib/graphics/canvas-sandbox.js +358 -0
  108. package/lib/graphics/canvas-sandbox.js.map +1 -0
  109. package/lib/graphics/canvas.d.ts +57 -0
  110. package/lib/graphics/canvas.js +37 -0
  111. package/lib/graphics/canvas.js.map +1 -0
  112. package/lib/graphics/canvas2d-headless.d.ts +85 -0
  113. package/lib/graphics/canvas2d-headless.js +197 -0
  114. package/lib/graphics/canvas2d-headless.js.map +1 -0
  115. package/lib/graphics/canvas2d.d.ts +162 -0
  116. package/lib/graphics/canvas2d.js +332 -0
  117. package/lib/graphics/canvas2d.js.map +1 -0
  118. package/lib/graphics/canvas3d.d.ts +41 -0
  119. package/lib/graphics/canvas3d.js +67 -0
  120. package/lib/graphics/canvas3d.js.map +1 -0
  121. package/lib/graphics/color.d.ts +22 -0
  122. package/lib/graphics/color.js +38 -0
  123. package/lib/graphics/color.js.map +1 -0
  124. package/lib/graphics/core.d.ts +89 -0
  125. package/lib/graphics/core.js +146 -0
  126. package/lib/graphics/core.js.map +1 -0
  127. package/lib/graphics/palette-sampler.d.ts +7 -0
  128. package/lib/graphics/palette-sampler.js +21 -0
  129. package/lib/graphics/palette-sampler.js.map +1 -0
  130. package/lib/graphics/palette.d.ts +120 -0
  131. package/lib/graphics/palette.js +574 -0
  132. package/lib/graphics/palette.js.map +1 -0
  133. package/lib/graphics/palette.test.d.ts +1 -0
  134. package/lib/graphics/palette.test.js +43 -0
  135. package/lib/graphics/palette.test.js.map +1 -0
  136. package/lib/graphics/render-loop.d.ts +76 -0
  137. package/lib/graphics/render-loop.js +114 -0
  138. package/lib/graphics/render-loop.js.map +1 -0
  139. package/lib/graphics/shader.d.ts +56 -0
  140. package/lib/graphics/shader.js +80 -0
  141. package/lib/graphics/shader.js.map +1 -0
  142. package/lib/log/log.d.ts +11 -0
  143. package/lib/log/log.js +2 -0
  144. package/lib/log/log.js.map +1 -0
  145. package/lib/log/report.d.ts +57 -0
  146. package/lib/log/report.js +88 -0
  147. package/lib/log/report.js.map +1 -0
  148. package/lib/math/core.d.ts +85 -0
  149. package/lib/math/core.js +125 -0
  150. package/lib/math/core.js.map +1 -0
  151. package/lib/math/easing.d.ts +204 -0
  152. package/lib/math/easing.js +366 -0
  153. package/lib/math/easing.js.map +1 -0
  154. package/lib/math/euler.d.ts +18 -0
  155. package/lib/math/euler.js +22 -0
  156. package/lib/math/euler.js.map +1 -0
  157. package/lib/math/matrix3.d.ts +227 -0
  158. package/lib/math/matrix3.js +508 -0
  159. package/lib/math/matrix3.js.map +1 -0
  160. package/lib/math/quaternion.d.ts +119 -0
  161. package/lib/math/quaternion.js +270 -0
  162. package/lib/math/quaternion.js.map +1 -0
  163. package/lib/math/transformation.d.ts +26 -0
  164. package/lib/math/transformation.js +31 -0
  165. package/lib/math/transformation.js.map +1 -0
  166. package/lib/math/vector2.d.ts +202 -0
  167. package/lib/math/vector2.js +310 -0
  168. package/lib/math/vector2.js.map +1 -0
  169. package/lib/math/vector3.d.ts +293 -0
  170. package/lib/math/vector3.js +492 -0
  171. package/lib/math/vector3.js.map +1 -0
  172. package/lib/math/vector4.d.ts +182 -0
  173. package/lib/math/vector4.js +302 -0
  174. package/lib/math/vector4.js.map +1 -0
  175. package/lib/measurement/performance.d.ts +13 -0
  176. package/lib/measurement/performance.js +19 -0
  177. package/lib/measurement/performance.js.map +1 -0
  178. package/package.json +5 -7
@@ -0,0 +1,100 @@
1
+ /**
2
+ * This code was derived from https://github.com/sindresorhus/parse-ms/tree/a18636bb609793326a1bd8d541aad49f715f0a40
3
+ * and https://github.com/sindresorhus/pretty-ms/tree/763fe075d8a62aa8d9ee603bfad2f3107c3a9f02.
4
+ * It is available under the MIT license.
5
+ */
6
+ /**
7
+ * Options for the `formatMilliseconds` function.
8
+ */
9
+ export interface FormatMillisecondsOptions {
10
+ /**
11
+ * Number of digits to appear after the seconds decimal point.
12
+ */
13
+ secondsDecimalDigits?: number;
14
+ /**
15
+ * Number of digits to appear after the milliseconds decimal point.
16
+ *
17
+ * Useful in combination with [`process.hrtime()`](https://nodejs.org/api/process.html#process_process_hrtime).
18
+ */
19
+ millisecondsDecimalDigits?: number;
20
+ /**
21
+ * Keep milliseconds on whole seconds: `13s` → `13.0s`.
22
+ *
23
+ * Useful when you are showing a number of seconds spent on an operation and don't want the width of the output to change when hitting a whole number.
24
+ */
25
+ keepDecimalsOnWholeSeconds?: boolean;
26
+ /**
27
+ * Only show the first unit: `1h 10m` → `1h`.
28
+ *
29
+ * Also ensures that `millisecondsDecimalDigits` and `secondsDecimalDigits` are both set to `0`.
30
+ */
31
+ compact?: boolean;
32
+ /**
33
+ * Number of units to show. Setting `compact` to `true` overrides this option.
34
+ */
35
+ unitCount?: number;
36
+ /**
37
+ * Use full-length units: `5h 1m 45s` → `5 hours 1 minute 45 seconds`.
38
+ */
39
+ verbose?: boolean;
40
+ /**
41
+ * Show milliseconds separately. This means they won't be included in the decimal part of the seconds.
42
+ */
43
+ separateMilliseconds?: boolean;
44
+ /**
45
+ * Show microseconds and nanoseconds.
46
+ */
47
+ formatSubMilliseconds?: boolean;
48
+ /**
49
+ * Display time using colon notation: `5h 1m 45s` → `5:01:45`. Always shows time in at least minutes: `1s` → `0:01`
50
+ *
51
+ * Useful when you want to display time without the time units, similar to a digital watch.
52
+ *
53
+ * Setting `colonNotation` to `true` overrides the following options to `false`:
54
+ * - `compact`
55
+ * - `formatSubMilliseconds`
56
+ * - `separateMilliseconds`
57
+ * - `verbose`
58
+ */
59
+ colonNotation?: boolean;
60
+ }
61
+ /**
62
+ * Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s`.
63
+ * @param milliseconds - Milliseconds to humanize.
64
+ * @param options - Options for humanizing the milliseconds.
65
+ * @returns The humanized string.
66
+ * @example
67
+ * ```
68
+ * import formatMilliseconds from '@oliversalzburg/js-utils/format/milliseconds.js';
69
+ *
70
+ * formatMilliseconds(1337000000);
71
+ * //=> '15d 11h 23m 20s'
72
+ *
73
+ * formatMilliseconds(1337);
74
+ * //=> '1.3s'
75
+ *
76
+ * formatMilliseconds(133);
77
+ * //=> '133ms'
78
+ *
79
+ * // `compact` option
80
+ * formatMilliseconds(1337, {compact: true});
81
+ * //=> '1s'
82
+ *
83
+ * // `verbose` option
84
+ * formatMilliseconds(1335669000, {verbose: true});
85
+ * //=> '15 days 11 hours 1 minute 9 seconds'
86
+ *
87
+ * // `colonNotation` option
88
+ * formatMilliseconds(95500, {colonNotation: true});
89
+ * //=> '1:35.5'
90
+ *
91
+ * // `formatSubMilliseconds` option
92
+ * formatMilliseconds(100.400080, {formatSubMilliseconds: true})
93
+ * //=> '100ms 400µs 80ns'
94
+ *
95
+ * // Can be useful for time durations
96
+ * formatMilliseconds(new Date(2014, 0, 1, 10, 40) - new Date(2014, 0, 1, 10, 5))
97
+ * //=> '35m'
98
+ * ```
99
+ */
100
+ export declare const formatMilliseconds: (milliseconds: number | bigint, options?: Readonly<FormatMillisecondsOptions>) => string;
@@ -0,0 +1,199 @@
1
+ /**
2
+ * This code was derived from https://github.com/sindresorhus/parse-ms/tree/a18636bb609793326a1bd8d541aad49f715f0a40
3
+ * and https://github.com/sindresorhus/pretty-ms/tree/763fe075d8a62aa8d9ee603bfad2f3107c3a9f02.
4
+ * It is available under the MIT license.
5
+ */
6
+ const toZeroIfInfinity = (value) => Number.isFinite(value) ? value : 0;
7
+ const parseNumber = (milliseconds) => {
8
+ return {
9
+ days: Math.trunc(milliseconds / 86_400_000),
10
+ hours: Math.trunc((milliseconds / 3_600_000) % 24),
11
+ microseconds: Math.trunc(toZeroIfInfinity(milliseconds * 1000) % 1000),
12
+ milliseconds: Math.trunc(milliseconds % 1000),
13
+ minutes: Math.trunc((milliseconds / 60_000) % 60),
14
+ nanoseconds: Math.trunc(toZeroIfInfinity(milliseconds * 1e6) % 1000),
15
+ seconds: Math.trunc((milliseconds / 1000) % 60),
16
+ };
17
+ };
18
+ const parseBigint = (milliseconds) => {
19
+ return {
20
+ days: milliseconds / 86400000n,
21
+ hours: (milliseconds / 3600000n) % 24n,
22
+ microseconds: 0n,
23
+ milliseconds: milliseconds % 1000n,
24
+ minutes: (milliseconds / 60000n) % 60n,
25
+ nanoseconds: 0n,
26
+ seconds: (milliseconds / 1000n) % 60n,
27
+ };
28
+ };
29
+ const parseMilliseconds = (milliseconds) => {
30
+ switch (typeof milliseconds) {
31
+ case "number": {
32
+ if (Number.isFinite(milliseconds)) {
33
+ return parseNumber(milliseconds);
34
+ }
35
+ break;
36
+ }
37
+ case "bigint": {
38
+ return parseBigint(milliseconds);
39
+ }
40
+ // No default
41
+ }
42
+ throw new TypeError("Expected a finite number or bigint");
43
+ };
44
+ const isZero = (value) => value === 0 || value === 0n;
45
+ const pluralize = (word, count) => count === 1 || count === 1n ? word : `${word}s`;
46
+ const SECOND_ROUNDING_EPSILON = 0.000_000_1;
47
+ const ONE_DAY_IN_MILLISECONDS = 24n * 60n * 60n * 1000n;
48
+ /**
49
+ * Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s`.
50
+ * @param milliseconds - Milliseconds to humanize.
51
+ * @param options - Options for humanizing the milliseconds.
52
+ * @returns The humanized string.
53
+ * @example
54
+ * ```
55
+ * import formatMilliseconds from '@oliversalzburg/js-utils/format/milliseconds.js';
56
+ *
57
+ * formatMilliseconds(1337000000);
58
+ * //=> '15d 11h 23m 20s'
59
+ *
60
+ * formatMilliseconds(1337);
61
+ * //=> '1.3s'
62
+ *
63
+ * formatMilliseconds(133);
64
+ * //=> '133ms'
65
+ *
66
+ * // `compact` option
67
+ * formatMilliseconds(1337, {compact: true});
68
+ * //=> '1s'
69
+ *
70
+ * // `verbose` option
71
+ * formatMilliseconds(1335669000, {verbose: true});
72
+ * //=> '15 days 11 hours 1 minute 9 seconds'
73
+ *
74
+ * // `colonNotation` option
75
+ * formatMilliseconds(95500, {colonNotation: true});
76
+ * //=> '1:35.5'
77
+ *
78
+ * // `formatSubMilliseconds` option
79
+ * formatMilliseconds(100.400080, {formatSubMilliseconds: true})
80
+ * //=> '100ms 400µs 80ns'
81
+ *
82
+ * // Can be useful for time durations
83
+ * formatMilliseconds(new Date(2014, 0, 1, 10, 40) - new Date(2014, 0, 1, 10, 5))
84
+ * //=> '35m'
85
+ * ```
86
+ */
87
+ export const formatMilliseconds = (milliseconds, options = {
88
+ colonNotation: false,
89
+ compact: false,
90
+ formatSubMilliseconds: false,
91
+ keepDecimalsOnWholeSeconds: false,
92
+ millisecondsDecimalDigits: 0,
93
+ secondsDecimalDigits: 1,
94
+ separateMilliseconds: false,
95
+ unitCount: Infinity,
96
+ verbose: false,
97
+ }) => {
98
+ const isBigInt = typeof milliseconds === "bigint";
99
+ if (!isBigInt && !Number.isFinite(milliseconds)) {
100
+ throw new TypeError("Expected a finite number or bigint");
101
+ }
102
+ const optionsAdjusted = { ...options };
103
+ if (optionsAdjusted.colonNotation) {
104
+ optionsAdjusted.compact = false;
105
+ optionsAdjusted.formatSubMilliseconds = false;
106
+ optionsAdjusted.separateMilliseconds = false;
107
+ optionsAdjusted.verbose = false;
108
+ }
109
+ if (optionsAdjusted.compact) {
110
+ optionsAdjusted.unitCount = 1;
111
+ optionsAdjusted.secondsDecimalDigits = 0;
112
+ optionsAdjusted.millisecondsDecimalDigits = 0;
113
+ }
114
+ let result = [];
115
+ const floorDecimals = (value, decimalDigits) => {
116
+ const flooredInterimValue = Math.floor(value * 10 ** decimalDigits + SECOND_ROUNDING_EPSILON);
117
+ const flooredValue = Math.round(flooredInterimValue) / 10 ** decimalDigits;
118
+ return flooredValue.toFixed(decimalDigits);
119
+ };
120
+ const add = (value, long, short, valueString) => {
121
+ if ((result.length === 0 || !optionsAdjusted.colonNotation) &&
122
+ isZero(value) &&
123
+ !(optionsAdjusted.colonNotation && short === "m")) {
124
+ return;
125
+ }
126
+ valueString ??= String(value);
127
+ if (optionsAdjusted.colonNotation) {
128
+ const wholeDigits = valueString.includes(".")
129
+ ? valueString.split(".")[0].length
130
+ : valueString.length;
131
+ const minLength = result.length > 0 ? 2 : 1;
132
+ valueString =
133
+ "0".repeat(Math.max(0, minLength - wholeDigits)) + valueString;
134
+ }
135
+ else {
136
+ valueString += optionsAdjusted.verbose
137
+ ? ` ${pluralize(long, value)}`
138
+ : short;
139
+ }
140
+ result.push(valueString);
141
+ };
142
+ const parsed = parseMilliseconds(milliseconds);
143
+ const days = BigInt(parsed.days);
144
+ add(days / 365n, "year", "y");
145
+ add(days % 365n, "day", "d");
146
+ add(Number(parsed.hours), "hour", "h");
147
+ add(Number(parsed.minutes), "minute", "m");
148
+ if (optionsAdjusted.separateMilliseconds ||
149
+ optionsAdjusted.formatSubMilliseconds ||
150
+ (!optionsAdjusted.colonNotation && milliseconds < 1000)) {
151
+ const seconds = Number(parsed.seconds);
152
+ const milliseconds = Number(parsed.milliseconds);
153
+ const microseconds = Number(parsed.microseconds);
154
+ const nanoseconds = Number(parsed.nanoseconds);
155
+ add(seconds, "second", "s");
156
+ if (optionsAdjusted.formatSubMilliseconds) {
157
+ add(milliseconds, "millisecond", "ms");
158
+ add(microseconds, "microsecond", "µs");
159
+ add(nanoseconds, "nanosecond", "ns");
160
+ }
161
+ else {
162
+ const millisecondsAndBelow = milliseconds + microseconds / 1000 + nanoseconds / 1e6;
163
+ const millisecondsDecimalDigits = typeof optionsAdjusted.millisecondsDecimalDigits === "number"
164
+ ? optionsAdjusted.millisecondsDecimalDigits
165
+ : 0;
166
+ const roundedMilliseconds = millisecondsAndBelow >= 1
167
+ ? Math.round(millisecondsAndBelow)
168
+ : Math.ceil(millisecondsAndBelow);
169
+ const millisecondsString = millisecondsDecimalDigits
170
+ ? millisecondsAndBelow.toFixed(millisecondsDecimalDigits)
171
+ : roundedMilliseconds.toString();
172
+ add(Number.parseFloat(millisecondsString), "millisecond", "ms", millisecondsString);
173
+ }
174
+ }
175
+ else {
176
+ const seconds = ((isBigInt
177
+ ? Number(milliseconds % ONE_DAY_IN_MILLISECONDS)
178
+ : milliseconds) /
179
+ 1000) %
180
+ 60;
181
+ const secondsDecimalDigits = typeof optionsAdjusted.secondsDecimalDigits === "number"
182
+ ? optionsAdjusted.secondsDecimalDigits
183
+ : 1;
184
+ const secondsFixed = floorDecimals(seconds, secondsDecimalDigits);
185
+ const secondsString = optionsAdjusted.keepDecimalsOnWholeSeconds
186
+ ? secondsFixed
187
+ : secondsFixed.replace(/\.0+$/, "");
188
+ add(Number.parseFloat(secondsString), "second", "s", secondsString);
189
+ }
190
+ if (result.length === 0) {
191
+ return `0${optionsAdjusted.verbose ? " milliseconds" : "ms"}`;
192
+ }
193
+ const separator = optionsAdjusted.colonNotation ? ":" : " ";
194
+ if (typeof optionsAdjusted.unitCount === "number") {
195
+ result = result.slice(0, Math.max(optionsAdjusted.unitCount, 1));
196
+ }
197
+ return result.join(separator);
198
+ };
199
+ //# sourceMappingURL=milliseconds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"milliseconds.js","sourceRoot":"","sources":["../../source/format/milliseconds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};