@oscarpalmer/mora 0.19.0 → 0.21.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/dist/helpers/proxy.cjs +1 -1
- package/dist/helpers/proxy.js +1 -1
- package/dist/mora.full.js +44 -8
- package/dist/value/array.cjs +32 -5
- package/dist/value/array.js +32 -5
- package/dist/value/signal.cjs +1 -1
- package/dist/value/signal.js +1 -1
- package/dist/value/store.cjs +19 -1
- package/dist/value/store.js +19 -1
- package/package.json +3 -3
- package/src/batch.ts +1 -1
- package/src/helpers/proxy.ts +29 -29
- package/src/subscription.ts +2 -2
- package/src/value/array.ts +65 -7
- package/src/value/reactive.ts +2 -1
- package/src/value/signal.ts +1 -1
- package/src/value/store.ts +49 -2
- package/types/batch.d.cts +5 -5
- package/types/batch.d.ts +1 -1
- package/types/helpers/is.d.cts +41 -6
- package/types/helpers/proxy.d.cts +43 -8
- package/types/helpers/proxy.d.ts +2 -2
- package/types/helpers/value.d.cts +4 -4
- package/types/index.d.cts +41 -6
- package/types/subscription.d.cts +4 -4
- package/types/subscription.d.ts +3 -3
- package/types/value/array.d.cts +24 -5
- package/types/value/array.d.ts +21 -1
- package/types/value/computed.d.cts +4 -4
- package/types/value/reactive.d.cts +4 -4
- package/types/value/reactive.d.ts +2 -1
- package/types/value/signal.d.cts +5 -5
- package/types/value/signal.d.ts +1 -1
- package/types/value/store.d.cts +20 -4
- package/types/value/store.d.ts +17 -0
package/types/value/signal.d.cts
CHANGED
|
@@ -52,13 +52,13 @@ export type ReactiveState<Value, Equal> = {
|
|
|
52
52
|
computeds: Set<Computed<unknown>>;
|
|
53
53
|
effects: Set<Effect>;
|
|
54
54
|
equal: (first: Equal, second: Equal) => boolean;
|
|
55
|
-
subscriptions: Map<
|
|
55
|
+
subscriptions: Map<GenericCallback, Subscription>;
|
|
56
56
|
value: Value;
|
|
57
57
|
};
|
|
58
|
-
declare class Subscription
|
|
59
|
-
state: ReactiveState<
|
|
58
|
+
declare class Subscription {
|
|
59
|
+
state: ReactiveState<unknown, never>;
|
|
60
60
|
callback: GenericCallback;
|
|
61
|
-
constructor(state: ReactiveState<
|
|
61
|
+
constructor(state: ReactiveState<unknown, never>, callback: GenericCallback);
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Unsubscribe from changes
|
|
@@ -75,7 +75,7 @@ export declare class Signal<Value> extends Reactive<Value> {
|
|
|
75
75
|
*/
|
|
76
76
|
set(value: Value): void;
|
|
77
77
|
/**
|
|
78
|
-
* Update the value
|
|
78
|
+
* Update the value _(based on the current value)_
|
|
79
79
|
*/
|
|
80
80
|
update(callback: (value: Value) => Value): void;
|
|
81
81
|
}
|
package/types/value/signal.d.ts
CHANGED
package/types/value/store.d.cts
CHANGED
|
@@ -60,13 +60,13 @@ export type ReactiveState<Value, Equal> = {
|
|
|
60
60
|
computeds: Set<Computed<unknown>>;
|
|
61
61
|
effects: Set<Effect>;
|
|
62
62
|
equal: (first: Equal, second: Equal) => boolean;
|
|
63
|
-
subscriptions: Map<
|
|
63
|
+
subscriptions: Map<GenericCallback, Subscription>;
|
|
64
64
|
value: Value;
|
|
65
65
|
};
|
|
66
|
-
declare class Subscription
|
|
67
|
-
state: ReactiveState<
|
|
66
|
+
declare class Subscription {
|
|
67
|
+
state: ReactiveState<unknown, never>;
|
|
68
68
|
callback: GenericCallback;
|
|
69
|
-
constructor(state: ReactiveState<
|
|
69
|
+
constructor(state: ReactiveState<unknown, never>, callback: GenericCallback);
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
72
|
* Unsubscribe from changes
|
|
@@ -111,6 +111,22 @@ export declare class Store<Value extends PlainObject> extends Reactive<Value, Va
|
|
|
111
111
|
* Set a value by key
|
|
112
112
|
*/
|
|
113
113
|
set(key: Key, value: unknown): void;
|
|
114
|
+
/**
|
|
115
|
+
* @inheritdoc
|
|
116
|
+
*/
|
|
117
|
+
subscribe(callback: (value: Value) => void): Unsubscribe;
|
|
118
|
+
/**
|
|
119
|
+
* Subscribe to changes for a specific key
|
|
120
|
+
*/
|
|
121
|
+
subscribe<Key extends keyof Value>(key: Key, callback: (value: Value[Key] | undefined) => void): Unsubscribe;
|
|
122
|
+
/**
|
|
123
|
+
* Subscribe to changes for a specific key
|
|
124
|
+
*/
|
|
125
|
+
subscribe(key: Key, callback: (value: unknown) => void): Unsubscribe;
|
|
126
|
+
/**
|
|
127
|
+
* Update the value _(based on the current value)_
|
|
128
|
+
*/
|
|
129
|
+
update(callback: (value: Value) => Value): void;
|
|
114
130
|
}
|
|
115
131
|
/**
|
|
116
132
|
* Create a reactive store
|
package/types/value/store.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Key, PlainObject } from '@oscarpalmer/atoms/models';
|
|
2
|
+
import { type Unsubscribe } from '../subscription';
|
|
2
3
|
import { Reactive, type ReactiveOptions } from './reactive';
|
|
3
4
|
export declare class Store<Value extends PlainObject> extends Reactive<Value, Value> {
|
|
4
5
|
#private;
|
|
@@ -39,6 +40,22 @@ export declare class Store<Value extends PlainObject> extends Reactive<Value, Va
|
|
|
39
40
|
* Set a value by key
|
|
40
41
|
*/
|
|
41
42
|
set(key: Key, value: unknown): void;
|
|
43
|
+
/**
|
|
44
|
+
* @inheritdoc
|
|
45
|
+
*/
|
|
46
|
+
subscribe(callback: (value: Value) => void): Unsubscribe;
|
|
47
|
+
/**
|
|
48
|
+
* Subscribe to changes for a specific key
|
|
49
|
+
*/
|
|
50
|
+
subscribe<Key extends keyof Value>(key: Key, callback: (value: Value[Key] | undefined) => void): Unsubscribe;
|
|
51
|
+
/**
|
|
52
|
+
* Subscribe to changes for a specific key
|
|
53
|
+
*/
|
|
54
|
+
subscribe(key: Key, callback: (value: unknown) => void): Unsubscribe;
|
|
55
|
+
/**
|
|
56
|
+
* Update the value _(based on the current value)_
|
|
57
|
+
*/
|
|
58
|
+
update(callback: (value: Value) => Value): void;
|
|
42
59
|
}
|
|
43
60
|
/**
|
|
44
61
|
* Create a reactive store
|