@fluixi/reactive 1.0.0-alpha.84 → 1.0.0-alpha.85

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 (68) hide show
  1. package/dist/cdn/reactive.cjs +52 -3
  2. package/dist/cdn/reactive.global.js +2 -2
  3. package/dist/cdn/reactive.mjs +52 -3
  4. package/dist/cdn/signal.cjs +1 -1
  5. package/dist/cdn/signal.global.js +2 -2
  6. package/dist/cdn/signal.mjs +1 -1
  7. package/dist/index.cjs +52 -3
  8. package/dist/index.mjs +52 -3
  9. package/dist/lib/index.cjs +53 -4
  10. package/dist/lib/index.mjs +53 -4
  11. package/dist/lib/observable/index.cjs +1 -1
  12. package/dist/lib/observable/index.mjs +1 -1
  13. package/dist/lib/signal/api.cjs +1 -1
  14. package/dist/lib/signal/api.mjs +1 -1
  15. package/dist/lib/signal/cached-resource.cjs +2 -2
  16. package/dist/lib/signal/cached-resource.mjs +2 -2
  17. package/dist/lib/signal/graph/children.cjs +1 -1
  18. package/dist/lib/signal/graph/children.mjs +1 -1
  19. package/dist/lib/signal/graph/compat.cjs +2 -2
  20. package/dist/lib/signal/graph/compat.mjs +2 -2
  21. package/dist/lib/signal/graph/core.cjs +2 -2
  22. package/dist/lib/signal/graph/core.mjs +2 -2
  23. package/dist/lib/signal/graph/debounced.cjs +1 -1
  24. package/dist/lib/signal/graph/debounced.mjs +1 -1
  25. package/dist/lib/signal/graph/derived.cjs +1 -1
  26. package/dist/lib/signal/graph/derived.mjs +1 -1
  27. package/dist/lib/signal/graph/error-boundary.cjs +1 -1
  28. package/dist/lib/signal/graph/error-boundary.mjs +1 -1
  29. package/dist/lib/signal/graph/index.cjs +2 -2
  30. package/dist/lib/signal/graph/index.mjs +2 -2
  31. package/dist/lib/signal/graph/observe.cjs +1 -1
  32. package/dist/lib/signal/graph/observe.mjs +1 -1
  33. package/dist/lib/signal/graph/resource.cjs +1 -1
  34. package/dist/lib/signal/graph/resource.mjs +1 -1
  35. package/dist/lib/signal/graph/runtime.cjs +1 -1
  36. package/dist/lib/signal/graph/runtime.mjs +1 -1
  37. package/dist/lib/signal/graph/signal-next.cjs +2 -2
  38. package/dist/lib/signal/graph/signal-next.mjs +2 -2
  39. package/dist/lib/signal/graph/state.cjs +1 -1
  40. package/dist/lib/signal/graph/state.mjs +1 -1
  41. package/dist/lib/signal/graph/suspense.cjs +1 -1
  42. package/dist/lib/signal/graph/suspense.mjs +1 -1
  43. package/dist/lib/signal/index-legacy.cjs +2 -2
  44. package/dist/lib/signal/index-legacy.mjs +2 -2
  45. package/dist/lib/signal/index.cjs +2 -2
  46. package/dist/lib/signal/index.mjs +2 -2
  47. package/dist/lib/signal/list.cjs +1 -1
  48. package/dist/lib/signal/list.mjs +1 -1
  49. package/dist/lib/signal/resource-api.cjs +1 -1
  50. package/dist/lib/signal/resource-api.mjs +1 -1
  51. package/dist/lib/signal/signal.cjs +1 -1
  52. package/dist/lib/signal/signal.mjs +1 -1
  53. package/dist/lib/signal/utilities.cjs +2 -2
  54. package/dist/lib/signal/utilities.mjs +2 -2
  55. package/dist/lib/store/api.cjs +52 -3
  56. package/dist/lib/store/api.mjs +52 -3
  57. package/dist/lib/store/index.cjs +53 -4
  58. package/dist/lib/store/index.mjs +53 -4
  59. package/dist/lib/store/store.cjs +52 -3
  60. package/dist/lib/store/store.d.ts.map +1 -1
  61. package/dist/lib/store/store.js +90 -3
  62. package/dist/lib/store/store.mjs +52 -3
  63. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  64. package/dist/version.generated.cjs +2 -2
  65. package/dist/version.generated.d.ts +1 -1
  66. package/dist/version.generated.js +1 -1
  67. package/dist/version.generated.mjs +2 -2
  68. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.84";
4
+ var VERSION = "1.0.0-alpha.85";
5
5
 
6
6
  // src/lib/predicates.ts
7
7
  function isFunction(value) {
@@ -1888,12 +1888,61 @@ function applySet(root2, args) {
1888
1888
  mergeInto(root2, first);
1889
1889
  return;
1890
1890
  }
1891
- if (Array.isArray(args[1]) && args.length >= 3) {
1892
- applyPath(root2, `${first}.${args[1].join(".")}`, args[2]);
1891
+ if (args.length >= 3) {
1892
+ setDeep(root2, args.slice(0, -1), args[args.length - 1]);
1893
1893
  return;
1894
1894
  }
1895
1895
  applyPath(root2, String(first), args[1]);
1896
1896
  }
1897
+ function selectKeys(current, selector) {
1898
+ if (typeof selector === "function") {
1899
+ if (!Array.isArray(current)) return [];
1900
+ const keys = [];
1901
+ for (let i = 0; i < current.length; i++) if (selector(current[i], i)) keys.push(i);
1902
+ return keys;
1903
+ }
1904
+ if (Array.isArray(selector)) {
1905
+ return Array.isArray(current) ? selector.map(Number) : selector.map(String);
1906
+ }
1907
+ if (selector && typeof selector === "object" && ("from" in selector || "to" in selector || "by" in selector)) {
1908
+ if (!Array.isArray(current)) return [];
1909
+ const by = selector.by ?? 1;
1910
+ const from = selector.from ?? 0;
1911
+ const to = selector.to ?? current.length - 1;
1912
+ const keys = [];
1913
+ for (let i = from; i <= to; i += by) if (i >= 0 && i < current.length) keys.push(i);
1914
+ return keys;
1915
+ }
1916
+ if (selector === "*") {
1917
+ return Array.isArray(current) ? current.map((_, i) => i) : Object.keys(current ?? {});
1918
+ }
1919
+ return [selector];
1920
+ }
1921
+ function setDeep(current, selectors, value) {
1922
+ if (current == null) return;
1923
+ const [head, ...rest] = selectors;
1924
+ if (typeof head === "string") {
1925
+ const parts = parsePath(head);
1926
+ if (parts.length > 1) {
1927
+ setDeep(current, [...parts, ...rest], value);
1928
+ return;
1929
+ }
1930
+ }
1931
+ const keys = selectKeys(current, head);
1932
+ if (rest.length === 0) {
1933
+ for (const key of keys) writeKey(current, key, nextValue(value, current[key]));
1934
+ return;
1935
+ }
1936
+ for (const key of keys) {
1937
+ let next = current[key];
1938
+ if (next == null || typeof next !== "object") {
1939
+ const lookahead = rest[0];
1940
+ next = typeof lookahead === "number" || /^\d+$/.test(String(lookahead)) ? [] : {};
1941
+ writeKey(current, key, next);
1942
+ }
1943
+ setDeep(next, rest, value);
1944
+ }
1945
+ }
1897
1946
  function clone(value) {
1898
1947
  if (value == null || typeof value !== "object") return value;
1899
1948
  if (Array.isArray(value)) return value.map(clone);
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/lib/predicates.ts
4
4
  function isFunction(value) {
@@ -32,7 +32,7 @@ __export(api_exports, {
32
32
  module.exports = __toCommonJS(api_exports);
33
33
 
34
34
  // src/version.generated.ts
35
- var VERSION = "1.0.0-alpha.84";
35
+ var VERSION = "1.0.0-alpha.85";
36
36
 
37
37
  // src/lib/signal/graph/state.ts
38
38
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -28,7 +28,7 @@ __export(cached_resource_exports, {
28
28
  module.exports = __toCommonJS(cached_resource_exports);
29
29
 
30
30
  // src/version.generated.ts
31
- var VERSION = "1.0.0-alpha.84";
31
+ var VERSION = "1.0.0-alpha.85";
32
32
 
33
33
  // src/lib/signal/graph/state.ts
34
34
  var MAJOR = VERSION.split(".")[0];
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.84";
4
+ var VERSION = "1.0.0-alpha.85";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -25,7 +25,7 @@ __export(children_exports, {
25
25
  module.exports = __toCommonJS(children_exports);
26
26
 
27
27
  // src/version.generated.ts
28
- var VERSION = "1.0.0-alpha.84";
28
+ var VERSION = "1.0.0-alpha.85";
29
29
 
30
30
  // src/lib/signal/graph/state.ts
31
31
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -42,7 +42,7 @@ __export(compat_exports, {
42
42
  module.exports = __toCommonJS(compat_exports);
43
43
 
44
44
  // src/version.generated.ts
45
- var VERSION = "1.0.0-alpha.84";
45
+ var VERSION = "1.0.0-alpha.85";
46
46
 
47
47
  // src/lib/signal/graph/state.ts
48
48
  var MAJOR = VERSION.split(".")[0];
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.84";
4
+ var VERSION = "1.0.0-alpha.85";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -31,7 +31,7 @@ __export(core_exports, {
31
31
  module.exports = __toCommonJS(core_exports);
32
32
 
33
33
  // src/version.generated.ts
34
- var VERSION = "1.0.0-alpha.84";
34
+ var VERSION = "1.0.0-alpha.85";
35
35
 
36
36
  // src/lib/signal/graph/state.ts
37
37
  var MAJOR = VERSION.split(".")[0];
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.84";
4
+ var VERSION = "1.0.0-alpha.85";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -26,7 +26,7 @@ __export(debounced_exports, {
26
26
  module.exports = __toCommonJS(debounced_exports);
27
27
 
28
28
  // src/version.generated.ts
29
- var VERSION = "1.0.0-alpha.84";
29
+ var VERSION = "1.0.0-alpha.85";
30
30
 
31
31
  // src/lib/signal/graph/state.ts
32
32
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -27,7 +27,7 @@ __export(derived_exports, {
27
27
  module.exports = __toCommonJS(derived_exports);
28
28
 
29
29
  // src/version.generated.ts
30
- var VERSION = "1.0.0-alpha.84";
30
+ var VERSION = "1.0.0-alpha.85";
31
31
 
32
32
  // src/lib/signal/graph/state.ts
33
33
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -27,7 +27,7 @@ __export(error_boundary_exports, {
27
27
  module.exports = __toCommonJS(error_boundary_exports);
28
28
 
29
29
  // src/version.generated.ts
30
- var VERSION = "1.0.0-alpha.84";
30
+ var VERSION = "1.0.0-alpha.85";
31
31
 
32
32
  // src/lib/signal/graph/state.ts
33
33
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -29,7 +29,7 @@ __export(index_exports, {
29
29
  module.exports = __toCommonJS(index_exports);
30
30
 
31
31
  // src/version.generated.ts
32
- var VERSION = "1.0.0-alpha.84";
32
+ var VERSION = "1.0.0-alpha.85";
33
33
 
34
34
  // src/lib/signal/graph/state.ts
35
35
  var MAJOR = VERSION.split(".")[0];
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.84";
4
+ var VERSION = "1.0.0-alpha.85";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -39,7 +39,7 @@ __export(observe_exports, {
39
39
  module.exports = __toCommonJS(observe_exports);
40
40
 
41
41
  // src/version.generated.ts
42
- var VERSION = "1.0.0-alpha.84";
42
+ var VERSION = "1.0.0-alpha.85";
43
43
 
44
44
  // src/lib/signal/graph/state.ts
45
45
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -25,7 +25,7 @@ __export(resource_exports, {
25
25
  module.exports = __toCommonJS(resource_exports);
26
26
 
27
27
  // src/version.generated.ts
28
- var VERSION = "1.0.0-alpha.84";
28
+ var VERSION = "1.0.0-alpha.85";
29
29
 
30
30
  // src/lib/signal/graph/state.ts
31
31
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -44,7 +44,7 @@ __export(runtime_exports, {
44
44
  module.exports = __toCommonJS(runtime_exports);
45
45
 
46
46
  // src/version.generated.ts
47
- var VERSION = "1.0.0-alpha.84";
47
+ var VERSION = "1.0.0-alpha.85";
48
48
 
49
49
  // src/lib/signal/graph/state.ts
50
50
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -81,7 +81,7 @@ __export(signal_next_exports, {
81
81
  module.exports = __toCommonJS(signal_next_exports);
82
82
 
83
83
  // src/version.generated.ts
84
- var VERSION = "1.0.0-alpha.84";
84
+ var VERSION = "1.0.0-alpha.85";
85
85
 
86
86
  // src/lib/signal/graph/state.ts
87
87
  var MAJOR = VERSION.split(".")[0];
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.84";
4
+ var VERSION = "1.0.0-alpha.85";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -27,7 +27,7 @@ __export(state_exports, {
27
27
  module.exports = __toCommonJS(state_exports);
28
28
 
29
29
  // src/version.generated.ts
30
- var VERSION = "1.0.0-alpha.84";
30
+ var VERSION = "1.0.0-alpha.85";
31
31
 
32
32
  // src/lib/signal/graph/state.ts
33
33
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -27,7 +27,7 @@ __export(suspense_exports, {
27
27
  module.exports = __toCommonJS(suspense_exports);
28
28
 
29
29
  // src/version.generated.ts
30
- var VERSION = "1.0.0-alpha.84";
30
+ var VERSION = "1.0.0-alpha.85";
31
31
 
32
32
  // src/lib/signal/graph/state.ts
33
33
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -494,7 +494,7 @@ function makeArrayFlat(values) {
494
494
  }
495
495
 
496
496
  // src/version.generated.ts
497
- var VERSION = "1.0.0-alpha.84";
497
+ var VERSION = "1.0.0-alpha.85";
498
498
 
499
499
  // src/lib/signal/graph/state.ts
500
500
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/lib/predicates.ts
4
4
  function isFunction(value) {
@@ -392,7 +392,7 @@ function makeArrayFlat(values) {
392
392
  }
393
393
 
394
394
  // src/version.generated.ts
395
- var VERSION = "1.0.0-alpha.84";
395
+ var VERSION = "1.0.0-alpha.85";
396
396
 
397
397
  // src/lib/signal/graph/state.ts
398
398
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -97,7 +97,7 @@ __export(index_exports, {
97
97
  module.exports = __toCommonJS(index_exports);
98
98
 
99
99
  // src/version.generated.ts
100
- var VERSION = "1.0.0-alpha.84";
100
+ var VERSION = "1.0.0-alpha.85";
101
101
 
102
102
  // src/lib/signal/graph/state.ts
103
103
  var MAJOR = VERSION.split(".")[0];
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.84";
4
+ var VERSION = "1.0.0-alpha.85";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -27,7 +27,7 @@ __export(list_exports, {
27
27
  module.exports = __toCommonJS(list_exports);
28
28
 
29
29
  // src/version.generated.ts
30
- var VERSION = "1.0.0-alpha.84";
30
+ var VERSION = "1.0.0-alpha.85";
31
31
 
32
32
  // src/lib/signal/graph/state.ts
33
33
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -25,7 +25,7 @@ __export(resource_api_exports, {
25
25
  module.exports = __toCommonJS(resource_api_exports);
26
26
 
27
27
  // src/version.generated.ts
28
- var VERSION = "1.0.0-alpha.84";
28
+ var VERSION = "1.0.0-alpha.85";
29
29
 
30
30
  // src/lib/signal/graph/state.ts
31
31
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.84";
2
+ var VERSION = "1.0.0-alpha.85";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -468,7 +468,7 @@ function makeArrayFlat(values) {
468
468
  }
469
469
 
470
470
  // src/version.generated.ts
471
- var VERSION = "1.0.0-alpha.84";
471
+ var VERSION = "1.0.0-alpha.85";
472
472
 
473
473
  // src/lib/signal/graph/state.ts
474
474
  var MAJOR = VERSION.split(".")[0];
@@ -390,7 +390,7 @@ function makeArrayFlat(values) {
390
390
  }
391
391
 
392
392
  // src/version.generated.ts
393
- var VERSION = "1.0.0-alpha.84";
393
+ var VERSION = "1.0.0-alpha.85";
394
394
 
395
395
  // src/lib/signal/graph/state.ts
396
396
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -45,7 +45,7 @@ __export(utilities_exports, {
45
45
  module.exports = __toCommonJS(utilities_exports);
46
46
 
47
47
  // src/version.generated.ts
48
- var VERSION = "1.0.0-alpha.84";
48
+ var VERSION = "1.0.0-alpha.85";
49
49
 
50
50
  // src/lib/signal/graph/state.ts
51
51
  var MAJOR = VERSION.split(".")[0];
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.84 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.85 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.84";
4
+ var VERSION = "1.0.0-alpha.85";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -28,7 +28,7 @@ module.exports = __toCommonJS(api_exports);
28
28
  var import_signal = require("@fluixi/reactive/signal");
29
29
 
30
30
  // src/version.generated.ts
31
- var VERSION = "1.0.0-alpha.84";
31
+ var VERSION = "1.0.0-alpha.85";
32
32
 
33
33
  // src/lib/signal/graph/state.ts
34
34
  var MAJOR = VERSION.split(".")[0];
@@ -373,12 +373,61 @@ function applySet(root, args) {
373
373
  mergeInto(root, first);
374
374
  return;
375
375
  }
376
- if (Array.isArray(args[1]) && args.length >= 3) {
377
- applyPath(root, `${first}.${args[1].join(".")}`, args[2]);
376
+ if (args.length >= 3) {
377
+ setDeep(root, args.slice(0, -1), args[args.length - 1]);
378
378
  return;
379
379
  }
380
380
  applyPath(root, String(first), args[1]);
381
381
  }
382
+ function selectKeys(current, selector) {
383
+ if (typeof selector === "function") {
384
+ if (!Array.isArray(current)) return [];
385
+ const keys = [];
386
+ for (let i = 0; i < current.length; i++) if (selector(current[i], i)) keys.push(i);
387
+ return keys;
388
+ }
389
+ if (Array.isArray(selector)) {
390
+ return Array.isArray(current) ? selector.map(Number) : selector.map(String);
391
+ }
392
+ if (selector && typeof selector === "object" && ("from" in selector || "to" in selector || "by" in selector)) {
393
+ if (!Array.isArray(current)) return [];
394
+ const by = selector.by ?? 1;
395
+ const from = selector.from ?? 0;
396
+ const to = selector.to ?? current.length - 1;
397
+ const keys = [];
398
+ for (let i = from; i <= to; i += by) if (i >= 0 && i < current.length) keys.push(i);
399
+ return keys;
400
+ }
401
+ if (selector === "*") {
402
+ return Array.isArray(current) ? current.map((_, i) => i) : Object.keys(current ?? {});
403
+ }
404
+ return [selector];
405
+ }
406
+ function setDeep(current, selectors, value) {
407
+ if (current == null) return;
408
+ const [head, ...rest] = selectors;
409
+ if (typeof head === "string") {
410
+ const parts = parsePath(head);
411
+ if (parts.length > 1) {
412
+ setDeep(current, [...parts, ...rest], value);
413
+ return;
414
+ }
415
+ }
416
+ const keys = selectKeys(current, head);
417
+ if (rest.length === 0) {
418
+ for (const key of keys) writeKey(current, key, nextValue(value, current[key]));
419
+ return;
420
+ }
421
+ for (const key of keys) {
422
+ let next = current[key];
423
+ if (next == null || typeof next !== "object") {
424
+ const lookahead = rest[0];
425
+ next = typeof lookahead === "number" || /^\d+$/.test(String(lookahead)) ? [] : {};
426
+ writeKey(current, key, next);
427
+ }
428
+ setDeep(next, rest, value);
429
+ }
430
+ }
382
431
  function clone(value) {
383
432
  if (value == null || typeof value !== "object") return value;
384
433
  if (Array.isArray(value)) return value.map(clone);