complete-common 2.20.1 → 2.22.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 (183) hide show
  1. package/dist/index.cjs +14 -0
  2. package/dist/index.mjs +13 -1
  3. package/dist/src/constants.d.ts.map +1 -0
  4. package/dist/src/functions/array.d.ts.map +1 -0
  5. package/dist/{functions → src/functions}/assert.d.cts +8 -0
  6. package/dist/{functions → src/functions}/assert.d.mts +8 -0
  7. package/dist/{functions → src/functions}/assert.d.ts +8 -0
  8. package/dist/src/functions/assert.d.ts.map +1 -0
  9. package/dist/src/functions/enums.d.ts.map +1 -0
  10. package/dist/src/functions/map.d.ts.map +1 -0
  11. package/dist/src/functions/math.d.ts.map +1 -0
  12. package/dist/{functions → src/functions}/object.d.cts +10 -4
  13. package/dist/{functions → src/functions}/object.d.mts +10 -4
  14. package/dist/{functions → src/functions}/object.d.ts +10 -4
  15. package/dist/src/functions/object.d.ts.map +1 -0
  16. package/dist/src/functions/random.d.ts.map +1 -0
  17. package/dist/{functions → src/functions}/set.d.cts +2 -2
  18. package/dist/{functions → src/functions}/set.d.mts +2 -2
  19. package/dist/{functions → src/functions}/set.d.ts +2 -2
  20. package/dist/src/functions/set.d.ts.map +1 -0
  21. package/dist/src/functions/sort.d.ts.map +1 -0
  22. package/dist/src/functions/string.d.ts.map +1 -0
  23. package/dist/src/functions/time.d.ts.map +1 -0
  24. package/dist/src/functions/tuple.d.ts.map +1 -0
  25. package/dist/src/functions/types.d.ts.map +1 -0
  26. package/dist/src/functions/utils.d.ts.map +1 -0
  27. package/dist/src/index.d.ts.map +1 -0
  28. package/dist/src/interfaces/SemanticVersion.d.ts.map +1 -0
  29. package/dist/src/types/AddSubtract.d.ts.map +1 -0
  30. package/dist/src/types/CompositionTypeSatisfiesEnum.d.ts.map +1 -0
  31. package/dist/src/types/ERange.d.ts.map +1 -0
  32. package/dist/src/types/IRange.d.ts.map +1 -0
  33. package/dist/src/types/Immutable.d.ts.map +1 -0
  34. package/dist/src/types/NaturalNumbersLessThan.d.ts.map +1 -0
  35. package/dist/src/types/NaturalNumbersLessThanOrEqualTo.d.ts.map +1 -0
  36. package/dist/src/types/ObjectValues.d.ts.map +1 -0
  37. package/dist/src/types/ReadonlyMap.d.ts.map +1 -0
  38. package/dist/src/types/ReadonlyRecord.d.cts +7 -0
  39. package/dist/src/types/ReadonlyRecord.d.mts +7 -0
  40. package/dist/src/types/ReadonlyRecord.d.ts +7 -0
  41. package/dist/src/types/ReadonlyRecord.d.ts.map +1 -0
  42. package/dist/src/types/ReadonlySet.d.ts.map +1 -0
  43. package/dist/src/types/TranspiledEnum.d.ts.map +1 -0
  44. package/dist/src/types/Tuple.d.ts.map +1 -0
  45. package/dist/src/types/WidenLiteral.d.ts.map +1 -0
  46. package/dist/src/types/Writeable.d.ts.map +1 -0
  47. package/package.json +7 -8
  48. package/src/functions/array.ts +1 -1
  49. package/src/functions/assert.ts +29 -0
  50. package/src/functions/object.ts +23 -5
  51. package/src/functions/set.ts +2 -2
  52. package/src/functions/tuple.ts +1 -1
  53. package/src/functions/types.ts +2 -0
  54. package/src/types/ReadonlyRecord.ts +1 -3
  55. package/dist/constants.d.ts.map +0 -1
  56. package/dist/functions/array.d.ts.map +0 -1
  57. package/dist/functions/assert.d.ts.map +0 -1
  58. package/dist/functions/enums.d.ts.map +0 -1
  59. package/dist/functions/map.d.ts.map +0 -1
  60. package/dist/functions/math.d.ts.map +0 -1
  61. package/dist/functions/object.d.ts.map +0 -1
  62. package/dist/functions/random.d.ts.map +0 -1
  63. package/dist/functions/set.d.ts.map +0 -1
  64. package/dist/functions/sort.d.ts.map +0 -1
  65. package/dist/functions/string.d.ts.map +0 -1
  66. package/dist/functions/string.test.d.cts +0 -2
  67. package/dist/functions/string.test.d.mts +0 -2
  68. package/dist/functions/string.test.d.ts +0 -2
  69. package/dist/functions/string.test.d.ts.map +0 -1
  70. package/dist/functions/time.d.ts.map +0 -1
  71. package/dist/functions/tuple.d.ts.map +0 -1
  72. package/dist/functions/types.d.ts.map +0 -1
  73. package/dist/functions/utils.d.ts.map +0 -1
  74. package/dist/functions/utils.test.d.cts +0 -2
  75. package/dist/functions/utils.test.d.mts +0 -2
  76. package/dist/functions/utils.test.d.ts +0 -2
  77. package/dist/functions/utils.test.d.ts.map +0 -1
  78. package/dist/index.d.ts.map +0 -1
  79. package/dist/interfaces/SemanticVersion.d.ts.map +0 -1
  80. package/dist/types/AddSubtract.d.ts.map +0 -1
  81. package/dist/types/CompositionTypeSatisfiesEnum.d.ts.map +0 -1
  82. package/dist/types/ERange.d.ts.map +0 -1
  83. package/dist/types/IRange.d.ts.map +0 -1
  84. package/dist/types/Immutable.d.ts.map +0 -1
  85. package/dist/types/NaturalNumbersLessThan.d.ts.map +0 -1
  86. package/dist/types/NaturalNumbersLessThanOrEqualTo.d.ts.map +0 -1
  87. package/dist/types/ObjectValues.d.ts.map +0 -1
  88. package/dist/types/ReadonlyMap.d.ts.map +0 -1
  89. package/dist/types/ReadonlyRecord.d.cts +0 -7
  90. package/dist/types/ReadonlyRecord.d.mts +0 -7
  91. package/dist/types/ReadonlyRecord.d.ts +0 -7
  92. package/dist/types/ReadonlyRecord.d.ts.map +0 -1
  93. package/dist/types/ReadonlySet.d.ts.map +0 -1
  94. package/dist/types/TranspiledEnum.d.ts.map +0 -1
  95. package/dist/types/Tuple.d.ts.map +0 -1
  96. package/dist/types/WidenLiteral.d.ts.map +0 -1
  97. package/dist/types/Writeable.d.ts.map +0 -1
  98. package/src/functions/string.test.ts +0 -205
  99. package/src/functions/utils.test.ts +0 -904
  100. /package/dist/{constants.d.cts → src/constants.d.cts} +0 -0
  101. /package/dist/{constants.d.mts → src/constants.d.mts} +0 -0
  102. /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
  103. /package/dist/{functions → src/functions}/array.d.cts +0 -0
  104. /package/dist/{functions → src/functions}/array.d.mts +0 -0
  105. /package/dist/{functions → src/functions}/array.d.ts +0 -0
  106. /package/dist/{functions → src/functions}/enums.d.cts +0 -0
  107. /package/dist/{functions → src/functions}/enums.d.mts +0 -0
  108. /package/dist/{functions → src/functions}/enums.d.ts +0 -0
  109. /package/dist/{functions → src/functions}/map.d.cts +0 -0
  110. /package/dist/{functions → src/functions}/map.d.mts +0 -0
  111. /package/dist/{functions → src/functions}/map.d.ts +0 -0
  112. /package/dist/{functions → src/functions}/math.d.cts +0 -0
  113. /package/dist/{functions → src/functions}/math.d.mts +0 -0
  114. /package/dist/{functions → src/functions}/math.d.ts +0 -0
  115. /package/dist/{functions → src/functions}/random.d.cts +0 -0
  116. /package/dist/{functions → src/functions}/random.d.mts +0 -0
  117. /package/dist/{functions → src/functions}/random.d.ts +0 -0
  118. /package/dist/{functions → src/functions}/sort.d.cts +0 -0
  119. /package/dist/{functions → src/functions}/sort.d.mts +0 -0
  120. /package/dist/{functions → src/functions}/sort.d.ts +0 -0
  121. /package/dist/{functions → src/functions}/string.d.cts +0 -0
  122. /package/dist/{functions → src/functions}/string.d.mts +0 -0
  123. /package/dist/{functions → src/functions}/string.d.ts +0 -0
  124. /package/dist/{functions → src/functions}/time.d.cts +0 -0
  125. /package/dist/{functions → src/functions}/time.d.mts +0 -0
  126. /package/dist/{functions → src/functions}/time.d.ts +0 -0
  127. /package/dist/{functions → src/functions}/tuple.d.cts +0 -0
  128. /package/dist/{functions → src/functions}/tuple.d.mts +0 -0
  129. /package/dist/{functions → src/functions}/tuple.d.ts +0 -0
  130. /package/dist/{functions → src/functions}/types.d.cts +0 -0
  131. /package/dist/{functions → src/functions}/types.d.mts +0 -0
  132. /package/dist/{functions → src/functions}/types.d.ts +0 -0
  133. /package/dist/{functions → src/functions}/utils.d.cts +0 -0
  134. /package/dist/{functions → src/functions}/utils.d.mts +0 -0
  135. /package/dist/{functions → src/functions}/utils.d.ts +0 -0
  136. /package/dist/{index.d.cts → src/index.d.cts} +0 -0
  137. /package/dist/{index.d.mts → src/index.d.mts} +0 -0
  138. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  139. /package/dist/{interfaces → src/interfaces}/SemanticVersion.d.cts +0 -0
  140. /package/dist/{interfaces → src/interfaces}/SemanticVersion.d.mts +0 -0
  141. /package/dist/{interfaces → src/interfaces}/SemanticVersion.d.ts +0 -0
  142. /package/dist/{types → src/types}/AddSubtract.d.cts +0 -0
  143. /package/dist/{types → src/types}/AddSubtract.d.mts +0 -0
  144. /package/dist/{types → src/types}/AddSubtract.d.ts +0 -0
  145. /package/dist/{types → src/types}/CompositionTypeSatisfiesEnum.d.cts +0 -0
  146. /package/dist/{types → src/types}/CompositionTypeSatisfiesEnum.d.mts +0 -0
  147. /package/dist/{types → src/types}/CompositionTypeSatisfiesEnum.d.ts +0 -0
  148. /package/dist/{types → src/types}/ERange.d.cts +0 -0
  149. /package/dist/{types → src/types}/ERange.d.mts +0 -0
  150. /package/dist/{types → src/types}/ERange.d.ts +0 -0
  151. /package/dist/{types → src/types}/IRange.d.cts +0 -0
  152. /package/dist/{types → src/types}/IRange.d.mts +0 -0
  153. /package/dist/{types → src/types}/IRange.d.ts +0 -0
  154. /package/dist/{types → src/types}/Immutable.d.cts +0 -0
  155. /package/dist/{types → src/types}/Immutable.d.mts +0 -0
  156. /package/dist/{types → src/types}/Immutable.d.ts +0 -0
  157. /package/dist/{types → src/types}/NaturalNumbersLessThan.d.cts +0 -0
  158. /package/dist/{types → src/types}/NaturalNumbersLessThan.d.mts +0 -0
  159. /package/dist/{types → src/types}/NaturalNumbersLessThan.d.ts +0 -0
  160. /package/dist/{types → src/types}/NaturalNumbersLessThanOrEqualTo.d.cts +0 -0
  161. /package/dist/{types → src/types}/NaturalNumbersLessThanOrEqualTo.d.mts +0 -0
  162. /package/dist/{types → src/types}/NaturalNumbersLessThanOrEqualTo.d.ts +0 -0
  163. /package/dist/{types → src/types}/ObjectValues.d.cts +0 -0
  164. /package/dist/{types → src/types}/ObjectValues.d.mts +0 -0
  165. /package/dist/{types → src/types}/ObjectValues.d.ts +0 -0
  166. /package/dist/{types → src/types}/ReadonlyMap.d.cts +0 -0
  167. /package/dist/{types → src/types}/ReadonlyMap.d.mts +0 -0
  168. /package/dist/{types → src/types}/ReadonlyMap.d.ts +0 -0
  169. /package/dist/{types → src/types}/ReadonlySet.d.cts +0 -0
  170. /package/dist/{types → src/types}/ReadonlySet.d.mts +0 -0
  171. /package/dist/{types → src/types}/ReadonlySet.d.ts +0 -0
  172. /package/dist/{types → src/types}/TranspiledEnum.d.cts +0 -0
  173. /package/dist/{types → src/types}/TranspiledEnum.d.mts +0 -0
  174. /package/dist/{types → src/types}/TranspiledEnum.d.ts +0 -0
  175. /package/dist/{types → src/types}/Tuple.d.cts +0 -0
  176. /package/dist/{types → src/types}/Tuple.d.mts +0 -0
  177. /package/dist/{types → src/types}/Tuple.d.ts +0 -0
  178. /package/dist/{types → src/types}/WidenLiteral.d.cts +0 -0
  179. /package/dist/{types → src/types}/WidenLiteral.d.mts +0 -0
  180. /package/dist/{types → src/types}/WidenLiteral.d.ts +0 -0
  181. /package/dist/{types → src/types}/Writeable.d.cts +0 -0
  182. /package/dist/{types → src/types}/Writeable.d.mts +0 -0
  183. /package/dist/{types → src/types}/Writeable.d.ts +0 -0
package/dist/index.cjs CHANGED
@@ -49,6 +49,11 @@ function assertArrayBoolean(value, ...[msg]) {
49
49
  throw new TypeError(msg);
50
50
  }
51
51
  }
52
+ function assertArrayLength(value, length, msg) {
53
+ if (value.length !== length) {
54
+ throw new TypeError(msg);
55
+ }
56
+ }
52
57
  function assertArrayNumber(value, ...[msg]) {
53
58
  if (!Array.isArray(value)) {
54
59
  throw new TypeError(msg);
@@ -350,6 +355,13 @@ function objectToReverseMap(object) {
350
355
  }
351
356
  return map;
352
357
  }
358
+ function reverseObject(obj) {
359
+ const reversed = {};
360
+ for (const [key, value] of Object.entries(obj)) {
361
+ reversed[value] = key;
362
+ }
363
+ return reversed;
364
+ }
353
365
 
354
366
  function addSetsToSet(mainSet, ...setsToAdd) {
355
367
  for (const set of setsToAdd) {
@@ -670,6 +682,7 @@ exports.arrayRemoveAllInPlace = arrayRemoveAllInPlace;
670
682
  exports.arrayRemoveInPlace = arrayRemoveInPlace;
671
683
  exports.assertArray = assertArray;
672
684
  exports.assertArrayBoolean = assertArrayBoolean;
685
+ exports.assertArrayLength = assertArrayLength;
673
686
  exports.assertArrayNumber = assertArrayNumber;
674
687
  exports.assertArrayObject = assertArrayObject;
675
688
  exports.assertArrayString = assertArrayString;
@@ -745,6 +758,7 @@ exports.removeLinesMatching = removeLinesMatching;
745
758
  exports.removeNonPrintableCharacters = removeNonPrintableCharacters;
746
759
  exports.removeWhitespace = removeWhitespace;
747
760
  exports.repeat = repeat;
761
+ exports.reverseObject = reverseObject;
748
762
  exports.satisfiesSemanticVersion = satisfiesSemanticVersion;
749
763
  exports.setAdd = setAdd;
750
764
  exports.setHas = setHas;
package/dist/index.mjs CHANGED
@@ -47,6 +47,11 @@ function assertArrayBoolean(value, ...[msg]) {
47
47
  throw new TypeError(msg);
48
48
  }
49
49
  }
50
+ function assertArrayLength(value, length, msg) {
51
+ if (value.length !== length) {
52
+ throw new TypeError(msg);
53
+ }
54
+ }
50
55
  function assertArrayNumber(value, ...[msg]) {
51
56
  if (!Array.isArray(value)) {
52
57
  throw new TypeError(msg);
@@ -348,6 +353,13 @@ function objectToReverseMap(object) {
348
353
  }
349
354
  return map;
350
355
  }
356
+ function reverseObject(obj) {
357
+ const reversed = {};
358
+ for (const [key, value] of Object.entries(obj)) {
359
+ reversed[value] = key;
360
+ }
361
+ return reversed;
362
+ }
351
363
 
352
364
  function addSetsToSet(mainSet, ...setsToAdd) {
353
365
  for (const set of setsToAdd) {
@@ -655,4 +667,4 @@ function* tupleKeys(tuple) {
655
667
 
656
668
  const ReadonlyMap = Map;
657
669
 
658
- export { HOUR_IN_MILLISECONDS, MINUTE_IN_MILLISECONDS, ReadonlyMap, ReadonlySet, SECOND_IN_MILLISECONDS, addSetsToSet, arrayCopyTwoDimensional, arrayEquals, arrayRemove, arrayRemoveAllInPlace, arrayRemoveInPlace, assertArray, assertArrayBoolean, assertArrayNumber, assertArrayObject, assertArrayString, assertBoolean, assertDefined, assertEnumValue, assertInteger, assertIs, assertNotNull, assertNumber, assertObject, assertString, assertStringNotEmpty, capitalizeFirstLetter, clamp, combineSets, copySet, eRange, emptyArray, escapeHTMLCharacters, filterAsync, filterMap, filterMapAsync, getElapsedSeconds, getEnumEntries, getEnumKeys, getEnumValues, getNumConsecutiveDiacritics, getRandomArrayElement, getRandomArrayIndex, getRandomInt, getWidenedObjectValue, hasDiacritic, hasEmoji, hasWhitespace, iRange, includes, includesAny, interfaceSatisfiesEnum, isASCII, isArray, isArrayBoolean, isArrayNumber, isArrayObject, isArrayString, isEnumValue, isFirstLetterCapitalized, isKebabCase, isKeyOf, isLowerCase, isObject, isSemanticVersion, isUpperCase, kebabCaseToCamelCase, kebabCaseToPascalCase, mapAsync, mapFilter, mapFind, newArray, noop, normalizeString, objectFilter, objectKeysToSet, objectMap, objectToMap, objectToReverseMap, objectValuesToSet, parseFloatSafe, parseIntSafe, parseSemanticVersion, removeLinesBetweenMarkers, removeLinesMatching, removeNonPrintableCharacters, removeWhitespace, repeat, satisfiesSemanticVersion, setAdd, setHas, sortCaseInsensitive, sumArray, titleCaseToKebabCase, todo, trimPrefix, trimSuffix, truncateString, tupleEntries, tupleKeys };
670
+ export { HOUR_IN_MILLISECONDS, MINUTE_IN_MILLISECONDS, ReadonlyMap, ReadonlySet, SECOND_IN_MILLISECONDS, addSetsToSet, arrayCopyTwoDimensional, arrayEquals, arrayRemove, arrayRemoveAllInPlace, arrayRemoveInPlace, assertArray, assertArrayBoolean, assertArrayLength, assertArrayNumber, assertArrayObject, assertArrayString, assertBoolean, assertDefined, assertEnumValue, assertInteger, assertIs, assertNotNull, assertNumber, assertObject, assertString, assertStringNotEmpty, capitalizeFirstLetter, clamp, combineSets, copySet, eRange, emptyArray, escapeHTMLCharacters, filterAsync, filterMap, filterMapAsync, getElapsedSeconds, getEnumEntries, getEnumKeys, getEnumValues, getNumConsecutiveDiacritics, getRandomArrayElement, getRandomArrayIndex, getRandomInt, getWidenedObjectValue, hasDiacritic, hasEmoji, hasWhitespace, iRange, includes, includesAny, interfaceSatisfiesEnum, isASCII, isArray, isArrayBoolean, isArrayNumber, isArrayObject, isArrayString, isEnumValue, isFirstLetterCapitalized, isKebabCase, isKeyOf, isLowerCase, isObject, isSemanticVersion, isUpperCase, kebabCaseToCamelCase, kebabCaseToPascalCase, mapAsync, mapFilter, mapFind, newArray, noop, normalizeString, objectFilter, objectKeysToSet, objectMap, objectToMap, objectToReverseMap, objectValuesToSet, parseFloatSafe, parseIntSafe, parseSemanticVersion, removeLinesBetweenMarkers, removeLinesMatching, removeNonPrintableCharacters, removeWhitespace, repeat, reverseObject, satisfiesSemanticVersion, setAdd, setHas, sortCaseInsensitive, sumArray, titleCaseToKebabCase, todo, trimPrefix, trimSuffix, truncateString, tupleEntries, tupleKeys };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,uBAAuB;AACvB,eAAO,MAAM,sBAAsB,QAA8B,CAAC;AAElE,0BAA0B;AAC1B,eAAO,MAAM,oBAAoB,QAA8B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/functions/array.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * @module
5
5
  */
6
6
  import type { TranspiledEnum } from "../types/TranspiledEnum.js";
7
+ import type { Tuple } from "../types/Tuple.js";
7
8
  /** Helper function to throw an error if the provided value is not an array. */
8
9
  export declare function assertArray<T>(value: T, ...[msg]: [T] extends [readonly unknown[]] ? [
9
10
  "The assertion is useless because the provided value is already an array."
@@ -15,6 +16,13 @@ export declare function assertArray<T>(value: T, ...[msg]: [T] extends [readonly
15
16
  export declare function assertArrayBoolean<T>(value: T, ...[msg]: [T] extends [readonly boolean[]] ? [
16
17
  "The assertion is useless because the provided value is already a boolean array."
17
18
  ] : [string]): asserts value is T & boolean[];
19
+ /**
20
+ * Helper function to throw an error if the provided array does not have the specified length. Will
21
+ * also type narrow the array into a tuple of the specified length.
22
+ */
23
+ export declare function assertArrayLength<E, N extends number>(value: E[], // eslint-disable-line complete/prefer-readonly-parameter-types
24
+ length: N, msg: string): asserts value is Tuple<E, N>;
25
+ export declare function assertArrayLength<E, N extends number>(value: readonly E[], length: N, msg: string): asserts value is Readonly<Tuple<E, N>>;
18
26
  /**
19
27
  * Helper function to throw an error if the provided value is not an array with every element being
20
28
  * a number.
@@ -4,6 +4,7 @@
4
4
  * @module
5
5
  */
6
6
  import type { TranspiledEnum } from "../types/TranspiledEnum.js";
7
+ import type { Tuple } from "../types/Tuple.js";
7
8
  /** Helper function to throw an error if the provided value is not an array. */
8
9
  export declare function assertArray<T>(value: T, ...[msg]: [T] extends [readonly unknown[]] ? [
9
10
  "The assertion is useless because the provided value is already an array."
@@ -15,6 +16,13 @@ export declare function assertArray<T>(value: T, ...[msg]: [T] extends [readonly
15
16
  export declare function assertArrayBoolean<T>(value: T, ...[msg]: [T] extends [readonly boolean[]] ? [
16
17
  "The assertion is useless because the provided value is already a boolean array."
17
18
  ] : [string]): asserts value is T & boolean[];
19
+ /**
20
+ * Helper function to throw an error if the provided array does not have the specified length. Will
21
+ * also type narrow the array into a tuple of the specified length.
22
+ */
23
+ export declare function assertArrayLength<E, N extends number>(value: E[], // eslint-disable-line complete/prefer-readonly-parameter-types
24
+ length: N, msg: string): asserts value is Tuple<E, N>;
25
+ export declare function assertArrayLength<E, N extends number>(value: readonly E[], length: N, msg: string): asserts value is Readonly<Tuple<E, N>>;
18
26
  /**
19
27
  * Helper function to throw an error if the provided value is not an array with every element being
20
28
  * a number.
@@ -4,6 +4,7 @@
4
4
  * @module
5
5
  */
6
6
  import type { TranspiledEnum } from "../types/TranspiledEnum.js";
7
+ import type { Tuple } from "../types/Tuple.js";
7
8
  /** Helper function to throw an error if the provided value is not an array. */
8
9
  export declare function assertArray<T>(value: T, ...[msg]: [T] extends [readonly unknown[]] ? [
9
10
  "The assertion is useless because the provided value is already an array."
@@ -15,6 +16,13 @@ export declare function assertArray<T>(value: T, ...[msg]: [T] extends [readonly
15
16
  export declare function assertArrayBoolean<T>(value: T, ...[msg]: [T] extends [readonly boolean[]] ? [
16
17
  "The assertion is useless because the provided value is already a boolean array."
17
18
  ] : [string]): asserts value is T & boolean[];
19
+ /**
20
+ * Helper function to throw an error if the provided array does not have the specified length. Will
21
+ * also type narrow the array into a tuple of the specified length.
22
+ */
23
+ export declare function assertArrayLength<E, N extends number>(value: E[], // eslint-disable-line complete/prefer-readonly-parameter-types
24
+ length: N, msg: string): asserts value is Tuple<E, N>;
25
+ export declare function assertArrayLength<E, N extends number>(value: readonly E[], length: N, msg: string): asserts value is Readonly<Tuple<E, N>>;
18
26
  /**
19
27
  * Helper function to throw an error if the provided value is not an array with every element being
20
28
  * a number.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../../src/functions/assert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/functions/enums.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,cAAc,EACrD,cAAc,EAAE,CAAC,GAChB,aAAa,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CASjD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,cAAc,GAAG,SAAS,MAAM,EAAE,CAG7E;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EACpD,cAAc,EAAE,CAAC,GAChB,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAG3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CAEpC,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAC/B,IAAI,SAAS,MAAM,GAAG,MAAM,KACzB,IAAI,CAAG;AAEZ;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,cAAc,EAClD,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,cAAc,EAAE,CAAC,EACjB,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,GACjC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAOrB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/functions/map.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAC5B,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAC/B,SAAS,CAAC,EAAE,CAWd;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAC1B,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,GAC/D,CAAC,GAAG,SAAS,CASf"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/functions/math.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnE"}
@@ -18,12 +18,12 @@ export declare function getWidenedObjectValue<T extends Record<string, unknown>>
18
18
  *
19
19
  * This is efficient such that it avoids converting the object values into an array.
20
20
  */
21
- export declare function objectFilter<K extends number | string | symbol, V>(object: ReadonlyRecord<K, V>, predicate: (value: V) => boolean): readonly V[];
21
+ export declare function objectFilter<K extends PropertyKey, V>(object: ReadonlyRecord<K, V>, predicate: (value: V) => boolean): readonly V[];
22
22
  /**
23
23
  * Helper function to map the values in an object to another object with new values. Similar to the
24
24
  * `Array.map` method, but works for objects.
25
25
  */
26
- export declare function objectMap<K extends number | string | symbol, V, U>(object: Record<K, V>, callback: (key: K, value: V) => U): ReadonlyRecord<K, U>;
26
+ export declare function objectMap<K extends PropertyKey, V, U>(object: Record<K, V>, callback: (key: K, value: V) => U): ReadonlyRecord<K, U>;
27
27
  /**
28
28
  * Helper function to convert an object to a `Map`.
29
29
  *
@@ -35,12 +35,18 @@ export declare function objectMap<K extends number | string | symbol, V, U>(obje
35
35
  * Note that the converted map will only have string keys, due to the nature of JavaScript objects
36
36
  * only having string keys under the hood.
37
37
  */
38
- export declare function objectToMap<K extends number | string | symbol, V>(object: Record<K, V>): ReadonlyMap<K, V>;
38
+ export declare function objectToMap<K extends PropertyKey, V>(object: Record<K, V>): ReadonlyMap<K, V>;
39
39
  /**
40
40
  * Helper function to convert an object to a reverse map.
41
41
  *
42
42
  * Note that the converted map will only have string keys, due to the nature of JavaScript objects
43
43
  * only having string keys under the hood.
44
44
  */
45
- export declare function objectToReverseMap<K extends number | string | symbol, V extends number | string | symbol>(object: Record<K, V>): ReadonlyMap<V, K>;
45
+ export declare function objectToReverseMap<K extends PropertyKey, V extends PropertyKey>(object: Record<K, V>): ReadonlyMap<V, K>;
46
+ /**
47
+ * Helper function to reverse the keys and values of an object.
48
+ *
49
+ * @throws If the object has duplicate values.
50
+ */
51
+ export declare function reverseObject<K extends PropertyKey, V extends PropertyKey>(obj: Record<K, V>): ReadonlyRecord<V, K>;
46
52
  //# sourceMappingURL=object.d.ts.map
@@ -18,12 +18,12 @@ export declare function getWidenedObjectValue<T extends Record<string, unknown>>
18
18
  *
19
19
  * This is efficient such that it avoids converting the object values into an array.
20
20
  */
21
- export declare function objectFilter<K extends number | string | symbol, V>(object: ReadonlyRecord<K, V>, predicate: (value: V) => boolean): readonly V[];
21
+ export declare function objectFilter<K extends PropertyKey, V>(object: ReadonlyRecord<K, V>, predicate: (value: V) => boolean): readonly V[];
22
22
  /**
23
23
  * Helper function to map the values in an object to another object with new values. Similar to the
24
24
  * `Array.map` method, but works for objects.
25
25
  */
26
- export declare function objectMap<K extends number | string | symbol, V, U>(object: Record<K, V>, callback: (key: K, value: V) => U): ReadonlyRecord<K, U>;
26
+ export declare function objectMap<K extends PropertyKey, V, U>(object: Record<K, V>, callback: (key: K, value: V) => U): ReadonlyRecord<K, U>;
27
27
  /**
28
28
  * Helper function to convert an object to a `Map`.
29
29
  *
@@ -35,12 +35,18 @@ export declare function objectMap<K extends number | string | symbol, V, U>(obje
35
35
  * Note that the converted map will only have string keys, due to the nature of JavaScript objects
36
36
  * only having string keys under the hood.
37
37
  */
38
- export declare function objectToMap<K extends number | string | symbol, V>(object: Record<K, V>): ReadonlyMap<K, V>;
38
+ export declare function objectToMap<K extends PropertyKey, V>(object: Record<K, V>): ReadonlyMap<K, V>;
39
39
  /**
40
40
  * Helper function to convert an object to a reverse map.
41
41
  *
42
42
  * Note that the converted map will only have string keys, due to the nature of JavaScript objects
43
43
  * only having string keys under the hood.
44
44
  */
45
- export declare function objectToReverseMap<K extends number | string | symbol, V extends number | string | symbol>(object: Record<K, V>): ReadonlyMap<V, K>;
45
+ export declare function objectToReverseMap<K extends PropertyKey, V extends PropertyKey>(object: Record<K, V>): ReadonlyMap<V, K>;
46
+ /**
47
+ * Helper function to reverse the keys and values of an object.
48
+ *
49
+ * @throws If the object has duplicate values.
50
+ */
51
+ export declare function reverseObject<K extends PropertyKey, V extends PropertyKey>(obj: Record<K, V>): ReadonlyRecord<V, K>;
46
52
  //# sourceMappingURL=object.d.ts.map
@@ -18,12 +18,12 @@ export declare function getWidenedObjectValue<T extends Record<string, unknown>>
18
18
  *
19
19
  * This is efficient such that it avoids converting the object values into an array.
20
20
  */
21
- export declare function objectFilter<K extends number | string | symbol, V>(object: ReadonlyRecord<K, V>, predicate: (value: V) => boolean): readonly V[];
21
+ export declare function objectFilter<K extends PropertyKey, V>(object: ReadonlyRecord<K, V>, predicate: (value: V) => boolean): readonly V[];
22
22
  /**
23
23
  * Helper function to map the values in an object to another object with new values. Similar to the
24
24
  * `Array.map` method, but works for objects.
25
25
  */
26
- export declare function objectMap<K extends number | string | symbol, V, U>(object: Record<K, V>, callback: (key: K, value: V) => U): ReadonlyRecord<K, U>;
26
+ export declare function objectMap<K extends PropertyKey, V, U>(object: Record<K, V>, callback: (key: K, value: V) => U): ReadonlyRecord<K, U>;
27
27
  /**
28
28
  * Helper function to convert an object to a `Map`.
29
29
  *
@@ -35,12 +35,18 @@ export declare function objectMap<K extends number | string | symbol, V, U>(obje
35
35
  * Note that the converted map will only have string keys, due to the nature of JavaScript objects
36
36
  * only having string keys under the hood.
37
37
  */
38
- export declare function objectToMap<K extends number | string | symbol, V>(object: Record<K, V>): ReadonlyMap<K, V>;
38
+ export declare function objectToMap<K extends PropertyKey, V>(object: Record<K, V>): ReadonlyMap<K, V>;
39
39
  /**
40
40
  * Helper function to convert an object to a reverse map.
41
41
  *
42
42
  * Note that the converted map will only have string keys, due to the nature of JavaScript objects
43
43
  * only having string keys under the hood.
44
44
  */
45
- export declare function objectToReverseMap<K extends number | string | symbol, V extends number | string | symbol>(object: Record<K, V>): ReadonlyMap<V, K>;
45
+ export declare function objectToReverseMap<K extends PropertyKey, V extends PropertyKey>(object: Record<K, V>): ReadonlyMap<V, K>;
46
+ /**
47
+ * Helper function to reverse the keys and values of an object.
48
+ *
49
+ * @throws If the object has duplicate values.
50
+ */
51
+ export declare function reverseObject<K extends PropertyKey, V extends PropertyKey>(obj: Record<K, V>): ReadonlyRecord<V, K>;
46
52
  //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/functions/object.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,GACzB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAGxB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EACnD,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAC/B,SAAS,CAAC,EAAE,CAad;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC,EACnD,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAChC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAOtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EAClD,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GACnB,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAQnB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,WAAW,EACrB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAQzC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,WAAW,EACxE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAChB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAStB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../src/functions/random.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,SAAS,MAAM,EAAO,GACjC,MAAM,CAoBR"}
@@ -20,9 +20,9 @@ export declare function combineSets<T>(...sets: ReadonlyArray<ReadonlySet<T>>):
20
20
  /** Helper function to copy a set. (You can also use a Set constructor to accomplish this task.) */
21
21
  export declare function copySet<T>(oldSet: ReadonlySet<T>): ReadonlySet<T>;
22
22
  /** Helper function to convert the keys of an object to a set. */
23
- export declare function objectKeysToSet<K extends number | string | symbol, V>(object: Record<K, V>): ReadonlySet<K>;
23
+ export declare function objectKeysToSet<K extends PropertyKey, V>(object: Record<K, V>): ReadonlySet<K>;
24
24
  /** Helper function to convert the values of an object to a set. */
25
- export declare function objectValuesToSet<K extends number | string | symbol, V>(object: Record<K, V>): ReadonlySet<V>;
25
+ export declare function objectValuesToSet<K extends PropertyKey, V>(object: Record<K, V>): ReadonlySet<V>;
26
26
  /**
27
27
  * Helper function to add one or more elements to a set at once without having to repeatedly call
28
28
  * the `Set.add` method.
@@ -20,9 +20,9 @@ export declare function combineSets<T>(...sets: ReadonlyArray<ReadonlySet<T>>):
20
20
  /** Helper function to copy a set. (You can also use a Set constructor to accomplish this task.) */
21
21
  export declare function copySet<T>(oldSet: ReadonlySet<T>): ReadonlySet<T>;
22
22
  /** Helper function to convert the keys of an object to a set. */
23
- export declare function objectKeysToSet<K extends number | string | symbol, V>(object: Record<K, V>): ReadonlySet<K>;
23
+ export declare function objectKeysToSet<K extends PropertyKey, V>(object: Record<K, V>): ReadonlySet<K>;
24
24
  /** Helper function to convert the values of an object to a set. */
25
- export declare function objectValuesToSet<K extends number | string | symbol, V>(object: Record<K, V>): ReadonlySet<V>;
25
+ export declare function objectValuesToSet<K extends PropertyKey, V>(object: Record<K, V>): ReadonlySet<V>;
26
26
  /**
27
27
  * Helper function to add one or more elements to a set at once without having to repeatedly call
28
28
  * the `Set.add` method.
@@ -20,9 +20,9 @@ export declare function combineSets<T>(...sets: ReadonlyArray<ReadonlySet<T>>):
20
20
  /** Helper function to copy a set. (You can also use a Set constructor to accomplish this task.) */
21
21
  export declare function copySet<T>(oldSet: ReadonlySet<T>): ReadonlySet<T>;
22
22
  /** Helper function to convert the keys of an object to a set. */
23
- export declare function objectKeysToSet<K extends number | string | symbol, V>(object: Record<K, V>): ReadonlySet<K>;
23
+ export declare function objectKeysToSet<K extends PropertyKey, V>(object: Record<K, V>): ReadonlySet<K>;
24
24
  /** Helper function to convert the values of an object to a set. */
25
- export declare function objectValuesToSet<K extends number | string | symbol, V>(object: Record<K, V>): ReadonlySet<V>;
25
+ export declare function objectValuesToSet<K extends PropertyKey, V>(object: Record<K, V>): ReadonlySet<V>;
26
26
  /**
27
27
  * Helper function to add one or more elements to a set at once without having to repeatedly call
28
28
  * the `Set.add` method.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../src/functions/set.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAE5B,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EACf,GAAG,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAC1C,IAAI,CAMN;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,GAAG,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GACrC,WAAW,CAAC,CAAC,CAAC,CAShB;AAED,mGAAmG;AACnG,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAOjE;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EACtD,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GACnB,WAAW,CAAC,CAAC,CAAC,CAQhB;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EACxD,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GACnB,WAAW,CAAC,CAAC,CAAC,CAQhB;AAED;;;;;GAKG;AAEH,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAItE;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,EACnB,GAAG,QAAQ,EAAE,SAAS,CAAC,EAAE,GACxB,OAAO,CAET"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/functions/sort.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,SAAS,MAAM,EAAE,CASnB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/functions/string.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AA8BxE,kEAAkE;AAClE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAU5D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAqBlE;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAOpD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBtD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,GACpB,eAAe,GAAG,SAAS,CAwB7B;AAGD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAuBR;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CA6BT;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,UAAQ,GACd,MAAM,CAWR;AAED,gGAAgG;AAChG,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOjE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAMxE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/functions/time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAM3D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../src/functions/tuple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,KAAK,QAAQ,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI;KAC3C,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;CACrE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACf,KAAK,UAAU,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,KAAK,UAAU,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7E;;;;;GAKG;AACH,wBAAiB,YAAY,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,EACxD,KAAK,EAAE,CAAC,GACP,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAE1B;AAED;;;;;GAKG;AACH,wBAAiB,SAAS,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,EACrD,KAAK,EAAE,CAAC,GACP,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAExB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/functions/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQrC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/functions/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAiB,MAAM,CACrB,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,SAAI,GACZ,SAAS,CAAC,MAAM,CAAC,CASnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAiB,MAAM,CACrB,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,SAAI,GACZ,SAAS,CAAC,MAAM,CAAC,CAQnB;AAED,yDAAyD;AACzD,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EACtC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,CAAC,GACR,GAAG,IAAI,MAAM,CAAC,CAEhB;AAED;;;GAGG;AAEH,wBAAgB,IAAI,IAAI,IAAI,CAAG;AAE/B;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAcjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAc/D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAInE;AAED;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAAG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,mBAAmB,iCAAiC,CAAC;AACrD,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,yCAAyC,CAAC;AAC7D,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,sBAAsB,CAAC;AAC1C,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,mCAAmC,CAAC;AACvD,mBAAmB,4CAA4C,CAAC;AAChE,mBAAmB,yBAAyB,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,mBAAmB,2BAA2B,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SemanticVersion.d.ts","sourceRoot":"","sources":["../../../src/interfaces/SemanticVersion.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IAErB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IAErB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddSubtract.d.ts","sourceRoot":"","sources":["../../../src/types/AddSubtract.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,MAAM,CAC1D;IAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAAE,GAAG,UAAU,CAAC,CAAC,CAAC;CAAC,CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,GAClE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAClD,MAAM,CAAC,CAAC,CAAC,GACT,KAAK,GACP,KAAK,CAAC;AAEV,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS;IACtE,MAAM,EAAE,CAAC,CAAC;CACX,GACG,CAAC,GACD,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnC,KAAK,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompositionTypeSatisfiesEnum.d.ts","sourceRoot":"","sources":["../../../src/types/CompositionTypeSatisfiesEnum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,4BAA4B,CACtC,CAAC,SAAS;IACR,2CAA2C;IAC3C,IAAI,EAAE,OAAO,CAAC;CACf,EACD,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,IACrB,OAAO,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERange.d.ts","sourceRoot":"","sources":["../../../src/types/ERange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,MAAM,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,IAAI,OAAO,CACnE,sBAAsB,CAAC,IAAI,CAAC,EAC5B,sBAAsB,CAAC,GAAG,CAAC,CAC5B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IRange.d.ts","sourceRoot":"","sources":["../../../src/types/IRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAE5F;;;;;;;;GAQG;AACH,MAAM,MAAM,MAAM,CAAC,GAAG,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,IAAI,OAAO,CACnE,+BAA+B,CAAC,IAAI,CAAC,EACrC,sBAAsB,CAAC,GAAG,CAAC,CAC5B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Immutable.d.ts","sourceRoot":"","sources":["../../../src/types/Immutable.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,kBAAkB,GACnD,CAAC,GACD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,cAAc,CAAC,CAAC,CAAC,GACjB,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC7B,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,GACpB,YAAY,CAAC,CAAC,CAAC,GACf,eAAe,CAAC,CAAC,CAAC,CAAC;AAE7B,KAAK,kBAAkB,GACnB,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,IAAI,GACJ,SAAS,CAAC;AACd,KAAK,cAAc,CAAC,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,KAAK,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,KAAK,eAAe,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NaturalNumbersLessThan.d.ts","sourceRoot":"","sources":["../../../src/types/NaturalNumbersLessThan.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,MAAM,EAChB,GAAG,SAAS,MAAM,EAAE,GAAG,EAAE,IACvB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GACvB,GAAG,CAAC,MAAM,CAAC,GACX,sBAAsB,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NaturalNumbersLessThanOrEqualTo.d.ts","sourceRoot":"","sources":["../../../src/types/NaturalNumbersLessThanOrEqualTo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,+BAA+B,CACzC,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,IACrB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,GAClC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtB,CAAC,CAAC,MAAM,CAAC,GACT,+BAA+B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GACzD,+BAA+B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectValues.d.ts","sourceRoot":"","sources":["../../../src/types/ObjectValues.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadonlyMap.d.ts","sourceRoot":"","sources":["../../../src/types/ReadonlyMap.ts"],"names":[],"mappings":"AAEA,UAAU,sBAAsB;IAC9B,QAAQ,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAC1E,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CAC3C;AAED,uEAAuE;AACvE,eAAO,MAAM,WAAW,EAAU,sBAAsB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Helper type to specify that a record should be read-only.
3
+ *
4
+ * This is the same thing as `Readonly<Record<K, V>>`.
5
+ */
6
+ export type ReadonlyRecord<K extends PropertyKey, V> = Readonly<Record<K, V>>;
7
+ //# sourceMappingURL=ReadonlyRecord.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Helper type to specify that a record should be read-only.
3
+ *
4
+ * This is the same thing as `Readonly<Record<K, V>>`.
5
+ */
6
+ export type ReadonlyRecord<K extends PropertyKey, V> = Readonly<Record<K, V>>;
7
+ //# sourceMappingURL=ReadonlyRecord.d.ts.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Helper type to specify that a record should be read-only.
3
+ *
4
+ * This is the same thing as `Readonly<Record<K, V>>`.
5
+ */
6
+ export type ReadonlyRecord<K extends PropertyKey, V> = Readonly<Record<K, V>>;
7
+ //# sourceMappingURL=ReadonlyRecord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadonlyRecord.d.ts","sourceRoot":"","sources":["../../../src/types/ReadonlyRecord.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadonlySet.d.ts","sourceRoot":"","sources":["../../../src/types/ReadonlySet.ts"],"names":[],"mappings":"AAEA,UAAU,sBAAsB;IAC9B,KAAK,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1E,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;CACtC;AAED,uEAAuE;AACvE,eAAO,MAAM,WAAW,EAAU,sBAAsB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranspiledEnum.d.ts","sourceRoot":"","sources":["../../../src/types/TranspiledEnum.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tuple.d.ts","sourceRoot":"","sources":["../../../src/types/Tuple.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,GAChD,MAAM,SAAS,CAAC,GACd,CAAC,EAAE,GACH,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GACpB,KAAK,CAAC;AAEV,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAC3E,CAAC,GACD,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidenLiteral.d.ts","sourceRoot":"","sources":["../../../src/types/WidenLiteral.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAC1C,MAAM,GACN,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,SAAS,OAAO,GACf,OAAO,GACP,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Writeable.d.ts","sourceRoot":"","sources":["../../../src/types/Writeable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "complete-common",
3
- "version": "2.20.1",
3
+ "version": "2.22.0",
4
4
  "description": "Helper functions for TypeScript projects.",
5
5
  "homepage": "https://complete-ts.github.io/",
6
6
  "bugs": {
@@ -29,15 +29,14 @@
29
29
  "build": "bun run ./scripts/build.ts",
30
30
  "docs": "typedoc",
31
31
  "lint": "bun run ./scripts/lint.ts",
32
- "test": "bun test"
32
+ "test": "bun test ./tests"
33
33
  },
34
34
  "devDependencies": {
35
- "@types/node": "25.3.2",
36
- "complete-node": "16.2.0",
37
- "eslint-plugin-sort-exports": "0.9.1",
38
- "typedoc": "0.28.17",
39
- "typescript": "5.9.3",
40
- "typescript-eslint": "8.56.1",
35
+ "@types/node": "25.5.0",
36
+ "complete-node": "16.4.0",
37
+ "typedoc": "0.28.18",
38
+ "typedoc-plugin-markdown": "4.11.0",
39
+ "typescript": "6.0.2",
41
40
  "unbuild": "3.6.1"
42
41
  }
43
42
  }
@@ -305,7 +305,7 @@ export function includesAny<T>(
305
305
 
306
306
  /** A wrapper around `Array.isArray` that narrows to `unknown[]` instead of `any[]`. */
307
307
  export function isArray(variable: unknown): variable is unknown[] {
308
- return Array.isArray(variable);
308
+ return Array.isArray(variable); // eslint-disable-line complete/prefer-is-array
309
309
  }
310
310
 
311
311
  /** Helper function to check every value of an array to see if it is a boolean. */
@@ -1,3 +1,7 @@
1
+ // We intentionally do not use the `isArray` helper function to avoid circular imports. (The
2
+ // improved return type is not needed for these assertion functions.)
3
+ /* eslint-disable complete/prefer-is-array */
4
+
1
5
  /**
2
6
  * Helper functions that have to do with asserting.
3
7
  *
@@ -5,6 +9,7 @@
5
9
  */
6
10
 
7
11
  import type { TranspiledEnum } from "../types/TranspiledEnum.js";
12
+ import type { Tuple } from "../types/Tuple.js";
8
13
  import { isEnumValue } from "./enums.js";
9
14
  import { isObject } from "./types.js";
10
15
 
@@ -43,6 +48,30 @@ export function assertArrayBoolean<T>(
43
48
  }
44
49
  }
45
50
 
51
+ /**
52
+ * Helper function to throw an error if the provided array does not have the specified length. Will
53
+ * also type narrow the array into a tuple of the specified length.
54
+ */
55
+ export function assertArrayLength<E, N extends number>(
56
+ value: E[], // eslint-disable-line complete/prefer-readonly-parameter-types
57
+ length: N,
58
+ msg: string,
59
+ ): asserts value is Tuple<E, N>;
60
+ export function assertArrayLength<E, N extends number>(
61
+ value: readonly E[],
62
+ length: N,
63
+ msg: string,
64
+ ): asserts value is Readonly<Tuple<E, N>>;
65
+ export function assertArrayLength(
66
+ value: readonly unknown[],
67
+ length: number,
68
+ msg: string,
69
+ ): asserts value is unknown[] {
70
+ if (value.length !== length) {
71
+ throw new TypeError(msg);
72
+ }
73
+ }
74
+
46
75
  /**
47
76
  * Helper function to throw an error if the provided value is not an array with every element being
48
77
  * a number.