@explorable-viz/fluid 0.12.3 → 0.12.4

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 (792) hide show
  1. package/output-es/Affjax/foreign.js +52 -0
  2. package/output-es/Affjax/index.js +387 -0
  3. package/output-es/Affjax.RequestBody/index.js +22 -0
  4. package/output-es/Affjax.RequestHeader/index.js +58 -0
  5. package/output-es/Affjax.ResponseFormat/index.js +47 -0
  6. package/output-es/Affjax.ResponseHeader/index.js +19 -0
  7. package/output-es/Affjax.StatusCode/index.js +8 -0
  8. package/output-es/Affjax.Web/foreign.js +8 -0
  9. package/output-es/Affjax.Web/index.js +14 -0
  10. package/output-es/App.CodeMirror/foreign.js +69 -0
  11. package/output-es/App.CodeMirror/index.js +3 -0
  12. package/output-es/App.Fig/index.js +713 -0
  13. package/output-es/App.LoadFigure/index.js +131 -0
  14. package/output-es/App.Util/index.js +773 -0
  15. package/output-es/App.Util.Selector/index.js +273 -0
  16. package/output-es/App.View/index.js +310 -0
  17. package/output-es/App.View.BarChart/index.js +153 -0
  18. package/output-es/App.View.DocView/index.js +40 -0
  19. package/output-es/App.View.LineChart/index.js +437 -0
  20. package/output-es/App.View.MatrixView/foreign.js +182 -0
  21. package/output-es/App.View.MatrixView/index.js +232 -0
  22. package/output-es/App.View.MultiView/index.js +30 -0
  23. package/output-es/App.View.Paragraph/index.js +44 -0
  24. package/output-es/App.View.ScatterPlot/foreign.js +110 -0
  25. package/output-es/App.View.ScatterPlot/index.js +122 -0
  26. package/output-es/App.View.Segment/index.js +92 -0
  27. package/output-es/App.View.StackedBar/index.js +54 -0
  28. package/output-es/App.View.TableView/index.js +397 -0
  29. package/output-es/App.View.Text/index.js +157 -0
  30. package/output-es/App.View.Util/index.js +222 -0
  31. package/output-es/App.View.Util.Axes/index.js +79 -0
  32. package/output-es/App.View.Util.D3/foreign.js +263 -0
  33. package/output-es/App.View.Util.D3/index.js +678 -0
  34. package/output-es/App.View.Util.Point/index.js +3 -0
  35. package/output-es/Benchmark/index.js +63 -0
  36. package/output-es/Bind/index.js +24 -0
  37. package/output-es/Control.Alt/index.js +5 -0
  38. package/output-es/Control.Alternative/index.js +11 -0
  39. package/output-es/Control.Applicative/index.js +18 -0
  40. package/output-es/Control.Apply/foreign.js +15 -0
  41. package/output-es/Control.Apply/index.js +17 -0
  42. package/output-es/Control.Biapplicative/index.js +5 -0
  43. package/output-es/Control.Biapply/index.js +11 -0
  44. package/output-es/Control.Bind/foreign.js +9 -0
  45. package/output-es/Control.Bind/index.js +21 -0
  46. package/output-es/Control.Category/index.js +4 -0
  47. package/output-es/Control.Comonad/index.js +2 -0
  48. package/output-es/Control.Comonad.Cofree/index.js +255 -0
  49. package/output-es/Control.Comonad.Cofree.Class/index.js +43 -0
  50. package/output-es/Control.Comonad.Env/index.js +8 -0
  51. package/output-es/Control.Comonad.Env.Class/index.js +17 -0
  52. package/output-es/Control.Comonad.Env.Trans/index.js +113 -0
  53. package/output-es/Control.Comonad.Store/index.js +5 -0
  54. package/output-es/Control.Comonad.Store.Class/index.js +56 -0
  55. package/output-es/Control.Comonad.Store.Trans/index.js +27 -0
  56. package/output-es/Control.Comonad.Traced/index.js +4 -0
  57. package/output-es/Control.Comonad.Traced.Class/index.js +16 -0
  58. package/output-es/Control.Comonad.Traced.Trans/index.js +28 -0
  59. package/output-es/Control.Comonad.Trans.Class/index.js +3 -0
  60. package/output-es/Control.Extend/foreign.js +7 -0
  61. package/output-es/Control.Extend/index.js +12 -0
  62. package/output-es/Control.Lazy/index.js +10 -0
  63. package/output-es/Control.Monad/index.js +27 -0
  64. package/output-es/Control.Monad.Cont/index.js +6 -0
  65. package/output-es/Control.Monad.Cont.Class/index.js +3 -0
  66. package/output-es/Control.Monad.Cont.Trans/index.js +122 -0
  67. package/output-es/Control.Monad.Error.Class/index.js +83 -0
  68. package/output-es/Control.Monad.Except/index.js +10 -0
  69. package/output-es/Control.Monad.Except.Trans/index.js +241 -0
  70. package/output-es/Control.Monad.Free/index.js +423 -0
  71. package/output-es/Control.Monad.Free.Class/index.js +45 -0
  72. package/output-es/Control.Monad.Gen/index.js +132 -0
  73. package/output-es/Control.Monad.Gen.Class/index.js +6 -0
  74. package/output-es/Control.Monad.Gen.Common/index.js +44 -0
  75. package/output-es/Control.Monad.Identity.Trans/index.js +88 -0
  76. package/output-es/Control.Monad.List.Trans/index.js +536 -0
  77. package/output-es/Control.Monad.Maybe.Trans/index.js +217 -0
  78. package/output-es/Control.Monad.RWS/index.js +16 -0
  79. package/output-es/Control.Monad.RWS.Trans/index.js +260 -0
  80. package/output-es/Control.Monad.Reader/index.js +6 -0
  81. package/output-es/Control.Monad.Reader.Class/index.js +11 -0
  82. package/output-es/Control.Monad.Reader.Trans/index.js +320 -0
  83. package/output-es/Control.Monad.Rec.Class/index.js +265 -0
  84. package/output-es/Control.Monad.ST/index.js +1 -0
  85. package/output-es/Control.Monad.ST.Class/index.js +7 -0
  86. package/output-es/Control.Monad.ST.Global/index.js +3 -0
  87. package/output-es/Control.Monad.ST.Internal/foreign.js +90 -0
  88. package/output-es/Control.Monad.ST.Internal/index.js +75 -0
  89. package/output-es/Control.Monad.ST.Ref/index.js +1 -0
  90. package/output-es/Control.Monad.ST.Uncurried/foreign.js +229 -0
  91. package/output-es/Control.Monad.ST.Uncurried/index.js +39 -0
  92. package/output-es/Control.Monad.State/index.js +8 -0
  93. package/output-es/Control.Monad.State.Class/index.js +12 -0
  94. package/output-es/Control.Monad.State.Trans/index.js +209 -0
  95. package/output-es/Control.Monad.Trampoline/index.js +9 -0
  96. package/output-es/Control.Monad.Trans.Class/index.js +3 -0
  97. package/output-es/Control.Monad.Writer/index.js +6 -0
  98. package/output-es/Control.Monad.Writer.Class/index.js +14 -0
  99. package/output-es/Control.Monad.Writer.Trans/index.js +256 -0
  100. package/output-es/Control.MonadPlus/index.js +4 -0
  101. package/output-es/Control.Parallel/index.js +49 -0
  102. package/output-es/Control.Parallel.Class/index.js +191 -0
  103. package/output-es/Control.Plus/index.js +4 -0
  104. package/output-es/Control.Promise/foreign.js +24 -0
  105. package/output-es/Control.Promise/index.js +40 -0
  106. package/output-es/Control.Semigroupoid/index.js +4 -0
  107. package/output-es/Data.Argonaut.Core/foreign.js +102 -0
  108. package/output-es/Data.Argonaut.Core/index.js +72 -0
  109. package/output-es/Data.Argonaut.Decode/index.js +10 -0
  110. package/output-es/Data.Argonaut.Decode.Class/index.js +173 -0
  111. package/output-es/Data.Argonaut.Decode.Combinators/index.js +21 -0
  112. package/output-es/Data.Argonaut.Decode.Decoders/index.js +463 -0
  113. package/output-es/Data.Argonaut.Decode.Error/index.js +151 -0
  114. package/output-es/Data.Argonaut.Decode.Parser/index.js +11 -0
  115. package/output-es/Data.Argonaut.Encode/index.js +3 -0
  116. package/output-es/Data.Argonaut.Encode.Class/index.js +114 -0
  117. package/output-es/Data.Argonaut.Encode.Combinators/index.js +15 -0
  118. package/output-es/Data.Argonaut.Encode.Encoders/index.js +222 -0
  119. package/output-es/Data.Argonaut.Gen/index.js +68 -0
  120. package/output-es/Data.Argonaut.Parser/foreign.js +8 -0
  121. package/output-es/Data.Argonaut.Parser/index.js +5 -0
  122. package/output-es/Data.Array/foreign.js +298 -0
  123. package/output-es/Data.Array/index.js +555 -0
  124. package/output-es/Data.Array.NonEmpty/index.js +317 -0
  125. package/output-es/Data.Array.NonEmpty.Internal/foreign.js +77 -0
  126. package/output-es/Data.Array.NonEmpty.Internal/index.js +90 -0
  127. package/output-es/Data.Array.Partial/index.js +7 -0
  128. package/output-es/Data.Array.ST/foreign.js +107 -0
  129. package/output-es/Data.Array.ST/index.js +82 -0
  130. package/output-es/Data.Array.ST.Iterator/index.js +83 -0
  131. package/output-es/Data.Array.ST.Partial/foreign.js +7 -0
  132. package/output-es/Data.Array.ST.Partial/index.js +9 -0
  133. package/output-es/Data.ArrayBuffer.Types/index.js +1 -0
  134. package/output-es/Data.Bifoldable/index.js +149 -0
  135. package/output-es/Data.Bifunctor/index.js +17 -0
  136. package/output-es/Data.Bifunctor.Join/index.js +21 -0
  137. package/output-es/Data.Bitraversable/index.js +195 -0
  138. package/output-es/Data.Boolean/index.js +2 -0
  139. package/output-es/Data.BooleanAlgebra/index.js +42 -0
  140. package/output-es/Data.Bounded/foreign.js +8 -0
  141. package/output-es/Data.Bounded/index.js +76 -0
  142. package/output-es/Data.Bounded.Generic/index.js +37 -0
  143. package/output-es/Data.CatList/index.js +326 -0
  144. package/output-es/Data.CatQueue/index.js +364 -0
  145. package/output-es/Data.Char/index.js +5 -0
  146. package/output-es/Data.Char.Gen/index.js +21 -0
  147. package/output-es/Data.CodePoint.Unicode/index.js +382 -0
  148. package/output-es/Data.CodePoint.Unicode.Internal/index.js +5476 -0
  149. package/output-es/Data.CodePoint.Unicode.Internal.Casing/index.js +1636 -0
  150. package/output-es/Data.CommutativeRing/index.js +49 -0
  151. package/output-es/Data.Compactable/index.js +228 -0
  152. package/output-es/Data.Comparison/index.js +22 -0
  153. package/output-es/Data.Const/index.js +56 -0
  154. package/output-es/Data.Coyoneda/index.js +212 -0
  155. package/output-es/Data.Date/foreign.js +22 -0
  156. package/output-es/Data.Date/index.js +370 -0
  157. package/output-es/Data.Date.Component/index.js +451 -0
  158. package/output-es/Data.Date.Component.Gen/index.js +11 -0
  159. package/output-es/Data.Date.Gen/index.js +25 -0
  160. package/output-es/Data.DateTime/foreign.js +33 -0
  161. package/output-es/Data.DateTime/index.js +131 -0
  162. package/output-es/Data.DateTime.Gen/index.js +8 -0
  163. package/output-es/Data.DateTime.Instant/foreign.js +18 -0
  164. package/output-es/Data.DateTime.Instant/index.js +86 -0
  165. package/output-es/Data.Decidable/index.js +70 -0
  166. package/output-es/Data.Decide/index.js +64 -0
  167. package/output-es/Data.Distributive/index.js +55 -0
  168. package/output-es/Data.Divide/index.js +47 -0
  169. package/output-es/Data.Divisible/index.js +17 -0
  170. package/output-es/Data.DivisionRing/index.js +6 -0
  171. package/output-es/Data.Either/index.js +242 -0
  172. package/output-es/Data.Either.Inject/index.js +25 -0
  173. package/output-es/Data.Either.Nested/index.js +450 -0
  174. package/output-es/Data.Enum/foreign.js +7 -0
  175. package/output-es/Data.Enum/index.js +441 -0
  176. package/output-es/Data.Enum.Gen/index.js +19 -0
  177. package/output-es/Data.Enum.Generic/index.js +211 -0
  178. package/output-es/Data.Eq/foreign.js +23 -0
  179. package/output-es/Data.Eq/index.js +33 -0
  180. package/output-es/Data.Eq.Generic/index.js +16 -0
  181. package/output-es/Data.Equivalence/index.js +8 -0
  182. package/output-es/Data.EuclideanRing/foreign.js +26 -0
  183. package/output-es/Data.EuclideanRing/index.js +25 -0
  184. package/output-es/Data.Exists/index.js +4 -0
  185. package/output-es/Data.Field/index.js +2 -0
  186. package/output-es/Data.Filterable/index.js +317 -0
  187. package/output-es/Data.Foldable/foreign.js +25 -0
  188. package/output-es/Data.Foldable/index.js +394 -0
  189. package/output-es/Data.FoldableWithIndex/index.js +431 -0
  190. package/output-es/Data.FormURLEncoded/index.js +110 -0
  191. package/output-es/Data.Function/index.js +23 -0
  192. package/output-es/Data.Function.Memoize/index.js +242 -0
  193. package/output-es/Data.Function.Uncurried/foreign.js +218 -0
  194. package/output-es/Data.Function.Uncurried/index.js +5 -0
  195. package/output-es/Data.Functor/foreign.js +10 -0
  196. package/output-es/Data.Functor/index.js +14 -0
  197. package/output-es/Data.Functor.App/index.js +87 -0
  198. package/output-es/Data.Functor.Clown/index.js +24 -0
  199. package/output-es/Data.Functor.Compose/index.js +131 -0
  200. package/output-es/Data.Functor.Contravariant/index.js +7 -0
  201. package/output-es/Data.Functor.Coproduct/index.js +171 -0
  202. package/output-es/Data.Functor.Coproduct.Inject/index.js +25 -0
  203. package/output-es/Data.Functor.Coproduct.Nested/index.js +433 -0
  204. package/output-es/Data.Functor.Costar/index.js +82 -0
  205. package/output-es/Data.Functor.Flip/index.js +31 -0
  206. package/output-es/Data.Functor.Invariant/index.js +14 -0
  207. package/output-es/Data.Functor.Joker/index.js +88 -0
  208. package/output-es/Data.Functor.Product/index.js +127 -0
  209. package/output-es/Data.Functor.Product.Nested/index.js +46 -0
  210. package/output-es/Data.Functor.Product2/index.js +46 -0
  211. package/output-es/Data.FunctorWithIndex/foreign.js +10 -0
  212. package/output-es/Data.FunctorWithIndex/index.js +147 -0
  213. package/output-es/Data.Generic.Rep/index.js +31 -0
  214. package/output-es/Data.Graph/index.js +370 -0
  215. package/output-es/Data.HTTP.Method/index.js +223 -0
  216. package/output-es/Data.HeytingAlgebra/foreign.js +15 -0
  217. package/output-es/Data.HeytingAlgebra/index.js +104 -0
  218. package/output-es/Data.HeytingAlgebra.Generic/index.js +76 -0
  219. package/output-es/Data.Identity/index.js +54 -0
  220. package/output-es/Data.Int/foreign.js +65 -0
  221. package/output-es/Data.Int/index.js +122 -0
  222. package/output-es/Data.Int.Bits/foreign.js +48 -0
  223. package/output-es/Data.Int.Bits/index.js +4 -0
  224. package/output-es/Data.Interval/index.js +331 -0
  225. package/output-es/Data.Interval.Duration/index.js +124 -0
  226. package/output-es/Data.Interval.Duration.Iso/index.js +423 -0
  227. package/output-es/Data.JSDate/foreign.js +83 -0
  228. package/output-es/Data.JSDate/index.js +123 -0
  229. package/output-es/Data.Lazy/foreign.js +14 -0
  230. package/output-es/Data.Lazy/index.js +143 -0
  231. package/output-es/Data.List/index.js +1505 -0
  232. package/output-es/Data.List.Internal/index.js +155 -0
  233. package/output-es/Data.List.Lazy/index.js +658 -0
  234. package/output-es/Data.List.Lazy.NonEmpty/index.js +77 -0
  235. package/output-es/Data.List.Lazy.Types/index.js +511 -0
  236. package/output-es/Data.List.NonEmpty/index.js +540 -0
  237. package/output-es/Data.List.Partial/index.js +37 -0
  238. package/output-es/Data.List.Types/index.js +841 -0
  239. package/output-es/Data.List.ZipList/index.js +43 -0
  240. package/output-es/Data.Map/index.js +80 -0
  241. package/output-es/Data.Map.Gen/index.js +15 -0
  242. package/output-es/Data.Map.Internal/index.js +1216 -0
  243. package/output-es/Data.Maybe/index.js +253 -0
  244. package/output-es/Data.Maybe.First/index.js +85 -0
  245. package/output-es/Data.Maybe.Last/index.js +86 -0
  246. package/output-es/Data.MediaType/index.js +8 -0
  247. package/output-es/Data.MediaType.Common/index.js +30 -0
  248. package/output-es/Data.Monoid/index.js +66 -0
  249. package/output-es/Data.Monoid.Additive/index.js +33 -0
  250. package/output-es/Data.Monoid.Alternate/index.js +46 -0
  251. package/output-es/Data.Monoid.Conj/index.js +21 -0
  252. package/output-es/Data.Monoid.Disj/index.js +21 -0
  253. package/output-es/Data.Monoid.Dual/index.js +19 -0
  254. package/output-es/Data.Monoid.Endo/index.js +12 -0
  255. package/output-es/Data.Monoid.Generic/index.js +11 -0
  256. package/output-es/Data.Monoid.Multiplicative/index.js +33 -0
  257. package/output-es/Data.NaturalTransformation/index.js +1 -0
  258. package/output-es/Data.Newtype/index.js +51 -0
  259. package/output-es/Data.NonEmpty/index.js +217 -0
  260. package/output-es/Data.Nullable/foreign.js +12 -0
  261. package/output-es/Data.Nullable/index.js +53 -0
  262. package/output-es/Data.Number/foreign.js +80 -0
  263. package/output-es/Data.Number/index.js +15 -0
  264. package/output-es/Data.Number.Approximate/index.js +13 -0
  265. package/output-es/Data.Number.Format/foreign.js +12 -0
  266. package/output-es/Data.Number.Format/index.js +53 -0
  267. package/output-es/Data.Op/index.js +13 -0
  268. package/output-es/Data.Ord/foreign.js +43 -0
  269. package/output-es/Data.Ord/index.js +161 -0
  270. package/output-es/Data.Ord.Down/index.js +35 -0
  271. package/output-es/Data.Ord.Generic/index.js +34 -0
  272. package/output-es/Data.Ord.Max/index.js +34 -0
  273. package/output-es/Data.Ord.Min/index.js +34 -0
  274. package/output-es/Data.Ordering/index.js +35 -0
  275. package/output-es/Data.Posix/index.js +19 -0
  276. package/output-es/Data.Posix.Signal/index.js +405 -0
  277. package/output-es/Data.Predicate/index.js +14 -0
  278. package/output-es/Data.Profunctor/index.js +13 -0
  279. package/output-es/Data.Profunctor.Choice/index.js +32 -0
  280. package/output-es/Data.Profunctor.Closed/index.js +5 -0
  281. package/output-es/Data.Profunctor.Cochoice/index.js +3 -0
  282. package/output-es/Data.Profunctor.Costrong/index.js +3 -0
  283. package/output-es/Data.Profunctor.Join/index.js +13 -0
  284. package/output-es/Data.Profunctor.Split/index.js +11 -0
  285. package/output-es/Data.Profunctor.Star/index.js +250 -0
  286. package/output-es/Data.Profunctor.Strong/index.js +19 -0
  287. package/output-es/Data.Reflectable/foreign.js +5 -0
  288. package/output-es/Data.Reflectable/index.js +10 -0
  289. package/output-es/Data.Ring/foreign.js +12 -0
  290. package/output-es/Data.Ring/index.js +50 -0
  291. package/output-es/Data.Ring.Generic/index.js +10 -0
  292. package/output-es/Data.Semigroup/foreign.js +13 -0
  293. package/output-es/Data.Semigroup/index.js +25 -0
  294. package/output-es/Data.Semigroup.First/index.js +14 -0
  295. package/output-es/Data.Semigroup.Foldable/index.js +143 -0
  296. package/output-es/Data.Semigroup.Generic/index.js +11 -0
  297. package/output-es/Data.Semigroup.Last/index.js +14 -0
  298. package/output-es/Data.Semigroup.Traversable/index.js +39 -0
  299. package/output-es/Data.Semiring/foreign.js +25 -0
  300. package/output-es/Data.Semiring/index.js +66 -0
  301. package/output-es/Data.Semiring.Generic/index.js +52 -0
  302. package/output-es/Data.Set/index.js +310 -0
  303. package/output-es/Data.Set.NonEmpty/index.js +198 -0
  304. package/output-es/Data.Show/foreign.js +59 -0
  305. package/output-es/Data.Show/index.js +56 -0
  306. package/output-es/Data.Show.Generic/foreign.js +5 -0
  307. package/output-es/Data.Show.Generic/index.js +43 -0
  308. package/output-es/Data.String/index.js +1 -0
  309. package/output-es/Data.String.CaseInsensitive/index.js +12 -0
  310. package/output-es/Data.String.CodePoints/foreign.js +107 -0
  311. package/output-es/Data.String.CodePoints/index.js +201 -0
  312. package/output-es/Data.String.CodeUnits/foreign.js +116 -0
  313. package/output-es/Data.String.CodeUnits/index.js +55 -0
  314. package/output-es/Data.String.Common/foreign.js +52 -0
  315. package/output-es/Data.String.Common/index.js +6 -0
  316. package/output-es/Data.String.Gen/index.js +26 -0
  317. package/output-es/Data.String.NonEmpty/index.js +1 -0
  318. package/output-es/Data.String.NonEmpty.CaseInsensitive/index.js +12 -0
  319. package/output-es/Data.String.NonEmpty.CodePoints/index.js +89 -0
  320. package/output-es/Data.String.NonEmpty.CodeUnits/index.js +98 -0
  321. package/output-es/Data.String.NonEmpty.Internal/index.js +119 -0
  322. package/output-es/Data.String.Pattern/index.js +13 -0
  323. package/output-es/Data.String.Regex/foreign.js +103 -0
  324. package/output-es/Data.String.Regex/index.js +28 -0
  325. package/output-es/Data.String.Regex.Flags/index.js +44 -0
  326. package/output-es/Data.String.Regex.Unsafe/index.js +10 -0
  327. package/output-es/Data.String.Unicode/index.js +18 -0
  328. package/output-es/Data.String.Unsafe/foreign.js +11 -0
  329. package/output-es/Data.String.Unsafe/index.js +4 -0
  330. package/output-es/Data.Symbol/foreign.js +6 -0
  331. package/output-es/Data.Symbol/index.js +6 -0
  332. package/output-es/Data.Time/index.js +119 -0
  333. package/output-es/Data.Time.Component/index.js +138 -0
  334. package/output-es/Data.Time.Component.Gen/index.js +7 -0
  335. package/output-es/Data.Time.Duration/index.js +95 -0
  336. package/output-es/Data.Time.Duration.Gen/index.js +7 -0
  337. package/output-es/Data.Time.Gen/index.js +8 -0
  338. package/output-es/Data.Traversable/foreign.js +52 -0
  339. package/output-es/Data.Traversable/index.js +303 -0
  340. package/output-es/Data.Traversable.Accum/index.js +1 -0
  341. package/output-es/Data.Traversable.Accum.Internal/index.js +35 -0
  342. package/output-es/Data.TraversableWithIndex/index.js +280 -0
  343. package/output-es/Data.Tuple/index.js +194 -0
  344. package/output-es/Data.Tuple.Nested/index.js +290 -0
  345. package/output-es/Data.Unfoldable/foreign.js +21 -0
  346. package/output-es/Data.Unfoldable/index.js +45 -0
  347. package/output-es/Data.Unfoldable1/foreign.js +21 -0
  348. package/output-es/Data.Unfoldable1/index.js +39 -0
  349. package/output-es/Data.Unit/foreign.js +1 -0
  350. package/output-es/Data.Unit/index.js +3 -0
  351. package/output-es/Data.Void/index.js +12 -0
  352. package/output-es/Data.Witherable/index.js +371 -0
  353. package/output-es/Data.Yoneda/index.js +85 -0
  354. package/output-es/DataType/index.js +276 -0
  355. package/output-es/Debug/foreign.js +57 -0
  356. package/output-es/Debug/index.js +13 -0
  357. package/output-es/Desug/index.js +17 -0
  358. package/output-es/Desugarable/index.js +3 -0
  359. package/output-es/Dict/index.js +118 -0
  360. package/output-es/Effect/foreign.js +51 -0
  361. package/output-es/Effect/index.js +49 -0
  362. package/output-es/Effect.Aff/foreign.js +1154 -0
  363. package/output-es/Effect.Aff/index.js +268 -0
  364. package/output-es/Effect.Aff.Class/index.js +114 -0
  365. package/output-es/Effect.Aff.Compat/index.js +14 -0
  366. package/output-es/Effect.Class/index.js +4 -0
  367. package/output-es/Effect.Class.Console/index.js +25 -0
  368. package/output-es/Effect.Console/foreign.js +67 -0
  369. package/output-es/Effect.Console/index.js +17 -0
  370. package/output-es/Effect.Exception/foreign.js +45 -0
  371. package/output-es/Effect.Exception/index.js +14 -0
  372. package/output-es/Effect.Exception.Unsafe/index.js +4 -0
  373. package/output-es/Effect.Now/foreign.js +8 -0
  374. package/output-es/Effect.Now/index.js +16 -0
  375. package/output-es/Effect.Random/foreign.js +1 -0
  376. package/output-es/Effect.Random/index.js +17 -0
  377. package/output-es/Effect.Ref/foreign.js +37 -0
  378. package/output-es/Effect.Ref/index.js +34 -0
  379. package/output-es/Effect.Uncurried/foreign.js +229 -0
  380. package/output-es/Effect.Uncurried/index.js +386 -0
  381. package/output-es/Effect.Unsafe/foreign.js +3 -0
  382. package/output-es/Effect.Unsafe/index.js +3 -0
  383. package/output-es/Eval/index.js +951 -0
  384. package/output-es/ExitCodes/index.js +461 -0
  385. package/output-es/Expr/index.js +1732 -0
  386. package/output-es/File/index.js +125 -0
  387. package/output-es/Fluid/index.js +229 -0
  388. package/output-es/Foreign/foreign.js +19 -0
  389. package/output-es/Foreign/index.js +171 -0
  390. package/output-es/Foreign.Index/foreign.js +11 -0
  391. package/output-es/Foreign.Index/index.js +80 -0
  392. package/output-es/Foreign.Keys/foreign.js +9 -0
  393. package/output-es/Foreign.Keys/index.js +28 -0
  394. package/output-es/Foreign.Object/foreign.js +116 -0
  395. package/output-es/Foreign.Object/index.js +304 -0
  396. package/output-es/Foreign.Object.Gen/index.js +13 -0
  397. package/output-es/Foreign.Object.ST/foreign.js +37 -0
  398. package/output-es/Foreign.Object.ST/index.js +9 -0
  399. package/output-es/Foreign.Object.ST.Unsafe/foreign.js +5 -0
  400. package/output-es/Foreign.Object.ST.Unsafe/index.js +3 -0
  401. package/output-es/Foreign.Object.Unsafe/foreign.js +5 -0
  402. package/output-es/Foreign.Object.Unsafe/index.js +3 -0
  403. package/output-es/GaloisConnection/index.js +72 -0
  404. package/output-es/Graph/index.js +279 -0
  405. package/output-es/Graph.GraphImpl/index.js +296 -0
  406. package/output-es/Graph.Slice/index.js +125 -0
  407. package/output-es/Graph.WithGraph/index.js +190 -0
  408. package/output-es/JSURI/foreign.js +61 -0
  409. package/output-es/JSURI/index.js +10 -0
  410. package/output-es/Lattice/index.js +397 -0
  411. package/output-es/Link/index.js +84 -0
  412. package/output-es/Module/index.js +317 -0
  413. package/output-es/Module.Node/index.js +95 -0
  414. package/output-es/Module.Web/index.js +79 -0
  415. package/output-es/ModuleGraph/index.js +1 -0
  416. package/output-es/Node.Buffer/foreign.js +33 -0
  417. package/output-es/Node.Buffer/index.js +191 -0
  418. package/output-es/Node.Buffer.Class/index.js +48 -0
  419. package/output-es/Node.Buffer.Constants/foreign.js +5 -0
  420. package/output-es/Node.Buffer.Constants/index.js +3 -0
  421. package/output-es/Node.Buffer.Immutable/foreign.js +45 -0
  422. package/output-es/Node.Buffer.Immutable/index.js +121 -0
  423. package/output-es/Node.Buffer.ST/index.js +98 -0
  424. package/output-es/Node.Buffer.Types/index.js +36 -0
  425. package/output-es/Node.Encoding/foreign.js +3 -0
  426. package/output-es/Node.Encoding/index.js +55 -0
  427. package/output-es/Node.EventEmitter/foreign.js +24 -0
  428. package/output-es/Node.EventEmitter/index.js +142 -0
  429. package/output-es/Node.EventEmitter.UtilTypes/index.js +1 -0
  430. package/output-es/Node.FS/index.js +27 -0
  431. package/output-es/Node.FS.Aff/index.js +132 -0
  432. package/output-es/Node.FS.Async/foreign.js +28 -0
  433. package/output-es/Node.FS.Async/index.js +241 -0
  434. package/output-es/Node.FS.Constants/foreign.js +17 -0
  435. package/output-es/Node.FS.Constants/index.js +103 -0
  436. package/output-es/Node.FS.Perms/index.js +125 -0
  437. package/output-es/Node.FS.Stats/foreign.js +27 -0
  438. package/output-es/Node.FS.Stats/index.js +102 -0
  439. package/output-es/Node.FS.Stream/foreign.js +11 -0
  440. package/output-es/Node.FS.Stream/index.js +20 -0
  441. package/output-es/Node.FS.Sync/foreign.js +30 -0
  442. package/output-es/Node.FS.Sync/index.js +258 -0
  443. package/output-es/Node.Path/foreign.js +30 -0
  444. package/output-es/Node.Path/index.js +3 -0
  445. package/output-es/Node.Platform/index.js +104 -0
  446. package/output-es/Node.Process/foreign.js +65 -0
  447. package/output-es/Node.Process/index.js +180 -0
  448. package/output-es/Node.Stream/foreign.js +97 -0
  449. package/output-es/Node.Stream/index.js +310 -0
  450. package/output-es/Node.Stream.Aff/index.js +445 -0
  451. package/output-es/Node.Symbol/foreign.js +3 -0
  452. package/output-es/Node.Symbol/index.js +12 -0
  453. package/output-es/Options.Applicative/index.js +1 -0
  454. package/output-es/Options.Applicative.BashCompletion/index.js +417 -0
  455. package/output-es/Options.Applicative.Builder/index.js +505 -0
  456. package/output-es/Options.Applicative.Builder.Completer/foreign.js +8 -0
  457. package/output-es/Options.Applicative.Builder.Completer/index.js +133 -0
  458. package/output-es/Options.Applicative.Builder.Internal/index.js +122 -0
  459. package/output-es/Options.Applicative.Common/index.js +497 -0
  460. package/output-es/Options.Applicative.Extra/index.js +273 -0
  461. package/output-es/Options.Applicative.Help/index.js +3 -0
  462. package/output-es/Options.Applicative.Help.Chunk/index.js +229 -0
  463. package/output-es/Options.Applicative.Help.Core/index.js +450 -0
  464. package/output-es/Options.Applicative.Help.Levenshtein/index.js +22 -0
  465. package/output-es/Options.Applicative.Help.Pretty/index.js +1 -0
  466. package/output-es/Options.Applicative.Help.Types/index.js +112 -0
  467. package/output-es/Options.Applicative.Internal/index.js +447 -0
  468. package/output-es/Options.Applicative.Internal.Utils/index.js +36 -0
  469. package/output-es/Options.Applicative.Types/index.js +979 -0
  470. package/output-es/PSCI.Support/index.js +15 -0
  471. package/output-es/Parse/index.js +2003 -0
  472. package/output-es/Parse.Number/index.js +390 -0
  473. package/output-es/Parse.Parser/index.js +428 -0
  474. package/output-es/Parsing/index.js +342 -0
  475. package/output-es/Parsing.Combinators/index.js +901 -0
  476. package/output-es/Parsing.Combinators.Array/index.js +131 -0
  477. package/output-es/Parsing.Expr/index.js +317 -0
  478. package/output-es/Parsing.Indent/index.js +492 -0
  479. package/output-es/Parsing.Language/index.js +224 -0
  480. package/output-es/Parsing.String/index.js +378 -0
  481. package/output-es/Parsing.String.Basic/index.js +236 -0
  482. package/output-es/Parsing.String.Replace/index.js +342 -0
  483. package/output-es/Parsing.Token/index.js +1980 -0
  484. package/output-es/Partial/foreign.js +5 -0
  485. package/output-es/Partial/index.js +6 -0
  486. package/output-es/Partial.Unsafe/foreign.js +5 -0
  487. package/output-es/Partial.Unsafe/index.js +8 -0
  488. package/output-es/Prelude/index.js +13 -0
  489. package/output-es/Pretty/index.js +1334 -0
  490. package/output-es/Pretty.Doc/index.js +139 -0
  491. package/output-es/Pretty.Util/index.js +90 -0
  492. package/output-es/Primitive/index.js +304 -0
  493. package/output-es/Primitive.Defs/index.js +872 -0
  494. package/output-es/Primitive.Parse/index.js +93 -0
  495. package/output-es/Random.LCG/index.js +35 -0
  496. package/output-es/Record/index.js +23 -0
  497. package/output-es/Record.Builder/foreign.js +44 -0
  498. package/output-es/Record.Builder/index.js +20 -0
  499. package/output-es/Record.Unsafe/foreign.js +38 -0
  500. package/output-es/Record.Unsafe/index.js +9 -0
  501. package/output-es/Record.Unsafe.Union/foreign.js +14 -0
  502. package/output-es/Record.Unsafe.Union/index.js +4 -0
  503. package/output-es/SExpr/index.js +3972 -0
  504. package/output-es/Safe.Coerce/index.js +3 -0
  505. package/output-es/Test.Assert/foreign.js +21 -0
  506. package/output-es/Test.Assert/index.js +37 -0
  507. package/output-es/Test.Benchmark.Util/foreign.js +3 -0
  508. package/output-es/Test.Benchmark.Util/index.js +273 -0
  509. package/output-es/Test.QuickCheck/index.js +297 -0
  510. package/output-es/Test.QuickCheck.Arbitrary/index.js +482 -0
  511. package/output-es/Test.QuickCheck.Gen/foreign.js +10 -0
  512. package/output-es/Test.QuickCheck.Gen/index.js +270 -0
  513. package/output-es/Test.Specs.Bwd/index.js +220 -0
  514. package/output-es/Test.Specs.Comments/index.js +25 -0
  515. package/output-es/Test.Specs.Desugar/index.js +17 -0
  516. package/output-es/Test.Specs.Graphics/index.js +7 -0
  517. package/output-es/Test.Specs.LinkedInputs/index.js +52 -0
  518. package/output-es/Test.Specs.LinkedOutputs/index.js +61 -0
  519. package/output-es/Test.Specs.Misc/index.js +35 -0
  520. package/output-es/Test.Specs.Paragraph/index.js +5 -0
  521. package/output-es/Test.Test/index.js +106 -0
  522. package/output-es/Test.Util/index.js +239 -0
  523. package/output-es/Test.Util.Debug/index.js +6 -0
  524. package/output-es/Test.Util.Debug.Defaults/index.js +16 -0
  525. package/output-es/Test.Util.Mocha/foreign.js +55 -0
  526. package/output-es/Test.Util.Mocha/index.js +21 -0
  527. package/output-es/Test.Util.Puppeteer/index.js +83 -0
  528. package/output-es/Test.Util.Suite/index.js +197 -0
  529. package/output-es/Text.PrettyPrint.Leijen/index.js +700 -0
  530. package/output-es/Toppokki/foreign.js +170 -0
  531. package/output-es/Toppokki/index.js +122 -0
  532. package/output-es/Type.Data.Boolean/index.js +21 -0
  533. package/output-es/Type.Data.Ordering/index.js +56 -0
  534. package/output-es/Type.Data.Symbol/index.js +7 -0
  535. package/output-es/Type.Equality/index.js +5 -0
  536. package/output-es/Type.Function/index.js +1 -0
  537. package/output-es/Type.Prelude/index.js +1 -0
  538. package/output-es/Type.Proxy/index.js +51 -0
  539. package/output-es/Type.Row/index.js +1 -0
  540. package/output-es/Type.Row.Homogeneous/index.js +4 -0
  541. package/output-es/Type.RowList/index.js +10 -0
  542. package/output-es/Unsafe.Coerce/foreign.js +5 -0
  543. package/output-es/Unsafe.Coerce/index.js +3 -0
  544. package/output-es/Util/index.js +340 -0
  545. package/output-es/Util.Map/foreign.js +13 -0
  546. package/output-es/Util.Map/index.js +129 -0
  547. package/output-es/Util.Pair/index.js +90 -0
  548. package/output-es/Util.Set/index.js +75 -0
  549. package/output-es/Val/index.js +1771 -0
  550. package/output-es/Web.DOM/index.js +1 -0
  551. package/output-es/Web.DOM.CharacterData/foreign.js +61 -0
  552. package/output-es/Web.DOM.CharacterData/index.js +13 -0
  553. package/output-es/Web.DOM.ChildNode/foreign.js +5 -0
  554. package/output-es/Web.DOM.ChildNode/index.js +3 -0
  555. package/output-es/Web.DOM.Comment/index.js +13 -0
  556. package/output-es/Web.DOM.DOMTokenList/foreign.js +49 -0
  557. package/output-es/Web.DOM.DOMTokenList/index.js +15 -0
  558. package/output-es/Web.DOM.Document/foreign.js +112 -0
  559. package/output-es/Web.DOM.Document/index.js +75 -0
  560. package/output-es/Web.DOM.DocumentFragment/index.js +13 -0
  561. package/output-es/Web.DOM.DocumentType/foreign.js +9 -0
  562. package/output-es/Web.DOM.DocumentType/index.js +11 -0
  563. package/output-es/Web.DOM.Element/foreign.js +210 -0
  564. package/output-es/Web.DOM.Element/index.js +101 -0
  565. package/output-es/Web.DOM.HTMLCollection/foreign.js +27 -0
  566. package/output-es/Web.DOM.HTMLCollection/index.js +25 -0
  567. package/output-es/Web.DOM.Internal.Types/index.js +1 -0
  568. package/output-es/Web.DOM.MutationObserver/foreign.js +29 -0
  569. package/output-es/Web.DOM.MutationObserver/index.js +4 -0
  570. package/output-es/Web.DOM.MutationRecord/foreign.js +53 -0
  571. package/output-es/Web.DOM.MutationRecord/index.js +66 -0
  572. package/output-es/Web.DOM.Node/foreign.js +153 -0
  573. package/output-es/Web.DOM.Node/index.js +147 -0
  574. package/output-es/Web.DOM.NodeList/foreign.js +19 -0
  575. package/output-es/Web.DOM.NodeList/index.js +15 -0
  576. package/output-es/Web.DOM.NodeType/index.js +199 -0
  577. package/output-es/Web.DOM.NonDocumentTypeChildNode/foreign.js +11 -0
  578. package/output-es/Web.DOM.NonDocumentTypeChildNode/index.js +19 -0
  579. package/output-es/Web.DOM.NonElementParentNode/foreign.js +7 -0
  580. package/output-es/Web.DOM.NonElementParentNode/index.js +15 -0
  581. package/output-es/Web.DOM.ParentNode/foreign.js +28 -0
  582. package/output-es/Web.DOM.ParentNode/index.js +35 -0
  583. package/output-es/Web.DOM.ProcessingInstruction/foreign.js +5 -0
  584. package/output-es/Web.DOM.ProcessingInstruction/index.js +15 -0
  585. package/output-es/Web.DOM.ShadowRoot/foreign.js +9 -0
  586. package/output-es/Web.DOM.ShadowRoot/index.js +23 -0
  587. package/output-es/Web.DOM.Text/foreign.js +13 -0
  588. package/output-es/Web.DOM.Text/index.js +15 -0
  589. package/output-es/Web.Event.CustomEvent/foreign.js +18 -0
  590. package/output-es/Web.Event.CustomEvent/index.js +20 -0
  591. package/output-es/Web.Event.Event/foreign.js +51 -0
  592. package/output-es/Web.Event.Event/index.js +23 -0
  593. package/output-es/Web.Event.EventPhase/index.js +99 -0
  594. package/output-es/Web.Event.EventTarget/foreign.js +51 -0
  595. package/output-es/Web.Event.EventTarget/index.js +3 -0
  596. package/output-es/Web.Event.Internal.Types/index.js +1 -0
  597. package/output-es/Web.File.Blob/foreign.js +19 -0
  598. package/output-es/Web.File.Blob/index.js +18 -0
  599. package/output-es/Web.File.File/foreign.js +2 -0
  600. package/output-es/Web.File.File/index.js +13 -0
  601. package/output-es/Web.File.FileList/foreign.js +7 -0
  602. package/output-es/Web.File.FileList/index.js +16 -0
  603. package/output-es/Web.File.FileReader/foreign.js +51 -0
  604. package/output-es/Web.File.FileReader/index.js +19 -0
  605. package/output-es/Web.File.FileReader.ReadyState/index.js +94 -0
  606. package/output-es/Web.File.Url/foreign.js +11 -0
  607. package/output-es/Web.File.Url/index.js +3 -0
  608. package/output-es/Web.HTML/foreign.js +4 -0
  609. package/output-es/Web.HTML/index.js +3 -0
  610. package/output-es/Web.HTML.Common/index.js +15 -0
  611. package/output-es/Web.HTML.Event.BeforeUnloadEvent/foreign.js +13 -0
  612. package/output-es/Web.HTML.Event.BeforeUnloadEvent/index.js +7 -0
  613. package/output-es/Web.HTML.Event.BeforeUnloadEvent.EventTypes/index.js +2 -0
  614. package/output-es/Web.HTML.Event.DataTransfer/foreign.js +55 -0
  615. package/output-es/Web.HTML.Event.DataTransfer/index.js +63 -0
  616. package/output-es/Web.HTML.Event.DataTransfer.DataTransferItem/foreign.js +23 -0
  617. package/output-es/Web.HTML.Event.DataTransfer.DataTransferItem/index.js +41 -0
  618. package/output-es/Web.HTML.Event.DragEvent/foreign.js +3 -0
  619. package/output-es/Web.HTML.Event.DragEvent/index.js +7 -0
  620. package/output-es/Web.HTML.Event.DragEvent.EventTypes/index.js +9 -0
  621. package/output-es/Web.HTML.Event.ErrorEvent/foreign.js +15 -0
  622. package/output-es/Web.HTML.Event.ErrorEvent/index.js +7 -0
  623. package/output-es/Web.HTML.Event.EventTypes/index.js +68 -0
  624. package/output-es/Web.HTML.Event.HashChangeEvent/foreign.js +7 -0
  625. package/output-es/Web.HTML.Event.HashChangeEvent/index.js +7 -0
  626. package/output-es/Web.HTML.Event.HashChangeEvent.EventTypes/index.js +2 -0
  627. package/output-es/Web.HTML.Event.PageTransitionEvent/foreign.js +3 -0
  628. package/output-es/Web.HTML.Event.PageTransitionEvent/index.js +7 -0
  629. package/output-es/Web.HTML.Event.PageTransitionEvent.EventTypes/index.js +3 -0
  630. package/output-es/Web.HTML.Event.PopStateEvent/foreign.js +3 -0
  631. package/output-es/Web.HTML.Event.PopStateEvent/index.js +7 -0
  632. package/output-es/Web.HTML.Event.PopStateEvent.EventTypes/index.js +2 -0
  633. package/output-es/Web.HTML.Event.TrackEvent/index.js +5 -0
  634. package/output-es/Web.HTML.Event.TrackEvent.EventTypes/index.js +3 -0
  635. package/output-es/Web.HTML.HTMLAnchorElement/foreign.js +117 -0
  636. package/output-es/Web.HTML.HTMLAnchorElement/index.js +36 -0
  637. package/output-es/Web.HTML.HTMLAreaElement/foreign.js +133 -0
  638. package/output-es/Web.HTML.HTMLAreaElement/index.js +34 -0
  639. package/output-es/Web.HTML.HTMLAudioElement/foreign.js +9 -0
  640. package/output-es/Web.HTML.HTMLAudioElement/index.js +40 -0
  641. package/output-es/Web.HTML.HTMLBRElement/index.js +32 -0
  642. package/output-es/Web.HTML.HTMLBaseElement/foreign.js +29 -0
  643. package/output-es/Web.HTML.HTMLBaseElement/index.js +34 -0
  644. package/output-es/Web.HTML.HTMLBodyElement/index.js +32 -0
  645. package/output-es/Web.HTML.HTMLButtonElement/foreign.js +223 -0
  646. package/output-es/Web.HTML.HTMLButtonElement/index.js +73 -0
  647. package/output-es/Web.HTML.HTMLCanvasElement/foreign.js +29 -0
  648. package/output-es/Web.HTML.HTMLCanvasElement/index.js +34 -0
  649. package/output-es/Web.HTML.HTMLDListElement/index.js +32 -0
  650. package/output-es/Web.HTML.HTMLDataElement/foreign.js +13 -0
  651. package/output-es/Web.HTML.HTMLDataElement/index.js +34 -0
  652. package/output-es/Web.HTML.HTMLDataListElement/foreign.js +5 -0
  653. package/output-es/Web.HTML.HTMLDataListElement/index.js +34 -0
  654. package/output-es/Web.HTML.HTMLDivElement/index.js +32 -0
  655. package/output-es/Web.HTML.HTMLDocument/foreign.js +39 -0
  656. package/output-es/Web.HTML.HTMLDocument/index.js +76 -0
  657. package/output-es/Web.HTML.HTMLDocument.ReadyState/index.js +52 -0
  658. package/output-es/Web.HTML.HTMLDocument.VisibilityState/index.js +42 -0
  659. package/output-es/Web.HTML.HTMLElement/foreign.js +194 -0
  660. package/output-es/Web.HTML.HTMLElement/index.js +66 -0
  661. package/output-es/Web.HTML.HTMLEmbedElement/foreign.js +61 -0
  662. package/output-es/Web.HTML.HTMLEmbedElement/index.js +34 -0
  663. package/output-es/Web.HTML.HTMLFieldSetElement/foreign.js +103 -0
  664. package/output-es/Web.HTML.HTMLFieldSetElement/index.js +44 -0
  665. package/output-es/Web.HTML.HTMLFormElement/foreign.js +181 -0
  666. package/output-es/Web.HTML.HTMLFormElement/index.js +58 -0
  667. package/output-es/Web.HTML.HTMLHRElement/index.js +32 -0
  668. package/output-es/Web.HTML.HTMLHeadElement/index.js +32 -0
  669. package/output-es/Web.HTML.HTMLHeadingElement/index.js +32 -0
  670. package/output-es/Web.HTML.HTMLHtmlElement/index.js +32 -0
  671. package/output-es/Web.HTML.HTMLHyperlinkElementUtils/foreign.js +165 -0
  672. package/output-es/Web.HTML.HTMLHyperlinkElementUtils/index.js +26 -0
  673. package/output-es/Web.HTML.HTMLIFrameElement/foreign.js +91 -0
  674. package/output-es/Web.HTML.HTMLIFrameElement/index.js +52 -0
  675. package/output-es/Web.HTML.HTMLImageElement/foreign.js +215 -0
  676. package/output-es/Web.HTML.HTMLImageElement/index.js +140 -0
  677. package/output-es/Web.HTML.HTMLImageElement.CORSMode/index.js +43 -0
  678. package/output-es/Web.HTML.HTMLImageElement.DecodingHint/index.js +53 -0
  679. package/output-es/Web.HTML.HTMLImageElement.Laziness/index.js +43 -0
  680. package/output-es/Web.HTML.HTMLInputElement/foreign.js +727 -0
  681. package/output-es/Web.HTML.HTMLInputElement/index.js +171 -0
  682. package/output-es/Web.HTML.HTMLKeygenElement/foreign.js +151 -0
  683. package/output-es/Web.HTML.HTMLKeygenElement/index.js +64 -0
  684. package/output-es/Web.HTML.HTMLLIElement/foreign.js +13 -0
  685. package/output-es/Web.HTML.HTMLLIElement/index.js +34 -0
  686. package/output-es/Web.HTML.HTMLLabelElement/foreign.js +29 -0
  687. package/output-es/Web.HTML.HTMLLabelElement/index.js +52 -0
  688. package/output-es/Web.HTML.HTMLLegendElement/foreign.js +5 -0
  689. package/output-es/Web.HTML.HTMLLegendElement/index.js +44 -0
  690. package/output-es/Web.HTML.HTMLLinkElement/foreign.js +133 -0
  691. package/output-es/Web.HTML.HTMLLinkElement/index.js +34 -0
  692. package/output-es/Web.HTML.HTMLMapElement/foreign.js +29 -0
  693. package/output-es/Web.HTML.HTMLMapElement/index.js +34 -0
  694. package/output-es/Web.HTML.HTMLMediaElement/foreign.js +295 -0
  695. package/output-es/Web.HTML.HTMLMediaElement/index.js +103 -0
  696. package/output-es/Web.HTML.HTMLMediaElement.CanPlayType/index.js +52 -0
  697. package/output-es/Web.HTML.HTMLMediaElement.NetworkState/index.js +109 -0
  698. package/output-es/Web.HTML.HTMLMediaElement.ReadyState/index.js +124 -0
  699. package/output-es/Web.HTML.HTMLMetaElement/foreign.js +45 -0
  700. package/output-es/Web.HTML.HTMLMetaElement/index.js +34 -0
  701. package/output-es/Web.HTML.HTMLMeterElement/foreign.js +101 -0
  702. package/output-es/Web.HTML.HTMLMeterElement/index.js +34 -0
  703. package/output-es/Web.HTML.HTMLModElement/foreign.js +29 -0
  704. package/output-es/Web.HTML.HTMLModElement/index.js +34 -0
  705. package/output-es/Web.HTML.HTMLOListElement/foreign.js +45 -0
  706. package/output-es/Web.HTML.HTMLOListElement/index.js +34 -0
  707. package/output-es/Web.HTML.HTMLObjectElement/foreign.js +167 -0
  708. package/output-es/Web.HTML.HTMLObjectElement/index.js +74 -0
  709. package/output-es/Web.HTML.HTMLOptGroupElement/foreign.js +29 -0
  710. package/output-es/Web.HTML.HTMLOptGroupElement/index.js +34 -0
  711. package/output-es/Web.HTML.HTMLOptionElement/foreign.js +109 -0
  712. package/output-es/Web.HTML.HTMLOptionElement/index.js +44 -0
  713. package/output-es/Web.HTML.HTMLOutputElement/foreign.js +119 -0
  714. package/output-es/Web.HTML.HTMLOutputElement/index.js +60 -0
  715. package/output-es/Web.HTML.HTMLParagraphElement/index.js +32 -0
  716. package/output-es/Web.HTML.HTMLParamElement/foreign.js +29 -0
  717. package/output-es/Web.HTML.HTMLParamElement/index.js +34 -0
  718. package/output-es/Web.HTML.HTMLPreElement/index.js +32 -0
  719. package/output-es/Web.HTML.HTMLProgressElement/foreign.js +45 -0
  720. package/output-es/Web.HTML.HTMLProgressElement/index.js +34 -0
  721. package/output-es/Web.HTML.HTMLQuoteElement/foreign.js +13 -0
  722. package/output-es/Web.HTML.HTMLQuoteElement/index.js +34 -0
  723. package/output-es/Web.HTML.HTMLScriptElement/foreign.js +109 -0
  724. package/output-es/Web.HTML.HTMLScriptElement/index.js +34 -0
  725. package/output-es/Web.HTML.HTMLSelectElement/foreign.js +223 -0
  726. package/output-es/Web.HTML.HTMLSelectElement/index.js +73 -0
  727. package/output-es/Web.HTML.HTMLSourceElement/foreign.js +45 -0
  728. package/output-es/Web.HTML.HTMLSourceElement/index.js +34 -0
  729. package/output-es/Web.HTML.HTMLSpanElement/index.js +32 -0
  730. package/output-es/Web.HTML.HTMLStyleElement/foreign.js +29 -0
  731. package/output-es/Web.HTML.HTMLStyleElement/index.js +34 -0
  732. package/output-es/Web.HTML.HTMLTableCaptionElement/index.js +32 -0
  733. package/output-es/Web.HTML.HTMLTableCellElement/foreign.js +37 -0
  734. package/output-es/Web.HTML.HTMLTableCellElement/index.js +34 -0
  735. package/output-es/Web.HTML.HTMLTableColElement/foreign.js +13 -0
  736. package/output-es/Web.HTML.HTMLTableColElement/index.js +34 -0
  737. package/output-es/Web.HTML.HTMLTableDataCellElement/index.js +36 -0
  738. package/output-es/Web.HTML.HTMLTableElement/foreign.js +153 -0
  739. package/output-es/Web.HTML.HTMLTableElement/index.js +103 -0
  740. package/output-es/Web.HTML.HTMLTableHeaderCellElement/foreign.js +29 -0
  741. package/output-es/Web.HTML.HTMLTableHeaderCellElement/index.js +38 -0
  742. package/output-es/Web.HTML.HTMLTableRowElement/foreign.js +41 -0
  743. package/output-es/Web.HTML.HTMLTableRowElement/index.js +38 -0
  744. package/output-es/Web.HTML.HTMLTableSectionElement/foreign.js +25 -0
  745. package/output-es/Web.HTML.HTMLTableSectionElement/index.js +38 -0
  746. package/output-es/Web.HTML.HTMLTemplateElement/foreign.js +5 -0
  747. package/output-es/Web.HTML.HTMLTemplateElement/index.js +34 -0
  748. package/output-es/Web.HTML.HTMLTextAreaElement/foreign.js +403 -0
  749. package/output-es/Web.HTML.HTMLTextAreaElement/index.js +107 -0
  750. package/output-es/Web.HTML.HTMLTimeElement/foreign.js +13 -0
  751. package/output-es/Web.HTML.HTMLTimeElement/index.js +34 -0
  752. package/output-es/Web.HTML.HTMLTitleElement/foreign.js +13 -0
  753. package/output-es/Web.HTML.HTMLTitleElement/index.js +34 -0
  754. package/output-es/Web.HTML.HTMLTrackElement/foreign.js +84 -0
  755. package/output-es/Web.HTML.HTMLTrackElement/index.js +44 -0
  756. package/output-es/Web.HTML.HTMLTrackElement.ReadyState/index.js +109 -0
  757. package/output-es/Web.HTML.HTMLUListElement/index.js +32 -0
  758. package/output-es/Web.HTML.HTMLVideoElement/foreign.js +63 -0
  759. package/output-es/Web.HTML.HTMLVideoElement/index.js +38 -0
  760. package/output-es/Web.HTML.History/foreign.js +49 -0
  761. package/output-es/Web.HTML.History/index.js +16 -0
  762. package/output-es/Web.HTML.Location/foreign.js +169 -0
  763. package/output-es/Web.HTML.Location/index.js +25 -0
  764. package/output-es/Web.HTML.Navigator/foreign.js +29 -0
  765. package/output-es/Web.HTML.Navigator/index.js +3 -0
  766. package/output-es/Web.HTML.SelectionMode/index.js +62 -0
  767. package/output-es/Web.HTML.ValidityState/foreign.js +3 -0
  768. package/output-es/Web.HTML.ValidityState/index.js +15 -0
  769. package/output-es/Web.HTML.Window/foreign.js +239 -0
  770. package/output-es/Web.HTML.Window/index.js +86 -0
  771. package/output-es/Web.Internal.FFI/foreign.js +20 -0
  772. package/output-es/Web.Internal.FFI/index.js +5 -0
  773. package/output-es/Web.Storage.Event.StorageEvent/foreign.js +19 -0
  774. package/output-es/Web.Storage.Event.StorageEvent/index.js +13 -0
  775. package/output-es/Web.Storage.Storage/foreign.js +45 -0
  776. package/output-es/Web.Storage.Storage/index.js +52 -0
  777. package/output-es/Web.XHR.EventTypes/index.js +8 -0
  778. package/output-es/Web.XHR.FormData/foreign.js +32 -0
  779. package/output-es/Web.XHR.FormData/index.js +52 -0
  780. package/output-es/Web.XHR.ProgressEvent/foreign.js +11 -0
  781. package/output-es/Web.XHR.ProgressEvent/index.js +7 -0
  782. package/output-es/Web.XHR.ReadyState/index.js +99 -0
  783. package/output-es/Web.XHR.ResponseType/index.js +5 -0
  784. package/output-es/Web.XHR.XMLHttpRequest/foreign.js +41 -0
  785. package/output-es/Web.XHR.XMLHttpRequest/index.js +95 -0
  786. package/output-es/Web.XHR.XMLHttpRequestUpload/index.js +3 -0
  787. package/output-es/Website.Test.Article.EnergyScatter/index.js +12 -0
  788. package/output-es/Website.Test.Article.RenewablesLinked/index.js +14 -0
  789. package/output-es/package.json +1 -0
  790. package/output-es/runtime.js +33 -0
  791. package/package.json +3 -2
  792. package/script/install-website.sh +8 -1
@@ -0,0 +1,1154 @@
1
+ /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */
2
+ /* eslint-disable no-unused-vars, no-prototype-builtins, no-use-before-define, no-unused-labels, no-param-reassign */
3
+ var Aff = function () {
4
+ // A unique value for empty.
5
+ var EMPTY = {};
6
+
7
+ /*
8
+
9
+ An awkward approximation. We elide evidence we would otherwise need in PS for
10
+ efficiency sake.
11
+
12
+ data Aff eff a
13
+ = Pure a
14
+ | Throw Error
15
+ | Catch (Aff eff a) (Error -> Aff eff a)
16
+ | Sync (Eff eff a)
17
+ | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))
18
+ | forall b. Bind (Aff eff b) (b -> Aff eff a)
19
+ | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)
20
+ | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)
21
+ | Sequential (ParAff aff a)
22
+
23
+ */
24
+ var PURE = "Pure";
25
+ var THROW = "Throw";
26
+ var CATCH = "Catch";
27
+ var SYNC = "Sync";
28
+ var ASYNC = "Async";
29
+ var BIND = "Bind";
30
+ var BRACKET = "Bracket";
31
+ var FORK = "Fork";
32
+ var SEQ = "Sequential";
33
+
34
+ /*
35
+
36
+ data ParAff eff a
37
+ = forall b. Map (b -> a) (ParAff eff b)
38
+ | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)
39
+ | Alt (ParAff eff a) (ParAff eff a)
40
+ | ?Par (Aff eff a)
41
+
42
+ */
43
+ var MAP = "Map";
44
+ var APPLY = "Apply";
45
+ var ALT = "Alt";
46
+
47
+ // Various constructors used in interpretation
48
+ var CONS = "Cons"; // Cons-list, for stacks
49
+ var RESUME = "Resume"; // Continue indiscriminately
50
+ var RELEASE = "Release"; // Continue with bracket finalizers
51
+ var FINALIZER = "Finalizer"; // A non-interruptible effect
52
+ var FINALIZED = "Finalized"; // Marker for finalization
53
+ var FORKED = "Forked"; // Reference to a forked fiber, with resumption stack
54
+ var FIBER = "Fiber"; // Actual fiber reference
55
+ var THUNK = "Thunk"; // Primed effect, ready to invoke
56
+
57
+ function Aff(tag, _1, _2, _3) {
58
+ this.tag = tag;
59
+ this._1 = _1;
60
+ this._2 = _2;
61
+ this._3 = _3;
62
+ }
63
+
64
+ function AffCtr(tag) {
65
+ var fn = function (_1, _2, _3) {
66
+ return new Aff(tag, _1, _2, _3);
67
+ };
68
+ fn.tag = tag;
69
+ return fn;
70
+ }
71
+
72
+ function nonCanceler(error) {
73
+ return new Aff(PURE, void 0);
74
+ }
75
+
76
+ function runEff(eff) {
77
+ try {
78
+ eff();
79
+ } catch (error) {
80
+ setTimeout(function () {
81
+ throw error;
82
+ }, 0);
83
+ }
84
+ }
85
+
86
+ function runSync(left, right, eff) {
87
+ try {
88
+ return right(eff());
89
+ } catch (error) {
90
+ return left(error);
91
+ }
92
+ }
93
+
94
+ function runAsync(left, eff, k) {
95
+ try {
96
+ return eff(k)();
97
+ } catch (error) {
98
+ k(left(error))();
99
+ return nonCanceler;
100
+ }
101
+ }
102
+
103
+ var Scheduler = function () {
104
+ var limit = 1024;
105
+ var size = 0;
106
+ var ix = 0;
107
+ var queue = new Array(limit);
108
+ var draining = false;
109
+
110
+ function drain() {
111
+ var thunk;
112
+ draining = true;
113
+ while (size !== 0) {
114
+ size--;
115
+ thunk = queue[ix];
116
+ queue[ix] = void 0;
117
+ ix = (ix + 1) % limit;
118
+ thunk();
119
+ }
120
+ draining = false;
121
+ }
122
+
123
+ return {
124
+ isDraining: function () {
125
+ return draining;
126
+ },
127
+ enqueue: function (cb) {
128
+ var i, tmp;
129
+ if (size === limit) {
130
+ tmp = draining;
131
+ drain();
132
+ draining = tmp;
133
+ }
134
+
135
+ queue[(ix + size) % limit] = cb;
136
+ size++;
137
+
138
+ if (!draining) {
139
+ drain();
140
+ }
141
+ }
142
+ };
143
+ }();
144
+
145
+ function Supervisor(util) {
146
+ var fibers = {};
147
+ var fiberId = 0;
148
+ var count = 0;
149
+
150
+ return {
151
+ register: function (fiber) {
152
+ var fid = fiberId++;
153
+ fiber.onComplete({
154
+ rethrow: true,
155
+ handler: function (result) {
156
+ return function () {
157
+ count--;
158
+ delete fibers[fid];
159
+ };
160
+ }
161
+ })();
162
+ fibers[fid] = fiber;
163
+ count++;
164
+ },
165
+ isEmpty: function () {
166
+ return count === 0;
167
+ },
168
+ killAll: function (killError, cb) {
169
+ return function () {
170
+ if (count === 0) {
171
+ return cb();
172
+ }
173
+
174
+ var killCount = 0;
175
+ var kills = {};
176
+
177
+ function kill(fid) {
178
+ kills[fid] = fibers[fid].kill(killError, function (result) {
179
+ return function () {
180
+ delete kills[fid];
181
+ killCount--;
182
+ if (util.isLeft(result) && util.fromLeft(result)) {
183
+ setTimeout(function () {
184
+ throw util.fromLeft(result);
185
+ }, 0);
186
+ }
187
+ if (killCount === 0) {
188
+ cb();
189
+ }
190
+ };
191
+ })();
192
+ }
193
+
194
+ for (var k in fibers) {
195
+ if (fibers.hasOwnProperty(k)) {
196
+ killCount++;
197
+ kill(k);
198
+ }
199
+ }
200
+
201
+ fibers = {};
202
+ fiberId = 0;
203
+ count = 0;
204
+
205
+ return function (error) {
206
+ return new Aff(SYNC, function () {
207
+ for (var k in kills) {
208
+ if (kills.hasOwnProperty(k)) {
209
+ kills[k]();
210
+ }
211
+ }
212
+ });
213
+ };
214
+ };
215
+ }
216
+ };
217
+ }
218
+
219
+ // Fiber state machine
220
+ var SUSPENDED = 0; // Suspended, pending a join.
221
+ var CONTINUE = 1; // Interpret the next instruction.
222
+ var STEP_BIND = 2; // Apply the next bind.
223
+ var STEP_RESULT = 3; // Handle potential failure from a result.
224
+ var PENDING = 4; // An async effect is running.
225
+ var RETURN = 5; // The current stack has returned.
226
+ var COMPLETED = 6; // The entire fiber has completed.
227
+
228
+ function Fiber(util, supervisor, aff) {
229
+ // Monotonically increasing tick, increased on each asynchronous turn.
230
+ var runTick = 0;
231
+
232
+ // The current branch of the state machine.
233
+ var status = SUSPENDED;
234
+
235
+ // The current point of interest for the state machine branch.
236
+ var step = aff; // Successful step
237
+ var fail = null; // Failure step
238
+ var interrupt = null; // Asynchronous interrupt
239
+
240
+ // Stack of continuations for the current fiber.
241
+ var bhead = null;
242
+ var btail = null;
243
+
244
+ // Stack of attempts and finalizers for error recovery. Every `Cons` is also
245
+ // tagged with current `interrupt` state. We use this to track which items
246
+ // should be ignored or evaluated as a result of a kill.
247
+ var attempts = null;
248
+
249
+ // A special state is needed for Bracket, because it cannot be killed. When
250
+ // we enter a bracket acquisition or finalizer, we increment the counter,
251
+ // and then decrement once complete.
252
+ var bracketCount = 0;
253
+
254
+ // Each join gets a new id so they can be revoked.
255
+ var joinId = 0;
256
+ var joins = null;
257
+ var rethrow = true;
258
+
259
+ // Each invocation of `run` requires a tick. When an asynchronous effect is
260
+ // resolved, we must check that the local tick coincides with the fiber
261
+ // tick before resuming. This prevents multiple async continuations from
262
+ // accidentally resuming the same fiber. A common example may be invoking
263
+ // the provided callback in `makeAff` more than once, but it may also be an
264
+ // async effect resuming after the fiber was already cancelled.
265
+ function run(localRunTick) {
266
+ var tmp, result, attempt;
267
+ while (true) {
268
+ tmp = null;
269
+ result = null;
270
+ attempt = null;
271
+
272
+ switch (status) {
273
+ case STEP_BIND:
274
+ status = CONTINUE;
275
+ try {
276
+ step = bhead(step);
277
+ if (btail === null) {
278
+ bhead = null;
279
+ } else {
280
+ bhead = btail._1;
281
+ btail = btail._2;
282
+ }
283
+ } catch (e) {
284
+ status = RETURN;
285
+ fail = util.left(e);
286
+ step = null;
287
+ }
288
+ break;
289
+
290
+ case STEP_RESULT:
291
+ if (util.isLeft(step)) {
292
+ status = RETURN;
293
+ fail = step;
294
+ step = null;
295
+ } else if (bhead === null) {
296
+ status = RETURN;
297
+ } else {
298
+ status = STEP_BIND;
299
+ step = util.fromRight(step);
300
+ }
301
+ break;
302
+
303
+ case CONTINUE:
304
+ switch (step.tag) {
305
+ case BIND:
306
+ if (bhead) {
307
+ btail = new Aff(CONS, bhead, btail);
308
+ }
309
+ bhead = step._2;
310
+ status = CONTINUE;
311
+ step = step._1;
312
+ break;
313
+
314
+ case PURE:
315
+ if (bhead === null) {
316
+ status = RETURN;
317
+ step = util.right(step._1);
318
+ } else {
319
+ status = STEP_BIND;
320
+ step = step._1;
321
+ }
322
+ break;
323
+
324
+ case SYNC:
325
+ status = STEP_RESULT;
326
+ step = runSync(util.left, util.right, step._1);
327
+ break;
328
+
329
+ case ASYNC:
330
+ status = PENDING;
331
+ step = runAsync(util.left, step._1, function (result) {
332
+ return function () {
333
+ if (runTick !== localRunTick) {
334
+ return;
335
+ }
336
+ runTick++;
337
+ Scheduler.enqueue(function () {
338
+ // It's possible to interrupt the fiber between enqueuing and
339
+ // resuming, so we need to check that the runTick is still
340
+ // valid.
341
+ if (runTick !== localRunTick + 1) {
342
+ return;
343
+ }
344
+ status = STEP_RESULT;
345
+ step = result;
346
+ run(runTick);
347
+ });
348
+ };
349
+ });
350
+ return;
351
+
352
+ case THROW:
353
+ status = RETURN;
354
+ fail = util.left(step._1);
355
+ step = null;
356
+ break;
357
+
358
+ // Enqueue the Catch so that we can call the error handler later on
359
+ // in case of an exception.
360
+ case CATCH:
361
+ if (bhead === null) {
362
+ attempts = new Aff(CONS, step, attempts, interrupt);
363
+ } else {
364
+ attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);
365
+ }
366
+ bhead = null;
367
+ btail = null;
368
+ status = CONTINUE;
369
+ step = step._1;
370
+ break;
371
+
372
+ // Enqueue the Bracket so that we can call the appropriate handlers
373
+ // after resource acquisition.
374
+ case BRACKET:
375
+ bracketCount++;
376
+ if (bhead === null) {
377
+ attempts = new Aff(CONS, step, attempts, interrupt);
378
+ } else {
379
+ attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);
380
+ }
381
+ bhead = null;
382
+ btail = null;
383
+ status = CONTINUE;
384
+ step = step._1;
385
+ break;
386
+
387
+ case FORK:
388
+ status = STEP_RESULT;
389
+ tmp = Fiber(util, supervisor, step._2);
390
+ if (supervisor) {
391
+ supervisor.register(tmp);
392
+ }
393
+ if (step._1) {
394
+ tmp.run();
395
+ }
396
+ step = util.right(tmp);
397
+ break;
398
+
399
+ case SEQ:
400
+ status = CONTINUE;
401
+ step = sequential(util, supervisor, step._1);
402
+ break;
403
+ }
404
+ break;
405
+
406
+ case RETURN:
407
+ bhead = null;
408
+ btail = null;
409
+ // If the current stack has returned, and we have no other stacks to
410
+ // resume or finalizers to run, the fiber has halted and we can
411
+ // invoke all join callbacks. Otherwise we need to resume.
412
+ if (attempts === null) {
413
+ status = COMPLETED;
414
+ step = interrupt || fail || step;
415
+ } else {
416
+ // The interrupt status for the enqueued item.
417
+ tmp = attempts._3;
418
+ attempt = attempts._1;
419
+ attempts = attempts._2;
420
+
421
+ switch (attempt.tag) {
422
+ // We cannot recover from an unmasked interrupt. Otherwise we should
423
+ // continue stepping, or run the exception handler if an exception
424
+ // was raised.
425
+ case CATCH:
426
+ // We should compare the interrupt status as well because we
427
+ // only want it to apply if there has been an interrupt since
428
+ // enqueuing the catch.
429
+ if (interrupt && interrupt !== tmp && bracketCount === 0) {
430
+ status = RETURN;
431
+ } else if (fail) {
432
+ status = CONTINUE;
433
+ step = attempt._2(util.fromLeft(fail));
434
+ fail = null;
435
+ }
436
+ break;
437
+
438
+ // We cannot resume from an unmasked interrupt or exception.
439
+ case RESUME:
440
+ // As with Catch, we only want to ignore in the case of an
441
+ // interrupt since enqueing the item.
442
+ if (interrupt && interrupt !== tmp && bracketCount === 0 || fail) {
443
+ status = RETURN;
444
+ } else {
445
+ bhead = attempt._1;
446
+ btail = attempt._2;
447
+ status = STEP_BIND;
448
+ step = util.fromRight(step);
449
+ }
450
+ break;
451
+
452
+ // If we have a bracket, we should enqueue the handlers,
453
+ // and continue with the success branch only if the fiber has
454
+ // not been interrupted. If the bracket acquisition failed, we
455
+ // should not run either.
456
+ case BRACKET:
457
+ bracketCount--;
458
+ if (fail === null) {
459
+ result = util.fromRight(step);
460
+ // We need to enqueue the Release with the same interrupt
461
+ // status as the Bracket that is initiating it.
462
+ attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);
463
+ // We should only coninue as long as the interrupt status has not changed or
464
+ // we are currently within a non-interruptable finalizer.
465
+ if (interrupt === tmp || bracketCount > 0) {
466
+ status = CONTINUE;
467
+ step = attempt._3(result);
468
+ }
469
+ }
470
+ break;
471
+
472
+ // Enqueue the appropriate handler. We increase the bracket count
473
+ // because it should not be cancelled.
474
+ case RELEASE:
475
+ attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);
476
+ status = CONTINUE;
477
+ // It has only been killed if the interrupt status has changed
478
+ // since we enqueued the item, and the bracket count is 0. If the
479
+ // bracket count is non-zero then we are in a masked state so it's
480
+ // impossible to be killed.
481
+ if (interrupt && interrupt !== tmp && bracketCount === 0) {
482
+ step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);
483
+ } else if (fail) {
484
+ step = attempt._1.failed(util.fromLeft(fail))(attempt._2);
485
+ } else {
486
+ step = attempt._1.completed(util.fromRight(step))(attempt._2);
487
+ }
488
+ fail = null;
489
+ bracketCount++;
490
+ break;
491
+
492
+ case FINALIZER:
493
+ bracketCount++;
494
+ attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);
495
+ status = CONTINUE;
496
+ step = attempt._1;
497
+ break;
498
+
499
+ case FINALIZED:
500
+ bracketCount--;
501
+ status = RETURN;
502
+ step = attempt._1;
503
+ fail = attempt._2;
504
+ break;
505
+ }
506
+ }
507
+ break;
508
+
509
+ case COMPLETED:
510
+ for (var k in joins) {
511
+ if (joins.hasOwnProperty(k)) {
512
+ rethrow = rethrow && joins[k].rethrow;
513
+ runEff(joins[k].handler(step));
514
+ }
515
+ }
516
+ joins = null;
517
+ // If we have an interrupt and a fail, then the thread threw while
518
+ // running finalizers. This should always rethrow in a fresh stack.
519
+ if (interrupt && fail) {
520
+ setTimeout(function () {
521
+ throw util.fromLeft(fail);
522
+ }, 0);
523
+ // If we have an unhandled exception, and no other fiber has joined
524
+ // then we need to throw the exception in a fresh stack.
525
+ } else if (util.isLeft(step) && rethrow) {
526
+ setTimeout(function () {
527
+ // Guard on reathrow because a completely synchronous fiber can
528
+ // still have an observer which was added after-the-fact.
529
+ if (rethrow) {
530
+ throw util.fromLeft(step);
531
+ }
532
+ }, 0);
533
+ }
534
+ return;
535
+ case SUSPENDED:
536
+ status = CONTINUE;
537
+ break;
538
+ case PENDING: return;
539
+ }
540
+ }
541
+ }
542
+
543
+ function onComplete(join) {
544
+ return function () {
545
+ if (status === COMPLETED) {
546
+ rethrow = rethrow && join.rethrow;
547
+ join.handler(step)();
548
+ return function () {};
549
+ }
550
+
551
+ var jid = joinId++;
552
+ joins = joins || {};
553
+ joins[jid] = join;
554
+
555
+ return function() {
556
+ if (joins !== null) {
557
+ delete joins[jid];
558
+ }
559
+ };
560
+ };
561
+ }
562
+
563
+ function kill(error, cb) {
564
+ return function () {
565
+ if (status === COMPLETED) {
566
+ cb(util.right(void 0))();
567
+ return function () {};
568
+ }
569
+
570
+ var canceler = onComplete({
571
+ rethrow: false,
572
+ handler: function (/* unused */) {
573
+ return cb(util.right(void 0));
574
+ }
575
+ })();
576
+
577
+ switch (status) {
578
+ case SUSPENDED:
579
+ interrupt = util.left(error);
580
+ status = COMPLETED;
581
+ step = interrupt;
582
+ run(runTick);
583
+ break;
584
+ case PENDING:
585
+ if (interrupt === null) {
586
+ interrupt = util.left(error);
587
+ }
588
+ if (bracketCount === 0) {
589
+ if (status === PENDING) {
590
+ attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);
591
+ }
592
+ status = RETURN;
593
+ step = null;
594
+ fail = null;
595
+ run(++runTick);
596
+ }
597
+ break;
598
+ default:
599
+ if (interrupt === null) {
600
+ interrupt = util.left(error);
601
+ }
602
+ if (bracketCount === 0) {
603
+ status = RETURN;
604
+ step = null;
605
+ fail = null;
606
+ }
607
+ }
608
+
609
+ return canceler;
610
+ };
611
+ }
612
+
613
+ function join(cb) {
614
+ return function () {
615
+ var canceler = onComplete({
616
+ rethrow: false,
617
+ handler: cb
618
+ })();
619
+ if (status === SUSPENDED) {
620
+ run(runTick);
621
+ }
622
+ return canceler;
623
+ };
624
+ }
625
+
626
+ return {
627
+ kill: kill,
628
+ join: join,
629
+ onComplete: onComplete,
630
+ isSuspended: function () {
631
+ return status === SUSPENDED;
632
+ },
633
+ run: function () {
634
+ if (status === SUSPENDED) {
635
+ if (!Scheduler.isDraining()) {
636
+ Scheduler.enqueue(function () {
637
+ run(runTick);
638
+ });
639
+ } else {
640
+ run(runTick);
641
+ }
642
+ }
643
+ }
644
+ };
645
+ }
646
+
647
+ function runPar(util, supervisor, par, cb) {
648
+ // Table of all forked fibers.
649
+ var fiberId = 0;
650
+ var fibers = {};
651
+
652
+ // Table of currently running cancelers, as a product of `Alt` behavior.
653
+ var killId = 0;
654
+ var kills = {};
655
+
656
+ // Error used for early cancelation on Alt branches.
657
+ var early = new Error("[ParAff] Early exit");
658
+
659
+ // Error used to kill the entire tree.
660
+ var interrupt = null;
661
+
662
+ // The root pointer of the tree.
663
+ var root = EMPTY;
664
+
665
+ // Walks a tree, invoking all the cancelers. Returns the table of pending
666
+ // cancellation fibers.
667
+ function kill(error, par, cb) {
668
+ var step = par;
669
+ var head = null;
670
+ var tail = null;
671
+ var count = 0;
672
+ var kills = {};
673
+ var tmp, kid;
674
+
675
+ loop: while (true) {
676
+ tmp = null;
677
+
678
+ switch (step.tag) {
679
+ case FORKED:
680
+ if (step._3 === EMPTY) {
681
+ tmp = fibers[step._1];
682
+ kills[count++] = tmp.kill(error, function (result) {
683
+ return function () {
684
+ count--;
685
+ if (count === 0) {
686
+ cb(result)();
687
+ }
688
+ };
689
+ });
690
+ }
691
+ // Terminal case.
692
+ if (head === null) {
693
+ break loop;
694
+ }
695
+ // Go down the right side of the tree.
696
+ step = head._2;
697
+ if (tail === null) {
698
+ head = null;
699
+ } else {
700
+ head = tail._1;
701
+ tail = tail._2;
702
+ }
703
+ break;
704
+ case MAP:
705
+ step = step._2;
706
+ break;
707
+ case APPLY:
708
+ case ALT:
709
+ if (head) {
710
+ tail = new Aff(CONS, head, tail);
711
+ }
712
+ head = step;
713
+ step = step._1;
714
+ break;
715
+ }
716
+ }
717
+
718
+ if (count === 0) {
719
+ cb(util.right(void 0))();
720
+ } else {
721
+ // Run the cancelation effects. We alias `count` because it's mutable.
722
+ kid = 0;
723
+ tmp = count;
724
+ for (; kid < tmp; kid++) {
725
+ kills[kid] = kills[kid]();
726
+ }
727
+ }
728
+
729
+ return kills;
730
+ }
731
+
732
+ // When a fiber resolves, we need to bubble back up the tree with the
733
+ // result, computing the applicative nodes.
734
+ function join(result, head, tail) {
735
+ var fail, step, lhs, rhs, tmp, kid;
736
+
737
+ if (util.isLeft(result)) {
738
+ fail = result;
739
+ step = null;
740
+ } else {
741
+ step = result;
742
+ fail = null;
743
+ }
744
+
745
+ loop: while (true) {
746
+ lhs = null;
747
+ rhs = null;
748
+ tmp = null;
749
+ kid = null;
750
+
751
+ // We should never continue if the entire tree has been interrupted.
752
+ if (interrupt !== null) {
753
+ return;
754
+ }
755
+
756
+ // We've made it all the way to the root of the tree, which means
757
+ // the tree has fully evaluated.
758
+ if (head === null) {
759
+ cb(fail || step)();
760
+ return;
761
+ }
762
+
763
+ // The tree has already been computed, so we shouldn't try to do it
764
+ // again. This should never happen.
765
+ // TODO: Remove this?
766
+ if (head._3 !== EMPTY) {
767
+ return;
768
+ }
769
+
770
+ switch (head.tag) {
771
+ case MAP:
772
+ if (fail === null) {
773
+ head._3 = util.right(head._1(util.fromRight(step)));
774
+ step = head._3;
775
+ } else {
776
+ head._3 = fail;
777
+ }
778
+ break;
779
+ case APPLY:
780
+ lhs = head._1._3;
781
+ rhs = head._2._3;
782
+ // If we have a failure we should kill the other side because we
783
+ // can't possible yield a result anymore.
784
+ if (fail) {
785
+ head._3 = fail;
786
+ tmp = true;
787
+ kid = killId++;
788
+
789
+ kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {
790
+ return function () {
791
+ delete kills[kid];
792
+ if (tmp) {
793
+ tmp = false;
794
+ } else if (tail === null) {
795
+ join(fail, null, null);
796
+ } else {
797
+ join(fail, tail._1, tail._2);
798
+ }
799
+ };
800
+ });
801
+
802
+ if (tmp) {
803
+ tmp = false;
804
+ return;
805
+ }
806
+ } else if (lhs === EMPTY || rhs === EMPTY) {
807
+ // We can only proceed if both sides have resolved.
808
+ return;
809
+ } else {
810
+ step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));
811
+ head._3 = step;
812
+ }
813
+ break;
814
+ case ALT:
815
+ lhs = head._1._3;
816
+ rhs = head._2._3;
817
+ // We can only proceed if both have resolved or we have a success
818
+ if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {
819
+ return;
820
+ }
821
+ // If both sides resolve with an error, we should continue with the
822
+ // first error
823
+ if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {
824
+ fail = step === lhs ? rhs : lhs;
825
+ step = null;
826
+ head._3 = fail;
827
+ } else {
828
+ head._3 = step;
829
+ tmp = true;
830
+ kid = killId++;
831
+ // Once a side has resolved, we need to cancel the side that is still
832
+ // pending before we can continue.
833
+ kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {
834
+ return function () {
835
+ delete kills[kid];
836
+ if (tmp) {
837
+ tmp = false;
838
+ } else if (tail === null) {
839
+ join(step, null, null);
840
+ } else {
841
+ join(step, tail._1, tail._2);
842
+ }
843
+ };
844
+ });
845
+
846
+ if (tmp) {
847
+ tmp = false;
848
+ return;
849
+ }
850
+ }
851
+ break;
852
+ }
853
+
854
+ if (tail === null) {
855
+ head = null;
856
+ } else {
857
+ head = tail._1;
858
+ tail = tail._2;
859
+ }
860
+ }
861
+ }
862
+
863
+ function resolve(fiber) {
864
+ return function (result) {
865
+ return function () {
866
+ delete fibers[fiber._1];
867
+ fiber._3 = result;
868
+ join(result, fiber._2._1, fiber._2._2);
869
+ };
870
+ };
871
+ }
872
+
873
+ // Walks the applicative tree, substituting non-applicative nodes with
874
+ // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot
875
+ // as a mutable slot for memoization. In an unresolved state, the `_3`
876
+ // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk
877
+ // the left side first, because both operations are left-associative. As
878
+ // we `RETURN` from those branches, we then walk the right side.
879
+ function run() {
880
+ var status = CONTINUE;
881
+ var step = par;
882
+ var head = null;
883
+ var tail = null;
884
+ var tmp, fid;
885
+
886
+ loop: while (true) {
887
+ tmp = null;
888
+ fid = null;
889
+
890
+ switch (status) {
891
+ case CONTINUE:
892
+ switch (step.tag) {
893
+ case MAP:
894
+ if (head) {
895
+ tail = new Aff(CONS, head, tail);
896
+ }
897
+ head = new Aff(MAP, step._1, EMPTY, EMPTY);
898
+ step = step._2;
899
+ break;
900
+ case APPLY:
901
+ if (head) {
902
+ tail = new Aff(CONS, head, tail);
903
+ }
904
+ head = new Aff(APPLY, EMPTY, step._2, EMPTY);
905
+ step = step._1;
906
+ break;
907
+ case ALT:
908
+ if (head) {
909
+ tail = new Aff(CONS, head, tail);
910
+ }
911
+ head = new Aff(ALT, EMPTY, step._2, EMPTY);
912
+ step = step._1;
913
+ break;
914
+ default:
915
+ // When we hit a leaf value, we suspend the stack in the `FORKED`.
916
+ // When the fiber resolves, it can bubble back up the tree.
917
+ fid = fiberId++;
918
+ status = RETURN;
919
+ tmp = step;
920
+ step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);
921
+ tmp = Fiber(util, supervisor, tmp);
922
+ tmp.onComplete({
923
+ rethrow: false,
924
+ handler: resolve(step)
925
+ })();
926
+ fibers[fid] = tmp;
927
+ if (supervisor) {
928
+ supervisor.register(tmp);
929
+ }
930
+ }
931
+ break;
932
+ case RETURN:
933
+ // Terminal case, we are back at the root.
934
+ if (head === null) {
935
+ break loop;
936
+ }
937
+ // If we are done with the right side, we need to continue down the
938
+ // left. Otherwise we should continue up the stack.
939
+ if (head._1 === EMPTY) {
940
+ head._1 = step;
941
+ status = CONTINUE;
942
+ step = head._2;
943
+ head._2 = EMPTY;
944
+ } else {
945
+ head._2 = step;
946
+ step = head;
947
+ if (tail === null) {
948
+ head = null;
949
+ } else {
950
+ head = tail._1;
951
+ tail = tail._2;
952
+ }
953
+ }
954
+ }
955
+ }
956
+
957
+ // Keep a reference to the tree root so it can be cancelled.
958
+ root = step;
959
+
960
+ for (fid = 0; fid < fiberId; fid++) {
961
+ fibers[fid].run();
962
+ }
963
+ }
964
+
965
+ // Cancels the entire tree. If there are already subtrees being canceled,
966
+ // we need to first cancel those joins. We will then add fresh joins for
967
+ // all pending branches including those that were in the process of being
968
+ // canceled.
969
+ function cancel(error, cb) {
970
+ interrupt = util.left(error);
971
+ var innerKills;
972
+ for (var kid in kills) {
973
+ if (kills.hasOwnProperty(kid)) {
974
+ innerKills = kills[kid];
975
+ for (kid in innerKills) {
976
+ if (innerKills.hasOwnProperty(kid)) {
977
+ innerKills[kid]();
978
+ }
979
+ }
980
+ }
981
+ }
982
+
983
+ kills = null;
984
+ var newKills = kill(error, root, cb);
985
+
986
+ return function (killError) {
987
+ return new Aff(ASYNC, function (killCb) {
988
+ return function () {
989
+ for (var kid in newKills) {
990
+ if (newKills.hasOwnProperty(kid)) {
991
+ newKills[kid]();
992
+ }
993
+ }
994
+ return nonCanceler;
995
+ };
996
+ });
997
+ };
998
+ }
999
+
1000
+ run();
1001
+
1002
+ return function (killError) {
1003
+ return new Aff(ASYNC, function (killCb) {
1004
+ return function () {
1005
+ return cancel(killError, killCb);
1006
+ };
1007
+ });
1008
+ };
1009
+ }
1010
+
1011
+ function sequential(util, supervisor, par) {
1012
+ return new Aff(ASYNC, function (cb) {
1013
+ return function () {
1014
+ return runPar(util, supervisor, par, cb);
1015
+ };
1016
+ });
1017
+ }
1018
+
1019
+ Aff.EMPTY = EMPTY;
1020
+ Aff.Pure = AffCtr(PURE);
1021
+ Aff.Throw = AffCtr(THROW);
1022
+ Aff.Catch = AffCtr(CATCH);
1023
+ Aff.Sync = AffCtr(SYNC);
1024
+ Aff.Async = AffCtr(ASYNC);
1025
+ Aff.Bind = AffCtr(BIND);
1026
+ Aff.Bracket = AffCtr(BRACKET);
1027
+ Aff.Fork = AffCtr(FORK);
1028
+ Aff.Seq = AffCtr(SEQ);
1029
+ Aff.ParMap = AffCtr(MAP);
1030
+ Aff.ParApply = AffCtr(APPLY);
1031
+ Aff.ParAlt = AffCtr(ALT);
1032
+ Aff.Fiber = Fiber;
1033
+ Aff.Supervisor = Supervisor;
1034
+ Aff.Scheduler = Scheduler;
1035
+ Aff.nonCanceler = nonCanceler;
1036
+
1037
+ return Aff;
1038
+ }();
1039
+
1040
+ export const _pure = Aff.Pure;
1041
+ export const _throwError = Aff.Throw;
1042
+
1043
+ export function _catchError(aff) {
1044
+ return function (k) {
1045
+ return Aff.Catch(aff, k);
1046
+ };
1047
+ }
1048
+
1049
+ export function _map(f) {
1050
+ return function (aff) {
1051
+ if (aff.tag === Aff.Pure.tag) {
1052
+ return Aff.Pure(f(aff._1));
1053
+ } else {
1054
+ return Aff.Bind(aff, function (value) {
1055
+ return Aff.Pure(f(value));
1056
+ });
1057
+ }
1058
+ };
1059
+ }
1060
+
1061
+ export function _bind(aff) {
1062
+ return function (k) {
1063
+ return Aff.Bind(aff, k);
1064
+ };
1065
+ }
1066
+
1067
+ export function _fork(immediate) {
1068
+ return function (aff) {
1069
+ return Aff.Fork(immediate, aff);
1070
+ };
1071
+ }
1072
+
1073
+ export const _liftEffect = Aff.Sync;
1074
+
1075
+ export function _parAffMap(f) {
1076
+ return function (aff) {
1077
+ return Aff.ParMap(f, aff);
1078
+ };
1079
+ }
1080
+
1081
+ export function _parAffApply(aff1) {
1082
+ return function (aff2) {
1083
+ return Aff.ParApply(aff1, aff2);
1084
+ };
1085
+ }
1086
+
1087
+ export function _parAffAlt(aff1) {
1088
+ return function (aff2) {
1089
+ return Aff.ParAlt(aff1, aff2);
1090
+ };
1091
+ }
1092
+
1093
+ export const makeAff = Aff.Async;
1094
+
1095
+ export function generalBracket(acquire) {
1096
+ return function (options) {
1097
+ return function (k) {
1098
+ return Aff.Bracket(acquire, options, k);
1099
+ };
1100
+ };
1101
+ }
1102
+
1103
+ export function _makeFiber(util, aff) {
1104
+ return function () {
1105
+ return Aff.Fiber(util, null, aff);
1106
+ };
1107
+ }
1108
+
1109
+ export function _makeSupervisedFiber(util, aff) {
1110
+ return function () {
1111
+ var supervisor = Aff.Supervisor(util);
1112
+ return {
1113
+ fiber: Aff.Fiber(util, supervisor, aff),
1114
+ supervisor: supervisor
1115
+ };
1116
+ };
1117
+ }
1118
+
1119
+ export function _killAll(error, supervisor, cb) {
1120
+ return supervisor.killAll(error, cb);
1121
+ }
1122
+
1123
+ export const _delay = function () {
1124
+ function setDelay(n, k) {
1125
+ if (n === 0 && typeof setImmediate !== "undefined") {
1126
+ return setImmediate(k);
1127
+ } else {
1128
+ return setTimeout(k, n);
1129
+ }
1130
+ }
1131
+
1132
+ function clearDelay(n, t) {
1133
+ if (n === 0 && typeof clearImmediate !== "undefined") {
1134
+ return clearImmediate(t);
1135
+ } else {
1136
+ return clearTimeout(t);
1137
+ }
1138
+ }
1139
+
1140
+ return function (right, ms) {
1141
+ return Aff.Async(function (cb) {
1142
+ return function () {
1143
+ var timer = setDelay(ms, cb(right()));
1144
+ return function () {
1145
+ return Aff.Sync(function () {
1146
+ return right(clearDelay(ms, timer));
1147
+ });
1148
+ };
1149
+ };
1150
+ });
1151
+ };
1152
+ }();
1153
+
1154
+ export const _sequential = Aff.Seq;