@arcote.tech/arc 0.1.11 → 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.
Files changed (141) hide show
  1. package/dist/adapters/auth-adapter.d.ts +47 -0
  2. package/dist/adapters/command-wire.d.ts +28 -0
  3. package/dist/adapters/event-publisher.d.ts +106 -0
  4. package/dist/adapters/event-wire.d.ts +79 -0
  5. package/dist/adapters/index.d.ts +18 -0
  6. package/dist/adapters/wire.d.ts +20 -0
  7. package/dist/context/context.d.ts +49 -52
  8. package/dist/context/index.d.ts +1 -9
  9. package/dist/context-element/command/command-context.d.ts +71 -0
  10. package/dist/context-element/command/command-data.d.ts +33 -0
  11. package/dist/context-element/command/command-handler.d.ts +6 -0
  12. package/dist/context-element/command/command.d.ts +198 -0
  13. package/dist/context-element/command/index.d.ts +6 -0
  14. package/dist/context-element/context-element.d.ts +75 -0
  15. package/dist/context-element/event/event-data.d.ts +35 -0
  16. package/dist/context-element/event/event.d.ts +158 -0
  17. package/dist/context-element/event/index.d.ts +5 -0
  18. package/dist/context-element/event/instance.d.ts +26 -0
  19. package/dist/context-element/index.d.ts +10 -0
  20. package/dist/context-element/view/index.d.ts +5 -0
  21. package/dist/context-element/view/view-context.d.ts +51 -0
  22. package/dist/context-element/view/view-data.d.ts +40 -0
  23. package/dist/context-element/view/view.d.ts +194 -0
  24. package/dist/data-storage/data-storage-forked.d.ts +1 -1
  25. package/dist/data-storage/data-storage-master.d.ts +7 -10
  26. package/dist/data-storage/data-storage-observable.d.ts +61 -0
  27. package/dist/data-storage/data-storage.abstract.d.ts +1 -1
  28. package/dist/{db/interface.d.ts → data-storage/database-adapter.d.ts} +8 -3
  29. package/dist/{database → data-storage}/database-store.d.ts +45 -0
  30. package/dist/data-storage/{types.d.ts → find-options.d.ts} +1 -1
  31. package/dist/data-storage/index.d.ts +6 -2
  32. package/dist/{db/postgresAdapter.d.ts → data-storage/postgresql-adapter.d.ts} +7 -33
  33. package/dist/data-storage/query-result-resolver.d.ts +18 -0
  34. package/dist/data-storage/query-result-resolver.test.d.ts +2 -0
  35. package/dist/{db/sqliteAdapter.d.ts → data-storage/sqlite-adapter.d.ts} +5 -31
  36. package/dist/data-storage/store-state-fork.d.ts +1 -1
  37. package/dist/data-storage/store-state-master.d.ts +6 -2
  38. package/dist/data-storage/store-state.abstract.d.ts +1 -1
  39. package/dist/elements/abstract.d.ts +1 -1
  40. package/dist/elements/any.d.ts +1 -1
  41. package/dist/elements/array.d.ts +5 -5
  42. package/dist/elements/blob.d.ts +1 -1
  43. package/dist/elements/boolean.d.ts +1 -1
  44. package/dist/elements/branded.d.ts +5 -5
  45. package/dist/elements/date.d.ts +1 -1
  46. package/dist/elements/default.d.ts +5 -5
  47. package/dist/elements/file.d.ts +1 -1
  48. package/dist/elements/id.d.ts +3 -3
  49. package/dist/elements/index.d.ts +1 -0
  50. package/dist/elements/number.d.ts +1 -1
  51. package/dist/elements/object.d.ts +11 -10
  52. package/dist/elements/optional.d.ts +5 -5
  53. package/dist/elements/or.d.ts +5 -5
  54. package/dist/elements/record.d.ts +3 -3
  55. package/dist/elements/string-enum.d.ts +1 -1
  56. package/dist/elements/string.d.ts +1 -1
  57. package/dist/index.d.ts +8 -7
  58. package/dist/index.js +2355 -3371
  59. package/dist/model/index.d.ts +2 -0
  60. package/dist/model/live-query/index.d.ts +2 -0
  61. package/dist/model/live-query/live-query.d.ts +31 -0
  62. package/dist/model/live-query/query-cache.d.ts +60 -0
  63. package/dist/model/model-adapters.d.ts +13 -0
  64. package/dist/model/model.d.ts +17 -66
  65. package/dist/model/mutation-executor/index.d.ts +2 -0
  66. package/dist/model/mutation-executor/mutation-executor.d.ts +29 -0
  67. package/dist/token/index.d.ts +41 -0
  68. package/dist/token/secured-data-storage.d.ts +125 -0
  69. package/dist/token/token-cache.d.ts +100 -0
  70. package/dist/token/token-data.d.ts +38 -0
  71. package/dist/token/token-instance.d.ts +71 -0
  72. package/dist/token/token.d.ts +127 -0
  73. package/dist/utils/index.d.ts +4 -0
  74. package/dist/utils/types/add-question-marks.d.ts +9 -0
  75. package/dist/utils/types/first-argument.d.ts +5 -0
  76. package/dist/utils/types/get-type.d.ts +13 -0
  77. package/dist/utils/types/index.d.ts +6 -0
  78. package/dist/utils/types/merge.d.ts +7 -0
  79. package/dist/utils/types/object-util.d.ts +6 -0
  80. package/dist/utils/types/simplify.d.ts +7 -0
  81. package/package.json +10 -6
  82. package/dist/command/command.d.ts +0 -45
  83. package/dist/command/index.d.ts +0 -2
  84. package/dist/context/commands.d.ts +0 -12
  85. package/dist/context/element.d.ts +0 -80
  86. package/dist/context/event.d.ts +0 -44
  87. package/dist/context/query-builder-context.d.ts +0 -15
  88. package/dist/context/query-builders.d.ts +0 -17
  89. package/dist/context/query-cache.d.ts +0 -9
  90. package/dist/context/query.d.ts +0 -12
  91. package/dist/context/reactive-query.d.ts +0 -23
  92. package/dist/context/serializable-query.d.ts +0 -11
  93. package/dist/database/database-mappers.d.ts +0 -39
  94. package/dist/database/index.d.ts +0 -3
  95. package/dist/db/index.d.ts +0 -4
  96. package/dist/listener/index.d.ts +0 -2
  97. package/dist/listener/listener.d.ts +0 -23
  98. package/dist/route/index.d.ts +0 -2
  99. package/dist/route/route.d.ts +0 -35
  100. package/dist/rtc/client.d.ts +0 -3
  101. package/dist/rtc/index.d.ts +0 -4
  102. package/dist/rtc/messages.d.ts +0 -20
  103. package/dist/rtc/rtc.d.ts +0 -11
  104. package/dist/state/index.d.ts +0 -2
  105. package/dist/state/query-builder.d.ts +0 -2
  106. package/dist/state/query.d.ts +0 -2
  107. package/dist/state/state.d.ts +0 -2
  108. package/dist/telemetry/context.d.ts +0 -65
  109. package/dist/telemetry/index.d.ts +0 -47
  110. package/dist/telemetry/interfaces.d.ts +0 -84
  111. package/dist/telemetry/logger.d.ts +0 -67
  112. package/dist/telemetry/no-op.d.ts +0 -54
  113. package/dist/telemetry/tracer.d.ts +0 -85
  114. package/dist/tests/context/context.test.d.ts +0 -2
  115. package/dist/tests/pipe.d.ts +0 -2
  116. package/dist/tests/query/advance-query.test.d.ts +0 -2
  117. package/dist/tests/query/collection-all.test.d.ts +0 -2
  118. package/dist/tests/utils/expect-not-false.d.ts +0 -2
  119. package/dist/tests/utils/sqlite-adapter.d.ts +0 -3
  120. package/dist/tests/utils/test-model.d.ts +0 -25
  121. package/dist/tests/validations/array.test.d.ts +0 -2
  122. package/dist/tests/validations/date.test.d.ts +0 -2
  123. package/dist/tests/validations/number.test.d.ts +0 -2
  124. package/dist/tests/validations/object.test.d.ts +0 -2
  125. package/dist/tests/validations/record.test.d.ts +0 -2
  126. package/dist/tests/validations/string-enum.test.d.ts +0 -2
  127. package/dist/tests/validations/string.test.d.ts +0 -2
  128. package/dist/utils.d.ts +0 -56
  129. package/dist/view/index.d.ts +0 -6
  130. package/dist/view/queries/abstract-view-query.d.ts +0 -19
  131. package/dist/view/queries/find-one.d.ts +0 -13
  132. package/dist/view/queries/find.d.ts +0 -21
  133. package/dist/view/queries/index.d.ts +0 -3
  134. package/dist/view/query-builders/find-one.d.ts +0 -14
  135. package/dist/view/query-builders/find.d.ts +0 -14
  136. package/dist/view/query-builders/index.d.ts +0 -2
  137. package/dist/view/record.d.ts +0 -4
  138. package/dist/view/static-view.d.ts +0 -43
  139. package/dist/view/view.d.ts +0 -68
  140. /package/dist/{database → data-storage}/schema-extraction.d.ts +0 -0
  141. /package/dist/{data-storage → utils}/deep-merge.d.ts +0 -0
@@ -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,3 +0,0 @@
1
- export * from "./abstract-view-query";
2
- export * from "./find";
3
- //# sourceMappingURL=index.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
@@ -1,2 +0,0 @@
1
- export * from "./find";
2
- //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -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