type-plus 6.1.0 → 6.2.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 +10 -8
- package/cjs/array_plus/array_number.d.ts +4 -0
- package/cjs/array_plus/array_number.d.ts.map +1 -0
- package/cjs/{math/IsWhole.js → array_plus/array_number.js} +1 -1
- 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 +1 -1
- package/cjs/index.d.ts.map +1 -1
- 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/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 +1 -1
- package/esm/index.d.ts.map +1 -1
- 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/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 +1 -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/cjs/math/IsPositive.d.ts +0 -7
- package/cjs/math/IsPositive.d.ts.map +0 -1
- package/cjs/math/IsPositive.js +0 -3
- 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
|
|
|
@@ -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';
|
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"}
|
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,+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"}
|
|
@@ -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';
|
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"}
|
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,+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[];
|
package/esm/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/esm/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/esm/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/esm/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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Add } from '../math/Add.js'
|
|
2
|
+
import { ArrayType } from './array.js'
|
|
3
|
+
|
|
4
|
+
export type Sum<A extends ArrayType<number[]>> = A['length'] extends 0
|
|
5
|
+
? 0
|
|
6
|
+
: A['length'] extends 1
|
|
7
|
+
? A[0]
|
|
8
|
+
: A['length'] extends 2
|
|
9
|
+
? Add<A[0], A[1]>
|
|
10
|
+
: A extends [infer F extends number, infer S extends number, ...infer Tail extends number[]]
|
|
11
|
+
? Sum<[Add<F, S>, ...Tail]>
|
|
12
|
+
: never
|
package/ts/index.ts
CHANGED
|
@@ -13,19 +13,7 @@ export * from './assertion/index.js'
|
|
|
13
13
|
export * from './class/index.js'
|
|
14
14
|
export * from './function/index.js'
|
|
15
15
|
export * from './functional/index.js'
|
|
16
|
-
export type
|
|
17
|
-
Abs,
|
|
18
|
-
Add,
|
|
19
|
-
Decrement,
|
|
20
|
-
Digit,
|
|
21
|
-
DigitArray,
|
|
22
|
-
GreaterThan,
|
|
23
|
-
Increment,
|
|
24
|
-
IsPositive,
|
|
25
|
-
IsWhole,
|
|
26
|
-
Max,
|
|
27
|
-
Subtract
|
|
28
|
-
} from './math/index.js'
|
|
16
|
+
export type * from './math/index.js'
|
|
29
17
|
export * from './nodejs/index.js'
|
|
30
18
|
export * from './nominal-types/index.js'
|
|
31
19
|
export * from './number_plus/index.js'
|
package/ts/math/Add.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import type { PadLeft } from '../array_plus/index.js'
|
|
2
2
|
import type { And } from '../predicates/index.js'
|
|
3
|
-
|
|
3
|
+
import type { IsPositive, IsWhole } from '../number_plus/number.js'
|
|
4
4
|
import type { Digit, DigitArray } from './Digit.js'
|
|
5
|
-
import type { IsPositive } from './IsPositive.js'
|
|
6
|
-
import type { IsWhole } from './IsWhole.js'
|
|
7
5
|
import type { Max } from './Max.js'
|
|
8
6
|
|
|
9
7
|
/**
|
package/ts/math/Digit.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
|
|
|
6
5
|
export namespace Digit {
|
|
7
6
|
export type ToTuple<T = 1> = {
|
package/ts/math/GreaterThan.ts
CHANGED
|
@@ -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
|
|
|
8
7
|
export type GreaterThan<A extends number, B extends number, Fail = never> = And<
|
package/ts/math/Subtract.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { PadLeft, Some, Tail } from '../array_plus/index.js'
|
|
2
2
|
import type { And } from '../predicates/index.js'
|
|
3
3
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4
|
+
import type { IsPositive, IsWhole } from '../number_plus/number.js'
|
|
4
5
|
import type { Digit, DigitArray } from './Digit.js'
|
|
5
|
-
import type { IsPositive } from './IsPositive.js'
|
|
6
|
-
import type { IsWhole } from './IsWhole.js'
|
|
7
6
|
import type { Max } from './Max.js'
|
|
8
7
|
|
|
9
8
|
export type Subtract<A extends number, B extends number, Fail = never> = And<
|
package/ts/math/index.ts
CHANGED
|
@@ -2,7 +2,5 @@ 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'
|
package/ts/number_plus/number.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import type { IsNever } from '../PrimitiveTypes.js'
|
|
2
|
+
import type { IsAny } from '../any_plus/any.js'
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* Either number or bigint.
|
|
3
6
|
*/
|
|
@@ -20,10 +23,44 @@ export type Zero = 0 | 0n
|
|
|
20
23
|
*
|
|
21
24
|
* type R = Integer<0, true, false> // true
|
|
22
25
|
* type R = Integer<1.1, true, false> // false
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export type Integer<N extends Numeric, Then = N, Else = never> = IsNever<
|
|
29
|
+
N,
|
|
30
|
+
Else,
|
|
31
|
+
`${N}` extends `${bigint}` ? Then : Else
|
|
32
|
+
>
|
|
33
|
+
/**
|
|
34
|
+
* Check if the value is an integer.
|
|
35
|
+
*
|
|
36
|
+
* ```
|
|
37
|
+
* import type { IsInteger } from 'type-plus'
|
|
38
|
+
*
|
|
39
|
+
* type R = IsInteger<0> // 0
|
|
40
|
+
* type R = IsInteger<1.1> // never
|
|
41
|
+
* type R = IsInteger<number> // never as it contains non-integer
|
|
42
|
+
*
|
|
43
|
+
* type R = IsInteger<0, true, false> // true
|
|
44
|
+
* type R = IsInteger<1.1, true, false> // false
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export type IsInteger<N extends Numeric, Then = true, Else = false> = Integer<N, Then, Else>
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Check if the value is an integer.
|
|
51
|
+
*
|
|
52
|
+
* ```
|
|
53
|
+
* import type { IsWhole } from 'type-plus'
|
|
54
|
+
*
|
|
55
|
+
* type R = IsWhole<0> // 0
|
|
56
|
+
* type R = IsWhole<1.1> // never
|
|
57
|
+
* type R = IsWhole<number> // never as it contains non-integer
|
|
23
58
|
*
|
|
59
|
+
* type R = IsWhole<0, true, false> // true
|
|
60
|
+
* type R = IsWhole<1.1, true, false> // false
|
|
24
61
|
* ```
|
|
25
62
|
*/
|
|
26
|
-
export type
|
|
63
|
+
export type IsWhole<N extends Numeric, Then = true, Else = false> = Integer<N, Then, Else>
|
|
27
64
|
|
|
28
65
|
/**
|
|
29
66
|
* Check if the value is a negative number.
|
|
@@ -38,11 +75,11 @@ export type Integer<N extends Numeric, Then = N, Else = never> = `${N}` extends
|
|
|
38
75
|
* type R = Negative<1, true, false> // false
|
|
39
76
|
* ```
|
|
40
77
|
*/
|
|
41
|
-
export type Negative<N extends Numeric, Then = N, Else = never> =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
? Then
|
|
45
|
-
|
|
78
|
+
export type Negative<N extends Numeric, Then = N, Else = never> = IsNever<
|
|
79
|
+
N,
|
|
80
|
+
Else,
|
|
81
|
+
N extends Zero ? Else : `${N}` extends `-${string}` ? Then : Else
|
|
82
|
+
>
|
|
46
83
|
|
|
47
84
|
/**
|
|
48
85
|
* Check if the value it not a negative number.
|
|
@@ -69,4 +106,44 @@ export type NonNegative<N extends Numeric, Then = N, Else = never> = Negative<N,
|
|
|
69
106
|
* type R = NumberType<1> // false
|
|
70
107
|
* ```
|
|
71
108
|
*/
|
|
72
|
-
export type NumberType<T
|
|
109
|
+
export type NumberType<T, Then = T, Else = never> = IsAny<
|
|
110
|
+
T,
|
|
111
|
+
Else,
|
|
112
|
+
[number, T] extends [T, number] ? Then : Else
|
|
113
|
+
>
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Check if the value is a positive number.
|
|
117
|
+
*
|
|
118
|
+
* ```
|
|
119
|
+
* import type { Positive } from 'type-plus'
|
|
120
|
+
*
|
|
121
|
+
* type R = Positive<1> // 1
|
|
122
|
+
* type R = Positive<0> // never
|
|
123
|
+
* type R = Positive<-1> // never
|
|
124
|
+
*
|
|
125
|
+
* type R = Positive<1, true, false> // true
|
|
126
|
+
* type R = Positive<-1, true, false> // false
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export type Positive<N extends Numeric, Then = N, Else = never> = IsNever<
|
|
130
|
+
N,
|
|
131
|
+
Else,
|
|
132
|
+
number extends N ? Else : N extends Zero ? Then : `${N}` extends `-${string}` ? Else : Then
|
|
133
|
+
>
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Is the value `N` a positive number.
|
|
137
|
+
*
|
|
138
|
+
* ```
|
|
139
|
+
* import type { IsPositive } from 'type-plus'
|
|
140
|
+
*
|
|
141
|
+
* type R = IsPositive<1> // true
|
|
142
|
+
* type R = IsPositive<0> // false
|
|
143
|
+
* type R = IsPositive<-1> // false
|
|
144
|
+
*
|
|
145
|
+
* type R = IsPositive<1, 'good', 'bad'> // 'good'
|
|
146
|
+
* type R = IsPositive<-1, 'good', 'bad> // 'bad'
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
export type IsPositive<N extends Numeric, Then = true, Else = false> = Positive<N, Then, Else>
|
package/cjs/math/IsPositive.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Check if type of positive number literal
|
|
3
|
-
* `number` type is false as it can be negative.
|
|
4
|
-
* @see https://itnext.io/implementing-arithmetic-within-typescripts-type-system-a1ef140a6f6f
|
|
5
|
-
*/
|
|
6
|
-
export type IsPositive<N extends number, Then = true, Else = false> = number extends N ? Else : `${N}` extends `-${number}` ? Else : Then;
|
|
7
|
-
//# sourceMappingURL=IsPositive.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IsPositive.d.ts","sourceRoot":"","sources":["../../ts/math/IsPositive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,MAAM,SAAS,CAAC,GACnF,IAAI,GACJ,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAC3B,IAAI,GACJ,IAAI,CAAA"}
|
package/cjs/math/IsPositive.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IsPositive.js","sourceRoot":"","sources":["../../ts/math/IsPositive.ts"],"names":[],"mappings":""}
|
package/cjs/math/IsWhole.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Check if type is whole number literal.
|
|
3
|
-
* `number` type is false as it can be fractional.
|
|
4
|
-
* @see https://itnext.io/implementing-arithmetic-within-typescripts-type-system-a1ef140a6f6f
|
|
5
|
-
*/
|
|
6
|
-
export type IsWhole<N extends number, Then = true, Else = false> = number extends N ? Else : `${N}` extends `${number}.${number}` ? Else : Then;
|
|
7
|
-
//# sourceMappingURL=IsWhole.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IsWhole.d.ts","sourceRoot":"","sources":["../../ts/math/IsWhole.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,MAAM,SAAS,CAAC,GAChF,IAAI,GACJ,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,GACpC,IAAI,GACJ,IAAI,CAAA"}
|
package/cjs/math/IsWhole.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IsWhole.js","sourceRoot":"","sources":["../../ts/math/IsWhole.ts"],"names":[],"mappings":""}
|
package/esm/math/IsPositive.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Check if type of positive number literal
|
|
3
|
-
* `number` type is false as it can be negative.
|
|
4
|
-
* @see https://itnext.io/implementing-arithmetic-within-typescripts-type-system-a1ef140a6f6f
|
|
5
|
-
*/
|
|
6
|
-
export type IsPositive<N extends number, Then = true, Else = false> = number extends N ? Else : `${N}` extends `-${number}` ? Else : Then;
|
|
7
|
-
//# sourceMappingURL=IsPositive.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IsPositive.d.ts","sourceRoot":"","sources":["../../ts/math/IsPositive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,MAAM,SAAS,CAAC,GACnF,IAAI,GACJ,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAC3B,IAAI,GACJ,IAAI,CAAA"}
|
package/esm/math/IsPositive.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IsPositive.js","sourceRoot":"","sources":["../../ts/math/IsPositive.ts"],"names":[],"mappings":""}
|
package/esm/math/IsWhole.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Check if type is whole number literal.
|
|
3
|
-
* `number` type is false as it can be fractional.
|
|
4
|
-
* @see https://itnext.io/implementing-arithmetic-within-typescripts-type-system-a1ef140a6f6f
|
|
5
|
-
*/
|
|
6
|
-
export type IsWhole<N extends number, Then = true, Else = false> = number extends N ? Else : `${N}` extends `${number}.${number}` ? Else : Then;
|
|
7
|
-
//# sourceMappingURL=IsWhole.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IsWhole.d.ts","sourceRoot":"","sources":["../../ts/math/IsWhole.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,MAAM,SAAS,CAAC,GAChF,IAAI,GACJ,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,IAAI,MAAM,EAAE,GACpC,IAAI,GACJ,IAAI,CAAA"}
|
package/esm/math/IsWhole.js
DELETED
package/esm/math/IsWhole.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IsWhole.js","sourceRoot":"","sources":["../../ts/math/IsWhole.ts"],"names":[],"mappings":""}
|
package/ts/math/IsPositive.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Check if type of positive number literal
|
|
3
|
-
* `number` type is false as it can be negative.
|
|
4
|
-
* @see https://itnext.io/implementing-arithmetic-within-typescripts-type-system-a1ef140a6f6f
|
|
5
|
-
*/
|
|
6
|
-
export type IsPositive<N extends number, Then = true, Else = false> = number extends N
|
|
7
|
-
? Else
|
|
8
|
-
: `${N}` extends `-${number}`
|
|
9
|
-
? Else
|
|
10
|
-
: Then
|
package/ts/math/IsWhole.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Check if type is whole number literal.
|
|
3
|
-
* `number` type is false as it can be fractional.
|
|
4
|
-
* @see https://itnext.io/implementing-arithmetic-within-typescripts-type-system-a1ef140a6f6f
|
|
5
|
-
*/
|
|
6
|
-
export type IsWhole<N extends number, Then = true, Else = false> = number extends N
|
|
7
|
-
? Else
|
|
8
|
-
: `${N}` extends `${number}.${number}`
|
|
9
|
-
? Else
|
|
10
|
-
: Then
|