@arcote.tech/arc 0.1.12 → 0.3.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/adapters/auth-adapter.d.ts +47 -0
- package/dist/adapters/command-wire.d.ts +28 -0
- package/dist/adapters/event-publisher.d.ts +106 -0
- package/dist/adapters/event-wire.d.ts +79 -0
- package/dist/adapters/index.d.ts +18 -0
- package/dist/adapters/wire.d.ts +20 -0
- package/dist/context/context.d.ts +49 -52
- package/dist/context/index.d.ts +1 -10
- package/dist/context-element/command/command-context.d.ts +71 -0
- package/dist/context-element/command/command-data.d.ts +33 -0
- package/dist/context-element/command/command-handler.d.ts +6 -0
- package/dist/context-element/command/command.d.ts +198 -0
- package/dist/context-element/command/index.d.ts +6 -0
- package/dist/context-element/context-element.d.ts +75 -0
- package/dist/context-element/event/event-data.d.ts +35 -0
- package/dist/context-element/event/event.d.ts +158 -0
- package/dist/context-element/event/index.d.ts +5 -0
- package/dist/context-element/event/instance.d.ts +26 -0
- package/dist/context-element/index.d.ts +10 -0
- package/dist/context-element/view/index.d.ts +5 -0
- package/dist/context-element/view/view-context.d.ts +51 -0
- package/dist/context-element/view/view-data.d.ts +40 -0
- package/dist/context-element/view/view.d.ts +194 -0
- package/dist/data-storage/data-storage-forked.d.ts +1 -1
- package/dist/data-storage/data-storage-master.d.ts +7 -10
- package/dist/data-storage/data-storage-observable.d.ts +61 -0
- package/dist/data-storage/data-storage.abstract.d.ts +1 -1
- package/dist/{db/interface.d.ts → data-storage/database-adapter.d.ts} +8 -3
- package/dist/{database → data-storage}/database-store.d.ts +45 -0
- package/dist/data-storage/{types.d.ts → find-options.d.ts} +1 -1
- package/dist/data-storage/index.d.ts +6 -2
- package/dist/{db/postgresAdapter.d.ts → data-storage/postgresql-adapter.d.ts} +7 -33
- package/dist/data-storage/query-result-resolver.d.ts +18 -0
- package/dist/data-storage/query-result-resolver.test.d.ts +2 -0
- package/dist/{db/sqliteAdapter.d.ts → data-storage/sqlite-adapter.d.ts} +5 -31
- package/dist/data-storage/store-state-fork.d.ts +1 -1
- package/dist/data-storage/store-state-master.d.ts +6 -2
- package/dist/data-storage/store-state.abstract.d.ts +1 -1
- package/dist/elements/abstract.d.ts +1 -1
- package/dist/elements/any.d.ts +1 -1
- package/dist/elements/array.d.ts +5 -5
- package/dist/elements/blob.d.ts +1 -1
- package/dist/elements/boolean.d.ts +1 -1
- package/dist/elements/branded.d.ts +5 -5
- package/dist/elements/date.d.ts +1 -1
- package/dist/elements/default.d.ts +5 -5
- package/dist/elements/file.d.ts +1 -1
- package/dist/elements/id.d.ts +3 -3
- package/dist/elements/index.d.ts +1 -0
- package/dist/elements/number.d.ts +1 -1
- package/dist/elements/object.d.ts +11 -10
- package/dist/elements/optional.d.ts +5 -5
- package/dist/elements/or.d.ts +5 -5
- package/dist/elements/record.d.ts +3 -3
- package/dist/elements/string-enum.d.ts +1 -1
- package/dist/elements/string.d.ts +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.js +2373 -3439
- package/dist/model/index.d.ts +2 -0
- package/dist/model/live-query/index.d.ts +2 -0
- package/dist/model/live-query/live-query.d.ts +31 -0
- package/dist/model/live-query/query-cache.d.ts +60 -0
- package/dist/model/model-adapters.d.ts +13 -0
- package/dist/model/model.d.ts +19 -78
- package/dist/model/mutation-executor/index.d.ts +2 -0
- package/dist/model/mutation-executor/mutation-executor.d.ts +29 -0
- package/dist/token/index.d.ts +41 -0
- package/dist/token/secured-data-storage.d.ts +125 -0
- package/dist/token/token-cache.d.ts +100 -0
- package/dist/token/token-data.d.ts +38 -0
- package/dist/token/token-instance.d.ts +71 -0
- package/dist/token/token.d.ts +127 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/types/add-question-marks.d.ts +9 -0
- package/dist/utils/types/first-argument.d.ts +5 -0
- package/dist/utils/types/get-type.d.ts +13 -0
- package/dist/utils/types/index.d.ts +6 -0
- package/dist/utils/types/merge.d.ts +7 -0
- package/dist/utils/types/object-util.d.ts +6 -0
- package/dist/utils/types/simplify.d.ts +7 -0
- package/package.json +10 -6
- package/dist/command/command-definition.d.ts +0 -5
- package/dist/command/command.d.ts +0 -45
- package/dist/command/index.d.ts +0 -2
- package/dist/context/commands.d.ts +0 -12
- package/dist/context/element.d.ts +0 -80
- package/dist/context/event.d.ts +0 -45
- package/dist/context/query-builder-context.d.ts +0 -15
- package/dist/context/query-builders.d.ts +0 -17
- package/dist/context/query-cache.d.ts +0 -9
- package/dist/context/query.d.ts +0 -12
- package/dist/context/reactive-query.d.ts +0 -23
- package/dist/context/serializable-query.d.ts +0 -11
- package/dist/context/translator.d.ts +0 -4
- package/dist/database/database-mappers.d.ts +0 -39
- package/dist/database/index.d.ts +0 -3
- package/dist/db/index.d.ts +0 -4
- package/dist/listener/index.d.ts +0 -2
- package/dist/listener/listener.d.ts +0 -23
- package/dist/model/EventPublisher.d.ts +0 -12
- package/dist/model/event-publisher.d.ts +0 -12
- package/dist/query/query-definition.d.ts +0 -8
- package/dist/route/index.d.ts +0 -2
- package/dist/route/route.d.ts +0 -35
- package/dist/rtc/client.d.ts +0 -3
- package/dist/rtc/index.d.ts +0 -4
- package/dist/rtc/messages.d.ts +0 -20
- package/dist/rtc/rtc.d.ts +0 -11
- package/dist/server/query-handler.d.ts +0 -43
- package/dist/state/index.d.ts +0 -2
- package/dist/state/query-builder.d.ts +0 -2
- package/dist/state/query.d.ts +0 -2
- package/dist/state/state.d.ts +0 -2
- package/dist/strategies/cache-strategy.d.ts +0 -20
- package/dist/strategies/datastorage-strategy.d.ts +0 -15
- package/dist/strategies/index.d.ts +0 -7
- package/dist/strategies/leader-strategy.d.ts +0 -16
- package/dist/strategies/model-strategy.d.ts +0 -9
- package/dist/strategies/query-strategy.d.ts +0 -20
- package/dist/telemetry/context.d.ts +0 -65
- package/dist/telemetry/index.d.ts +0 -47
- package/dist/telemetry/interfaces.d.ts +0 -84
- package/dist/telemetry/logger.d.ts +0 -67
- package/dist/telemetry/no-op.d.ts +0 -54
- package/dist/telemetry/tracer.d.ts +0 -85
- package/dist/tests/context/context.test.d.ts +0 -2
- package/dist/tests/pipe.d.ts +0 -2
- package/dist/tests/query/advance-query.test.d.ts +0 -2
- package/dist/tests/query/collection-all.test.d.ts +0 -2
- package/dist/tests/utils/expect-not-false.d.ts +0 -2
- package/dist/tests/utils/sqlite-adapter.d.ts +0 -3
- package/dist/tests/utils/test-model.d.ts +0 -25
- package/dist/tests/validations/array.test.d.ts +0 -2
- package/dist/tests/validations/date.test.d.ts +0 -2
- package/dist/tests/validations/number.test.d.ts +0 -2
- package/dist/tests/validations/object.test.d.ts +0 -2
- package/dist/tests/validations/record.test.d.ts +0 -2
- package/dist/tests/validations/string-enum.test.d.ts +0 -2
- package/dist/tests/validations/string.test.d.ts +0 -2
- package/dist/utils.d.ts +0 -56
- package/dist/view/index.d.ts +0 -6
- package/dist/view/queries/abstract-view-query.d.ts +0 -19
- package/dist/view/queries/find-one.d.ts +0 -13
- package/dist/view/queries/find.d.ts +0 -21
- package/dist/view/queries/index.d.ts +0 -3
- package/dist/view/query-builders/find-one.d.ts +0 -14
- package/dist/view/query-builders/find.d.ts +0 -14
- package/dist/view/query-builders/index.d.ts +0 -2
- package/dist/view/query-builders/new-query-builder.d.ts +0 -2
- package/dist/view/record.d.ts +0 -4
- package/dist/view/static-view.d.ts +0 -43
- package/dist/view/view.d.ts +0 -68
- /package/dist/{database → data-storage}/schema-extraction.d.ts +0 -0
- /package/dist/{data-storage → utils}/deep-merge.d.ts +0 -0
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { ArcContextAny } from "../../context/context";
|
|
2
|
-
import { type DataStorageChanges } from "../../data-storage";
|
|
3
|
-
import { Model } from "../../model";
|
|
4
|
-
import type { RealTimeCommunicationAdapter } from "../../rtc";
|
|
5
|
-
export declare class TestRTCAdapter implements RealTimeCommunicationAdapter {
|
|
6
|
-
private syncCalls;
|
|
7
|
-
private commitCalls;
|
|
8
|
-
commitChanges(changes: DataStorageChanges[]): void;
|
|
9
|
-
sync(progressCallback: ({ store, size, }: {
|
|
10
|
-
store: string;
|
|
11
|
-
size: number;
|
|
12
|
-
}) => void): Promise<void>;
|
|
13
|
-
getSyncCalls(): {
|
|
14
|
-
store: string;
|
|
15
|
-
size: number;
|
|
16
|
-
}[];
|
|
17
|
-
getCommitCalls(): DataStorageChanges[][];
|
|
18
|
-
clearHistory(): void;
|
|
19
|
-
}
|
|
20
|
-
export declare function testModel<C extends ArcContextAny>(arcContext: C): {
|
|
21
|
-
model: Model<C>;
|
|
22
|
-
getRTCAdapter(): TestRTCAdapter;
|
|
23
|
-
clearRTCHistory(): void;
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=test-model.d.ts.map
|
package/dist/utils.d.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type { ArcElement } from "./elements/element";
|
|
2
|
-
export declare namespace objectUtil {
|
|
3
|
-
export type MergeShapes<U, V> = {
|
|
4
|
-
[k in Exclude<keyof U, keyof V>]: U[k];
|
|
5
|
-
} & V;
|
|
6
|
-
type optionalKeys<T extends any> = {
|
|
7
|
-
[k in keyof T]: undefined extends T[k] ? k : never;
|
|
8
|
-
}[keyof T];
|
|
9
|
-
type requiredKeys<T extends any> = {
|
|
10
|
-
[k in keyof T]: undefined extends T[k] ? never : k;
|
|
11
|
-
}[keyof T];
|
|
12
|
-
export type addQuestionMarks<T extends any> = simplify<{
|
|
13
|
-
[K in requiredKeys<T>]: T[K];
|
|
14
|
-
} & {
|
|
15
|
-
[K in optionalKeys<T>]?: T[K];
|
|
16
|
-
} & {
|
|
17
|
-
[k in keyof T]?: unknown;
|
|
18
|
-
}>;
|
|
19
|
-
export type identity<T> = T;
|
|
20
|
-
export type flatten<T> = identity<{
|
|
21
|
-
[k in keyof T]: T[k];
|
|
22
|
-
}>;
|
|
23
|
-
export type noNeverKeys<T> = {
|
|
24
|
-
[k in keyof T]: [T[k]] extends [never] ? never : k;
|
|
25
|
-
}[keyof T];
|
|
26
|
-
export type noNever<T> = identity<{
|
|
27
|
-
[k in noNeverKeys<T>]: k extends keyof T ? T[k] : never;
|
|
28
|
-
}>;
|
|
29
|
-
export const mergeShapes: <U, T>(first: U, second: T) => T & U;
|
|
30
|
-
export type extendShape<A extends object, B extends object> = {
|
|
31
|
-
[K in keyof A as K extends keyof B ? never : K]: A[K];
|
|
32
|
-
} & {
|
|
33
|
-
[K in keyof B]: B[K];
|
|
34
|
-
};
|
|
35
|
-
export type simplify<T> = {
|
|
36
|
-
[KeyType in keyof T]: T[KeyType];
|
|
37
|
-
} & {};
|
|
38
|
-
export {};
|
|
39
|
-
}
|
|
40
|
-
export declare namespace util {
|
|
41
|
-
type FirstArgument<T> = T extends (arg: infer U, ...args: any[]) => any ? U : never;
|
|
42
|
-
type GetType<Element extends ArcElement> = ReturnType<Element["deserialize"]>;
|
|
43
|
-
}
|
|
44
|
-
export type DeepPartial<T> = {
|
|
45
|
-
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
46
|
-
};
|
|
47
|
-
export type $type<E extends {
|
|
48
|
-
deserialize: (...args: any) => any;
|
|
49
|
-
}> = ReturnType<E["deserialize"]>;
|
|
50
|
-
export type $omit<E extends {
|
|
51
|
-
deserialize: (...args: any) => any;
|
|
52
|
-
}, K extends keyof ReturnType<E["deserialize"]>> = objectUtil.addQuestionMarks<Omit<objectUtil.simplify<ReturnType<E["deserialize"]>>, K>>;
|
|
53
|
-
export type $partial<E extends {
|
|
54
|
-
deserialize: (...args: any) => any;
|
|
55
|
-
}, K extends keyof ReturnType<E["deserialize"]> = never> = DeepPartial<objectUtil.addQuestionMarks<Omit<objectUtil.simplify<ReturnType<E["deserialize"]>>, K>>>;
|
|
56
|
-
//# sourceMappingURL=utils.d.ts.map
|
package/dist/view/index.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ArcSerializableQuery } from "../../context/serializable-query";
|
|
2
|
-
import type { DataStorage, ListenerEvent, StoreState } from "../../data-storage";
|
|
3
|
-
import type { ArcIdAny, ArcObjectAny } from "../../elements";
|
|
4
|
-
import type { $type } from "../../utils";
|
|
5
|
-
import type { ArcViewAny } from "../view";
|
|
6
|
-
export type ArcViewItem<Id extends ArcIdAny, Schema extends ArcObjectAny> = {
|
|
7
|
-
_id: $type<Id>;
|
|
8
|
-
} & $type<Schema>;
|
|
9
|
-
export declare abstract class ArcViewQuery<View extends ArcViewAny, Result, Params> extends ArcSerializableQuery<Result, Params> {
|
|
10
|
-
protected view: View;
|
|
11
|
-
protected bindedChangeHandler: (changes: ListenerEvent<ArcViewItem<View["id"], View["schema"]>>[]) => void;
|
|
12
|
-
private store;
|
|
13
|
-
constructor(view: View, params: Params);
|
|
14
|
-
run(dataStorage: DataStorage): Promise<Result>;
|
|
15
|
-
protected abstract onChange(change: ListenerEvent<ArcViewItem<View["id"], View["schema"]>>): Result | false;
|
|
16
|
-
protected abstract fetch(store: StoreState<ArcViewItem<View["id"], View["schema"]>>): Promise<Result>;
|
|
17
|
-
protected changeHandler(changes: ListenerEvent<ArcViewItem<View["id"], View["schema"]>>[]): void;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=abstract-view-query.d.ts.map
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { ListenerEvent, StoreState } from "../../data-storage";
|
|
2
|
-
import type { FindOptions } from "../../data-storage/types";
|
|
3
|
-
import type { ArcViewAny } from "../view";
|
|
4
|
-
import { ArcViewQuery, type ArcViewItem } from "./abstract-view-query";
|
|
5
|
-
export declare class ArcViewFindOneQuery<View extends ArcViewAny> extends ArcViewQuery<View, ArcViewItem<View["id"], View["schema"]> | undefined, FindOptions<ArcViewItem<View["id"], View["schema"]>>> {
|
|
6
|
-
protected params: FindOptions<ArcViewItem<View["id"], View["schema"]>>;
|
|
7
|
-
constructor(view: View, params: FindOptions<ArcViewItem<View["id"], View["schema"]>>);
|
|
8
|
-
protected fetch(store: StoreState<ArcViewItem<View["id"], View["schema"]>>): Promise<ArcViewItem<View["id"], View["schema"]> | undefined>;
|
|
9
|
-
protected checkItem(item: ArcViewItem<View["id"], View["schema"]>): boolean;
|
|
10
|
-
protected onChange(change: ListenerEvent<ArcViewItem<View["id"], View["schema"]>>): false | ArcViewItem<View["id"], View["schema"]> | undefined;
|
|
11
|
-
protected createResult(result: ArcViewItem<View["id"], View["schema"]> | undefined): ArcViewItem<View["id"], View["schema"]> | undefined;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=find-one.d.ts.map
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { ListenerEvent, StoreState } from "../../data-storage";
|
|
2
|
-
import type { FindOptions } from "../../data-storage/types";
|
|
3
|
-
import type { util } from "../../utils";
|
|
4
|
-
import type { ArcViewAny } from "../view";
|
|
5
|
-
import { ArcViewQuery, type ArcViewItem } from "./abstract-view-query";
|
|
6
|
-
export declare class QueryViewResult<V extends ArcViewAny> {
|
|
7
|
-
private result;
|
|
8
|
-
constructor(result: ArcViewItem<V["id"], V["schema"]>[]);
|
|
9
|
-
get(id: util.GetType<V["id"]> | null): ArcViewItem<V["id"], V["schema"]> | undefined;
|
|
10
|
-
map<U>(callbackfn: (value: ArcViewItem<V["id"], V["schema"]>, index: number, array: ArcViewItem<V["id"], V["schema"]>[]) => U): U[];
|
|
11
|
-
toArray(): ArcViewItem<V["id"], V["schema"]>[];
|
|
12
|
-
}
|
|
13
|
-
export declare class ArcViewFindQuery<View extends ArcViewAny> extends ArcViewQuery<View, ArcViewItem<View["id"], View["schema"]>[], FindOptions<ArcViewItem<View["id"], View["schema"]>>> {
|
|
14
|
-
protected params: FindOptions<ArcViewItem<View["id"], View["schema"]>>;
|
|
15
|
-
constructor(view: View, params: FindOptions<ArcViewItem<View["id"], View["schema"]>>);
|
|
16
|
-
protected fetch(store: StoreState<ArcViewItem<View["id"], View["schema"]>>): Promise<ArcViewItem<View["id"], View["schema"]>[]>;
|
|
17
|
-
protected checkItem(item: ArcViewItem<View["id"], View["schema"]>): boolean;
|
|
18
|
-
protected onChange(change: ListenerEvent<ArcViewItem<View["id"], View["schema"]>>): false | ArcViewItem<View["id"], View["schema"]>[];
|
|
19
|
-
protected createResult(result: ArcViewItem<View["id"], View["schema"]>[]): ArcViewItem<View["id"], View["schema"]>[];
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=find.d.ts.map
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { QueryBuilderContext } from "../../context/query-builder-context";
|
|
2
|
-
import type { FindOptions } from "../../data-storage/types";
|
|
3
|
-
import type { ArcViewItem } from "../queries/abstract-view-query";
|
|
4
|
-
import { ArcViewFindOneQuery } from "../queries/find-one";
|
|
5
|
-
import type { ArcViewAny } from "../view";
|
|
6
|
-
export declare class ArcViewFindOneQueryBuilder<V extends ArcViewAny> {
|
|
7
|
-
private view;
|
|
8
|
-
protected queryContext: QueryBuilderContext;
|
|
9
|
-
protected options: FindOptions<ArcViewItem<V["id"], V["schema"]>>;
|
|
10
|
-
constructor(view: V, queryContext: QueryBuilderContext, options: FindOptions<ArcViewItem<V["id"], V["schema"]>>);
|
|
11
|
-
toQuery(): ArcViewFindOneQuery<V>;
|
|
12
|
-
run(): ArcViewItem<V["id"], V["schema"]> | undefined;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=find-one.d.ts.map
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { QueryBuilderContext } from "../../context/query-builder-context";
|
|
2
|
-
import type { FindOptions } from "../../data-storage/types";
|
|
3
|
-
import type { ArcViewItem } from "../queries/abstract-view-query";
|
|
4
|
-
import { ArcViewFindQuery } from "../queries/find";
|
|
5
|
-
import type { ArcViewAny } from "../view";
|
|
6
|
-
export declare class ArcViewFindQueryBuilder<V extends ArcViewAny> {
|
|
7
|
-
private view;
|
|
8
|
-
protected queryContext: QueryBuilderContext;
|
|
9
|
-
protected options: FindOptions<ArcViewItem<V["id"], V["schema"]>>;
|
|
10
|
-
constructor(view: V, queryContext: QueryBuilderContext, options: FindOptions<ArcViewItem<V["id"], V["schema"]>>);
|
|
11
|
-
toQuery(): ArcViewFindQuery<V>;
|
|
12
|
-
run(): ArcViewItem<V["id"], V["schema"]>[];
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=find.d.ts.map
|
package/dist/view/record.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { ArcStaticViewAny, ArcStaticViewRecord } from "./static-view";
|
|
2
|
-
import type { ArcViewAny, ArcViewRecord } from "./view";
|
|
3
|
-
export type ArcAnyViewRecord<View extends ArcViewAny | ArcStaticViewAny> = View extends ArcViewAny ? ArcViewRecord<View> : View extends ArcStaticViewAny ? ArcStaticViewRecord<View> : never;
|
|
4
|
-
//# sourceMappingURL=record.d.ts.map
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { ArcQuery } from "../context";
|
|
2
|
-
import { ArcContextElement, type AuthContext, type PublishEventFunction } from "../context/element";
|
|
3
|
-
import type { QueryBuilderContext } from "../context/query-builder-context";
|
|
4
|
-
import type { DataStorage } from "../data-storage";
|
|
5
|
-
import type { FindOptions } from "../data-storage/types";
|
|
6
|
-
import { type ArcIdAny, type ArcObjectAny } from "../elements";
|
|
7
|
-
import type { $type, objectUtil } from "../utils";
|
|
8
|
-
type ArcViewItem<Id extends ArcIdAny, Schema extends ArcObjectAny> = {
|
|
9
|
-
_id: $type<Id>;
|
|
10
|
-
} & $type<Schema>;
|
|
11
|
-
type ArcStaticViewItem<Id extends ArcIdAny, Schema extends ArcObjectAny> = {
|
|
12
|
-
_id: $type<Id>;
|
|
13
|
-
} & $type<Schema>;
|
|
14
|
-
export declare class ArcStaticView<Name extends string, Id extends ArcIdAny, Schema extends ArcObjectAny, Items extends ArcStaticViewItem<Id, Schema>[]> extends ArcContextElement<null, Name> {
|
|
15
|
-
readonly name: Name;
|
|
16
|
-
readonly id: Id;
|
|
17
|
-
readonly schema: Schema;
|
|
18
|
-
private _description?;
|
|
19
|
-
private _items;
|
|
20
|
-
constructor(name: Name, id: Id, schema: Schema);
|
|
21
|
-
description(description: string): ArcStaticView<Name, Id, Schema, Items>;
|
|
22
|
-
addItems<const Items extends ArcStaticViewItem<Id, Schema>[]>(items: Items): ArcStaticView<Name, Id, Schema, Items>;
|
|
23
|
-
queryBuilder: (context: QueryBuilderContext, authContext: AuthContext) => {
|
|
24
|
-
readonly find: (options?: FindOptions<ArcViewItem<Id, Schema>>) => {
|
|
25
|
-
toQuery: () => ArcQuery<Items>;
|
|
26
|
-
};
|
|
27
|
-
readonly findOne: (where: FindOptions<ArcViewItem<Id, Schema>>["where"]) => {
|
|
28
|
-
toQuery: () => {
|
|
29
|
-
run: () => ArcStaticViewItem<Id, Schema> | null;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
commandContext: (dataStorage: DataStorage, publishEvent: PublishEventFunction, authContext: AuthContext) => {
|
|
34
|
-
readonly find: (options: FindOptions<ArcViewItem<Id, Schema>>) => Promise<Items>;
|
|
35
|
-
readonly findOne: (where: FindOptions<ArcViewItem<Id, Schema>>["where"]) => Promise<ArcStaticViewItem<Id, Schema> | null>;
|
|
36
|
-
};
|
|
37
|
-
private clone;
|
|
38
|
-
}
|
|
39
|
-
export declare function staticView<Name extends string, Id extends ArcIdAny, Schema extends ArcObjectAny>(name: Name, id: Id, schema: Schema): ArcStaticView<Name, Id, Schema, []>;
|
|
40
|
-
export type ArcStaticViewAny = ArcStaticView<any, any, any, any>;
|
|
41
|
-
export type ArcStaticViewRecord<View extends ArcStaticView<any, any, any, any>> = objectUtil.simplify<ArcViewItem<View["id"], View["schema"]>>;
|
|
42
|
-
export type { ArcStaticViewItem };
|
|
43
|
-
//# sourceMappingURL=static-view.d.ts.map
|
package/dist/view/view.d.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { type ArcEventAny, type ArcEventInstance } from "../context";
|
|
2
|
-
import { ArcContextElementWithStore, type ArcContextElementAny, type AuthContext, type DatabaseStoreSchema, type ListenerConfig, type PublishEventFunction } from "../context/element";
|
|
3
|
-
import type { QueryBuilderContext } from "../context/query-builder-context";
|
|
4
|
-
import type { DataStorage } from "../data-storage";
|
|
5
|
-
import type { FindOptions, WhereCondition } from "../data-storage/types";
|
|
6
|
-
import { type ArcIdAny, type ArcObjectAny } from "../elements";
|
|
7
|
-
import type { $type, objectUtil } from "../utils";
|
|
8
|
-
import { ArcViewFindQueryBuilder } from "./query-builders/find";
|
|
9
|
-
import { ArcViewFindOneQueryBuilder } from "./query-builders/find-one";
|
|
10
|
-
type GetEvents<Elements extends ArcContextElementAny[]> = Elements[number]["$event"];
|
|
11
|
-
type ArcViewHandlerContext<Id extends ArcIdAny, Schema extends ArcObjectAny> = {
|
|
12
|
-
modify: (id: $type<Id>, data: Partial<$type<Schema>>) => Promise<void>;
|
|
13
|
-
set: (id: $type<Id>, data: $type<Schema>) => Promise<void>;
|
|
14
|
-
remove: (id: $type<Id>) => Promise<void>;
|
|
15
|
-
find: (options: FindOptions<ArcViewItem<Id, Schema>>) => Promise<ArcViewItem<Id, Schema>[]>;
|
|
16
|
-
findOne: (where: FindOptions<ArcViewItem<Id, Schema>>["where"]) => Promise<ArcViewItem<Id, Schema> | undefined>;
|
|
17
|
-
$auth: AuthContext;
|
|
18
|
-
};
|
|
19
|
-
type ArcViewItem<Id extends ArcIdAny, Schema extends ArcObjectAny> = {
|
|
20
|
-
_id: $type<Id>;
|
|
21
|
-
} & $type<Schema>;
|
|
22
|
-
type ArcViewHandler<Elements extends ArcContextElementAny[], Id extends ArcIdAny, Schema extends ArcObjectAny> = {
|
|
23
|
-
[Event in GetEvents<Elements> as Event["type"]]: ArcViewEventHandler<Id, Schema, Event>;
|
|
24
|
-
};
|
|
25
|
-
type ArcViewEventHandler<Id extends ArcIdAny, Schema extends ArcObjectAny, Event extends any> = (ctx: ArcViewHandlerContext<Id, Schema>, event: Event) => Promise<void>;
|
|
26
|
-
export declare class ArcView<Name extends string, Id extends ArcIdAny, Schema extends ArcObjectAny, const Elements extends ArcContextElementAny[]> extends ArcContextElementWithStore<null, Name> {
|
|
27
|
-
readonly name: Name;
|
|
28
|
-
readonly id: Id;
|
|
29
|
-
readonly schema: Schema;
|
|
30
|
-
private _description?;
|
|
31
|
-
private _elements?;
|
|
32
|
-
private _handler?;
|
|
33
|
-
private _isAsync;
|
|
34
|
-
private _version?;
|
|
35
|
-
private restrictions?;
|
|
36
|
-
constructor(name: Name, id: Id, schema: Schema);
|
|
37
|
-
databaseStoreSchema: () => DatabaseStoreSchema;
|
|
38
|
-
/**
|
|
39
|
-
* Define read access restrictions for this view
|
|
40
|
-
* @param restrictionsFn - Function that takes auth context and returns where condition for read access
|
|
41
|
-
*/
|
|
42
|
-
auth(restrictionsFn: (authContext: AuthContext) => WhereCondition): ArcView<Name, Id, Schema, Elements>;
|
|
43
|
-
use<const E extends ArcContextElementAny[]>(elements: E): ArcView<Name, Id, Schema, E>;
|
|
44
|
-
description(description: string): ArcView<Name, Id, Schema, Elements>;
|
|
45
|
-
async(): ArcView<Name, Id, Schema, Elements>;
|
|
46
|
-
version(version: number): ArcView<Name, Id, Schema, Elements>;
|
|
47
|
-
handle<Handler extends ArcViewHandler<Elements, Id, Schema>>(handler: Handler): ArcView<Name, Id, Schema, Elements>;
|
|
48
|
-
handleEvent<Event extends ArcEventAny>(event: Event, handler: ArcViewEventHandler<Id, Schema, ArcEventInstance<Event>>): ArcView<Name, Id, Schema, [...Elements, Event]>;
|
|
49
|
-
/**
|
|
50
|
-
* Helper function to merge where conditions from restrictions with query options
|
|
51
|
-
*/
|
|
52
|
-
private applyRestrictions;
|
|
53
|
-
queryBuilder: (context: QueryBuilderContext, authContext: AuthContext) => {
|
|
54
|
-
readonly find: (options?: FindOptions<ArcViewItem<Id, Schema>>) => ArcViewFindQueryBuilder<ArcView<Name, Id, Schema, Elements>>;
|
|
55
|
-
readonly findOne: (where: FindOptions<ArcViewItem<Id, Schema>>["where"]) => ArcViewFindOneQueryBuilder<ArcView<Name, Id, Schema, Elements>>;
|
|
56
|
-
};
|
|
57
|
-
commandContext: (dataStorage: DataStorage, publishEvent: PublishEventFunction, authContext: AuthContext) => {
|
|
58
|
-
readonly find: (options: FindOptions<ArcViewItem<Id, Schema>>) => Promise<ArcViewItem<Id, Schema>[]>;
|
|
59
|
-
readonly findOne: (where: FindOptions<ArcViewItem<Id, Schema>>["where"]) => Promise<ArcViewItem<Id, Schema> | undefined>;
|
|
60
|
-
};
|
|
61
|
-
observer: (authContext: AuthContext) => Record<string, ListenerConfig>;
|
|
62
|
-
private clone;
|
|
63
|
-
}
|
|
64
|
-
export declare function view<Name extends string, Id extends ArcIdAny, Schema extends ArcObjectAny>(name: Name, id: Id, schema: Schema): ArcView<Name, Id, Schema, any[]>;
|
|
65
|
-
export type ArcViewRecord<View extends ArcView<any, any, any, any>> = objectUtil.simplify<ArcViewItem<View["id"], View["schema"]>>;
|
|
66
|
-
export type ArcViewAny = ArcView<any, any, any, any>;
|
|
67
|
-
export {};
|
|
68
|
-
//# sourceMappingURL=view.d.ts.map
|
|
File without changes
|
|
File without changes
|