type-plus 8.0.0-beta.2 → 8.0.0-beta.3

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 (395) hide show
  1. package/esm/any/is_any.d.ts.map +1 -1
  2. package/esm/any/is_not_any.d.ts.map +1 -1
  3. package/esm/array/array.at.d.ts.map +1 -1
  4. package/esm/array/array.entries.d.ts +1 -1
  5. package/esm/array/array.entries.d.ts.map +1 -1
  6. package/esm/array/array.find_last.d.ts +1 -1
  7. package/esm/array/array.find_last.d.ts.map +1 -1
  8. package/esm/array/array.reverse.d.ts.map +1 -1
  9. package/esm/array/array.some.d.ts +2 -2
  10. package/esm/array/array.some.d.ts.map +1 -1
  11. package/esm/array/array_plus.common_prop_keys.d.ts.map +1 -1
  12. package/esm/array/array_plus.drop_match.d.ts +1 -1
  13. package/esm/array/array_plus.drop_match.d.ts.map +1 -1
  14. package/esm/array/array_plus.element_match.d.ts +4 -2
  15. package/esm/array/array_plus.element_match.d.ts.map +1 -1
  16. package/esm/array/array_plus.filter.d.ts +4 -4
  17. package/esm/array/array_plus.filter.d.ts.map +1 -1
  18. package/esm/array/array_plus.find.d.ts +1 -1
  19. package/esm/array/array_plus.find.d.ts.map +1 -1
  20. package/esm/array/array_plus.index_at.d.ts.map +1 -1
  21. package/esm/array/array_plus.index_at.js.map +1 -1
  22. package/esm/array/array_plus.is_index_out_of_bound.d.ts.map +1 -1
  23. package/esm/array/array_plus.is_readonly.d.ts.map +1 -1
  24. package/esm/array/array_plus.pad_start.d.ts.map +1 -1
  25. package/esm/array/array_plus.split_at.d.ts +4 -4
  26. package/esm/array/array_plus.split_at.d.ts.map +1 -1
  27. package/esm/array/find_first.d.ts.map +1 -1
  28. package/esm/array/head.d.ts.map +1 -1
  29. package/esm/array/intersect_of_props.d.ts.map +1 -1
  30. package/esm/array/is_array.d.ts +2 -2
  31. package/esm/array/is_array.d.ts.map +1 -1
  32. package/esm/array/is_not_array.d.ts +2 -2
  33. package/esm/array/is_not_array.d.ts.map +1 -1
  34. package/esm/array/last.d.ts.map +1 -1
  35. package/esm/array/loose_array_type.d.ts.map +1 -1
  36. package/esm/array/pad_start.d.ts.map +1 -1
  37. package/esm/array/reverse.d.ts.map +1 -1
  38. package/esm/array/union_of_props.d.ts.map +1 -1
  39. package/esm/assertion/assert_type.js +6 -5
  40. package/esm/assertion/assert_type.js.map +1 -1
  41. package/esm/bigint/cast.d.ts.map +1 -1
  42. package/esm/bigint/is_bigint.d.ts +2 -4
  43. package/esm/bigint/is_bigint.d.ts.map +1 -1
  44. package/esm/bigint/is_bigint_literal.d.ts +2 -4
  45. package/esm/bigint/is_bigint_literal.d.ts.map +1 -1
  46. package/esm/bigint/is_not_bigint.d.ts +2 -4
  47. package/esm/bigint/is_not_bigint.d.ts.map +1 -1
  48. package/esm/bigint/is_not_bigint_literal.d.ts +2 -4
  49. package/esm/bigint/is_not_bigint_literal.d.ts.map +1 -1
  50. package/esm/boolean/is_boolean.d.ts +2 -8
  51. package/esm/boolean/is_boolean.d.ts.map +1 -1
  52. package/esm/boolean/is_false.d.ts.map +1 -1
  53. package/esm/boolean/is_not_boolean.d.ts +2 -8
  54. package/esm/boolean/is_not_boolean.d.ts.map +1 -1
  55. package/esm/boolean/is_not_false.d.ts.map +1 -1
  56. package/esm/boolean/is_not_true.d.ts.map +1 -1
  57. package/esm/boolean/is_true.d.ts.map +1 -1
  58. package/esm/class/isConstructor.js +1 -0
  59. package/esm/class/isConstructor.js.map +1 -1
  60. package/esm/equal/equal.d.ts.map +1 -1
  61. package/esm/equal/identity_equal.d.ts +1 -1
  62. package/esm/equal/identity_equal.d.ts.map +1 -1
  63. package/esm/function/extract_function.d.ts.map +1 -1
  64. package/esm/function/extract_function.js.map +1 -1
  65. package/esm/function/is_not_strict_function.d.ts +1 -1
  66. package/esm/function/is_not_strict_function.d.ts.map +1 -1
  67. package/esm/function/is_strict_function.d.ts.map +1 -1
  68. package/esm/functional/Maybe.d.ts.map +1 -1
  69. package/esm/functional/Maybe.js.map +1 -1
  70. package/esm/functional/compose.d.ts.map +1 -1
  71. package/esm/functional/compose.js.map +1 -1
  72. package/esm/functional/context.d.ts.map +1 -1
  73. package/esm/math/abs.d.ts.map +1 -1
  74. package/esm/math/math_plus.to_negative.d.ts.map +1 -1
  75. package/esm/math/max.d.ts.map +1 -1
  76. package/esm/math/numeric_struct.d.ts.map +1 -1
  77. package/esm/mix_types/box.d.ts.map +1 -1
  78. package/esm/mix_types/is_any_or_never.d.ts.map +1 -1
  79. package/esm/mix_types/merge.d.ts +9 -9
  80. package/esm/mix_types/merge.d.ts.map +1 -1
  81. package/esm/mix_types/merge.js +9 -9
  82. package/esm/mix_types/merge.js.map +1 -1
  83. package/esm/never/is_never.d.ts.map +1 -1
  84. package/esm/never/is_not_never.d.ts.map +1 -1
  85. package/esm/nodejs/isNodeError.d.ts.map +1 -1
  86. package/esm/nominal/brand.d.ts.map +1 -1
  87. package/esm/nominal/brand.js +1 -1
  88. package/esm/nominal/brand.js.map +1 -1
  89. package/esm/nominal/flavor.d.ts.map +1 -1
  90. package/esm/nominal/flavor.js +1 -1
  91. package/esm/nominal/flavor.js.map +1 -1
  92. package/esm/nominal/nominal_match.d.ts.map +1 -1
  93. package/esm/nominal/nominal_match.js.map +1 -1
  94. package/esm/null/is_not_null.d.ts.map +1 -1
  95. package/esm/null/is_null.d.ts.map +1 -1
  96. package/esm/number/cast.d.ts.map +1 -1
  97. package/esm/number/is_not_number.d.ts +2 -4
  98. package/esm/number/is_not_number.d.ts.map +1 -1
  99. package/esm/number/is_not_number_literal.d.ts +2 -4
  100. package/esm/number/is_not_number_literal.d.ts.map +1 -1
  101. package/esm/number/is_number.d.ts +2 -4
  102. package/esm/number/is_number.d.ts.map +1 -1
  103. package/esm/number/is_number_literal.d.ts +2 -4
  104. package/esm/number/is_number_literal.d.ts.map +1 -1
  105. package/esm/numeric/is_integer.d.ts +2 -2
  106. package/esm/numeric/is_integer.d.ts.map +1 -1
  107. package/esm/numeric/is_negative.d.ts +5 -5
  108. package/esm/numeric/is_negative.d.ts.map +1 -1
  109. package/esm/numeric/is_not_integer.d.ts +2 -2
  110. package/esm/numeric/is_not_integer.d.ts.map +1 -1
  111. package/esm/numeric/is_not_negative.d.ts +3 -3
  112. package/esm/numeric/is_not_negative.d.ts.map +1 -1
  113. package/esm/numeric/is_not_positive.d.ts +3 -3
  114. package/esm/numeric/is_not_positive.d.ts.map +1 -1
  115. package/esm/numeric/is_positive.d.ts +3 -3
  116. package/esm/numeric/is_positive.d.ts.map +1 -1
  117. package/esm/numeric/numeric_type.d.ts.map +1 -1
  118. package/esm/object/ANotB.d.ts.map +1 -1
  119. package/esm/object/IsDisjoint.d.ts.map +1 -1
  120. package/esm/object/KeysWithDiffType.d.ts.map +1 -1
  121. package/esm/object/KnownKeys.d.ts.map +1 -1
  122. package/esm/object/RecursiveIntersect.d.ts +1 -1
  123. package/esm/object/RecursiveIntersect.d.ts.map +1 -1
  124. package/esm/object/RecursiveRequired.d.ts.map +1 -1
  125. package/esm/object/SpreadRecord.d.ts.map +1 -1
  126. package/esm/object/facade.d.ts.map +1 -1
  127. package/esm/object/facade.js.map +1 -1
  128. package/esm/object/getField.d.ts.map +1 -1
  129. package/esm/object/getField.js.map +1 -1
  130. package/esm/object/hasKey.js +1 -1
  131. package/esm/object/hasKey.js.map +1 -1
  132. package/esm/object/is_not_object.d.ts +1 -3
  133. package/esm/object/is_not_object.d.ts.map +1 -1
  134. package/esm/object/is_object.d.ts.map +1 -1
  135. package/esm/object/left_join.d.ts.map +1 -1
  136. package/esm/object/merge.d.ts +6 -5
  137. package/esm/object/merge.d.ts.map +1 -1
  138. package/esm/object/omit.d.ts +7 -0
  139. package/esm/object/omit.d.ts.map +1 -1
  140. package/esm/object/omit.js.map +1 -1
  141. package/esm/object/optional_key.d.ts.map +1 -1
  142. package/esm/object/pick.d.ts.map +1 -1
  143. package/esm/object/pick.js.map +1 -1
  144. package/esm/object/recursive_partial.d.ts.map +1 -1
  145. package/esm/object/split.d.ts +1 -7
  146. package/esm/object/split.d.ts.map +1 -1
  147. package/esm/object/split.js +1 -1
  148. package/esm/object/split.js.map +1 -1
  149. package/esm/object/typeOverrideIncompatible.js.map +1 -1
  150. package/esm/predicates/CanAssign.d.ts.map +1 -1
  151. package/esm/predicates/CanAssign.js.map +1 -1
  152. package/esm/predicates/assignable.d.ts.map +1 -1
  153. package/esm/predicates/literal.d.ts.map +1 -1
  154. package/esm/predicates/logical.d.ts.map +1 -1
  155. package/esm/predicates/not_assignable.d.ts.map +1 -1
  156. package/esm/primitive.d.ts.map +1 -1
  157. package/esm/promise/index.d.ts.map +1 -1
  158. package/esm/promise/mapSeries.js +1 -1
  159. package/esm/promise/mapSeries.js.map +1 -1
  160. package/esm/string/$extract_manipulated_string.d.ts +5 -5
  161. package/esm/string/$extract_manipulated_string.d.ts.map +1 -1
  162. package/esm/string/_string_type.d.ts.map +1 -1
  163. package/esm/string/is_not_string.d.ts +2 -4
  164. package/esm/string/is_not_string.d.ts.map +1 -1
  165. package/esm/string/is_not_string_literal.d.ts +4 -8
  166. package/esm/string/is_not_string_literal.d.ts.map +1 -1
  167. package/esm/string/is_not_template_literal.d.ts.map +1 -1
  168. package/esm/string/is_string.d.ts +2 -4
  169. package/esm/string/is_string.d.ts.map +1 -1
  170. package/esm/string/is_string_literal.d.ts +4 -8
  171. package/esm/string/is_string_literal.d.ts.map +1 -1
  172. package/esm/string/is_template_literal.d.ts.map +1 -1
  173. package/esm/string/string.d.ts.map +1 -1
  174. package/esm/string/string_plus.d.ts.map +1 -1
  175. package/esm/symbol/is_not_symbol.d.ts.map +1 -1
  176. package/esm/symbol/is_symbol.d.ts.map +1 -1
  177. package/esm/testing/test_type.d.ts.map +1 -1
  178. package/esm/tuple/common_prop_keys.d.ts.map +1 -1
  179. package/esm/tuple/create_tuple.d.ts.map +1 -1
  180. package/esm/tuple/drop.d.ts.map +1 -1
  181. package/esm/tuple/drop.js +1 -1
  182. package/esm/tuple/drop.js.map +1 -1
  183. package/esm/tuple/is_not_tuple.d.ts +2 -2
  184. package/esm/tuple/is_not_tuple.d.ts.map +1 -1
  185. package/esm/tuple/is_tuple.d.ts +2 -2
  186. package/esm/tuple/is_tuple.d.ts.map +1 -1
  187. package/esm/tuple/tail.d.ts +1 -1
  188. package/esm/tuple/tail.d.ts.map +1 -1
  189. package/esm/tuple/tuple_plus.common_prop_keys.d.ts +1 -1
  190. package/esm/tuple/tuple_plus.common_prop_keys.d.ts.map +1 -1
  191. package/esm/tuple/tuple_plus.drop_match.d.ts.map +1 -1
  192. package/esm/tuple/tuple_plus.filter.d.ts +1 -1
  193. package/esm/tuple/tuple_plus.filter.d.ts.map +1 -1
  194. package/esm/tuple/tuple_plus.find.d.ts +2 -2
  195. package/esm/tuple/tuple_plus.find.d.ts.map +1 -1
  196. package/esm/tuple/tuple_plus.pad_start.d.ts +1 -4
  197. package/esm/tuple/tuple_plus.pad_start.d.ts.map +1 -1
  198. package/esm/type_plus/$equality.d.ts.map +1 -1
  199. package/esm/type_plus/$infer_error.d.ts.map +1 -1
  200. package/esm/type_plus/$merge_options.d.ts.map +1 -1
  201. package/esm/type_plus/$resolve_options.d.ts +1 -1
  202. package/esm/type_plus/$resolve_options.d.ts.map +1 -1
  203. package/esm/type_plus/$special_type.d.ts +1 -7
  204. package/esm/type_plus/$special_type.d.ts.map +1 -1
  205. package/esm/type_plus/$type.d.ts.map +1 -1
  206. package/esm/type_plus/branch/$branch.d.ts.map +1 -1
  207. package/esm/type_plus/branch/$exact.d.ts +4 -1
  208. package/esm/type_plus/branch/$exact.d.ts.map +1 -1
  209. package/esm/type_plus/branch/$input_options.d.ts.map +1 -1
  210. package/esm/type_plus/branch/$is_distributive.d.ts.map +1 -1
  211. package/esm/type_plus/branch/$resolve_branch.d.ts +8 -9
  212. package/esm/type_plus/branch/$resolve_branch.d.ts.map +1 -1
  213. package/esm/type_plus/branch/$select.d.ts +1 -3
  214. package/esm/type_plus/branch/$select.d.ts.map +1 -1
  215. package/esm/type_plus/branch/$select_invert.d.ts +1 -3
  216. package/esm/type_plus/branch/$select_invert.d.ts.map +1 -1
  217. package/esm/type_plus/branch/$select_invert_strict.d.ts +1 -4
  218. package/esm/type_plus/branch/$select_invert_strict.d.ts.map +1 -1
  219. package/esm/type_plus/branch/$select_strict.d.ts +1 -4
  220. package/esm/type_plus/branch/$select_strict.d.ts.map +1 -1
  221. package/esm/type_plus/branch/$selection.d.ts.map +1 -1
  222. package/esm/type_plus/branch/$selection_options.d.ts.map +1 -1
  223. package/esm/undefined/has_undefined.d.ts +3 -1
  224. package/esm/undefined/has_undefined.d.ts.map +1 -1
  225. package/esm/undefined/is_not_undefined.d.ts.map +1 -1
  226. package/esm/undefined/is_undefined.d.ts.map +1 -1
  227. package/esm/union/union.d.ts.map +1 -1
  228. package/esm/union/union_to_intersection.d.ts.map +1 -1
  229. package/esm/union/union_to_intersection.js.map +1 -1
  230. package/esm/unknown/is_not_unknown.d.ts.map +1 -1
  231. package/esm/unknown/is_unknown.d.ts.map +1 -1
  232. package/esm/unknown/not_unknown_or.d.ts.map +1 -1
  233. package/esm/unknown/unknown.d.ts.map +1 -1
  234. package/esm/utils/index.d.ts.map +1 -1
  235. package/esm/void/is_not_void.d.ts.map +1 -1
  236. package/esm/void/is_void.d.ts.map +1 -1
  237. package/package.json +3 -4
  238. package/src/any/is_any.ts +8 -8
  239. package/src/any/is_not_any.ts +8 -8
  240. package/src/array/array.at.ts +22 -19
  241. package/src/array/array.entries.ts +3 -3
  242. package/src/array/array.find_last.ts +6 -6
  243. package/src/array/array.reverse.ts +3 -2
  244. package/src/array/array.some.ts +4 -4
  245. package/src/array/array_plus.common_prop_keys.ts +5 -6
  246. package/src/array/array_plus.drop_match.ts +7 -7
  247. package/src/array/array_plus.element_match.ts +25 -22
  248. package/src/array/array_plus.filter.ts +11 -12
  249. package/src/array/array_plus.find.ts +9 -11
  250. package/src/array/array_plus.index_at.ts +29 -35
  251. package/src/array/array_plus.is_index_out_of_bound.ts +1 -1
  252. package/src/array/array_plus.is_readonly.ts +17 -21
  253. package/src/array/array_plus.pad_start.ts +3 -7
  254. package/src/array/array_plus.split_at.ts +17 -19
  255. package/src/array/find_first.ts +6 -5
  256. package/src/array/head.ts +9 -8
  257. package/src/array/intersect_of_props.ts +5 -5
  258. package/src/array/is_array.ts +31 -32
  259. package/src/array/is_not_array.ts +32 -32
  260. package/src/array/last.ts +14 -9
  261. package/src/array/loose_array_type.ts +2 -2
  262. package/src/array/pad_start.ts +1 -3
  263. package/src/array/reverse.ts +8 -8
  264. package/src/array/union_of_props.ts +2 -2
  265. package/src/assertion/assert_type.ts +5 -3
  266. package/src/bigint/cast.ts +2 -2
  267. package/src/bigint/is_bigint.ts +17 -20
  268. package/src/bigint/is_bigint_literal.ts +12 -14
  269. package/src/bigint/is_not_bigint.ts +14 -16
  270. package/src/bigint/is_not_bigint_literal.ts +17 -16
  271. package/src/boolean/is_boolean.ts +48 -36
  272. package/src/boolean/is_false.ts +5 -3
  273. package/src/boolean/is_not_boolean.ts +23 -25
  274. package/src/boolean/is_not_false.ts +5 -3
  275. package/src/boolean/is_not_true.ts +5 -3
  276. package/src/boolean/is_true.ts +5 -3
  277. package/src/class/isConstructor.ts +1 -1
  278. package/src/equal/equal.ts +22 -27
  279. package/src/equal/identity_equal.ts +5 -3
  280. package/src/function/extract_function.ts +1 -3
  281. package/src/function/is_not_strict_function.ts +12 -12
  282. package/src/function/is_strict_function.ts +12 -14
  283. package/src/functional/Maybe.ts +1 -3
  284. package/src/functional/compose.ts +2 -4
  285. package/src/functional/context.ts +1 -1
  286. package/src/index.ts +0 -1
  287. package/src/math/abs.ts +18 -8
  288. package/src/math/math_plus.to_negative.ts +6 -6
  289. package/src/math/max.ts +2 -2
  290. package/src/math/numeric_struct.ts +225 -231
  291. package/src/mix_types/box.ts +34 -37
  292. package/src/mix_types/is_any_or_never.ts +6 -6
  293. package/src/mix_types/merge.ts +24 -28
  294. package/src/never/is_never.ts +13 -10
  295. package/src/never/is_not_never.ts +13 -10
  296. package/src/nodejs/isNodeError.ts +13 -13
  297. package/src/nominal/brand.ts +3 -4
  298. package/src/nominal/flavor.ts +3 -4
  299. package/src/nominal/nominal_match.ts +3 -10
  300. package/src/null/is_not_null.ts +5 -4
  301. package/src/null/is_null.ts +9 -8
  302. package/src/number/cast.ts +6 -6
  303. package/src/number/is_not_number.ts +15 -17
  304. package/src/number/is_not_number_literal.ts +17 -16
  305. package/src/number/is_number.ts +15 -17
  306. package/src/number/is_number_literal.ts +12 -14
  307. package/src/numeric/is_integer.ts +33 -27
  308. package/src/numeric/is_negative.ts +23 -23
  309. package/src/numeric/is_not_integer.ts +31 -26
  310. package/src/numeric/is_not_negative.ts +19 -19
  311. package/src/numeric/is_not_positive.ts +19 -19
  312. package/src/numeric/is_positive.ts +21 -21
  313. package/src/numeric/numeric_plus.ts +0 -1
  314. package/src/numeric/numeric_type.ts +0 -1
  315. package/src/object/ANotB.ts +2 -2
  316. package/src/object/IsDisjoint.ts +1 -4
  317. package/src/object/KeysWithDiffType.ts +2 -2
  318. package/src/object/KnownKeys.ts +7 -7
  319. package/src/object/RecursiveIntersect.ts +8 -8
  320. package/src/object/RecursiveRequired.ts +2 -2
  321. package/src/object/SpreadRecord.ts +1 -4
  322. package/src/object/facade.ts +1 -9
  323. package/src/object/getField.ts +1 -4
  324. package/src/object/hasKey.ts +1 -1
  325. package/src/object/is_not_object.ts +23 -16
  326. package/src/object/is_object.ts +23 -15
  327. package/src/object/left_join.ts +2 -2
  328. package/src/object/merge.ts +53 -72
  329. package/src/object/omit.ts +16 -25
  330. package/src/object/optional_key.ts +1 -4
  331. package/src/object/pick.ts +8 -19
  332. package/src/object/recursive_partial.ts +6 -6
  333. package/src/object/split.ts +3 -14
  334. package/src/object/typeOverrideIncompatible.ts +3 -3
  335. package/src/predicates/CanAssign.ts +9 -5
  336. package/src/predicates/assignable.ts +23 -24
  337. package/src/predicates/literal.ts +8 -8
  338. package/src/predicates/logical.ts +4 -4
  339. package/src/predicates/not_assignable.ts +23 -22
  340. package/src/primitive.ts +1 -10
  341. package/src/promise/index.ts +1 -1
  342. package/src/promise/mapSeries.ts +1 -1
  343. package/src/string/$extract_manipulated_string.ts +25 -20
  344. package/src/string/_string_type.ts +6 -6
  345. package/src/string/is_not_string.ts +13 -15
  346. package/src/string/is_not_string_literal.ts +29 -34
  347. package/src/string/is_not_template_literal.ts +18 -21
  348. package/src/string/is_string.ts +17 -20
  349. package/src/string/is_string_literal.ts +29 -34
  350. package/src/string/is_template_literal.ts +18 -20
  351. package/src/string/string.ts +2 -2
  352. package/src/string/string_plus.ts +6 -7
  353. package/src/symbol/is_not_symbol.ts +5 -3
  354. package/src/symbol/is_symbol.ts +5 -3
  355. package/src/testing/test_type.ts +89 -89
  356. package/src/tuple/common_prop_keys.ts +2 -5
  357. package/src/tuple/create_tuple.ts +18 -18
  358. package/src/tuple/drop.ts +20 -22
  359. package/src/tuple/is_not_tuple.ts +19 -21
  360. package/src/tuple/is_tuple.ts +23 -26
  361. package/src/tuple/tail.ts +5 -3
  362. package/src/tuple/tuple_plus.common_prop_keys.ts +6 -12
  363. package/src/tuple/tuple_plus.drop_match.ts +11 -11
  364. package/src/tuple/tuple_plus.filter.ts +5 -12
  365. package/src/tuple/tuple_plus.find.ts +14 -24
  366. package/src/tuple/tuple_plus.pad_start.ts +12 -27
  367. package/src/type_plus/$equality.ts +1 -3
  368. package/src/type_plus/$infer_error.ts +3 -1
  369. package/src/type_plus/$merge_options.ts +3 -4
  370. package/src/type_plus/$resolve_options.ts +6 -5
  371. package/src/type_plus/$special_type.ts +7 -5
  372. package/src/type_plus/$type.ts +3 -3
  373. package/src/type_plus/branch/$branch.ts +1 -2
  374. package/src/type_plus/branch/$exact.ts +9 -5
  375. package/src/type_plus/branch/$input_options.ts +1 -2
  376. package/src/type_plus/branch/$is_distributive.ts +7 -4
  377. package/src/type_plus/branch/$resolve_branch.ts +29 -39
  378. package/src/type_plus/branch/$select.ts +15 -16
  379. package/src/type_plus/branch/$select_invert.ts +11 -16
  380. package/src/type_plus/branch/$select_invert_strict.ts +14 -19
  381. package/src/type_plus/branch/$select_strict.ts +11 -13
  382. package/src/type_plus/branch/$selection.ts +8 -9
  383. package/src/type_plus/branch/$selection_options.ts +3 -3
  384. package/src/undefined/has_undefined.ts +4 -3
  385. package/src/undefined/is_not_undefined.ts +9 -9
  386. package/src/undefined/is_undefined.ts +9 -8
  387. package/src/union/union.ts +1 -4
  388. package/src/union/union_to_intersection.ts +1 -3
  389. package/src/unknown/is_not_unknown.ts +8 -8
  390. package/src/unknown/is_unknown.ts +8 -8
  391. package/src/unknown/not_unknown_or.ts +7 -3
  392. package/src/unknown/unknown.ts +0 -1
  393. package/src/utils/index.ts +17 -17
  394. package/src/void/is_not_void.ts +14 -14
  395. package/src/void/is_void.ts +14 -14
@@ -25,43 +25,40 @@ import type { $Else, $SelectionBranch, $Then } from '../type_plus/branch/$select
25
25
  * Box<undefined> // never
26
26
  * ```
27
27
  */
28
- export type Box<T, Options extends Box.Options = Box.DefaultOptions> =
29
- IsFunction<
30
- T,
31
- IsFunction.$Branch
32
- > extends infer R
33
- ? R extends $Then ? Function
34
- : IsObject<
35
- T,
36
- IsObject.$Branch<{ exact: true }>> extends infer R
37
- ? R extends $Then ? Object :
38
- T extends Record<any, any> ? T :
39
- IsBoolean<
40
- T,
41
- $SelectionBranch
42
- > extends infer R
43
- ? R extends $Then ? Boolean
44
- : R extends $Else ? IsNumber<
45
- T,
46
- IsNumber.$Branch
47
- > extends infer R
48
- ? R extends $Then ? Number
49
- : R extends $Else ? IsString<
50
- T,
51
- {
52
- $then: String,
53
- $else: IsSymbol<
54
- T,
55
- {
56
- $then: Symbol,
57
- $else: IsBigint<T, { $then: BigInt, $else: Options['$notBoxable'] }>
58
- }
59
- >
60
- }
61
- >
62
- : never : never
63
- : never : never
64
- : never
28
+ export type Box<T, Options extends Box.Options = Box.DefaultOptions> = IsFunction<T, IsFunction.$Branch> extends infer R
29
+ ? R extends $Then
30
+ ? Function
31
+ : IsObject<T, IsObject.$Branch<{ exact: true }>> extends infer R
32
+ ? R extends $Then
33
+ ? Object
34
+ : T extends Record<any, any>
35
+ ? T
36
+ : IsBoolean<T, $SelectionBranch> extends infer R
37
+ ? R extends $Then
38
+ ? Boolean
39
+ : R extends $Else
40
+ ? IsNumber<T, IsNumber.$Branch> extends infer R
41
+ ? R extends $Then
42
+ ? Number
43
+ : R extends $Else
44
+ ? IsString<
45
+ T,
46
+ {
47
+ $then: String
48
+ $else: IsSymbol<
49
+ T,
50
+ {
51
+ $then: Symbol
52
+ $else: IsBigint<T, { $then: BigInt; $else: Options['$notBoxable'] }>
53
+ }
54
+ >
55
+ }
56
+ >
57
+ : never
58
+ : never
59
+ : never
60
+ : never
61
+ : never
65
62
  : never
66
63
 
67
64
  export namespace Box {
@@ -22,10 +22,10 @@ import type { $SelectionOptions } from '../type_plus/branch/$selection_options.j
22
22
  * type R = IsAnyOrNever<'a', $SelectionPredicate> // false
23
23
  * ```
24
24
  */
25
- export type IsAnyOrNever<
25
+ export type IsAnyOrNever<T, $O extends $SelectionOptions = $SelectionPredicate> = IsNever<
26
26
  T,
27
- $O extends $SelectionOptions = $SelectionPredicate
28
- > = IsNever<T, {
29
- $then: $O['$then'],
30
- $else: IsAny<T, $O>
31
- }>
27
+ {
28
+ $then: $O['$then']
29
+ $else: IsAny<T, $O>
30
+ }
31
+ >
@@ -20,42 +20,38 @@ import type { Box } from './box.js'
20
20
  *
21
21
  * This type does not have such restrictions, and tries to handle the other types accordingly.
22
22
  */
23
- export type Merge<A, B> =
23
+ export type Merge<A, B> = Or<
24
+ IsNever<A>,
25
+ IsNever<B>,
26
+ never,
24
27
  Or<
25
- IsNever<A>,
26
- IsNever<B>,
27
- never,
28
+ IsVoid<A>,
29
+ IsVoid<B>,
30
+ A & B,
28
31
  Or<
29
- IsVoid<A>,
30
- IsVoid<B>,
31
- A & B,
32
+ IsUnknown<A>,
33
+ Or<IsUndefined<A>, IsNull<A>>,
34
+ B,
32
35
  Or<
33
- IsUnknown<A>,
34
- Or<IsUndefined<A>, IsNull<A>>,
35
- B,
36
- Or<
37
- IsUnknown<B>,
38
- Or<IsUndefined<B>, IsNull<B>>,
39
- A,
40
- ObjectMerge<
41
- Box<A, { $notBoxable: {} }>,
42
- Box<B, { $notBoxable: {} }>
43
- >
44
- >
36
+ IsUnknown<B>,
37
+ Or<IsUndefined<B>, IsNull<B>>,
38
+ A,
39
+ ObjectMerge<Box<A, { $notBoxable: {} }>, Box<B, { $notBoxable: {} }>>
45
40
  >
46
41
  >
47
42
  >
43
+ >
48
44
 
49
45
  /**
50
- * Left join `a` with `b`.
51
- *
52
- * This returns the proper type of `{ ...a, ...b }`
53
- *
54
- * @example
55
- * ```ts
56
- * merge({ a: 1 }, {} as { a?: string | undefined }) // { a: number | string }
57
- * ```
58
- */
46
+ * Left join `a` with `b`.
47
+ *
48
+ * This returns the proper type of `{ ...a, ...b }`
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * merge({ a: 1 }, {} as { a?: string | undefined }) // { a: number | string }
53
+ * ```
54
+ */
59
55
  export function merge<A, B>(a: A, b: B): Merge<A, B> {
60
56
  return { ...a, ...b } as any
61
57
  }
@@ -44,19 +44,22 @@ import type { $NotNever } from './never.js'
44
44
  * type R = IsNever<1, $SelectionBranch> // $Else
45
45
  * ```
46
46
  */
47
- export type IsNever<
47
+ export type IsNever<T, $O extends IsNever.$Options = {}> = $SpecialType<
48
48
  T,
49
- $O extends IsNever.$Options = {}
50
- > = $SpecialType<T, {
51
- $any: $ResolveBranch<T, IsNever._O<$O>, [$Any, $Else]>,
52
- $unknown: $ResolveBranch<T, IsNever._O<$O>, [$Unknown, $Else]>,
53
- $never: $ResolveBranch<T, $O, [$Then]>,
54
- $else: $ResolveBranch<T, IsNever._O<$O>, [$Else]>
55
- }>
49
+ {
50
+ $any: $ResolveBranch<T, IsNever._O<$O>, [$Any, $Else]>
51
+ $unknown: $ResolveBranch<T, IsNever._O<$O>, [$Unknown, $Else]>
52
+ $never: $ResolveBranch<T, $O, [$Then]>
53
+ $else: $ResolveBranch<T, IsNever._O<$O>, [$Else]>
54
+ }
55
+ >
56
56
 
57
57
  export namespace IsNever {
58
58
  export type $Options = $SelectionOptions & $InputOptions<$Any | $Unknown>
59
59
  export type $Branch = $SelectionBranch
60
- export type _O<$O extends $Options> = '$else' extends keyof $O ? $O :
61
- $O['selection'] extends 'filter' ? $O & { $else: $NotNever } : $O
60
+ export type _O<$O extends $Options> = '$else' extends keyof $O
61
+ ? $O
62
+ : $O['selection'] extends 'filter'
63
+ ? $O & { $else: $NotNever }
64
+ : $O
62
65
  }
@@ -44,19 +44,22 @@ import type { $Never } from './never.js'
44
44
  * type R = IsNotNever<1, $SelectionBranch> // $Then
45
45
  * ```
46
46
  */
47
- export type IsNotNever<
47
+ export type IsNotNever<T, $O extends IsNotNever.$Options = {}> = $SpecialType<
48
48
  T,
49
- $O extends IsNotNever.$Options = {}
50
- > = $SpecialType<T, {
51
- $any: $ResolveBranch<T, $O, [$Any, $Then]>,
52
- $unknown: $ResolveBranch<T, $O, [$Unknown, $Then]>,
53
- $never: $ResolveBranch<T, IsNotNever._O<$O>, [$Else]>,
54
- $else: $ResolveBranch<T, $O, [$Then]>
55
- }>
49
+ {
50
+ $any: $ResolveBranch<T, $O, [$Any, $Then]>
51
+ $unknown: $ResolveBranch<T, $O, [$Unknown, $Then]>
52
+ $never: $ResolveBranch<T, IsNotNever._O<$O>, [$Else]>
53
+ $else: $ResolveBranch<T, $O, [$Then]>
54
+ }
55
+ >
56
56
 
57
57
  export namespace IsNotNever {
58
58
  export type $Options = $SelectionOptions & $InputOptions<$Any | $Unknown>
59
59
  export type $Branch = $SelectionBranch
60
- export type _O<$O extends $Options> = '$else' extends keyof $O ? $O :
61
- $O['selection'] extends 'filter' ? $O & { $else: $Never } : $O
60
+ export type _O<$O extends $Options> = '$else' extends keyof $O
61
+ ? $O
62
+ : $O['selection'] extends 'filter'
63
+ ? $O & { $else: $Never }
64
+ : $O
62
65
  }
@@ -1,17 +1,17 @@
1
1
  export type SystemErrors = {
2
- EACCES: Error & { code: 'EACCES' },
3
- EADDRINUSE: Error & { code: 'EADDRINUSE' },
4
- ECONNREFUSED: Error,
5
- ECONNRESET: Error,
6
- EEXIST: Error,
7
- EISDIR: Error,
8
- EMFILE: Error,
9
- ENOENT: Error & { code: 'ENOENT', path: string },
10
- ENOTDIR: Error,
11
- ENOTEMPTY: Error,
12
- ENOTFOUND: Error,
13
- EPERM: Error,
14
- EPIPE: Error,
2
+ EACCES: Error & { code: 'EACCES' }
3
+ EADDRINUSE: Error & { code: 'EADDRINUSE' }
4
+ ECONNREFUSED: Error
5
+ ECONNRESET: Error
6
+ EEXIST: Error
7
+ EISDIR: Error
8
+ EMFILE: Error
9
+ ENOENT: Error & { code: 'ENOENT'; path: string }
10
+ ENOTDIR: Error
11
+ ENOTEMPTY: Error
12
+ ENOTFOUND: Error
13
+ EPERM: Error
14
+ EPIPE: Error
15
15
  ETIMEDOUT: Error
16
16
  }
17
17
 
@@ -17,7 +17,7 @@ export type Brand<B extends string, T = never> = [T] extends [null] | [undefined
17
17
  * A branded type of `B` with value of `T`.
18
18
  */
19
19
  export interface Branded<B extends string, T> {
20
- [typeSym]: B,
20
+ [typeSym]: B
21
21
  [valueSym]: T
22
22
  }
23
23
 
@@ -30,10 +30,9 @@ export function brand<B extends string>(type: B): <T>(subject: T) => Brand<B, Wi
30
30
  */
31
31
  export function brand<B extends string, T>(type: B, subject: T): Brand<B, Widen<T>>
32
32
  export function brand(typeInput: string, subject?: unknown) {
33
- if (subject === undefined)
34
- return <T>(subject: T) => brand(typeInput, subject)
33
+ if (subject === undefined) return <T>(subject: T) => brand(typeInput, subject)
35
34
 
36
- if (isType<{ [typeSym]: string }>(subject, s => typeof s === 'object' && s !== null)) {
35
+ if (isType<{ [typeSym]: string }>(subject, (s) => typeof s === 'object' && s !== null)) {
37
36
  // if subject is not an object, the branding will exist only in type-level.
38
37
  subject[typeSym] = typeInput
39
38
  }
@@ -26,7 +26,7 @@ export interface Flavored<F extends string> {
26
26
  * A special flavored type for special types.
27
27
  */
28
28
  export interface FlavoredUnit<F extends string, T> {
29
- [typeSym]?: F,
29
+ [typeSym]?: F
30
30
  [valueSym]: T
31
31
  }
32
32
 
@@ -39,10 +39,9 @@ export function flavor<F extends string>(type: F): <T>(subject: T) => Flavor<F,
39
39
  */
40
40
  export function flavor<F extends string, T>(type: F, subject: T): Flavor<F, Widen<T>>
41
41
  export function flavor(type: string, subject?: unknown) {
42
- if (subject === undefined)
43
- return <T>(subject: T) => flavor(type, subject)
42
+ if (subject === undefined) return <T>(subject: T) => flavor(type, subject)
44
43
 
45
- if (isType<{ [typeSym]: string }>(subject, s => typeof s === 'object' && s !== null)) {
44
+ if (isType<{ [typeSym]: string }>(subject, (s) => typeof s === 'object' && s !== null)) {
46
45
  // if subject is not an object, the branding will exist only in type-level.
47
46
  subject[typeSym] = type
48
47
  }
@@ -2,20 +2,13 @@ import type { Brand } from './brand.js'
2
2
  import { typeSym } from './constants.js'
3
3
  import type { Flavor } from './flavor.js'
4
4
 
5
- export function nominalMatch<A extends string, B extends A>(
6
- a: Brand<A, unknown>,
7
- b: Brand<B, unknown>
8
- ): boolean
9
- export function nominalMatch<A extends string, B extends A>(
10
- a: Flavor<A, unknown>,
11
- b: Flavor<B, unknown>
12
- ): boolean
5
+ export function nominalMatch<A extends string, B extends A>(a: Brand<A, unknown>, b: Brand<B, unknown>): boolean
6
+ export function nominalMatch<A extends string, B extends A>(a: Flavor<A, unknown>, b: Flavor<B, unknown>): boolean
13
7
  export function nominalMatch<A extends string, B extends A>(
14
8
  a: Brand<A, unknown> | Flavor<A, unknown>,
15
9
  b: Brand<B, unknown> | Flavor<B, unknown>
16
10
  ) {
17
- if (typeof a === 'object' && a !== null && typeof b === 'object' && b !== null)
18
- return a[typeSym] === b[typeSym]
11
+ if (typeof a === 'object' && a !== null && typeof b === 'object' && b !== null) return a[typeSym] === b[typeSym]
19
12
 
20
13
  return true
21
14
  }
@@ -51,16 +51,17 @@ import type { $Then } from '../type_plus/branch/$selection.js'
51
51
  * type R = IsNotNull<null, $SelectionBranch> // $Else
52
52
  * ```
53
53
  */
54
- export type IsNotNull<T, $O extends IsNotNull.$Options = {}> = $SpecialType<T,
55
- $MergeOptions<$O,
54
+ export type IsNotNull<T, $O extends IsNotNull.$Options = {}> = $SpecialType<
55
+ T,
56
+ $MergeOptions<
57
+ $O,
56
58
  {
57
- $then: $ResolveBranch<T, $O, [$Then]>,
59
+ $then: $ResolveBranch<T, $O, [$Then]>
58
60
  $else: IsNotNull.$<T, $O>
59
61
  }
60
62
  >
61
63
  >
62
64
 
63
-
64
65
  export namespace IsNotNull {
65
66
  export type $Options = $Equality.$Options
66
67
  export type $Branch<$O extends $Options = {}> = $Equality.$Branch<$O>
@@ -55,15 +55,16 @@ import type { $Else } from '../type_plus/branch/$selection.js'
55
55
  * type R = IsNull<string, $SelectionBranch> // $Else
56
56
  * ```
57
57
  */
58
- export type IsNull<T, $O extends IsNull.$Options = {}> =
59
- $SpecialType<T,
60
- $MergeOptions<$O,
61
- {
62
- $then: $ResolveBranch<T, $O, [$Else]>,
63
- $else: IsNull.$<T, $O>
64
- }
65
- >
58
+ export type IsNull<T, $O extends IsNull.$Options = {}> = $SpecialType<
59
+ T,
60
+ $MergeOptions<
61
+ $O,
62
+ {
63
+ $then: $ResolveBranch<T, $O, [$Else]>
64
+ $else: IsNull.$<T, $O>
65
+ }
66
66
  >
67
+ >
67
68
 
68
69
  export namespace IsNull {
69
70
  export type $Options = $Equality.$Options
@@ -9,9 +9,9 @@
9
9
  export type StringToNumber<S extends string, Fail = never> = S extends `-0`
10
10
  ? 0
11
11
  : S extends `${infer W}.0`
12
- ? StringToNumber<W>
13
- : S extends `${infer W}.${infer F}0`
14
- ? StringToNumber<`${W}.${F}`>
15
- : S extends `${infer N extends number}`
16
- ? N
17
- : Fail
12
+ ? StringToNumber<W>
13
+ : S extends `${infer W}.${infer F}0`
14
+ ? StringToNumber<`${W}.${F}`>
15
+ : S extends `${infer N extends number}`
16
+ ? N
17
+ : Fail
@@ -57,10 +57,12 @@ import type { $Else, $Then } from '../type_plus/branch/$selection.js'
57
57
  * type R = IsNotNumber<number, $SelectionBranch> // $Else
58
58
  * ```
59
59
  */
60
- export type IsNotNumber<T, $O extends IsNotNumber.$Options = {}> = $SpecialType<T,
61
- $MergeOptions<$O,
60
+ export type IsNotNumber<T, $O extends IsNotNumber.$Options = {}> = $SpecialType<
61
+ T,
62
+ $MergeOptions<
63
+ $O,
62
64
  {
63
- $then: $ResolveBranch<T, $O, [$Then]>,
65
+ $then: $ResolveBranch<T, $O, [$Then]>
64
66
  $else: IsNotNumber.$<T, $O>
65
67
  }
66
68
  >
@@ -78,22 +80,18 @@ export namespace IsNotNumber {
78
80
  * This is a type util for building custom types.
79
81
  * It does not check against special types.
80
82
  */
81
- export type $<T, $O extends $UtilOptions> =
82
- $ResolveOptions<[$O['exact'], false]> extends true
83
- ? $IsDistributive<$O, { $then: _D<T, $O>, $else: _N<T, $O> }>
83
+ export type $<T, $O extends $UtilOptions> = $ResolveOptions<[$O['exact'], false]> extends true
84
+ ? $IsDistributive<$O, { $then: _D<T, $O>; $else: _N<T, $O> }>
84
85
  : NotAssignable.$<T, number, $O>
85
86
  export type $UtilOptions = NotAssignable.$UtilOptions & $Exact.$Options
86
- export type _D<T, $O extends IsNotNumber.$Options> =
87
- T extends number & infer U
88
- ? (
89
- U extends number
90
- ? $ResolveBranch<T, $O, [$Then]>
91
- : $ResolveBranch<T, $O, [$Else]>
92
- )
87
+ export type _D<T, $O extends IsNotNumber.$Options> = T extends number & infer U
88
+ ? U extends number
89
+ ? $ResolveBranch<T, $O, [$Then]>
90
+ : $ResolveBranch<T, $O, [$Else]>
93
91
  : $ResolveBranch<T, $O, [$Then]>
94
- export type _N<T, $O extends IsNotNumber.$Options> =
95
- [T] extends [number & infer U] ?
96
- U extends number ? $ResolveBranch<T, $O, [$Then]>
97
- : $ResolveBranch<T, $O, [$Else]>
92
+ export type _N<T, $O extends IsNotNumber.$Options> = [T] extends [number & infer U]
93
+ ? U extends number
94
+ ? $ResolveBranch<T, $O, [$Then]>
95
+ : $ResolveBranch<T, $O, [$Else]>
98
96
  : $ResolveBranch<T, $O, [$Then]>
99
97
  }
@@ -56,10 +56,12 @@ import type { $Else, $Then } from '../type_plus/branch/$selection.js'
56
56
  * type R = IsNotNumberLiteral<string, $SelectionBranch> // $Then
57
57
  * ```
58
58
  */
59
- export type IsNotNumberLiteral<T, $O extends IsNotNumberLiteral.$Options = {}> = $SpecialType<T,
60
- $MergeOptions<$O,
59
+ export type IsNotNumberLiteral<T, $O extends IsNotNumberLiteral.$Options = {}> = $SpecialType<
60
+ T,
61
+ $MergeOptions<
62
+ $O,
61
63
  {
62
- $then: $ResolveBranch<T, $O, [$Then]>,
64
+ $then: $ResolveBranch<T, $O, [$Then]>
63
65
  $else: IsNotNumberLiteral.$<T, $O>
64
66
  }
65
67
  >
@@ -77,25 +79,24 @@ export namespace IsNotNumberLiteral {
77
79
  * This is a type util for building custom types.
78
80
  * It does not check against special types.
79
81
  */
80
- export type $<T, $O extends $UtilOptions> =
81
- $IsDistributive<$O, {
82
- $then: _D<T, $O>,
82
+ export type $<T, $O extends $UtilOptions> = $IsDistributive<
83
+ $O,
84
+ {
85
+ $then: _D<T, $O>
83
86
  $else: _N<T, $O>
84
- }>
87
+ }
88
+ >
85
89
 
86
90
  export type $UtilOptions = Assignable.$UtilOptions
87
91
 
88
- export type _D<T, $O extends $UtilOptions> =
89
- T extends number & infer U
90
- ? (
91
- U extends number
92
+ export type _D<T, $O extends $UtilOptions> = T extends number & infer U
93
+ ? U extends number
92
94
  ? $ResolveBranch<T, $O, [$Else]>
93
95
  : $ResolveBranch<T, $O, [$Then]>
94
- )
95
- : $ResolveBranch<T, $O, [$Then]>
96
- export type _N<T, $O extends $UtilOptions> =
97
- [T] extends [number & infer U] ?
98
- U extends number ? $ResolveBranch<T, $O, [$Else]>
99
96
  : $ResolveBranch<T, $O, [$Then]>
97
+ export type _N<T, $O extends $UtilOptions> = [T] extends [number & infer U]
98
+ ? U extends number
99
+ ? $ResolveBranch<T, $O, [$Else]>
100
+ : $ResolveBranch<T, $O, [$Then]>
100
101
  : $ResolveBranch<T, $O, [$Then]>
101
102
  }
@@ -60,10 +60,12 @@ import type { $Else, $Then } from '../type_plus/branch/$selection.js'
60
60
  * type R = IsNumber<string, $SelectionBranch> // $Else
61
61
  * ```
62
62
  */
63
- export type IsNumber<T, $O extends IsNumber.$Options = {}> = $SpecialType<T,
64
- $MergeOptions<$O,
63
+ export type IsNumber<T, $O extends IsNumber.$Options = {}> = $SpecialType<
64
+ T,
65
+ $MergeOptions<
66
+ $O,
65
67
  {
66
- $then: $ResolveBranch<T, $O, [$Else]>,
68
+ $then: $ResolveBranch<T, $O, [$Else]>
67
69
  $else: IsNumber.$<T, $O>
68
70
  }
69
71
  >
@@ -81,23 +83,19 @@ export namespace IsNumber {
81
83
  * This is a type util for building custom types.
82
84
  * It does not check against special types.
83
85
  */
84
- export type $<T, $O extends $UtilOptions> =
85
- $ResolveOptions<[$O['exact'], false]> extends true
86
- ? $IsDistributive<$O, { $then: _D<T, $O>, $else: _N<T, $O> }>
86
+ export type $<T, $O extends $UtilOptions> = $ResolveOptions<[$O['exact'], false]> extends true
87
+ ? $IsDistributive<$O, { $then: _D<T, $O>; $else: _N<T, $O> }>
87
88
  : Assignable.$<T, number, $O>
88
89
  export type $UtilOptions = Assignable.$UtilOptions & $Exact.$Options
89
90
 
90
- export type _D<T, $O extends $UtilOptions> =
91
- T extends number & infer U
92
- ? (
93
- U extends number
94
- ? $ResolveBranch<T, $O, [$Else]>
95
- : $ResolveBranch<T, $O, [$Then]>
96
- )
91
+ export type _D<T, $O extends $UtilOptions> = T extends number & infer U
92
+ ? U extends number
93
+ ? $ResolveBranch<T, $O, [$Else]>
94
+ : $ResolveBranch<T, $O, [$Then]>
97
95
  : $ResolveBranch<T, $O, [$Else]>
98
- export type _N<T, $O extends $UtilOptions> =
99
- [T] extends [number & infer U] ?
100
- U extends number ? $ResolveBranch<T, $O, [$Else]>
101
- : $ResolveBranch<T, $O, [$Then]>
96
+ export type _N<T, $O extends $UtilOptions> = [T] extends [number & infer U]
97
+ ? U extends number
98
+ ? $ResolveBranch<T, $O, [$Else]>
99
+ : $ResolveBranch<T, $O, [$Then]>
102
100
  : $ResolveBranch<T, $O, [$Else]>
103
101
  }
@@ -58,10 +58,12 @@ import type { $Else, $Then } from '../type_plus/branch/$selection.js'
58
58
  * type R = IsNumberLiteral<string, $SelectionBranch> // $Else
59
59
  * ```
60
60
  */
61
- export type IsNumberLiteral<T, $O extends IsNumberLiteral.$Options = {}> = $SpecialType<T,
62
- $MergeOptions<$O,
61
+ export type IsNumberLiteral<T, $O extends IsNumberLiteral.$Options = {}> = $SpecialType<
62
+ T,
63
+ $MergeOptions<
64
+ $O,
63
65
  {
64
- $then: $ResolveBranch<T, $O, [$Else]>,
66
+ $then: $ResolveBranch<T, $O, [$Else]>
65
67
  $else: IsNumberLiteral.$<T, $O>
66
68
  }
67
69
  >
@@ -79,22 +81,18 @@ export namespace IsNumberLiteral {
79
81
  * This is a type util for building custom types.
80
82
  * It does not check against special types.
81
83
  */
82
- export type $<T, $O extends $UtilOptions> =
83
- $IsDistributive<$O, { $then: _D<T, $O>, $else: _N<T, $O> }>
84
+ export type $<T, $O extends $UtilOptions> = $IsDistributive<$O, { $then: _D<T, $O>; $else: _N<T, $O> }>
84
85
 
85
86
  export type $UtilOptions = Assignable.$UtilOptions
86
87
 
87
- export type _D<T, $O extends $UtilOptions> =
88
- T extends number & infer U
89
- ? (
90
- U extends number
88
+ export type _D<T, $O extends $UtilOptions> = T extends number & infer U
89
+ ? U extends number
91
90
  ? $ResolveBranch<T, $O, [$Then]>
92
91
  : $ResolveBranch<T, $O, [$Else]>
93
- )
94
- : $ResolveBranch<T, $O, [$Else]>
95
- export type _N<T, $O extends $UtilOptions> =
96
- [T] extends [number & infer U] ?
97
- U extends number ? $ResolveBranch<T, $O, [$Then]>
98
92
  : $ResolveBranch<T, $O, [$Else]>
93
+ export type _N<T, $O extends $UtilOptions> = [T] extends [number & infer U]
94
+ ? U extends number
95
+ ? $ResolveBranch<T, $O, [$Then]>
96
+ : $ResolveBranch<T, $O, [$Else]>
99
97
  : $ResolveBranch<T, $O, [$Else]>
100
98
  }