type-plus 5.2.0 → 5.4.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 (117) hide show
  1. package/README.md +18 -4
  2. package/cjs/array/PadLeft.spec.js.map +1 -1
  3. package/cjs/array/UnionOfValues.d.ts +1 -1
  4. package/cjs/array/UnionOfValues.d.ts.map +1 -1
  5. package/cjs/array/UnionOfValues.spec.js +10 -0
  6. package/cjs/array/UnionOfValues.spec.js.map +1 -1
  7. package/cjs/array/index.d.ts +3 -3
  8. package/cjs/array/index.d.ts.map +1 -1
  9. package/cjs/array/index.js.map +1 -1
  10. package/cjs/assertion/assertType.spec.js +226 -131
  11. package/cjs/assertion/assertType.spec.js.map +1 -1
  12. package/cjs/function/ExtractFunction.d.ts +8 -2
  13. package/cjs/function/ExtractFunction.d.ts.map +1 -1
  14. package/cjs/function/ExtractFunction.js +5 -0
  15. package/cjs/function/ExtractFunction.js.map +1 -1
  16. package/cjs/function/ExtractFunction.spec.js +18 -6
  17. package/cjs/function/ExtractFunction.spec.js.map +1 -1
  18. package/cjs/functional/compose.d.ts +5 -1
  19. package/cjs/functional/compose.d.ts.map +1 -1
  20. package/cjs/functional/compose.js +5 -1
  21. package/cjs/functional/compose.js.map +1 -1
  22. package/cjs/functional/context.d.ts +36 -0
  23. package/cjs/functional/context.d.ts.map +1 -0
  24. package/cjs/functional/context.js +43 -0
  25. package/cjs/functional/context.js.map +1 -0
  26. package/cjs/functional/context.spec.d.ts +2 -0
  27. package/cjs/functional/context.spec.d.ts.map +1 -0
  28. package/cjs/functional/context.spec.js +39 -0
  29. package/cjs/functional/context.spec.js.map +1 -0
  30. package/cjs/functional/index.d.ts +1 -0
  31. package/cjs/functional/index.d.ts.map +1 -1
  32. package/cjs/functional/index.js +1 -0
  33. package/cjs/functional/index.js.map +1 -1
  34. package/cjs/predicates/CanAssign.spec.js +4 -3
  35. package/cjs/predicates/CanAssign.spec.js.map +1 -1
  36. package/cjs/predicates/Equal.d.ts +14 -18
  37. package/cjs/predicates/Equal.d.ts.map +1 -1
  38. package/cjs/predicates/Equal.js +0 -8
  39. package/cjs/predicates/Equal.js.map +1 -1
  40. package/cjs/predicates/Equal.spec.js +18 -0
  41. package/cjs/predicates/Equal.spec.js.map +1 -1
  42. package/cjs/predicates/IsAny.d.ts +3 -0
  43. package/cjs/predicates/IsAny.d.ts.map +1 -0
  44. package/cjs/predicates/IsAny.js +3 -0
  45. package/cjs/predicates/IsAny.js.map +1 -0
  46. package/cjs/predicates/index.d.ts +2 -3
  47. package/cjs/predicates/index.d.ts.map +1 -1
  48. package/cjs/predicates/index.js.map +1 -1
  49. package/cjs/predicates/isType.js +1 -1
  50. package/cjs/predicates/isType.spec.js +16 -12
  51. package/cjs/predicates/isType.spec.js.map +1 -1
  52. package/cjs/predicates/logical.d.ts +4 -4
  53. package/cjs/predicates/logical.d.ts.map +1 -1
  54. package/esm/array/PadLeft.spec.js.map +1 -1
  55. package/esm/array/UnionOfValues.d.ts +1 -1
  56. package/esm/array/UnionOfValues.d.ts.map +1 -1
  57. package/esm/array/UnionOfValues.spec.js +11 -1
  58. package/esm/array/UnionOfValues.spec.js.map +1 -1
  59. package/esm/array/index.d.ts +3 -3
  60. package/esm/array/index.d.ts.map +1 -1
  61. package/esm/array/index.js.map +1 -1
  62. package/esm/assertion/assertType.spec.js +226 -131
  63. package/esm/assertion/assertType.spec.js.map +1 -1
  64. package/esm/function/ExtractFunction.d.ts +8 -2
  65. package/esm/function/ExtractFunction.d.ts.map +1 -1
  66. package/esm/function/ExtractFunction.js +5 -0
  67. package/esm/function/ExtractFunction.js.map +1 -1
  68. package/esm/function/ExtractFunction.spec.js +18 -6
  69. package/esm/function/ExtractFunction.spec.js.map +1 -1
  70. package/esm/functional/compose.d.ts +5 -1
  71. package/esm/functional/compose.d.ts.map +1 -1
  72. package/esm/functional/compose.js +5 -1
  73. package/esm/functional/compose.js.map +1 -1
  74. package/esm/functional/context.d.ts +36 -0
  75. package/esm/functional/context.d.ts.map +1 -0
  76. package/esm/functional/context.js +28 -0
  77. package/esm/functional/context.js.map +1 -0
  78. package/esm/functional/context.spec.d.ts +2 -0
  79. package/esm/functional/context.spec.d.ts.map +1 -0
  80. package/esm/functional/context.spec.js +37 -0
  81. package/esm/functional/context.spec.js.map +1 -0
  82. package/esm/functional/index.d.ts +1 -0
  83. package/esm/functional/index.d.ts.map +1 -1
  84. package/esm/functional/index.js +1 -0
  85. package/esm/functional/index.js.map +1 -1
  86. package/esm/predicates/CanAssign.spec.js +4 -3
  87. package/esm/predicates/CanAssign.spec.js.map +1 -1
  88. package/esm/predicates/Equal.d.ts +14 -18
  89. package/esm/predicates/Equal.d.ts.map +1 -1
  90. package/esm/predicates/Equal.js +0 -8
  91. package/esm/predicates/Equal.js.map +1 -1
  92. package/esm/predicates/Equal.spec.js +18 -0
  93. package/esm/predicates/Equal.spec.js.map +1 -1
  94. package/esm/predicates/IsAny.d.ts +3 -0
  95. package/esm/predicates/IsAny.d.ts.map +1 -0
  96. package/esm/predicates/IsAny.js +2 -0
  97. package/esm/predicates/IsAny.js.map +1 -0
  98. package/esm/predicates/index.d.ts +2 -3
  99. package/esm/predicates/index.d.ts.map +1 -1
  100. package/esm/predicates/index.js.map +1 -1
  101. package/esm/predicates/isType.js +1 -1
  102. package/esm/predicates/isType.spec.js +16 -12
  103. package/esm/predicates/isType.spec.js.map +1 -1
  104. package/esm/predicates/logical.d.ts +4 -4
  105. package/esm/predicates/logical.d.ts.map +1 -1
  106. package/package.json +2 -2
  107. package/ts/array/UnionOfValues.ts +14 -10
  108. package/ts/array/index.ts +3 -4
  109. package/ts/function/ExtractFunction.ts +8 -2
  110. package/ts/functional/compose.ts +5 -1
  111. package/ts/functional/context.ts +69 -0
  112. package/ts/functional/index.ts +1 -0
  113. package/ts/predicates/Equal.ts +19 -23
  114. package/ts/predicates/IsAny.ts +3 -0
  115. package/ts/predicates/index.ts +2 -5
  116. package/ts/predicates/isType.ts +1 -1
  117. package/ts/predicates/logical.ts +26 -4
@@ -56,30 +56,34 @@ describe('isType.t()', function () {
56
56
  test('accept true type but not false or boolean', function () {
57
57
  expect(index_js_1.isType.t()).toBe(true);
58
58
  expect(index_js_1.isType.t()).toBe(true);
59
- // these fails
60
- // isType.t<false>()
61
- // isType.t<boolean>()
59
+ // @ts-expect-error
60
+ index_js_1.isType.t();
61
+ // @ts-expect-error
62
+ index_js_1.isType.t();
62
63
  });
63
64
  test('accept value with type true but not false or boolean', function () {
64
65
  expect(index_js_1.isType.t(true)).toBe(true);
65
- // these fails
66
- // isType.t(false)
67
- // isType.t(1 === 1)
66
+ // @ts-expect-error
67
+ index_js_1.isType.t(false);
68
+ // @ts-expect-error
69
+ index_js_1.isType.t(1 === 1);
68
70
  });
69
71
  });
70
72
  describe('isType.f()', function () {
71
73
  test('accept false type but not true or boolean', function () {
72
74
  expect(index_js_1.isType.f()).toBe(true);
73
75
  expect(index_js_1.isType.f()).toBe(true);
74
- // these fails
75
- // isType.f<true>()
76
- // isType.f<boolean>()
76
+ // @ts-expect-error
77
+ index_js_1.isType.f();
78
+ // @ts-expect-error
79
+ index_js_1.isType.f();
77
80
  });
78
81
  test('accept value with type true but not false or boolean', function () {
79
82
  expect(index_js_1.isType.f(false)).toBe(true);
80
- // these fails
81
- // isType.f(true)
82
- // isType.f(1 !== 1)
83
+ // @ts-expect-error
84
+ index_js_1.isType.f(true);
85
+ // @ts-expect-error
86
+ index_js_1.isType.f(1 !== 1);
83
87
  });
84
88
  });
85
89
  describe('isType.equal()', function () {
@@ -1 +1 @@
1
- {"version":3,"file":"isType.spec.js","sourceRoot":"","sources":["../../ts/predicates/isType.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isType.spec.js","sourceRoot":"","sources":["../../ts/predicates/isType.spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export type And<A extends boolean, B extends boolean> = A extends true ? B extends true ? true : false : false;
2
- export type Or<A extends boolean, B extends boolean> = A extends true ? true : B extends true ? true : false;
3
- export type Not<X extends boolean> = X extends true ? false : true;
4
- export type Xor<A extends boolean, B extends boolean> = A extends true ? Not<B> : B extends true ? true : false;
1
+ export type And<A extends boolean, B extends boolean, Then = true, Else = false> = A extends true ? B extends true ? Then : Else : Else;
2
+ export type Or<A extends boolean, B extends boolean, Then = true, Else = false> = A extends true ? Then : B extends true ? Then : Else;
3
+ export type Not<X extends boolean, Then = true, Else = false> = X extends true ? Else : Then;
4
+ export type Xor<A extends boolean, B extends boolean, Then = true, Else = false> = A extends Then ? Not<B> : B extends true ? Then : Else;
5
5
  //# sourceMappingURL=logical.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logical.d.ts","sourceRoot":"","sources":["../../ts/predicates/logical.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAA;AAC9G,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;AAC5G,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,IAAI,CAAA;AAClE,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"logical.d.ts","sourceRoot":"","sources":["../../ts/predicates/logical.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,CACb,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,IACV,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAExD,MAAM,MAAM,EAAE,CACZ,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,IACV,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAExD,MAAM,MAAM,GAAG,CACb,CAAC,SAAS,OAAO,EACjB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,IACV,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAEhC,MAAM,MAAM,GAAG,CACb,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,IACV,CAAC,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PadLeft.spec.js","sourceRoot":"","sources":["../../ts/array/PadLeft.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,aAAa,CAAA;AAE7C,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;IACxC,MAAM,CAAC,KAAK,EAA4B,CAAA;AAC1C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACnC,MAAM,CAAC,KAAK,EAAoC,CAAA;IAChD,MAAM,CAAC,KAAK,EAAoD,CAAA;AAClE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,CAAC,KAAK,EAA0C,CAAA;AACxD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACrC,MAAM,CAAC,KAAK,EAA4D,CAAA;AAC1E,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,KAAK,EAAwE,CAAA;AACtF,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAC9D,MAAM,CAAC,KAAK,EAAgD,CAAA;AAC9D,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"PadLeft.spec.js","sourceRoot":"","sources":["../../ts/array/PadLeft.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,aAAa,CAAA;AAE7C,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;IACxC,MAAM,CAAC,KAAK,EAA4B,CAAA;AAC1C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACnC,MAAM,CAAC,KAAK,EAAoC,CAAA;IAChD,MAAM,CAAC,KAAK,EAAoD,CAAA;AAClE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACxD,MAAM,CAAC,KAAK,EAA0C,CAAA;AACxD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;IAErC,MAAM,CAAC,KAAK,EAAyC,CAAA;AACvD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,KAAK,EAAwE,CAAA;AACtF,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAC9D,MAAM,CAAC,KAAK,EAAgD,CAAA;AAC9D,CAAC,CAAC,CAAA"}
@@ -4,7 +4,7 @@
4
4
  export type UnionOfValues<A extends Array<any>> = A extends Array<infer E> ? E : never;
5
5
  /**
6
6
  * Gets the union of value types in `A`
7
- * This will be deprecated in 4.0. Please use UnionOfValues instead.
7
+ * @deprecated Please use `UnionOfValues` instead.
8
8
  */
9
9
  export type ArrayValue<A extends any[]> = UnionOfValues<A>;
10
10
  //# sourceMappingURL=UnionOfValues.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnionOfValues.d.ts","sourceRoot":"","sources":["../../ts/array/UnionOfValues.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAEtF;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"UnionOfValues.d.ts","sourceRoot":"","sources":["../../ts/array/UnionOfValues.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAMtF;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA"}
@@ -1,8 +1,18 @@
1
- import { assertType } from '../index.js';
1
+ import { assertType, isType } from '../index.js';
2
2
  test('get value of generic array', () => {
3
3
  assertType.isTrue(true);
4
4
  });
5
5
  test('tuple get union type of values', () => {
6
6
  assertType.isTrue(true);
7
7
  });
8
+ it('extracts literal types from a tuple', () => {
9
+ isType.equal();
10
+ });
11
+ it('extracts mixed types from tuple', () => {
12
+ isType.equal();
13
+ });
14
+ it('preserves union types', () => {
15
+ const t = ['a', 1, true];
16
+ isType.equal();
17
+ });
8
18
  //# sourceMappingURL=UnionOfValues.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnionOfValues.spec.js","sourceRoot":"","sources":["../../ts/array/UnionOfValues.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAS,MAAM,aAAa,CAAA;AAE9D,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAEtC,UAAU,CAAC,MAAM,CAAC,IAA6B,CAAC,CAAA;AAClD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAE1C,UAAU,CAAC,MAAM,CAAC,IAAuC,CAAC,CAAA;AAC5D,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"UnionOfValues.spec.js","sourceRoot":"","sources":["../../ts/array/UnionOfValues.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAS,MAAM,EAAE,MAAM,aAAa,CAAA;AAEtE,IAAI,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAEtC,UAAU,CAAC,MAAM,CAAC,IAA6B,CAAC,CAAA;AAClD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAE1C,UAAU,CAAC,MAAM,CAAC,IAAuC,CAAC,CAAA;AAC5D,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAG7C,MAAM,CAAC,KAAK,EAA4B,CAAA;AAC1C,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAGzC,MAAM,CAAC,KAAK,EAA2B,CAAA;AACzC,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;IAC/B,MAAM,CAAC,GAAiC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;IAGtD,MAAM,CAAC,KAAK,EAAyC,CAAA;AACvD,CAAC,CAAC,CAAA"}
@@ -1,7 +1,6 @@
1
1
  export type { CommonKeys, CommonPropKeys } from './CommonPropKeys.js';
2
2
  export type { Concat } from './Concat.js';
3
3
  export type { CreateTuple } from './CreateTuple.js';
4
- export * from './drop.js';
5
4
  export type { Filter, KeepMatch } from './Filter.js';
6
5
  export type { FindFirst, First } from './FindFirst.js';
7
6
  export type { FindLast } from './FindLast.js';
@@ -9,12 +8,13 @@ export type { Head } from './Head.js';
9
8
  export type { IntersectOfProps, MapToProp } from './IntersectOfProps.js';
10
9
  export type { IsArray } from './IsArray.js';
11
10
  export type { Last } from './Last.js';
12
- export * from './literalArray.js';
13
11
  export type { PadLeft } from './PadLeft.js';
14
- export * from './reduceWhile.js';
15
12
  export type { Reverse } from './Reverse.js';
16
13
  export type { Some } from './Some.js';
17
14
  export type { Tail } from './Tail.js';
18
15
  export type { PropUnion, UnionOfProps } from './UnionOfProps.js';
19
16
  export type { ArrayValue, UnionOfValues } from './UnionOfValues.js';
17
+ export * from './drop.js';
18
+ export * from './literalArray.js';
19
+ export * from './reduceWhile.js';
20
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/array/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACrE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,cAAc,WAAW,CAAA;AACzB,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACpD,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtD,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACxE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/array/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACrE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACpD,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtD,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACxE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnE,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/array/index.ts"],"names":[],"mappings":"AAGA,cAAc,WAAW,CAAA;AAQzB,cAAc,mBAAmB,CAAA;AAEjC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/array/index.ts"],"names":[],"mappings":"AAgBA,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA"}