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.
Files changed (95) hide show
  1. package/README.md +14 -8
  2. package/cjs/array_plus/array_number.d.ts +4 -0
  3. package/cjs/array_plus/array_number.d.ts.map +1 -0
  4. package/cjs/array_plus/array_number.js +3 -0
  5. package/cjs/array_plus/array_number.js.map +1 -0
  6. package/cjs/array_plus/create_tuple.d.ts +2 -1
  7. package/cjs/array_plus/create_tuple.d.ts.map +1 -1
  8. package/cjs/index.d.ts +2 -1
  9. package/cjs/index.d.ts.map +1 -1
  10. package/cjs/index.js +1 -0
  11. package/cjs/index.js.map +1 -1
  12. package/cjs/math/Add.d.ts +1 -2
  13. package/cjs/math/Add.d.ts.map +1 -1
  14. package/cjs/math/Digit.d.ts +1 -2
  15. package/cjs/math/Digit.d.ts.map +1 -1
  16. package/cjs/math/GreaterThan.d.ts +1 -2
  17. package/cjs/math/GreaterThan.d.ts.map +1 -1
  18. package/cjs/math/Subtract.d.ts +1 -2
  19. package/cjs/math/Subtract.d.ts.map +1 -1
  20. package/cjs/math/index.d.ts +0 -2
  21. package/cjs/math/index.d.ts.map +1 -1
  22. package/cjs/number_plus/number.d.ts +67 -3
  23. package/cjs/number_plus/number.d.ts.map +1 -1
  24. package/cjs/predicates/Equal.d.ts +21 -2
  25. package/cjs/predicates/Equal.d.ts.map +1 -1
  26. package/cjs/tuple/index.d.ts +2 -0
  27. package/cjs/tuple/index.d.ts.map +1 -0
  28. package/cjs/{math/IsWhole.js → tuple/index.js} +1 -1
  29. package/cjs/tuple/index.js.map +1 -0
  30. package/cjs/tuple/tuple.d.ts +16 -0
  31. package/cjs/tuple/tuple.d.ts.map +1 -0
  32. package/cjs/{math/IsPositive.js → tuple/tuple.js} +1 -1
  33. package/cjs/tuple/tuple.js.map +1 -0
  34. package/esm/array_plus/array_number.d.ts +4 -0
  35. package/esm/array_plus/array_number.d.ts.map +1 -0
  36. package/esm/array_plus/array_number.js +2 -0
  37. package/esm/array_plus/array_number.js.map +1 -0
  38. package/esm/array_plus/create_tuple.d.ts +2 -1
  39. package/esm/array_plus/create_tuple.d.ts.map +1 -1
  40. package/esm/index.d.ts +2 -1
  41. package/esm/index.d.ts.map +1 -1
  42. package/esm/index.js +1 -0
  43. package/esm/index.js.map +1 -1
  44. package/esm/math/Add.d.ts +1 -2
  45. package/esm/math/Add.d.ts.map +1 -1
  46. package/esm/math/Digit.d.ts +1 -2
  47. package/esm/math/Digit.d.ts.map +1 -1
  48. package/esm/math/GreaterThan.d.ts +1 -2
  49. package/esm/math/GreaterThan.d.ts.map +1 -1
  50. package/esm/math/Subtract.d.ts +1 -2
  51. package/esm/math/Subtract.d.ts.map +1 -1
  52. package/esm/math/index.d.ts +0 -2
  53. package/esm/math/index.d.ts.map +1 -1
  54. package/esm/number_plus/number.d.ts +67 -3
  55. package/esm/number_plus/number.d.ts.map +1 -1
  56. package/esm/predicates/Equal.d.ts +21 -2
  57. package/esm/predicates/Equal.d.ts.map +1 -1
  58. package/esm/tuple/index.d.ts +2 -0
  59. package/esm/tuple/index.d.ts.map +1 -0
  60. package/esm/tuple/index.js +2 -0
  61. package/esm/tuple/index.js.map +1 -0
  62. package/esm/tuple/tuple.d.ts +16 -0
  63. package/esm/tuple/tuple.d.ts.map +1 -0
  64. package/esm/tuple/tuple.js +2 -0
  65. package/esm/tuple/tuple.js.map +1 -0
  66. package/package.json +1 -1
  67. package/ts/array_plus/array_number.ts +12 -0
  68. package/ts/array_plus/create_tuple.ts +2 -1
  69. package/ts/index.ts +2 -13
  70. package/ts/math/Add.ts +1 -3
  71. package/ts/math/Digit.ts +1 -2
  72. package/ts/math/GreaterThan.ts +1 -2
  73. package/ts/math/Subtract.ts +1 -2
  74. package/ts/math/index.ts +0 -2
  75. package/ts/number_plus/number.ts +84 -7
  76. package/ts/predicates/Equal.ts +23 -4
  77. package/ts/tuple/index.ts +1 -0
  78. package/ts/tuple/readme.md +7 -0
  79. package/ts/tuple/tuple.ts +20 -0
  80. package/cjs/math/IsPositive.d.ts +0 -7
  81. package/cjs/math/IsPositive.d.ts.map +0 -1
  82. package/cjs/math/IsPositive.js.map +0 -1
  83. package/cjs/math/IsWhole.d.ts +0 -7
  84. package/cjs/math/IsWhole.d.ts.map +0 -1
  85. package/cjs/math/IsWhole.js.map +0 -1
  86. package/esm/math/IsPositive.d.ts +0 -7
  87. package/esm/math/IsPositive.d.ts.map +0 -1
  88. package/esm/math/IsPositive.js +0 -2
  89. package/esm/math/IsPositive.js.map +0 -1
  90. package/esm/math/IsWhole.d.ts +0 -7
  91. package/esm/math/IsWhole.d.ts.map +0 -1
  92. package/esm/math/IsWhole.js +0 -2
  93. package/esm/math/IsWhole.js.map +0 -1
  94. package/ts/math/IsPositive.ts +0 -10
  95. package/ts/math/IsWhole.ts +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"Digit.d.ts","sourceRoot":"","sources":["../../ts/math/Digit.ts"],"names":[],"mappings":"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"}
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,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,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,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"}
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"}
@@ -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,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,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"}
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"}
@@ -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
@@ -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,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"}
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 Integer<N extends Numeric, Then = N, Else = never> = `${N}` extends `${bigint}` ? Then : Else;
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 extends number, Then = T, Else = never> = number extends T ? Then : Else;
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;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAEzG;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,IAAI,GAC7E,IAAI,GACJ,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAC3B,IAAI,GACJ,IAAI,CAAA;AAEP;;;;;;;;;;;;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,SAAS,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,MAAM,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA"}
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 if the two types are equal.
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> = [A, B] extends [B, A] ? And<IsAny<A>, IsAny<B>, Then, Or<IsAny<A>, IsAny<B>, Else, Then>> : Else;
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;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACvE,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,GACjE,IAAI,CAAA;AAEP;;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"}
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,2 @@
1
+ export type * from './tuple.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tuple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../ts/tuple/tuple.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "type-plus",
3
- "version": "6.1.0",
3
+ "version": "6.3.0",
4
4
  "description": "Provides additional types for TypeScript.",
5
5
  "homepage": "https://github.com/unional/type-plus",
6
6
  "bugs": {
@@ -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
@@ -1,4 +1,5 @@
1
- import type { DigitArray, IsPositive, IsWhole } from '../math/index.js'
1
+ import type { DigitArray } from '../math/index.js'
2
+ import type { IsPositive, IsWhole } from '../number_plus/number.js'
2
3
 
3
4
  /**
4
5
  * Creates `Tuple<T>` with `L` number of elements.
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'
@@ -34,5 +22,6 @@ export * from './object/index.js'
34
22
  export * from './predicates/index.js'
35
23
  export * from './promise/index.js'
36
24
  export * from './testing/index.js'
25
+ export * from './tuple/index.js'
37
26
  export * from './utils/index.js'
38
27
  // export { types, types as T }
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
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
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> = {
@@ -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<
@@ -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'
@@ -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 Integer<N extends Numeric, Then = N, Else = never> = `${N}` extends `${bigint}` ? Then : Else
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> = N extends Zero
42
- ? Else
43
- : `${N}` extends `-${string}`
44
- ? Then
45
- : Else
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 extends number, Then = T, Else = never> = number extends T ? Then : Else
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>
@@ -1,12 +1,31 @@
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
5
  /**
5
- * Checks if the two types are equal.
6
+ * Checks `A` and `B` are equal.
7
+ *
8
+ * ```ts
9
+ * import { type Equal } from 'type-plus'
10
+ *
11
+ * type R = Equal<1, 1> // true
12
+ * type R = Equal<any, any> // true
13
+ * type R = Equal<boolean, boolean> // true
14
+ * type R = Equal<true, true> // true
15
+ * type R = Equal<[1], [1]> // true
16
+ *
17
+ * type R = Equal<boolean, true> // false
18
+ * type R = Equal<any, 1> // false
19
+ * type R = Equal<[any], [1]> // false
20
+ * type R = Equal<{ a: 1 }, { a: 1; b: 2 }> // false
21
+ * ```
6
22
  */
7
- export type Equal<A, B, Then = true, Else = false> = [A, B] extends [B, A]
8
- ? And<IsAny<A>, IsAny<B>, Then, Or<IsAny<A>, IsAny<B>, Else, Then>>
9
- : Else
23
+ export type Equal<A, B, Then = true, Else = false> = And<
24
+ TupleType<A, true, false>,
25
+ TupleType<B, true, false>,
26
+ (<_>() => _ extends A ? 1 : 2) extends <_>() => _ extends B ? 1 : 2 ? Then : Else,
27
+ [A, B] extends [B, A] ? And<IsAny<A>, IsAny<B>, Then, Or<IsAny<A>, IsAny<B>, Else, Then>> : Else
28
+ >
10
29
 
11
30
  /**
12
31
  * Checks if the two types are equal.
@@ -0,0 +1 @@
1
+ export type * from './tuple.js'
@@ -0,0 +1,7 @@
1
+ # Tuple
2
+
3
+ ## TupleType
4
+
5
+ > `TupleType<T, Then = T, Else = never>
6
+
7
+ Check if `T` is a tuple, excluding array.
@@ -0,0 +1,20 @@
1
+ import { IsNever } from '../PrimitiveTypes.js'
2
+
3
+ /**
4
+ * Check if `T` is a tuple.
5
+ *
6
+ * ```ts
7
+ * import type { TupleType } from 'type-plus'
8
+ *
9
+ * type R = TupleType<[]> // true
10
+ * type R = TupleType<[1]> // true
11
+ *
12
+ * type R = TupleType<number[]> // false
13
+ * type R = TupleType<string> // false
14
+ * ```
15
+ */
16
+ export type TupleType<T, Then = T, Else = never> = IsNever<
17
+ T,
18
+ Else,
19
+ T extends infer A extends Array<any> ? (number extends A['length'] ? Else : Then) : Else
20
+ >
@@ -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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IsPositive.js","sourceRoot":"","sources":["../../ts/math/IsPositive.ts"],"names":[],"mappings":""}
@@ -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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IsWhole.js","sourceRoot":"","sources":["../../ts/math/IsWhole.ts"],"names":[],"mappings":""}