@arcote.tech/arc 0.0.16 → 0.0.17
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/collection/collection.d.ts +16 -12
- package/dist/collection/queries/abstract-collection-query.d.ts +7 -8
- package/dist/collection/queries/one-item.d.ts +1 -1
- package/dist/collection/queries/util.d.ts +2 -2
- package/dist/context/context.d.ts +4 -2
- package/dist/context/query.d.ts +6 -3
- package/dist/data-storage/ForkStoreState.d.ts +1 -1
- package/dist/data-storage/StoreState.d.ts +37 -22
- package/dist/data-storage/data-storage-forked.d.ts +2 -2
- package/dist/data-storage/data-storage-master.d.ts +5 -3
- package/dist/data-storage/data-storage.abstract.d.ts +47 -0
- package/dist/data-storage/data-storage.interface.d.ts +14 -5
- package/dist/data-storage/deep-merge.d.ts +6 -0
- package/dist/data-storage/index.d.ts +1 -1
- package/dist/data-storage/master-store-state.d.ts +26 -13
- package/dist/data-storage/store-state-fork.d.ts +1 -1
- package/dist/data-storage/store-state-master.d.ts +1 -1
- package/dist/data-storage/store-state.abstract.d.ts +7 -3
- package/dist/data-storage/store-state.d.ts +37 -22
- package/dist/elements/date.d.ts +1 -1
- package/dist/elements/index.d.ts +1 -0
- package/dist/elements/object copy.d.ts +29 -0
- package/dist/elements/object.d.ts +15 -0
- package/dist/elements/record.d.ts +19 -0
- package/dist/elements/state.d.ts +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +342 -43
- package/dist/rtc/index.d.ts +1 -0
- package/dist/rtc/messages.d.ts +3 -3
- package/dist/rtc/rtc.d.ts +4 -3
- package/dist/state/db.d.ts +1 -0
- package/dist/state/index.d.ts +1 -2
- package/dist/state/query-builder.d.ts +3 -2
- package/dist/state/query.d.ts +10 -17
- package/dist/state/state-change.d.ts +1 -0
- package/dist/state/state.d.ts +20 -16
- package/dist/state/util.d.ts +1 -0
- package/dist/utils/deep-merge.d.ts +6 -0
- package/dist/utils.d.ts +10 -1
- package/package.json +1 -1
package/dist/state/index.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ import { ArcQueryBuilder } from "../context/query-builders";
|
|
|
2
2
|
import { ArcStateQuery } from "./query";
|
|
3
3
|
import type { ArcStateAny } from "./state";
|
|
4
4
|
export declare class ArcStateQueryBuilder<S extends ArcStateAny> extends ArcQueryBuilder {
|
|
5
|
-
private
|
|
6
|
-
constructor(
|
|
5
|
+
private state;
|
|
6
|
+
constructor(state: S);
|
|
7
7
|
toQuery(): ArcStateQuery<S>;
|
|
8
8
|
}
|
|
9
|
+
//# sourceMappingURL=query-builder.d.ts.map
|
package/dist/state/query.d.ts
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
-
import type { ArcStateAny } from "./state";
|
|
6
|
-
import type { StateChange } from "./state-change";
|
|
7
|
-
import type { StateItem } from "./util";
|
|
8
|
-
export declare class ArcStateQuery<State extends ArcStateAny> implements ArcQuery<StateItem<State>> {
|
|
1
|
+
import { ArcQuery, type ArcQueryListener } from "../context/query";
|
|
2
|
+
import type { DataStorage, ListenerEvent } from "../data-storage";
|
|
3
|
+
import type { ArcStateAny, StateItem } from "./state";
|
|
4
|
+
export declare class ArcStateQuery<State extends ArcStateAny> extends ArcQuery<StateItem<State>> {
|
|
9
5
|
protected state: State;
|
|
10
|
-
|
|
11
|
-
private
|
|
12
|
-
private subscriptions;
|
|
6
|
+
private bindedChangeHandler;
|
|
7
|
+
private store;
|
|
13
8
|
constructor(state: State);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
protected
|
|
17
|
-
protected fetch(transaction: StateReadTransaction): Promise<ReturnType<State["deserialize"]> | undefined>;
|
|
18
|
-
private changeHandler;
|
|
9
|
+
run(dataStorage: DataStorage, listener?: ArcQueryListener<StateItem<State>>): Promise<ReturnType<State["deserialize"]> extends infer T ? { [KeyType in keyof T]: ReturnType<State["deserialize"]>[KeyType]; } : never>;
|
|
10
|
+
protected onChange(change: ListenerEvent<StateItem<State>>): false | (ReturnType<State["deserialize"]> extends infer T ? { [KeyType in keyof T]: ReturnType<State["deserialize"]>[KeyType]; } : never);
|
|
11
|
+
protected changeHandler(changes: ListenerEvent<StateItem<State>>[]): void;
|
|
19
12
|
unsubscribe(): void;
|
|
20
13
|
private nextResult;
|
|
21
|
-
isUnsubscribed(): boolean;
|
|
22
14
|
}
|
|
15
|
+
//# sourceMappingURL=query.d.ts.map
|
package/dist/state/state.d.ts
CHANGED
|
@@ -1,28 +1,32 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import { ArcContextElement } from "../context/element";
|
|
2
|
+
import type { DataStorage } from "../data-storage";
|
|
3
3
|
import { type ArcObjectAny } from "../elements/object";
|
|
4
|
-
import { objectUtil, type util } from "../utils";
|
|
4
|
+
import { objectUtil, type DeepPartial, type util } from "../utils";
|
|
5
5
|
import { ArcStateQueryBuilder } from "./query-builder";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
export type StateItem<S extends ArcStateAny> = objectUtil.simplify<ReturnType<S["deserialize"]>>;
|
|
7
|
+
export type StateItemWithId<S extends ArcStateAny> = objectUtil.simplify<{
|
|
8
|
+
_id: string;
|
|
9
|
+
} & ReturnType<S["deserialize"]>>;
|
|
10
|
+
export declare class ArcState<Name extends string, Schema extends ArcObjectAny> extends ArcContextElement<{
|
|
11
|
+
type: "modify";
|
|
12
|
+
from: StateItem<ArcState<Name, Schema>>;
|
|
13
|
+
to: StateItem<ArcState<Name, Schema>>;
|
|
14
|
+
changes: objectUtil.simplify<Partial<util.FirstArgument<Schema["serialize"]>>>;
|
|
15
|
+
}> {
|
|
15
16
|
readonly name: Name;
|
|
16
17
|
readonly schema: Schema;
|
|
17
18
|
constructor(name: Name, schema: Schema);
|
|
18
19
|
serialize(data: objectUtil.simplify<objectUtil.addQuestionMarks<util.FirstArgument<Schema["serialize"]>>>): {
|
|
19
|
-
|
|
20
|
+
_id: Name;
|
|
20
21
|
};
|
|
21
22
|
deserialize(data: objectUtil.simplify<objectUtil.addQuestionMarks<util.FirstArgument<Schema["deserialize"]>>>): ReturnType<Schema["deserialize"]>;
|
|
22
23
|
queryBuilder(): ArcStateQueryBuilder<this>;
|
|
23
|
-
commandContext(
|
|
24
|
-
|
|
24
|
+
commandContext(dataStorage: DataStorage, publishEvent: (event: this["$event"]) => Promise<void>): {
|
|
25
|
+
get: () => Promise<StateItem<ArcState<Name, Schema>>>;
|
|
26
|
+
modify: (data: DeepPartial<StateItem<ArcState<Name, Schema>>>) => Promise<void>;
|
|
27
|
+
edit: (editCallback: (item: StateItem<ArcState<Name, Schema>>) => Promise<void> | void) => Promise<void>;
|
|
28
|
+
};
|
|
25
29
|
}
|
|
26
30
|
export type ArcStateAny = ArcState<any, any>;
|
|
27
31
|
export declare function state<Name extends string, Schema extends ArcObjectAny>(name: Name, schema: Schema): ArcState<Name, Schema>;
|
|
28
|
-
|
|
32
|
+
//# sourceMappingURL=state.d.ts.map
|
package/dist/state/util.d.ts
CHANGED
package/dist/utils.d.ts
CHANGED
|
@@ -59,7 +59,16 @@ export type ContextTypes<Ctx extends {
|
|
|
59
59
|
[Collection in Ctx["elements"][number] as `${Collection["name"]}.queryCollectionResult`]: Omit<QueryCollectionResult<Collection>, "result">;
|
|
60
60
|
} : never;
|
|
61
61
|
}[keyof Ctx["elements"]];
|
|
62
|
-
export type
|
|
62
|
+
export type DeepPartial<T> = {
|
|
63
|
+
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
64
|
+
};
|
|
65
|
+
export type $type<E extends {
|
|
63
66
|
deserialize: (...args: any) => any;
|
|
64
67
|
}> = ReturnType<E["deserialize"]>;
|
|
68
|
+
export type $omit<E extends {
|
|
69
|
+
deserialize: (...args: any) => any;
|
|
70
|
+
}, K extends keyof ReturnType<E["deserialize"]>> = objectUtil.addQuestionMarks<Omit<objectUtil.simplify<ReturnType<E["deserialize"]>>, K>>;
|
|
71
|
+
export type $partial<E extends {
|
|
72
|
+
deserialize: (...args: any) => any;
|
|
73
|
+
}, K extends keyof ReturnType<E["deserialize"]> = never> = DeepPartial<objectUtil.addQuestionMarks<Omit<objectUtil.simplify<ReturnType<E["deserialize"]>>, K>>>;
|
|
65
74
|
//# sourceMappingURL=utils.d.ts.map
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "0.0.
|
|
7
|
+
"version": "0.0.17",
|
|
8
8
|
"private": false,
|
|
9
9
|
"author": "Przemysław Krasiński [arcote.tech]",
|
|
10
10
|
"description": "Arc is a framework designed to align code closely with business logic, streamlining development and enhancing productivity.",
|