@effectionx/worker 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/dist/message-channel.d.ts.map +1 -0
  2. package/dist/mod.d.ts +4 -0
  3. package/dist/mod.d.ts.map +1 -0
  4. package/{esm → dist}/mod.js +1 -0
  5. package/dist/test-simple-worker.d.ts +2 -0
  6. package/dist/test-simple-worker.d.ts.map +1 -0
  7. package/dist/test-simple-worker.js +11 -0
  8. package/dist/tsconfig.tsbuildinfo +1 -0
  9. package/dist/types.d.ts.map +1 -0
  10. package/{esm → dist}/worker-main.d.ts +1 -1
  11. package/dist/worker-main.d.ts.map +1 -0
  12. package/{esm → dist}/worker-main.js +34 -16
  13. package/dist/worker.d.ts.map +1 -0
  14. package/{esm → dist}/worker.js +3 -4
  15. package/message-channel.ts +13 -0
  16. package/mod.ts +3 -0
  17. package/package.json +22 -16
  18. package/test-assets/boom-result-worker.ts +5 -0
  19. package/test-assets/boom-worker.ts +7 -0
  20. package/test-assets/counter-worker.ts +15 -0
  21. package/test-assets/crash-worker.ts +1 -0
  22. package/test-assets/echo-worker.ts +7 -0
  23. package/test-assets/result-worker.ts +5 -0
  24. package/test-assets/shutdown-worker.ts +24 -0
  25. package/test-assets/suspend-worker.ts +4 -0
  26. package/test-simple-worker.ts +12 -0
  27. package/tsconfig.json +20 -0
  28. package/types.ts +38 -0
  29. package/worker-main.ts +248 -0
  30. package/worker.test.ts +179 -0
  31. package/worker.ts +159 -0
  32. package/esm/_dnt.shims.d.ts +0 -2
  33. package/esm/_dnt.shims.d.ts.map +0 -1
  34. package/esm/_dnt.shims.js +0 -57
  35. package/esm/deps/jsr.io/@std/assert/1.0.16/almost_equals.d.ts +0 -29
  36. package/esm/deps/jsr.io/@std/assert/1.0.16/almost_equals.d.ts.map +0 -1
  37. package/esm/deps/jsr.io/@std/assert/1.0.16/almost_equals.js +0 -46
  38. package/esm/deps/jsr.io/@std/assert/1.0.16/array_includes.d.ts +0 -24
  39. package/esm/deps/jsr.io/@std/assert/1.0.16/array_includes.d.ts.map +0 -1
  40. package/esm/deps/jsr.io/@std/assert/1.0.16/array_includes.js +0 -46
  41. package/esm/deps/jsr.io/@std/assert/1.0.16/assert.d.ts +0 -16
  42. package/esm/deps/jsr.io/@std/assert/1.0.16/assert.d.ts.map +0 -1
  43. package/esm/deps/jsr.io/@std/assert/1.0.16/assert.js +0 -22
  44. package/esm/deps/jsr.io/@std/assert/1.0.16/assertion_error.d.ts +0 -26
  45. package/esm/deps/jsr.io/@std/assert/1.0.16/assertion_error.d.ts.map +0 -1
  46. package/esm/deps/jsr.io/@std/assert/1.0.16/assertion_error.js +0 -30
  47. package/esm/deps/jsr.io/@std/assert/1.0.16/equal.d.ts +0 -17
  48. package/esm/deps/jsr.io/@std/assert/1.0.16/equal.d.ts.map +0 -1
  49. package/esm/deps/jsr.io/@std/assert/1.0.16/equal.js +0 -186
  50. package/esm/deps/jsr.io/@std/assert/1.0.16/equals.d.ts +0 -35
  51. package/esm/deps/jsr.io/@std/assert/1.0.16/equals.d.ts.map +0 -1
  52. package/esm/deps/jsr.io/@std/assert/1.0.16/equals.js +0 -59
  53. package/esm/deps/jsr.io/@std/assert/1.0.16/exists.d.ts +0 -18
  54. package/esm/deps/jsr.io/@std/assert/1.0.16/exists.d.ts.map +0 -1
  55. package/esm/deps/jsr.io/@std/assert/1.0.16/exists.js +0 -27
  56. package/esm/deps/jsr.io/@std/assert/1.0.16/fail.d.ts +0 -15
  57. package/esm/deps/jsr.io/@std/assert/1.0.16/fail.d.ts.map +0 -1
  58. package/esm/deps/jsr.io/@std/assert/1.0.16/fail.js +0 -20
  59. package/esm/deps/jsr.io/@std/assert/1.0.16/false.d.ts +0 -18
  60. package/esm/deps/jsr.io/@std/assert/1.0.16/false.d.ts.map +0 -1
  61. package/esm/deps/jsr.io/@std/assert/1.0.16/false.js +0 -22
  62. package/esm/deps/jsr.io/@std/assert/1.0.16/greater.d.ts +0 -20
  63. package/esm/deps/jsr.io/@std/assert/1.0.16/greater.d.ts.map +0 -1
  64. package/esm/deps/jsr.io/@std/assert/1.0.16/greater.js +0 -29
  65. package/esm/deps/jsr.io/@std/assert/1.0.16/greater_or_equal.d.ts +0 -20
  66. package/esm/deps/jsr.io/@std/assert/1.0.16/greater_or_equal.d.ts.map +0 -1
  67. package/esm/deps/jsr.io/@std/assert/1.0.16/greater_or_equal.js +0 -29
  68. package/esm/deps/jsr.io/@std/assert/1.0.16/instance_of.d.ts +0 -23
  69. package/esm/deps/jsr.io/@std/assert/1.0.16/instance_of.d.ts.map +0 -1
  70. package/esm/deps/jsr.io/@std/assert/1.0.16/instance_of.js +0 -52
  71. package/esm/deps/jsr.io/@std/assert/1.0.16/is_error.d.ts +0 -25
  72. package/esm/deps/jsr.io/@std/assert/1.0.16/is_error.d.ts.map +0 -1
  73. package/esm/deps/jsr.io/@std/assert/1.0.16/is_error.js +0 -53
  74. package/esm/deps/jsr.io/@std/assert/1.0.16/less.d.ts +0 -19
  75. package/esm/deps/jsr.io/@std/assert/1.0.16/less.d.ts.map +0 -1
  76. package/esm/deps/jsr.io/@std/assert/1.0.16/less.js +0 -28
  77. package/esm/deps/jsr.io/@std/assert/1.0.16/less_or_equal.d.ts +0 -20
  78. package/esm/deps/jsr.io/@std/assert/1.0.16/less_or_equal.d.ts.map +0 -1
  79. package/esm/deps/jsr.io/@std/assert/1.0.16/less_or_equal.js +0 -29
  80. package/esm/deps/jsr.io/@std/assert/1.0.16/match.d.ts +0 -18
  81. package/esm/deps/jsr.io/@std/assert/1.0.16/match.d.ts.map +0 -1
  82. package/esm/deps/jsr.io/@std/assert/1.0.16/match.js +0 -26
  83. package/esm/deps/jsr.io/@std/assert/1.0.16/mod.d.ts +0 -44
  84. package/esm/deps/jsr.io/@std/assert/1.0.16/mod.d.ts.map +0 -1
  85. package/esm/deps/jsr.io/@std/assert/1.0.16/mod.js +0 -45
  86. package/esm/deps/jsr.io/@std/assert/1.0.16/not_equals.d.ts +0 -21
  87. package/esm/deps/jsr.io/@std/assert/1.0.16/not_equals.d.ts.map +0 -1
  88. package/esm/deps/jsr.io/@std/assert/1.0.16/not_equals.js +0 -33
  89. package/esm/deps/jsr.io/@std/assert/1.0.16/not_instance_of.d.ts +0 -20
  90. package/esm/deps/jsr.io/@std/assert/1.0.16/not_instance_of.d.ts.map +0 -1
  91. package/esm/deps/jsr.io/@std/assert/1.0.16/not_instance_of.js +0 -29
  92. package/esm/deps/jsr.io/@std/assert/1.0.16/not_match.d.ts +0 -18
  93. package/esm/deps/jsr.io/@std/assert/1.0.16/not_match.d.ts.map +0 -1
  94. package/esm/deps/jsr.io/@std/assert/1.0.16/not_match.js +0 -26
  95. package/esm/deps/jsr.io/@std/assert/1.0.16/not_strict_equals.d.ts +0 -23
  96. package/esm/deps/jsr.io/@std/assert/1.0.16/not_strict_equals.d.ts.map +0 -1
  97. package/esm/deps/jsr.io/@std/assert/1.0.16/not_strict_equals.js +0 -32
  98. package/esm/deps/jsr.io/@std/assert/1.0.16/object_match.d.ts +0 -29
  99. package/esm/deps/jsr.io/@std/assert/1.0.16/object_match.d.ts.map +0 -1
  100. package/esm/deps/jsr.io/@std/assert/1.0.16/object_match.js +0 -167
  101. package/esm/deps/jsr.io/@std/assert/1.0.16/rejects.d.ts +0 -42
  102. package/esm/deps/jsr.io/@std/assert/1.0.16/rejects.d.ts.map +0 -1
  103. package/esm/deps/jsr.io/@std/assert/1.0.16/rejects.js +0 -53
  104. package/esm/deps/jsr.io/@std/assert/1.0.16/strict_equals.d.ts +0 -24
  105. package/esm/deps/jsr.io/@std/assert/1.0.16/strict_equals.d.ts.map +0 -1
  106. package/esm/deps/jsr.io/@std/assert/1.0.16/strict_equals.js +0 -58
  107. package/esm/deps/jsr.io/@std/assert/1.0.16/string_includes.d.ts +0 -18
  108. package/esm/deps/jsr.io/@std/assert/1.0.16/string_includes.d.ts.map +0 -1
  109. package/esm/deps/jsr.io/@std/assert/1.0.16/string_includes.js +0 -26
  110. package/esm/deps/jsr.io/@std/assert/1.0.16/throws.d.ts +0 -45
  111. package/esm/deps/jsr.io/@std/assert/1.0.16/throws.d.ts.map +0 -1
  112. package/esm/deps/jsr.io/@std/assert/1.0.16/throws.js +0 -44
  113. package/esm/deps/jsr.io/@std/assert/1.0.16/unimplemented.d.ts +0 -15
  114. package/esm/deps/jsr.io/@std/assert/1.0.16/unimplemented.d.ts.map +0 -1
  115. package/esm/deps/jsr.io/@std/assert/1.0.16/unimplemented.js +0 -20
  116. package/esm/deps/jsr.io/@std/assert/1.0.16/unreachable.d.ts +0 -15
  117. package/esm/deps/jsr.io/@std/assert/1.0.16/unreachable.d.ts.map +0 -1
  118. package/esm/deps/jsr.io/@std/assert/1.0.16/unreachable.js +0 -20
  119. package/esm/deps/jsr.io/@std/internal/1.0.12/build_message.d.ts +0 -80
  120. package/esm/deps/jsr.io/@std/internal/1.0.12/build_message.d.ts.map +0 -1
  121. package/esm/deps/jsr.io/@std/internal/1.0.12/build_message.js +0 -116
  122. package/esm/deps/jsr.io/@std/internal/1.0.12/diff.d.ts +0 -140
  123. package/esm/deps/jsr.io/@std/internal/1.0.12/diff.d.ts.map +0 -1
  124. package/esm/deps/jsr.io/@std/internal/1.0.12/diff.js +0 -276
  125. package/esm/deps/jsr.io/@std/internal/1.0.12/diff_str.d.ts +0 -99
  126. package/esm/deps/jsr.io/@std/internal/1.0.12/diff_str.d.ts.map +0 -1
  127. package/esm/deps/jsr.io/@std/internal/1.0.12/diff_str.js +0 -182
  128. package/esm/deps/jsr.io/@std/internal/1.0.12/format.d.ts +0 -29
  129. package/esm/deps/jsr.io/@std/internal/1.0.12/format.d.ts.map +0 -1
  130. package/esm/deps/jsr.io/@std/internal/1.0.12/format.js +0 -70
  131. package/esm/deps/jsr.io/@std/internal/1.0.12/styles.d.ts +0 -159
  132. package/esm/deps/jsr.io/@std/internal/1.0.12/styles.d.ts.map +0 -1
  133. package/esm/deps/jsr.io/@std/internal/1.0.12/styles.js +0 -207
  134. package/esm/deps/jsr.io/@std/internal/1.0.12/types.d.ts +0 -25
  135. package/esm/deps/jsr.io/@std/internal/1.0.12/types.d.ts.map +0 -1
  136. package/esm/deps/jsr.io/@std/internal/1.0.12/types.js +0 -3
  137. package/esm/message-channel.d.ts.map +0 -1
  138. package/esm/mod.d.ts +0 -3
  139. package/esm/mod.d.ts.map +0 -1
  140. package/esm/package.json +0 -3
  141. package/esm/types.d.ts.map +0 -1
  142. package/esm/worker-main.d.ts.map +0 -1
  143. package/esm/worker.d.ts.map +0 -1
  144. package/script/_dnt.shims.d.ts +0 -2
  145. package/script/_dnt.shims.d.ts.map +0 -1
  146. package/script/_dnt.shims.js +0 -60
  147. package/script/deps/jsr.io/@std/assert/1.0.16/almost_equals.d.ts +0 -29
  148. package/script/deps/jsr.io/@std/assert/1.0.16/almost_equals.d.ts.map +0 -1
  149. package/script/deps/jsr.io/@std/assert/1.0.16/almost_equals.js +0 -49
  150. package/script/deps/jsr.io/@std/assert/1.0.16/array_includes.d.ts +0 -24
  151. package/script/deps/jsr.io/@std/assert/1.0.16/array_includes.d.ts.map +0 -1
  152. package/script/deps/jsr.io/@std/assert/1.0.16/array_includes.js +0 -49
  153. package/script/deps/jsr.io/@std/assert/1.0.16/assert.d.ts +0 -16
  154. package/script/deps/jsr.io/@std/assert/1.0.16/assert.d.ts.map +0 -1
  155. package/script/deps/jsr.io/@std/assert/1.0.16/assert.js +0 -25
  156. package/script/deps/jsr.io/@std/assert/1.0.16/assertion_error.d.ts +0 -26
  157. package/script/deps/jsr.io/@std/assert/1.0.16/assertion_error.d.ts.map +0 -1
  158. package/script/deps/jsr.io/@std/assert/1.0.16/assertion_error.js +0 -34
  159. package/script/deps/jsr.io/@std/assert/1.0.16/equal.d.ts +0 -17
  160. package/script/deps/jsr.io/@std/assert/1.0.16/equal.d.ts.map +0 -1
  161. package/script/deps/jsr.io/@std/assert/1.0.16/equal.js +0 -222
  162. package/script/deps/jsr.io/@std/assert/1.0.16/equals.d.ts +0 -35
  163. package/script/deps/jsr.io/@std/assert/1.0.16/equals.d.ts.map +0 -1
  164. package/script/deps/jsr.io/@std/assert/1.0.16/equals.js +0 -62
  165. package/script/deps/jsr.io/@std/assert/1.0.16/exists.d.ts +0 -18
  166. package/script/deps/jsr.io/@std/assert/1.0.16/exists.d.ts.map +0 -1
  167. package/script/deps/jsr.io/@std/assert/1.0.16/exists.js +0 -30
  168. package/script/deps/jsr.io/@std/assert/1.0.16/fail.d.ts +0 -15
  169. package/script/deps/jsr.io/@std/assert/1.0.16/fail.d.ts.map +0 -1
  170. package/script/deps/jsr.io/@std/assert/1.0.16/fail.js +0 -23
  171. package/script/deps/jsr.io/@std/assert/1.0.16/false.d.ts +0 -18
  172. package/script/deps/jsr.io/@std/assert/1.0.16/false.d.ts.map +0 -1
  173. package/script/deps/jsr.io/@std/assert/1.0.16/false.js +0 -25
  174. package/script/deps/jsr.io/@std/assert/1.0.16/greater.d.ts +0 -20
  175. package/script/deps/jsr.io/@std/assert/1.0.16/greater.d.ts.map +0 -1
  176. package/script/deps/jsr.io/@std/assert/1.0.16/greater.js +0 -32
  177. package/script/deps/jsr.io/@std/assert/1.0.16/greater_or_equal.d.ts +0 -20
  178. package/script/deps/jsr.io/@std/assert/1.0.16/greater_or_equal.d.ts.map +0 -1
  179. package/script/deps/jsr.io/@std/assert/1.0.16/greater_or_equal.js +0 -32
  180. package/script/deps/jsr.io/@std/assert/1.0.16/instance_of.d.ts +0 -23
  181. package/script/deps/jsr.io/@std/assert/1.0.16/instance_of.d.ts.map +0 -1
  182. package/script/deps/jsr.io/@std/assert/1.0.16/instance_of.js +0 -55
  183. package/script/deps/jsr.io/@std/assert/1.0.16/is_error.d.ts +0 -25
  184. package/script/deps/jsr.io/@std/assert/1.0.16/is_error.d.ts.map +0 -1
  185. package/script/deps/jsr.io/@std/assert/1.0.16/is_error.js +0 -56
  186. package/script/deps/jsr.io/@std/assert/1.0.16/less.d.ts +0 -19
  187. package/script/deps/jsr.io/@std/assert/1.0.16/less.d.ts.map +0 -1
  188. package/script/deps/jsr.io/@std/assert/1.0.16/less.js +0 -31
  189. package/script/deps/jsr.io/@std/assert/1.0.16/less_or_equal.d.ts +0 -20
  190. package/script/deps/jsr.io/@std/assert/1.0.16/less_or_equal.d.ts.map +0 -1
  191. package/script/deps/jsr.io/@std/assert/1.0.16/less_or_equal.js +0 -32
  192. package/script/deps/jsr.io/@std/assert/1.0.16/match.d.ts +0 -18
  193. package/script/deps/jsr.io/@std/assert/1.0.16/match.d.ts.map +0 -1
  194. package/script/deps/jsr.io/@std/assert/1.0.16/match.js +0 -29
  195. package/script/deps/jsr.io/@std/assert/1.0.16/mod.d.ts +0 -44
  196. package/script/deps/jsr.io/@std/assert/1.0.16/mod.d.ts.map +0 -1
  197. package/script/deps/jsr.io/@std/assert/1.0.16/mod.js +0 -61
  198. package/script/deps/jsr.io/@std/assert/1.0.16/not_equals.d.ts +0 -21
  199. package/script/deps/jsr.io/@std/assert/1.0.16/not_equals.d.ts.map +0 -1
  200. package/script/deps/jsr.io/@std/assert/1.0.16/not_equals.js +0 -36
  201. package/script/deps/jsr.io/@std/assert/1.0.16/not_instance_of.d.ts +0 -20
  202. package/script/deps/jsr.io/@std/assert/1.0.16/not_instance_of.d.ts.map +0 -1
  203. package/script/deps/jsr.io/@std/assert/1.0.16/not_instance_of.js +0 -32
  204. package/script/deps/jsr.io/@std/assert/1.0.16/not_match.d.ts +0 -18
  205. package/script/deps/jsr.io/@std/assert/1.0.16/not_match.d.ts.map +0 -1
  206. package/script/deps/jsr.io/@std/assert/1.0.16/not_match.js +0 -29
  207. package/script/deps/jsr.io/@std/assert/1.0.16/not_strict_equals.d.ts +0 -23
  208. package/script/deps/jsr.io/@std/assert/1.0.16/not_strict_equals.d.ts.map +0 -1
  209. package/script/deps/jsr.io/@std/assert/1.0.16/not_strict_equals.js +0 -35
  210. package/script/deps/jsr.io/@std/assert/1.0.16/object_match.d.ts +0 -29
  211. package/script/deps/jsr.io/@std/assert/1.0.16/object_match.d.ts.map +0 -1
  212. package/script/deps/jsr.io/@std/assert/1.0.16/object_match.js +0 -170
  213. package/script/deps/jsr.io/@std/assert/1.0.16/rejects.d.ts +0 -42
  214. package/script/deps/jsr.io/@std/assert/1.0.16/rejects.d.ts.map +0 -1
  215. package/script/deps/jsr.io/@std/assert/1.0.16/rejects.js +0 -56
  216. package/script/deps/jsr.io/@std/assert/1.0.16/strict_equals.d.ts +0 -24
  217. package/script/deps/jsr.io/@std/assert/1.0.16/strict_equals.d.ts.map +0 -1
  218. package/script/deps/jsr.io/@std/assert/1.0.16/strict_equals.js +0 -61
  219. package/script/deps/jsr.io/@std/assert/1.0.16/string_includes.d.ts +0 -18
  220. package/script/deps/jsr.io/@std/assert/1.0.16/string_includes.d.ts.map +0 -1
  221. package/script/deps/jsr.io/@std/assert/1.0.16/string_includes.js +0 -29
  222. package/script/deps/jsr.io/@std/assert/1.0.16/throws.d.ts +0 -45
  223. package/script/deps/jsr.io/@std/assert/1.0.16/throws.d.ts.map +0 -1
  224. package/script/deps/jsr.io/@std/assert/1.0.16/throws.js +0 -47
  225. package/script/deps/jsr.io/@std/assert/1.0.16/unimplemented.d.ts +0 -15
  226. package/script/deps/jsr.io/@std/assert/1.0.16/unimplemented.d.ts.map +0 -1
  227. package/script/deps/jsr.io/@std/assert/1.0.16/unimplemented.js +0 -23
  228. package/script/deps/jsr.io/@std/assert/1.0.16/unreachable.d.ts +0 -15
  229. package/script/deps/jsr.io/@std/assert/1.0.16/unreachable.d.ts.map +0 -1
  230. package/script/deps/jsr.io/@std/assert/1.0.16/unreachable.js +0 -23
  231. package/script/deps/jsr.io/@std/internal/1.0.12/build_message.d.ts +0 -80
  232. package/script/deps/jsr.io/@std/internal/1.0.12/build_message.d.ts.map +0 -1
  233. package/script/deps/jsr.io/@std/internal/1.0.12/build_message.js +0 -121
  234. package/script/deps/jsr.io/@std/internal/1.0.12/diff.d.ts +0 -140
  235. package/script/deps/jsr.io/@std/internal/1.0.12/diff.d.ts.map +0 -1
  236. package/script/deps/jsr.io/@std/internal/1.0.12/diff.js +0 -283
  237. package/script/deps/jsr.io/@std/internal/1.0.12/diff_str.d.ts +0 -99
  238. package/script/deps/jsr.io/@std/internal/1.0.12/diff_str.d.ts.map +0 -1
  239. package/script/deps/jsr.io/@std/internal/1.0.12/diff_str.js +0 -188
  240. package/script/deps/jsr.io/@std/internal/1.0.12/format.d.ts +0 -29
  241. package/script/deps/jsr.io/@std/internal/1.0.12/format.d.ts.map +0 -1
  242. package/script/deps/jsr.io/@std/internal/1.0.12/format.js +0 -106
  243. package/script/deps/jsr.io/@std/internal/1.0.12/styles.d.ts +0 -159
  244. package/script/deps/jsr.io/@std/internal/1.0.12/styles.d.ts.map +0 -1
  245. package/script/deps/jsr.io/@std/internal/1.0.12/styles.js +0 -252
  246. package/script/deps/jsr.io/@std/internal/1.0.12/types.d.ts +0 -25
  247. package/script/deps/jsr.io/@std/internal/1.0.12/types.d.ts.map +0 -1
  248. package/script/deps/jsr.io/@std/internal/1.0.12/types.js +0 -4
  249. package/script/message-channel.d.ts +0 -3
  250. package/script/message-channel.d.ts.map +0 -1
  251. package/script/message-channel.js +0 -16
  252. package/script/mod.d.ts +0 -3
  253. package/script/mod.d.ts.map +0 -1
  254. package/script/mod.js +0 -18
  255. package/script/package.json +0 -3
  256. package/script/types.d.ts +0 -33
  257. package/script/types.d.ts.map +0 -1
  258. package/script/types.js +0 -2
  259. package/script/worker-main.d.ts +0 -84
  260. package/script/worker-main.d.ts.map +0 -1
  261. package/script/worker-main.js +0 -190
  262. package/script/worker.d.ts +0 -63
  263. package/script/worker.d.ts.map +0 -1
  264. package/script/worker.js +0 -124
  265. /package/{esm → dist}/message-channel.d.ts +0 -0
  266. /package/{esm → dist}/message-channel.js +0 -0
  267. /package/{esm → dist}/types.d.ts +0 -0
  268. /package/{esm → dist}/types.js +0 -0
  269. /package/{esm → dist}/worker.d.ts +0 -0
@@ -1,63 +0,0 @@
1
- import { type Operation } from "effection";
2
- /**
3
- * Argument received by workerMain function
4
- *
5
- * @template TSend - value main thread will send to the worker
6
- * @template TRecv - value main thread will receive from the worker
7
- * @template TData - data passed from the main thread to the worker during initialization
8
- */
9
- export interface WorkerResource<TSend, TRecv, TReturn> extends Operation<TReturn> {
10
- send(data: TSend): Operation<TRecv>;
11
- }
12
- /**
13
- * Use on the main thread to create and exeecute a well behaved web worker.
14
- *
15
- * @example Compute a single value
16
- * ```ts
17
- * import { run } from "effection";
18
- * import { useWorker } from "@effectionx/worker"
19
- *
20
- * await run(function*() {
21
- * const worker = yield* useWorker("script.ts", { type: "module" });
22
- *
23
- * try {
24
- * const result = yield* worker;
25
- * } catch (e) {
26
- * console.error(e);
27
- * }
28
- * });
29
- * ```
30
- *
31
- * @example Compute multipe values
32
- * ```ts
33
- * import { run } from "effection";
34
- * import { useWorker } from "@effectionx/worker"
35
- *
36
- * await run(function*() {
37
- * const worker = yield* useWorker("script.ts", { type: "module" });
38
- *
39
- * try {
40
- * const result1 = yield* worker.send("Tom");
41
- * const result2 = yield* worker.send("Dick");
42
- * const result2 = yield* worker.send("Harry");
43
- *
44
- * // get the last result
45
- * const finalResult = yield* worker;
46
- * } catch (e) {
47
- * console.error(e);
48
- * }
49
- * });
50
- * ```
51
- *
52
- * @param url URL or string of script
53
- * @param options WorkerOptions
54
- * @template TSend - value main thread will send to the worker
55
- * @template TRecv - value main thread will receive from the worker
56
- * @template TReturn - worker operation return value
57
- * @template TData - data passed from the main thread to the worker during initialization
58
- * @returns {Operation<WorkerResource<TSend, TRecv>>}
59
- */
60
- export declare function useWorker<TSend, TRecv, TReturn, TData>(url: string | URL, options?: WorkerOptions & {
61
- data?: TData;
62
- }): Operation<WorkerResource<TSend, TRecv, TReturn>>;
63
- //# sourceMappingURL=worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,SAAS,EAKf,MAAM,WAAW,CAAC;AAInB;;;;;;GAMG;AACH,MAAM,WAAW,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CACnD,SAAQ,SAAS,CAAC,OAAO,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EACpD,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,OAAO,CAAC,EAAE,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,GACzC,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAgElD"}
package/script/worker.js DELETED
@@ -1,124 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useWorker = useWorker;
4
- const mod_js_1 = require("./deps/jsr.io/@std/assert/1.0.16/mod.js");
5
- const effection_1 = require("effection");
6
- const message_channel_js_1 = require("./message-channel.js");
7
- /**
8
- * Use on the main thread to create and exeecute a well behaved web worker.
9
- *
10
- * @example Compute a single value
11
- * ```ts
12
- * import { run } from "effection";
13
- * import { useWorker } from "@effectionx/worker"
14
- *
15
- * await run(function*() {
16
- * const worker = yield* useWorker("script.ts", { type: "module" });
17
- *
18
- * try {
19
- * const result = yield* worker;
20
- * } catch (e) {
21
- * console.error(e);
22
- * }
23
- * });
24
- * ```
25
- *
26
- * @example Compute multipe values
27
- * ```ts
28
- * import { run } from "effection";
29
- * import { useWorker } from "@effectionx/worker"
30
- *
31
- * await run(function*() {
32
- * const worker = yield* useWorker("script.ts", { type: "module" });
33
- *
34
- * try {
35
- * const result1 = yield* worker.send("Tom");
36
- * const result2 = yield* worker.send("Dick");
37
- * const result2 = yield* worker.send("Harry");
38
- *
39
- * // get the last result
40
- * const finalResult = yield* worker;
41
- * } catch (e) {
42
- * console.error(e);
43
- * }
44
- * });
45
- * ```
46
- *
47
- * @param url URL or string of script
48
- * @param options WorkerOptions
49
- * @template TSend - value main thread will send to the worker
50
- * @template TRecv - value main thread will receive from the worker
51
- * @template TReturn - worker operation return value
52
- * @template TData - data passed from the main thread to the worker during initialization
53
- * @returns {Operation<WorkerResource<TSend, TRecv>>}
54
- */
55
- function useWorker(url, options) {
56
- return (0, effection_1.resource)(function* (provide) {
57
- let outcome = (0, effection_1.withResolvers)();
58
- let worker = new Worker(url, options);
59
- let subscription = yield* (0, effection_1.on)(worker, "message");
60
- let onclose = (event) => {
61
- if (event.data.type === "close") {
62
- let { result } = event.data;
63
- if (result.ok) {
64
- outcome.resolve(result.value);
65
- }
66
- else {
67
- outcome.reject(result.error);
68
- }
69
- }
70
- };
71
- worker.addEventListener("message", onclose);
72
- let first = yield* subscription.next();
73
- (0, mod_js_1.assert)(first.value.data.type === "open", `expected first message to arrive from worker to be of type "open", but was: ${first.value.data.type}`);
74
- yield* (0, effection_1.spawn)(function* () {
75
- let event = yield* (0, effection_1.once)(worker, "error");
76
- event.preventDefault();
77
- throw event.error;
78
- });
79
- try {
80
- worker.postMessage({
81
- type: "init",
82
- data: options?.data,
83
- });
84
- yield* provide({
85
- *send(value) {
86
- let channel = yield* (0, message_channel_js_1.useMessageChannel)();
87
- worker.postMessage({
88
- type: "send",
89
- value,
90
- response: channel.port2,
91
- }, [channel.port2]);
92
- channel.port1.start();
93
- let event = yield* (0, effection_1.once)(channel.port1, "message");
94
- let result = event.data;
95
- if (result.ok) {
96
- return result.value;
97
- }
98
- else {
99
- throw result.error;
100
- }
101
- },
102
- [Symbol.iterator]: outcome.operation[Symbol.iterator],
103
- });
104
- }
105
- finally {
106
- worker.postMessage({ type: "close" });
107
- yield* settled(outcome.operation);
108
- worker.removeEventListener("message", onclose);
109
- }
110
- });
111
- }
112
- function settled(operation) {
113
- return {
114
- *[Symbol.iterator]() {
115
- try {
116
- yield* operation;
117
- return (0, effection_1.Ok)(void 0);
118
- }
119
- catch (error) {
120
- return (0, effection_1.Err)(error);
121
- }
122
- },
123
- };
124
- }
File without changes
File without changes
File without changes
File without changes
File without changes