@postxl/utils 1.0.0 → 1.1.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 (114) hide show
  1. package/dist/index.browser.d.ts +2 -0
  2. package/dist/index.browser.js +3 -0
  3. package/dist/index.d.ts +22 -25
  4. package/dist/index.js +36 -41
  5. package/dist/index.js.map +1 -1
  6. package/dist/zod-excel.decoders-BJliEI1Y.js +1426 -0
  7. package/dist/zod-excel.decoders-BJliEI1Y.js.map +1 -0
  8. package/dist/zod-excel.decoders-CGmBv5CD.d.ts +773 -0
  9. package/package.json +24 -15
  10. package/dist/DefaultMap.d.ts +0 -12
  11. package/dist/DefaultMap.d.ts.map +0 -1
  12. package/dist/DefaultMap.js +0 -26
  13. package/dist/DefaultMap.js.map +0 -1
  14. package/dist/NestedMap.d.ts +0 -17
  15. package/dist/NestedMap.d.ts.map +0 -1
  16. package/dist/NestedMap.js +0 -72
  17. package/dist/NestedMap.js.map +0 -1
  18. package/dist/TypedMapping.d.ts +0 -27
  19. package/dist/TypedMapping.d.ts.map +0 -1
  20. package/dist/TypedMapping.js +0 -33
  21. package/dist/TypedMapping.js.map +0 -1
  22. package/dist/array.d.ts +0 -7
  23. package/dist/array.d.ts.map +0 -1
  24. package/dist/array.js +0 -21
  25. package/dist/array.js.map +0 -1
  26. package/dist/async.d.ts +0 -4
  27. package/dist/async.d.ts.map +0 -1
  28. package/dist/async.js +0 -41
  29. package/dist/async.js.map +0 -1
  30. package/dist/buffer.d.ts +0 -5
  31. package/dist/buffer.d.ts.map +0 -1
  32. package/dist/buffer.js +0 -16
  33. package/dist/buffer.js.map +0 -1
  34. package/dist/check-port.d.ts +0 -10
  35. package/dist/check-port.d.ts.map +0 -1
  36. package/dist/check-port.js +0 -40
  37. package/dist/check-port.js.map +0 -1
  38. package/dist/datetime.d.ts +0 -23
  39. package/dist/datetime.d.ts.map +0 -1
  40. package/dist/datetime.js +0 -37
  41. package/dist/datetime.js.map +0 -1
  42. package/dist/dictionary.d.ts +0 -9
  43. package/dist/dictionary.d.ts.map +0 -1
  44. package/dist/dictionary.js +0 -45
  45. package/dist/dictionary.js.map +0 -1
  46. package/dist/format.d.ts +0 -2
  47. package/dist/format.d.ts.map +0 -1
  48. package/dist/format.js +0 -7
  49. package/dist/format.js.map +0 -1
  50. package/dist/group-by.d.ts +0 -9
  51. package/dist/group-by.d.ts.map +0 -1
  52. package/dist/group-by.js +0 -66
  53. package/dist/group-by.js.map +0 -1
  54. package/dist/index.d.ts.map +0 -1
  55. package/dist/is-object.d.ts +0 -13
  56. package/dist/is-object.d.ts.map +0 -1
  57. package/dist/is-object.js +0 -25
  58. package/dist/is-object.js.map +0 -1
  59. package/dist/map.d.ts +0 -23
  60. package/dist/map.d.ts.map +0 -1
  61. package/dist/map.js +0 -76
  62. package/dist/map.js.map +0 -1
  63. package/dist/omit.d.ts +0 -5
  64. package/dist/omit.d.ts.map +0 -1
  65. package/dist/omit.js +0 -11
  66. package/dist/omit.js.map +0 -1
  67. package/dist/pagination.d.ts +0 -7
  68. package/dist/pagination.d.ts.map +0 -1
  69. package/dist/pagination.js +0 -14
  70. package/dist/pagination.js.map +0 -1
  71. package/dist/random.d.ts +0 -11
  72. package/dist/random.d.ts.map +0 -1
  73. package/dist/random.js +0 -56
  74. package/dist/random.js.map +0 -1
  75. package/dist/remove-secrets.d.ts +0 -12
  76. package/dist/remove-secrets.d.ts.map +0 -1
  77. package/dist/remove-secrets.js +0 -62
  78. package/dist/remove-secrets.js.map +0 -1
  79. package/dist/remove-undefined.d.ts +0 -10
  80. package/dist/remove-undefined.d.ts.map +0 -1
  81. package/dist/remove-undefined.js +0 -22
  82. package/dist/remove-undefined.js.map +0 -1
  83. package/dist/result.d.ts +0 -35
  84. package/dist/result.d.ts.map +0 -1
  85. package/dist/result.js +0 -120
  86. package/dist/result.js.map +0 -1
  87. package/dist/sort.d.ts +0 -18
  88. package/dist/sort.d.ts.map +0 -1
  89. package/dist/sort.js +0 -64
  90. package/dist/sort.js.map +0 -1
  91. package/dist/string-colors.d.ts +0 -45
  92. package/dist/string-colors.d.ts.map +0 -1
  93. package/dist/string-colors.js +0 -73
  94. package/dist/string-colors.js.map +0 -1
  95. package/dist/string.d.ts +0 -162
  96. package/dist/string.d.ts.map +0 -1
  97. package/dist/string.js +0 -434
  98. package/dist/string.js.map +0 -1
  99. package/dist/types.d.ts +0 -98
  100. package/dist/types.d.ts.map +0 -1
  101. package/dist/types.js +0 -57
  102. package/dist/types.js.map +0 -1
  103. package/dist/uniq.d.ts +0 -2
  104. package/dist/uniq.d.ts.map +0 -1
  105. package/dist/uniq.js +0 -16
  106. package/dist/uniq.js.map +0 -1
  107. package/dist/zod-excel.decoders.d.ts +0 -162
  108. package/dist/zod-excel.decoders.d.ts.map +0 -1
  109. package/dist/zod-excel.decoders.js +0 -361
  110. package/dist/zod-excel.decoders.js.map +0 -1
  111. package/dist/zod.d.ts +0 -30
  112. package/dist/zod.d.ts.map +0 -1
  113. package/dist/zod.js +0 -56
  114. package/dist/zod.js.map +0 -1
package/dist/string.js DELETED
@@ -1,434 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ensureUnique = void 0;
4
- exports.upperFirst = upperFirst;
5
- exports.lowerFirst = lowerFirst;
6
- exports.pluralize = pluralize;
7
- exports.isPlural = isPlural;
8
- exports.capitalizeKeys = capitalizeKeys;
9
- exports.uncapitalizeKeys = uncapitalizeKeys;
10
- exports.uncapitalize = uncapitalize;
11
- exports.capitalize = capitalize;
12
- exports.toCamelCase = toCamelCase;
13
- exports.isCamelCase = isCamelCase;
14
- exports.toPascalCase = toPascalCase;
15
- exports.isPascalCase = isPascalCase;
16
- exports.toSnakeCase = toSnakeCase;
17
- exports.isSnakeCase = isSnakeCase;
18
- exports.toKebabCase = toKebabCase;
19
- exports.isKebabCase = isKebabCase;
20
- exports.commentLines = commentLines;
21
- exports.toHumanReadable = toHumanReadable;
22
- exports.toExcelColumnName = toExcelColumnName;
23
- exports.toExcelTableName = toExcelTableName;
24
- exports.conjugateNames = conjugateNames;
25
- exports.slugify = slugify;
26
- exports.isSlug = isSlug;
27
- function upperFirst(s) {
28
- return s.charAt(0).toUpperCase() + s.slice(1);
29
- }
30
- function lowerFirst(s) {
31
- return s.charAt(0).toLowerCase() + s.slice(1);
32
- }
33
- const IRREGULAR_PLURALS = Object.entries({
34
- abyss: 'abysses',
35
- aegis: 'aegises',
36
- alias: 'aliases',
37
- alumnus: 'alumni',
38
- amends: 'amends',
39
- analysis: 'analyses',
40
- apparatus: 'apparatuses',
41
- appendix: 'appendices',
42
- asbestos: 'asbestoses',
43
- atlas: 'atlases',
44
- axis: 'axes',
45
- basis: 'bases',
46
- biceps: 'bicepses',
47
- bus: 'buses',
48
- caress: 'caresses',
49
- child: 'children',
50
- children: 'children',
51
- circus: 'circuses',
52
- citrus: 'citruses',
53
- compass: 'compasses',
54
- crisis: 'crises',
55
- criterion: 'criteria',
56
- crocus: 'crocuses',
57
- data: 'data',
58
- datum: 'data',
59
- diabetes: 'diabetes',
60
- diagnosis: 'diagnoses',
61
- dross: 'drosses',
62
- egress: 'egresses',
63
- elvis: 'elvises',
64
- emboss: 'embosses',
65
- fiss: 'fisses',
66
- focus: 'foci',
67
- glass: 'glasses',
68
- hippocampus: 'hippocampi',
69
- // While `histories` is the plural of `history`, in a model context, `history` makes more sense:
70
- // If you have a model called `UserHistory`, calling the table `UserHistories` would be confusing.
71
- history: 'history',
72
- hypothesis: 'hypotheses',
73
- ignis: 'ignises',
74
- index: 'indices',
75
- iris: 'irises',
76
- jesus: 'jesuses',
77
- kudos: 'kudos',
78
- lens: 'lenses',
79
- man: 'men',
80
- matrix: 'matrices',
81
- medium: 'media',
82
- news: 'news',
83
- oasis: 'oases',
84
- parenthesis: 'parentheses',
85
- pass: 'passes',
86
- phenomenon: 'phenomena',
87
- prognosis: 'prognoses',
88
- radius: 'radii',
89
- ras: 'rasses',
90
- sepsis: 'sepses',
91
- species: 'species',
92
- status: 'statuses',
93
- suffix: 'suffixes',
94
- syllabus: 'syllabi',
95
- synopsis: 'synopses',
96
- thesis: 'theses',
97
- tress: 'tresses',
98
- virus: 'viruses',
99
- vortex: 'vortices',
100
- woman: 'women',
101
- });
102
- /**
103
- * Returns a pluralized version of the given string based on the count.
104
- */
105
- function pluralize(s, count = 2) {
106
- // If there's one of something we simply use the singular form.
107
- if (count === 1) {
108
- return s;
109
- }
110
- // For plural forms, we first check whether a word is irregular.
111
- const lower = s.toLowerCase();
112
- for (const [singular, plural] of IRREGULAR_PLURALS) {
113
- // We check that items *end with* a given word because we use combined words
114
- // like `UserHistory` as input values of this function.
115
- if (lower.endsWith(singular)) {
116
- return s.slice(0, -singular.length + 1) + plural.slice(1);
117
- }
118
- }
119
- if (lower.endsWith('ss')) {
120
- return s.slice(0, -2) + 'sses';
121
- }
122
- if (
123
- // e.g. index
124
- lower.endsWith('x') ||
125
- // e.g. buzz
126
- lower.endsWith('z') ||
127
- // e.g. wish
128
- lower.endsWith('sh') ||
129
- // e.g. match
130
- lower.endsWith('ch')) {
131
- return s + 'es';
132
- }
133
- if (s.endsWith('y') &&
134
- !s.endsWith('ay') &&
135
- !s.endsWith('ey') &&
136
- !s.endsWith('iy') &&
137
- !s.endsWith('oy') &&
138
- !s.endsWith('uy')) {
139
- return s.slice(0, -1) + 'ies';
140
- }
141
- if (s.endsWith('s')) {
142
- return s;
143
- }
144
- return s + 's';
145
- }
146
- /**
147
- * Returns true if the given string is already pluralized.
148
- */
149
- function isPlural(s) {
150
- const plural = pluralize(s);
151
- return plural === s;
152
- }
153
- /**
154
- * Converts all keys of an object to capitalized versions in a type-safe way.
155
- */
156
- function capitalizeKeys(obj) {
157
- const result = {};
158
- for (const key in obj) {
159
- const cKey = `${key.charAt(0).toUpperCase()}${key.slice(1)}`;
160
- const cVal = obj[key];
161
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
162
- // @ts-expect-error
163
- result[cKey] = cVal;
164
- }
165
- return result;
166
- }
167
- /**
168
- * Converts all keys of an object to uncapitalized versions in a type-safe way.
169
- */
170
- function uncapitalizeKeys(obj) {
171
- const result = {};
172
- for (const key in obj) {
173
- const unKey = `${key.charAt(0).toLowerCase()}${key.slice(1)}`;
174
- const unVal = obj[key];
175
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
176
- // @ts-expect-error
177
- result[unKey] = unVal;
178
- }
179
- return result;
180
- }
181
- /**
182
- * Returns the same string with a lowercase first letter.
183
- */
184
- function uncapitalize(str) {
185
- return str.charAt(0).toLowerCase() + str.slice(1);
186
- }
187
- /**
188
- * Returns the same string with an uppercase first letter.
189
- */
190
- function capitalize(str) {
191
- return str.charAt(0).toUpperCase() + str.slice(1);
192
- }
193
- /**
194
- * Returns the camelCase version of the given string.
195
- *
196
- * Camel case examples:
197
- * `toCamelCase('hello world')` -> 'helloWorld',
198
- * `toCamelCase('hello_world')` -> 'helloWorld',
199
- * `toCamelCase('helloWorld')` -> 'helloWorld'
200
- * `toCamelCase('HelloWorld')` -> 'helloWorld'
201
- * `toCamelCase('hello_world')` -> 'helloWorld'
202
- */
203
- function toCamelCase(str) {
204
- if (/^[a-z]+(?:[A-Z][a-z]*)*$/.test(str)) {
205
- return str;
206
- }
207
- // Split the string into an array of words
208
- // We split on spaces, underscores, and hyphens.
209
- // We also split on single uppercase letters, though not on consecutive uppercase letters.
210
- const words = str.split(/(?<![A-Z])(?=[A-Z])|[\s_-]+/);
211
- // Convert the first word to lowercase and capitalize the rest
212
- const camelCasedWords = words
213
- .map((word) => (word.toUpperCase() === word ? word.toLowerCase() : word))
214
- .map((word, index) => (index === 0 ? lowerFirst(word) : upperFirst(word)));
215
- // Join the words back together into a single string
216
- const camelCasedStr = camelCasedWords.join('');
217
- return camelCasedStr;
218
- }
219
- /**
220
- * Validates if a string is in camelCase format
221
- */
222
- function isCamelCase(str) {
223
- return str === toCamelCase(str);
224
- }
225
- /**
226
- * Returns the PascalCase version of the given string.
227
- *
228
- * Examples:
229
- * `toPascalCase('hello world')` -> 'HelloWorld'
230
- * `toPascalCase('hello_world')` -> 'HelloWorld'
231
- * `toPascalCase('helloWorld')` -> 'HelloWorld'
232
- * `toPascalCase('Hello-World')` -> 'HelloWorld'
233
- * `toPascalCase('HELLO_WORLD')` -> 'HelloWorld'
234
- */
235
- function toPascalCase(str) {
236
- const s = toCamelCase(str);
237
- return s.charAt(0).toUpperCase() + s.slice(1);
238
- }
239
- /**
240
- * Validates if a string is in PascalCase format
241
- */
242
- function isPascalCase(str) {
243
- return str === toPascalCase(str);
244
- }
245
- /**
246
- * Returns the snake_case version of the given string.
247
- *
248
- * Examples:
249
- * `toSnakeCase('hello world')` -> 'hello_world'
250
- * `toSnakeCase('helloWorld')` -> 'hello_world'
251
- * `toSnakeCase('HelloWorld')` -> 'hello_world'
252
- * `toSnakeCase('HELLO_WORLD')` -> 'hello_world'
253
- */
254
- function toSnakeCase(str) {
255
- const camelCase = toCamelCase(str);
256
- return camelCase.replace(/([A-Z])/g, '_$1').toLowerCase();
257
- }
258
- /**
259
- * Validates if a string is in snake_case format
260
- */
261
- function isSnakeCase(str) {
262
- return str === toSnakeCase(str);
263
- }
264
- /**
265
- * Returns the kebab-case version of the given string.
266
- *
267
- * Examples:
268
- * `toKebabCase('hello world')` -> 'hello-world'
269
- * `toKebabCase('helloWorld')` -> 'hello-world'
270
- * `toKebabCase('HelloWorld')` -> 'hello-world'
271
- * `toKebabCase('HELLO_WORLD')` -> 'hello-world'
272
- */
273
- function toKebabCase(str) {
274
- const camelCase = toCamelCase(str);
275
- return camelCase.replaceAll(/([A-Z])/g, '-$1').toLowerCase();
276
- }
277
- /**
278
- * Validates if a string is in kebab-case format
279
- */
280
- function isKebabCase(str) {
281
- return str === toKebabCase(str);
282
- }
283
- /**
284
- * Converts each line of a string to a commented line
285
- */
286
- function commentLines(lines) {
287
- return lines
288
- .split('\n')
289
- .map((l) => `// ${l}`)
290
- .join('\n');
291
- }
292
- function toHumanReadable(input) {
293
- // Replace underscores and hyphens with spaces
294
- let result = input.replace(/[_-]/g, ' ');
295
- // Add spaces before capital letters
296
- result = result.replace(/([a-z])([A-Z])/g, '$1 $2');
297
- //In case the string was already human readable, return it
298
- if (result === input) {
299
- return input;
300
- }
301
- //lowercase the first letter of every word
302
- result = result
303
- .split(' ')
304
- .map((s) => s.toLowerCase())
305
- .join(' ');
306
- // Capitalize the first letter of the resulting string
307
- result = upperFirst(result);
308
- return result;
309
- }
310
- /**
311
- * Sanitizes a string to be a valid Excel ListObject (table) column name.
312
- * - Removes illegal characters: [ ] : ? * / \
313
- * - Trims leading/trailing spaces
314
- * - Replaces multiple spaces with a single space
315
- * - If the result is empty, returns a default name
316
- */
317
- function toExcelColumnName(input, defaultName = 'Column1') {
318
- // Remove illegal characters: [ ] : ? * / \
319
- let result = input.replace(/[[\]:?*/\\]/g, '');
320
- // Replace multiple spaces with a single space
321
- result = result.replace(/\s+/g, ' ');
322
- // Trim leading/trailing spaces
323
- result = result.trim();
324
- // If the result is empty, return the default name
325
- if (!result) {
326
- return toExcelColumnName(defaultName, 'Column1');
327
- }
328
- return result;
329
- }
330
- /**
331
- * Sanitizes a string to be a valid Excel ListObject (table) name.
332
- * - Must start with a letter, underscore, or backslash
333
- * - Only letters, numbers, and underscores allowed (no spaces or punctuation)
334
- * - Cannot be a cell reference (e.g., "A1")
335
- * - Max 255 characters
336
- * - If invalid or empty, returns a default name
337
- */
338
- function toExcelTableName(input, defaultName = 'Table1') {
339
- // Remove all characters except letters, numbers, and underscores
340
- let result = input.replace(/[^A-Za-z0-9_\\]/g, '');
341
- // Ensure the name starts with a letter, underscore, or backslash
342
- if (!/^[A-Za-z_\\]/.test(result)) {
343
- result = '_' + result;
344
- }
345
- // Truncate to 255 characters
346
- result = result.slice(0, 255);
347
- // Avoid names that look like cell references (e.g., "A1", "AA100")
348
- if (/^[A-Za-z]{1,3}[1-9][0-9]{0,6}$/.test(result)) {
349
- result = '_' + result;
350
- }
351
- // If the result is empty, use the default name
352
- if (!result || result === '_') {
353
- return toExcelTableName(defaultName, 'Table1');
354
- }
355
- return result;
356
- }
357
- /**
358
- * Provide all relevant conjugation of a name
359
- */
360
- function conjugateNames(name) {
361
- const plural = pluralize(name);
362
- return {
363
- camelCase: toCamelCase(name),
364
- camelCasePlural: toCamelCase(plural),
365
- capitalized: capitalize(name),
366
- capitalizedPlural: capitalize(plural),
367
- kebabCase: toKebabCase(name),
368
- kebabCasePlural: toKebabCase(plural),
369
- PascalCase: toPascalCase(name),
370
- PascalCasePlural: toPascalCase(plural),
371
- pluralized: capitalize(plural),
372
- snake_case_plural: toSnakeCase(plural),
373
- snake_case: toSnakeCase(name),
374
- uncapitalized: uncapitalize(name),
375
- uncapitalizedPlural: uncapitalize(plural),
376
- };
377
- }
378
- function slugify(str) {
379
- return (str
380
- // replace uppercase letters with hyphens and letter (will be lowercased later)
381
- .replace(/([A-Z])/g, '-$1')
382
- .toLowerCase()
383
- // replace letter followed by number with letter-number
384
- .replace(/([a-z])(\d)/g, '$1-$2')
385
- // replace non-alphanumeric characters with hyphens
386
- .replace(/[^a-z0-9]+/g, '-')
387
- // remove leading hyphens
388
- .replace(/^-/g, '')
389
- // remove trailing hyphens
390
- .replace(/-$/g, '')
391
- // replace multiple hyphens with a single hyphen
392
- .replace(/-+/g, '-'));
393
- }
394
- function isSlug(str) {
395
- return /^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(str);
396
- }
397
- /**
398
- * Ensures that a string is unique within a list of existing values by appending a sequential number if necessary.
399
- *
400
- * If the base string is not in the list, it is returned as is.
401
- * If it is, the function looks for existing strings in the format "base (n)" where n is a number,
402
- * and returns the next available sequential string.
403
- *
404
- * @param value - The base string to ensure uniqueness for.
405
- * @param existingValues - An array of existing strings to check against.
406
- * @param maxChecks - Maximum number of checks to be performed. An error is thrown if this limit is exceeded. Default is 100
407
- * @returns A unique string based on the base string.
408
- */
409
- const ensureUnique = (value, existingValues, maxChecks = 100) => {
410
- // convert existingValues to a Set for faster lookup
411
- const values = new Set(existingValues);
412
- // if the base itself (without a number) is not in the list, return it
413
- if (!values.has(value)) {
414
- return value;
415
- }
416
- let base = value.trim();
417
- let num = 0;
418
- // Regex to match a numeric suffix like " (n)" at the end of the string.
419
- // Using a targeted pattern avoids catastrophic backtracking for inputs without such a suffix.
420
- const m = /\((\d{1,5})\)$/.exec(value);
421
- if (m && /\s$/.test(value.slice(0, m.index))) {
422
- base = value.slice(0, m.index).trimEnd();
423
- }
424
- while (num < maxChecks) {
425
- const newValue = num === 0 ? base : `${base} (${num})`;
426
- if (!values.has(newValue)) {
427
- return newValue;
428
- }
429
- num++;
430
- }
431
- throw new Error(`Could not find a unique name for "${value}" after ${maxChecks} checks`);
432
- };
433
- exports.ensureUnique = ensureUnique;
434
- //# sourceMappingURL=string.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,98 +0,0 @@
1
- type Without<T, U> = Partial<Record<Exclude<keyof T, keyof U>, never>>;
2
- export type XOR<T, U> = T | U extends object ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;
3
- export type Exact<T, I> = T extends I ? (Exclude<keyof T, keyof I> extends never ? T : never) : never;
4
- export type UncapitalizeObjectKeys<T> = {
5
- [key in keyof T as Uncapitalize<key & string>]: T[key];
6
- };
7
- export type Prettify<T> = {
8
- [K in keyof T]: T[K];
9
- };
10
- /**
11
- * Distributive Pick - does not collapse unions into a "shared type" only to
12
- * run Pick on it. Instead, it "picks" from each union item separately.
13
- *
14
- * See https://github.com/klimashkin/css-modules-theme/pull/8
15
- *
16
- * Example:
17
- * Pick<{ type: "pick" } | { type: "omit" }, "type">
18
- * produces { type: "pick" | "omit" }
19
- *
20
- * UnionPick<{ type: "pick" } | { type: "omit" }, "type">
21
- * produces { type: "pick" } | { type: "omit" }
22
- */
23
- export type UnionPick<T, K extends keyof T> = T extends unknown ? Pick<T, K> : never;
24
- /**
25
- * Like UnionPick, but for Omit
26
- */
27
- export type UnionOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;
28
- /**
29
- * Makes a type check that is only valid when all cases of a switch
30
- * statement have been covered.
31
- */
32
- export declare class ExhaustiveSwitchCheck extends Error {
33
- constructor(val: never);
34
- }
35
- /**
36
- * A type that represents an array that is guaranteed to have at least one element.
37
- */
38
- export type NonEmptyArray<T> = [T, ...T[]];
39
- /**
40
- * Converts a nested object to a nested object where all properties are optional.
41
- */
42
- export type DeepPartial<T> = T extends object ? {
43
- [P in keyof T]?: DeepPartial<T[P]>;
44
- } : T;
45
- /**
46
- * Changes properties of an object type to optional.
47
- *
48
- * Example:
49
- * type Foo = { a: string, b: number, c: boolean }
50
- * type Bar = Optional<Foo, 'a' | 'b'>
51
- * // Bar is { a?: string, b?: number, c: boolean }
52
- */
53
- export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
54
- /**
55
- * Allows inline type assertions.
56
- *
57
- * Example:
58
- * ```
59
- * type Original = { a: number }
60
- * type WithExtra = Original & { b: string }
61
- *
62
- * function addExtra(obj: Original): asserts obj is WithExtra {
63
- * assertType(obj)
64
- * obj.b = 'new value' // ✅ No TypeScript error!
65
- * }
66
- * ```
67
- */
68
- export declare function assertType<T>(value: unknown): asserts value is T;
69
- /**
70
- * Applies a type assertion to an entire array and hence asserts the array.
71
- *
72
- * Type assertions are especially useful when you want to modify and object in place - a function
73
- * with a type assertion lets TypeScript know that the object was modified.
74
- *
75
- * Example:
76
- * ```
77
- * type Original = { a: number }
78
- * type WithExtra = Original & { b: string }
79
- *
80
- * function addExtra(obj: Original): asserts obj is WithExtra {
81
- * obj.b = 'new value'
82
- * }
83
- *
84
- * const myObj: Original[] = [{ a: 1 }]
85
- * console.log(myObj[0].b) // ❌ TypeScript error!
86
- * assertArray(myObj, addExtra)
87
- * console.log(myObj[0].b) // ✅ No TypeScript error!
88
- * ```
89
- */
90
- export declare function assertArray<I, O extends I>(obj: I[], fn: (i: I) => asserts i is O): asserts obj is O[];
91
- /**
92
- * Converts any branded string type to its underlying string type.
93
- */
94
- export type Debrand<T> = T extends string & infer _U ? string : T extends object ? {
95
- [K in keyof T]: Debrand<T[K]>;
96
- } : T;
97
- export {};
98
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;AACtE,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAGhG,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAA;AAErG,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;KACrC,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;CACvD,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAA;AAEpF;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAA;AAEpF;;;GAGG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,GAAG,EAAE,KAAK;CAGvB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;AAE1C;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACzC;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACnC,GACD,CAAC,CAAA;AAEL;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAE7E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAEhE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,CAEtG;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,SAAS,MAAM,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,CAAC,CAAA"}
package/dist/types.js DELETED
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExhaustiveSwitchCheck = void 0;
4
- exports.assertType = assertType;
5
- exports.assertArray = assertArray;
6
- /**
7
- * Makes a type check that is only valid when all cases of a switch
8
- * statement have been covered.
9
- */
10
- class ExhaustiveSwitchCheck extends Error {
11
- constructor(val) {
12
- super(`Unreachable case: ${JSON.stringify(val)}`);
13
- }
14
- }
15
- exports.ExhaustiveSwitchCheck = ExhaustiveSwitchCheck;
16
- /**
17
- * Allows inline type assertions.
18
- *
19
- * Example:
20
- * ```
21
- * type Original = { a: number }
22
- * type WithExtra = Original & { b: string }
23
- *
24
- * function addExtra(obj: Original): asserts obj is WithExtra {
25
- * assertType(obj)
26
- * obj.b = 'new value' // ✅ No TypeScript error!
27
- * }
28
- * ```
29
- */
30
- function assertType(value) {
31
- return value;
32
- }
33
- /**
34
- * Applies a type assertion to an entire array and hence asserts the array.
35
- *
36
- * Type assertions are especially useful when you want to modify and object in place - a function
37
- * with a type assertion lets TypeScript know that the object was modified.
38
- *
39
- * Example:
40
- * ```
41
- * type Original = { a: number }
42
- * type WithExtra = Original & { b: string }
43
- *
44
- * function addExtra(obj: Original): asserts obj is WithExtra {
45
- * obj.b = 'new value'
46
- * }
47
- *
48
- * const myObj: Original[] = [{ a: 1 }]
49
- * console.log(myObj[0].b) // ❌ TypeScript error!
50
- * assertArray(myObj, addExtra)
51
- * console.log(myObj[0].b) // ✅ No TypeScript error!
52
- * ```
53
- */
54
- function assertArray(obj, fn) {
55
- obj.forEach(fn);
56
- }
57
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAmFA,gCAEC;AAuBD,kCAEC;AA3ED;;;GAGG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,GAAU;QACpB,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACnD,CAAC;CACF;AAJD,sDAIC;AA0BD;;;;;;;;;;;;;GAaG;AACH,SAAgB,UAAU,CAAI,KAAc;IAC1C,OAAO,KAAY,CAAA;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,WAAW,CAAiB,GAAQ,EAAE,EAA4B;IAChF,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC"}
package/dist/uniq.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function uniq<T>(items: T[], predicate: (item: T) => number): T[];
2
- //# sourceMappingURL=uniq.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniq.d.ts","sourceRoot":"","sources":["../src/uniq.ts"],"names":[],"mappings":"AAAA,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE,CAcvE"}
package/dist/uniq.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uniq = uniq;
4
- function uniq(items, predicate) {
5
- const result = [];
6
- const seen = {};
7
- for (const item of items) {
8
- const key = predicate(item);
9
- if (!seen[key]) {
10
- seen[key] = true;
11
- result.push(item);
12
- }
13
- }
14
- return result;
15
- }
16
- //# sourceMappingURL=uniq.js.map
package/dist/uniq.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniq.js","sourceRoot":"","sources":["../src/uniq.ts"],"names":[],"mappings":";;AAAA,oBAcC;AAdD,SAAgB,IAAI,CAAI,KAAU,EAAE,SAA8B;IAChE,MAAM,MAAM,GAAQ,EAAE,CAAA;IACtB,MAAM,IAAI,GAAyB,EAAE,CAAA;IAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAE3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;YAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}