type-plus 6.1.0 → 6.3.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.
- package/README.md +14 -8
- package/cjs/array_plus/array_number.d.ts +4 -0
- package/cjs/array_plus/array_number.d.ts.map +1 -0
- package/cjs/array_plus/array_number.js +3 -0
- package/cjs/array_plus/array_number.js.map +1 -0
- package/cjs/array_plus/create_tuple.d.ts +2 -1
- package/cjs/array_plus/create_tuple.d.ts.map +1 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -1
- package/cjs/math/Add.d.ts +1 -2
- package/cjs/math/Add.d.ts.map +1 -1
- package/cjs/math/Digit.d.ts +1 -2
- package/cjs/math/Digit.d.ts.map +1 -1
- package/cjs/math/GreaterThan.d.ts +1 -2
- package/cjs/math/GreaterThan.d.ts.map +1 -1
- package/cjs/math/Subtract.d.ts +1 -2
- package/cjs/math/Subtract.d.ts.map +1 -1
- package/cjs/math/index.d.ts +0 -2
- package/cjs/math/index.d.ts.map +1 -1
- package/cjs/number_plus/number.d.ts +67 -3
- package/cjs/number_plus/number.d.ts.map +1 -1
- package/cjs/predicates/Equal.d.ts +21 -2
- package/cjs/predicates/Equal.d.ts.map +1 -1
- package/cjs/tuple/index.d.ts +2 -0
- package/cjs/tuple/index.d.ts.map +1 -0
- package/cjs/{math/IsWhole.js → tuple/index.js} +1 -1
- package/cjs/tuple/index.js.map +1 -0
- package/cjs/tuple/tuple.d.ts +16 -0
- package/cjs/tuple/tuple.d.ts.map +1 -0
- package/cjs/{math/IsPositive.js → tuple/tuple.js} +1 -1
- package/cjs/tuple/tuple.js.map +1 -0
- package/esm/array_plus/array_number.d.ts +4 -0
- package/esm/array_plus/array_number.d.ts.map +1 -0
- package/esm/array_plus/array_number.js +2 -0
- package/esm/array_plus/array_number.js.map +1 -0
- package/esm/array_plus/create_tuple.d.ts +2 -1
- package/esm/array_plus/create_tuple.d.ts.map +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/math/Add.d.ts +1 -2
- package/esm/math/Add.d.ts.map +1 -1
- package/esm/math/Digit.d.ts +1 -2
- package/esm/math/Digit.d.ts.map +1 -1
- package/esm/math/GreaterThan.d.ts +1 -2
- package/esm/math/GreaterThan.d.ts.map +1 -1
- package/esm/math/Subtract.d.ts +1 -2
- package/esm/math/Subtract.d.ts.map +1 -1
- package/esm/math/index.d.ts +0 -2
- package/esm/math/index.d.ts.map +1 -1
- package/esm/number_plus/number.d.ts +67 -3
- package/esm/number_plus/number.d.ts.map +1 -1
- package/esm/predicates/Equal.d.ts +21 -2
- package/esm/predicates/Equal.d.ts.map +1 -1
- package/esm/tuple/index.d.ts +2 -0
- package/esm/tuple/index.d.ts.map +1 -0
- package/esm/tuple/index.js +2 -0
- package/esm/tuple/index.js.map +1 -0
- package/esm/tuple/tuple.d.ts +16 -0
- package/esm/tuple/tuple.d.ts.map +1 -0
- package/esm/tuple/tuple.js +2 -0
- package/esm/tuple/tuple.js.map +1 -0
- package/package.json +1 -1
- package/ts/array_plus/array_number.ts +12 -0
- package/ts/array_plus/create_tuple.ts +2 -1
- package/ts/index.ts +2 -13
- package/ts/math/Add.ts +1 -3
- package/ts/math/Digit.ts +1 -2
- package/ts/math/GreaterThan.ts +1 -2
- package/ts/math/Subtract.ts +1 -2
- package/ts/math/index.ts +0 -2
- package/ts/number_plus/number.ts +84 -7
- package/ts/predicates/Equal.ts +23 -4
- package/ts/tuple/index.ts +1 -0
- package/ts/tuple/readme.md +7 -0
- package/ts/tuple/tuple.ts +20 -0
- package/cjs/math/IsPositive.d.ts +0 -7
- package/cjs/math/IsPositive.d.ts.map +0 -1
- package/cjs/math/IsPositive.js.map +0 -1
- package/cjs/math/IsWhole.d.ts +0 -7
- package/cjs/math/IsWhole.d.ts.map +0 -1
- package/cjs/math/IsWhole.js.map +0 -1
- package/esm/math/IsPositive.d.ts +0 -7
- package/esm/math/IsPositive.d.ts.map +0 -1
- package/esm/math/IsPositive.js +0 -2
- package/esm/math/IsPositive.js.map +0 -1
- package/esm/math/IsWhole.d.ts +0 -7
- package/esm/math/IsWhole.d.ts.map +0 -1
- package/esm/math/IsWhole.js +0 -2
- package/esm/math/IsWhole.js.map +0 -1
- package/ts/math/IsPositive.ts +0 -10
- package/ts/math/IsWhole.ts +0 -10
package/README.md
CHANGED
|
@@ -315,8 +315,8 @@ type No = IsAny<1, 'yes', 'no'> // 'no'
|
|
|
315
315
|
|
|
316
316
|
### Any
|
|
317
317
|
|
|
318
|
-
- [`AnyType<T, Then = T, Else = never>`]: `T === any`.
|
|
319
|
-
- [`IsAny<T, Then = true, Else = false>`]: `T === any` (origin: [ts-essentials]).
|
|
318
|
+
- [`AnyType<T, Then = T, Else = never>`](ts/any_plus/any.ts#L14): `T === any`.
|
|
319
|
+
- [`IsAny<T, Then = true, Else = false>`](ts/any_plus/any.ts#L29): `T === any` (origin: [ts-essentials]).
|
|
320
320
|
|
|
321
321
|
### Array
|
|
322
322
|
|
|
@@ -465,16 +465,18 @@ So you may encounter some weird behavior if your logic is complex.
|
|
|
465
465
|
|
|
466
466
|
- [`Numeric`](ts/number_plus/number.ts#L4): either `number` or `bigint` (origin: [type-fest]).
|
|
467
467
|
- [`Zero`](ts/number_plus/number.ts#L9): `0` in `number` or `bigint` (origin: [type-fest]).
|
|
468
|
-
- [`Integer<N, Then = N, Else = never>`](ts/number_plus/number.ts#
|
|
469
|
-
- [`
|
|
470
|
-
- [`
|
|
471
|
-
- [`
|
|
468
|
+
- [`Integer<N, Then = N, Else = never>`](ts/number_plus/number.ts#L27): is integer (origin: [type-fest]).
|
|
469
|
+
- [`IsInteger<N, Then = true, Else = false>`](ts/number_plus/number.ts#L46): is integer.
|
|
470
|
+
- [`IsWhole<N, Then = true, Else = false>`](ts/number_plus/number.ts#L62): is integer.
|
|
471
|
+
- [`Negative<N, Then = N, Else = never>`](ts/number_plus/number.ts#L77): is negative (origin: [type-fest]).
|
|
472
|
+
- [`NonNegative<N, Then = N, Else = never>`](ts/number_plus/number.ts#L96): is non-negative (origin: [type-fest])
|
|
473
|
+
- [`NumberType<T, Then = N, Else = never>`](ts/number_plus/number.ts#L108): Is the type `T` exactly `number`.
|
|
474
|
+
- [`Positive<N, Then = N, Else = never>`](ts/number_plus/number.ts#L124): is positive.
|
|
475
|
+
- [`IsPositive<N, Then = N, Else = never>`](ts/number_plus/number.ts#L144): is positive.
|
|
472
476
|
|
|
473
477
|
### Math
|
|
474
478
|
|
|
475
479
|
- `Abs<N, Fail=never>`: `Abs(N)`, `Abs<number>` returns `Fail`.
|
|
476
|
-
- `IsPositive<N>`: is `N` a positive number literal. `IsPositive<number>` returns `false`.
|
|
477
|
-
- `IsWhole<N>`: is `N` a whole number literal. `IsWhole<number>` returns `false`.
|
|
478
480
|
- `Max<A, B, Fail=never>`: `max(A, B)`, for whole number, `Fail` otherwise.
|
|
479
481
|
- `GreaterThan<A, B, Fail=never>`: `A > B` for whole numbers, `Fail` otherwise.
|
|
480
482
|
|
|
@@ -485,6 +487,10 @@ So you may encounter some weird behavior if your logic is complex.
|
|
|
485
487
|
- `Increment<A, Fail=never>`: alias of `Add<A, 1, Fail>`.
|
|
486
488
|
- `Decrement<A, Fail=never>`: alias of `Subtract<A, 1, Fail>`.
|
|
487
489
|
|
|
490
|
+
### Tuple
|
|
491
|
+
|
|
492
|
+
- [`TupleType`](ts/tuple/readme.md#tupletype)
|
|
493
|
+
|
|
488
494
|
### Utility Functions
|
|
489
495
|
|
|
490
496
|
- `amend(subject)...`: amend subject as union or intersect of `T`.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Add } from '../math/Add.js';
|
|
2
|
+
import { ArrayType } from './array.js';
|
|
3
|
+
export type Sum<A extends ArrayType<number[]>> = A['length'] extends 0 ? 0 : A['length'] extends 1 ? A[0] : A['length'] extends 2 ? Add<A[0], A[1]> : A extends [infer F extends number, infer S extends number, ...infer Tail extends number[]] ? Sum<[Add<F, S>, ...Tail]> : never;
|
|
4
|
+
//# sourceMappingURL=array_number.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_number.d.ts","sourceRoot":"","sources":["../../ts/array_plus/array_number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnE,CAAC,GACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACf,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,MAAM,IAAI,SAAS,MAAM,EAAE,CAAC,GAC1F,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GACzB,KAAK,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_number.js","sourceRoot":"","sources":["../../ts/array_plus/array_number.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { DigitArray
|
|
1
|
+
import type { DigitArray } from '../math/index.js';
|
|
2
|
+
import type { IsPositive, IsWhole } from '../number_plus/number.js';
|
|
2
3
|
/**
|
|
3
4
|
* Creates `Tuple<T>` with `L` number of elements.
|
|
4
5
|
* @note Other cool implementations by @lazytype, @jcalz:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_tuple.d.ts","sourceRoot":"","sources":["../../ts/array_plus/create_tuple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"create_tuple.d.ts","sourceRoot":"","sources":["../../ts/array_plus/create_tuple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEnE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,GAAG,KAAK,IAAI,MAAM,SAAS,CAAC,GACpF,CAAC,EAAE,GACH,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACtB,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GACnD,IAAI,GACL,IAAI,CAAA"}
|
package/cjs/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export * from './assertion/index.js';
|
|
|
10
10
|
export * from './class/index.js';
|
|
11
11
|
export * from './function/index.js';
|
|
12
12
|
export * from './functional/index.js';
|
|
13
|
-
export type
|
|
13
|
+
export type * from './math/index.js';
|
|
14
14
|
export * from './nodejs/index.js';
|
|
15
15
|
export * from './nominal-types/index.js';
|
|
16
16
|
export * from './number_plus/index.js';
|
|
@@ -19,5 +19,6 @@ export * from './object/index.js';
|
|
|
19
19
|
export * from './predicates/index.js';
|
|
20
20
|
export * from './promise/index.js';
|
|
21
21
|
export * from './testing/index.js';
|
|
22
|
+
export * from './tuple/index.js';
|
|
22
23
|
export * from './utils/index.js';
|
|
23
24
|
//# sourceMappingURL=index.d.ts.map
|
package/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrF,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGlE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,cAAc,qBAAqB,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrF,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGlE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,cAAc,qBAAqB,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,mBAAmB,iBAAiB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAC1D,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
|
package/cjs/index.js
CHANGED
|
@@ -47,6 +47,7 @@ __exportStar(require("./object/index.js"), exports);
|
|
|
47
47
|
__exportStar(require("./predicates/index.js"), exports);
|
|
48
48
|
__exportStar(require("./promise/index.js"), exports);
|
|
49
49
|
__exportStar(require("./testing/index.js"), exports);
|
|
50
|
+
__exportStar(require("./tuple/index.js"), exports);
|
|
50
51
|
__exportStar(require("./utils/index.js"), exports);
|
|
51
52
|
// export { types, types as T }
|
|
52
53
|
//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA4C;AAC5C,uCAA6D;AAApD,qGAAA,QAAQ,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAO1C,sDAAmC;AACnC,wEAAuD;AACvD,wDAAqC;AACrC,uDAAoC;AACpC,mDAAgC;AAChC,sDAAmC;AACnC,wDAAqC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA4C;AAC5C,uCAA6D;AAApD,qGAAA,QAAQ,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAO1C,sDAAmC;AACnC,wEAAuD;AACvD,wDAAqC;AACrC,uDAAoC;AACpC,mDAAgC;AAChC,sDAAmC;AACnC,wDAAqC;AAErC,oDAAiC;AACjC,2DAAwC;AACxC,yDAAsC;AACtC,2EAA0D;AAC1D,oDAAiC;AACjC,wDAAqC;AACrC,qDAAkC;AAClC,qDAAkC;AAClC,mDAAgC;AAChC,mDAAgC;AAChC,+BAA+B"}
|
package/cjs/math/Add.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { PadLeft } from '../array_plus/index.js';
|
|
2
2
|
import type { And } from '../predicates/index.js';
|
|
3
|
+
import type { IsPositive, IsWhole } from '../number_plus/number.js';
|
|
3
4
|
import type { Digit, DigitArray } from './Digit.js';
|
|
4
|
-
import type { IsPositive } from './IsPositive.js';
|
|
5
|
-
import type { IsWhole } from './IsWhole.js';
|
|
6
5
|
import type { Max } from './Max.js';
|
|
7
6
|
/**
|
|
8
7
|
* Add two number literals.
|
package/cjs/math/Add.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Add.d.ts","sourceRoot":"","sources":["../../ts/math/Add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"Add.d.ts","sourceRoot":"","sources":["../../ts/math/Add.ts"],"names":[],"mappings":"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"}
|
package/cjs/math/Digit.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Tail } from '../array_plus/index.js';
|
|
2
|
+
import type { IsPositive, IsWhole } from '../number_plus/number.js';
|
|
2
3
|
import type { And } from '../predicates/index.js';
|
|
3
|
-
import type { IsPositive } from './IsPositive.js';
|
|
4
|
-
import type { IsWhole } from './IsWhole.js';
|
|
5
4
|
export declare namespace Digit {
|
|
6
5
|
type ToTuple<T = 1> = {
|
|
7
6
|
[k in number]: any[];
|
package/cjs/math/Digit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Digit.d.ts","sourceRoot":"","sources":["../../ts/math/Digit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Digit.d.ts","sourceRoot":"","sources":["../../ts/math/Digit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { Head, PadLeft, Tail } from '../array_plus/index.js';
|
|
2
|
+
import type { IsPositive, IsWhole } from '../number_plus/number.js';
|
|
2
3
|
import type { And, Equal, Or, Xor } from '../predicates/index.js';
|
|
3
4
|
import type { Digit, DigitArray } from './Digit.js';
|
|
4
|
-
import type { IsPositive } from './IsPositive.js';
|
|
5
|
-
import type { IsWhole } from './IsWhole.js';
|
|
6
5
|
import type { Max } from './Max.js';
|
|
7
6
|
export type GreaterThan<A extends number, B extends number, Fail = never> = And<IsWhole<A>, IsWhole<B>> extends false ? Fail : number extends A ? Fail : number extends B ? Fail : Equal<A, B> extends true ? false : Xor<IsPositive<A>, IsPositive<B>> extends true ? IsPositive<A> : Or<IsPositive<A>, IsPositive<B>> extends false ? GreaterThan.ForWholeNumber<B, A> : GreaterThan.ForWholeNumber<A, B>;
|
|
8
7
|
export declare namespace GreaterThan {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GreaterThan.d.ts","sourceRoot":"","sources":["../../ts/math/GreaterThan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"GreaterThan.d.ts","sourceRoot":"","sources":["../../ts/math/GreaterThan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,GAAG,CAC9E,OAAO,CAAC,CAAC,CAAC,EACV,OAAO,CAAC,CAAC,CAAC,CACV,SAAS,KAAK,GACZ,IAAI,GACJ,MAAM,SAAS,CAAC,GAChB,IAAI,GACJ,MAAM,SAAS,CAAC,GAChB,IAAI,GACJ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GACxB,KAAK,GACL,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAC9C,UAAU,CAAC,CAAC,CAAC,GACb,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAC9C,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAChC,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEnC,yBAAiB,WAAW,CAAC;IAC5B,KAAY,cAAc,CACzB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,IACb,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,GAC7C,EAAE,SAAS,MAAM,EAAE,GAClB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,GAC3C,EAAE,SAAS,MAAM,EAAE,GAClB,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,GAC9C,CAAC,SAAS,MAAM,GACf,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,GAClC,GAAG,SAAS,MAAM,EAAE,GACnB,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,GAClC,GAAG,SAAS,MAAM,EAAE,GACnB,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GACvB,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,GACN,KAAK,CAAA;IAER,KAAY,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,SAAS,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GACzG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,GACjC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;CACxC"}
|
package/cjs/math/Subtract.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { PadLeft, Some, Tail } from '../array_plus/index.js';
|
|
2
2
|
import type { And } from '../predicates/index.js';
|
|
3
|
+
import type { IsPositive, IsWhole } from '../number_plus/number.js';
|
|
3
4
|
import type { Digit, DigitArray } from './Digit.js';
|
|
4
|
-
import type { IsPositive } from './IsPositive.js';
|
|
5
|
-
import type { IsWhole } from './IsWhole.js';
|
|
6
5
|
import type { Max } from './Max.js';
|
|
7
6
|
export type Subtract<A extends number, B extends number, Fail = never> = And<And<IsPositive<A>, IsWhole<A>>, And<IsPositive<B>, IsWhole<B>>> extends true ? DigitArray.Shift10<DigitArray.FromNumber<A>> extends infer DA ? DA extends number[] ? DigitArray.FromNumber<B> extends infer DB ? DB extends number[] ? Max<DA['length'], DB['length']> extends infer M ? M extends number ? PadLeft<DA, M, 0> extends infer PDA ? PDA extends number[] ? PadLeft<DB, M, 0> extends infer PDB ? PDB extends number[] ? Subtract.DigitArray<[], PDA, PDB> extends infer Result ? Result extends number[] ? Some<Result, never, 'strict'> extends true ? Fail : DigitArray.ToNumber<Result> : Fail : Fail : Fail : Fail : Fail : Fail : Fail : Fail : Fail : Fail : Fail : Fail : Fail;
|
|
8
7
|
export declare namespace Subtract {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Subtract.d.ts","sourceRoot":"","sources":["../../ts/math/Subtract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Subtract.d.ts","sourceRoot":"","sources":["../../ts/math/Subtract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,GAAG,CAC3E,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAC9B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAC9B,SAAS,IAAI,GACX,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,GAC5D,EAAE,SAAS,MAAM,EAAE,GAClB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,GACxC,EAAE,SAAS,MAAM,EAAE,GAClB,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,GAC9C,CAAC,SAAS,MAAM,GACf,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,GAClC,GAAG,SAAS,MAAM,EAAE,GACnB,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,GAClC,GAAG,SAAS,MAAM,EAAE,GACnB,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,MAAM,MAAM,GACrD,MAAM,SAAS,MAAM,EAAE,GACtB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,IAAI,GACzC,IAAI,GACJ,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAC5B,IAAI,GACL,IAAI,GACL,IAAI,GACL,IAAI,GACL,IAAI,GACL,IAAI,GACL,IAAI,GACL,IAAI,GACL,IAAI,GACL,IAAI,GACL,IAAI,GACL,IAAI,GACL,IAAI,CAAA;AAEP,yBAAiB,QAAQ,CAAC;IACzB,KAAY,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACvG,CAAC,GACD,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1D,KAAY,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAChF,GAAG,MAAM,CAAC;QACV,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KACnB,GACE,CAAC,CAAC,QAAQ,CAAC,GACX,KAAK,CAAA;CACR;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA"}
|
package/cjs/math/index.d.ts
CHANGED
|
@@ -2,8 +2,6 @@ export type { Abs } from './Abs.js';
|
|
|
2
2
|
export type { Add, Increment } from './Add.js';
|
|
3
3
|
export type { Digit, DigitArray } from './Digit.js';
|
|
4
4
|
export type { GreaterThan } from './GreaterThan.js';
|
|
5
|
-
export type { IsPositive } from './IsPositive.js';
|
|
6
|
-
export type { IsWhole } from './IsWhole.js';
|
|
7
5
|
export type { Max } from './Max.js';
|
|
8
6
|
export type { Decrement, Subtract } from './Subtract.js';
|
|
9
7
|
//# sourceMappingURL=index.d.ts.map
|
package/cjs/math/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/math/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/math/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,YAAY,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { IsNever } from '../PrimitiveTypes.js';
|
|
2
|
+
import type { IsAny } from '../any_plus/any.js';
|
|
1
3
|
/**
|
|
2
4
|
* Either number or bigint.
|
|
3
5
|
*/
|
|
@@ -18,10 +20,39 @@ export type Zero = 0 | 0n;
|
|
|
18
20
|
*
|
|
19
21
|
* type R = Integer<0, true, false> // true
|
|
20
22
|
* type R = Integer<1.1, true, false> // false
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export type Integer<N extends Numeric, Then = N, Else = never> = IsNever<N, Else, `${N}` extends `${bigint}` ? Then : Else>;
|
|
26
|
+
/**
|
|
27
|
+
* Check if the value is an integer.
|
|
28
|
+
*
|
|
29
|
+
* ```
|
|
30
|
+
* import type { IsInteger } from 'type-plus'
|
|
31
|
+
*
|
|
32
|
+
* type R = IsInteger<0> // 0
|
|
33
|
+
* type R = IsInteger<1.1> // never
|
|
34
|
+
* type R = IsInteger<number> // never as it contains non-integer
|
|
35
|
+
*
|
|
36
|
+
* type R = IsInteger<0, true, false> // true
|
|
37
|
+
* type R = IsInteger<1.1, true, false> // false
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export type IsInteger<N extends Numeric, Then = true, Else = false> = Integer<N, Then, Else>;
|
|
41
|
+
/**
|
|
42
|
+
* Check if the value is an integer.
|
|
43
|
+
*
|
|
44
|
+
* ```
|
|
45
|
+
* import type { IsWhole } from 'type-plus'
|
|
46
|
+
*
|
|
47
|
+
* type R = IsWhole<0> // 0
|
|
48
|
+
* type R = IsWhole<1.1> // never
|
|
49
|
+
* type R = IsWhole<number> // never as it contains non-integer
|
|
21
50
|
*
|
|
51
|
+
* type R = IsWhole<0, true, false> // true
|
|
52
|
+
* type R = IsWhole<1.1, true, false> // false
|
|
22
53
|
* ```
|
|
23
54
|
*/
|
|
24
|
-
export type
|
|
55
|
+
export type IsWhole<N extends Numeric, Then = true, Else = false> = Integer<N, Then, Else>;
|
|
25
56
|
/**
|
|
26
57
|
* Check if the value is a negative number.
|
|
27
58
|
*
|
|
@@ -35,7 +66,7 @@ export type Integer<N extends Numeric, Then = N, Else = never> = `${N}` extends
|
|
|
35
66
|
* type R = Negative<1, true, false> // false
|
|
36
67
|
* ```
|
|
37
68
|
*/
|
|
38
|
-
export type Negative<N extends Numeric, Then = N, Else = never> = N extends Zero ? Else : `${N}` extends `-${string}` ? Then : Else
|
|
69
|
+
export type Negative<N extends Numeric, Then = N, Else = never> = IsNever<N, Else, N extends Zero ? Else : `${N}` extends `-${string}` ? Then : Else>;
|
|
39
70
|
/**
|
|
40
71
|
* Check if the value it not a negative number.
|
|
41
72
|
*
|
|
@@ -60,5 +91,38 @@ export type NonNegative<N extends Numeric, Then = N, Else = never> = Negative<N,
|
|
|
60
91
|
* type R = NumberType<1> // false
|
|
61
92
|
* ```
|
|
62
93
|
*/
|
|
63
|
-
export type NumberType<T
|
|
94
|
+
export type NumberType<T, Then = T, Else = never> = IsAny<T, Else, [
|
|
95
|
+
number,
|
|
96
|
+
T
|
|
97
|
+
] extends [T, number] ? Then : Else>;
|
|
98
|
+
/**
|
|
99
|
+
* Check if the value is a positive number.
|
|
100
|
+
*
|
|
101
|
+
* ```
|
|
102
|
+
* import type { Positive } from 'type-plus'
|
|
103
|
+
*
|
|
104
|
+
* type R = Positive<1> // 1
|
|
105
|
+
* type R = Positive<0> // never
|
|
106
|
+
* type R = Positive<-1> // never
|
|
107
|
+
*
|
|
108
|
+
* type R = Positive<1, true, false> // true
|
|
109
|
+
* type R = Positive<-1, true, false> // false
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
export type Positive<N extends Numeric, Then = N, Else = never> = IsNever<N, Else, number extends N ? Else : N extends Zero ? Then : `${N}` extends `-${string}` ? Else : Then>;
|
|
113
|
+
/**
|
|
114
|
+
* Is the value `N` a positive number.
|
|
115
|
+
*
|
|
116
|
+
* ```
|
|
117
|
+
* import type { IsPositive } from 'type-plus'
|
|
118
|
+
*
|
|
119
|
+
* type R = IsPositive<1> // true
|
|
120
|
+
* type R = IsPositive<0> // false
|
|
121
|
+
* type R = IsPositive<-1> // false
|
|
122
|
+
*
|
|
123
|
+
* type R = IsPositive<1, 'good', 'bad'> // 'good'
|
|
124
|
+
* type R = IsPositive<-1, 'good', 'bad> // 'bad'
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
export type IsPositive<N extends Numeric, Then = true, Else = false> = Positive<N, Then, Else>;
|
|
64
128
|
//# sourceMappingURL=number.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../ts/number_plus/number.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAErC;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAEzB
|
|
1
|
+
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../ts/number_plus/number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAErC;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAEzB;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CACvE,CAAC,EACD,IAAI,EACJ,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CACxC,CAAA;AACD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5F;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1F;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CACxE,CAAC,EACD,IAAI,EACJ,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CACjE,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5F;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CACxD,CAAC,EACD,IAAI,EACJ;IAAC,MAAM;IAAE,CAAC;CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAC7C,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CACxE,CAAC,EACD,IAAI,EACJ,MAAM,SAAS,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAC3F,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
import type { IsAny } from '../any_plus/any.js';
|
|
2
|
+
import type { TupleType } from '../tuple/tuple.js';
|
|
2
3
|
import type { And, Or } from './logical.js';
|
|
3
4
|
/**
|
|
4
|
-
* Checks
|
|
5
|
+
* Checks `A` and `B` are equal.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { type Equal } from 'type-plus'
|
|
9
|
+
*
|
|
10
|
+
* type R = Equal<1, 1> // true
|
|
11
|
+
* type R = Equal<any, any> // true
|
|
12
|
+
* type R = Equal<boolean, boolean> // true
|
|
13
|
+
* type R = Equal<true, true> // true
|
|
14
|
+
* type R = Equal<[1], [1]> // true
|
|
15
|
+
*
|
|
16
|
+
* type R = Equal<boolean, true> // false
|
|
17
|
+
* type R = Equal<any, 1> // false
|
|
18
|
+
* type R = Equal<[any], [1]> // false
|
|
19
|
+
* type R = Equal<{ a: 1 }, { a: 1; b: 2 }> // false
|
|
20
|
+
* ```
|
|
5
21
|
*/
|
|
6
|
-
export type Equal<A, B, Then = true, Else = false> =
|
|
22
|
+
export type Equal<A, B, Then = true, Else = false> = And<TupleType<A, true, false>, TupleType<B, true, false>, (<_>() => _ extends A ? 1 : 2) extends <_>() => _ extends B ? 1 : 2 ? Then : Else, [
|
|
23
|
+
A,
|
|
24
|
+
B
|
|
25
|
+
] extends [B, A] ? And<IsAny<A>, IsAny<B>, Then, Or<IsAny<A>, IsAny<B>, Else, Then>> : Else>;
|
|
7
26
|
/**
|
|
8
27
|
* Checks if the two types are equal.
|
|
9
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Equal.d.ts","sourceRoot":"","sources":["../../ts/predicates/Equal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAE3C
|
|
1
|
+
{"version":3,"file":"Equal.d.ts","sourceRoot":"","sources":["../../ts/predicates/Equal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,GAAG,CACvD,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EACzB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,EACzB,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EACjF;IAAC,CAAC;IAAE,CAAC;CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAChG,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE/E;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/tuple/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/tuple/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IsNever } from '../PrimitiveTypes.js';
|
|
2
|
+
/**
|
|
3
|
+
* Check if `T` is a tuple.
|
|
4
|
+
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* import type { TupleType } from 'type-plus'
|
|
7
|
+
*
|
|
8
|
+
* type R = TupleType<[]> // true
|
|
9
|
+
* type R = TupleType<[1]> // true
|
|
10
|
+
*
|
|
11
|
+
* type R = TupleType<number[]> // false
|
|
12
|
+
* type R = TupleType<string> // false
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export type TupleType<T, Then = T, Else = never> = IsNever<T, Else, T extends infer A extends Array<any> ? (number extends A['length'] ? Else : Then) : Else>;
|
|
16
|
+
//# sourceMappingURL=tuple.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../ts/tuple/tuple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CACzD,CAAC,EACD,IAAI,EACJ,CAAC,SAAS,MAAM,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CACxF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../ts/tuple/tuple.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Add } from '../math/Add.js';
|
|
2
|
+
import { ArrayType } from './array.js';
|
|
3
|
+
export type Sum<A extends ArrayType<number[]>> = A['length'] extends 0 ? 0 : A['length'] extends 1 ? A[0] : A['length'] extends 2 ? Add<A[0], A[1]> : A extends [infer F extends number, infer S extends number, ...infer Tail extends number[]] ? Sum<[Add<F, S>, ...Tail]> : never;
|
|
4
|
+
//# sourceMappingURL=array_number.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_number.d.ts","sourceRoot":"","sources":["../../ts/array_plus/array_number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACnE,CAAC,GACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GACf,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,MAAM,IAAI,SAAS,MAAM,EAAE,CAAC,GAC1F,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,GACzB,KAAK,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array_number.js","sourceRoot":"","sources":["../../ts/array_plus/array_number.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { DigitArray
|
|
1
|
+
import type { DigitArray } from '../math/index.js';
|
|
2
|
+
import type { IsPositive, IsWhole } from '../number_plus/number.js';
|
|
2
3
|
/**
|
|
3
4
|
* Creates `Tuple<T>` with `L` number of elements.
|
|
4
5
|
* @note Other cool implementations by @lazytype, @jcalz:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_tuple.d.ts","sourceRoot":"","sources":["../../ts/array_plus/create_tuple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"create_tuple.d.ts","sourceRoot":"","sources":["../../ts/array_plus/create_tuple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEnE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,IAAI,GAAG,KAAK,IAAI,MAAM,SAAS,CAAC,GACpF,CAAC,EAAE,GACH,UAAU,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACtB,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GACnD,IAAI,GACL,IAAI,CAAA"}
|
package/esm/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export * from './assertion/index.js';
|
|
|
10
10
|
export * from './class/index.js';
|
|
11
11
|
export * from './function/index.js';
|
|
12
12
|
export * from './functional/index.js';
|
|
13
|
-
export type
|
|
13
|
+
export type * from './math/index.js';
|
|
14
14
|
export * from './nodejs/index.js';
|
|
15
15
|
export * from './nominal-types/index.js';
|
|
16
16
|
export * from './number_plus/index.js';
|
|
@@ -19,5 +19,6 @@ export * from './object/index.js';
|
|
|
19
19
|
export * from './predicates/index.js';
|
|
20
20
|
export * from './promise/index.js';
|
|
21
21
|
export * from './testing/index.js';
|
|
22
|
+
export * from './tuple/index.js';
|
|
22
23
|
export * from './utils/index.js';
|
|
23
24
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrF,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGlE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,cAAc,qBAAqB,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACrF,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGlE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,cAAc,qBAAqB,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,mBAAmB,iBAAiB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAC1D,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
|
package/esm/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export * from './object/index.js';
|
|
|
15
15
|
export * from './predicates/index.js';
|
|
16
16
|
export * from './promise/index.js';
|
|
17
17
|
export * from './testing/index.js';
|
|
18
|
+
export * from './tuple/index.js';
|
|
18
19
|
export * from './utils/index.js';
|
|
19
20
|
// export { types, types as T }
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAO7D,cAAc,qBAAqB,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAO7D,cAAc,qBAAqB,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AACvD,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AAErC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAC1D,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,+BAA+B"}
|
package/esm/math/Add.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { PadLeft } from '../array_plus/index.js';
|
|
2
2
|
import type { And } from '../predicates/index.js';
|
|
3
|
+
import type { IsPositive, IsWhole } from '../number_plus/number.js';
|
|
3
4
|
import type { Digit, DigitArray } from './Digit.js';
|
|
4
|
-
import type { IsPositive } from './IsPositive.js';
|
|
5
|
-
import type { IsWhole } from './IsWhole.js';
|
|
6
5
|
import type { Max } from './Max.js';
|
|
7
6
|
/**
|
|
8
7
|
* Add two number literals.
|
package/esm/math/Add.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Add.d.ts","sourceRoot":"","sources":["../../ts/math/Add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"Add.d.ts","sourceRoot":"","sources":["../../ts/math/Add.ts"],"names":[],"mappings":"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"}
|
package/esm/math/Digit.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Tail } from '../array_plus/index.js';
|
|
2
|
+
import type { IsPositive, IsWhole } from '../number_plus/number.js';
|
|
2
3
|
import type { And } from '../predicates/index.js';
|
|
3
|
-
import type { IsPositive } from './IsPositive.js';
|
|
4
|
-
import type { IsWhole } from './IsWhole.js';
|
|
5
4
|
export declare namespace Digit {
|
|
6
5
|
type ToTuple<T = 1> = {
|
|
7
6
|
[k in number]: any[];
|