flint-reactivity 4.0.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/README.md +107 -0
- package/dist/compat.d.ts +120 -0
- package/dist/compat.d.ts.map +1 -0
- package/dist/compat.js +229 -0
- package/dist/compat.js.map +1 -0
- package/dist/debug.d.ts +130 -0
- package/dist/debug.d.ts.map +1 -0
- package/dist/debug.js +257 -0
- package/dist/debug.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/signals.d.ts +163 -0
- package/dist/signals.d.ts.map +1 -0
- package/dist/signals.js +757 -0
- package/dist/signals.js.map +1 -0
- package/dist/types-helpers.d.ts +238 -0
- package/dist/types-helpers.d.ts.map +1 -0
- package/dist/types-helpers.js +4 -0
- package/dist/types-helpers.js.map +1 -0
- package/dist/types.d.ts +95 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signals.js","sourceRoot":"","sources":["../src/signals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import type { Signal, Computed, Writable, Readable } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Infer the inner type of a Signal.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* const count = state(0)
|
|
7
|
+
* type Count = InferSignal<typeof count> // number
|
|
8
|
+
*/
|
|
9
|
+
export type InferSignal<T> = T extends Signal<infer V> ? V : never;
|
|
10
|
+
/**
|
|
11
|
+
* Infer the inner type of a Computed.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const doubled = computed(() => count() * 2)
|
|
15
|
+
* type Doubled = InferComputed<typeof doubled> // number
|
|
16
|
+
*/
|
|
17
|
+
export type InferComputed<T> = T extends Computed<infer V> ? V : never;
|
|
18
|
+
/**
|
|
19
|
+
* Infer the inner type of a Writable.
|
|
20
|
+
*/
|
|
21
|
+
export type InferWritable<T> = T extends Writable<infer V> ? V : never;
|
|
22
|
+
/**
|
|
23
|
+
* Infer the inner type of a Readable.
|
|
24
|
+
*/
|
|
25
|
+
export type InferReadable<T> = T extends Readable<infer V> ? V : never;
|
|
26
|
+
/**
|
|
27
|
+
* Extract props type from a component function.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* function Greeting({ name, age }: { name: string; age: number }) { ... }
|
|
31
|
+
* type Props = ComponentProps<typeof Greeting> // { name: string; age: number }
|
|
32
|
+
*/
|
|
33
|
+
export type ComponentProps<T> = T extends (props: infer P) => any ? P : never;
|
|
34
|
+
/**
|
|
35
|
+
* Extract return type from a component function.
|
|
36
|
+
*/
|
|
37
|
+
export type ComponentReturn<T> = T extends (props: any) => infer R ? R : never;
|
|
38
|
+
/**
|
|
39
|
+
* Make all props optional except required ones.
|
|
40
|
+
*/
|
|
41
|
+
export type PartialExcept<T, K extends keyof T> = Partial<T> & Pick<T, K>;
|
|
42
|
+
/**
|
|
43
|
+
* Make all props required except optional ones.
|
|
44
|
+
*/
|
|
45
|
+
export type RequiredExcept<T, K extends keyof T> = Required<T> & Partial<Pick<T, K>>;
|
|
46
|
+
/**
|
|
47
|
+
* Infer form values type from a form configuration.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* const form = useForm({ email: '', password: '' }, ...)
|
|
51
|
+
* type Values = InferFormValues<typeof form> // { email: string; password: string }
|
|
52
|
+
*/
|
|
53
|
+
export type InferFormValues<T> = T extends {
|
|
54
|
+
state: {
|
|
55
|
+
values: Signal<infer V>;
|
|
56
|
+
};
|
|
57
|
+
} ? V : never;
|
|
58
|
+
/**
|
|
59
|
+
* Infer form errors type from a form configuration.
|
|
60
|
+
*/
|
|
61
|
+
export type InferFormErrors<T> = T extends {
|
|
62
|
+
state: {
|
|
63
|
+
errors: Signal<infer E>;
|
|
64
|
+
};
|
|
65
|
+
} ? E : never;
|
|
66
|
+
/**
|
|
67
|
+
* Create a validator type from a value type.
|
|
68
|
+
*/
|
|
69
|
+
export type Validator<T> = (value: T, allValues?: any) => string | null | Promise<string | null>;
|
|
70
|
+
/**
|
|
71
|
+
* Create validators type for a form values object.
|
|
72
|
+
*/
|
|
73
|
+
export type Validators<T> = {
|
|
74
|
+
[K in keyof T]?: Validator<T[K]> | Validator<T[K]>[];
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Infer state type from a store.
|
|
78
|
+
*/
|
|
79
|
+
export type InferStoreState<T> = T extends {
|
|
80
|
+
state: infer S;
|
|
81
|
+
} ? S : never;
|
|
82
|
+
/**
|
|
83
|
+
* Infer actions type from a store.
|
|
84
|
+
*/
|
|
85
|
+
export type InferStoreActions<T> = {
|
|
86
|
+
[K in keyof T]: T[K] extends (...args: any[]) => any ? T[K] : never;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Make a type nullable.
|
|
90
|
+
*/
|
|
91
|
+
export type Nullable<T> = T | null;
|
|
92
|
+
/**
|
|
93
|
+
* Make a type undefined.
|
|
94
|
+
*/
|
|
95
|
+
export type Optional<T> = T | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Make a type nullable or undefined.
|
|
98
|
+
*/
|
|
99
|
+
export type Maybe<T> = T | null | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* Deep readonly type.
|
|
102
|
+
*/
|
|
103
|
+
export type DeepReadonly<T> = {
|
|
104
|
+
readonly [K in keyof T]: T[K] extends object ? DeepReadonly<T[K]> : T[K];
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Deep mutable type.
|
|
108
|
+
*/
|
|
109
|
+
export type DeepMutable<T> = {
|
|
110
|
+
-readonly [K in keyof T]: T[K] extends object ? DeepMutable<T[K]> : T[K];
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Extract only function keys from an object.
|
|
114
|
+
*/
|
|
115
|
+
export type FunctionKeys<T> = {
|
|
116
|
+
[K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;
|
|
117
|
+
}[keyof T];
|
|
118
|
+
/**
|
|
119
|
+
* Extract only non-function keys from an object.
|
|
120
|
+
*/
|
|
121
|
+
export type NonFunctionKeys<T> = {
|
|
122
|
+
[K in keyof T]: T[K] extends (...args: any[]) => any ? never : K;
|
|
123
|
+
}[keyof T];
|
|
124
|
+
/**
|
|
125
|
+
* Pick only function properties.
|
|
126
|
+
*/
|
|
127
|
+
export type PickFunctions<T> = Pick<T, FunctionKeys<T>>;
|
|
128
|
+
/**
|
|
129
|
+
* Pick only non-function properties.
|
|
130
|
+
*/
|
|
131
|
+
export type PickState<T> = Pick<T, NonFunctionKeys<T>>;
|
|
132
|
+
/**
|
|
133
|
+
* Create a union of all method parameter types.
|
|
134
|
+
*/
|
|
135
|
+
export type MethodParams<T> = {
|
|
136
|
+
[K in keyof T]: T[K] extends (...args: infer P) => any ? P : never;
|
|
137
|
+
}[keyof T];
|
|
138
|
+
/**
|
|
139
|
+
* Create a union of all method return types.
|
|
140
|
+
*/
|
|
141
|
+
export type MethodReturns<T> = {
|
|
142
|
+
[K in keyof T]: T[K] extends (...args: any[]) => infer R ? R : never;
|
|
143
|
+
}[keyof T];
|
|
144
|
+
/**
|
|
145
|
+
* Extract event handler type from a props object.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* type ClickHandler = EventHandler<'onClick'> // (e: MouseEvent) => void
|
|
149
|
+
*/
|
|
150
|
+
export type EventHandler<K extends string> = K extends `on${infer E}` ? (event: Lowercase<E> extends 'click' ? MouseEvent : Lowercase<E> extends 'change' ? Event : Lowercase<E> extends 'input' ? Event : Lowercase<E> extends 'submit' ? Event : Lowercase<E> extends 'keydown' ? KeyboardEvent : Lowercase<E> extends 'keyup' ? KeyboardEvent : Lowercase<E> extends 'focus' ? FocusEvent : Lowercase<E> extends 'blur' ? FocusEvent : Lowercase<E> extends 'scroll' ? Event : Lowercase<E> extends 'resize' ? UIEvent : Event) => void : never;
|
|
151
|
+
/**
|
|
152
|
+
* Create event handlers type for common events.
|
|
153
|
+
*/
|
|
154
|
+
export type EventHandlers = {
|
|
155
|
+
onClick?: (e: MouseEvent) => void;
|
|
156
|
+
onInput?: (e: Event) => void;
|
|
157
|
+
onChange?: (e: Event) => void;
|
|
158
|
+
onSubmit?: (e: Event) => void;
|
|
159
|
+
onKeydown?: (e: KeyboardEvent) => void;
|
|
160
|
+
onKeyup?: (e: KeyboardEvent) => void;
|
|
161
|
+
onFocus?: (e: FocusEvent) => void;
|
|
162
|
+
onBlur?: (e: FocusEvent) => void;
|
|
163
|
+
onScroll?: (e: Event) => void;
|
|
164
|
+
onResize?: (e: UIEvent) => void;
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Unwrap a Promise type.
|
|
168
|
+
*/
|
|
169
|
+
export type UnwrapPromise<T> = T extends Promise<infer V> ? V : T;
|
|
170
|
+
/**
|
|
171
|
+
* Make a function return a Promise.
|
|
172
|
+
*/
|
|
173
|
+
export type Async<T> = T extends (...args: infer P) => infer R ? (...args: P) => Promise<R> : never;
|
|
174
|
+
/**
|
|
175
|
+
* Await a Promise and get its type.
|
|
176
|
+
*/
|
|
177
|
+
export type Await<T> = T extends Promise<infer V> ? V : T;
|
|
178
|
+
/**
|
|
179
|
+
* Extract element type from an array.
|
|
180
|
+
*/
|
|
181
|
+
export type ArrayElement<T> = T extends (infer E)[] ? E : never;
|
|
182
|
+
/**
|
|
183
|
+
* Create a tuple type.
|
|
184
|
+
*/
|
|
185
|
+
export type Tuple<T extends any[]> = [...T];
|
|
186
|
+
/**
|
|
187
|
+
* Create a type with N elements.
|
|
188
|
+
*/
|
|
189
|
+
export type TupleOf<T, N extends number> = N extends 0 ? [] : N extends 1 ? [T] : N extends 2 ? [T, T] : N extends 3 ? [T, T, T] : T[];
|
|
190
|
+
/**
|
|
191
|
+
* Capitalize a string type.
|
|
192
|
+
*/
|
|
193
|
+
export type Capitalize<S extends string> = S extends `${infer First}${infer Rest}` ? `${Uppercase<First>}${Rest}` : S;
|
|
194
|
+
/**
|
|
195
|
+
* Uncapitalize a string type.
|
|
196
|
+
*/
|
|
197
|
+
export type Uncapitalize<S extends string> = S extends `${infer First}${infer Rest}` ? `${Lowercase<First>}${Rest}` : S;
|
|
198
|
+
/**
|
|
199
|
+
* CamelCase a string type.
|
|
200
|
+
*/
|
|
201
|
+
export type CamelCase<S extends string> = S extends `${infer First}-${infer Rest}` ? `${First}${Capitalize<CamelCase<Rest>>}` : S;
|
|
202
|
+
/**
|
|
203
|
+
* KebabCase a string type.
|
|
204
|
+
*/
|
|
205
|
+
export type KebabCase<S extends string> = S extends `${infer First}${infer Rest}` ? First extends Uppercase<First> ? `-${Lowercase<First>}${KebabCase<Rest>}` : `${First}${KebabCase<Rest>}` : S;
|
|
206
|
+
/**
|
|
207
|
+
* If type is true, return T, else return F.
|
|
208
|
+
*/
|
|
209
|
+
export type If<C extends boolean, T, F> = C extends true ? T : F;
|
|
210
|
+
/**
|
|
211
|
+
* And type for two boolean types.
|
|
212
|
+
*/
|
|
213
|
+
export type And<A extends boolean, B extends boolean> = A extends true ? B extends true ? true : false : false;
|
|
214
|
+
/**
|
|
215
|
+
* Or type for two boolean types.
|
|
216
|
+
*/
|
|
217
|
+
export type Or<A extends boolean, B extends boolean> = A extends true ? true : B extends true ? true : false;
|
|
218
|
+
/**
|
|
219
|
+
* Not type for a boolean type.
|
|
220
|
+
*/
|
|
221
|
+
export type Not<T extends boolean> = T extends true ? false : true;
|
|
222
|
+
/**
|
|
223
|
+
* Equals type for two types.
|
|
224
|
+
*/
|
|
225
|
+
export type Equals<A, B> = A extends B ? (B extends A ? true : false) : false;
|
|
226
|
+
/**
|
|
227
|
+
* IsNever type.
|
|
228
|
+
*/
|
|
229
|
+
export type IsNever<T> = [T] extends [never] ? true : false;
|
|
230
|
+
/**
|
|
231
|
+
* IsAny type.
|
|
232
|
+
*/
|
|
233
|
+
export type IsAny<T> = 0 extends (1 & T) ? true : false;
|
|
234
|
+
/**
|
|
235
|
+
* IsUnknown type.
|
|
236
|
+
*/
|
|
237
|
+
export type IsUnknown<T> = IsAny<T> extends true ? false : unknown extends T ? true : false;
|
|
238
|
+
//# sourceMappingURL=types-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-helpers.d.ts","sourceRoot":"","sources":["../src/types-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-helpers.js","sourceRoot":"","sources":["../src/types-helpers.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,4CAA4C"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
export type CleanupFn = () => void;
|
|
2
|
+
export interface Readable<T> {
|
|
3
|
+
(): T;
|
|
4
|
+
readonly [SIGNAL_BRAND]: true;
|
|
5
|
+
}
|
|
6
|
+
export interface Writable<T> extends Readable<T> {
|
|
7
|
+
set(value: T | ((prev: T) => T)): void;
|
|
8
|
+
peek(): T;
|
|
9
|
+
/** Subscribe to changes (returns unsubscribe fn) */
|
|
10
|
+
subscribe(fn: (value: T) => void): () => void;
|
|
11
|
+
/** Map transform that creates a new derived signal */
|
|
12
|
+
map<U>(fn: (value: T) => U): Readable<U>;
|
|
13
|
+
/** Pipe through multiple transforms */
|
|
14
|
+
pipe<A>(fn1: (v: T) => A): Readable<A>;
|
|
15
|
+
}
|
|
16
|
+
export interface Computed<T> extends Readable<T> {
|
|
17
|
+
readonly [COMPUTED_BRAND]: true;
|
|
18
|
+
}
|
|
19
|
+
export type Signal<T> = Writable<T>;
|
|
20
|
+
export interface Effect {
|
|
21
|
+
readonly [EFFECT_BRAND]: true;
|
|
22
|
+
dispose(): void;
|
|
23
|
+
}
|
|
24
|
+
export interface WatchHandle {
|
|
25
|
+
dispose(): void;
|
|
26
|
+
}
|
|
27
|
+
export declare const SIGNAL_BRAND: unique symbol;
|
|
28
|
+
export declare const COMPUTED_BRAND: unique symbol;
|
|
29
|
+
export declare const EFFECT_BRAND: unique symbol;
|
|
30
|
+
export type Subscriber = EffectState | ComputedState<any>;
|
|
31
|
+
export interface SignalState<T> {
|
|
32
|
+
kind: 'signal';
|
|
33
|
+
value: T;
|
|
34
|
+
version: number;
|
|
35
|
+
changeVersion: number;
|
|
36
|
+
observers: Set<Subscriber>;
|
|
37
|
+
comparator: (prev: T, next: T) => boolean;
|
|
38
|
+
}
|
|
39
|
+
export interface ComputedState<T> {
|
|
40
|
+
kind: 'computed';
|
|
41
|
+
value: T;
|
|
42
|
+
version: number;
|
|
43
|
+
changeVersion: number;
|
|
44
|
+
dirty: boolean;
|
|
45
|
+
disposed: boolean;
|
|
46
|
+
fn: () => T;
|
|
47
|
+
observers: Set<Subscriber>;
|
|
48
|
+
dependencies: Set<SignalState<any> | ComputedState<any>>;
|
|
49
|
+
tracking: boolean;
|
|
50
|
+
equals?: (prev: T, next: T) => boolean;
|
|
51
|
+
}
|
|
52
|
+
export interface EffectState {
|
|
53
|
+
kind: 'effect';
|
|
54
|
+
fn: () => void | CleanupFn;
|
|
55
|
+
cleanup: CleanupFn | null;
|
|
56
|
+
dependencies: Set<SignalState<any> | ComputedState<any>>;
|
|
57
|
+
tracking: boolean;
|
|
58
|
+
disposed: boolean;
|
|
59
|
+
version: number;
|
|
60
|
+
}
|
|
61
|
+
export interface WatchState<T> {
|
|
62
|
+
kind: 'watch';
|
|
63
|
+
source: () => T;
|
|
64
|
+
callback: (value: T, oldValue: T | undefined) => void;
|
|
65
|
+
lastValue: T | undefined;
|
|
66
|
+
effect: EffectState;
|
|
67
|
+
}
|
|
68
|
+
export interface Selector<T> {
|
|
69
|
+
(key: T): boolean;
|
|
70
|
+
setSelected(key: T): void;
|
|
71
|
+
setSelected(keys: Set<T>): void;
|
|
72
|
+
getSelected(): Set<T>;
|
|
73
|
+
isSelected(key: T): boolean;
|
|
74
|
+
dispose(): void;
|
|
75
|
+
}
|
|
76
|
+
export interface Scope {
|
|
77
|
+
dispose(): void;
|
|
78
|
+
onCleanup(fn: CleanupFn): void;
|
|
79
|
+
get disposed(): boolean;
|
|
80
|
+
}
|
|
81
|
+
export interface ScopeState {
|
|
82
|
+
kind: 'scope';
|
|
83
|
+
disposables: CleanupFn[];
|
|
84
|
+
disposed: boolean;
|
|
85
|
+
parent: ScopeState | null;
|
|
86
|
+
}
|
|
87
|
+
/** Reactive proxy object type */
|
|
88
|
+
export type ReactiveProxy<T> = {
|
|
89
|
+
[K in keyof T]: T[K] extends object ? ReactiveProxy<T[K]> : T[K];
|
|
90
|
+
};
|
|
91
|
+
/** Mutable ref type */
|
|
92
|
+
export interface Ref<T> {
|
|
93
|
+
current: T;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAmC5B,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "flint-reactivity",
|
|
3
|
+
"version": "4.0.0",
|
|
4
|
+
"description": "Flint reactivity — fine-grained signals with model, reactive, bind, derive",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"dev": "tsc --watch",
|
|
18
|
+
"typecheck": "tsc --noEmit"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/node": "^22.12.0",
|
|
22
|
+
"typescript": "^5.7.3"
|
|
23
|
+
},
|
|
24
|
+
"files": ["dist"],
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://github.com/salzcill-cmd/flint.git",
|
|
28
|
+
"directory": "packages/reactivity"
|
|
29
|
+
},
|
|
30
|
+
"bugs": {
|
|
31
|
+
"url": "https://github.com/salzcill-cmd/flint/issues"
|
|
32
|
+
},
|
|
33
|
+
"homepage": "https://github.com/salzcill-cmd/flint#readme",
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=20.0.0"
|
|
36
|
+
},
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"keywords": ["signals", "reactivity", "state", "debug", "flint"]
|
|
42
|
+
}
|