nanoeffects 0.21.0 → 0.23.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.
- package/dist/actions.d.ts +2 -2
- package/dist/actions.js +1 -1
- package/dist/{bus-duCCrqrr.js → bus-hHp-T7JV.js} +1 -1
- package/dist/context-UcmrAIhP.js +1 -0
- package/dist/{notrace/delay-BosJKFjg.js → delay-mxZkTg17.js} +1 -1
- package/dist/dev.d.ts +1 -1
- package/dist/effects.d.ts +4 -4
- package/dist/effects.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{module-B0KVDNjY.d.ts → module-D1VVKbE0.d.ts} +1 -1
- package/dist/notrace/actions.d.ts +1 -1
- package/dist/notrace/actions.js +1 -1
- package/dist/notrace/{bus-BkUtjPHp.js → bus-BdyvumpX.js} +1 -1
- package/dist/notrace/context-_HWcdjZf.js +1 -0
- package/dist/{delay-BnBdGPh7.js → notrace/delay-CqKplsaY.js} +1 -1
- package/dist/notrace/effects.d.ts +4 -4
- package/dist/notrace/effects.js +1 -1
- package/dist/notrace/index.js +1 -1
- package/dist/notrace/{plugin-C6KA4dX-.d.ts → plugin-BEvYzo8Q.d.ts} +52 -29
- package/dist/notrace/policies.js +1 -1
- package/dist/oop.js +1 -1
- package/dist/{plugin-D9UTzGRG.d.ts → plugin-BZK83Z3N.d.ts} +52 -29
- package/dist/policies.js +1 -1
- package/dist/react.js +1 -1
- package/dist/scope.d.ts +1 -1
- package/dist/scope.js +1 -1
- package/dist/signal.js +1 -1
- package/dist/svelte.d.ts +46 -0
- package/dist/svelte.js +1 -0
- package/dist/trace.js +1 -1
- package/dist/{types-CbdJKC2z.d.ts → types-CBoV9m7W.d.ts} +1 -1
- package/dist/{with-policy-CW50Edgk.js → with-policy-D-SQRkPh.js} +1 -1
- package/docs/README.md +3 -0
- package/docs/actions.md +1 -1
- package/docs/chat-example.md +33 -27
- package/docs/effects.md +36 -5
- package/docs/migrating-from-rxjs.md +2 -2
- package/docs/migrating-from-saga.md +3 -1
- package/docs/package.md +1 -0
- package/docs/server.md +205 -0
- package/docs/starter.md +3 -3
- package/docs/stores.md +1 -1
- package/docs/svelte.md +81 -0
- package/llms-full.txt +375 -41
- package/llms.txt +4 -2
- package/package.json +24 -4
- package/dist/context-CJGW6OWj.js +0 -1
- package/dist/notrace/context-yYU3_9lq.js +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nanoeffects",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Cancel stale async work and fix race conditions in event handlers: a typed event bus where every handler is a task with an AbortSignal, plus latest, debounce, throttle, queue, retry, timeout and poll. About 1.4 kB gzip.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"event-bus",
|
|
@@ -126,6 +126,10 @@
|
|
|
126
126
|
"types": "./dist/react.d.ts",
|
|
127
127
|
"import": "./dist/react.js"
|
|
128
128
|
},
|
|
129
|
+
"./svelte": {
|
|
130
|
+
"types": "./dist/svelte.d.ts",
|
|
131
|
+
"import": "./dist/svelte.js"
|
|
132
|
+
},
|
|
129
133
|
"./vue": {
|
|
130
134
|
"types": "./dist/vue.d.ts",
|
|
131
135
|
"import": "./dist/vue.js"
|
|
@@ -163,14 +167,17 @@
|
|
|
163
167
|
"@biomejs/biome": "2.5.15",
|
|
164
168
|
"@commitlint/cli": "21.2.3",
|
|
165
169
|
"@commitlint/config-conventional": "21.2.3",
|
|
170
|
+
"@fastify/websocket": "^11.3.4",
|
|
166
171
|
"@reduxjs/toolkit": "^2.13.0",
|
|
167
172
|
"@size-limit/esbuild": "^14.2.0",
|
|
168
173
|
"@size-limit/file": "^14.2.0",
|
|
169
174
|
"@tanstack/react-query": "^5.105.0",
|
|
170
175
|
"@types/react": "^19.3.0",
|
|
171
176
|
"@types/react-dom": "^19.3.0",
|
|
177
|
+
"@types/ws": "^8.18.2",
|
|
172
178
|
"@vitejs/plugin-react": "^6.1.2",
|
|
173
179
|
"archunit": "^2.5.4",
|
|
180
|
+
"fastify": "^5.12.7",
|
|
174
181
|
"happy-dom": "^21.0.4",
|
|
175
182
|
"immer": "^10.2.0",
|
|
176
183
|
"jotai": "^3.0.1",
|
|
@@ -183,6 +190,7 @@
|
|
|
183
190
|
"react-dom": "^19.3.1",
|
|
184
191
|
"redux": "^5.0.1",
|
|
185
192
|
"size-limit": "^14.2.0",
|
|
193
|
+
"svelte": "^5.57.3",
|
|
186
194
|
"tsdown": "0.23.1",
|
|
187
195
|
"typescript": "7.0.2",
|
|
188
196
|
"typescript-5": "npm:typescript@^5.9.3",
|
|
@@ -207,17 +215,17 @@
|
|
|
207
215
|
{
|
|
208
216
|
"name": "policies (all)",
|
|
209
217
|
"path": "dist/policies.js",
|
|
210
|
-
"limit": "2.
|
|
218
|
+
"limit": "2.7 kB"
|
|
211
219
|
},
|
|
212
220
|
{
|
|
213
221
|
"name": "effects (all)",
|
|
214
222
|
"path": "dist/effects.js",
|
|
215
|
-
"limit": "2.
|
|
223
|
+
"limit": "2.5 kB"
|
|
216
224
|
},
|
|
217
225
|
{
|
|
218
226
|
"name": "actions (all)",
|
|
219
227
|
"path": "dist/actions.js",
|
|
220
|
-
"limit": "3.
|
|
228
|
+
"limit": "3.05 kB"
|
|
221
229
|
},
|
|
222
230
|
{
|
|
223
231
|
"name": "match (plugin)",
|
|
@@ -262,6 +270,14 @@
|
|
|
262
270
|
],
|
|
263
271
|
"limit": "1.24 kB"
|
|
264
272
|
},
|
|
273
|
+
{
|
|
274
|
+
"name": "svelte",
|
|
275
|
+
"path": "dist/svelte.js",
|
|
276
|
+
"ignore": [
|
|
277
|
+
"svelte"
|
|
278
|
+
],
|
|
279
|
+
"limit": "0.3 kB"
|
|
280
|
+
},
|
|
265
281
|
{
|
|
266
282
|
"name": "vue",
|
|
267
283
|
"path": "dist/vue.js",
|
|
@@ -283,12 +299,16 @@
|
|
|
283
299
|
],
|
|
284
300
|
"peerDependencies": {
|
|
285
301
|
"react": ">=18",
|
|
302
|
+
"svelte": ">=5",
|
|
286
303
|
"vue": ">=3.3"
|
|
287
304
|
},
|
|
288
305
|
"peerDependenciesMeta": {
|
|
289
306
|
"react": {
|
|
290
307
|
"optional": true
|
|
291
308
|
},
|
|
309
|
+
"svelte": {
|
|
310
|
+
"optional": true
|
|
311
|
+
},
|
|
292
312
|
"vue": {
|
|
293
313
|
"optional": true
|
|
294
314
|
}
|
package/dist/context-CJGW6OWj.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=(e,t)=>{globalThis.console?.error(`[nanoeffects] ${e}`,t)},t=()=>{},n=/* @__PURE__ */ new WeakMap,r=t=>{let r=n.get(t);if(r)return r;let i=/* @__PURE__ */ new Set;return n.set(t,i),t.addEventListener(`abort`,()=>{let n=[...i];i.clear();for(let{fn:r}of n)try{r(t.reason)}catch(t){e(`abort callback failed`,t)}},{once:!0}),i},i=(e,n)=>{let{signal:i}=e;if(!i)return t;if(i.aborted)return n(i.reason),t;let a=r(i),o={fn:n};return a.add(o),()=>{a.delete(o)}},a=e=>{let t=new AbortController;return{controller:t,unlink:i({signal:e},e=>t.abort(e))}},o=Symbol(),s=typeof __NANOEFFECTS_TRACE__>`u`||__NANOEFFECTS_TRACE__,c=/* @__PURE__ */ new WeakMap;let l;const u=()=>l,d=()=>{},f=(e,t,n,r)=>{let i=s&&c.get(e);i&&i.tracer.report(i.ref,t,n,r)},p=(e,t)=>{let n=s&&c.get(e);n&&n.tracer.rename?.(n.ref,t)},m=(e,t)=>{let n=s&&c.get(e);return n?n.tracer.settler(n.ref,t):d},h=(e,t,n)=>{let r=s&&c.get(e);return r?r.tracer.run(r.ref,t,e.signal,n):n()},g=(e,t)=>typeof e==`function`?e(t):e,_=({event:e,bus:t,tracer:n,parent:r})=>{let{controller:u,unlink:f}=a(r?.signal),{signal:p}=u,m=s&&n?{tracer:n,ref:n.task(e,r?.ref)}:void 0,v=(...e)=>{if(p.aborted&&!x[o])return;let n=t?.emit,r=l;l=m?.ref;try{return n?.(...e)}finally{l=r}},y=(...e)=>{if(p.aborted)return d;let n=t?.on,r=n?.(...e);if(!r)return d;let a=i({signal:p},r);return()=>{a(),r()}},b=async(r,...i)=>{p.throwIfAborted();let a=i[0],o=_({event:{type:e.type,payload:a},bus:t,tracer:n,parent:{signal:p,ref:m?.ref}});try{return await h(o.ctx,`run`,()=>r(a,o.ctx))}finally{o.unlink()}},x={...g(t?.ctx,e),type:e.type,payload:e.payload,signal:p,abort:e=>u.abort(e),emit:v,on:y,off:t?.off??d,run:b};return t?.addContext?.(x),m&&c.set(x,m),{ctx:x,unlink:f}},v=(e,t)=>{let n=s?c.get(e):void 0;return _({event:{type:t??e.type??``,payload:e.payload},bus:{emit:e.emit,on:e.on,off:e.off,ctx:e},tracer:n?.tracer,parent:{signal:e.signal,ref:n?.ref}})};export{p as a,s as c,e as d,v as i,o as l,_ as n,h as o,u as r,f as s,m as t,i as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=(e,t)=>{globalThis.console?.error(`[nanoeffects] ${e}`,t)},t=()=>{},n=/* @__PURE__ */ new WeakMap,r=t=>{let r=n.get(t);if(r)return r;let i=/* @__PURE__ */ new Set;return n.set(t,i),t.addEventListener(`abort`,()=>{let n=[...i];i.clear();for(let{fn:r}of n)try{r(t.reason)}catch(t){e(`abort callback failed`,t)}},{once:!0}),i},i=(e,n)=>{let{signal:i}=e;if(!i)return t;if(i.aborted)return n(i.reason),t;let a=r(i),o={fn:n};return a.add(o),()=>{a.delete(o)}},a=e=>{let t=new AbortController;return{controller:t,unlink:i({signal:e},e=>t.abort(e))}},o=Symbol();let s;const c=()=>s,l=()=>{},u=(e,t,n,r)=>{},d=(e,t)=>l,f=(e,t,n)=>n(),p=(e,t)=>typeof e==`function`?e(t):e,m=({event:e,bus:t,tracer:n,parent:r})=>{let{controller:c,unlink:u}=a(r?.signal),{signal:d}=c,h=(...e)=>{if(d.aborted&&!v[o])return;let n=t?.emit,r=s;s=void 0;try{return n?.(...e)}finally{s=r}},g=(...e)=>{if(d.aborted)return l;let n=t?.on,r=n?.(...e);if(!r)return l;let a=i({signal:d},r);return()=>{a(),r()}},_=async(r,...i)=>{d.throwIfAborted();let a=i[0],o=m({event:{type:e.type,payload:a},bus:t,tracer:n,parent:{signal:d,ref:void 0}});try{return await f(o.ctx,`run`,()=>r(a,o.ctx))}finally{o.unlink()}},v={...p(t?.ctx,e),type:e.type,payload:e.payload,signal:d,abort:e=>c.abort(e),emit:h,on:g,off:t?.off??l,run:_};return t?.addContext?.(v),{ctx:v,unlink:u}},h=(e,t)=>m({event:{type:t??e.type??``,payload:e.payload},bus:{emit:e.emit,on:e.on,off:e.off,ctx:e},tracer:void 0,parent:{signal:e.signal,ref:void 0}});export{f as a,i as c,h as i,e as l,m as n,u as o,c as r,o as s,d as t};
|