@rlabs-inc/signals 1.4.2 → 1.4.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.
package/README.md CHANGED
@@ -257,7 +257,18 @@ console.log(readonly.value) // 0
257
257
  // Check if a value is a binding
258
258
  isBinding(maybeBinding) // true or false
259
259
 
260
- // Get value from binding or return value directly
260
+ // Get value from binding, signal, derived, or return plain value directly
261
+ // Works with ALL reactive types for unified value access
262
+ const count = signal(42)
263
+ const doubled = derived(() => count.value * 2)
264
+ const bound = bind(count)
265
+
266
+ unwrap(count) // 42 (extracts .value from signal)
267
+ unwrap(doubled) // 84 (extracts .value from derived)
268
+ unwrap(bound) // 42 (extracts .value from binding)
269
+ unwrap('static') // 'static' (returns plain values as-is)
270
+
271
+ // Great for mapping mixed arrays
261
272
  const arr: (string | Binding<string>)[] = ['static', bind(signal('dynamic'))]
262
273
  arr.map(unwrap) // ['static', 'dynamic']
263
274
  ```
@@ -71,6 +71,20 @@ export interface DerivedSignal<T> extends ReadableSignal<T> {
71
71
  }
72
72
  /** Dispose function for effects */
73
73
  export type DisposeFn = () => void;
74
+ /**
75
+ * Extract the inner type T from reactive wrappers.
76
+ *
77
+ * When given a union like `T | WritableSignal<T> | Binding<T>`, this extracts
78
+ * just T. Conditional types distribute over unions, so:
79
+ *
80
+ * ExtractInner<number | WritableSignal<number>> = number | number = number
81
+ *
82
+ * This is essential for bind() to correctly infer return types when given
83
+ * "Reactive<T>" union types (T | WritableSignal<T> | Binding<T> | ReadonlyBinding<T>).
84
+ */
85
+ export type ExtractInner<T> = T extends WritableSignal<infer U> ? U : T extends ReadableSignal<infer U> ? U : T extends {
86
+ readonly value: infer U;
87
+ } ? U : T;
74
88
  /** Type for uninitialized values */
75
89
  export type Uninitialized = typeof UNINITIALIZED;
76
90
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAMnD,oDAAoD;AAGpD,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAA;AAMvE,6CAA6C;AAC7C,MAAM,WAAW,MAAM;IACrB,uCAAuC;IACvC,CAAC,EAAE,MAAM,CAAA;IAET,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAA;CACX;AAMD,uCAAuC;AACvC,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,MAAM;IACjD,oBAAoB;IACpB,CAAC,EAAE,CAAC,CAAA;IAEJ,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAEjB,8DAA8D;IAC9D,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IAE5B,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAA;CACX;AAMD,0DAA0D;AAC1D,MAAM,WAAW,QAAS,SAAQ,MAAM;IACtC,8BAA8B;IAC9B,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IAEnB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CACtB;AAMD,iCAAiC;AACjC,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ;IAC/D,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC,CAAA;IAEX,gDAAgD;IAChD,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAExB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;CAChC;AAMD,2CAA2C;AAC3C,MAAM,MAAM,SAAS,GAAG,MAAM,IAAI,CAAA;AAElC,gCAAgC;AAChC,MAAM,MAAM,QAAQ,GAAG,MAAM,IAAI,GAAG,SAAS,CAAA;AAE7C,8BAA8B;AAC9B,MAAM,WAAW,MAAO,SAAQ,QAAQ;IACtC,sBAAsB;IACtB,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAA;IAEnB,8CAA8C;IAC9C,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAA;IAE1B,uCAAuC;IACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAErB,yBAAyB;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAEpB,wBAAwB;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEnB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEnB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAMD,mDAAmD;AACnD,MAAM,MAAM,KAAK,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAMvD,8CAA8C;AAC9C,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAClB;AAED,6CAA6C;AAC7C,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAC1D,KAAK,EAAE,CAAC,CAAA;CACT;AAED,4CAA4C;AAC5C,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;CAAG;AAE9D,mCAAmC;AACnC,MAAM,MAAM,SAAS,GAAG,MAAM,IAAI,CAAA;AAMlC,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ export { ReactiveDate } from './collections/date.js';
15
15
  export { get, set, isDirty, setSignalStatus, markReactions, updateReaction, removeReactions, } from './reactivity/tracking.js';
16
16
  export { DERIVED, EFFECT, RENDER_EFFECT, ROOT_EFFECT, BRANCH_EFFECT, USER_EFFECT, BLOCK_EFFECT, CLEAN, DIRTY, MAYBE_DIRTY, REACTION_IS_UPDATING, DESTROYED, INERT, EFFECT_RAN, EFFECT_PRESERVED, UNOWNED, DISCONNECTED, UNINITIALIZED, STALE_REACTION, STATE_SYMBOL, REACTIVE_MARKER, BINDING_SYMBOL, LINKED_SYMBOL, } from './core/constants.js';
17
17
  export { activeReaction, activeEffect, untracking, writeVersion, readVersion, batchDepth, setActiveReaction, setActiveEffect, setUntracking, incrementWriteVersion, incrementReadVersion, incrementBatchDepth, decrementBatchDepth, getReadVersion, getWriteVersion, getBatchDepth, } from './core/globals.js';
18
- export type { Signal, Source, Reaction, Derived, Effect, Value, ReadableSignal, WritableSignal, DerivedSignal, DisposeFn, CleanupFn, EffectFn, Equals, Uninitialized, } from './core/types.js';
18
+ export type { Signal, Source, Reaction, Derived, Effect, Value, ReadableSignal, WritableSignal, DerivedSignal, DisposeFn, CleanupFn, EffectFn, Equals, Uninitialized, ExtractInner, } from './core/types.js';
19
19
  export type { Binding, ReadonlyBinding } from './primitives/bind.js';
20
20
  export type { LinkedSignalOptions, LinkedSignalConfig } from './primitives/linked.js';
21
21
  export type { SelectorFn } from './primitives/selector.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACnF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC1F,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAMpF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM1D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAM5D,OAAO,EACL,MAAM,EACN,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,0BAA0B,CAAA;AAMjC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAMpD,OAAO,EACL,GAAG,EACH,GAAG,EACH,OAAO,EACP,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,0BAA0B,CAAA;AAMjC,OAAO,EAEL,OAAO,EACP,MAAM,EACN,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EAGZ,KAAK,EACL,KAAK,EACL,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,KAAK,EACL,UAAU,EACV,gBAAgB,EAGhB,OAAO,EACP,YAAY,EAGZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EAGV,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EAGnB,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAA;AAM1B,YAAY,EAEV,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,KAAK,EAGL,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,EACT,SAAS,EACT,QAAQ,EAGR,MAAM,EACN,aAAa,GACd,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACpE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACrF,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACnF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC1F,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAMpF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM1D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAM5D,OAAO,EACL,MAAM,EACN,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,0BAA0B,CAAA;AAMjC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAMpD,OAAO,EACL,GAAG,EACH,GAAG,EACH,OAAO,EACP,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,GAChB,MAAM,0BAA0B,CAAA;AAMjC,OAAO,EAEL,OAAO,EACP,MAAM,EACN,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EAGZ,KAAK,EACL,KAAK,EACL,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,KAAK,EACL,UAAU,EACV,gBAAgB,EAGhB,OAAO,EACP,YAAY,EAGZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EAGV,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EAGnB,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAA;AAM1B,YAAY,EAEV,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,EACP,MAAM,EACN,KAAK,EAGL,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,EACT,SAAS,EACT,QAAQ,EAGR,MAAM,EACN,aAAa,EACb,YAAY,GACb,MAAM,iBAAiB,CAAA;AAExB,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACpE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AACrF,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA"}
package/dist/index.js CHANGED
@@ -1302,6 +1302,9 @@ function unwrap(value) {
1302
1302
  if (isBinding(value)) {
1303
1303
  return value.value;
1304
1304
  }
1305
+ if (value !== null && typeof value === "object" && "value" in value) {
1306
+ return value.value;
1307
+ }
1305
1308
  return value;
1306
1309
  }
1307
1310
  function signals(initial) {
package/dist/index.mjs CHANGED
@@ -1181,6 +1181,9 @@ function unwrap(value) {
1181
1181
  if (isBinding(value)) {
1182
1182
  return value.value;
1183
1183
  }
1184
+ if (value !== null && typeof value === "object" && "value" in value) {
1185
+ return value.value;
1186
+ }
1184
1187
  return value;
1185
1188
  }
1186
1189
  function signals(initial) {
@@ -1,4 +1,4 @@
1
- import type { WritableSignal, ReadableSignal } from '../core/types.js';
1
+ import type { WritableSignal, ReadableSignal, ExtractInner } from '../core/types.js';
2
2
  /**
3
3
  * A writable binding that forwards reads and writes to a source.
4
4
  * Reading creates dependency on source, writing triggers source's reactions.
@@ -23,7 +23,7 @@ export declare function bind<T>(source: ReadableSignal<T>): ReadonlyBinding<T>;
23
23
  export declare function bind<T>(source: Binding<T>): Binding<T>;
24
24
  export declare function bind<T>(source: ReadonlyBinding<T>): ReadonlyBinding<T>;
25
25
  export declare function bind<T>(source: () => T): ReadonlyBinding<T>;
26
- export declare function bind<T>(source: T): Binding<T>;
26
+ export declare function bind<T>(source: T): Binding<ExtractInner<T>>;
27
27
  /**
28
28
  * Create an explicitly read-only binding.
29
29
  * Attempting to write will throw an error at runtime.
@@ -1 +1 @@
1
- {"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../src/primitives/bind.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAU,MAAM,kBAAkB,CAAA;AAsB9E;;;GAGG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,IAAI,KAAK,IAAI,CAAC,CAAA;IACd,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAClB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnE;AA0DD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAC9D,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;AACtE,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AACvD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;AACvE,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;AAC5D,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AA2D9C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAQ1F;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAKvE;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,OAAO,EAAE,CAAC,GACT;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAU1C"}
1
+ {"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../src/primitives/bind.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAU,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAsB5F;;;GAGG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,IAAI,KAAK,IAAI,CAAC,CAAA;IACd,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAClB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAEnE;AA0DD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AAC9D,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;AACtE,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;AACvD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;AACvE,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;AAC5D,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AA2D5D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAQ1F;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAUvE;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,OAAO,EAAE,CAAC,GACT;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAU1C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rlabs-inc/signals",
3
- "version": "1.4.2",
3
+ "version": "1.4.4",
4
4
  "description": "Production-grade fine-grained reactivity for TypeScript. A complete standalone mirror of Svelte 5's reactivity system - signals, effects, derived values, deep reactivity, reactive collections, and reactive bindings.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",