rexfect 0.0.7 → 0.2.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 (51) hide show
  1. package/dist/async/abortable.d.ts +44 -0
  2. package/dist/async/abortable.d.ts.map +1 -1
  3. package/dist/async/abortable.js +44 -7
  4. package/dist/async/abortable.js.map +1 -1
  5. package/dist/async/index.d.ts +1 -1
  6. package/dist/async/index.d.ts.map +1 -1
  7. package/dist/async/index.js +1 -1
  8. package/dist/async/index.js.map +1 -1
  9. package/dist/async/wrappers.d.ts +311 -0
  10. package/dist/async/wrappers.d.ts.map +1 -0
  11. package/dist/async/wrappers.js +542 -0
  12. package/dist/async/wrappers.js.map +1 -0
  13. package/dist/async/wrappers.test.d.ts +2 -0
  14. package/dist/async/wrappers.test.d.ts.map +1 -0
  15. package/dist/async/wrappers.test.js +649 -0
  16. package/dist/async/wrappers.test.js.map +1 -0
  17. package/dist/atom.d.ts +5 -0
  18. package/dist/atom.d.ts.map +1 -1
  19. package/dist/atom.js +11 -3
  20. package/dist/atom.js.map +1 -1
  21. package/dist/batch.js +1 -1
  22. package/dist/batch.js.map +1 -1
  23. package/dist/effect.d.ts.map +1 -1
  24. package/dist/effect.js +3 -2
  25. package/dist/effect.js.map +1 -1
  26. package/dist/emitter.d.ts +2 -2
  27. package/dist/emitter.d.ts.map +1 -1
  28. package/dist/emitter.js +20 -23
  29. package/dist/emitter.js.map +1 -1
  30. package/dist/emitter.test.js +11 -11
  31. package/dist/emitter.test.js.map +1 -1
  32. package/dist/pick.js +3 -2
  33. package/dist/pick.js.map +1 -1
  34. package/dist/react/useRx.d.ts.map +1 -1
  35. package/dist/react/useRx.js +75 -43
  36. package/dist/react/useRx.js.map +1 -1
  37. package/dist/types.d.ts +1 -1
  38. package/dist/types.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/dist/event.d.ts +0 -18
  41. package/dist/event.d.ts.map +0 -1
  42. package/dist/event.js +0 -166
  43. package/dist/event.js.map +0 -1
  44. package/dist/event.test.d.ts +0 -2
  45. package/dist/event.test.d.ts.map +0 -1
  46. package/dist/event.test.js +0 -167
  47. package/dist/event.test.js.map +0 -1
  48. package/dist/utils.d.ts +0 -7
  49. package/dist/utils.d.ts.map +0 -1
  50. package/dist/utils.js +0 -7
  51. package/dist/utils.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { useEffect, useRef, useReducer } from "react";
2
2
  import { withHooks } from "../hooks";
3
3
  import { untrack } from "../untrack";
4
+ import { emitter } from "../emitter";
4
5
  /**
5
6
  * React hook for reactive computations.
6
7
  *
@@ -19,58 +20,93 @@ export function useRx(fn) {
19
20
  if (controllerRef.current === null) {
20
21
  controllerRef.current = new UseRxController(rerender);
21
22
  }
22
- // Commit: compare values, subscribe to signals
23
- // Cleanup: unsubscribe using signals captured in closure
23
+ // useEffect runs commit() after render, returns cleanup function
24
24
  useEffect(() => controllerRef.current.commit());
25
25
  return controllerRef.current.render(fn);
26
26
  }
27
27
  class UseRxController {
28
28
  rerender;
29
- // Signals tracked during render phase (pending until commit)
30
- pendingSignals = new Map();
29
+ /** Signals tracked during render phase (used for change detection before commit) */
30
+ pendingSignals = [];
31
+ /** Error captured during commit to rethrow in next render */
31
32
  error;
33
+ /** The selector function passed to useRx */
34
+ _fn = () => {
35
+ throw new Error("useRx: fn is not set");
36
+ };
32
37
  constructor(rerender) {
33
38
  this.rerender = rerender;
34
39
  }
35
40
  /**
36
- * Render phase: track signals and save their values
41
+ * Tracks signals by running the selector function.
42
+ * Collects tracked signals and their values, plus cleanup functions from pick().
43
+ *
44
+ * @returns tracked signals, result, and cleanup function
45
+ */
46
+ _track() {
47
+ const pendingSignals = new Map();
48
+ const onCleanupEmitter = emitter();
49
+ let result;
50
+ try {
51
+ result = withHooks({
52
+ track: (signal, onCleanup) => {
53
+ onCleanup && onCleanupEmitter.on(onCleanup);
54
+ pendingSignals.set(signal, {
55
+ signal,
56
+ value: untrack(signal),
57
+ });
58
+ },
59
+ scheduleCleanup: onCleanupEmitter.on,
60
+ }, () => this._fn());
61
+ }
62
+ catch (error) {
63
+ // On error, cleanup any resources created during tracking
64
+ pendingSignals.clear();
65
+ onCleanupEmitter.emitAndClear();
66
+ throw error;
67
+ }
68
+ return {
69
+ result,
70
+ tracked: Array.from(pendingSignals.values()),
71
+ cleanup: onCleanupEmitter.emitAndClear,
72
+ };
73
+ }
74
+ /**
75
+ * Render phase: Run selector, track signals, capture values for change detection.
76
+ *
77
+ * In StrictMode, render may be called multiple times before commit.
78
+ * We cleanup immediately after tracking to avoid abandoned resources
79
+ * if React discards this render.
37
80
  */
38
81
  render(fn) {
39
- // Rethrow any error from previous commit
82
+ // Rethrow any error captured during previous commit
40
83
  if (this.error !== undefined) {
41
84
  const error = this.error;
42
85
  this.error = undefined;
43
86
  throw error;
44
87
  }
45
- // Clear pending from previous render
46
- this.pendingSignals.clear();
47
- // Track signals during fn execution
48
- const result = withHooks({
49
- track: (signal, onCleanup) => {
50
- this.pendingSignals.set(signal, {
51
- signal,
52
- value: untrack(() => signal()),
53
- onCleanup,
54
- });
55
- },
56
- }, fn);
88
+ this.pendingSignals.length = 0;
89
+ this._fn = fn;
90
+ const { result, tracked, cleanup } = this._track();
91
+ // Store tracked signals for change detection in commit phase
92
+ this.pendingSignals = tracked;
93
+ // Cleanup render-phase resources (StrictMode safe - no abandoned resources)
94
+ cleanup();
57
95
  return result;
58
96
  }
59
97
  /**
60
- * Commit phase (useEffect):
61
- * 1. Compare current signal values with render values
62
- * 2. Re-render if values changed
63
- * 3. Subscribe to tracked signals
64
- * 4. Return cleanup that unsubscribes (signals captured in closure)
98
+ * Commit phase (useEffect): Subscribe to signals and setup cleanup.
99
+ *
100
+ * 1. Check if signal values changed since render (concurrent mode safety)
101
+ * 2. If changed, trigger re-render to get fresh values
102
+ * 3. Re-track signals to create subscriptions (separate from render tracking)
103
+ * 4. Subscribe to all tracked signals
104
+ * 5. Return cleanup function for unmount/re-commit
65
105
  */
66
106
  commit() {
67
- // Clone pendingSignals to capture current state for this commit
68
- // Don't clear pendingSignals - let render() clear it
69
- // This ensures StrictMode re-runs have access to the same signals
70
- const trackedSignals = new Map(this.pendingSignals);
71
- // Check if any signal value changed since render
107
+ // Check if any signal value changed between render and commit
72
108
  let changed = false;
73
- for (const entry of trackedSignals.values()) {
109
+ for (const entry of this.pendingSignals) {
74
110
  try {
75
111
  const currentValue = untrack(() => entry.signal());
76
112
  if (!Object.is(currentValue, entry.value)) {
@@ -84,26 +120,22 @@ class UseRxController {
84
120
  return () => { };
85
121
  }
86
122
  }
87
- // Re-render if values changed
123
+ // Re-render if values changed (handles concurrent mode race conditions)
88
124
  if (changed) {
89
125
  this.rerender();
90
126
  }
127
+ // Re-track to create commit-phase resources (these persist until cleanup)
128
+ const { tracked, cleanup } = this._track();
91
129
  // Subscribe to all tracked signals
92
- const unsubscribes = [];
93
- for (const entry of trackedSignals.values()) {
94
- const unsub = entry.signal.on(() => {
95
- this.rerender();
96
- });
97
- unsubscribes.push(unsub);
130
+ const onUnsubscribeEmitter = emitter();
131
+ for (const entry of tracked) {
132
+ onUnsubscribeEmitter.on(entry.signal.on(this.rerender));
98
133
  }
99
- // Cleanup: unsubscribe using signals captured in closure
134
+ // Cleanup: unsubscribe and dispose commit-phase resources
100
135
  return () => {
101
- for (const unsub of unsubscribes) {
102
- unsub();
103
- }
104
- for (const entry of trackedSignals.values()) {
105
- entry.onCleanup?.();
106
- }
136
+ onUnsubscribeEmitter.emitAndClear();
137
+ tracked.length = 0;
138
+ cleanup();
107
139
  };
108
140
  }
109
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useRx.js","sourceRoot":"","sources":["../../src/react/useRx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useRx.js","sourceRoot":"","sources":["../../src/react/useRx.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -48,7 +48,7 @@ export type Signal<T = any> = {
48
48
  * setCount(c => c + 1); // Functional update (if supported)
49
49
  * ```
50
50
  */
51
- export type Setter<T = any> = (value: T) => void;
51
+ export type Setter<T = any> = (valueOrReducer: T | ((prev: T) => T)) => void;
52
52
  /**
53
53
  * A getter function that returns a value.
54
54
  * Used for read-only access patterns.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rexfect",
3
- "version": "0.0.7",
3
+ "version": "0.2.0",
4
4
  "description": "Minimal reactive state management with atoms, effects, and actions",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/dist/event.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import type { EventOptions, Event } from "./types";
2
- /**
3
- * Creates an event dispatcher for fire-and-forget notifications.
4
- *
5
- * @param options - Optional configuration
6
- * @returns An Event object
7
- *
8
- * @example
9
- * const onClick = event<MouseEvent>();
10
- *
11
- * onClick.on((e, ctx) => {
12
- * console.log("Clicked at:", e.clientX, e.clientY);
13
- * });
14
- *
15
- * onClick(mouseEvent); // dispatch
16
- */
17
- export declare function event<T = void>(options?: EventOptions): Event<T>;
18
- //# sourceMappingURL=event.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EAEZ,KAAK,EAEN,MAAM,SAAS,CAAC;AAUjB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,GAAE,YAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAwGpE"}
package/dist/event.js DELETED
@@ -1,166 +0,0 @@
1
- import { defer } from "./defer";
2
- import { emitter } from "./emitter";
3
- import { isPromiseLike } from "./isPromiseLike";
4
- const noop = () => { };
5
- /**
6
- * Creates an event dispatcher for fire-and-forget notifications.
7
- *
8
- * @param options - Optional configuration
9
- * @returns An Event object
10
- *
11
- * @example
12
- * const onClick = event<MouseEvent>();
13
- *
14
- * onClick.on((e, ctx) => {
15
- * console.log("Clicked at:", e.clientX, e.clientY);
16
- * });
17
- *
18
- * onClick(mouseEvent); // dispatch
19
- */
20
- export function event(options = {}) {
21
- const listeners = new Set();
22
- let isSealed = false;
23
- let lastDispatch;
24
- let nextDispatch;
25
- const next = () => {
26
- if (isSealed) {
27
- if (lastDispatch) {
28
- return lastDispatch.promise;
29
- }
30
- }
31
- nextDispatch = defer();
32
- return nextDispatch.promise;
33
- };
34
- const fire = (payload, entry) => {
35
- const controller = new AbortController();
36
- const onError = emitter();
37
- const ctx = createEventContext(controller, entry.prevController, () => entry.active);
38
- entry.prevController = controller;
39
- try {
40
- const result = entry.fn(payload, ctx);
41
- if (isPromiseLike(result)) {
42
- result.then(undefined, (error) => {
43
- onError.emitAndClear(error);
44
- });
45
- }
46
- }
47
- catch (_error) {
48
- onError.emitAndClear(_error);
49
- }
50
- };
51
- const dispatch = (payload) => {
52
- if (isSealed)
53
- return; // no-op if sealed
54
- nextDispatch?.resolve(payload);
55
- lastDispatch = {
56
- payload,
57
- promise: nextDispatch?.promise ?? Promise.resolve(payload),
58
- };
59
- nextDispatch = undefined;
60
- if (options.sealed) {
61
- isSealed = true;
62
- }
63
- const copyListeners = [...listeners];
64
- for (const entry of copyListeners) {
65
- fire(payload, entry);
66
- }
67
- };
68
- const eventObj = Object.assign(dispatch, {
69
- sealed: () => isSealed,
70
- fired: () => !!lastDispatch,
71
- latest() {
72
- if (lastDispatch) {
73
- return lastDispatch.promise;
74
- }
75
- return next();
76
- },
77
- on(listener) {
78
- const entry = {
79
- fn: listener,
80
- active: true,
81
- prevController: null,
82
- };
83
- if (isSealed && lastDispatch) {
84
- fire(lastDispatch.payload, entry);
85
- return noop;
86
- }
87
- listeners.add(entry);
88
- return () => {
89
- if (!entry.active)
90
- return;
91
- entry.active = false;
92
- listeners.delete(entry);
93
- };
94
- },
95
- then(onFulfilled, onRejected) {
96
- return next().then(onFulfilled, onRejected);
97
- },
98
- });
99
- return eventObj;
100
- }
101
- function createEventContext(controller, prevController, active) {
102
- const cleanups = [];
103
- const errorHandlers = [];
104
- const ctx = {
105
- ...createAbortableContext(controller),
106
- active,
107
- abortPrevious() {
108
- prevController?.abort();
109
- },
110
- onCleanup(cleanup) {
111
- cleanups.push(cleanup);
112
- },
113
- onError(handler) {
114
- errorHandlers.push(handler);
115
- },
116
- use(plugin, ...args) {
117
- return plugin(ctx, ...args);
118
- },
119
- };
120
- return ctx;
121
- }
122
- function createAbortableContext(controller) {
123
- const ctx = {
124
- signal: controller.signal,
125
- abort() {
126
- controller.abort();
127
- },
128
- safe(promiseOrCallback) {
129
- if (typeof promiseOrCallback === "function") {
130
- return (...args) => {
131
- if (!controller.signal.aborted) {
132
- return promiseOrCallback(...args);
133
- }
134
- };
135
- }
136
- return new Promise((resolve, reject) => {
137
- promiseOrCallback.then((value) => {
138
- if (!controller.signal.aborted) {
139
- resolve(value);
140
- }
141
- }, (error) => {
142
- if (!controller.signal.aborted) {
143
- reject(error);
144
- }
145
- });
146
- });
147
- },
148
- fork() {
149
- const childController = new AbortController();
150
- const handler = () => {
151
- controller.signal.removeEventListener("abort", handler);
152
- childController.abort();
153
- };
154
- controller.signal.addEventListener("abort", handler);
155
- return createAbortableContext(childController);
156
- },
157
- spawn() {
158
- return createAbortableContext(new AbortController());
159
- },
160
- use(plugin, ...args) {
161
- return plugin(ctx, ...args);
162
- },
163
- };
164
- return ctx;
165
- }
166
- //# sourceMappingURL=event.js.map
package/dist/event.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=event.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event.test.d.ts","sourceRoot":"","sources":["../src/event.test.ts"],"names":[],"mappings":""}
@@ -1,167 +0,0 @@
1
- import { describe, it, expect, vi } from "vitest";
2
- import { event } from "./event";
3
- describe("event", () => {
4
- describe("dispatch", () => {
5
- it("should dispatch event to listeners", () => {
6
- const onClick = event();
7
- const listener = vi.fn();
8
- onClick.on(listener);
9
- onClick(42);
10
- expect(listener).toHaveBeenCalledWith(42, expect.any(Object));
11
- });
12
- it("should support void payload", () => {
13
- const onReset = event();
14
- const listener = vi.fn();
15
- onReset.on(listener);
16
- onReset();
17
- expect(listener).toHaveBeenCalled();
18
- });
19
- });
20
- describe("fired", () => {
21
- it("should track if event has been fired", () => {
22
- const onClick = event();
23
- expect(onClick.fired()).toBe(false);
24
- expect(!onClick.fired()).toBe(true); // use !fired() instead of notFired()
25
- onClick(1);
26
- expect(onClick.fired()).toBe(true);
27
- expect(!onClick.fired()).toBe(false);
28
- });
29
- });
30
- describe("sealed", () => {
31
- it("should auto-seal after first dispatch", () => {
32
- const onInit = event({ sealed: true });
33
- expect(onInit.sealed()).toBe(false);
34
- onInit("first");
35
- expect(onInit.sealed()).toBe(true);
36
- });
37
- it("should ignore subsequent dispatches when sealed", () => {
38
- const onInit = event({ sealed: true });
39
- const listener = vi.fn();
40
- onInit.on(listener);
41
- onInit("first");
42
- onInit("second");
43
- expect(listener).toHaveBeenCalledTimes(1);
44
- expect(listener).toHaveBeenCalledWith("first", expect.any(Object));
45
- });
46
- it("should call late listeners immediately with sealed value", () => {
47
- const onInit = event({ sealed: true });
48
- onInit("config");
49
- const lateListener = vi.fn();
50
- onInit.on(lateListener);
51
- expect(lateListener).toHaveBeenCalledWith("config", expect.any(Object));
52
- });
53
- });
54
- describe("latest", () => {
55
- it("should resolve immediately if already dispatched", async () => {
56
- const onData = event();
57
- onData(42);
58
- const result = await onData.latest();
59
- expect(result).toBe(42);
60
- });
61
- it("should wait for dispatch if not fired", async () => {
62
- const onData = event();
63
- const promise = onData.latest();
64
- // Dispatch after a delay
65
- setTimeout(() => onData(100), 10);
66
- const result = await promise;
67
- expect(result).toBe(100);
68
- });
69
- });
70
- describe("thenable (await event)", () => {
71
- it("should wait for next dispatch", async () => {
72
- const onClick = event();
73
- const promise = onClick.then((value) => value.toUpperCase());
74
- setTimeout(() => onClick("hello"), 10);
75
- const result = await promise;
76
- expect(result).toBe("HELLO");
77
- });
78
- it("should resolve immediately if sealed", async () => {
79
- const onInit = event({ sealed: true });
80
- onInit("sealed-value");
81
- const result = await onInit;
82
- expect(result).toBe("sealed-value");
83
- });
84
- });
85
- describe("on listener", () => {
86
- it("should return unsubscribe function", () => {
87
- const onClick = event();
88
- const listener = vi.fn();
89
- const unsubscribe = onClick.on(listener);
90
- onClick(1);
91
- expect(listener).toHaveBeenCalledTimes(1);
92
- unsubscribe();
93
- onClick(2);
94
- expect(listener).toHaveBeenCalledTimes(1); // not called again
95
- });
96
- it("should provide context with signal", () => {
97
- const onClick = event();
98
- onClick.on((_payload, ctx) => {
99
- expect(ctx.signal).toBeInstanceOf(AbortSignal);
100
- expect(ctx.signal.aborted).toBe(false);
101
- });
102
- onClick(1);
103
- });
104
- it("should support abortPrevious", async () => {
105
- const onSearch = event();
106
- const abortedSignals = [];
107
- onSearch.on((_query, ctx) => {
108
- ctx.abortPrevious();
109
- abortedSignals.push(ctx.signal.aborted);
110
- });
111
- onSearch("first");
112
- onSearch("second");
113
- // First call's signal should be aborted by second call
114
- // Note: This depends on implementation details
115
- });
116
- it("should support active() check", () => {
117
- const onClick = event();
118
- let isActive = true;
119
- const unsubscribe = onClick.on((_, ctx) => {
120
- isActive = ctx.active();
121
- });
122
- onClick(1);
123
- expect(isActive).toBe(true);
124
- unsubscribe();
125
- // After unsubscribe, active() would return false
126
- });
127
- });
128
- describe("context methods", () => {
129
- it("should support safe() for promises", async () => {
130
- const onFetch = event();
131
- const results = [];
132
- onFetch.on(async (url, ctx) => {
133
- const result = await ctx.safe(Promise.resolve(url + "-fetched"));
134
- results.push(result);
135
- });
136
- onFetch("test");
137
- // Wait for async
138
- await new Promise((r) => setTimeout(r, 10));
139
- expect(results).toContain("test-fetched");
140
- });
141
- it("should support fork() for child contexts", () => {
142
- const onClick = event();
143
- onClick.on((_, ctx) => {
144
- const child = ctx.fork();
145
- expect(child.signal).toBeInstanceOf(AbortSignal);
146
- expect(child.signal.aborted).toBe(false);
147
- // Abort parent should abort child
148
- ctx.abort();
149
- expect(child.signal.aborted).toBe(true);
150
- });
151
- onClick(1);
152
- });
153
- it("should support spawn() for independent contexts", () => {
154
- const onClick = event();
155
- onClick.on((_, ctx) => {
156
- const independent = ctx.spawn();
157
- expect(independent.signal).toBeInstanceOf(AbortSignal);
158
- expect(independent.signal.aborted).toBe(false);
159
- // Abort parent should NOT abort spawned context
160
- ctx.abort();
161
- expect(independent.signal.aborted).toBe(false);
162
- });
163
- onClick(1);
164
- });
165
- });
166
- });
167
- //# sourceMappingURL=event.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event.test.js","sourceRoot":"","sources":["../src/event.test.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts DELETED
@@ -1,7 +0,0 @@
1
- /**
2
- * Utility functions for rexfect
3
- */
4
- export { batch } from "./batch";
5
- export { untrack } from "./untrack";
6
- export { pick } from "./pick";
7
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
package/dist/utils.js DELETED
@@ -1,7 +0,0 @@
1
- /**
2
- * Utility functions for rexfect
3
- */
4
- export { batch } from "./batch";
5
- export { untrack } from "./untrack";
6
- export { pick } from "./pick";
7
- //# sourceMappingURL=utils.js.map
package/dist/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}