nanoeffects 0.31.2 → 0.33.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 (66) hide show
  1. package/dist/{action-creator-6rlBTmH9.d.ts → action-creator-DprJV-pN.d.ts} +6 -2
  2. package/dist/actions.d.ts +3 -3
  3. package/dist/actions.js +1 -1
  4. package/dist/{bus-DFlmNJ6h.js → bus-Cmk4U1hQ.js} +1 -1
  5. package/dist/caller-DULg_ZYV.js +1 -0
  6. package/dist/context-Dp_QRXzb.js +1 -0
  7. package/dist/{context-types-DKNc5mkS.d.ts → context-types-BiTMp_lW.d.ts} +1 -1
  8. package/dist/context.d.ts +2 -2
  9. package/dist/dev.d.ts +2 -2
  10. package/dist/dev.js +2 -2
  11. package/dist/effects.d.ts +2 -2
  12. package/dist/effects.js +1 -1
  13. package/dist/guard.d.ts +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.js +1 -1
  16. package/dist/match.d.ts +1 -1
  17. package/dist/match.js +1 -1
  18. package/dist/{module-G39MaVOt.d.ts → module-DPKjzfRk.d.ts} +2 -2
  19. package/dist/notrace/{action-creator-BrMSO3RP.d.ts → action-creator-BWd9FWt6.d.ts} +2 -2
  20. package/dist/notrace/actions.d.ts +2 -2
  21. package/dist/notrace/actions.js +1 -1
  22. package/dist/notrace/effects.d.ts +2 -2
  23. package/dist/notrace/index.d.ts +1 -1
  24. package/dist/notrace/{plugin-7GUL2EW5.d.ts → plugin-DmAYT3Xk.d.ts} +1 -1
  25. package/dist/notrace/policies.d.ts +1 -1
  26. package/dist/notrace/redux.d.ts +1 -1
  27. package/dist/observable.d.ts +1 -1
  28. package/dist/oop.d.ts +1 -1
  29. package/dist/oop.js +1 -1
  30. package/dist/{plugin-BWNP23hr.d.ts → plugin-2d3uuW7o.d.ts} +2 -2
  31. package/dist/policies.d.ts +2 -2
  32. package/dist/policies.js +1 -1
  33. package/dist/react.d.ts +2 -2
  34. package/dist/react.js +1 -1
  35. package/dist/redux.d.ts +1 -1
  36. package/dist/scope.d.ts +2 -2
  37. package/dist/signal.d.ts +2 -2
  38. package/dist/signal.js +1 -1
  39. package/dist/svelte.d.ts +1 -1
  40. package/dist/testing.d.ts +80 -0
  41. package/dist/testing.js +1 -0
  42. package/dist/trace.d.ts +227 -44
  43. package/dist/trace.js +3 -3
  44. package/dist/tracer-v7m-Qah_.js +2 -0
  45. package/dist/{types-N_cdRr1r.d.ts → types-DxPZDzZG.d.ts} +2 -2
  46. package/dist/vue.d.ts +1 -1
  47. package/dist/{with-policy-CeM1rtES.js → with-policy-BmL0eRU3.js} +1 -1
  48. package/dist/{with-policy-CthiBp_z.d.ts → with-policy-Y12d-yx6.d.ts} +1 -1
  49. package/docs/debugging-cases.md +122 -0
  50. package/docs/debugging-loops.md +79 -0
  51. package/docs/migrating-from-rxjs.md +1 -1
  52. package/docs/package.md +2 -1
  53. package/docs/recipes.md +35 -0
  54. package/docs/ru/debugging-cases.md +122 -0
  55. package/docs/ru/debugging-loops.md +79 -0
  56. package/docs/ru/migrating-from-rxjs.md +1 -1
  57. package/docs/ru/package.md +2 -1
  58. package/docs/ru/recipes.md +35 -0
  59. package/docs/ru/testing.md +92 -0
  60. package/docs/ru/tracing.md +189 -3
  61. package/docs/testing.md +92 -0
  62. package/docs/tracing.md +189 -3
  63. package/llms-full.txt +528 -5
  64. package/llms.txt +4 -2
  65. package/package.json +12 -3
  66. package/dist/context-B5Z2RpJt.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nanoeffects",
3
- "version": "0.31.2",
3
+ "version": "0.33.0",
4
4
  "description": "Business logic and side effects outside UI components, as plain async functions. Tiny, no dependencies.",
5
5
  "keywords": [
6
6
  "event-bus",
@@ -114,6 +114,10 @@
114
114
  "types": "./dist/trace.d.ts",
115
115
  "import": "./dist/trace.js"
116
116
  },
117
+ "./testing": {
118
+ "types": "./dist/testing.d.ts",
119
+ "import": "./dist/testing.js"
120
+ },
117
121
  "./redux": {
118
122
  "notrace": {
119
123
  "types": "./dist/notrace/redux.d.ts",
@@ -232,7 +236,7 @@
232
236
  {
233
237
  "name": "actions (all)",
234
238
  "path": "dist/actions.js",
235
- "limit": "3.31 kB"
239
+ "limit": "3.4 kB"
236
240
  },
237
241
  {
238
242
  "name": "match (plugin)",
@@ -254,6 +258,11 @@
254
258
  "path": "dist/guard.js",
255
259
  "limit": "1 kB"
256
260
  },
261
+ {
262
+ "name": "testing (marble bus)",
263
+ "path": "dist/testing.js",
264
+ "limit": "4.1 kB"
265
+ },
257
266
  {
258
267
  "name": "trace: graphLogger",
259
268
  "path": "dist/trace.js",
@@ -263,7 +272,7 @@
263
272
  {
264
273
  "name": "oop (class entry)",
265
274
  "path": "dist/oop.js",
266
- "limit": "2.6 kB"
275
+ "limit": "2.62 kB"
267
276
  },
268
277
  {
269
278
  "name": "scope (plugin and effect)",
@@ -1 +0,0 @@
1
- import{t as e}from"./onAbort-BgMfspK4.js";import{t}from"./emit-key-C6FL7Ewn.js";const n=t=>{let n=new AbortController;return{controller:n,unlink:e({signal:t},e=>n.abort(e))}},r=typeof __NANOEFFECTS_TRACE__>`u`||__NANOEFFECTS_TRACE__,i=/* @__PURE__ */ new WeakMap;let a;const o=()=>a,s=()=>{},c=(e,t,n,a)=>{let o=r&&i.get(e);o&&o.tracer.report(o.ref,t,n,a)},l=(e,t)=>{let n=r&&i.get(e);n&&n.tracer.rename?.(n.ref,t)},u=(e,t)=>{let n=r&&i.get(e);return n?n.tracer.settler(n.ref,t):s},d=(e,t,n)=>{let a=r&&i.get(e);return a?a.tracer.run(a.ref,t,e.signal,n):n()},f=Symbol(`nanoeffects.addContext`),p=(e,t)=>typeof e==`function`?e(t):e,m=({event:o,bus:c,tracer:l,parent:u})=>{let{controller:h,unlink:g}=n(u?.signal),{signal:_}=h,v=r&&l?{tracer:l,ref:l.task(o,u?.ref)}:void 0,y=(...e)=>{if(_.aborted&&!S[t])return;let n=c?.emit,r=a;a=v?.ref;try{return n?.(...e)}finally{a=r}},b=(...t)=>{if(_.aborted)return s;let n=c?.on,r=n?.(...t);if(!r)return s;let i=e({signal:_},r);return()=>{i(),r()}},x=async(e,...t)=>{_.throwIfAborted();let n=t[0],r=m({event:{type:o.type,payload:n},bus:c,tracer:l,parent:{signal:_,ref:v?.ref}});try{return await d(r.ctx,`run`,()=>e(n,r.ctx))}finally{r.unlink()}},S={...p(c?.ctx,o),type:o.type,payload:o.payload,signal:_,abort:e=>h.abort(e),emit:y,on:b,off:c?.off??s,run:x,[f]:c?.addContext};return c?.addContext?.(S),v&&i.set(S,v),{ctx:S,unlink:g}},h=(e,t)=>{let n=r?i.get(e):void 0;return m({event:{type:t??e.type??``,payload:e.payload},bus:{emit:e.emit,on:e.on,off:e.off,ctx:e,addContext:Reflect.get(e,f)},tracer:n?.tracer,parent:{signal:e.signal,ref:n?.ref}})};export{l as a,r as c,h as i,m as n,d as o,o as r,c as s,u as t};