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
@@ -1,3 +1,5 @@
1
+ import type { IsStrictNumber } from '../number/strict_number_type.js';
2
+ import type { TupleType } from '../tuple/tuple_type.js';
1
3
  import type { IndexAt } from './array_index.js';
2
4
  /**
3
5
  * Gets the type of the array or tuple at index `N`.
@@ -12,17 +14,5 @@ import type { IndexAt } from './array_index.js';
12
14
  * type R = At<[1, 2, 3], -1> // 3
13
15
  * ```
14
16
  */
15
- export type At<A extends unknown[], N extends number, Fail = never> = IndexAt<A, N, Fail> extends infer I ? I extends number ? A[I] : Fail : never;
16
- /**
17
- * Concats two arrays.
18
- *
19
- * alias of: `[...A, ...B]`
20
- *
21
- * @alias ArrayPlus.Concat
22
- *
23
- * ```ts
24
- * type R = Concat<[1], [2, 3]> // [1, 2, 3]
25
- * ```
26
- */
27
- export type Concat<A extends unknown[], B extends unknown[]> = [...A, ...B];
28
- //# sourceMappingURL=array.d.ts.map
17
+ export type At<A extends unknown[], N extends number, Fail = never> = IndexAt<A, N, Fail, Fail, Fail> extends infer I ? I extends number ? TupleType<A, IsStrictNumber<I, A[I] | undefined, A[I]>, A[I] | undefined> : Fail : never;
18
+ //# sourceMappingURL=array.at.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.at.d.ts","sourceRoot":"","sources":["../../ts/array/array.at.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CAC5E,CAAC,EACD,CAAC,EACD,IAAI,EACJ,IAAI,EACJ,IAAI,CACJ,SAAS,MAAM,CAAC,GACd,CAAC,SAAS,MAAM,GACf,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GACzE,IAAI,GACL,KAAK,CAAA"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=pad_left.js.map
3
+ //# sourceMappingURL=array.at.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.at.js","sourceRoot":"","sources":["../../ts/array/array.at.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Concats two arrays or tuples.
3
+ *
4
+ * alias of: `[...A, ...B]`
5
+ *
6
+ * @alias ArrayPlus.Concat
7
+ *
8
+ * ```ts
9
+ * type R = Concat<[1], [2, 3]> // [1, 2, 3]
10
+ * ```
11
+ */
12
+ export type Concat<A extends unknown[], B extends unknown[]> = [...A, ...B];
13
+ //# sourceMappingURL=array.concat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.concat.d.ts","sourceRoot":"","sources":["../../ts/array/array.concat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=array.concat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.concat.js","sourceRoot":"","sources":["../../ts/array/array.concat.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import type { IsTuple } from '../tuple/tuple_type.js';
2
+ /**
3
+ * Returns an array of key-value pairs for every entry in the array or tuple.
4
+ *
5
+ * Note that this is not the same as `Array.entries(A)`,
6
+ * which returns an iterable interator.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * ArrayPlus.Entries<Array<string | number>> // Array<[number, string | number]>
11
+ * ArrayPlus.Entries<[1, 2, 3]> // [[0, 1], [1, 2], [2, 3]]
12
+ * ```
13
+ */
14
+ export type Entries<A extends unknown[]> = IsTuple<A, Device<A, []>, A extends Array<infer T> ? Array<[number, T]> : never>;
15
+ type Device<A extends unknown[], R extends unknown[]> = A['length'] extends 0 ? R : A extends [...infer F, infer N] ? Device<F, [[F['length'], N], ...R]> : never;
16
+ export {};
17
+ //# sourceMappingURL=array.entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.entries.d.ts","sourceRoot":"","sources":["../../ts/array/array.entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,OAAO,CACjD,CAAC,EACD,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EACb,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CACrD,CAAA;AAED,KAAK,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAC1E,CAAC,GACD,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC/B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GACnC,KAAK,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=array.entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.entries.js","sourceRoot":"","sources":["../../ts/array/array.entries.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import type { TupleType } from '../tuple/tuple_type.js';
2
+ /**
3
+ * Returns the first type in the array or tuple that matches the `Criteria`.
4
+ *
5
+ * If the `Criteria` is not met, it will return `never'.
6
+ *
7
+ * For `Array<T>`, it will return `T | undefined` if `T` satisfies `Criteria`.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * ArrayPlus.Find<Array<1 | 2 | 'x'>, number> // 1 | 2 | undefined
12
+ *
13
+ * ArrayPlus.Find<[true, 1, 'x', 3], string> // 'x'
14
+ * ```
15
+ */
16
+ export type FindFirst<A extends unknown[], Criteria> = TupleType<A, A['length'] extends 0 ? never : A extends [infer Head, ...infer Tail] ? Head extends Criteria ? Head : FindFirst<Tail, Criteria> : never, A extends Array<infer T> ? (T extends Criteria ? T | undefined : never) : never>;
17
+ /**
18
+ * @deprecated use FindFirst
19
+ */
20
+ export type First<A extends any[], Criteria> = FindFirst<A, Criteria>;
21
+ //# sourceMappingURL=array.find.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.find.d.ts","sourceRoot":"","sources":["../../ts/array/array.find.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,QAAQ,IAAI,SAAS,CAC/D,CAAC,EACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAClB,KAAK,GACL,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GACrC,IAAI,SAAS,QAAQ,GACpB,IAAI,GACJ,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,GAC1B,KAAK,EACR,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK,CAC/E,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=find_first.js.map
3
+ //# sourceMappingURL=array.find.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.find.js","sourceRoot":"","sources":["../../ts/array/array.find.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import type { TupleType } from '../tuple/tuple_type.js';
2
+ /**
3
+ * Returns the last type in the array or tuple that matches the `Criteria`.
4
+ *
5
+ * If the `Criteria` is not met, it will return `never'.
6
+ *
7
+ * For `Array<T>`, it will return `T | undefined` if `T` satisfies `Criteria`.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * ArrayPlus.Find<Array<1 | 2 | 'x'>, number> // 1 | 2 | undefined
12
+ *
13
+ * ArrayPlus.Find<[true, 123, 'x', 321], number> // 321
14
+ * ```
15
+ */
16
+ export type FindLast<A extends Array<any>, Criteria> = TupleType<A, A['length'] extends 0 ? never : A extends [...infer Heads, infer Last] ? Last extends Criteria ? Last : FindLast<Heads, Criteria> : never, A extends Array<infer T> ? (T extends Criteria ? T | undefined : never) : never>;
17
+ //# sourceMappingURL=array.find_last.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.find_last.d.ts","sourceRoot":"","sources":["../../ts/array/array.find_last.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,IAAI,SAAS,CAC/D,CAAC,EACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAClB,KAAK,GACL,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,EAAE,MAAM,IAAI,CAAC,GACtC,IAAI,SAAS,QAAQ,GACpB,IAAI,GACJ,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,GAC1B,KAAK,EACR,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,QAAQ,GAAG,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK,CAC/E,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=array.find_last.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.find_last.js","sourceRoot":"","sources":["../../ts/array/array.find_last.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type Reverse<A extends unknown[]> = A extends [infer First, ...infer Rest] ? [...Reverse<Rest>, First] : A;
2
+ //# sourceMappingURL=array.reverse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.reverse.d.ts","sourceRoot":"","sources":["../../ts/array/array.reverse.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9E,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GACzB,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=array.reverse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.reverse.js","sourceRoot":"","sources":["../../ts/array/array.reverse.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import type { IsEqual } from '../equal/equal.js';
2
+ import type { CanAssign } from '../index.js';
3
+ import type { Tail } from './tail.js';
4
+ import type { UnionOfValues } from './union_of_values.js';
5
+ /**
6
+ * Determines whether the array type `A` contains any elements that satisfies the specified `Criteria` type.
7
+ *
8
+ * It operates in `loose` mode by default,
9
+ * which means literal types satisfies their widened counterparts.
10
+ *
11
+ * You can also change it to `strict` mode.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * Some<string[], string> // true
16
+ * Some<['a', boolean], boolean> // true
17
+ * Some<['a', true], boolean> //true
18
+ *
19
+ * Some<['a', true], boolean, 'strict'> // false
20
+ * ```
21
+ */
22
+ export type Some<A extends any[], Criteria, Mode extends 'strict' | 'loose' = 'loose', Then = true, Else = false> = Mode extends 'strict' ? Some.Strict<A, Criteria, Then, Else> : Some.Loose<A, Criteria, Then, Else>;
23
+ export declare namespace Some {
24
+ type Strict<A extends unknown[], Criteria, Then, Else> = number extends A['length'] ? IsEqual<UnionOfValues<A>, Criteria> extends true ? Then : Else : StrictTuple<A, Criteria, Then, Else>;
25
+ type StrictTuple<A extends unknown[], Criteria, Then, Else> = A['length'] extends 0 ? Else : IsEqual<A[0], Criteria> extends true ? Then : StrictTuple<Tail<A>, Criteria, Then, Else>;
26
+ type Loose<A extends unknown[], Criteria, Then, Else> = number extends A['length'] ? CanAssign<UnionOfValues<A>, Criteria, Then, Else> : LooseTuple<A, Criteria, Then, Else>;
27
+ type LooseTuple<A extends unknown[], Criteria, Then, Else> = A['length'] extends 0 ? Else : A[0] extends Criteria ? Then : LooseTuple<Tail<A>, Criteria, Then, Else>;
28
+ }
29
+ //# sourceMappingURL=array.some.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.some.d.ts","sourceRoot":"","sources":["../../ts/array/array.some.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,IAAI,CACf,CAAC,SAAS,GAAG,EAAE,EACf,QAAQ,EACR,IAAI,SAAS,QAAQ,GAAG,OAAO,GAAG,OAAO,EACzC,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,KAAK,IACT,IAAI,SAAS,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAEtG,yBAAiB,IAAI,CAAC;IACrB,KAAY,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GACvF,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,IAAI,GAC/C,IAAI,GACJ,IAAI,GACL,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAEvC,KAAY,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACvF,IAAI,GACJ,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,IAAI,GACpC,IAAI,GACJ,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAE7C,KAAY,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GACtF,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,GACjD,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAEtC,KAAY,UAAU,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtF,IAAI,GACJ,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GACrB,IAAI,GACJ,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;CAC5C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=array.some.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.some.js","sourceRoot":"","sources":["../../ts/array/array.some.ts"],"names":[],"mappings":""}
@@ -1,12 +1,12 @@
1
1
  import type { IsAny } from '../any/any_type.js';
2
- import type { Equal } from '../equal/equal.js';
3
- import type { Abs } from '../math/Abs.js';
4
- import type { GreaterThan } from '../math/GreaterThan.js';
5
- import type { Subtract } from '../math/Subtract.js';
2
+ import type { IsEqual } from '../equal/equal.js';
3
+ import type { Abs } from '../math/abs.js';
4
+ import type { GreaterThan } from '../math/greater_than.js';
5
+ import type { Subtract } from '../math/subtract.js';
6
6
  import type { IsNever } from '../never/never_type.js';
7
- import type { Integer } from '../number/integer.js';
8
- import type { Negative } from '../number/negative.js';
9
7
  import type { StrictNumberType } from '../number/strict_number_type.js';
8
+ import type { Integer } from '../numeric/integer.js';
9
+ import type { Negative } from '../numeric/negative.js';
10
10
  /**
11
11
  * Gets the normalized index to access the element of an array or tuple.
12
12
  *
@@ -18,7 +18,7 @@ import type { StrictNumberType } from '../number/strict_number_type.js';
18
18
  * type R = IndexAt<['a', 'b', 'c'], -4> // never
19
19
  * ```
20
20
  */
21
- export type IndexAt<A extends Array<unknown>, N extends number, Fail = never> = Equal<A['length'], 0, Fail, Integer<N, StrictNumberType<A['length'], N, Negative<N, GreaterThan<Abs<N>, A['length']> extends true ? Fail : Subtract<A['length'], Abs<N>>, GreaterThan<A['length'], N> extends true ? N : Fail>>, IsAny<N, number, StrictNumberType<N, N>>>>;
21
+ export type IndexAt<A extends Array<unknown>, N extends number, Fail = never, Upper = A['length'], Lower = 0> = IsEqual<A['length'], 0, Fail, Integer<N, StrictNumberType<A['length'], N, Negative<N, GreaterThan<Abs<N>, A['length']> extends true ? Lower : Subtract<A['length'], Abs<N>>, GreaterThan<A['length'], N> extends true ? N : Upper>>, IsAny<N, number, StrictNumberType<N, N>>>>;
22
22
  /**
23
23
  * Is N an out of bound index of A.
24
24
  *
@@ -30,5 +30,5 @@ export type IndexAt<A extends Array<unknown>, N extends number, Fail = never> =
30
30
  * type R = IsIndexOutOfBound<[1], -2> // true
31
31
  * ```
32
32
  */
33
- export type IsIndexOutOfBound<A extends unknown[], N extends number, Then = true, Else = false> = IsNever<IndexAt<A, N>, Then, Else>;
33
+ export type IsIndexOutOfBound<A extends unknown[], N extends number, Then = true, Else = false> = IsNever<IndexAt<A, N, never, never, never>, Then, Else>;
34
34
  //# sourceMappingURL=array_index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array_index.d.ts","sourceRoot":"","sources":["../../ts/array/array_index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,KAAK,CACpF,CAAC,CAAC,QAAQ,CAAC,EACX,CAAC,EACD,IAAI,EACJ,OAAO,CACN,CAAC,EACD,gBAAgB,CACf,CAAC,CAAC,QAAQ,CAAC,EAEX,CAAC,EAED,QAAQ,CACP,CAAC,EACD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EACpF,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,IAAI,CACnD,CACD,EAED,KAAK,CACJ,CAAC,EACD,MAAM,EACN,gBAAgB,CACf,CAAC,EAED,CAAC,CACD,CACD,CACD,CACD,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CACxG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EACb,IAAI,EACJ,IAAI,CACJ,CAAA"}
1
+ {"version":3,"file":"array_index.d.ts","sourceRoot":"","sources":["../../ts/array/array_index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEtD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,OAAO,CAClB,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,EACxB,CAAC,SAAS,MAAM,EAChB,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,EACnB,KAAK,GAAG,CAAC,IACN,OAAO,CACV,CAAC,CAAC,QAAQ,CAAC,EACX,CAAC,EACD,IAAI,EACJ,OAAO,CACN,CAAC,EACD,gBAAgB,CACf,CAAC,CAAC,QAAQ,CAAC,EAEX,CAAC,EAED,QAAQ,CACP,CAAC,EACD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EACrF,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,CACpD,CACD,EAED,KAAK,CACJ,CAAC,EACD,MAAM,EACN,gBAAgB,CACf,CAAC,EAED,CAAC,CACD,CACD,CACD,CACD,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,OAAO,CACxG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAClC,IAAI,EACJ,IAAI,CACJ,CAAA"}
@@ -1,3 +1,11 @@
1
- export type { At, Concat } from './array.js';
1
+ export type { At } from './array.at.js';
2
+ export type { Concat } from './array.concat.js';
3
+ export type { Entries } from './array.entries.js';
4
+ export type { FindFirst as Find } from './array.find.js';
5
+ export type { FindLast } from './array.find_last.js';
6
+ export type { Reverse } from './array.reverse.js';
7
+ export type { Some } from './array.some.js';
2
8
  export type { IndexAt, IsIndexOutOfBound } from './array_index.js';
9
+ export type { SplitAt } from './array_plus.split_at.js';
10
+ export type { PadStart } from './pad_start.js';
3
11
  //# sourceMappingURL=array_plus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array_plus.d.ts","sourceRoot":"","sources":["../../ts/array/array_plus.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"array_plus.d.ts","sourceRoot":"","sources":["../../ts/array/array_plus.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AACvC,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,SAAS,IAAI,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACxD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,YAAY,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAClE,YAAY,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvD,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,30 @@
1
+ import type { IndexAt } from './array_index.js';
2
+ import { ArrayType } from './array_type.js';
3
+ /**
4
+ * Splits an array into two at the specified `Index`.
5
+ *
6
+ * If the `Index` is out of bounds,
7
+ * it will set to the boundary value, similar to `array.splice()`.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * SplitAt<[1, 2, 3, 4, 5], 0> // [[], [1, 2, 3, 4, 5]]
12
+ * SplitAt<[1, 2, 3, 4, 5], -5> // [[], [1, 2, 3, 4, 5]]
13
+ *
14
+ * SplitAt<[1, 2, 3, 4, 5], 2> // [[1, 2], [3, 4, 5]]
15
+ *
16
+ * SplitAt<[1, 2, 3, 4, 5], 4> // [[1, 2, 3, 4], [5]]
17
+ * SplitAt<[1, 2, 3, 4, 5], -1> // [[1, 2, 3, 4], [5]]
18
+ *
19
+ * SplitAt<[1, 2, 3, 4, 5], 5> // [[1, 2, 3, 4, 5], []]
20
+ *
21
+ * // out of bound resets to boundary
22
+ * SplitAt<[1, 2, 3, 4, 5], 6> // [[1, 2, 3, 4, 5], []]
23
+ * SplitAt<[1, 2, 3, 4, 5], -6> // [[], [1, 2, 3, 4, 5]]
24
+ * ```
25
+ */
26
+ export type SplitAt<A extends unknown[], Index extends number> = ArrayType<A, [
27
+ A,
28
+ A
29
+ ], ArraySplitAtDevice<A, [], IndexAt<A, Index>>>;
30
+ //# sourceMappingURL=array_plus.split_at.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array_plus.split_at.d.ts","sourceRoot":"","sources":["../../ts/array/array_plus.split_at.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,KAAK,SAAS,MAAM,IAAI,SAAS,CACzE,CAAC,EACD;IAAC,CAAC;IAAE,CAAC;CAAC,EACN,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAC5C,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=array_plus.split_at.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array_plus.split_at.js","sourceRoot":"","sources":["../../ts/array/array_plus.split_at.ts"],"names":[],"mappings":""}
@@ -1,8 +1,8 @@
1
- import type { Equal } from '../equal/equal.js';
1
+ import type { IsEqual } from '../equal/equal.js';
2
2
  import type { NonNull, NonUndefined } from '../utils/index.js';
3
3
  export type DropFirst<A extends any[]> = number extends A['length'] ? A : A['length'] extends 0 ? never[] : A['length'] extends 1 ? never[] : A extends [any, ...infer Tail] ? Tail : never;
4
4
  export type DropLast<A extends any[]> = number extends A['length'] ? A : A['length'] extends 0 ? never[] : A['length'] extends 1 ? never[] : A extends [...infer Heads, any] ? Heads : never;
5
- type ExcludeUnionOfEmptyTuple<A> = Equal<A, []> extends true ? A : Exclude<A, []>;
5
+ type ExcludeUnionOfEmptyTuple<A> = IsEqual<A, []> extends true ? A : Exclude<A, []>;
6
6
  /**
7
7
  * drops entries matching `Criteria` in array or tuple `A`.
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../ts/array/drop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE9D,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAChE,CAAC,GACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,KAAK,EAAE,GACP,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,KAAK,EAAE,GACP,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9B,IAAI,GACJ,KAAK,CAAA;AAER,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAC/D,CAAC,GACD,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,KAAK,EAAE,GACP,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GACrB,KAAK,EAAE,GACP,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,EAAE,GAAG,CAAC,GAC/B,KAAK,GACL,KAAK,CAAA;AAER,KAAK,wBAAwB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAEjF;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,IAAI,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAEzF,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAEpB,KAAK,EAAE,GACP,SAAS,SAAS,QAAQ,GAC1B,IAAI,SAAS,QAAQ,GACpB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC1B,IAAI,SAAS,QAAQ,GACrB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACpB,QAAQ,SAAS,CAAC,CAAC,CAAC,CAAC,GACrB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAC9B,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GACrB,CAAC,GACD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAC/B,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;AAE9B,KAAK,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAElF,CAAC,GACD,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAEvB,SAAS,SAAS,QAAQ,GACzB,wBAAwB,CAAC,IAAI,SAAS,QAAQ,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAC7D,wBAAwB,CAAC,IAAI,SAAS,QAAQ,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAEhE,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,KAAK,GACnC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,GACzB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,GACxD,KAAK,EAAE,CAAA;AAEV,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAC/D,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,CAAA;AAC/E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAEzE;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAE3F"}
1
+ {"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../ts/array/drop.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,16 @@
1
1
  export * from './common_prop_keys.js';
2
- export * from './create_tuple.js';
3
2
  export * from './drop.js';
4
3
  export * from './filter.js';
5
- export * from './find_first.js';
6
- export * from './find_last.js';
4
+ export * from './array.find.js';
5
+ export * from './array.find_last.js';
7
6
  export * from './head.js';
8
7
  export * from './intersect_of_props.js';
9
8
  export * from './last.js';
10
9
  export * from './literal_array.js';
11
- export * from './pad_left.js';
10
+ export * from './pad_start.js';
12
11
  export * from './reduce_while.js';
13
12
  export * from './reverse.js';
14
- export * from './some.js';
13
+ export * from './array.some.js';
15
14
  export * from './tail.js';
16
15
  export * from './union_of_props.js';
17
16
  export * from './union_of_values.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/array/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,yBAAyB,CAAA;AACvC,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/array/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,WAAW,CAAA;AACzB,cAAc,yBAAyB,CAAA;AACvC,cAAc,WAAW,CAAA;AACzB,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA"}
@@ -15,19 +15,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./common_prop_keys.js"), exports);
18
- __exportStar(require("./create_tuple.js"), exports);
19
18
  __exportStar(require("./drop.js"), exports);
20
19
  __exportStar(require("./filter.js"), exports);
21
- __exportStar(require("./find_first.js"), exports);
22
- __exportStar(require("./find_last.js"), exports);
20
+ __exportStar(require("./array.find.js"), exports);
21
+ __exportStar(require("./array.find_last.js"), exports);
23
22
  __exportStar(require("./head.js"), exports);
24
23
  __exportStar(require("./intersect_of_props.js"), exports);
25
24
  __exportStar(require("./last.js"), exports);
26
25
  __exportStar(require("./literal_array.js"), exports);
27
- __exportStar(require("./pad_left.js"), exports);
26
+ __exportStar(require("./pad_start.js"), exports);
28
27
  __exportStar(require("./reduce_while.js"), exports);
29
28
  __exportStar(require("./reverse.js"), exports);
30
- __exportStar(require("./some.js"), exports);
29
+ __exportStar(require("./array.some.js"), exports);
31
30
  __exportStar(require("./tail.js"), exports);
32
31
  __exportStar(require("./union_of_props.js"), exports);
33
32
  __exportStar(require("./union_of_values.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/array/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,oDAAiC;AACjC,4CAAyB;AACzB,8CAA2B;AAC3B,kDAA+B;AAC/B,iDAA8B;AAC9B,4CAAyB;AACzB,0DAAuC;AACvC,4CAAyB;AACzB,qDAAkC;AAClC,gDAA6B;AAC7B,oDAAiC;AACjC,+CAA4B;AAC5B,4CAAyB;AACzB,4CAAyB;AACzB,sDAAmC;AACnC,uDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/array/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,4CAAyB;AACzB,8CAA2B;AAC3B,kDAA+B;AAC/B,uDAAoC;AACpC,4CAAyB;AACzB,0DAAuC;AACvC,4CAAyB;AACzB,qDAAkC;AAClC,iDAA8B;AAC9B,oDAAiC;AACjC,+CAA4B;AAC5B,kDAA+B;AAC/B,4CAAyB;AACzB,sDAAmC;AACnC,uDAAoC"}
@@ -0,0 +1,32 @@
1
+ import type { CanAssign } from '../index.js';
2
+ import type { CreateTuple } from '../tuple/create_tuple.js';
3
+ import type { PadStart as TuplePadStart } from '../tuple/tuple_plus.pad_start.js';
4
+ import type { UnionOfValues } from './union_of_values.js';
5
+ /**
6
+ * Pads the start of an array or tuple with `PadWith`.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * // Padding array
11
+ * PadStart<number[], 1, string> // [string, ...number[]]
12
+ *
13
+ * // Ignore if the type is compatible
14
+ * PadStart<number[], 2, number> // number[]
15
+ * PadStart<number[], 3, 1> // number[]
16
+ *
17
+ * // Padding tuple
18
+ * PadStart<[1, 2, 3], 5, 0> // [0, 0, 1, 2, 3]
19
+ *
20
+ * // Ignore if MaxLength is less than the length of the tuple
21
+ * PadStart<[1, 2, 3], 5, 0> // [0, 0, 1, 2, 3]
22
+ *
23
+ * // Default to unknown
24
+ * PadStart<[1, 2, 3], 5> // [unknown, unknown, 1, 2, 3]
25
+ * ```
26
+ */
27
+ export type PadStart<A extends unknown[], MaxLength extends number, PadWith = unknown> = number extends A['length'] ? MaxLength extends 0 ? A : CanAssign<PadWith, UnionOfValues<A>> extends true ? A : PadStart<[...CreateTuple<MaxLength, PadWith>, ...A], MaxLength, PadWith> : TuplePadStart<A, MaxLength, PadWith>;
28
+ /**
29
+ * @deprecated use PadStart instead
30
+ */
31
+ export type PadLeft<A extends any[], Total extends number, PadWith = any> = PadStart<A, Total, PadWith>;
32
+ //# sourceMappingURL=pad_start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pad_start.d.ts","sourceRoot":"","sources":["../../ts/array/pad_start.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,QAAQ,CACnB,CAAC,SAAS,OAAO,EAAE,EACnB,SAAS,SAAS,MAAM,EACxB,OAAO,GAAG,OAAO,IACd,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAC,GAC3B,SAAS,SAAS,CAAC,GAClB,CAAC,GACD,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACjD,CAAC,GACD,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,GACzE,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AAEvC;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,KAAK,SAAS,MAAM,EAAE,OAAO,GAAG,GAAG,IAAI,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=find_last.js.map
3
+ //# sourceMappingURL=pad_start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pad_start.js","sourceRoot":"","sources":["../../ts/array/pad_start.ts"],"names":[],"mappings":""}
@@ -6,6 +6,9 @@ import { AnyFunction } from '../function/any_function.js';
6
6
  */
7
7
  export declare function assertType<T>(subject: T): asserts subject is T;
8
8
  export declare function assertType<T>(subject: unknown, validator: (s: T) => boolean): asserts subject is T;
9
+ /**
10
+ * @deprecated this is not a failsafe test
11
+ */
9
12
  export declare function assertType<T extends new (...args: any) => any>(subject: unknown, constructor: T): asserts subject is InstanceType<T>;
10
13
  export declare namespace assertType {
11
14
  var isUndefined: (subject: undefined) => asserts subject is undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"assert_type.d.ts","sourceRoot":"","sources":["../../ts/assertion/assert_type.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAEzD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AAC/D,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AACnG,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAC7D,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,GACZ,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;yBAHrB,UAAU"}
1
+ {"version":3,"file":"assert_type.d.ts","sourceRoot":"","sources":["../../ts/assertion/assert_type.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAEzD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AAC/D,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AACnG;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAC7D,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,GACZ,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;yBAHrB,UAAU"}
@@ -77,6 +77,9 @@ assertType.noFunction = function (subject) {
77
77
  if (typeof subject === 'function')
78
78
  throw TypeError(`subject is function`);
79
79
  };
80
+ /**
81
+ * @deprecated
82
+ */
80
83
  assertType.isConstructor = function (subject) {
81
84
  if (!(0, index_js_1.isConstructor)(subject))
82
85
  throw TypeError(`subject is not a constructor`);
@@ -1 +1 @@
1
- {"version":3,"file":"assert_type.js","sourceRoot":"","sources":["../../ts/assertion/assert_type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assert_type.js","sourceRoot":"","sources":["../../ts/assertion/assert_type.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AACjC,gDAAsE;AAgBtE,SAAgB,UAAU,CAAC,OAAgB,EAAE,SAA+B;IAC3E,IAAI,SAAS,EAAE;QACd,IAAI,CAAC,IAAA,wBAAa,EAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,YAAY,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACvF,MAAM,IAAI,SAAS,CAAC,4BAA4B,IAAA,iBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,CAAA;KACtE;IACD,OAAM;AACP,CAAC;AAND,gCAMC;AAED,UAAU,CAAC,WAAW,GAAG,UAAU,OAAkB;IACpD,IAAI,OAAO,OAAO,KAAK,WAAW;QAAE,MAAM,SAAS,CAAC,0BAA0B,CAAC,CAAA;AAChF,CAAC,CAAA;AACD,UAAU,CAAC,WAAW,GAAG,UAAa,OAA8B;IACnE,IAAI,OAAO,OAAO,KAAK,WAAW;QAAE,MAAM,SAAS,CAAC,sBAAsB,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,UAAU,CAAC,MAAM,GAAG,UAAU,OAAa;IAC1C,IAAI,OAAO,KAAK,IAAI;QAAE,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAA;AAC7D,CAAC,CAAA;AACD,UAAU,CAAC,MAAM,GAAG,UAAa,OAAyB;IACzD,IAAI,OAAO,KAAK,IAAI;QAAE,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAA;AACzD,CAAC,CAAA;AAED,UAAU,CAAC,QAAQ,GAAG,UAAU,OAAe;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,MAAM,SAAS,CAAC,uBAAuB,CAAC,CAAA;AAC1E,CAAC,CAAA;AACD,UAAU,CAAC,QAAQ,GAAG,UAAa,OAA2B;IAC7D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,MAAM,SAAS,CAAC,mBAAmB,CAAC,CAAA;AACtE,CAAC,CAAA;AAED,UAAU,CAAC,SAAS,GAAG,UAAU,OAAgB;IAChD,IAAI,OAAO,OAAO,KAAK,SAAS;QAAE,MAAM,SAAS,CAAC,wBAAwB,CAAC,CAAA;AAC5E,CAAC,CAAA;AACD,UAAU,CAAC,SAAS,GAAG,UAAa,OAA4B;IAC/D,IAAI,OAAO,OAAO,KAAK,SAAS;QAAE,MAAM,SAAS,CAAC,oBAAoB,CAAC,CAAA;AACxE,CAAC,CAAA;AAED,UAAU,CAAC,MAAM,GAAG,UAAU,OAAa;IAC1C,IAAI,OAAO,KAAK,IAAI;QAAE,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAA;AAC7D,CAAC,CAAA;AACD,UAAU,CAAC,MAAM,GAAG,UAAa,OAAyB;IACzD,aAAa;IACb,IAAI,OAAO,KAAK,IAAI;QAAE,MAAM,SAAS,CAAC,iBAAiB,CAAC,CAAA;AACzD,CAAC,CAAA;AAED,UAAU,CAAC,OAAO,GAAG,UAAU,OAAc;IAC5C,IAAI,OAAO,KAAK,KAAK;QAAE,MAAM,SAAS,CAAC,sBAAsB,CAAC,CAAA;AAC/D,CAAC,CAAA;AACD,UAAU,CAAC,OAAO,GAAG,UAAa,OAA0B;IAC3D,aAAa;IACb,IAAI,OAAO,KAAK,KAAK;QAAE,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,UAAU,CAAC,QAAQ,GAAG,UAAU,OAAe;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,MAAM,SAAS,CAAC,uBAAuB,CAAC,CAAA;AAC1E,CAAC,CAAA;AACD,UAAU,CAAC,QAAQ,GAAG,UAAa,OAA2B;IAC7D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,MAAM,SAAS,CAAC,mBAAmB,CAAC,CAAA;AACtE,CAAC,CAAA;AAED,UAAU,CAAC,UAAU,GAAG,UAAU,OAAoB;IACrD,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,MAAM,SAAS,CAAC,yBAAyB,CAAC,CAAA;AAC9E,CAAC,CAAA;AACD,UAAU,CAAC,UAAU,GAAG,UAAa,OAAgC;IACpE,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAA;AAC1E,CAAC,CAAA;AAED;;GAEG;AACH,UAAU,CAAC,aAAa,GAAG,UAAU,OAAuB;IAC3D,IAAI,CAAC,IAAA,wBAAa,EAAC,OAAO,CAAC;QAAE,MAAM,SAAS,CAAC,8BAA8B,CAAC,CAAA;AAC7E,CAAC,CAAA;AAED,UAAU,CAAC,OAAO,GAAG,UAAU,OAAc;IAC5C,IAAI,CAAC,CAAC,OAAO,YAAY,KAAK,CAAC;QAAE,MAAM,SAAS,CAAC,yBAAyB,CAAC,CAAA;AAC5E,CAAC,CAAA;AACD,UAAU,CAAC,OAAO,GAAG,UAAa,OAA0B;IAC3D,IAAI,OAAO,YAAY,KAAK;QAAE,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,UAAU,CAAC,OAAO,GAAG,UAAU,OAAc,IAA6B,CAAC,CAAA;AAE3E;;;;;GAKG;AACH,UAAU,CAAC,MAAM,GAAG,UAAa,SAA4B;IAC5D,OAAO,UAAU,OAAO;QACvB,IAAI,CAAC,SAAS,CAAC,OAAc,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,4BAA4B,IAAA,iBAAO,EAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACrG,OAAM;IACP,CAAC,CAAA;AACF,CAAC,CAAA;AAED,UAAU,CAAC,EAAE,GAAG,UAAa,OAAgB,IAAyB,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Cast a string to a bigint literal type if possible.
3
+ *
4
+ * ```ts
5
+ * StringToBigint<'1n'> // 1n
6
+ * StringToBigint<'-1n'> // -1n
7
+ * ```
8
+ */
9
+ export type StringToBigint<S extends string, Fail = never> = S extends `-0n` ? 0n : S extends `${infer N extends bigint}n` ? N : Fail;
10
+ //# sourceMappingURL=cast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../ts/bigint/cast.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,KAAK,GACzE,EAAE,GACF,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,MAAM,GAAG,GACtC,CAAC,GACD,IAAI,CAAA"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=some.js.map
3
+ //# sourceMappingURL=cast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cast.js","sourceRoot":"","sources":["../../ts/bigint/cast.ts"],"names":[],"mappings":""}