@fluixi/reactive 1.0.0-alpha.100

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 (211) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +280 -0
  3. package/dist/cdn/reactive.cjs +2803 -0
  4. package/dist/cdn/reactive.d.ts +11 -0
  5. package/dist/cdn/reactive.d.ts.map +1 -0
  6. package/dist/cdn/reactive.global.js +2 -0
  7. package/dist/cdn/reactive.js +10 -0
  8. package/dist/cdn/reactive.mjs +2787 -0
  9. package/dist/cdn/signal.cjs +299 -0
  10. package/dist/cdn/signal.d.ts +19 -0
  11. package/dist/cdn/signal.d.ts.map +1 -0
  12. package/dist/cdn/signal.global.js +2 -0
  13. package/dist/cdn/signal.js +18 -0
  14. package/dist/cdn/signal.mjs +276 -0
  15. package/dist/index.cjs +2803 -0
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +1 -0
  19. package/dist/index.mjs +2787 -0
  20. package/dist/lib/index.cjs +2804 -0
  21. package/dist/lib/index.d.ts +8 -0
  22. package/dist/lib/index.d.ts.map +1 -0
  23. package/dist/lib/index.js +11 -0
  24. package/dist/lib/index.mjs +2789 -0
  25. package/dist/lib/observable/index.cjs +386 -0
  26. package/dist/lib/observable/index.d.ts +4 -0
  27. package/dist/lib/observable/index.d.ts.map +1 -0
  28. package/dist/lib/observable/index.js +3 -0
  29. package/dist/lib/observable/index.mjs +364 -0
  30. package/dist/lib/observable/observable.cjs +384 -0
  31. package/dist/lib/observable/observable.d.ts +246 -0
  32. package/dist/lib/observable/observable.d.ts.map +1 -0
  33. package/dist/lib/observable/observable.js +268 -0
  34. package/dist/lib/observable/observable.mjs +361 -0
  35. package/dist/lib/observable/subscription.cjs +180 -0
  36. package/dist/lib/observable/subscription.d.ts +58 -0
  37. package/dist/lib/observable/subscription.d.ts.map +1 -0
  38. package/dist/lib/observable/subscription.js +177 -0
  39. package/dist/lib/observable/subscription.mjs +157 -0
  40. package/dist/lib/observable/types.cjs +18 -0
  41. package/dist/lib/observable/types.d.ts +44 -0
  42. package/dist/lib/observable/types.d.ts.map +1 -0
  43. package/dist/lib/observable/types.js +1 -0
  44. package/dist/lib/observable/types.mjs +0 -0
  45. package/dist/lib/predicates.cjs +44 -0
  46. package/dist/lib/predicates.d.ts +37 -0
  47. package/dist/lib/predicates.d.ts.map +1 -0
  48. package/dist/lib/predicates.js +62 -0
  49. package/dist/lib/predicates.mjs +23 -0
  50. package/dist/lib/signal/api.cjs +592 -0
  51. package/dist/lib/signal/api.d.ts +227 -0
  52. package/dist/lib/signal/api.d.ts.map +1 -0
  53. package/dist/lib/signal/api.js +228 -0
  54. package/dist/lib/signal/api.mjs +569 -0
  55. package/dist/lib/signal/cached-resource.cjs +726 -0
  56. package/dist/lib/signal/cached-resource.d.ts +86 -0
  57. package/dist/lib/signal/cached-resource.d.ts.map +1 -0
  58. package/dist/lib/signal/cached-resource.js +250 -0
  59. package/dist/lib/signal/cached-resource.mjs +704 -0
  60. package/dist/lib/signal/graph/children.cjs +326 -0
  61. package/dist/lib/signal/graph/children.d.ts +2 -0
  62. package/dist/lib/signal/graph/children.d.ts.map +1 -0
  63. package/dist/lib/signal/graph/children.js +30 -0
  64. package/dist/lib/signal/graph/children.mjs +303 -0
  65. package/dist/lib/signal/graph/compat.cjs +590 -0
  66. package/dist/lib/signal/graph/compat.d.ts +66 -0
  67. package/dist/lib/signal/graph/compat.d.ts.map +1 -0
  68. package/dist/lib/signal/graph/compat.js +197 -0
  69. package/dist/lib/signal/graph/compat.mjs +568 -0
  70. package/dist/lib/signal/graph/core.cjs +295 -0
  71. package/dist/lib/signal/graph/core.d.ts +99 -0
  72. package/dist/lib/signal/graph/core.d.ts.map +1 -0
  73. package/dist/lib/signal/graph/core.js +268 -0
  74. package/dist/lib/signal/graph/core.mjs +273 -0
  75. package/dist/lib/signal/graph/debounced.cjs +680 -0
  76. package/dist/lib/signal/graph/debounced.d.ts +67 -0
  77. package/dist/lib/signal/graph/debounced.d.ts.map +1 -0
  78. package/dist/lib/signal/graph/debounced.js +92 -0
  79. package/dist/lib/signal/graph/debounced.mjs +657 -0
  80. package/dist/lib/signal/graph/derived.cjs +508 -0
  81. package/dist/lib/signal/graph/derived.d.ts +14 -0
  82. package/dist/lib/signal/graph/derived.d.ts.map +1 -0
  83. package/dist/lib/signal/graph/derived.js +65 -0
  84. package/dist/lib/signal/graph/derived.mjs +485 -0
  85. package/dist/lib/signal/graph/detect.cjs +66 -0
  86. package/dist/lib/signal/graph/detect.d.ts +17 -0
  87. package/dist/lib/signal/graph/detect.d.ts.map +1 -0
  88. package/dist/lib/signal/graph/detect.js +39 -0
  89. package/dist/lib/signal/graph/detect.mjs +45 -0
  90. package/dist/lib/signal/graph/error-boundary.cjs +313 -0
  91. package/dist/lib/signal/graph/error-boundary.d.ts +16 -0
  92. package/dist/lib/signal/graph/error-boundary.d.ts.map +1 -0
  93. package/dist/lib/signal/graph/error-boundary.js +34 -0
  94. package/dist/lib/signal/graph/error-boundary.mjs +290 -0
  95. package/dist/lib/signal/graph/index.cjs +305 -0
  96. package/dist/lib/signal/graph/index.d.ts +22 -0
  97. package/dist/lib/signal/graph/index.d.ts.map +1 -0
  98. package/dist/lib/signal/graph/index.js +21 -0
  99. package/dist/lib/signal/graph/index.mjs +283 -0
  100. package/dist/lib/signal/graph/observe.cjs +198 -0
  101. package/dist/lib/signal/graph/observe.d.ts +185 -0
  102. package/dist/lib/signal/graph/observe.d.ts.map +1 -0
  103. package/dist/lib/signal/graph/observe.js +198 -0
  104. package/dist/lib/signal/graph/observe.mjs +175 -0
  105. package/dist/lib/signal/graph/resource.cjs +632 -0
  106. package/dist/lib/signal/graph/resource.d.ts +39 -0
  107. package/dist/lib/signal/graph/resource.d.ts.map +1 -0
  108. package/dist/lib/signal/graph/resource.js +165 -0
  109. package/dist/lib/signal/graph/resource.mjs +609 -0
  110. package/dist/lib/signal/graph/runtime.cjs +522 -0
  111. package/dist/lib/signal/graph/runtime.d.ts +80 -0
  112. package/dist/lib/signal/graph/runtime.d.ts.map +1 -0
  113. package/dist/lib/signal/graph/runtime.js +358 -0
  114. package/dist/lib/signal/graph/runtime.mjs +499 -0
  115. package/dist/lib/signal/graph/signal-next.cjs +1249 -0
  116. package/dist/lib/signal/graph/signal-next.d.ts +38 -0
  117. package/dist/lib/signal/graph/signal-next.d.ts.map +1 -0
  118. package/dist/lib/signal/graph/signal-next.js +44 -0
  119. package/dist/lib/signal/graph/signal-next.mjs +1227 -0
  120. package/dist/lib/signal/graph/ssr-hooks.cjs +89 -0
  121. package/dist/lib/signal/graph/ssr-hooks.d.ts +51 -0
  122. package/dist/lib/signal/graph/ssr-hooks.d.ts.map +1 -0
  123. package/dist/lib/signal/graph/ssr-hooks.js +80 -0
  124. package/dist/lib/signal/graph/ssr-hooks.mjs +68 -0
  125. package/dist/lib/signal/graph/state.cjs +72 -0
  126. package/dist/lib/signal/graph/state.d.ts +76 -0
  127. package/dist/lib/signal/graph/state.d.ts.map +1 -0
  128. package/dist/lib/signal/graph/state.js +99 -0
  129. package/dist/lib/signal/graph/state.mjs +49 -0
  130. package/dist/lib/signal/graph/suspense.cjs +313 -0
  131. package/dist/lib/signal/graph/suspense.d.ts +13 -0
  132. package/dist/lib/signal/graph/suspense.d.ts.map +1 -0
  133. package/dist/lib/signal/graph/suspense.js +36 -0
  134. package/dist/lib/signal/graph/suspense.mjs +290 -0
  135. package/dist/lib/signal/index-legacy.cjs +2582 -0
  136. package/dist/lib/signal/index-legacy.d.ts +12 -0
  137. package/dist/lib/signal/index-legacy.d.ts.map +1 -0
  138. package/dist/lib/signal/index-legacy.js +11 -0
  139. package/dist/lib/signal/index-legacy.mjs +2560 -0
  140. package/dist/lib/signal/index.cjs +1350 -0
  141. package/dist/lib/signal/index.d.ts +19 -0
  142. package/dist/lib/signal/index.d.ts.map +1 -0
  143. package/dist/lib/signal/index.js +19 -0
  144. package/dist/lib/signal/index.mjs +1328 -0
  145. package/dist/lib/signal/list.cjs +561 -0
  146. package/dist/lib/signal/list.d.ts +39 -0
  147. package/dist/lib/signal/list.d.ts.map +1 -0
  148. package/dist/lib/signal/list.js +172 -0
  149. package/dist/lib/signal/list.mjs +538 -0
  150. package/dist/lib/signal/resource-api.cjs +638 -0
  151. package/dist/lib/signal/resource-api.d.ts +19 -0
  152. package/dist/lib/signal/resource-api.d.ts.map +1 -0
  153. package/dist/lib/signal/resource-api.js +27 -0
  154. package/dist/lib/signal/resource-api.mjs +615 -0
  155. package/dist/lib/signal/signal.cjs +2035 -0
  156. package/dist/lib/signal/signal.d.ts +303 -0
  157. package/dist/lib/signal/signal.d.ts.map +1 -0
  158. package/dist/lib/signal/signal.js +1233 -0
  159. package/dist/lib/signal/signal.mjs +2012 -0
  160. package/dist/lib/signal/types.cjs +38 -0
  161. package/dist/lib/signal/types.d.ts +133 -0
  162. package/dist/lib/signal/types.d.ts.map +1 -0
  163. package/dist/lib/signal/types.js +38 -0
  164. package/dist/lib/signal/types.mjs +17 -0
  165. package/dist/lib/signal/utilities.cjs +1024 -0
  166. package/dist/lib/signal/utilities.d.ts +247 -0
  167. package/dist/lib/signal/utilities.d.ts.map +1 -0
  168. package/dist/lib/signal/utilities.js +346 -0
  169. package/dist/lib/signal/utilities.mjs +1002 -0
  170. package/dist/lib/store/api.cjs +662 -0
  171. package/dist/lib/store/api.d.ts +40 -0
  172. package/dist/lib/store/api.d.ts.map +1 -0
  173. package/dist/lib/store/api.js +63 -0
  174. package/dist/lib/store/api.mjs +646 -0
  175. package/dist/lib/store/index.cjs +741 -0
  176. package/dist/lib/store/index.d.ts +16 -0
  177. package/dist/lib/store/index.d.ts.map +1 -0
  178. package/dist/lib/store/index.js +13 -0
  179. package/dist/lib/store/index.mjs +726 -0
  180. package/dist/lib/store/setter.types.cjs +18 -0
  181. package/dist/lib/store/setter.types.d.ts +131 -0
  182. package/dist/lib/store/setter.types.d.ts.map +1 -0
  183. package/dist/lib/store/setter.types.js +65 -0
  184. package/dist/lib/store/setter.types.mjs +0 -0
  185. package/dist/lib/store/store.cjs +708 -0
  186. package/dist/lib/store/store.d.ts +142 -0
  187. package/dist/lib/store/store.d.ts.map +1 -0
  188. package/dist/lib/store/store.js +812 -0
  189. package/dist/lib/store/store.mjs +694 -0
  190. package/dist/lib/store/types.cjs +18 -0
  191. package/dist/lib/store/types.d.ts +57 -0
  192. package/dist/lib/store/types.d.ts.map +1 -0
  193. package/dist/lib/store/types.js +1 -0
  194. package/dist/lib/store/types.mjs +0 -0
  195. package/dist/lib/store/utils.cjs +43 -0
  196. package/dist/lib/store/utils.d.ts +13 -0
  197. package/dist/lib/store/utils.d.ts.map +1 -0
  198. package/dist/lib/store/utils.js +29 -0
  199. package/dist/lib/store/utils.mjs +22 -0
  200. package/dist/lib/subject.cjs +450 -0
  201. package/dist/lib/subject.d.ts +14 -0
  202. package/dist/lib/subject.d.ts.map +1 -0
  203. package/dist/lib/subject.js +81 -0
  204. package/dist/lib/subject.mjs +427 -0
  205. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  206. package/dist/version.generated.cjs +27 -0
  207. package/dist/version.generated.d.ts +3 -0
  208. package/dist/version.generated.d.ts.map +1 -0
  209. package/dist/version.generated.js +3 -0
  210. package/dist/version.generated.mjs +7 -0
  211. package/package.json +115 -0
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/lib/store/setter.types.ts
17
+ var setter_types_exports = {};
18
+ module.exports = __toCommonJS(setter_types_exports);
@@ -0,0 +1,131 @@
1
+ import type { GetAtPath } from '@fluixi/utils/object';
2
+ export type Primitive = string | number | boolean | bigint | symbol | null | undefined | Date | Function;
3
+ export type AnyObject = Record<string, any>;
4
+ export type Callback<T> = (prev: T) => T;
5
+ export interface RangeSelector {
6
+ from?: number;
7
+ to?: number;
8
+ by?: number;
9
+ }
10
+ type Decrement = [never, 0, 1, 2, 3, 4, 5, 6];
11
+ type ArrayElement<T> = T extends readonly (infer U)[] ? U : T extends (infer U)[] ? U : never;
12
+ type SelectorInternal<T, Prefix extends string = '', Depth extends number = 4> = Depth extends 0 ? never : T extends Primitive ? never : T extends readonly (infer U)[] ? `${Prefix}[*]` | `${Prefix}[${number}]` | SelectorInternal<U, `${Prefix}[*].`, Decrement[Depth]> : T extends object ? {
13
+ [K in keyof T & string]: `${Prefix}${K}` | SelectorInternal<T[K], `${Prefix}${K}.`, Decrement[Depth]>;
14
+ }[keyof T & string] : never;
15
+ /**
16
+ * Cached selector type.
17
+ *
18
+ * Examples:
19
+ *
20
+ * users
21
+ * users[*]
22
+ * users[0]
23
+ * users[*].name
24
+ * users[*].posts[*].title
25
+ */
26
+ export type Selector<T> = SelectorInternal<T>;
27
+ type _ResolvePath<T, P extends string> = P extends `${infer Head}.${infer Tail}` ? ResolveSegment<T, Head> extends infer Next ? _ResolvePath<Next, Tail> : never : P extends `${infer Left}[${infer Index}]${infer Right}` ? Left extends '' ? ResolveSegment<T, `[${Index}]`> extends infer Next ? _ResolvePath<Next, Right extends `.${infer R}` ? R : Right> : never : ResolveSegment<T, Left> extends infer Next ? _ResolvePath<Next, `[${Index}]${Right}`> : never : ResolveSegment<T, P>;
28
+ type ResolvePath<T, P extends string> = _ResolvePath<T, P> & GetAtPath<T, P>;
29
+ type ResolveSegment<T, Segment extends string> = Segment extends keyof T ? T[Segment] : Segment extends '[*]' ? T extends readonly (infer U)[] ? U[] : never : Segment extends `[${number}]` ? T extends readonly (infer U)[] ? U : never : T;
30
+ export type PathValue<T, P extends string> = ResolvePath<T, P>;
31
+ export type UpdateValue<V> = V extends Primitive ? V | ((prev: V) => V) : V | Partial<V> | DeepReadonly<V> | Partial<DeepReadonly<V>> | ((prev: V) => V);
32
+ /**
33
+ * The shape a store hands back when read, which the setter also accepts.
34
+ *
35
+ * `set(untrackStore(other))` is a call the setter handles fine, it copies values out
36
+ * of what it is given and never writes to it, but a mutable-only input type rejected
37
+ * it, so every such site needed a cast.
38
+ */
39
+ export type DeepReadonly<T> = T extends ImmutablePrimitive ? T : T extends Array<infer U> ? ReadonlyArray<DeepReadonly<U>> : T extends Map<infer K, infer V> ? ReadonlyMap<DeepReadonly<K>, DeepReadonly<V>> : T extends Set<infer M> ? ReadonlySet<DeepReadonly<M>> : {
40
+ readonly [K in keyof T]: DeepReadonly<T[K]>;
41
+ };
42
+ /** What deep-readonly leaves alone: a value with no interior to freeze. */
43
+ type ImmutablePrimitive = Primitive | RegExp | Blob;
44
+ export type Predicate<T> = (item: T, index: number) => boolean;
45
+ export type ArrayStoreMethods<T extends readonly any[]> = {
46
+ push(...items: ArrayElement<T>[]): void;
47
+ pop(): ArrayElement<T> | undefined;
48
+ shift(): ArrayElement<T> | undefined;
49
+ unshift(...items: ArrayElement<T>[]): void;
50
+ insert(index: number, value: ArrayElement<T>): void;
51
+ remove(index: number): void;
52
+ move(from: number, to: number): void;
53
+ reverse(): void;
54
+ sort(compareFn?: (a: ArrayElement<T>, b: ArrayElement<T>) => number): void;
55
+ splice(start: number, deleteCount?: number, ...items: ArrayElement<T>[]): ArrayElement<T>[];
56
+ };
57
+ type RootSetterArgs<T> = [value: UpdateValue<T>];
58
+ type PathSetterArgs<T> = [
59
+ key: Selector<T>,
60
+ value: UpdateValue<PathValue<T, Selector<T>>>
61
+ ];
62
+ type IndexSetterArgs<T> = [key: Selector<T>, index: number, value: any];
63
+ type IndicesSetterArgs<T> = [
64
+ key: Selector<T>,
65
+ indices: readonly number[],
66
+ value: any
67
+ ];
68
+ type RangeSetterArgs<T> = [key: Selector<T>, range: RangeSelector, value: any];
69
+ type PredicateSetterArgs<T> = [
70
+ key: Selector<T>,
71
+ predicate: Predicate<any>,
72
+ value: any
73
+ ];
74
+ type PropertySetterArgs<T> = [
75
+ key: Selector<T>,
76
+ index: number,
77
+ property: string,
78
+ value: any
79
+ ];
80
+ export type SetterArgs<T> = RootSetterArgs<T> | PathSetterArgs<T> | IndexSetterArgs<T> | IndicesSetterArgs<T> | RangeSetterArgs<T> | PredicateSetterArgs<T> | PropertySetterArgs<T>;
81
+ /**
82
+ * The methods `createStore` hangs off the setter.
83
+ *
84
+ * They were attached at runtime and absent from this type, so every one of them was an
85
+ * error at the call site despite working. Each takes a dot path, or no path at all
86
+ * where the root is the target.
87
+ */
88
+ export interface StoreSetterMethods<T> {
89
+ /** Read the current state without subscribing. */
90
+ get(): T;
91
+ /** Read a slice without subscribing. */
92
+ select<U>(selector: (state: T) => U): U;
93
+ /** Run `fn` on every change to the selected slice. */
94
+ watch<U>(selector: (state: T) => U, fn: (value: U) => void): () => void;
95
+ /** Subscribe to whole-state changes. */
96
+ subscribe(fn: (state: T) => void): () => void;
97
+ /** Mutate a draft; the result is applied as one change. */
98
+ produce(recipe: (draft: T) => void): void;
99
+ /** Merge `value` in, keeping the nodes of anything that compares equal. */
100
+ reconcile(value: T, options?: {
101
+ key?: string;
102
+ merge?: boolean;
103
+ }): void;
104
+ push(path: string, ...items: unknown[]): void;
105
+ pop(path: string): unknown;
106
+ shift(path: string): unknown;
107
+ splice(path: string, start: number, deleteCount: number, ...items: unknown[]): unknown[];
108
+ insert(path: string, index: number, value: unknown): void;
109
+ removeAt(path: string, index: number): unknown[];
110
+ /** Swap a whole value instead of merging into it. No path means the root. */
111
+ replace(value: unknown): void;
112
+ replace(path: string, value: unknown): void;
113
+ /** Empty an array, or strip an object's keys. No path means the root. */
114
+ clear(path?: string): void;
115
+ /** The plain, non-reactive value. */
116
+ unwrap(): T;
117
+ toObservable(): unknown;
118
+ /** The reactive accessor for a path. */
119
+ $(path?: string): unknown;
120
+ }
121
+ export interface SetStoreFunction<T> extends StoreSetterMethods<T> {
122
+ (value: UpdateValue<T>): void;
123
+ <P extends string>(path: P & Selector<T>, value: ResolvePath<T, P> | Partial<ResolvePath<T, P>> | DeepReadonly<ResolvePath<T, P>> | GetAtPath<T, P>): void;
124
+ <P extends string>(path: P & Selector<T>, updater: (prev: ResolvePath<T, P>) => ResolvePath<T, P>): void;
125
+ <P extends string, K extends keyof ArrayElement<ResolvePath<T, P>>>(path: P & Selector<T>, index: number | number[] | RangeSelector | Predicate<ArrayElement<ResolvePath<T, P>>>, column: K, value: UpdateValue<ArrayElement<ResolvePath<T, P>>[K]>): void;
126
+ <P extends string>(path: P & Selector<T>, index: number | number[] | RangeSelector | Predicate<ArrayElement<ResolvePath<T, P>>>, value: UpdateValue<ArrayElement<ResolvePath<T, P>>>): void;
127
+ <K1 extends keyof T, K2 extends keyof T[K1], V extends T[K1][K2]>(k1: K1, k2: K2, value: UpdateValue<V>): void;
128
+ }
129
+ export type SetStore<T> = SetStoreFunction<T> & (T extends readonly any[] ? ArrayStoreMethods<T> : {});
130
+ export {};
131
+ //# sourceMappingURL=setter.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setter.types.d.ts","sourceRoot":"","sources":["../../../src/lib/store/setter.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ export {};
2
+ /* ============================================================
3
+ * Example
4
+ * ============================================================ */
5
+ /*
6
+
7
+ type State = {
8
+ users: {
9
+ id: number;
10
+ name: string;
11
+ posts: {
12
+ title: string;
13
+ }[];
14
+ }[];
15
+
16
+ count: number;
17
+ };
18
+
19
+ declare const set: SetStoreFunction<State>;
20
+
21
+ set({
22
+ count: 5
23
+ });
24
+
25
+ set(
26
+ "count",
27
+ 5
28
+ );
29
+
30
+ set(
31
+ "users[*].name",
32
+ "John"
33
+ );
34
+
35
+ set(
36
+ "users[0].posts[*].title",
37
+ "Hello"
38
+ );
39
+
40
+ set(
41
+ "users",
42
+ 0,
43
+ {
44
+ id: 1,
45
+ name: "John"
46
+ }
47
+ );
48
+
49
+ set(
50
+ "users",
51
+ [0, 2, 4],
52
+ {
53
+ name: "Updated"
54
+ }
55
+ );
56
+
57
+ set(
58
+ "users",
59
+ (user) => user.id > 5,
60
+ {
61
+ name: "Filtered"
62
+ }
63
+ );
64
+
65
+ */
File without changes