@fncts/base 0.0.12 → 0.0.13

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 (473) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +16 -21
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/compat/Record/instances.cjs +67 -16
  4. package/_cjs/collection/compat/Record/instances.cjs.map +1 -1
  5. package/_cjs/collection/immutable/Conc/api.cjs +9 -12
  6. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  7. package/_cjs/collection/immutable/Conc/definition.cjs +41 -43
  8. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  9. package/_cjs/collection/immutable/Dictionary/definition.cjs +2 -4
  10. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  11. package/_cjs/collection/immutable/HashMap/api.cjs +26 -29
  12. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  13. package/_cjs/collection/immutable/HashMap/definition.cjs +15 -17
  14. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  15. package/_cjs/collection/immutable/ImmutableArray/api.cjs +136 -153
  16. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  17. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +10 -12
  18. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  19. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +11 -9
  20. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  21. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +21 -22
  22. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  23. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +3 -9
  24. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  25. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +8 -2
  26. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  27. package/_cjs/collection/immutable/RoseTree/definition.cjs +13 -15
  28. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  29. package/_cjs/collection/immutable/Vector/api.cjs +8 -12
  30. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  31. package/_cjs/collection/immutable/Vector/definition.cjs +11 -13
  32. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  33. package/_cjs/collection/weak/IterableWeakMap.cjs +51 -2
  34. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  35. package/_cjs/collection/weak/IterableWeakSet.cjs +59 -7
  36. package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
  37. package/_cjs/control/Eval/api.cjs +9 -3
  38. package/_cjs/control/Eval/api.cjs.map +1 -1
  39. package/_cjs/control/Eval/definition.cjs +0 -7
  40. package/_cjs/control/Eval/definition.cjs.map +1 -1
  41. package/_cjs/control/Eval/instance.cjs +6 -0
  42. package/_cjs/control/Eval/instance.cjs.map +1 -1
  43. package/_cjs/control/Z/api.cjs +16 -14
  44. package/_cjs/control/Z/api.cjs.map +1 -1
  45. package/_cjs/control/Z/definition.cjs +9 -14
  46. package/_cjs/control/Z/definition.cjs.map +1 -1
  47. package/_cjs/control/Z/instances.cjs +6 -0
  48. package/_cjs/control/Z/instances.cjs.map +1 -1
  49. package/_cjs/control/Z/runtime.cjs +15 -13
  50. package/_cjs/control/Z/runtime.cjs.map +1 -1
  51. package/_cjs/data/Const/definition.cjs +0 -7
  52. package/_cjs/data/Const/definition.cjs.map +1 -1
  53. package/_cjs/data/Const/instances.cjs +7 -5
  54. package/_cjs/data/Const/instances.cjs.map +1 -1
  55. package/_cjs/data/Datum/api.cjs +479 -0
  56. package/_cjs/data/Datum/api.cjs.map +1 -0
  57. package/_cjs/data/Datum/definition.cjs +142 -0
  58. package/_cjs/data/Datum/definition.cjs.map +1 -0
  59. package/_cjs/data/Datum/instances.cjs +69 -0
  60. package/_cjs/data/Datum/instances.cjs.map +1 -0
  61. package/_cjs/data/DatumEither/api.cjs +365 -0
  62. package/_cjs/data/DatumEither/api.cjs.map +1 -0
  63. package/_cjs/data/DatumEither/definition.cjs +9 -0
  64. package/_cjs/data/DatumEither/definition.cjs.map +1 -0
  65. package/_cjs/data/DecodeError/definition.cjs +3 -3
  66. package/_cjs/data/DecodeError/definition.cjs.map +1 -1
  67. package/_cjs/data/Decoder/definition.cjs +3 -10
  68. package/_cjs/data/Decoder/definition.cjs.map +1 -1
  69. package/_cjs/data/Either/api.cjs +21 -5
  70. package/_cjs/data/Either/api.cjs.map +1 -1
  71. package/_cjs/data/Either/definition.cjs +3 -10
  72. package/_cjs/data/Either/definition.cjs.map +1 -1
  73. package/_cjs/data/Either/instances.cjs +25 -23
  74. package/_cjs/data/Either/instances.cjs.map +1 -1
  75. package/_cjs/data/EitherT/api.cjs +106 -0
  76. package/_cjs/data/EitherT/api.cjs.map +1 -0
  77. package/_cjs/data/EitherT/definition.cjs +9 -0
  78. package/_cjs/data/EitherT/definition.cjs.map +1 -0
  79. package/_cjs/data/Environment/api.cjs +15 -14
  80. package/_cjs/data/Environment/api.cjs.map +1 -1
  81. package/_cjs/data/Environment/definition.cjs.map +1 -1
  82. package/_cjs/data/Identity/api.cjs +3 -1
  83. package/_cjs/data/Identity/api.cjs.map +1 -1
  84. package/_cjs/data/Identity/definition.cjs +2 -4
  85. package/_cjs/data/Identity/definition.cjs.map +1 -1
  86. package/_cjs/data/Identity/instances.cjs +6 -0
  87. package/_cjs/data/Identity/instances.cjs.map +1 -1
  88. package/_cjs/data/Intervals.cjs +292 -0
  89. package/_cjs/data/Intervals.cjs.map +1 -0
  90. package/_cjs/data/Maybe/api.cjs +3 -1
  91. package/_cjs/data/Maybe/api.cjs.map +1 -1
  92. package/_cjs/data/Maybe/definition.cjs +11 -13
  93. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  94. package/_cjs/data/Maybe/instances.cjs +13 -11
  95. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  96. package/_cjs/data/Newtype.cjs +3 -5
  97. package/_cjs/data/Newtype.cjs.map +1 -1
  98. package/_cjs/data/Struct/definition.cjs +2 -4
  99. package/_cjs/data/Struct/definition.cjs.map +1 -1
  100. package/_cjs/data/Zipped.cjs +55 -0
  101. package/_cjs/data/Zipped.cjs.map +1 -0
  102. package/_cjs/data/function/api.cjs +10 -0
  103. package/_cjs/data/function/api.cjs.map +1 -1
  104. package/_cjs/data/object/instances.cjs +9 -1
  105. package/_cjs/data/object/instances.cjs.map +1 -1
  106. package/_cjs/optics/Optional/definition.cjs +4 -6
  107. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  108. package/_cjs/optics/Traversal/api/compose.cjs +1 -1
  109. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  110. package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -1
  111. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  112. package/_cjs/optics/Traversal/definition.cjs +3 -3
  113. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  114. package/_cjs/typeclass/Alt.cjs +0 -7
  115. package/_cjs/typeclass/Alt.cjs.map +1 -1
  116. package/_cjs/typeclass/ApplicativeExcept.cjs +9 -35
  117. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  118. package/_cjs/typeclass/Apply.cjs +39 -66
  119. package/_cjs/typeclass/Apply.cjs.map +1 -1
  120. package/_cjs/typeclass/Chain.cjs +6 -28
  121. package/_cjs/typeclass/Chain.cjs.map +1 -1
  122. package/_cjs/typeclass/Fail.cjs +0 -10
  123. package/_cjs/typeclass/Fail.cjs.map +1 -1
  124. package/_cjs/typeclass/Filterable.cjs +0 -36
  125. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  126. package/_cjs/typeclass/Foldable.cjs +4 -34
  127. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  128. package/_cjs/typeclass/FoldableWithIndex.cjs +4 -34
  129. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  130. package/_cjs/typeclass/Functor.cjs +3 -18
  131. package/_cjs/typeclass/Functor.cjs.map +1 -1
  132. package/_cjs/typeclass/Guard/definition.cjs +3 -10
  133. package/_cjs/typeclass/Guard/definition.cjs.map +1 -1
  134. package/_cjs/typeclass/MonadExcept.cjs +2 -10
  135. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  136. package/_cjs/typeclass/Nil.cjs +0 -10
  137. package/_cjs/typeclass/Nil.cjs.map +1 -1
  138. package/_cjs/typeclass/Pointed.cjs +0 -11
  139. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  140. package/_cjs/typeclass/Semialign.cjs +18 -46
  141. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  142. package/_cjs/typeclass/Semimonoidal.cjs +0 -11
  143. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  144. package/_cjs/typeclass/Showable/show.cjs +12 -12
  145. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  146. package/_cjs/typeclass/Traversable.cjs +7 -26
  147. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  148. package/_cjs/typeclass/TraversableWithIndex.cjs +3 -7
  149. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  150. package/_cjs/typeclass/Witherable.cjs +3 -45
  151. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  152. package/_cjs/typeclass/WitherableWithIndex.cjs +8 -44
  153. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  154. package/_mjs/collection/Iterable/api/traverseConc.mjs +16 -21
  155. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  156. package/_mjs/collection/compat/Record/instances.mjs +62 -16
  157. package/_mjs/collection/compat/Record/instances.mjs.map +1 -1
  158. package/_mjs/collection/immutable/Conc/api.mjs +7 -11
  159. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  160. package/_mjs/collection/immutable/Conc/definition.mjs +41 -42
  161. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  162. package/_mjs/collection/immutable/Dictionary/definition.mjs +2 -3
  163. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  164. package/_mjs/collection/immutable/HashMap/api.mjs +18 -20
  165. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  166. package/_mjs/collection/immutable/HashMap/definition.mjs +15 -16
  167. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  168. package/_mjs/collection/immutable/ImmutableArray/api.mjs +128 -147
  169. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  170. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +10 -11
  171. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  172. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +9 -8
  173. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  174. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +18 -19
  175. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  176. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -2
  177. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  178. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +4 -3
  179. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  180. package/_mjs/collection/immutable/RoseTree/definition.mjs +13 -14
  181. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
  182. package/_mjs/collection/immutable/Vector/api.mjs +8 -12
  183. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  184. package/_mjs/collection/immutable/Vector/definition.mjs +11 -12
  185. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  186. package/_mjs/collection/weak/IterableWeakMap.mjs +51 -2
  187. package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
  188. package/_mjs/collection/weak/IterableWeakSet.mjs +59 -7
  189. package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
  190. package/_mjs/control/Eval/api.mjs +9 -4
  191. package/_mjs/control/Eval/api.mjs.map +1 -1
  192. package/_mjs/control/Eval/definition.mjs +0 -1
  193. package/_mjs/control/Eval/definition.mjs.map +1 -1
  194. package/_mjs/control/Eval/instance.mjs +1 -0
  195. package/_mjs/control/Eval/instance.mjs.map +1 -1
  196. package/_mjs/control/Z/api.mjs +16 -15
  197. package/_mjs/control/Z/api.mjs.map +1 -1
  198. package/_mjs/control/Z/definition.mjs +4 -5
  199. package/_mjs/control/Z/definition.mjs.map +1 -1
  200. package/_mjs/control/Z/instances.mjs +1 -0
  201. package/_mjs/control/Z/instances.mjs.map +1 -1
  202. package/_mjs/control/Z/runtime.mjs +14 -13
  203. package/_mjs/control/Z/runtime.mjs.map +1 -1
  204. package/_mjs/data/Const/definition.mjs +0 -3
  205. package/_mjs/data/Const/definition.mjs.map +1 -1
  206. package/_mjs/data/Const/instances.mjs +6 -5
  207. package/_mjs/data/Const/instances.mjs.map +1 -1
  208. package/_mjs/data/Datum/api.mjs +403 -0
  209. package/_mjs/data/Datum/api.mjs.map +1 -0
  210. package/_mjs/data/Datum/definition.mjs +112 -0
  211. package/_mjs/data/Datum/definition.mjs.map +1 -0
  212. package/_mjs/data/Datum/instances.mjs +52 -0
  213. package/_mjs/data/Datum/instances.mjs.map +1 -0
  214. package/_mjs/data/DatumEither/api.mjs +290 -0
  215. package/_mjs/data/DatumEither/api.mjs.map +1 -0
  216. package/_mjs/data/DatumEither/definition.mjs +2 -0
  217. package/_mjs/data/DatumEither/definition.mjs.map +1 -0
  218. package/_mjs/data/DecodeError/definition.mjs +3 -3
  219. package/_mjs/data/DecodeError/definition.mjs.map +1 -1
  220. package/_mjs/data/Decoder/definition.mjs +0 -2
  221. package/_mjs/data/Decoder/definition.mjs.map +1 -1
  222. package/_mjs/data/Either/api.mjs +16 -3
  223. package/_mjs/data/Either/api.mjs.map +1 -1
  224. package/_mjs/data/Either/definition.mjs +0 -2
  225. package/_mjs/data/Either/definition.mjs.map +1 -1
  226. package/_mjs/data/Either/instances.mjs +23 -22
  227. package/_mjs/data/Either/instances.mjs.map +1 -1
  228. package/_mjs/data/EitherT/api.mjs +73 -0
  229. package/_mjs/data/EitherT/api.mjs.map +1 -0
  230. package/_mjs/data/EitherT/definition.mjs +2 -0
  231. package/_mjs/data/EitherT/definition.mjs.map +1 -0
  232. package/_mjs/data/Environment/api.mjs +12 -13
  233. package/_mjs/data/Environment/api.mjs.map +1 -1
  234. package/_mjs/data/Environment/definition.mjs.map +1 -1
  235. package/_mjs/data/Identity/api.mjs +2 -1
  236. package/_mjs/data/Identity/api.mjs.map +1 -1
  237. package/_mjs/data/Identity/definition.mjs +2 -3
  238. package/_mjs/data/Identity/definition.mjs.map +1 -1
  239. package/_mjs/data/Identity/instances.mjs +1 -0
  240. package/_mjs/data/Identity/instances.mjs.map +1 -1
  241. package/_mjs/data/Intervals.mjs +257 -0
  242. package/_mjs/data/Intervals.mjs.map +1 -0
  243. package/_mjs/data/Maybe/api.mjs +2 -1
  244. package/_mjs/data/Maybe/api.mjs.map +1 -1
  245. package/_mjs/data/Maybe/definition.mjs +8 -10
  246. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  247. package/_mjs/data/Maybe/instances.mjs +12 -11
  248. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  249. package/_mjs/data/Newtype.mjs +3 -4
  250. package/_mjs/data/Newtype.mjs.map +1 -1
  251. package/_mjs/data/Struct/definition.mjs +2 -3
  252. package/_mjs/data/Struct/definition.mjs.map +1 -1
  253. package/_mjs/data/Zipped.mjs +37 -0
  254. package/_mjs/data/Zipped.mjs.map +1 -0
  255. package/_mjs/data/function/api.mjs +8 -0
  256. package/_mjs/data/function/api.mjs.map +1 -1
  257. package/_mjs/data/object/instances.mjs +7 -1
  258. package/_mjs/data/object/instances.mjs.map +1 -1
  259. package/_mjs/optics/Optional/definition.mjs +4 -5
  260. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  261. package/_mjs/optics/Traversal/api/compose.mjs +1 -1
  262. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  263. package/_mjs/optics/Traversal/api/fromTraversable.mjs +1 -1
  264. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  265. package/_mjs/optics/Traversal/definition.mjs +3 -3
  266. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  267. package/_mjs/typeclass/Alt.mjs +0 -5
  268. package/_mjs/typeclass/Alt.mjs.map +1 -1
  269. package/_mjs/typeclass/ApplicativeExcept.mjs +7 -32
  270. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  271. package/_mjs/typeclass/Apply.mjs +35 -65
  272. package/_mjs/typeclass/Apply.mjs.map +1 -1
  273. package/_mjs/typeclass/Chain.mjs +4 -25
  274. package/_mjs/typeclass/Chain.mjs.map +1 -1
  275. package/_mjs/typeclass/Fail.mjs +1 -8
  276. package/_mjs/typeclass/Fail.mjs.map +1 -1
  277. package/_mjs/typeclass/Filterable.mjs +0 -28
  278. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  279. package/_mjs/typeclass/Foldable.mjs +3 -30
  280. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  281. package/_mjs/typeclass/FoldableWithIndex.mjs +3 -30
  282. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  283. package/_mjs/typeclass/Functor.mjs +3 -16
  284. package/_mjs/typeclass/Functor.mjs.map +1 -1
  285. package/_mjs/typeclass/Guard/definition.mjs +0 -2
  286. package/_mjs/typeclass/Guard/definition.mjs.map +1 -1
  287. package/_mjs/typeclass/MonadExcept.mjs +2 -9
  288. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  289. package/_mjs/typeclass/Nil.mjs +1 -8
  290. package/_mjs/typeclass/Nil.mjs.map +1 -1
  291. package/_mjs/typeclass/Pointed.mjs +0 -9
  292. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  293. package/_mjs/typeclass/Semialign.mjs +17 -45
  294. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  295. package/_mjs/typeclass/Semimonoidal.mjs +0 -9
  296. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  297. package/_mjs/typeclass/Showable/show.mjs +12 -12
  298. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  299. package/_mjs/typeclass/Traversable.mjs +6 -25
  300. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  301. package/_mjs/typeclass/TraversableWithIndex.mjs +2 -6
  302. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  303. package/_mjs/typeclass/Witherable.mjs +3 -40
  304. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  305. package/_mjs/typeclass/WitherableWithIndex.mjs +6 -41
  306. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  307. package/_src/collection/Iterable/api/traverseConc.ts +24 -21
  308. package/_src/collection/compat/Record/instances.ts +44 -0
  309. package/_src/collection/immutable/Conc/api.ts +9 -11
  310. package/_src/collection/immutable/Conc/definition.ts +9 -5
  311. package/_src/collection/immutable/Dictionary/definition.ts +1 -1
  312. package/_src/collection/immutable/HashMap/api.ts +20 -17
  313. package/_src/collection/immutable/HashMap/definition.ts +10 -6
  314. package/_src/collection/immutable/ImmutableArray/api.ts +56 -113
  315. package/_src/collection/immutable/ImmutableArray/definition.ts +8 -5
  316. package/_src/collection/immutable/ImmutableArray/instances.ts +42 -42
  317. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +13 -11
  318. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +8 -3
  319. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +24 -25
  320. package/_src/collection/immutable/RoseTree/definition.ts +7 -4
  321. package/_src/collection/immutable/Vector/api.ts +12 -16
  322. package/_src/collection/immutable/Vector/definition.ts +9 -9
  323. package/_src/collection/weak/IterableWeakMap.ts +50 -5
  324. package/_src/collection/weak/IterableWeakSet.ts +57 -9
  325. package/_src/control/Eval/api.ts +5 -2
  326. package/_src/control/Eval/definition.ts +7 -4
  327. package/_src/control/Eval/instance.ts +7 -7
  328. package/_src/control/Z/api.ts +16 -25
  329. package/_src/control/Z/definition.ts +32 -31
  330. package/_src/control/Z/instances.ts +3 -3
  331. package/_src/control/Z/runtime.ts +7 -7
  332. package/_src/data/Const/definition.ts +9 -17
  333. package/_src/data/Const/instances.ts +5 -5
  334. package/_src/data/Datum/api.ts +376 -0
  335. package/_src/data/Datum/definition.ts +102 -0
  336. package/_src/data/Datum/instances.ts +34 -0
  337. package/_src/data/DatumEither/api.ts +348 -0
  338. package/_src/data/DatumEither/definition.ts +20 -0
  339. package/_src/data/DecodeError/definition.ts +3 -3
  340. package/_src/data/Decoder/definition.ts +7 -4
  341. package/_src/data/Either/api.ts +12 -2
  342. package/_src/data/Either/definition.ts +9 -14
  343. package/_src/data/Either/instances.ts +6 -6
  344. package/_src/data/EitherT/api.ts +239 -0
  345. package/_src/data/EitherT/definition.ts +23 -0
  346. package/_src/data/Environment/api.ts +8 -6
  347. package/_src/data/Environment/definition.ts +2 -2
  348. package/_src/data/Identity/api.ts +2 -2
  349. package/_src/data/Identity/definition.ts +2 -2
  350. package/_src/data/Identity/instances.ts +7 -7
  351. package/_src/data/Intervals.ts +126 -0
  352. package/_src/data/Maybe/api.ts +2 -2
  353. package/_src/data/Maybe/definition.ts +7 -4
  354. package/_src/data/Maybe/instances.ts +10 -10
  355. package/_src/data/Newtype.ts +32 -11
  356. package/_src/data/Struct/definition.ts +1 -1
  357. package/_src/data/Tag/definition.ts +2 -2
  358. package/_src/data/Zipped.ts +52 -0
  359. package/_src/data/function/api.ts +8 -0
  360. package/_src/data/object/instances.ts +11 -1
  361. package/_src/optics/Optional/definition.ts +2 -2
  362. package/_src/optics/Traversal/api/compose.ts +1 -1
  363. package/_src/optics/Traversal/api/fromTraversable.ts +11 -11
  364. package/_src/optics/Traversal/definition.ts +13 -12
  365. package/_src/typeclass/Align.ts +1 -1
  366. package/_src/typeclass/Alt.ts +24 -54
  367. package/_src/typeclass/Alternative.ts +1 -1
  368. package/_src/typeclass/Applicative.ts +6 -1
  369. package/_src/typeclass/ApplicativeExcept.ts +55 -81
  370. package/_src/typeclass/Apply.ts +224 -253
  371. package/_src/typeclass/Chain.ts +71 -98
  372. package/_src/typeclass/Fail.ts +10 -28
  373. package/_src/typeclass/Filterable.ts +13 -67
  374. package/_src/typeclass/FilterableWithIndex.ts +13 -13
  375. package/_src/typeclass/Foldable.ts +16 -35
  376. package/_src/typeclass/FoldableWithIndex.ts +14 -37
  377. package/_src/typeclass/Functor.ts +11 -21
  378. package/_src/typeclass/FunctorWithIndex.ts +4 -4
  379. package/_src/typeclass/Guard/definition.ts +1 -3
  380. package/_src/typeclass/Monad.ts +1 -1
  381. package/_src/typeclass/MonadExcept.ts +11 -7
  382. package/_src/typeclass/Nil.ts +10 -27
  383. package/_src/typeclass/Pointed.ts +11 -30
  384. package/_src/typeclass/Semialign.ts +285 -253
  385. package/_src/typeclass/Semimonoidal.ts +23 -54
  386. package/_src/typeclass/Showable/show.ts +8 -10
  387. package/_src/typeclass/Traversable.ts +45 -63
  388. package/_src/typeclass/TraversableWithIndex.ts +37 -34
  389. package/_src/typeclass/Witherable.ts +28 -115
  390. package/_src/typeclass/WitherableWithIndex.ts +82 -115
  391. package/_src/types/extractions.ts +1 -1
  392. package/collection/Iterable/api/traverseConc.d.ts +4 -6
  393. package/collection/compat/Record/instances.d.ts +12 -0
  394. package/collection/immutable/Conc/api.d.ts +4 -6
  395. package/collection/immutable/Conc/definition.d.ts +9 -6
  396. package/collection/immutable/Dictionary/definition.d.ts +1 -1
  397. package/collection/immutable/HashMap/api.d.ts +13 -13
  398. package/collection/immutable/HashMap/definition.d.ts +10 -7
  399. package/collection/immutable/ImmutableArray/api.d.ts +16 -18
  400. package/collection/immutable/ImmutableArray/definition.d.ts +8 -6
  401. package/collection/immutable/ImmutableArray/instances.d.ts +17 -17
  402. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +6 -5
  403. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +7 -3
  404. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +10 -10
  405. package/collection/immutable/RoseTree/definition.d.ts +7 -5
  406. package/collection/immutable/Vector/api.d.ts +4 -4
  407. package/collection/immutable/Vector/definition.d.ts +8 -9
  408. package/collection/weak/IterableWeakMap.d.ts +9 -3
  409. package/collection/weak/IterableWeakSet.d.ts +10 -4
  410. package/control/Eval/api.d.ts +6 -1
  411. package/control/Eval/definition.d.ts +6 -4
  412. package/control/Eval/instance.d.ts +3 -3
  413. package/control/Z/api.d.ts +8 -6
  414. package/control/Z/definition.d.ts +38 -32
  415. package/control/Z/instances.d.ts +2 -2
  416. package/control/Z/runtime.d.ts +5 -4
  417. package/data/Const/definition.d.ts +8 -16
  418. package/data/Const/instances.d.ts +4 -3
  419. package/data/Datum/api.d.ts +188 -0
  420. package/data/Datum/definition.d.ts +75 -0
  421. package/data/Datum/instances.d.ts +32 -0
  422. package/data/DatumEither/api.d.ts +169 -0
  423. package/data/DatumEither/definition.d.ts +21 -0
  424. package/data/Decoder/definition.d.ts +6 -4
  425. package/data/Either/api.d.ts +10 -0
  426. package/data/Either/definition.d.ts +8 -14
  427. package/data/Either/instances.d.ts +4 -3
  428. package/data/EitherT/api.d.ts +60 -0
  429. package/data/EitherT/definition.d.ts +12 -0
  430. package/data/Environment/api.d.ts +7 -5
  431. package/data/Environment/definition.d.ts +3 -3
  432. package/data/Identity/api.d.ts +2 -1
  433. package/data/Identity/definition.d.ts +2 -2
  434. package/data/Identity/instances.d.ts +3 -3
  435. package/data/Intervals.d.ts +53 -0
  436. package/data/Maybe/api.d.ts +2 -1
  437. package/data/Maybe/definition.d.ts +7 -4
  438. package/data/Maybe/instances.d.ts +6 -6
  439. package/data/Newtype.d.ts +9 -8
  440. package/data/Struct/definition.d.ts +1 -1
  441. package/data/Tag/definition.d.ts +2 -2
  442. package/data/Zipped.d.ts +24 -0
  443. package/data/function/api.d.ts +6 -0
  444. package/data/object/instances.d.ts +6 -1
  445. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  446. package/optics/Traversal/definition.d.ts +2 -4
  447. package/package.json +2 -2
  448. package/typeclass/Align.d.ts +1 -1
  449. package/typeclass/Alt.d.ts +2 -4
  450. package/typeclass/Alternative.d.ts +1 -1
  451. package/typeclass/Applicative.d.ts +2 -1
  452. package/typeclass/ApplicativeExcept.d.ts +5 -13
  453. package/typeclass/Apply.d.ts +20 -32
  454. package/typeclass/Chain.d.ts +5 -13
  455. package/typeclass/Fail.d.ts +2 -7
  456. package/typeclass/Filterable.d.ts +7 -31
  457. package/typeclass/FilterableWithIndex.d.ts +7 -7
  458. package/typeclass/Foldable.d.ts +6 -19
  459. package/typeclass/FoldableWithIndex.d.ts +6 -19
  460. package/typeclass/Functor.d.ts +4 -11
  461. package/typeclass/FunctorWithIndex.d.ts +2 -2
  462. package/typeclass/Guard/definition.d.ts +1 -4
  463. package/typeclass/Monad.d.ts +1 -1
  464. package/typeclass/MonadExcept.d.ts +3 -4
  465. package/typeclass/Nil.d.ts +2 -7
  466. package/typeclass/Pointed.d.ts +2 -7
  467. package/typeclass/Semialign.d.ts +26 -32
  468. package/typeclass/Semimonoidal.d.ts +3 -8
  469. package/typeclass/Traversable.d.ts +21 -12
  470. package/typeclass/TraversableWithIndex.d.ts +19 -6
  471. package/typeclass/Witherable.d.ts +5 -19
  472. package/typeclass/WitherableWithIndex.d.ts +33 -19
  473. package/types/extractions.d.ts +1 -1
@@ -6,21 +6,26 @@ import type { Witherable } from "@fncts/base/typeclass/Witherable";
6
6
  /**
7
7
  * @tsplus type fncts.WitherableWithIndex
8
8
  */
9
- export interface WitherableWithIndex<F extends HKT>
10
- extends FilterableWithIndex<F>,
11
- TraversableWithIndex<F>,
12
- Witherable<F> {
13
- witherWithIndex<G extends HKT, KF, QF, WF, XF, IF, SF, RF, EF, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(
14
- wa: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>,
15
- f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
16
- /** @tsplus auto */ G: Applicative<G>,
17
- ): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>>;
18
- wiltWithIndex<G extends HKT, KF, QF, WF, XF, IF, SF, RF, EF, KG, QG, WG, XG, IG, SG, RG, EG, A, B, B2>(
19
- wa: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>,
20
- f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B2>>,
21
- /** @tsplus auto */ G: Applicative<G>,
22
- ): HKT.Kind<
9
+ export interface WitherableWithIndex<F extends HKT, FC = HKT.None>
10
+ extends FilterableWithIndex<F, FC>,
11
+ TraversableWithIndex<F, FC>,
12
+ Witherable<F, FC> {
13
+ witherWithIndex: <KF, QF, WF, XF, IF, SF, RF, EF, A>(
14
+ wa: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>,
15
+ ) => <G extends HKT, GC = HKT.None>(
16
+ G: Applicative<G, GC>,
17
+ ) => <KG, QG, WG, XG, IG, SG, RG, EG, B>(
18
+ f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
19
+ ) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B>>;
20
+ wiltWithIndex: <KF, QF, WF, XF, IF, SF, RF, EF, A, B, B2>(
21
+ wa: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>,
22
+ ) => <G extends HKT, GC = HKT.None>(
23
+ G: Applicative<G, GC>,
24
+ ) => <KG, QG, WG, XG, IG, SG, RG, EG, B, B2>(
25
+ f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B2>>,
26
+ ) => HKT.Kind<
23
27
  G,
28
+ GC,
24
29
  KG,
25
30
  QG,
26
31
  WG,
@@ -29,7 +34,7 @@ export interface WitherableWithIndex<F extends HKT>
29
34
  SG,
30
35
  RG,
31
36
  EG,
32
- readonly [HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B2>]
37
+ readonly [HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B>, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B2>]
33
38
  >;
34
39
  }
35
40
 
@@ -41,111 +46,73 @@ export interface WitherableWithIndexOps {}
41
46
  export const WitherableWithIndex: WitherableWithIndexOps = {};
42
47
 
43
48
  /**
44
- * @tsplus fluent fncts.Kind witherWithIndex
49
+ * @tsplus static fncts.WitherableWithIndexOps makeWitherWithIndex
45
50
  */
46
- export function witherWithIndex<
47
- F extends HKT,
48
- G extends HKT,
49
- KF,
50
- QF,
51
- WF,
52
- XF,
53
- IF,
54
- SF,
55
- RF,
56
- EF,
57
- KG,
58
- QG,
59
- WG,
60
- XG,
61
- IG,
62
- SG,
63
- RG,
64
- EG,
65
- A,
66
- B,
67
- >(
68
- wa: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>,
69
- f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
70
- /** @tsplus auto */
71
- F: WitherableWithIndex<F>,
72
- /** @tsplus auto */
73
- G: Applicative<G>,
74
- ): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>> {
75
- return F.witherWithIndex(wa, f);
51
+ export function makeWitherWithIndex<F extends HKT, FC = HKT.None>(): (
52
+ i: <KF, QF, WF, XF, IF, SF, RF, EF, A, B, G>(_: {
53
+ A: A;
54
+ B: B;
55
+ G: G;
56
+ FK: KF;
57
+ FQ: QF;
58
+ FW: WF;
59
+ FX: XF;
60
+ FI: IF;
61
+ FS: SF;
62
+ FR: RF;
63
+ FE: EF;
64
+ }) => (
65
+ wa: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>,
66
+ ) => (
67
+ G: Applicative<HKT.F<G>>,
68
+ ) => (
69
+ f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", KF>>, a: A) => HKT.FK1<G, Maybe<B>>,
70
+ ) => HKT.FK1<G, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B>>,
71
+ ) => WitherableWithIndex<F, FC>["witherWithIndex"];
72
+ export function makeWitherWithIndex() {
73
+ return (i: any) => i();
76
74
  }
77
75
 
78
76
  /**
79
- * @tsplus fluent fncts.Kind wiltWithIndex
77
+ * @tsplus static fncts.WitherableWithIndexOps makeWiltWithIndex
80
78
  */
81
- export function wiltWithIndex<
82
- F extends HKT,
83
- G extends HKT,
84
- KF,
85
- QF,
86
- WF,
87
- XF,
88
- IF,
89
- SF,
90
- RF,
91
- EF,
92
- KG,
93
- QG,
94
- WG,
95
- XG,
96
- IG,
97
- SG,
98
- RG,
99
- EG,
100
- A,
101
- B,
102
- B2,
103
- >(
104
- wa: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>,
105
- f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B2>>,
106
- /** @tsplus auto */
107
- F: WitherableWithIndex<F>,
108
- /** @tsplus auto */ G: Applicative<G>,
109
- ): HKT.Kind<
110
- G,
111
- KG,
112
- QG,
113
- WG,
114
- XG,
115
- IG,
116
- SG,
117
- RG,
118
- EG,
119
- readonly [HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B2>]
120
- > {
121
- return F.wiltWithIndex(wa, f);
79
+ export function makeWiltWithIndex<F extends HKT, FC = HKT.None>(): (
80
+ i: <KF, QF, WF, XF, IF, SF, RF, EF, A, B, B1, G>(_: {
81
+ G: G;
82
+ FK: KF;
83
+ FQ: QF;
84
+ FW: WF;
85
+ FX: XF;
86
+ FI: IF;
87
+ FS: SF;
88
+ FR: RF;
89
+ FE: EF;
90
+ A: A;
91
+ B: B;
92
+ B1: B1;
93
+ }) => (
94
+ wa: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>,
95
+ ) => (
96
+ G: Applicative<HKT.F<G>>,
97
+ ) => (
98
+ f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", KF>>, a: A) => HKT.FK1<G, Either<B, B1>>,
99
+ ) => HKT.FK1<
100
+ G,
101
+ readonly [HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B>, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B1>]
102
+ >,
103
+ ) => WitherableWithIndex<F, FC>["wiltWithIndex"];
104
+ export function makeWiltWithIndex() {
105
+ return (i: any) => i();
122
106
  }
123
107
 
124
- export function filterWithIndexA<
125
- F extends HKT,
126
- G extends HKT,
127
- KF,
128
- QF,
129
- WF,
130
- XF,
131
- IF,
132
- SF,
133
- RF,
134
- EF,
135
- AF,
136
- KG,
137
- QG,
138
- WG,
139
- XG,
140
- IG,
141
- SG,
142
- RG,
143
- EG,
144
- >(
145
- fa: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, AF>,
146
- p: (i: HKT.IndexFor<F, KF>, a: AF) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, boolean>,
147
- /** @tsplus auto */ F: WitherableWithIndex<F>,
148
- /** @tsplus auto */ G: Applicative<G>,
149
- ): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, AF>> {
150
- return fa.witherWithIndex((i, a) => p(i, a).map((bb) => (bb ? Just(a) : Nothing()), G));
108
+ export function filterWithIndexA<F extends HKT, FC = HKT.None>(
109
+ F: WitherableWithIndex<F, FC>,
110
+ ): <KF, QF, WF, XF, IF, SF, RF, EF, AF>(
111
+ fa: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, AF>,
112
+ ) => <G extends HKT, GC = HKT.None>(
113
+ G: Applicative<G, GC>,
114
+ ) => <KG, QG, WG, XG, IG, SG, RG, EG>(
115
+ p: (i: HKT.IndexFor<F, KF>, a: AF) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, boolean>,
116
+ ) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, AF>> {
117
+ return (fa) => (G) => (p) => F.witherWithIndex(fa)(G)((i, a) => G.map(p(i, a), (bb) => (bb ? Just(a) : Nothing())));
151
118
  }
@@ -6,6 +6,6 @@ export type ExtractCovariantPhantom<A, P extends PropertyKey> = [A] extends [{ [
6
6
  export type _W<A> = ExtractCovariantPhantom<A, "_W">;
7
7
  export type _S1<A> = ExtractContravariantPhantom<A, "_S1">;
8
8
  export type _S2<A> = ExtractCovariantPhantom<A, "_S2">;
9
- export type _R<A> = ExtractContravariantPhantom<A, "_R">;
9
+ export type _R<A> = ExtractCovariantPhantom<A, "_R">;
10
10
  export type _E<A> = ExtractCovariantPhantom<A, "_E">;
11
11
  export type _A<A> = ExtractCovariantPhantom<A, "_A">;
@@ -2,14 +2,12 @@ import { HKT } from "@fncts/typelevel/HKT";
2
2
  import { Conc } from "@fncts/base/collection/immutable/Conc";
3
3
  import type * as P from "@fncts/base/typeclass";
4
4
  /**
5
- * @tsplus fluent fncts.Iterable traverseToConcWithIndex
5
+ * @tsplus getter fncts.Iterable traverseToConcWithIndex
6
6
  * @tsplus location "@fncts/base/collection/Iterable/api/traverseConc"
7
7
  */
8
- export declare function traverseToConcWithIndex_<G extends HKT, K, Q, W, X, I, S, R, E, A, B>(ta: Iterable<A>, f: (i: number, a: A) => HKT.Kind<G, K, Q, W, X, I, S, R, E, B>,
9
- /** @tsplus auto */ G: P.Applicative<G>): HKT.Kind<G, K, Q, W, X, I, S, R, E, Conc<B>>;
8
+ export declare function traverseToConcWithIndex_<A>(ta: Iterable<A>): <G extends import("@fncts/typelevel/HKT").HKT, GC = import("@fncts/typelevel/HKT").HKT.None>(G: P.Applicative<G, GC>) => <K, Q, W, X, I, S, R, E, B>(f: (i: number, a: A) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, import("../../immutable/Conc").Conc<B>>;
10
9
  /**
11
- * @tsplus fluent fncts.Iterable traverseToConc
10
+ * @tsplus getter fncts.Iterable traverseToConc
12
11
  * @tsplus location "@fncts/base/collection/Iterable/api/traverseConc"
13
12
  */
14
- export declare function traverseToConc_<G extends HKT, K, Q, W, X, I, S, R, E, A, B>(ta: Iterable<A>, f: (a: A) => HKT.Kind<G, K, Q, W, X, I, S, R, E, B>,
15
- /** @tsplus auto */ G: P.Applicative<G>): HKT.Kind<G, K, Q, W, X, I, S, R, E, Conc<B>>;
13
+ export declare function traverseToConc_<A>(ta: Iterable<A>): <G extends HKT, GC = HKT.None>(G: P.Applicative<G, GC>) => <K, Q, W, X, I, S, R, E, B>(f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Conc<B>>;
@@ -1,6 +1,18 @@
1
1
  import { Guard } from "@fncts/base/typeclass/Guard";
2
2
  import { Decoder } from "@fncts/base/data/Decoder";
3
3
  import type { Check } from "@fncts/typelevel/Check";
4
+ /**
5
+ * @tsplus derive fncts.Guard<_> 15
6
+ * @tsplus location "@fncts/base/collection/compat/Record/instances"
7
+ */
8
+ export declare function deriveDictionaryGuard<A extends Record<string, any>>(...[value]: Check<Check.IsDictionary<A>> extends Check.True ? [value: Guard<A[keyof A]>] : never): Guard<A>;
9
+ /**
10
+ * @tsplus derive fncts.Guard<_> 15
11
+ * @tsplus location "@fncts/base/collection/compat/Record/instances"
12
+ */
13
+ export declare function deriveGuard<A extends Record<string, any>>(...[key, value, requiredKeys]: Check<Check.IsRecord<A>> extends Check.True ? [key: Guard<keyof A>, value: Guard<A[keyof A]>, requiredKeys: {
14
+ [k in keyof A]: 0;
15
+ }] : never): Guard<A>;
4
16
  /**
5
17
  * @tsplus derive fncts.Decoder<_> 15
6
18
  * @tsplus location "@fncts/base/collection/compat/Record/instances"
@@ -4,11 +4,10 @@ import { Either } from "@fncts/base/data/Either/definition";
4
4
  import { Maybe } from "@fncts/base/data/Maybe/definition";
5
5
  import { Predicate, PredicateWithIndex } from "@fncts/base/data/Predicate/definition";
6
6
  import { Refinement, RefinementWithIndex } from "@fncts/base/data/Refinement/definition";
7
- import { HKT } from "@fncts/typelevel/HKT";
8
7
  import { Byte } from "@fncts/base/data/Byte";
9
8
  import type { ConcF } from "@fncts/base/collection/immutable/Conc/definition";
10
9
  import type { Eq } from "@fncts/base/typeclass";
11
- import type * as P from "@fncts/base/typeclass";
10
+ import * as P from "@fncts/base/typeclass";
12
11
  /**
13
12
  * @tsplus fluent fncts.Conc align
14
13
  * @tsplus location "@fncts/base/collection/immutable/Conc/api"
@@ -295,16 +294,15 @@ export declare function take_<A>(self: Conc<A>, n: number): Conc<A>;
295
294
  */
296
295
  export declare function takeWhile_<A>(self: Conc<A>, p: Predicate<A>): Conc<A>;
297
296
  /**
298
- * @tsplus fluent fncts.Conc traverse
297
+ * @tsplus getter fncts.Conc traverse
299
298
  * @tsplus location "@fncts/base/collection/immutable/Conc/api"
300
299
  */
301
300
  export declare const traverse: P.Traversable<ConcF>["traverse"];
302
301
  /**
303
- * @tsplus fluent fncts.Conc traverseWithIndex
302
+ * @tsplus getter fncts.Conc traverseWithIndex
304
303
  * @tsplus location "@fncts/base/collection/immutable/Conc/api"
305
304
  */
306
- export declare function traverseWithIndex<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(self: Conc<A>, f: (i: number, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, B>,
307
- /** @tsplus auto */ G: P.Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Conc<B>>;
305
+ export declare const traverseWithIndex: <KF, QF, WF, XF, IF, SF, RF, EF, A>(ta: import("@fncts/base/collection/immutable/Conc/definition").Conc<A>) => <G extends import("@fncts/typelevel/HKT").HKT, GC = import("@fncts/typelevel/HKT").HKT.None>(G: P.Applicative<G, GC>) => <KG, QG, WG, XG, IG, SG, RG, EG, B>(f: (i: number, a: A) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, B>) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, import("@fncts/base/collection/immutable/Conc/definition").Conc<B>>;
308
306
  /**
309
307
  * @tsplus getter fncts.Conc toBuffer
310
308
  * @tsplus location "@fncts/base/collection/immutable/Conc/api"
@@ -1,6 +1,6 @@
1
+ import { HKT } from "@fncts/typelevel/HKT";
1
2
  import { Hashable } from "@fncts/base/typeclass/Hashable";
2
3
  import { Equatable } from "@fncts/base/typeclass/Equatable";
3
- import { HKT } from "@fncts/typelevel/HKT";
4
4
  import { isByte } from "@fncts/base/util/predicates";
5
5
  import { IndexOutOfBoundsError, ArrayIndexOutOfBoundsError } from "@fncts/base/data/exceptions";
6
6
  import { unsafeCoerce } from "@fncts/base/data/function/api";
@@ -19,17 +19,19 @@ export declare const enum ConcTag {
19
19
  Chunk = "Chunk",
20
20
  ByteChunk = "ByteChunk"
21
21
  }
22
- export interface ConcF extends Conc<any> {
22
+ export interface ConcF extends HKT {
23
+ type: Conc<this["A"]>;
24
+ variance: {
25
+ A: "+";
26
+ };
27
+ index: number;
23
28
  }
24
29
  /**
25
30
  * @tsplus type fncts.Conc
26
31
  * @tsplus companion fncts.ConcOps
27
32
  */
28
33
  export declare abstract class Conc<A> implements Iterable<A>, Hashable, Equatable {
29
- [HKT.F]?: ConcF;
30
- [HKT.A]?: () => A;
31
- [HKT.T]?: Conc<HKT._A<this>>;
32
- [HKT.Ix]?: number;
34
+ readonly _A: () => A;
33
35
  readonly _typeId: ConcTypeId;
34
36
  abstract readonly length: number;
35
37
  abstract [Symbol.iterator](): Iterator<A>;
@@ -38,6 +40,7 @@ export declare abstract class Conc<A> implements Iterable<A>, Hashable, Equatabl
38
40
  }
39
41
  declare abstract class ConcImplementation<A> implements Iterable<A> {
40
42
  readonly _typeId: ConcTypeId;
43
+ readonly _A: () => A;
41
44
  get [Symbol.hash](): number;
42
45
  [Symbol.equals](that: unknown): boolean;
43
46
  abstract readonly length: number;
@@ -1,7 +1,7 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
2
  import { Newtype, NewtypeIso } from "@fncts/base/data/Newtype";
3
3
  interface DictionaryN extends HKT {
4
- readonly [HKT.T]: Dictionary<HKT._A<this>>;
4
+ readonly type: Dictionary<this["A"]>;
5
5
  }
6
6
  /**
7
7
  * @tsplus type fncts.Dictionary
@@ -37,7 +37,7 @@ export declare function makeDefault<K, V>(): HashMap<K, V>;
37
37
  * @tsplus fluent fncts.HashMapOps fromFoldable
38
38
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
39
39
  */
40
- export declare function fromFoldable<F extends HKT, C, K, A>(config: P.HashEq<K>, S: P.Semigroup<A>, F: P.Foldable<F>): <K_, Q, W, X, I, S, R, E>(fka: import("@fncts/typelevel/HKT.js").HKT.Kind<F, K_, Q, W, X, I, S, R, E, readonly [K, A]>) => HashMap<K, A>;
40
+ export declare function fromFoldable<F extends HKT, C, K, A>(config: P.HashEq<K>, S: P.Semigroup<A>, F: P.Foldable<F, C>): <K_, Q, W, X, I, S, R, E>(fka: import("@fncts/typelevel/HKT.js").HKT.Kind<F, C, K_, Q, W, X, I, S, R, E, readonly [K, A]>) => HashMap<K, A>;
41
41
  /**
42
42
  * Lookup the value for `key` in `map` using custom hash.
43
43
  * @tsplus fluent fncts.HashMap getHash
@@ -273,40 +273,40 @@ export declare function foldLeftWithIndex_<K, V, Z>(map: HashMap<K, V>, z: Z, f:
273
273
  */
274
274
  export declare function foldLeft_<K, V, Z>(map: HashMap<K, V>, z: Z, f: (z: Z, v: V) => Z): Z;
275
275
  /**
276
- * @tsplus fluent fncts.HashMap traverseWithIndex
276
+ * @tsplus getter fncts.HashMap traverseWithIndex
277
277
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
278
278
  */
279
- export declare const traverseWithIndex_: P.TraversableWithIndex<HashMapF>["traverseWithIndex"];
279
+ export declare const traverseWithIndex: <KF, QF, WF, XF, IF, SF, RF, EF, A>(ta: import("@fncts/base/collection/immutable/HashMap/definition").HashMap<KF, A>) => <G extends import("@fncts/typelevel/HKT.js").HKT, GC = import("@fncts/typelevel/HKT.js").HKT.None>(G: P.Applicative<G, GC>) => <KG, QG, WG, XG, IG, SG, RG, EG, B>(f: (i: unknown, a: A) => import("@fncts/typelevel/HKT.js").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, B>) => import("@fncts/typelevel/HKT.js").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, import("@fncts/base/collection/immutable/HashMap/definition").HashMap<KF, B>>;
280
280
  /**
281
- * @tsplus fluent fncts.HashMap traverse
281
+ * @tsplus getter fncts.HashMap traverse
282
282
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
283
283
  */
284
- export declare const traverse_: P.Traversable<HashMapF>["traverse"];
284
+ export declare const traverse: P.Traversable<HashMapF>["traverse"];
285
285
  /**
286
286
  * @tsplus fluent fncts.HashMap unsafeGet
287
287
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
288
288
  */
289
289
  export declare function unsafeGet_<K, V>(self: HashMap<K, V>, key: K): V | undefined;
290
290
  /**
291
- * @tsplus fluent fncts.HashMap witherWithIndex
291
+ * @tsplus getter fncts.HashMap witherWithIndex
292
292
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
293
293
  */
294
- export declare const witherWithIndex_: P.WitherableWithIndex<HashMapF>["witherWithIndex"];
294
+ export declare const witherWithIndex: P.WitherableWithIndex<HashMapF>["witherWithIndex"];
295
295
  /**
296
- * @tsplus fluent fncts.HashMap wither
296
+ * @tsplus getter fncts.HashMap wither
297
297
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
298
298
  */
299
- export declare const wither_: P.Witherable<HashMapF>["wither"];
299
+ export declare const wither: P.Witherable<HashMapF>["wither"];
300
300
  /**
301
- * @tsplus fluent fncts.HashMap wiltWithIndex
301
+ * @tsplus getter fncts.HashMap wiltWithIndex
302
302
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
303
303
  */
304
- export declare const wiltWithIndex_: P.WitherableWithIndex<HashMapF>["wiltWithIndex"];
304
+ export declare const wiltWithIndex: P.WitherableWithIndex<HashMapF>["wiltWithIndex"];
305
305
  /**
306
- * @tsplus fluent fncts.HashMap wilt
306
+ * @tsplus getter fncts.HashMap wilt
307
307
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
308
308
  */
309
- export declare const wilt_: P.Witherable<HashMapF>["wilt"];
309
+ export declare const wilt: P.Witherable<HashMapF>["wilt"];
310
310
  /**
311
311
  * @tsplus fluent fncts.HashMap unionWith
312
312
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
@@ -1,10 +1,16 @@
1
+ import { HKT } from "@fncts/typelevel/HKT";
1
2
  import { Hashable } from "@fncts/base/typeclass/Hashable";
2
3
  import { Equatable } from "@fncts/base/typeclass/Equatable";
3
- import { HKT } from "@fncts/typelevel/HKT";
4
4
  import { Maybe } from "@fncts/base/data/Maybe/definition";
5
5
  import type { Node } from "@fncts/base/collection/immutable/HashMap/internal";
6
6
  import type { HashEq } from "@fncts/base/typeclass";
7
- export interface HashMapF extends HashMap<any, any> {
7
+ export interface HashMapF extends HKT {
8
+ type: HashMap<this["K"], this["A"]>;
9
+ variance: {
10
+ K: "+";
11
+ A: "+";
12
+ };
13
+ index: this["K"];
8
14
  }
9
15
  /**
10
16
  * @tsplus type fncts.HashMap
@@ -16,11 +22,8 @@ export declare class HashMap<K, V> implements Iterable<readonly [K, V]>, Hashabl
16
22
  readonly config: HashEq<K>;
17
23
  root: Node<K, V>;
18
24
  size: number;
19
- readonly [HKT.F]: HashMapF;
20
- readonly [HKT.K]: () => K;
21
- readonly [HKT.A]: () => V;
22
- readonly [HKT.T]: HashMap<HKT._K<this>, HKT._A<this>>;
23
- readonly [HKT.Ix]: K;
25
+ readonly _K: () => K;
26
+ readonly _A: () => V;
24
27
  constructor(editable: boolean, edit: number, config: HashEq<K>, root: Node<K, V>, size: number);
25
28
  [Symbol.iterator](): Iterator<readonly [K, V]>;
26
29
  get [Symbol.hash](): number;
@@ -1,13 +1,13 @@
1
1
  import { ImmutableArray } from "@fncts/base/collection/immutable/ImmutableArray/definition";
2
2
  import { These } from "@fncts/base/data/These";
3
3
  import { Lazy } from "@fncts/base/data/function/definition";
4
+ import { Zipped } from "@fncts/base/data/Zipped";
4
5
  import { Either } from "@fncts/base/data/Either/definition";
5
6
  import { ImmutableNonEmptyArray, NonEmptyArray } from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/definition";
6
7
  import { Maybe } from "@fncts/base/data/Maybe/definition";
7
8
  import { Eval } from "@fncts/base/control/Eval/definition";
8
9
  import { Predicate, PredicateWithIndex } from "@fncts/base/data/Predicate/definition";
9
10
  import { Refinement, RefinementWithIndex } from "@fncts/base/data/Refinement/definition";
10
- import { HKT } from "@fncts/typelevel/HKT";
11
11
  import type { ImmutableArrayF } from "@fncts/base/collection/immutable/ImmutableArray/definition";
12
12
  import type { Monoid } from "@fncts/base/typeclass";
13
13
  import * as P from "@fncts/base/typeclass";
@@ -45,7 +45,7 @@ export declare function crossWith_<A, B, C>(self: ImmutableArray<A>, fb: Immutab
45
45
  * @tsplus fluent fncts.ImmutableArray cross
46
46
  * @tsplus location "@fncts/base/collection/immutable/ImmutableArray/api"
47
47
  */
48
- export declare function cross_<A, B>(self: ImmutableArray<A>, fb: ImmutableArray<B>): ImmutableArray<readonly [A, B]>;
48
+ export declare function cross_<A, B>(self: ImmutableArray<A>, fb: ImmutableArray<B>): ImmutableArray<Zipped.Make<A, B>>;
49
49
  /**
50
50
  * @tsplus static fncts.ImmutableArrayOps chainRecDepthFirst
51
51
  * @tsplus location "@fncts/base/collection/immutable/ImmutableArray/api"
@@ -505,12 +505,12 @@ export declare function takeLast_<A>(as: ImmutableArray<A>, n: number): Immutabl
505
505
  export declare function takeWhile_<A, B extends A>(self: ImmutableArray<A>, p: Refinement<A, B>): ImmutableArray<B>;
506
506
  export declare function takeWhile_<A>(self: ImmutableArray<A>, p: Predicate<A>): ImmutableArray<A>;
507
507
  /**
508
- * @tsplus fluent fncts.ImmutableArray traverseWithIndex
508
+ * @tsplus getter fncts.ImmutableArray traverseWithIndex
509
509
  * @tsplus location "@fncts/base/collection/immutable/ImmutableArray/api"
510
510
  */
511
- export declare const traverseWithIndex_: P.TraversableWithIndex<ImmutableArrayF>["traverseWithIndex"];
511
+ export declare const traverseWithIndex_: <KF, QF, WF, XF, IF, SF, RF, EF, A>(ta: import("@fncts/base/collection/immutable/ImmutableArray/definition").ImmutableArray<A>) => <G extends import("@fncts/typelevel/HKT").HKT, GC = import("@fncts/typelevel/HKT").HKT.None>(G: P.Applicative<G, GC>) => <KG, QG, WG, XG, IG, SG, RG, EG, B>(f: (i: number, a: A) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, B>) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, import("@fncts/base/collection/immutable/ImmutableArray/definition").ImmutableArray<B>>;
512
512
  /**
513
- * @tsplus fluent fncts.ImmutableArray traverse
513
+ * @tsplus getter fncts.ImmutableArray traverse
514
514
  * @tsplus location "@fncts/base/collection/immutable/ImmutableArray/api"
515
515
  */
516
516
  export declare const traverse_: P.Traversable<ImmutableArrayF>["traverse"];
@@ -571,27 +571,25 @@ export declare function unzip<A, B>(self: ImmutableArray<readonly [A, B]>): read
571
571
  */
572
572
  export declare function updateAt_<A>(as: ImmutableArray<A>, i: number, a: A): Maybe<ImmutableArray<A>>;
573
573
  /**
574
- * @tsplus fluent fncts.ImmutableArray wilt
574
+ * @tsplus getter fncts.ImmutableArray wiltWithIndex
575
575
  * @tsplus location "@fncts/base/collection/immutable/ImmutableArray/api"
576
576
  */
577
- export declare function wilt_<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, B1, A, B>(self: ImmutableArray<A>, f: (a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B1>>,
578
- /** @tsplus auto */
579
- G: P.Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, readonly [ImmutableArray<B>, ImmutableArray<B1>]>;
580
- export declare function wiltWithIndex_<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, B1, A, B>(self: ImmutableArray<A>, f: (i: number, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B1>>,
581
- /** @tsplus auto */
582
- G: P.Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, readonly [ImmutableArray<B>, ImmutableArray<B1>]>;
577
+ export declare const wiltWithIndex: <KF, QF, WF, XF, IF, SF, RF, EF, A, B, B2>(wa: import("@fncts/base/collection/immutable/ImmutableArray/definition").ImmutableArray<A>) => <G extends import("@fncts/typelevel/HKT").HKT, GC = import("@fncts/typelevel/HKT").HKT.None>(G: P.Applicative<G, GC>) => <KG, QG, WG, XG, IG, SG, RG, EG, B_1, B2_1>(f: (k: number, a: A) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, import("@fncts/base/data/Either").Either<B_1, B2_1>>) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, readonly [import("@fncts/base/collection/immutable/ImmutableArray/definition").ImmutableArray<B_1>, import("@fncts/base/collection/immutable/ImmutableArray/definition").ImmutableArray<B2_1>]>;
583
578
  /**
584
- * @tsplus fluent fncts.ImmutableArray wither
579
+ * @tsplus getter fncts.ImmutableArray wilt
585
580
  * @tsplus location "@fncts/base/collection/immutable/ImmutableArray/api"
586
581
  */
587
- export declare function wither_<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(self: ImmutableArray<A>, f: (a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
588
- /** @tsplus auto */ G: P.Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, ImmutableArray<B>>;
582
+ export declare const wilt: P.WitherableWithIndex<ImmutableArrayF>["wilt"];
589
583
  /**
590
- * @tsplus fluent fncts.ImmutableArray witherWithIndex
584
+ * @tsplus getter fncts.ImmutableArray witherWithIndex
591
585
  * @tsplus location "@fncts/base/collection/immutable/ImmutableArray/api"
592
586
  */
593
- export declare function witherWithIndex_<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(self: ImmutableArray<A>, f: (k: number, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
594
- /** @tsplus auto */ G: P.Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, ImmutableArray<B>>;
587
+ export declare const witherWithIndex: <KF, QF, WF, XF, IF, SF, RF, EF, A>(wa: import("@fncts/base/collection/immutable/ImmutableArray/definition").ImmutableArray<A>) => <G extends import("@fncts/typelevel/HKT").HKT, GC = import("@fncts/typelevel/HKT").HKT.None>(G: P.Applicative<G, GC>) => <KG, QG, WG, XG, IG, SG, RG, EG, B>(f: (k: number, a: A) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, import("../../../data/Maybe").Maybe<B>>) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, import("@fncts/base/collection/immutable/ImmutableArray/definition").ImmutableArray<B>>;
588
+ /**
589
+ * @tsplus getter fncts.ImmutableArray wither
590
+ * @tsplus location "@fncts/base/collection/immutable/ImmutableArray/api"
591
+ */
592
+ export declare const wither: P.Witherable<ImmutableArrayF>["wither"];
595
593
  /**
596
594
  * @tsplus fluent fncts.ImmutableArray zip
597
595
  * @tsplus location "@fncts/base/collection/immutable/ImmutableArray/api"
@@ -1,9 +1,14 @@
1
+ import { HKT } from "@fncts/typelevel/HKT";
1
2
  import { Equatable } from "@fncts/base/typeclass/Equatable";
2
3
  import { Hashable } from "@fncts/base/typeclass/Hashable";
3
- import { HKT } from "@fncts/typelevel/HKT";
4
4
  export declare const ImmutableArrayTypeId: unique symbol;
5
5
  export declare type ImmutableArrayTypeId = typeof ImmutableArrayTypeId;
6
- export interface ImmutableArrayF extends ImmutableArray<any> {
6
+ export interface ImmutableArrayF extends HKT {
7
+ type: ImmutableArray<this["A"]>;
8
+ variance: {
9
+ A: "+";
10
+ };
11
+ index: number;
7
12
  }
8
13
  /**
9
14
  * @tsplus type fncts.ImmutableArray
@@ -12,10 +17,7 @@ export interface ImmutableArrayF extends ImmutableArray<any> {
12
17
  export declare class ImmutableArray<A> implements Equatable, Hashable, Iterable<A> {
13
18
  readonly _array: ReadonlyArray<A>;
14
19
  readonly _typeId: ImmutableArrayTypeId;
15
- [HKT.F]?: ImmutableArrayF;
16
- [HKT.A]?: () => A;
17
- [HKT.T]?: ImmutableArray<HKT._A<this>>;
18
- [HKT.Ix]?: number;
20
+ readonly _A: () => A;
19
21
  constructor(_array: ReadonlyArray<A>);
20
22
  [Symbol.equals](that: unknown): boolean;
21
23
  get [Symbol.hash](): number;