@e280/strata 0.0.0-3 → 0.0.0-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/package.json +1 -1
- package/s/parts/chronstrata.ts +4 -4
- package/s/parts/strata.ts +2 -2
- package/s/parts/substrata.ts +4 -4
- package/s/parts/types.ts +2 -2
- package/s/parts/utils/process-options.ts +1 -1
- package/x/parts/chronstrata.d.ts +4 -4
- package/x/parts/strata.d.ts +2 -2
- package/x/parts/substrata.d.ts +4 -4
- package/x/parts/types.d.ts +2 -2
- package/x/parts/utils/process-options.js +1 -1
- package/x/parts/utils/process-options.js.map +1 -1
package/package.json
CHANGED
package/s/parts/chronstrata.ts
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
import {Substrata} from "./substrata.js"
|
|
3
3
|
import {Chronicle, Mutator, Options, Selector, Stratum, Substate} from "./types.js"
|
|
4
4
|
|
|
5
|
-
export class Chronstrata<
|
|
6
|
-
#substrata: Substrata<
|
|
5
|
+
export class Chronstrata<S extends Substate, ParentState extends Substate = any> implements Stratum<S> {
|
|
6
|
+
#substrata: Substrata<Chronicle<S>, ParentState>
|
|
7
7
|
|
|
8
8
|
constructor(
|
|
9
9
|
public limit: number,
|
|
10
10
|
public parent: Stratum<ParentState>,
|
|
11
|
-
public selector: Selector<
|
|
11
|
+
public selector: Selector<Chronicle<S>, ParentState>,
|
|
12
12
|
public options: Options,
|
|
13
13
|
) {
|
|
14
14
|
this.#substrata = parent.substrata(selector)
|
|
@@ -77,7 +77,7 @@ export class Chronstrata<ParentState extends Substate, S extends Substate> imple
|
|
|
77
77
|
})
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
substrata<Sub extends Substate>(selector: Selector<
|
|
80
|
+
substrata<Sub extends Substate>(selector: Selector<Sub, S>): Substrata<Sub, S> {
|
|
81
81
|
return new Substrata(this, selector, this.options)
|
|
82
82
|
}
|
|
83
83
|
}
|
package/s/parts/strata.ts
CHANGED
|
@@ -51,13 +51,13 @@ export class Strata<S extends State> implements Stratum<S> {
|
|
|
51
51
|
await this.#dispatchMutation()
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
substrata<Sub extends Substate>(selector: Selector<
|
|
54
|
+
substrata<Sub extends Substate>(selector: Selector<Sub, S>): Substrata<Sub, S> {
|
|
55
55
|
return new Substrata(this, selector, this.options)
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
chronstrata<Sub extends Substate>(
|
|
59
59
|
limit: number,
|
|
60
|
-
selector: Selector<
|
|
60
|
+
selector: Selector<Chronicle<Sub>, S>,
|
|
61
61
|
) {
|
|
62
62
|
return new Chronstrata(limit, this, selector, this.options)
|
|
63
63
|
}
|
package/s/parts/substrata.ts
CHANGED
|
@@ -3,7 +3,7 @@ import {debounce, deep, sub} from "@e280/stz"
|
|
|
3
3
|
import {Chronstrata} from "./chronstrata.js"
|
|
4
4
|
import {Chronicle, Mutator, Options, Selector, Stratum, Substate} from "./types.js"
|
|
5
5
|
|
|
6
|
-
export class Substrata<
|
|
6
|
+
export class Substrata<S extends Substate, ParentState extends Substate = any> implements Stratum<S> {
|
|
7
7
|
dispose: () => void
|
|
8
8
|
watch = sub<[state: S]>()
|
|
9
9
|
|
|
@@ -12,7 +12,7 @@ export class Substrata<ParentState extends Substate, S extends Substate> impleme
|
|
|
12
12
|
|
|
13
13
|
constructor(
|
|
14
14
|
private parent: Stratum<ParentState>,
|
|
15
|
-
private selector: Selector<
|
|
15
|
+
private selector: Selector<S, ParentState>,
|
|
16
16
|
private options: Options,
|
|
17
17
|
) {
|
|
18
18
|
|
|
@@ -44,13 +44,13 @@ export class Substrata<ParentState extends Substate, S extends Substate> impleme
|
|
|
44
44
|
return this.#immutable
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
substrata<Sub extends Substate>(selector: Selector<
|
|
47
|
+
substrata<Sub extends Substate>(selector: Selector<Sub, S>): Substrata<Sub, S> {
|
|
48
48
|
return new Substrata(this, selector, this.options)
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
chronstrata<Sub extends Substate>(
|
|
52
52
|
limit: number,
|
|
53
|
-
selector: Selector<
|
|
53
|
+
selector: Selector<Chronicle<Sub>, S>,
|
|
54
54
|
) {
|
|
55
55
|
return new Chronstrata(limit, this, selector, this.options)
|
|
56
56
|
}
|
package/s/parts/types.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type Options = {
|
|
|
5
5
|
clone: <X>(x: X) => X
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
export type Selector<
|
|
8
|
+
export type Selector<Sub, S> = (state: S) => Sub
|
|
9
9
|
export type Mutator<S> = (state: S) => void
|
|
10
10
|
|
|
11
11
|
export type State = {}
|
|
@@ -20,7 +20,7 @@ export type Stratum<S extends Substate> = {
|
|
|
20
20
|
readonly state: S
|
|
21
21
|
watch(fn: (s: S) => void): () => void
|
|
22
22
|
mutate(mutator: Mutator<S>): Promise<S>
|
|
23
|
-
substrata<Sub extends Substate>(selector: Selector<
|
|
23
|
+
substrata<Sub extends Substate>(selector: Selector<Sub, S>): Substrata<Sub, S>
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export type SetupOptions<S extends State> = {
|
package/x/parts/chronstrata.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Substrata } from "./substrata.js";
|
|
2
2
|
import { Chronicle, Mutator, Options, Selector, Stratum, Substate } from "./types.js";
|
|
3
|
-
export declare class Chronstrata<
|
|
3
|
+
export declare class Chronstrata<S extends Substate, ParentState extends Substate = any> implements Stratum<S> {
|
|
4
4
|
#private;
|
|
5
5
|
limit: number;
|
|
6
6
|
parent: Stratum<ParentState>;
|
|
7
|
-
selector: Selector<
|
|
7
|
+
selector: Selector<Chronicle<S>, ParentState>;
|
|
8
8
|
options: Options;
|
|
9
|
-
constructor(limit: number, parent: Stratum<ParentState>, selector: Selector<
|
|
9
|
+
constructor(limit: number, parent: Stratum<ParentState>, selector: Selector<Chronicle<S>, ParentState>, options: Options);
|
|
10
10
|
get state(): S;
|
|
11
11
|
get undoable(): number;
|
|
12
12
|
get redoable(): number;
|
|
@@ -19,5 +19,5 @@ export declare class Chronstrata<ParentState extends Substate, S extends Substat
|
|
|
19
19
|
redo(n?: number): Promise<void>;
|
|
20
20
|
/** wipe past and future snapshots */
|
|
21
21
|
wipe(): Promise<void>;
|
|
22
|
-
substrata<Sub extends Substate>(selector: Selector<
|
|
22
|
+
substrata<Sub extends Substate>(selector: Selector<Sub, S>): Substrata<Sub, S>;
|
|
23
23
|
}
|
package/x/parts/strata.d.ts
CHANGED
|
@@ -12,6 +12,6 @@ export declare class Strata<S extends State> implements Stratum<S> {
|
|
|
12
12
|
get state(): S;
|
|
13
13
|
mutate(mutator: Mutator<S>): Promise<S>;
|
|
14
14
|
overwrite(state: S): Promise<void>;
|
|
15
|
-
substrata<Sub extends Substate>(selector: Selector<
|
|
16
|
-
chronstrata<Sub extends Substate>(limit: number, selector: Selector<
|
|
15
|
+
substrata<Sub extends Substate>(selector: Selector<Sub, S>): Substrata<Sub, S>;
|
|
16
|
+
chronstrata<Sub extends Substate>(limit: number, selector: Selector<Chronicle<Sub>, S>): Chronstrata<Sub, S>;
|
|
17
17
|
}
|
package/x/parts/substrata.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Chronstrata } from "./chronstrata.js";
|
|
2
2
|
import { Chronicle, Mutator, Options, Selector, Stratum, Substate } from "./types.js";
|
|
3
|
-
export declare class Substrata<
|
|
3
|
+
export declare class Substrata<S extends Substate, ParentState extends Substate = any> implements Stratum<S> {
|
|
4
4
|
#private;
|
|
5
5
|
private parent;
|
|
6
6
|
private selector;
|
|
7
7
|
private options;
|
|
8
8
|
dispose: () => void;
|
|
9
9
|
watch: import("@e280/stz").Sub<[state: S]>;
|
|
10
|
-
constructor(parent: Stratum<ParentState>, selector: Selector<
|
|
10
|
+
constructor(parent: Stratum<ParentState>, selector: Selector<S, ParentState>, options: Options);
|
|
11
11
|
get state(): S;
|
|
12
12
|
mutate(mutator: Mutator<S>): Promise<S>;
|
|
13
|
-
substrata<Sub extends Substate>(selector: Selector<
|
|
14
|
-
chronstrata<Sub extends Substate>(limit: number, selector: Selector<
|
|
13
|
+
substrata<Sub extends Substate>(selector: Selector<Sub, S>): Substrata<Sub, S>;
|
|
14
|
+
chronstrata<Sub extends Substate>(limit: number, selector: Selector<Chronicle<Sub>, S>): Chronstrata<Sub, S>;
|
|
15
15
|
}
|
package/x/parts/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Substrata } from "./substrata.js";
|
|
|
2
2
|
export type Options = {
|
|
3
3
|
clone: <X>(x: X) => X;
|
|
4
4
|
};
|
|
5
|
-
export type Selector<
|
|
5
|
+
export type Selector<Sub, S> = (state: S) => Sub;
|
|
6
6
|
export type Mutator<S> = (state: S) => void;
|
|
7
7
|
export type State = {};
|
|
8
8
|
export type Substate = {} | null | undefined;
|
|
@@ -14,7 +14,7 @@ export type Stratum<S extends Substate> = {
|
|
|
14
14
|
readonly state: S;
|
|
15
15
|
watch(fn: (s: S) => void): () => void;
|
|
16
16
|
mutate(mutator: Mutator<S>): Promise<S>;
|
|
17
|
-
substrata<Sub extends Substate>(selector: Selector<
|
|
17
|
+
substrata<Sub extends Substate>(selector: Selector<Sub, S>): Substrata<Sub, S>;
|
|
18
18
|
};
|
|
19
19
|
export type SetupOptions<S extends State> = {
|
|
20
20
|
version: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-options.js","sourceRoot":"","sources":["../../../s/parts/utils/process-options.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAyB,EAAW,EAAE,CAAC,CAAC;IACtE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,eAAe;
|
|
1
|
+
{"version":3,"file":"process-options.js","sourceRoot":"","sources":["../../../s/parts/utils/process-options.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAyB,EAAW,EAAE,CAAC,CAAC;IACtE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,CAAI,CAAI,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CACzD,CAAC,CAAA"}
|