type-plus 6.4.0 → 6.6.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 (239) hide show
  1. package/README.md +27 -15
  2. package/cjs/any/any_or_never.d.ts +0 -2
  3. package/cjs/any/any_or_never.d.ts.map +1 -1
  4. package/cjs/any/any_type.d.ts +2 -6
  5. package/cjs/any/any_type.d.ts.map +1 -1
  6. package/cjs/array/array.d.ts +0 -4
  7. package/cjs/array/array.d.ts.map +1 -1
  8. package/cjs/array/array_index.d.ts +7 -10
  9. package/cjs/array/array_index.d.ts.map +1 -1
  10. package/cjs/array/array_type.d.ts +0 -8
  11. package/cjs/array/array_type.d.ts.map +1 -1
  12. package/cjs/bigint/bigint_type.d.ts +4 -12
  13. package/cjs/bigint/bigint_type.d.ts.map +1 -1
  14. package/cjs/bigint/strict_bigint_type.d.ts +4 -12
  15. package/cjs/bigint/strict_bigint_type.d.ts.map +1 -1
  16. package/cjs/boolean/boolean_type.d.ts +0 -8
  17. package/cjs/boolean/boolean_type.d.ts.map +1 -1
  18. package/cjs/boolean/false_type.d.ts +0 -8
  19. package/cjs/boolean/false_type.d.ts.map +1 -1
  20. package/cjs/boolean/strict_boolean_type.d.ts +0 -8
  21. package/cjs/boolean/strict_boolean_type.d.ts.map +1 -1
  22. package/cjs/boolean/true_type.d.ts +0 -8
  23. package/cjs/boolean/true_type.d.ts.map +1 -1
  24. package/cjs/equal/equal.d.ts +4 -5
  25. package/cjs/equal/equal.d.ts.map +1 -1
  26. package/cjs/function/function_type.d.ts +0 -8
  27. package/cjs/function/function_type.d.ts.map +1 -1
  28. package/cjs/function/strict_function_type.d.ts +0 -8
  29. package/cjs/function/strict_function_type.d.ts.map +1 -1
  30. package/cjs/index.d.ts +3 -0
  31. package/cjs/index.d.ts.map +1 -1
  32. package/cjs/index.js.map +1 -1
  33. package/cjs/never/never_type.d.ts +2 -10
  34. package/cjs/never/never_type.d.ts.map +1 -1
  35. package/cjs/nominal/brand.d.ts +7 -5
  36. package/cjs/nominal/brand.d.ts.map +1 -1
  37. package/cjs/nominal/brand.js +4 -4
  38. package/cjs/nominal/brand.js.map +1 -1
  39. package/cjs/nominal/{types.d.ts → constants.d.ts} +1 -1
  40. package/cjs/nominal/constants.d.ts.map +1 -0
  41. package/cjs/nominal/{types.js → constants.js} +1 -1
  42. package/cjs/nominal/constants.js.map +1 -0
  43. package/cjs/nominal/flavor.d.ts +14 -3
  44. package/cjs/nominal/flavor.d.ts.map +1 -1
  45. package/cjs/nominal/flavor.js +2 -2
  46. package/cjs/nominal/flavor.js.map +1 -1
  47. package/cjs/nominal/nominal_match.js +2 -2
  48. package/cjs/nominal/nominal_match.js.map +1 -1
  49. package/cjs/null/null_type.d.ts +4 -12
  50. package/cjs/null/null_type.d.ts.map +1 -1
  51. package/cjs/number/integer.d.ts +1 -9
  52. package/cjs/number/integer.d.ts.map +1 -1
  53. package/cjs/number/negative.d.ts +0 -8
  54. package/cjs/number/negative.d.ts.map +1 -1
  55. package/cjs/number/number_type.d.ts +0 -8
  56. package/cjs/number/number_type.d.ts.map +1 -1
  57. package/cjs/number/numeric_type.d.ts +0 -8
  58. package/cjs/number/numeric_type.d.ts.map +1 -1
  59. package/cjs/number/positive.d.ts +1 -9
  60. package/cjs/number/positive.d.ts.map +1 -1
  61. package/cjs/number/strict_number_type.d.ts +4 -12
  62. package/cjs/number/strict_number_type.d.ts.map +1 -1
  63. package/cjs/object/object_type.d.ts +1 -9
  64. package/cjs/object/object_type.d.ts.map +1 -1
  65. package/cjs/string/strict_string_type.d.ts +14 -19
  66. package/cjs/string/strict_string_type.d.ts.map +1 -1
  67. package/cjs/string/string.d.ts +24 -0
  68. package/cjs/string/string.d.ts.map +1 -0
  69. package/cjs/string/string.js +3 -0
  70. package/cjs/string/string.js.map +1 -0
  71. package/cjs/string/string_plus.d.ts +27 -0
  72. package/cjs/string/string_plus.d.ts.map +1 -0
  73. package/cjs/string/string_plus.js +3 -0
  74. package/cjs/string/string_plus.js.map +1 -0
  75. package/cjs/string/string_type.d.ts +4 -12
  76. package/cjs/string/string_type.d.ts.map +1 -1
  77. package/cjs/symbol/symbol_type.d.ts +5 -15
  78. package/cjs/symbol/symbol_type.d.ts.map +1 -1
  79. package/cjs/tuple/tuple_type.d.ts +0 -8
  80. package/cjs/tuple/tuple_type.d.ts.map +1 -1
  81. package/cjs/type/failed.d.ts +32 -0
  82. package/cjs/type/failed.d.ts.map +1 -0
  83. package/cjs/type/failed.js +3 -0
  84. package/cjs/type/failed.js.map +1 -0
  85. package/cjs/undefined/undefined_type.d.ts +4 -12
  86. package/cjs/undefined/undefined_type.d.ts.map +1 -1
  87. package/cjs/union/union_to_intersection.d.ts.map +1 -0
  88. package/cjs/union/union_to_intersection.js.map +1 -0
  89. package/cjs/unknown/unknown_type.d.ts +4 -12
  90. package/cjs/unknown/unknown_type.d.ts.map +1 -1
  91. package/cjs/void/void_type.d.ts +0 -8
  92. package/cjs/void/void_type.d.ts.map +1 -1
  93. package/esm/any/any_or_never.d.ts +0 -2
  94. package/esm/any/any_or_never.d.ts.map +1 -1
  95. package/esm/any/any_type.d.ts +2 -6
  96. package/esm/any/any_type.d.ts.map +1 -1
  97. package/esm/array/array.d.ts +0 -4
  98. package/esm/array/array.d.ts.map +1 -1
  99. package/esm/array/array_index.d.ts +7 -10
  100. package/esm/array/array_index.d.ts.map +1 -1
  101. package/esm/array/array_type.d.ts +0 -8
  102. package/esm/array/array_type.d.ts.map +1 -1
  103. package/esm/bigint/bigint_type.d.ts +4 -12
  104. package/esm/bigint/bigint_type.d.ts.map +1 -1
  105. package/esm/bigint/strict_bigint_type.d.ts +4 -12
  106. package/esm/bigint/strict_bigint_type.d.ts.map +1 -1
  107. package/esm/boolean/boolean_type.d.ts +0 -8
  108. package/esm/boolean/boolean_type.d.ts.map +1 -1
  109. package/esm/boolean/false_type.d.ts +0 -8
  110. package/esm/boolean/false_type.d.ts.map +1 -1
  111. package/esm/boolean/strict_boolean_type.d.ts +0 -8
  112. package/esm/boolean/strict_boolean_type.d.ts.map +1 -1
  113. package/esm/boolean/true_type.d.ts +0 -8
  114. package/esm/boolean/true_type.d.ts.map +1 -1
  115. package/esm/equal/equal.d.ts +4 -5
  116. package/esm/equal/equal.d.ts.map +1 -1
  117. package/esm/function/function_type.d.ts +0 -8
  118. package/esm/function/function_type.d.ts.map +1 -1
  119. package/esm/function/strict_function_type.d.ts +0 -8
  120. package/esm/function/strict_function_type.d.ts.map +1 -1
  121. package/esm/index.d.ts +3 -0
  122. package/esm/index.d.ts.map +1 -1
  123. package/esm/index.js.map +1 -1
  124. package/esm/never/never_type.d.ts +2 -10
  125. package/esm/never/never_type.d.ts.map +1 -1
  126. package/esm/nominal/brand.d.ts +7 -5
  127. package/esm/nominal/brand.d.ts.map +1 -1
  128. package/esm/nominal/brand.js +4 -4
  129. package/esm/nominal/brand.js.map +1 -1
  130. package/esm/nominal/{types.d.ts → constants.d.ts} +1 -1
  131. package/esm/nominal/constants.d.ts.map +1 -0
  132. package/esm/nominal/{types.js → constants.js} +1 -1
  133. package/esm/nominal/constants.js.map +1 -0
  134. package/esm/nominal/flavor.d.ts +14 -3
  135. package/esm/nominal/flavor.d.ts.map +1 -1
  136. package/esm/nominal/flavor.js +1 -1
  137. package/esm/nominal/flavor.js.map +1 -1
  138. package/esm/nominal/nominal_match.js +1 -1
  139. package/esm/nominal/nominal_match.js.map +1 -1
  140. package/esm/null/null_type.d.ts +4 -12
  141. package/esm/null/null_type.d.ts.map +1 -1
  142. package/esm/number/integer.d.ts +1 -9
  143. package/esm/number/integer.d.ts.map +1 -1
  144. package/esm/number/negative.d.ts +0 -8
  145. package/esm/number/negative.d.ts.map +1 -1
  146. package/esm/number/number_type.d.ts +0 -8
  147. package/esm/number/number_type.d.ts.map +1 -1
  148. package/esm/number/numeric_type.d.ts +0 -8
  149. package/esm/number/numeric_type.d.ts.map +1 -1
  150. package/esm/number/positive.d.ts +1 -9
  151. package/esm/number/positive.d.ts.map +1 -1
  152. package/esm/number/strict_number_type.d.ts +4 -12
  153. package/esm/number/strict_number_type.d.ts.map +1 -1
  154. package/esm/object/object_type.d.ts +1 -9
  155. package/esm/object/object_type.d.ts.map +1 -1
  156. package/esm/string/strict_string_type.d.ts +14 -19
  157. package/esm/string/strict_string_type.d.ts.map +1 -1
  158. package/esm/string/string.d.ts +24 -0
  159. package/esm/string/string.d.ts.map +1 -0
  160. package/esm/string/string.js +2 -0
  161. package/esm/string/string.js.map +1 -0
  162. package/esm/string/string_plus.d.ts +27 -0
  163. package/esm/string/string_plus.d.ts.map +1 -0
  164. package/esm/string/string_plus.js +2 -0
  165. package/esm/string/string_plus.js.map +1 -0
  166. package/esm/string/string_type.d.ts +4 -12
  167. package/esm/string/string_type.d.ts.map +1 -1
  168. package/esm/symbol/symbol_type.d.ts +5 -15
  169. package/esm/symbol/symbol_type.d.ts.map +1 -1
  170. package/esm/tuple/tuple_type.d.ts +0 -8
  171. package/esm/tuple/tuple_type.d.ts.map +1 -1
  172. package/esm/type/failed.d.ts +32 -0
  173. package/esm/type/failed.d.ts.map +1 -0
  174. package/esm/type/failed.js +2 -0
  175. package/esm/type/failed.js.map +1 -0
  176. package/esm/undefined/undefined_type.d.ts +4 -12
  177. package/esm/undefined/undefined_type.d.ts.map +1 -1
  178. package/esm/union/union_to_intersection.d.ts.map +1 -0
  179. package/esm/union/union_to_intersection.js.map +1 -0
  180. package/esm/unknown/unknown_type.d.ts +4 -12
  181. package/esm/unknown/unknown_type.d.ts.map +1 -1
  182. package/esm/void/void_type.d.ts +0 -8
  183. package/esm/void/void_type.d.ts.map +1 -1
  184. package/package.json +6 -6
  185. package/ts/any/any_or_never.ts +0 -2
  186. package/ts/any/any_type.ts +2 -6
  187. package/ts/array/array.ts +0 -4
  188. package/ts/array/array_index.ts +7 -10
  189. package/ts/array/array_type.ts +0 -8
  190. package/ts/assertion/readme.md +1 -2
  191. package/ts/bigint/bigint_type.ts +4 -12
  192. package/ts/bigint/strict_bigint_type.ts +4 -12
  193. package/ts/boolean/boolean_type.ts +0 -8
  194. package/ts/boolean/false_type.ts +0 -8
  195. package/ts/boolean/strict_boolean_type.ts +0 -8
  196. package/ts/boolean/true_type.ts +0 -8
  197. package/ts/equal/equal.ts +9 -5
  198. package/ts/equal/readme.md +3 -0
  199. package/ts/function/function_type.ts +0 -8
  200. package/ts/function/strict_function_type.ts +0 -8
  201. package/ts/index.ts +4 -0
  202. package/ts/never/never_type.ts +2 -10
  203. package/ts/nominal/brand.ts +15 -7
  204. package/ts/nominal/flavor.ts +17 -2
  205. package/ts/nominal/nominal_match.ts +1 -1
  206. package/ts/null/null_type.ts +4 -12
  207. package/ts/number/integer.ts +1 -9
  208. package/ts/number/negative.ts +0 -8
  209. package/ts/number/number_type.ts +0 -8
  210. package/ts/number/numeric_type.ts +0 -8
  211. package/ts/number/positive.ts +1 -9
  212. package/ts/number/strict_number_type.ts +4 -12
  213. package/ts/object/object_type.ts +1 -9
  214. package/ts/string/readme.md +5 -0
  215. package/ts/string/strict_string_type.ts +15 -19
  216. package/ts/string/string.ts +36 -0
  217. package/ts/string/string_plus.ts +33 -0
  218. package/ts/string/string_type.ts +4 -12
  219. package/ts/symbol/symbol_type.ts +5 -17
  220. package/ts/tuple/tuple_type.ts +0 -8
  221. package/ts/type/failed.ts +32 -0
  222. package/ts/type/readme.md +22 -0
  223. package/ts/undefined/undefined_type.ts +4 -12
  224. package/ts/unknown/unknown_type.ts +4 -12
  225. package/ts/void/void_type.ts +0 -8
  226. package/cjs/nominal/types.d.ts.map +0 -1
  227. package/cjs/nominal/types.js.map +0 -1
  228. package/cjs/union_to_intersection.d.ts.map +0 -1
  229. package/cjs/union_to_intersection.js.map +0 -1
  230. package/esm/nominal/types.d.ts.map +0 -1
  231. package/esm/nominal/types.js.map +0 -1
  232. package/esm/union_to_intersection.d.ts.map +0 -1
  233. package/esm/union_to_intersection.js.map +0 -1
  234. /package/cjs/{union_to_intersection.d.ts → union/union_to_intersection.d.ts} +0 -0
  235. /package/cjs/{union_to_intersection.js → union/union_to_intersection.js} +0 -0
  236. /package/esm/{union_to_intersection.d.ts → union/union_to_intersection.d.ts} +0 -0
  237. /package/esm/{union_to_intersection.js → union/union_to_intersection.js} +0 -0
  238. /package/ts/nominal/{types.ts → constants.ts} +0 -0
  239. /package/ts/{union_to_intersection.ts → union/union_to_intersection.ts} +0 -0
@@ -1,14 +1,25 @@
1
1
  import type { Widen } from '../utils/index.js';
2
- import { typeSym } from './types.js';
2
+ import { typeSym, valueSym } from './constants.js';
3
3
  /**
4
4
  * Create a "flavored" version of a type.
5
5
  * TypeScript will disallow mixing flavors,
6
6
  * but will allow unflavored values of that type to be passed in where a flavored version is expected.
7
7
  * This is a less restrictive form of branding.
8
8
  */
9
- export type Flavor<F extends string, T> = T & {
9
+ export type Flavor<F extends string, T> = [T] extends [null] | [undefined] | [symbol] | [void] ? FlavoredUnit<F, T> : Flavored<F> & T;
10
+ /**
11
+ * A flavored type of `F`
12
+ */
13
+ export interface Flavored<F extends string> {
14
+ [typeSym]?: F;
15
+ }
16
+ /**
17
+ * A special flavored type for special types.
18
+ */
19
+ export interface FlavoredUnit<F extends string, T> {
10
20
  [typeSym]?: F;
11
- };
21
+ [valueSym]: T;
22
+ }
12
23
  /**
13
24
  * Creates a brand creator with the specified type.
14
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"flavor.d.ts","sourceRoot":"","sources":["../../ts/nominal/flavor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG;IAC7C,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CACb,CAAA;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACzF;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"flavor.d.ts","sourceRoot":"","sources":["../../ts/nominal/flavor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAElD;;;;;GAKG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAC3F,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAElB;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM;IACzC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IAChD,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IACb,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;CACb;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACzF;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  // By Drew Colthorp, <https://spin.atomicobject.com/2018/01/15/typescript-flexible-nominal-typing/#comment-604580>
2
2
  // <https://gist.github.com/dcolthorp/aa21cf87d847ae9942106435bf47565d>
3
3
  import { isType } from '../predicates/isType.js';
4
- import { typeSym } from './types.js';
4
+ import { typeSym, valueSym } from './constants.js';
5
5
  export function flavor(type, subject) {
6
6
  if (subject === undefined)
7
7
  return function (subject) {
@@ -1 +1 @@
1
- {"version":3,"file":"flavor.js","sourceRoot":"","sources":["../../ts/nominal/flavor.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,uEAAuE;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAoBpC,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,OAAiB;IACrD,IAAI,OAAO,KAAK,SAAS;QACxB,OAAO,UAAa,OAAU;YAC7B,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC7B,CAAC,CAAA;IAEF,IAAI,MAAM,CAAwB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;QACrF,2EAA2E;QAC3E,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;KACvB;IAED,OAAO,OAAO,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"flavor.js","sourceRoot":"","sources":["../../ts/nominal/flavor.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,uEAAuE;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAmClD,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,OAAiB;IACrD,IAAI,OAAO,KAAK,SAAS;QACxB,OAAO,UAAa,OAAU;YAC7B,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC7B,CAAC,CAAA;IAEF,IAAI,MAAM,CAAwB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;QACrF,2EAA2E;QAC3E,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;KACvB;IAED,OAAO,OAAO,CAAA;AACf,CAAC"}
@@ -1,4 +1,4 @@
1
- import { typeSym } from './types.js';
1
+ import { typeSym } from './constants.js';
2
2
  export function nominalMatch(a, b) {
3
3
  if (typeof a === 'object' && a !== null && typeof b === 'object' && b !== null)
4
4
  return a[typeSym] === b[typeSym];
@@ -1 +1 @@
1
- {"version":3,"file":"nominal_match.js","sourceRoot":"","sources":["../../ts/nominal/nominal_match.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAUpC,MAAM,UAAU,YAAY,CAC3B,CAAyC,EACzC,CAAyC;IAEzC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAC7E,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;SAC5B;QACJ,OAAO,IAAI,CAAA;KACX;AACF,CAAC"}
1
+ {"version":3,"file":"nominal_match.js","sourceRoot":"","sources":["../../ts/nominal/nominal_match.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAUxC,MAAM,UAAU,YAAY,CAC3B,CAAyC,EACzC,CAAyC;IAEzC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAC7E,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;SAC5B;QACJ,OAAO,IAAI,CAAA;KACX;AACF,CAAC"}
@@ -2,9 +2,7 @@ import type { IsAny } from '../any/any_type.js';
2
2
  /**
3
3
  * Check if the type `T` is exactly `null`.
4
4
  *
5
- * ```
6
- * import type { NullType } from 'type-plus'
7
- *
5
+ * ```ts
8
6
  * type R = NullType<null> // null
9
7
  *
10
8
  * type R = NullType<never> // never
@@ -16,9 +14,7 @@ export type NullType<T, Then = T, Else = never> = IsAny<T, Else, [T, null] exten
16
14
  /**
17
15
  * Is the type `T` exactly `null`.
18
16
  *
19
- * ```
20
- * import type { IsNull } from 'type-plus'
21
- *
17
+ * ```ts
22
18
  * type R = IsNull<null> // true
23
19
  *
24
20
  * type R = IsNull<never> // false
@@ -30,9 +26,7 @@ export type IsNull<T, Then = true, Else = false> = NullType<T, Then, Else>;
30
26
  /**
31
27
  * Check if the type `T` is not exactly `null`.
32
28
  *
33
- * ```
34
- * import type { NotNullType } from 'type-plus'
35
- *
29
+ * ```ts
36
30
  * type R = NotNullType<null> // never
37
31
  *
38
32
  * type R = NotNullType<never> // never
@@ -44,9 +38,7 @@ export type NotNullType<T, Then = T, Else = never> = NullType<T, Else, Then>;
44
38
  /**
45
39
  * Is the type `T` not exactly `null`.
46
40
  *
47
- * ```
48
- * import type { IsNotNull } from 'type-plus'
49
- *
41
+ * ```ts
50
42
  * type R = IsNotNull<null> // false
51
43
  *
52
44
  * type R = IsNotNull<never> // true
@@ -1 +1 @@
1
- {"version":3,"file":"null_type.d.ts","sourceRoot":"","sources":["../../ts/null/null_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAE3G;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"null_type.d.ts","sourceRoot":"","sources":["../../ts/null/null_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAE3G;;;;;;;;;;GAUG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -4,8 +4,6 @@ import type { Numeric } from './numeric_type.js';
4
4
  * Check if T is an integer, including bigint.
5
5
  *
6
6
  * ```ts
7
- * import type { Integer } from 'type-plus'
8
- *
9
7
  * type R = Integer<0> // 0
10
8
  * type R = Integer<1n> // 1n
11
9
  *
@@ -20,8 +18,6 @@ export type Integer<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [
20
18
  * Is T an integer, including bigint.
21
19
  *
22
20
  * ```ts
23
- * import type { IsInteger } from 'type-plus'
24
- *
25
21
  * type R = IsInteger<0> // true
26
22
  * type R = IsInteger<1n> // true
27
23
  *
@@ -34,8 +30,6 @@ export type IsInteger<T, Then = true, Else = false> = Integer<T, Then, Else>;
34
30
  * Check if T is not an integer, including bigint.
35
31
  *
36
32
  * ```ts
37
- * import type { NotInteger } from 'type-plus'
38
- *
39
33
  * type R = NotInteger<1.1> // 1.1
40
34
  * type R = NotInteger<number> // number as it contains non-integer
41
35
  *
@@ -61,9 +55,7 @@ export type IsNotInteger<T, Then = true, Else = false> = NotInteger<T, Else, The
61
55
  /**
62
56
  * Check if T is an integer, including bigint.
63
57
  *
64
- * ```
65
- * import type { IsWhole } from 'type-plus'
66
- *
58
+ * ```ts
67
59
  * type R = IsWhole<0> // 0
68
60
  * type R = IsWhole<1n> // 1n
69
61
  *
@@ -1 +1 @@
1
- {"version":3,"file":"integer.d.ts","sourceRoot":"","sources":["../../ts/number/integer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAC5D,CAAC,EACD,IAAI,EACJ;IAAC,CAAC;CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CACzE,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAElF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"integer.d.ts","sourceRoot":"","sources":["../../ts/number/integer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAC5D,CAAC,EACD,IAAI,EACJ;IAAC,CAAC;CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CACzE,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAElF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -5,8 +5,6 @@ import type { Zero } from './numeric_type.js';
5
5
  * Check if 'T' is a negative numeric type.
6
6
  *
7
7
  * ```ts
8
- * import type { Negative } from 'type-plus'
9
- *
10
8
  * type R = Negative<-1> // -1
11
9
  * type R = Negative<-1n> // -1n
12
10
  *
@@ -25,8 +23,6 @@ export type Negative<T, Then = T, Else = never> = IsAny<T, Then | Else, IsNever<
25
23
  * Is 'T' a negative numeric type.
26
24
  *
27
25
  * ```ts
28
- * import type { IsNegative } from 'type-plus'
29
- *
30
26
  * type R = IsNegative<-1> // true
31
27
  * type R = IsNegative<-1n> // true
32
28
  *
@@ -42,8 +38,6 @@ export type IsNegative<T, Then = true, Else = false> = Negative<T, Then, Else>;
42
38
  * Check if 'T' is not a negative numeric type.
43
39
  *
44
40
  * ```ts
45
- * import type { NotNegative } from 'type-plus'
46
- *
47
41
  * type R = NotNegative<-1> // never
48
42
  * type R = NotNegative<-1n> // never
49
43
  *
@@ -62,8 +56,6 @@ export type NotNegative<T, Then = T, Else = never> = IsAny<T, Then | Else, IsNev
62
56
  * Is 'T' not a negative numeric type.
63
57
  *
64
58
  * ```ts
65
- * import type { IsNotNegative } from 'type-plus'
66
- *
67
59
  * type R = IsNotNegative<-1> // false
68
60
  * type R = IsNotNegative<-1n> // false
69
61
  *
@@ -1 +1 @@
1
- {"version":3,"file":"negative.d.ts","sourceRoot":"","sources":["../../ts/number/negative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CACtD,CAAC,EACD,IAAI,GAAG,IAAI,EACX,OAAO,CACN,CAAC,EACD,IAAI,EACJ;IAAC,MAAM;IAAE,CAAC;CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAC5B,IAAI,GACJ,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAC/B,IAAI,GACJ,CAAC,SAAS,IAAI,GACd,IAAI,GACJ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAC7B,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAC1B,IAAI,GACJ,IAAI,GACL,IAAI,CACP,CACD,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CACzD,CAAC,EACD,IAAI,GAAG,IAAI,EACX,OAAO,CACN,CAAC,EACD,IAAI,EACJ;IAAC,MAAM;IAAE,CAAC;CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAC5B,IAAI,GACJ,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAC/B,IAAI,GACJ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAC7B,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAC1B,IAAI,GACJ,IAAI,GACL,IAAI,CACP,CACD,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"negative.d.ts","sourceRoot":"","sources":["../../ts/number/negative.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAE7C;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CACtD,CAAC,EACD,IAAI,GAAG,IAAI,EACX,OAAO,CACN,CAAC,EACD,IAAI,EACJ;IAAC,MAAM;IAAE,CAAC;CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAC5B,IAAI,GACJ,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAC/B,IAAI,GACJ,CAAC,SAAS,IAAI,GACd,IAAI,GACJ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAC7B,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAC1B,IAAI,GACJ,IAAI,GACL,IAAI,CACP,CACD,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CACzD,CAAC,EACD,IAAI,GAAG,IAAI,EACX,OAAO,CACN,CAAC,EACD,IAAI,EACJ;IAAC,MAAM;IAAE,CAAC;CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAC5B,IAAI,GACJ,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAC/B,IAAI,GACJ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,GAC7B,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAC1B,IAAI,GACJ,IAAI,GACL,IAAI,CACP,CACD,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -3,8 +3,6 @@ import type { IsAnyOrNever } from '../any/any_or_never.js';
3
3
  * Check if the type `T` is `number`.
4
4
  *
5
5
  * ```ts
6
- * import type { NumberType } from 'type-plus'
7
- *
8
6
  * type R = NumberType<number> // true
9
7
  * type R = NumberType<1> // true
10
8
  *
@@ -17,8 +15,6 @@ export type NumberType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [T] ex
17
15
  * Is the type `T` is `number`.
18
16
  *
19
17
  * ```ts
20
- * import type { IsNumber } from 'type-plus'
21
- *
22
18
  * type R = IsNumber<number> // true
23
19
  * type R = IsNumber<1> // true
24
20
  *
@@ -31,8 +27,6 @@ export type IsNumber<T, Then = true, Else = false> = NumberType<T, Then, Else>;
31
27
  * Check if the type `T` is not `number`.
32
28
  *
33
29
  * ```ts
34
- * import type { NotNumberType } from 'type-plus'
35
- *
36
30
  * type R = NotNumberType<number> // false
37
31
  * type R = NotNumberType<1> // false
38
32
  *
@@ -45,8 +39,6 @@ export type NotNumberType<T, Then = T, Else = never> = NumberType<T, Else, Then>
45
39
  * Is the type `T` not `number`.
46
40
  *
47
41
  * ```ts
48
- * import type { IsNotNumber } from 'type-plus'
49
- *
50
42
  * type R = IsNotNumber<number> // false
51
43
  * type R = IsNotNumber<1> // false
52
44
  *
@@ -1 +1 @@
1
- {"version":3,"file":"number_type.d.ts","sourceRoot":"","sources":["../../ts/number/number_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAE7G;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"number_type.d.ts","sourceRoot":"","sources":["../../ts/number/number_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAE7G;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -12,8 +12,6 @@ export type Zero = 0 | 0n;
12
12
  * Meaning it is either a `number` or a `bigint`.
13
13
  *
14
14
  * ```ts
15
- * import type { NumericType } from 'type-plus'
16
- *
17
15
  * type R = NumericType<1> // 1
18
16
  * type R = NumericType<1.1> // 1.1
19
17
  *
@@ -26,8 +24,6 @@ export type NumericType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [T] e
26
24
  * Is `T` numeric.
27
25
  *
28
26
  * ```ts
29
- * import type { IsNumeric } from 'type-plus'
30
- *
31
27
  * type R = IsNumeric<1> // true
32
28
  * type R = IsNumeric<1.1> // true
33
29
  *
@@ -40,8 +36,6 @@ export type IsNumeric<T, Then = true, Else = false> = NumericType<T, Then, Else>
40
36
  * Check if `T` is not numeric.
41
37
  *
42
38
  * ```ts
43
- * import type { NotNumericType } from 'type-plus'
44
- *
45
39
  * type R = NotNumericType<1> // never
46
40
  * type R = NotNumericType<1.1> // never
47
41
  *
@@ -54,8 +48,6 @@ export type NotNumericType<T, Then = T, Else = never> = NumericType<T, Else, The
54
48
  * Is `T` not numeric.
55
49
  *
56
50
  * ```ts
57
- * import type { IsNotNumeric } from 'type-plus'
58
- *
59
51
  * type R = IsNotNumeric<1> // false
60
52
  * type R = IsNotNumeric<1.1> // false
61
53
  *
@@ -1 +1 @@
1
- {"version":3,"file":"numeric_type.d.ts","sourceRoot":"","sources":["../../ts/number/numeric_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;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,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAE/G;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAElF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"numeric_type.d.ts","sourceRoot":"","sources":["../../ts/number/numeric_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAErC;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAA;AAEzB;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAE/G;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAElF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -4,8 +4,6 @@ import { IsNever } from '../index.js';
4
4
  * Check if `T` is a positive numeric type.
5
5
  *
6
6
  * ```ts
7
- * import type { Positive } from 'type-plus'
8
- *
9
7
  * type R = Positive<1> // 1
10
8
  * type R = Positive<0> // 0
11
9
  * type R = Positive<1n> // 1n
@@ -18,15 +16,13 @@ export type Positive<T, Then = T, Else = never> = IsAny<T, Then | Else, IsNever<
18
16
  * Is `T` a positive numeric type.
19
17
  *
20
18
  * ```ts
21
- * import type { IsPositive } from 'type-plus'
22
- *
23
19
  * type R = IsPositive<1> // true
24
20
  * type R = IsPositive<0> // true
25
21
  * type R = IsPositive<1n> // true
26
22
  *
27
23
  * type R = IsPositive<number> // boolean
28
24
  * type R = IsPositive<bigint> // boolean
29
- * type R = IsPosistive<any> // boolean
25
+ * type R = IsPositive<any> // boolean
30
26
  *
31
27
  * type R = IsPositive<-1> // false
32
28
  * ```
@@ -36,8 +32,6 @@ export type IsPositive<T, Then = true, Else = false> = Positive<T, Then, Else>;
36
32
  * Check if `T` is not a positive numeric type.
37
33
  *
38
34
  * ```ts
39
- * import type { NonPositive } from 'type-plus'
40
- *
41
35
  * type R = NonPositive<-1> // -1
42
36
  *
43
37
  * type R = NonPositive<0> // never
@@ -49,8 +43,6 @@ export type NonPositive<T, Then = T, Else = never> = Positive<T, Else, Then>;
49
43
  * Is `T` not a positive numeric type.
50
44
  *
51
45
  * ```ts
52
- * import type { IsNotPositive } from 'type-plus'
53
- *
54
46
  * type R = IsNotPositive<-1> // true
55
47
  *
56
48
  * type R = IsNotPositive<0> // false
@@ -1 +1 @@
1
- {"version":3,"file":"positive.d.ts","sourceRoot":"","sources":["../../ts/number/positive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CACtD,CAAC,EACD,IAAI,GAAG,IAAI,EACX,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAChG,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"positive.d.ts","sourceRoot":"","sources":["../../ts/number/positive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CACtD,CAAC,EACD,IAAI,GAAG,IAAI,EACX,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAChG,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;GASG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5E;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -3,8 +3,6 @@ import type { IsAny } from '../any/any_type.js';
3
3
  * Check if the type `T` is exactly the type `number` and not numeric literals.
4
4
  *
5
5
  * ```ts
6
- * import type { StrictNumberType } from 'type-plus'
7
- *
8
6
  * type R = StrictNumberType<number> // true
9
7
  * type R = StrictNumberType<1> // false
10
8
  *
@@ -20,8 +18,6 @@ export type StrictNumberType<T, Then = T, Else = never> = IsAny<T, Else, [
20
18
  * Is the type `T` exactly the type `number` and not numeric literals.
21
19
  *
22
20
  * ```ts
23
- * import type { IsStrictNumber } from 'type-plus'
24
- *
25
21
  * type R = IsStrictNumber<number> // true
26
22
  * type R = IsStrictNumber<1> // false
27
23
  *
@@ -34,13 +30,11 @@ export type IsStrictNumber<T, Then = true, Else = false> = StrictNumberType<T, T
34
30
  * Check if the type `T` is not the type `number` or numeric literals.
35
31
  *
36
32
  * ```ts
37
- * import type { NotStictNumberType } from 'type-plus'
33
+ * type R = NotStrictNumberType<number> // false
34
+ * type R = NotStrictNumberType<1> // true
38
35
  *
39
- * type R = NotStictNumberType<number> // false
40
- * type R = NotStictNumberType<1> // true
41
- *
42
- * type R = NotStictNumberType<never> // true
43
- * type R = NotStictNumberType<unknown> // true
36
+ * type R = NotStrictNumberType<never> // true
37
+ * type R = NotStrictNumberType<unknown> // true
44
38
  * ```
45
39
  */
46
40
  export type NotStrictNumberType<T, Then = T, Else = never> = StrictNumberType<T, Else, Then>;
@@ -48,8 +42,6 @@ export type NotStrictNumberType<T, Then = T, Else = never> = StrictNumberType<T,
48
42
  * Is the type `T` not the type `number` or numeric literals.
49
43
  *
50
44
  * ```ts
51
- * import type { IsNotStrictNumber } from 'type-plus'
52
- *
53
45
  * type R = IsNotStrictNumber<number> // false
54
46
  * type R = IsNotStrictNumber<1> // true
55
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"strict_number_type.d.ts","sourceRoot":"","sources":["../../ts/number/strict_number_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CAC9D,CAAC,EACD,IAAI,EACJ;IAAC,MAAM;IAAE,CAAC;CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAC7C,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1F;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5F;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"strict_number_type.d.ts","sourceRoot":"","sources":["../../ts/number/strict_number_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CAC9D,CAAC,EACD,IAAI,EACJ;IAAC,MAAM;IAAE,CAAC;CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAC7C,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -1,10 +1,8 @@
1
- import { IsAnyOrNever } from '../any/any_or_never.js';
1
+ import type { IsAnyOrNever } from '../any/any_or_never.js';
2
2
  /**
3
3
  * Check if `T` is an `object`.
4
4
  *
5
5
  * ```ts
6
- * import { type ObjectType } from 'type-plus'
7
- *
8
6
  * type R = ObjectType<{}> // {}
9
7
  * type R = ObjectType<{ a: 1 }> // { a: 1 }
10
8
  * type R = ObjectType<Function> // Function
@@ -19,8 +17,6 @@ export type ObjectType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [T] ex
19
17
  * Note that `Function` is also an `object`.
20
18
  *
21
19
  * ```ts
22
- * import { type IsObject } from 'type-plus'
23
- *
24
20
  * type R = IsObject<{}> // true
25
21
  * type R = IsObject<{ a: 1 }> // true
26
22
  * type R = IsObject<Function> // true
@@ -33,8 +29,6 @@ export type IsObject<T, Then = true, Else = false> = ObjectType<T, Then, Else>;
33
29
  * Check if `T` is not an `object`.
34
30
  *
35
31
  * ```ts
36
- * import { type NotObjectType } from 'type-plus'
37
- *
38
32
  * type R = NotObjectType<{}> // never
39
33
  * type R = NotObjectType<{ a: 1 }> // never
40
34
  * type R = NotObjectType<Function> // never
@@ -49,8 +43,6 @@ export type NotObjectType<T, Then = T, Else = never> = ObjectType<T, Else, Then>
49
43
  * Note that `Function` is also an `object`.
50
44
  *
51
45
  * ```ts
52
- * import { type IsNotObject } from 'type-plus'
53
- *
54
46
  * type R = IsNotObject<{}> // false
55
47
  * type R = IsNotObject<{ a: 1 }> // false
56
48
  * type R = IsNotObject<Function> // false
@@ -1 +1 @@
1
- {"version":3,"file":"object_type.d.ts","sourceRoot":"","sources":["../../ts/object/object_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAE7G;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"object_type.d.ts","sourceRoot":"","sources":["../../ts/object/object_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAE7G;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -2,25 +2,24 @@ import type { IsAny } from '../any/any_type.js';
2
2
  /**
3
3
  * Check if the type `T` is exactly `string`.
4
4
  *
5
- * ```
6
- * import type { StrictStringType } from 'type-plus'
7
- *
5
+ * ```ts
8
6
  * type R = StrictStringType<string> // string
9
- *
10
- * type R = StrictStringType<''> // never
11
- * type R = StrictStringType<'1'> // never
12
- * type R = StrictStringType<string | boolean> // never
13
- * type R = StrictStringType<never> // never
14
- * type R = StrictStringType<unknown> // never
7
+ *
8
+ * type R = StrictStringType<''> // never
9
+ * type R = StrictStringType<'1'> // never
10
+ * type R = StrictStringType<string | boolean> // never
11
+ * type R = StrictStringType<never> // never
12
+ * type R = StrictStringType<unknown> // never
15
13
  * ```
16
14
  */
17
- export type StrictStringType<T, Then = T, Else = never> = IsAny<T, Else, [T, string] extends [string, T] ? Then : Else>;
15
+ export type StrictStringType<T, Then = T, Else = never> = IsAny<T, Else, [
16
+ T,
17
+ string
18
+ ] extends [string, T] ? Then : Else>;
18
19
  /**
19
20
  * Is the type `T` exactly `string`.
20
21
  *
21
- * ```
22
- * import type { IsStrictString } from 'type-plus'
23
- *
22
+ * ```ts
24
23
  * type R = IsStrictString<string> // true
25
24
  *
26
25
  * type R = IsStrictString<''> // false
@@ -34,9 +33,7 @@ export type IsStrictString<T, Then = true, Else = false> = StrictStringType<T, T
34
33
  /**
35
34
  * Check if the type `T` is not exactly `string`.
36
35
  *
37
- * ```
38
- * import type { NotStrictStringType } from 'type-plus'
39
- *
36
+ * ```ts
40
37
  * type R = NotStrictStringType<string> // never
41
38
  *
42
39
  * type R = NotStrictStringType<''> // ''
@@ -50,9 +47,7 @@ export type NotStrictStringType<T, Then = T, Else = never> = StrictStringType<T,
50
47
  /**
51
48
  * Is the type `T` not exactly `string`.
52
49
  *
53
- * ```
54
- * import type { IsNotStrictString } from 'type-plus'
55
- *
50
+ * ```ts
56
51
  * type R = IsNotStrictString<string> // false
57
52
  *
58
53
  * type R = IsNotStrictString<''> // true
@@ -1 +1 @@
1
- {"version":3,"file":"strict_string_type.d.ts","sourceRoot":"","sources":["../../ts/string/strict_string_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;AAEvH;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1F;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5F;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"strict_string_type.d.ts","sourceRoot":"","sources":["../../ts/string/strict_string_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CAC9D,CAAC,EACD,IAAI,EACJ;IAAC,CAAC;IAAE,MAAM;CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAC7C,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE1F;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5F;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Check if `Subject` includes `Search`.
3
+ * If either of them is not a string, returns `Else`.
4
+ *
5
+ * ```ts
6
+ * type R = StringIncludes<'abc', 'a'> // true
7
+ *
8
+ * type R = StringIncludes<'abc', 'd'> // false
9
+ * ```
10
+ */
11
+ export type StringIncludes<Subject extends string, Search extends string, Then = true, Else = false> = Subject extends `${infer _}${Search}${infer _}` ? Then : Else;
12
+ /**
13
+ * Split a string into substrings using the specified separator,
14
+ * and return them as an array.
15
+ *
16
+ * ```ts
17
+ * type R = StringSplit<'abc', ''> // ['a', 'b', 'c']
18
+ * type R = StringSplit<'abc', 'a'> // ['', 'bc']
19
+ * type R = StringSplit<'abc', 'b'> // ['a', 'c']
20
+ * type R = StringSplit<'abc', 'c'> // ['ab', '']
21
+ * ```
22
+ */
23
+ export type StringSplit<Subject extends string, Seperator extends string> = Subject extends `${infer A}${Seperator}${infer B}` ? [A, ...StringSplit<B, Seperator>] : Seperator extends '' ? [] : [Subject];
24
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../ts/string/string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,CACzB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,EACrB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,IACT,OAAO,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,CACtB,OAAO,SAAS,MAAM,EACtB,SAAS,SAAS,MAAM,IACrB,OAAO,SAAS,GAAG,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,EAAE,GACnD,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GACjC,SAAS,SAAS,EAAE,GACpB,EAAE,GACF,CAAC,OAAO,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../ts/string/string.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import type { StringIncludes, StringSplit } from './string.js';
2
+ export declare namespace StringPlus {
3
+ /**
4
+ * Check if `Subject` includes `Search`.
5
+ * If either of them is not a string, returns `Else`.
6
+ *
7
+ * ```ts
8
+ * type R = StringPlus.Includes<'abc', 'a'> // true
9
+ *
10
+ * type R = StringPlus.Includes<'abc', 'd'> // false
11
+ * ```
12
+ */
13
+ type Includes<Subject extends string, Search extends string, Then = true, Else = false> = StringIncludes<Subject, Search, Then, Else>;
14
+ /**
15
+ * Split a string into substrings using the specified separator,
16
+ * and return them as an array.
17
+ *
18
+ * ```ts
19
+ * type R = StringPlus.Split<'abc', ''> // ['a', 'b', 'c']
20
+ * type R = StringPlus.Split<'abc', 'a'> // ['', 'bc']
21
+ * type R = StringPlus.Split<'abc', 'b'> // ['a', 'c']
22
+ * type R = StringPlus.Split<'abc', 'c'> // ['ab', '']
23
+ * ```
24
+ */
25
+ type Split<Subject extends string, Seperator extends string> = StringSplit<Subject, Seperator>;
26
+ }
27
+ //# sourceMappingURL=string_plus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string_plus.d.ts","sourceRoot":"","sources":["../../ts/string/string_plus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9D,yBAAiB,UAAU,CAAC;IAC3B;;;;;;;;;OASG;IACH,KAAY,QAAQ,CACnB,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM,EACrB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,IACT,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAE/C;;;;;;;;;;OAUG;IACH,KAAY,KAAK,CAAC,OAAO,SAAS,MAAM,EAAE,SAAS,SAAS,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;CACrG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=string_plus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string_plus.js","sourceRoot":"","sources":["../../ts/string/string_plus.ts"],"names":[],"mappings":""}
@@ -2,9 +2,7 @@ import type { IsAnyOrNever } from '../any/any_or_never.js';
2
2
  /**
3
3
  * Check if the type `T` is `string` or string literals.
4
4
  *
5
- * ```
6
- * import type { StringType } from 'type-plus'
7
- *
5
+ * ```ts
8
6
  * type R = StringType<string> // string
9
7
  * type R = StringType<''> // ''
10
8
  * type R = StringType<'1'> // '1'
@@ -18,9 +16,7 @@ export type StringType<T, Then = T, Else = never> = IsAnyOrNever<T, Else, [T] ex
18
16
  /**
19
17
  * Is the type `T` `string` or string literals.
20
18
  *
21
- * ```
22
- * import type { IsString } from 'type-plus'
23
- *
19
+ * ```ts
24
20
  * type R = IsString<string> // true
25
21
  * type R = IsString<''> // true
26
22
  * type R = IsString<'a'> // true
@@ -34,9 +30,7 @@ export type IsString<T, Then = true, Else = false> = StringType<T, Then, Else>;
34
30
  /**
35
31
  * Check if the type `T` is not `string` nor string literals.
36
32
  *
37
- * ```
38
- * import type { NotStringType } from 'type-plus'
39
- *
33
+ * ```ts
40
34
  * type R = NotStringType<string> // never
41
35
  * type R = NotStringType<''> // ''
42
36
  * type R = NotStringType<'a'> // 'a'
@@ -50,9 +44,7 @@ export type NotStringType<T, Then = T, Else = never> = StringType<T, Else, Then>
50
44
  /**
51
45
  * Is the type `T` not `string` nor string literals.
52
46
  *
53
- * ```
54
- * import type { IsNotString } from 'type-plus'
55
- *
47
+ * ```ts
56
48
  * type R = IsNotString<string> // false
57
49
  * type R = IsNotString<''> // false
58
50
  * type R = IsNotString<'a'> // false