type-plus 6.8.0 → 7.0.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 (539) hide show
  1. package/README.md +1053 -356
  2. package/cjs/array/{array.d.ts → array.at.d.ts} +4 -14
  3. package/cjs/array/array.at.d.ts.map +1 -0
  4. package/cjs/array/{pad_left.js → array.at.js} +1 -1
  5. package/cjs/array/array.at.js.map +1 -0
  6. package/cjs/array/array.concat.d.ts +13 -0
  7. package/cjs/array/array.concat.d.ts.map +1 -0
  8. package/cjs/array/array.concat.js +3 -0
  9. package/cjs/array/array.concat.js.map +1 -0
  10. package/cjs/array/array.entries.d.ts +17 -0
  11. package/cjs/array/array.entries.d.ts.map +1 -0
  12. package/cjs/array/array.entries.js +3 -0
  13. package/cjs/array/array.entries.js.map +1 -0
  14. package/cjs/array/array.find.d.ts +21 -0
  15. package/cjs/array/array.find.d.ts.map +1 -0
  16. package/cjs/array/{find_first.js → array.find.js} +1 -1
  17. package/cjs/array/array.find.js.map +1 -0
  18. package/cjs/array/array.find_last.d.ts +17 -0
  19. package/cjs/array/array.find_last.d.ts.map +1 -0
  20. package/cjs/array/array.find_last.js +3 -0
  21. package/cjs/array/array.find_last.js.map +1 -0
  22. package/cjs/array/array.reverse.d.ts +2 -0
  23. package/cjs/array/array.reverse.d.ts.map +1 -0
  24. package/cjs/array/array.reverse.js +3 -0
  25. package/cjs/array/array.reverse.js.map +1 -0
  26. package/cjs/array/array.some.d.ts +29 -0
  27. package/cjs/array/array.some.d.ts.map +1 -0
  28. package/cjs/array/array.some.js +3 -0
  29. package/cjs/array/array.some.js.map +1 -0
  30. package/cjs/array/array_index.d.ts +8 -8
  31. package/cjs/array/array_index.d.ts.map +1 -1
  32. package/cjs/array/array_plus.d.ts +9 -1
  33. package/cjs/array/array_plus.d.ts.map +1 -1
  34. package/cjs/array/array_plus.split_at.d.ts +30 -0
  35. package/cjs/array/array_plus.split_at.d.ts.map +1 -0
  36. package/cjs/array/array_plus.split_at.js +3 -0
  37. package/cjs/array/array_plus.split_at.js.map +1 -0
  38. package/cjs/array/drop.d.ts +2 -2
  39. package/cjs/array/drop.d.ts.map +1 -1
  40. package/cjs/array/index.d.ts +4 -5
  41. package/cjs/array/index.d.ts.map +1 -1
  42. package/cjs/array/index.js +4 -5
  43. package/cjs/array/index.js.map +1 -1
  44. package/cjs/array/pad_start.d.ts +32 -0
  45. package/cjs/array/pad_start.d.ts.map +1 -0
  46. package/cjs/array/{find_last.js → pad_start.js} +1 -1
  47. package/cjs/array/pad_start.js.map +1 -0
  48. package/cjs/assertion/assert_type.d.ts +3 -0
  49. package/cjs/assertion/assert_type.d.ts.map +1 -1
  50. package/cjs/assertion/assert_type.js +3 -0
  51. package/cjs/assertion/assert_type.js.map +1 -1
  52. package/cjs/bigint/cast.d.ts +10 -0
  53. package/cjs/bigint/cast.d.ts.map +1 -0
  54. package/cjs/{array/some.js → bigint/cast.js} +1 -1
  55. package/cjs/bigint/cast.js.map +1 -0
  56. package/cjs/equal/equal.d.ts +51 -3
  57. package/cjs/equal/equal.d.ts.map +1 -1
  58. package/cjs/functional/Maybe.d.ts +2 -2
  59. package/cjs/functional/Maybe.d.ts.map +1 -1
  60. package/cjs/index.d.ts +16 -7
  61. package/cjs/index.d.ts.map +1 -1
  62. package/cjs/index.js +6 -1
  63. package/cjs/index.js.map +1 -1
  64. package/cjs/math/abs.d.ts +6 -0
  65. package/cjs/math/abs.d.ts.map +1 -0
  66. package/cjs/math/{Add.js → abs.js} +1 -1
  67. package/cjs/math/abs.js.map +1 -0
  68. package/cjs/math/add.d.ts +7 -0
  69. package/cjs/math/add.d.ts.map +1 -0
  70. package/cjs/math/{Max.js → add.js} +1 -1
  71. package/cjs/math/add.js.map +1 -0
  72. package/cjs/math/greater_than.d.ts +4 -0
  73. package/cjs/math/greater_than.d.ts.map +1 -0
  74. package/cjs/math/greater_than.js +3 -0
  75. package/cjs/math/greater_than.js.map +1 -0
  76. package/cjs/math/index.d.ts +6 -6
  77. package/cjs/math/index.d.ts.map +1 -1
  78. package/cjs/math/math_plus.d.ts +5 -0
  79. package/cjs/math/math_plus.d.ts.map +1 -0
  80. package/cjs/math/math_plus.js +3 -0
  81. package/cjs/math/math_plus.js.map +1 -0
  82. package/cjs/math/math_plus.to_negative.d.ts +13 -0
  83. package/cjs/math/math_plus.to_negative.d.ts.map +1 -0
  84. package/cjs/math/math_plus.to_negative.js +3 -0
  85. package/cjs/math/math_plus.to_negative.js.map +1 -0
  86. package/cjs/math/max.d.ts +4 -0
  87. package/cjs/math/max.d.ts.map +1 -0
  88. package/cjs/math/{Abs.js → max.js} +1 -1
  89. package/cjs/math/max.js.map +1 -0
  90. package/cjs/math/multiply.d.ts +6 -0
  91. package/cjs/math/multiply.d.ts.map +1 -0
  92. package/cjs/{array/array.js → math/multiply.js} +1 -1
  93. package/cjs/math/multiply.js.map +1 -0
  94. package/cjs/math/numeric_struct.d.ts +1469 -0
  95. package/cjs/math/numeric_struct.d.ts.map +1 -0
  96. package/cjs/math/numeric_struct.js +3 -0
  97. package/cjs/math/numeric_struct.js.map +1 -0
  98. package/cjs/math/subtract.d.ts +7 -0
  99. package/cjs/math/subtract.d.ts.map +1 -0
  100. package/cjs/math/subtract.js +3 -0
  101. package/cjs/math/subtract.js.map +1 -0
  102. package/cjs/nominal/brand.js +2 -2
  103. package/cjs/nominal/brand.js.map +1 -1
  104. package/cjs/nominal/flavor.js +2 -2
  105. package/cjs/nominal/flavor.js.map +1 -1
  106. package/cjs/number/cast.d.ts +10 -0
  107. package/cjs/number/cast.d.ts.map +1 -0
  108. package/cjs/number/cast.js +3 -0
  109. package/cjs/number/cast.js.map +1 -0
  110. package/cjs/number/number_array.d.ts +0 -2
  111. package/cjs/number/number_array.d.ts.map +1 -1
  112. package/cjs/number/number_array.js +14 -1
  113. package/cjs/number/number_array.js.map +1 -1
  114. package/cjs/number/number_plus.d.ts +4 -5
  115. package/cjs/number/number_plus.d.ts.map +1 -1
  116. package/cjs/number/strict_number_type.d.ts +12 -0
  117. package/cjs/number/strict_number_type.d.ts.map +1 -1
  118. package/cjs/numeric/cast.d.ts +27 -0
  119. package/cjs/numeric/cast.d.ts.map +1 -0
  120. package/cjs/numeric/cast.js +3 -0
  121. package/cjs/numeric/cast.js.map +1 -0
  122. package/{esm/number → cjs/numeric}/integer.d.ts +2 -0
  123. package/cjs/numeric/integer.d.ts.map +1 -0
  124. package/cjs/{number → numeric}/integer.js.map +1 -1
  125. package/cjs/numeric/negative.d.ts.map +1 -0
  126. package/cjs/{number → numeric}/negative.js.map +1 -1
  127. package/cjs/numeric/numeric_plus.d.ts +5 -0
  128. package/cjs/numeric/numeric_plus.d.ts.map +1 -0
  129. package/cjs/numeric/numeric_plus.js +3 -0
  130. package/cjs/numeric/numeric_plus.js.map +1 -0
  131. package/cjs/numeric/numeric_type.d.ts.map +1 -0
  132. package/cjs/{number → numeric}/numeric_type.js.map +1 -1
  133. package/cjs/{number → numeric}/positive.d.ts +2 -2
  134. package/cjs/numeric/positive.d.ts.map +1 -0
  135. package/cjs/{number → numeric}/positive.js.map +1 -1
  136. package/cjs/object/ANotB.d.ts +3 -3
  137. package/cjs/object/ANotB.d.ts.map +1 -1
  138. package/cjs/object/Partial.d.ts +6 -0
  139. package/cjs/object/Partial.d.ts.map +1 -1
  140. package/cjs/object/Required.d.ts +4 -0
  141. package/cjs/object/Required.d.ts.map +1 -1
  142. package/cjs/object/index.d.ts +1 -1
  143. package/cjs/object/index.d.ts.map +1 -1
  144. package/cjs/object/object_type.d.ts +1 -1
  145. package/cjs/object/split.d.ts +3 -1
  146. package/cjs/object/split.d.ts.map +1 -1
  147. package/cjs/object/split.js.map +1 -1
  148. package/cjs/predicates/CanAssign.d.ts +35 -0
  149. package/cjs/predicates/CanAssign.d.ts.map +1 -1
  150. package/cjs/predicates/CanAssign.js.map +1 -1
  151. package/cjs/predicates/Extends.d.ts +2 -2
  152. package/cjs/predicates/Extends.d.ts.map +1 -1
  153. package/cjs/predicates/index.d.ts +0 -1
  154. package/cjs/predicates/index.d.ts.map +1 -1
  155. package/cjs/predicates/index.js +0 -1
  156. package/cjs/predicates/index.js.map +1 -1
  157. package/cjs/testing/stub.d.ts.map +1 -1
  158. package/cjs/testing/stub.js +4 -3
  159. package/cjs/testing/stub.js.map +1 -1
  160. package/cjs/testing/test_type.d.ts +125 -50
  161. package/cjs/testing/test_type.d.ts.map +1 -1
  162. package/cjs/testing/test_type.js +4 -141
  163. package/cjs/testing/test_type.js.map +1 -1
  164. package/cjs/tuple/create_tuple.d.ts +28 -0
  165. package/cjs/tuple/create_tuple.d.ts.map +1 -0
  166. package/cjs/{array → tuple}/create_tuple.js.map +1 -1
  167. package/cjs/tuple/tuple_plus.d.ts +2 -0
  168. package/cjs/tuple/tuple_plus.d.ts.map +1 -0
  169. package/cjs/tuple/tuple_plus.js +18 -0
  170. package/cjs/tuple/tuple_plus.js.map +1 -0
  171. package/cjs/tuple/tuple_plus.pad_start.d.ts +22 -0
  172. package/cjs/tuple/tuple_plus.pad_start.d.ts.map +1 -0
  173. package/cjs/tuple/tuple_plus.pad_start.js +3 -0
  174. package/cjs/tuple/tuple_plus.pad_start.js.map +1 -0
  175. package/cjs/{predicates/isType.d.ts → type-guard/is_type.d.ts} +5 -3
  176. package/cjs/type-guard/is_type.d.ts.map +1 -0
  177. package/cjs/{predicates/isType.js → type-guard/is_type.js} +8 -2
  178. package/cjs/type-guard/is_type.js.map +1 -0
  179. package/esm/array/{array.d.ts → array.at.d.ts} +4 -14
  180. package/esm/array/array.at.d.ts.map +1 -0
  181. package/esm/array/array.at.js +2 -0
  182. package/esm/array/array.at.js.map +1 -0
  183. package/esm/array/array.concat.d.ts +13 -0
  184. package/esm/array/array.concat.d.ts.map +1 -0
  185. package/esm/array/array.concat.js +2 -0
  186. package/esm/array/array.concat.js.map +1 -0
  187. package/esm/array/array.entries.d.ts +17 -0
  188. package/esm/array/array.entries.d.ts.map +1 -0
  189. package/esm/array/array.entries.js +2 -0
  190. package/esm/array/array.entries.js.map +1 -0
  191. package/esm/array/array.find.d.ts +21 -0
  192. package/esm/array/array.find.d.ts.map +1 -0
  193. package/esm/array/array.find.js +2 -0
  194. package/esm/array/array.find.js.map +1 -0
  195. package/esm/array/array.find_last.d.ts +17 -0
  196. package/esm/array/array.find_last.d.ts.map +1 -0
  197. package/esm/array/array.find_last.js +2 -0
  198. package/esm/array/array.find_last.js.map +1 -0
  199. package/esm/array/array.reverse.d.ts +2 -0
  200. package/esm/array/array.reverse.d.ts.map +1 -0
  201. package/esm/array/array.reverse.js +2 -0
  202. package/esm/array/array.reverse.js.map +1 -0
  203. package/esm/array/array.some.d.ts +29 -0
  204. package/esm/array/array.some.d.ts.map +1 -0
  205. package/esm/array/array.some.js +2 -0
  206. package/esm/array/array.some.js.map +1 -0
  207. package/esm/array/array_index.d.ts +8 -8
  208. package/esm/array/array_index.d.ts.map +1 -1
  209. package/esm/array/array_plus.d.ts +9 -1
  210. package/esm/array/array_plus.d.ts.map +1 -1
  211. package/esm/array/array_plus.split_at.d.ts +30 -0
  212. package/esm/array/array_plus.split_at.d.ts.map +1 -0
  213. package/esm/array/array_plus.split_at.js +2 -0
  214. package/esm/array/array_plus.split_at.js.map +1 -0
  215. package/esm/array/drop.d.ts +2 -2
  216. package/esm/array/drop.d.ts.map +1 -1
  217. package/esm/array/index.d.ts +4 -5
  218. package/esm/array/index.d.ts.map +1 -1
  219. package/esm/array/index.js +4 -5
  220. package/esm/array/index.js.map +1 -1
  221. package/esm/array/pad_start.d.ts +32 -0
  222. package/esm/array/pad_start.d.ts.map +1 -0
  223. package/esm/array/pad_start.js +2 -0
  224. package/esm/array/pad_start.js.map +1 -0
  225. package/esm/assertion/assert_type.d.ts +3 -0
  226. package/esm/assertion/assert_type.d.ts.map +1 -1
  227. package/esm/assertion/assert_type.js +3 -0
  228. package/esm/assertion/assert_type.js.map +1 -1
  229. package/esm/bigint/cast.d.ts +10 -0
  230. package/esm/bigint/cast.d.ts.map +1 -0
  231. package/esm/bigint/cast.js +2 -0
  232. package/esm/bigint/cast.js.map +1 -0
  233. package/esm/equal/equal.d.ts +51 -3
  234. package/esm/equal/equal.d.ts.map +1 -1
  235. package/esm/functional/Maybe.d.ts +2 -2
  236. package/esm/functional/Maybe.d.ts.map +1 -1
  237. package/esm/index.d.ts +16 -7
  238. package/esm/index.d.ts.map +1 -1
  239. package/esm/index.js +5 -0
  240. package/esm/index.js.map +1 -1
  241. package/esm/math/abs.d.ts +6 -0
  242. package/esm/math/abs.d.ts.map +1 -0
  243. package/esm/math/abs.js +2 -0
  244. package/esm/math/abs.js.map +1 -0
  245. package/esm/math/add.d.ts +7 -0
  246. package/esm/math/add.d.ts.map +1 -0
  247. package/esm/math/add.js +2 -0
  248. package/esm/math/add.js.map +1 -0
  249. package/esm/math/greater_than.d.ts +4 -0
  250. package/esm/math/greater_than.d.ts.map +1 -0
  251. package/esm/math/greater_than.js +2 -0
  252. package/esm/math/greater_than.js.map +1 -0
  253. package/esm/math/index.d.ts +6 -6
  254. package/esm/math/index.d.ts.map +1 -1
  255. package/esm/math/math_plus.d.ts +5 -0
  256. package/esm/math/math_plus.d.ts.map +1 -0
  257. package/esm/math/math_plus.js +2 -0
  258. package/esm/math/math_plus.js.map +1 -0
  259. package/esm/math/math_plus.to_negative.d.ts +13 -0
  260. package/esm/math/math_plus.to_negative.d.ts.map +1 -0
  261. package/esm/math/math_plus.to_negative.js +2 -0
  262. package/esm/math/math_plus.to_negative.js.map +1 -0
  263. package/esm/math/max.d.ts +4 -0
  264. package/esm/math/max.d.ts.map +1 -0
  265. package/esm/math/max.js +2 -0
  266. package/esm/math/max.js.map +1 -0
  267. package/esm/math/multiply.d.ts +6 -0
  268. package/esm/math/multiply.d.ts.map +1 -0
  269. package/esm/math/multiply.js +2 -0
  270. package/esm/math/multiply.js.map +1 -0
  271. package/esm/math/numeric_struct.d.ts +1469 -0
  272. package/esm/math/numeric_struct.d.ts.map +1 -0
  273. package/esm/math/numeric_struct.js +2 -0
  274. package/esm/math/numeric_struct.js.map +1 -0
  275. package/esm/math/subtract.d.ts +7 -0
  276. package/esm/math/subtract.d.ts.map +1 -0
  277. package/esm/math/subtract.js +2 -0
  278. package/esm/math/subtract.js.map +1 -0
  279. package/esm/nominal/brand.js +1 -1
  280. package/esm/nominal/brand.js.map +1 -1
  281. package/esm/nominal/flavor.js +1 -1
  282. package/esm/nominal/flavor.js.map +1 -1
  283. package/esm/number/cast.d.ts +10 -0
  284. package/esm/number/cast.d.ts.map +1 -0
  285. package/esm/number/cast.js +2 -0
  286. package/esm/number/cast.js.map +1 -0
  287. package/esm/number/number_array.d.ts +1 -2
  288. package/esm/number/number_array.d.ts.map +1 -1
  289. package/esm/number/number_array.js +14 -0
  290. package/esm/number/number_array.js.map +1 -1
  291. package/esm/number/number_plus.d.ts +4 -5
  292. package/esm/number/number_plus.d.ts.map +1 -1
  293. package/esm/number/strict_number_type.d.ts +12 -0
  294. package/esm/number/strict_number_type.d.ts.map +1 -1
  295. package/esm/numeric/cast.d.ts +27 -0
  296. package/esm/numeric/cast.d.ts.map +1 -0
  297. package/esm/numeric/cast.js +2 -0
  298. package/esm/numeric/cast.js.map +1 -0
  299. package/{cjs/number → esm/numeric}/integer.d.ts +2 -0
  300. package/esm/numeric/integer.d.ts.map +1 -0
  301. package/esm/{number → numeric}/integer.js.map +1 -1
  302. package/esm/numeric/negative.d.ts.map +1 -0
  303. package/esm/{number → numeric}/negative.js.map +1 -1
  304. package/esm/numeric/numeric_plus.d.ts +5 -0
  305. package/esm/numeric/numeric_plus.d.ts.map +1 -0
  306. package/esm/numeric/numeric_plus.js +2 -0
  307. package/esm/numeric/numeric_plus.js.map +1 -0
  308. package/esm/numeric/numeric_type.d.ts.map +1 -0
  309. package/esm/{number → numeric}/numeric_type.js.map +1 -1
  310. package/esm/{number → numeric}/positive.d.ts +2 -2
  311. package/esm/numeric/positive.d.ts.map +1 -0
  312. package/esm/{number → numeric}/positive.js.map +1 -1
  313. package/esm/object/ANotB.d.ts +3 -3
  314. package/esm/object/ANotB.d.ts.map +1 -1
  315. package/esm/object/Partial.d.ts +6 -0
  316. package/esm/object/Partial.d.ts.map +1 -1
  317. package/esm/object/Required.d.ts +4 -0
  318. package/esm/object/Required.d.ts.map +1 -1
  319. package/esm/object/index.d.ts +1 -1
  320. package/esm/object/index.d.ts.map +1 -1
  321. package/esm/object/object_type.d.ts +1 -1
  322. package/esm/object/split.d.ts +3 -1
  323. package/esm/object/split.d.ts.map +1 -1
  324. package/esm/object/split.js.map +1 -1
  325. package/esm/predicates/CanAssign.d.ts +35 -0
  326. package/esm/predicates/CanAssign.d.ts.map +1 -1
  327. package/esm/predicates/CanAssign.js.map +1 -1
  328. package/esm/predicates/Extends.d.ts +2 -2
  329. package/esm/predicates/Extends.d.ts.map +1 -1
  330. package/esm/predicates/index.d.ts +0 -1
  331. package/esm/predicates/index.d.ts.map +1 -1
  332. package/esm/predicates/index.js +0 -1
  333. package/esm/predicates/index.js.map +1 -1
  334. package/esm/testing/stub.d.ts.map +1 -1
  335. package/esm/testing/stub.js +4 -3
  336. package/esm/testing/stub.js.map +1 -1
  337. package/esm/testing/test_type.d.ts +125 -50
  338. package/esm/testing/test_type.d.ts.map +1 -1
  339. package/esm/testing/test_type.js +4 -141
  340. package/esm/testing/test_type.js.map +1 -1
  341. package/esm/tuple/create_tuple.d.ts +28 -0
  342. package/esm/tuple/create_tuple.d.ts.map +1 -0
  343. package/esm/{array → tuple}/create_tuple.js.map +1 -1
  344. package/esm/tuple/tuple_plus.d.ts +2 -0
  345. package/esm/tuple/tuple_plus.d.ts.map +1 -0
  346. package/esm/tuple/tuple_plus.js +2 -0
  347. package/esm/tuple/tuple_plus.js.map +1 -0
  348. package/esm/tuple/tuple_plus.pad_start.d.ts +22 -0
  349. package/esm/tuple/tuple_plus.pad_start.d.ts.map +1 -0
  350. package/esm/tuple/tuple_plus.pad_start.js +2 -0
  351. package/esm/tuple/tuple_plus.pad_start.js.map +1 -0
  352. package/esm/{predicates/isType.d.ts → type-guard/is_type.d.ts} +5 -3
  353. package/esm/type-guard/is_type.d.ts.map +1 -0
  354. package/esm/{predicates/isType.js → type-guard/is_type.js} +8 -2
  355. package/esm/type-guard/is_type.js.map +1 -0
  356. package/package.json +3 -3
  357. package/ts/array/{array.ts → array.at.ts} +10 -15
  358. package/ts/array/array.concat.ts +12 -0
  359. package/ts/array/array.entries.ts +24 -0
  360. package/ts/array/array.find.ts +32 -0
  361. package/ts/array/array.find_last.ts +27 -0
  362. package/ts/array/array.reverse.ts +16 -0
  363. package/ts/array/array.some.ts +53 -0
  364. package/ts/array/array_index.ts +16 -10
  365. package/ts/array/array_plus.split_at.ts +47 -0
  366. package/ts/array/array_plus.ts +9 -1
  367. package/ts/array/drop.ts +2 -2
  368. package/ts/array/index.ts +4 -5
  369. package/ts/array/pad_start.ts +43 -0
  370. package/ts/array/readme.md +184 -4
  371. package/ts/assertion/assert_type.ts +6 -0
  372. package/ts/assertion/readme.md +132 -1
  373. package/ts/bigint/cast.ts +13 -0
  374. package/ts/bigint/readme.md +17 -17
  375. package/ts/equal/equal.ts +53 -3
  376. package/ts/equal/readme.md +30 -16
  377. package/ts/functional/Maybe.ts +2 -2
  378. package/ts/index.ts +22 -24
  379. package/ts/math/README.md +97 -7
  380. package/ts/math/abs.ts +18 -0
  381. package/ts/math/add.ts +14 -0
  382. package/ts/math/greater_than.ts +12 -0
  383. package/ts/math/index.ts +7 -6
  384. package/ts/math/math_plus.to_negative.ts +22 -0
  385. package/ts/math/math_plus.ts +4 -0
  386. package/ts/math/max.ts +13 -0
  387. package/ts/math/multiply.ts +12 -0
  388. package/ts/math/numeric_struct.ts +658 -0
  389. package/ts/math/subtract.ts +14 -0
  390. package/ts/nominal/brand.ts +1 -1
  391. package/ts/nominal/flavor.ts +1 -1
  392. package/ts/number/cast.ts +17 -0
  393. package/ts/number/number_array.ts +14 -14
  394. package/ts/number/number_plus.ts +6 -6
  395. package/ts/number/readme.md +0 -108
  396. package/ts/number/strict_number_type.ts +12 -0
  397. package/ts/numeric/cast.ts +28 -0
  398. package/ts/{number → numeric}/integer.ts +2 -0
  399. package/ts/numeric/numeric_plus.ts +12 -0
  400. package/ts/{number → numeric}/positive.ts +2 -2
  401. package/ts/numeric/readme.md +115 -0
  402. package/ts/object/ANotB.ts +3 -3
  403. package/ts/object/Partial.ts +5 -0
  404. package/ts/object/Required.ts +4 -0
  405. package/ts/object/index.ts +1 -1
  406. package/ts/object/object_type.ts +1 -1
  407. package/ts/object/split.ts +3 -1
  408. package/ts/predicates/CanAssign.ts +46 -0
  409. package/ts/predicates/Extends.ts +2 -2
  410. package/ts/predicates/index.ts +0 -1
  411. package/ts/testing/stub.ts +7 -4
  412. package/ts/testing/test_type.ts +131 -88
  413. package/ts/tuple/create_tuple.ts +42 -0
  414. package/ts/tuple/readme.md +11 -10
  415. package/ts/tuple/tuple_plus.pad_start.ts +42 -0
  416. package/ts/tuple/tuple_plus.ts +1 -0
  417. package/ts/{predicates/isType.ts → type-guard/is_type.ts} +11 -3
  418. package/ts/type-guard/readme.md +37 -0
  419. package/cjs/array/array.d.ts.map +0 -1
  420. package/cjs/array/array.js.map +0 -1
  421. package/cjs/array/create_tuple.d.ts +0 -11
  422. package/cjs/array/create_tuple.d.ts.map +0 -1
  423. package/cjs/array/find_first.d.ts +0 -6
  424. package/cjs/array/find_first.d.ts.map +0 -1
  425. package/cjs/array/find_first.js.map +0 -1
  426. package/cjs/array/find_last.d.ts +0 -2
  427. package/cjs/array/find_last.d.ts.map +0 -1
  428. package/cjs/array/find_last.js.map +0 -1
  429. package/cjs/array/pad_left.d.ts +0 -6
  430. package/cjs/array/pad_left.d.ts.map +0 -1
  431. package/cjs/array/pad_left.js.map +0 -1
  432. package/cjs/array/some.d.ts +0 -8
  433. package/cjs/array/some.d.ts.map +0 -1
  434. package/cjs/array/some.js.map +0 -1
  435. package/cjs/math/Abs.d.ts +0 -3
  436. package/cjs/math/Abs.d.ts.map +0 -1
  437. package/cjs/math/Abs.js.map +0 -1
  438. package/cjs/math/Add.d.ts +0 -19
  439. package/cjs/math/Add.d.ts.map +0 -1
  440. package/cjs/math/Add.js.map +0 -1
  441. package/cjs/math/Digit.d.ts +0 -100
  442. package/cjs/math/Digit.d.ts.map +0 -1
  443. package/cjs/math/Digit.js +0 -3
  444. package/cjs/math/Digit.js.map +0 -1
  445. package/cjs/math/GreaterThan.d.ts +0 -13
  446. package/cjs/math/GreaterThan.d.ts.map +0 -1
  447. package/cjs/math/GreaterThan.js +0 -3
  448. package/cjs/math/GreaterThan.js.map +0 -1
  449. package/cjs/math/Max.d.ts +0 -4
  450. package/cjs/math/Max.d.ts.map +0 -1
  451. package/cjs/math/Max.js.map +0 -1
  452. package/cjs/math/Subtract.d.ts +0 -19
  453. package/cjs/math/Subtract.d.ts.map +0 -1
  454. package/cjs/math/Subtract.js +0 -3
  455. package/cjs/math/Subtract.js.map +0 -1
  456. package/cjs/number/integer.d.ts.map +0 -1
  457. package/cjs/number/negative.d.ts.map +0 -1
  458. package/cjs/number/numeric_type.d.ts.map +0 -1
  459. package/cjs/number/positive.d.ts.map +0 -1
  460. package/cjs/predicates/isType.d.ts.map +0 -1
  461. package/cjs/predicates/isType.js.map +0 -1
  462. package/esm/array/array.d.ts.map +0 -1
  463. package/esm/array/array.js +0 -2
  464. package/esm/array/array.js.map +0 -1
  465. package/esm/array/create_tuple.d.ts +0 -11
  466. package/esm/array/create_tuple.d.ts.map +0 -1
  467. package/esm/array/find_first.d.ts +0 -6
  468. package/esm/array/find_first.d.ts.map +0 -1
  469. package/esm/array/find_first.js +0 -2
  470. package/esm/array/find_first.js.map +0 -1
  471. package/esm/array/find_last.d.ts +0 -2
  472. package/esm/array/find_last.d.ts.map +0 -1
  473. package/esm/array/find_last.js +0 -2
  474. package/esm/array/find_last.js.map +0 -1
  475. package/esm/array/pad_left.d.ts +0 -6
  476. package/esm/array/pad_left.d.ts.map +0 -1
  477. package/esm/array/pad_left.js +0 -2
  478. package/esm/array/pad_left.js.map +0 -1
  479. package/esm/array/some.d.ts +0 -8
  480. package/esm/array/some.d.ts.map +0 -1
  481. package/esm/array/some.js +0 -2
  482. package/esm/array/some.js.map +0 -1
  483. package/esm/math/Abs.d.ts +0 -3
  484. package/esm/math/Abs.d.ts.map +0 -1
  485. package/esm/math/Abs.js +0 -2
  486. package/esm/math/Abs.js.map +0 -1
  487. package/esm/math/Add.d.ts +0 -19
  488. package/esm/math/Add.d.ts.map +0 -1
  489. package/esm/math/Add.js +0 -2
  490. package/esm/math/Add.js.map +0 -1
  491. package/esm/math/Digit.d.ts +0 -100
  492. package/esm/math/Digit.d.ts.map +0 -1
  493. package/esm/math/Digit.js +0 -2
  494. package/esm/math/Digit.js.map +0 -1
  495. package/esm/math/GreaterThan.d.ts +0 -13
  496. package/esm/math/GreaterThan.d.ts.map +0 -1
  497. package/esm/math/GreaterThan.js +0 -2
  498. package/esm/math/GreaterThan.js.map +0 -1
  499. package/esm/math/Max.d.ts +0 -4
  500. package/esm/math/Max.d.ts.map +0 -1
  501. package/esm/math/Max.js +0 -2
  502. package/esm/math/Max.js.map +0 -1
  503. package/esm/math/Subtract.d.ts +0 -19
  504. package/esm/math/Subtract.d.ts.map +0 -1
  505. package/esm/math/Subtract.js +0 -2
  506. package/esm/math/Subtract.js.map +0 -1
  507. package/esm/number/integer.d.ts.map +0 -1
  508. package/esm/number/negative.d.ts.map +0 -1
  509. package/esm/number/numeric_type.d.ts.map +0 -1
  510. package/esm/number/positive.d.ts.map +0 -1
  511. package/esm/predicates/isType.d.ts.map +0 -1
  512. package/esm/predicates/isType.js.map +0 -1
  513. package/ts/array/create_tuple.ts +0 -17
  514. package/ts/array/find_first.ts +0 -16
  515. package/ts/array/find_last.ts +0 -11
  516. package/ts/array/pad_left.ts +0 -16
  517. package/ts/array/some.ts +0 -33
  518. package/ts/math/Abs.ts +0 -7
  519. package/ts/math/Add.ts +0 -58
  520. package/ts/math/Digit.ts +0 -152
  521. package/ts/math/GreaterThan.ts +0 -55
  522. package/ts/math/Max.ts +0 -10
  523. package/ts/math/Subtract.ts +0 -57
  524. /package/cjs/{number → numeric}/integer.js +0 -0
  525. /package/cjs/{number → numeric}/negative.d.ts +0 -0
  526. /package/cjs/{number → numeric}/negative.js +0 -0
  527. /package/cjs/{number → numeric}/numeric_type.d.ts +0 -0
  528. /package/cjs/{number → numeric}/numeric_type.js +0 -0
  529. /package/cjs/{number → numeric}/positive.js +0 -0
  530. /package/cjs/{array → tuple}/create_tuple.js +0 -0
  531. /package/esm/{number → numeric}/integer.js +0 -0
  532. /package/esm/{number → numeric}/negative.d.ts +0 -0
  533. /package/esm/{number → numeric}/negative.js +0 -0
  534. /package/esm/{number → numeric}/numeric_type.d.ts +0 -0
  535. /package/esm/{number → numeric}/numeric_type.js +0 -0
  536. /package/esm/{number → numeric}/positive.js +0 -0
  537. /package/esm/{array → tuple}/create_tuple.js +0 -0
  538. /package/ts/{number → numeric}/negative.ts +0 -0
  539. /package/ts/{number → numeric}/numeric_type.ts +0 -0
@@ -22,11 +22,15 @@ type IdentityEqual<A, B, Then, Else> = (<_>() => _ extends (A & _) | _ ? 1 : 2)
22
22
  * type R = Equal<[any], [1]> // false
23
23
  * type R = Equal<{ a: 1 }, { a: 1; b: 2 }> // false
24
24
  * ```
25
+ *
26
+ * Note that intersection type checks only works at first level.
27
+ * It cannot be check recursively,
28
+ * or else will run into infinite recursion if the type includes recursive types.
25
29
  */
26
- export type Equal<A, B, Then = true, Else = false> = [A, B] extends [B, A] ? BothNever<A, B, Then, Else, BothAny<A, B, Then, Else, IdentityEqual<A, B, Then, And<IsObject<A>, IsObject<B>, IdentityEqual<Properties<A>, Properties<B>, [
30
+ export type IsEqual<A, B, Then = true, Else = false> = [A, B] extends [B, A] ? BothNever<A, B, Then, Else, BothAny<A, B, Then, Else, IdentityEqual<A, B, Then, And<IsObject<A>, IsObject<B>, IdentityEqual<Properties<A>, Properties<B>, [
27
31
  A,
28
32
  B
29
- ] extends [(...args: infer P1) => any, (...args: infer P2) => any] ? Equal<P1, P2, Then, Else> : Then, Else>, [
33
+ ] extends [(...args: infer P1) => any, (...args: infer P2) => any] ? IsEqual<P1, P2, Then, Else> : Then, Else>, [
30
34
  A,
31
35
  B
32
36
  ] extends [B, A] ? Then : Else>>>> : And<IsSymbol<A>, IsSymbol<B>, Then, Else>;
@@ -45,7 +49,51 @@ export type Equal<A, B, Then = true, Else = false> = [A, B] extends [B, A] ? Bot
45
49
  * type R = NotEqual<[any], [1]> // true
46
50
  * type R = NotEqual<{ a: 1 }, { a: 1; b: 2 }> // true
47
51
  * ```
52
+ *
53
+ * Note that intersection type checks only works at first level.
54
+ * It cannot be check recursively,
55
+ * or else will run into infinite recursion if the type includes recursive types.
56
+ */
57
+ export type IsNotEqual<A, B, Then = true, Else = false> = IsEqual<A, B, Else, Then>;
58
+ /**
59
+ * Checks `A` and `B` are equal.
60
+ *
61
+ * @deprecated this will be changed to `filter` variant in the future.
62
+ * Please use `IsEqual` for the `predicate` behavior.
63
+ *
64
+ * ```ts
65
+ * type R = Equal<1, 1> // true
66
+ * type R = Equal<any, any> // true
67
+ * type R = Equal<boolean, boolean> // true
68
+ * type R = Equal<true, true> // true
69
+ * type R = Equal<[1], [1]> // true
70
+ *
71
+ * type R = Equal<boolean, true> // false
72
+ * type R = Equal<any, 1> // false
73
+ * type R = Equal<[any], [1]> // false
74
+ * type R = Equal<{ a: 1 }, { a: 1; b: 2 }> // false
75
+ * ```
76
+ */
77
+ export type Equal<A, B, Then = true, Else = false> = IsEqual<A, B, Then, Else>;
78
+ /**
79
+ * Checks `A` and `B` are not equal.
80
+ *
81
+ * @deprecated this will be changed to `filter` variant in the future.
82
+ * Please use `IsNotEqual` for the `predicate` behavior.
83
+ *
84
+ * ```ts
85
+ * type R = NotEqual<1, 1> // false
86
+ * type R = NotEqual<any, any> // false
87
+ * type R = NotEqual<boolean, boolean> // false
88
+ * type R = NotEqual<true, true> // false
89
+ * type R = NotEqual<[1], [1]> // false
90
+ *
91
+ * type R = NotEqual<boolean, true> // true
92
+ * type R = NotEqual<any, 1> // true
93
+ * type R = NotEqual<[any], [1]> // true
94
+ * type R = NotEqual<{ a: 1 }, { a: 1; b: 2 }> // true
95
+ * ```
48
96
  */
49
- export type NotEqual<A, B, Then = true, Else = false> = Equal<A, B, Else, Then>;
97
+ export type NotEqual<A, B, Then = true, Else = false> = IsNotEqual<A, B, Then, Else>;
50
98
  export {};
51
99
  //# sourceMappingURL=equal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"equal.d.ts","sourceRoot":"","sources":["../../ts/equal/equal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"equal.d.ts","sourceRoot":"","sources":["../../ts/equal/equal.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Brand } from '../nominal/index.js';
2
- import type { Equal } from '../equal/equal.js';
2
+ import type { IsEqual } from '../equal/equal.js';
3
3
  import type { Widen } from '../utils/index.js';
4
4
  export type Maybe<T> = Just<T> | None<T>;
5
5
  export type Just<T> = Brand<'maybe', T> & {
@@ -8,6 +8,6 @@ export type Just<T> = Brand<'maybe', T> & {
8
8
  export type None<T> = Brand<'maybe', void> & {
9
9
  unwrap(): T;
10
10
  };
11
- export declare function just<T>(value: T): Equal<T, undefined | null> extends true ? None<T> : Just<Widen<NonNullable<T>>>;
11
+ export declare function just<T>(value: T): IsEqual<T, undefined | null> extends true ? None<T> : Just<Widen<NonNullable<T>>>;
12
12
  export declare function none<T>(): None<T>;
13
13
  //# sourceMappingURL=Maybe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Maybe.d.ts","sourceRoot":"","sources":["../../ts/functional/Maybe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACxC,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG;IAAE,MAAM,IAAI,CAAC,CAAA;CAAE,CAAA;AACzD,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG;IAAE,MAAM,IAAI,CAAC,CAAA;CAAE,CAAA;AAE5D,wBAAgB,IAAI,CAAC,CAAC,EACrB,KAAK,EAAE,CAAC,GACN,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAOjF;AAED,wBAAgB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAEjC"}
1
+ {"version":3,"file":"Maybe.d.ts","sourceRoot":"","sources":["../../ts/functional/Maybe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACxC,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG;IAAE,MAAM,IAAI,CAAC,CAAA;CAAE,CAAA;AACzD,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG;IAAE,MAAM,IAAI,CAAC,CAAA;CAAE,CAAA;AAE5D,wBAAgB,IAAI,CAAC,CAAC,EACrB,KAAK,EAAE,CAAC,GACN,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAOnF;AAED,wBAAgB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAEjC"}
package/cjs/index.d.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  export { required, requiredDeep, unpartial } from 'unpartial';
2
2
  export type { IsAnyOrNever } from './any/any_or_never.js';
3
3
  export type { AnyType, IsAny, IsNotAny, NotAnyType } from './any/any_type.js';
4
- export type { At, Concat } from './array/array.js';
4
+ export type { At } from './array/array.at.js';
5
+ export type { Concat } from './array/array.concat.js';
5
6
  export * as ArrayPlus from './array/array_plus.js';
6
7
  export type { ArrayType, IsArray, IsNotArray, NotArrayType } from './array/array_type.js';
7
8
  export * from './array/index.js';
8
9
  export * from './assertion/assert_type.js';
9
10
  export type { BigintType, IsBigint, IsNotBigint, NotBigintType } from './bigint/bigint_type.js';
11
+ export type { StringToBigint } from './bigint/cast.js';
10
12
  export type { IsNotStrictBigint, IsStrictBigint, NotStrictBigintType, StrictBigintType } from './bigint/strict_bigint_type.js';
11
13
  export type { BooleanType, IsBoolean, IsNotBoolean, NotBooleanType } from './boolean/boolean_type.js';
12
14
  export type { FalseType, IsFalse, IsNotFalse, NotFalseType } from './boolean/false_type.js';
@@ -14,25 +16,29 @@ export type { IsNotStrictBoolean, IsStrictBoolean, NotStrictBooleanType, StrictB
14
16
  export type { IsNotTrue, IsTrue, NotTrueType, TrueType } from './boolean/true_type.js';
15
17
  export * from './class/index.js';
16
18
  export type { ComposableTypes, NonComposableTypes } from './composable_types.js';
17
- export type { Equal, NotEqual } from './equal/equal.js';
19
+ export type { Equal, IsEqual, IsNotEqual, NotEqual } from './equal/equal.js';
18
20
  export type { AnyFunction } from './function/any_function.js';
19
21
  export * from './function/extract_function.js';
20
22
  export type { FunctionType, IsFunction, IsNotFunction, NotFunctionType } from './function/function_type.js';
21
23
  export type { IsNotStrictFunction, IsStrictFunction, NotStrictFunctionType, StrictFunctionType } from './function/strict_function_type.js';
22
24
  export * from './functional/index.js';
23
25
  export type { JSONArray, JSONObject, JSONPrimitive, JSONTypes } from './json.js';
24
- export type { Abs, Add, Decrement, Digit, DigitArray, GreaterThan, Increment, Max, Subtract } from './math/index.js';
26
+ export type { Abs, Add, Decrement, GreaterThan, Increment, Max, Multiply, Subtract } from './math/index.js';
27
+ export * as MathPlus from './math/math_plus.js';
25
28
  export type { IsNever, IsNotNever, Is_Never, NeverType, NotNeverType, Not_Never } from './never/never_type.js';
26
29
  export * from './nodejs/index.js';
27
30
  export * from './nominal/index.js';
28
31
  export type { IsNotNull, IsNull, NotNullType, NullType } from './null/null_type.js';
29
- export type { Integer, IsInteger, IsNotInteger, IsWhole, NotInteger } from './number/integer.js';
30
- export type { IsNegative, IsNotNegative, Negative, NotNegative } from './number/negative.js';
32
+ export type { StringToNumber } from './number/cast.js';
31
33
  export * as NumberPlus from './number/number_plus.js';
32
34
  export type { IsNotNumber, IsNumber, NotNumberType, NumberType } from './number/number_type.js';
33
- export type { IsNotNumeric, IsNumeric, NotNumericType, Numeric, NumericType, Zero } from './number/numeric_type.js';
34
- export type { IsNotPositive, IsPositive, NonPositive, Positive } from './number/positive.js';
35
35
  export type { IsNotStrictNumber, IsStrictNumber, NotStrictNumberType, StrictNumberType } from './number/strict_number_type.js';
36
+ export type { NumericToString, StringToNumeric } from './numeric/cast.js';
37
+ export type { Integer, IsInteger, IsNotInteger, IsWhole, NotInteger } from './numeric/integer.js';
38
+ export type { IsNegative, IsNotNegative, Negative, NotNegative } from './numeric/negative.js';
39
+ export * as NumericPlus from './numeric/numeric_plus.js';
40
+ export type { IsNotNumeric, IsNumeric, NotNumericType, Numeric, NumericType, Zero } from './numeric/numeric_type.js';
41
+ export type { IsNotPositive, IsPositive, NonPositive, Positive } from './numeric/positive.js';
36
42
  export * from './object/index.js';
37
43
  export type { IsNotObject, IsObject, NotObjectType, ObjectType } from './object/object_type.js';
38
44
  export * from './predicates/index.js';
@@ -45,7 +51,10 @@ export type { IsNotString, IsString, NotStringType, StringType } from './string/
45
51
  export type { IsNotSymbol, IsSymbol, NotSymbolType, SymbolType } from './symbol/symbol_type.js';
46
52
  export * from './testing/stub.js';
47
53
  export * from './testing/test_type.js';
54
+ export * from './tuple/create_tuple.js';
55
+ export * as TuplePlus from './tuple/tuple_plus.js';
48
56
  export type { IsNotTuple, IsTuple, NotTupleType, TupleType } from './tuple/tuple_type.js';
57
+ export * from './type-guard/is_type.js';
49
58
  export type { Failed, FailedT } from './type/failed.js';
50
59
  export type { NoInfer } from './type/no_infer.js';
51
60
  export type { IsNotUndefined, IsUndefined, NotUndefinedType, UndefinedType } from './undefined/undefined_type.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
package/cjs/index.js CHANGED
@@ -26,7 +26,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.NumberPlus = exports.ArrayPlus = exports.unpartial = exports.requiredDeep = exports.required = void 0;
29
+ exports.TuplePlus = exports.NumericPlus = exports.NumberPlus = exports.MathPlus = exports.ArrayPlus = exports.unpartial = exports.requiredDeep = exports.required = void 0;
30
30
  var unpartial_1 = require("unpartial");
31
31
  Object.defineProperty(exports, "required", { enumerable: true, get: function () { return unpartial_1.required; } });
32
32
  Object.defineProperty(exports, "requiredDeep", { enumerable: true, get: function () { return unpartial_1.requiredDeep; } });
@@ -37,13 +37,18 @@ __exportStar(require("./assertion/assert_type.js"), exports);
37
37
  __exportStar(require("./class/index.js"), exports);
38
38
  __exportStar(require("./function/extract_function.js"), exports);
39
39
  __exportStar(require("./functional/index.js"), exports);
40
+ exports.MathPlus = __importStar(require("./math/math_plus.js"));
40
41
  __exportStar(require("./nodejs/index.js"), exports);
41
42
  __exportStar(require("./nominal/index.js"), exports);
42
43
  exports.NumberPlus = __importStar(require("./number/number_plus.js"));
44
+ exports.NumericPlus = __importStar(require("./numeric/numeric_plus.js"));
43
45
  __exportStar(require("./object/index.js"), exports);
44
46
  __exportStar(require("./predicates/index.js"), exports);
45
47
  __exportStar(require("./promise/index.js"), exports);
46
48
  __exportStar(require("./testing/stub.js"), exports);
47
49
  __exportStar(require("./testing/test_type.js"), exports);
50
+ __exportStar(require("./tuple/create_tuple.js"), exports);
51
+ exports.TuplePlus = __importStar(require("./tuple/tuple_plus.js"));
52
+ __exportStar(require("./type-guard/is_type.js"), exports);
48
53
  __exportStar(require("./utils/index.js"), exports);
49
54
  //# sourceMappingURL=index.js.map
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA6D;AAApD,qGAAA,QAAQ,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAI1C,mEAAkD;AAElD,mDAAgC;AAChC,6DAA0C;AAiB1C,mDAAgC;AAIhC,iEAA8C;AAQ9C,wDAAqC;AAcrC,oDAAiC;AACjC,qDAAkC;AAIlC,sEAAqD;AAiBrD,oDAAiC;AAEjC,wDAAqC;AAErC,qDAAkC;AAWlC,oDAAiC;AACjC,yDAAsC;AAYtC,mDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA6D;AAApD,qGAAA,QAAQ,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,sGAAA,SAAS,OAAA;AAK1C,mEAAkD;AAElD,mDAAgC;AAChC,6DAA0C;AAkB1C,mDAAgC;AAIhC,iEAA8C;AAQ9C,wDAAqC;AAGrC,gEAA+C;AAE/C,oDAAiC;AACjC,qDAAkC;AAGlC,sEAAqD;AAWrD,yEAAwD;AAUxD,oDAAiC;AAEjC,wDAAqC;AAErC,qDAAkC;AAWlC,oDAAiC;AACjC,yDAAsC;AACtC,0DAAuC;AACvC,mEAAkD;AAElD,0DAAuC;AAWvC,mDAAgC"}
@@ -0,0 +1,6 @@
1
+ import type { IsBigint } from '../bigint/bigint_type.js';
2
+ import type { IsNumber } from '../number/number_type.js';
3
+ export type Abs<N extends number | bigint, Fail = never> = IsNumber<N, [
4
+ number
5
+ ] extends [N] ? Fail : `${N}` extends `-${infer P extends number}` ? P : N, IsBigint<N, [bigint] extends [N] ? Fail : `${N}` extends `-${infer P extends bigint}` ? P : N, Fail>>;
6
+ //# sourceMappingURL=abs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abs.d.ts","sourceRoot":"","sources":["../../ts/math/abs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAYxD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CAClE,CAAC,EACD;IAAC,MAAM;CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EACjF,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,EAAE,SAAS,IAAI,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CACpG,CAAA"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Add.js.map
3
+ //# sourceMappingURL=abs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abs.js","sourceRoot":"","sources":["../../ts/math/abs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { NumericStruct } from './numeric_struct.js';
2
+ export type Add<A extends number | bigint, B extends number | bigint, Fail = never> = [
3
+ NumericStruct.FromNumeric<A, Fail>,
4
+ NumericStruct.FromNumeric<B, Fail>
5
+ ] extends [infer MA, infer MB] ? MA extends NumericStruct ? MB extends NumericStruct ? NumericStruct.ToNumeric<NumericStruct.Add<MA, MB>> : Fail : Fail : never;
6
+ export type Increment<N extends number | bigint> = Add<N, 1>;
7
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../ts/math/add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI;IACrF,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;IAClC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;CAClC,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAC3B,EAAE,SAAS,aAAa,GACvB,EAAE,SAAS,aAAa,GACvB,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAClD,IAAI,GACL,IAAI,GACL,KAAK,CAAA;AAER,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Max.js.map
3
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../ts/math/add.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { IsPositive } from '../numeric/positive.js';
2
+ import type { Subtract } from './subtract.js';
3
+ export type GreaterThan<A extends number | bigint, B extends number | bigint, Fail = never> = Subtract<A, B, 'fail'> extends infer R extends number ? R extends 0 ? false : IsPositive<R> : Fail;
4
+ //# sourceMappingURL=greater_than.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greater_than.d.ts","sourceRoot":"","sources":["../../ts/math/greater_than.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,QAAQ,CACrG,CAAC,EACD,CAAC,EACD,MAAM,CACN,SAAS,MAAM,CAAC,SAAS,MAAM,GAC7B,CAAC,SAAS,CAAC,GACV,KAAK,GACL,UAAU,CAAC,CAAC,CAAC,GACd,IAAI,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=greater_than.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greater_than.js","sourceRoot":"","sources":["../../ts/math/greater_than.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
- export type { Abs } from './Abs.js';
2
- export type { Add, Increment } from './Add.js';
3
- export type { Digit, DigitArray } from './Digit.js';
4
- export type { GreaterThan } from './GreaterThan.js';
5
- export type { Max } from './Max.js';
6
- export type { Decrement, Subtract } from './Subtract.js';
1
+ export type { Abs } from './abs.js';
2
+ export type { GreaterThan } from './greater_than.js';
3
+ export type { Max } from './max.js';
4
+ export type { Add, Increment } from './add.js';
5
+ export type { Multiply } from './multiply.js';
6
+ export type { Decrement, Subtract } from './subtract.js';
7
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,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;AAEnC,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,YAAY,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,5 @@
1
+ export type { Add, Increment } from './add.js';
2
+ export type { ToNegative } from './math_plus.to_negative.js';
3
+ export type { Multiply } from './multiply.js';
4
+ export type { Decrement, Subtract } from './subtract.js';
5
+ //# sourceMappingURL=math_plus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math_plus.d.ts","sourceRoot":"","sources":["../../ts/math/math_plus.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAC5D,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=math_plus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math_plus.js","sourceRoot":"","sources":["../../ts/math/math_plus.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Converts a number or bigint `N` to negative.
3
+ * If `N` is already negative, it returns itself.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * ToNegative<5> // -5
8
+ * ToNegative<0> // 0
9
+ * ToNegative<-5> // -5
10
+ * ```
11
+ */
12
+ export type ToNegative<N extends number | bigint> = N extends number ? N extends 0 ? 0 : `-${N}` extends `${infer W extends number}` ? W : N : N extends 0n ? 0n : `-${N}` extends `${infer W extends bigint}` ? W : N;
13
+ //# sourceMappingURL=math_plus.to_negative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math_plus.to_negative.d.ts","sourceRoot":"","sources":["../../ts/math/math_plus.to_negative.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,MAAM,GACjE,CAAC,SAAS,CAAC,GACV,CAAC,GACD,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,GAC3C,CAAC,GACD,CAAC,GACF,CAAC,SAAS,EAAE,GACZ,EAAE,GACF,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,EAAE,GAC3C,CAAC,GACD,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=math_plus.to_negative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math_plus.to_negative.js","sourceRoot":"","sources":["../../ts/math/math_plus.to_negative.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { IsNever } from '../never/never_type.js';
2
+ import type { GreaterThan } from './greater_than.js';
3
+ export type Max<A extends number | bigint, B extends number | bigint, Fail = never> = GreaterThan<A, B> extends infer Result ? IsNever<Result> extends true ? Fail : Result extends true ? A : B : never;
4
+ //# sourceMappingURL=max.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"max.d.ts","sourceRoot":"","sources":["../../ts/math/max.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,WAAW,CAChG,CAAC,EACD,CAAC,CACD,SAAS,MAAM,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,GAC3B,IAAI,GACJ,MAAM,SAAS,IAAI,GACnB,CAAC,GACD,CAAC,GACF,KAAK,CAAA"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Abs.js.map
3
+ //# sourceMappingURL=max.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"max.js","sourceRoot":"","sources":["../../ts/math/max.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { NumericStruct } from './numeric_struct.js';
2
+ export type Multiply<A extends number | bigint, B extends number | bigint, Fail = never> = [
3
+ NumericStruct.FromNumeric<A, Fail>,
4
+ NumericStruct.FromNumeric<B, Fail>
5
+ ] extends [infer MA, infer MB] ? MA extends NumericStruct ? MB extends NumericStruct ? NumericStruct.ToNumeric<NumericStruct.Multiply<MA, MB>> : Fail : Fail : never;
6
+ //# sourceMappingURL=multiply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiply.d.ts","sourceRoot":"","sources":["../../ts/math/multiply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI;IAC1F,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;IAClC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC;CAClC,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GAC3B,EAAE,SAAS,aAAa,GACvB,EAAE,SAAS,aAAa,GACvB,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GACvD,IAAI,GACL,IAAI,GACL,KAAK,CAAA"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=array.js.map
3
+ //# sourceMappingURL=multiply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiply.js","sourceRoot":"","sources":["../../ts/math/multiply.ts"],"names":[],"mappings":""}