ignotum 0.0.6 → 0.0.7
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/cli/bin.mjs +663 -38
- package/dist/cli/bin.mjs.map +1 -1
- package/dist/runtime/{api-D2bsAz4T.d.ts → api-Dp4J-xt-.d.ts} +2 -3
- package/dist/runtime/client.d.ts +20 -3
- package/dist/runtime/client.js +197 -20
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/{descriptor-t6BOEGw9-BTHR-ZMv.js → descriptor-t6BOEGw9-C1rwYIlx.js} +29 -2
- package/dist/runtime/descriptor-t6BOEGw9-C1rwYIlx.js.map +1 -0
- package/dist/runtime/{result-BgcHn25t.d.ts → id-Btwac71X-DhnKYsjY.d.ts} +8 -2
- package/dist/runtime/{index-Dl_VQGmA.d.ts → index-B5KSOjGN.d.ts} +60 -69
- package/dist/runtime/internal/api.d.ts +1 -1
- package/dist/runtime/internal/host.d.ts +20 -4
- package/dist/runtime/internal/host.js +190 -7
- package/dist/runtime/internal/host.js.map +1 -1
- package/dist/runtime/internal/server.d.ts +1 -1
- package/dist/runtime/internal/server.js +1 -1
- package/dist/runtime/internal/types.d.ts +1 -1
- package/dist/runtime/internal/types.js +1 -1
- package/dist/runtime/pagination-B1BzNkh8-BUSTbeSg.d.ts +80 -0
- package/dist/runtime/pagination-BKPko9Hm.d.ts +1 -0
- package/dist/runtime/{schema-B-jMZEbs.js → schema-D9RmboaS.js} +93 -29
- package/dist/runtime/schema-D9RmboaS.js.map +1 -0
- package/dist/runtime/server.d.ts +2 -2
- package/dist/runtime/server.js +2 -2
- package/package.json +4 -4
- package/src/cli/agent-files.ts +4 -0
- package/src/client/hooks.ts +164 -2
- package/src/client/index.ts +2 -1
- package/src/dev-runtime/database.ts +568 -37
- package/src/dev-runtime/migrations.ts +30 -0
- package/dist/runtime/descriptor-t6BOEGw9-BTHR-ZMv.js.map +0 -1
- package/dist/runtime/id-Btwac71X-B9OeBzvq.d.ts +0 -9
- package/dist/runtime/schema-B-jMZEbs.js.map +0 -1
|
@@ -1,68 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
1
|
+
import { c as Result, i as ErrorValue, n as DocumentNotFoundValue, r as ErrorBrand, t as GeneratedId } from "./id-Btwac71X-DhnKYsjY.js";
|
|
2
|
+
import { a as ValueDescriptorCarrier, i as ValueDescriptor, n as PaginationPage, o as ValueFields, r as DescribedValue, t as PaginationOptions } from "./pagination-B1BzNkh8-BUSTbeSg.js";
|
|
3
3
|
import { Brand, Effect, Schema, Struct } from "effect";
|
|
4
|
-
//#region ../contracts/dist/descriptor-CVZycwe2.d.ts
|
|
5
|
-
//#region src/schema/descriptor.d.ts
|
|
6
|
-
interface DescriptorField {
|
|
7
|
-
readonly name: string;
|
|
8
|
-
readonly value: ValueDescriptor;
|
|
9
|
-
}
|
|
10
|
-
type ValueDescriptor = {
|
|
11
|
-
readonly type: "array";
|
|
12
|
-
readonly value: ValueDescriptor;
|
|
13
|
-
} | {
|
|
14
|
-
readonly type: "boolean";
|
|
15
|
-
} | {
|
|
16
|
-
readonly type: "date";
|
|
17
|
-
} | {
|
|
18
|
-
readonly type: "error";
|
|
19
|
-
readonly tag: string;
|
|
20
|
-
readonly fields: ReadonlyArray<DescriptorField>;
|
|
21
|
-
} | {
|
|
22
|
-
readonly type: "id";
|
|
23
|
-
readonly table: string;
|
|
24
|
-
} | {
|
|
25
|
-
readonly type: "integer";
|
|
26
|
-
} | {
|
|
27
|
-
readonly type: "literal";
|
|
28
|
-
readonly value: string | number | boolean;
|
|
29
|
-
} | {
|
|
30
|
-
readonly type: "literals";
|
|
31
|
-
readonly values: ReadonlyArray<string | number | boolean>;
|
|
32
|
-
} | {
|
|
33
|
-
readonly type: "never";
|
|
34
|
-
} | {
|
|
35
|
-
readonly type: "null";
|
|
36
|
-
} | {
|
|
37
|
-
readonly type: "nullable";
|
|
38
|
-
readonly value: ValueDescriptor;
|
|
39
|
-
} | {
|
|
40
|
-
readonly type: "number";
|
|
41
|
-
} | {
|
|
42
|
-
readonly type: "object";
|
|
43
|
-
readonly fields: ReadonlyArray<DescriptorField>;
|
|
44
|
-
} | {
|
|
45
|
-
readonly type: "optional";
|
|
46
|
-
readonly value: ValueDescriptor;
|
|
47
|
-
} | {
|
|
48
|
-
readonly type: "record";
|
|
49
|
-
readonly value: ValueDescriptor;
|
|
50
|
-
} | {
|
|
51
|
-
readonly type: "string";
|
|
52
|
-
} | {
|
|
53
|
-
readonly type: "union";
|
|
54
|
-
readonly members: ReadonlyArray<ValueDescriptor>;
|
|
55
|
-
};
|
|
56
|
-
declare const ValueDescriptor: Schema.Codec<ValueDescriptor>;
|
|
57
|
-
declare const ValueDescriptorTypeId: unique symbol;
|
|
58
|
-
interface ValueDescriptorCarrier {
|
|
59
|
-
readonly [ValueDescriptorTypeId]: ValueDescriptor;
|
|
60
|
-
}
|
|
61
|
-
type DescribedValue<Value extends Schema.Constraint = Schema.Constraint> = Value & ValueDescriptorCarrier;
|
|
62
|
-
type ValueFields = {
|
|
63
|
-
readonly [fieldName: PropertyKey]: DescribedValue;
|
|
64
|
-
};
|
|
65
|
-
//#endregion
|
|
66
4
|
//#region ../contracts/dist/types-DDg3XIFc.d.ts
|
|
67
5
|
//#region src/schema/types.d.ts
|
|
68
6
|
/** A document identifier branded with the table it belongs to. */
|
|
@@ -119,14 +57,26 @@ interface FixedObjectValidator<Fields extends Schema.Struct.Fields> extends Sche
|
|
|
119
57
|
type ObjectDefinition<Fields extends Schema.Struct.Fields> = DescribedValue<PreserveIdMetadata<FixedObjectValidator<Fields>, Fields[keyof Fields]>>;
|
|
120
58
|
type ResolvedFields<Fields extends Schema.Struct.Fields> = { readonly [FieldName in keyof Fields]: Omit<Fields[FieldName], typeof UnresolvedReferencesTypeId>; };
|
|
121
59
|
type LiteralValue = string | number | boolean;
|
|
122
|
-
interface
|
|
60
|
+
interface IndexDefinition<Name extends string = string, FieldNames extends readonly string[] = readonly string[]> {
|
|
61
|
+
readonly name: Name;
|
|
62
|
+
readonly fields: FieldNames;
|
|
63
|
+
}
|
|
64
|
+
interface IndexDefinitions {
|
|
65
|
+
readonly [indexName: string]: IndexDefinition;
|
|
66
|
+
}
|
|
67
|
+
type IndexScalar = boolean | Date | number | string;
|
|
68
|
+
type IndexFieldName<Fields extends Schema.Struct.Fields> = { readonly [FieldName in keyof Fields & string]: Fields[FieldName]["Type"] extends IndexScalar ? FieldName : never; }[keyof Fields & string];
|
|
69
|
+
type IndexFieldTuple<Fields extends Schema.Struct.Fields> = readonly [IndexFieldName<Fields>, ...ReadonlyArray<IndexFieldName<Fields>>];
|
|
70
|
+
interface TableDefinition<Fields extends Schema.Struct.Fields, Indexes extends IndexDefinitions = {}> {
|
|
123
71
|
readonly _tag: "Table";
|
|
124
72
|
readonly descriptor: ValueDescriptor;
|
|
125
73
|
readonly fields: Fields;
|
|
74
|
+
readonly indexes: Indexes;
|
|
126
75
|
readonly schema: Schema.Struct<Fields>;
|
|
76
|
+
readonly index: <const Name extends string, const FieldNames extends IndexFieldTuple<Fields>>(name: Name extends keyof Indexes ? never : Name, fields: FieldNames) => TableDefinition<Fields, Indexes & Record<Name, IndexDefinition<Name, FieldNames>>>;
|
|
127
77
|
}
|
|
128
78
|
interface TableDefinitions {
|
|
129
|
-
readonly [tableName: string]: TableDefinition<Schema.Struct.Fields>;
|
|
79
|
+
readonly [tableName: string]: TableDefinition<Schema.Struct.Fields, IndexDefinitions>;
|
|
130
80
|
}
|
|
131
81
|
type TableNameOf$1<Definition extends TableDefinitions> = keyof Definition & string;
|
|
132
82
|
type ReservedFieldName = "createdAt" | "id" | "updatedAt";
|
|
@@ -160,6 +110,14 @@ declare const optional: <Value extends DescribedValue>(value: Value) => Preserve
|
|
|
160
110
|
declare const nullable: <Value extends DescribedValue>(value: Value) => PreserveValueMetadata<Schema.NullOr<Value>, Value>;
|
|
161
111
|
declare const record: <Value extends DescribedValue>(value: Value) => PreserveValueMetadata<Schema.$Record<Schema.String, Value>, Value>;
|
|
162
112
|
declare const union: <const Members extends ReadonlyArray<DescribedValue>>(...members: Members) => PreserveValueMetadata<Schema.Union<Members>, Members[number]>;
|
|
113
|
+
declare const pagination: () => ObjectDefinition<{
|
|
114
|
+
readonly cursor: DescribedValue<Schema.NullOr<DescribedValue<Schema.brand<Schema.String, "ignotum/runtime/PaginationCursor">>> & Schema.Constraint>;
|
|
115
|
+
readonly pageSize: DescribedValue<Schema.brand<Schema.Int, "ignotum/runtime/PaginationPageSize">>;
|
|
116
|
+
}>;
|
|
117
|
+
declare const page: <Value extends DescribedValue>(value: Value) => ObjectDefinition<{
|
|
118
|
+
readonly items: PreserveValueMetadata<Schema.$Array<Value>, Value>;
|
|
119
|
+
readonly nextCursor: DescribedValue<Schema.NullOr<DescribedValue<Schema.brand<Schema.String, "ignotum/runtime/PaginationCursor">>> & Schema.Constraint>;
|
|
120
|
+
}> & Schema.Schema<PaginationPage<Value["Type"]>>;
|
|
163
121
|
declare const error: <const Tag extends string, const Fields extends ValueFields>(tag: Tag & ErrorTagValidation<Tag>, fields: Fields & ReservedErrorFieldValidation<NoInfer<Fields>>) => ErrorDefinition<Tag, Fields>;
|
|
164
122
|
declare const values: {
|
|
165
123
|
array: typeof array;
|
|
@@ -188,11 +146,13 @@ type DocumentDefinition<Definition extends TableDefinitions, TableName extends T
|
|
|
188
146
|
type BoundValues<Definition extends TableDefinitions> = Omit<typeof values, "id"> & {
|
|
189
147
|
readonly doc: <const TableName extends TableNameOf$1<Definition>>(tableName: TableName) => DocumentDefinition<Definition, TableName>;
|
|
190
148
|
readonly id: <const TableName extends TableNameOf$1<Definition>>(tableName: TableName) => IdDefinition<TableName>;
|
|
149
|
+
readonly page: typeof page;
|
|
150
|
+
readonly pagination: () => ReturnType<typeof pagination> & Schema.Schema<PaginationOptions>;
|
|
191
151
|
};
|
|
192
152
|
//#endregion
|
|
193
153
|
//#region ../contracts/dist/schema/index.d.ts
|
|
194
154
|
//#region src/schema/definition.d.ts
|
|
195
|
-
type AnyTableDefinition = TableDefinition<Schema.Struct.Fields>;
|
|
155
|
+
type AnyTableDefinition = TableDefinition<Schema.Struct.Fields, IndexDefinitions>;
|
|
196
156
|
interface Tables {
|
|
197
157
|
readonly [tableName: string]: AnyTableDefinition;
|
|
198
158
|
}
|
|
@@ -234,8 +194,39 @@ type FunctionReturns = TransportSchema | undefined;
|
|
|
234
194
|
type ArgsOf<Args extends FunctionArgs> = Args extends Schema.Struct.Fields ? keyof Args extends never ? void : Schema.Struct.Type<Args> : void;
|
|
235
195
|
type ReturnOf<Returns extends FunctionReturns> = Returns extends TransportSchema ? Returns["Type"] : void;
|
|
236
196
|
type DocumentNotFound<TableName extends string = string> = DocumentNotFoundValue<TableName, Id<TableName>>;
|
|
237
|
-
|
|
197
|
+
declare const IndexRangeTypeId: unique symbol;
|
|
198
|
+
interface IndexRangeExpression {
|
|
199
|
+
readonly [IndexRangeTypeId]: true;
|
|
200
|
+
}
|
|
201
|
+
type IndexFields<Definition extends Tables, Name extends TableNameOf<Definition>, IndexName extends keyof Definition[Name]["indexes"]> = Definition[Name]["indexes"][IndexName]["fields"] extends (infer Fields extends readonly string[]) ? readonly [...Fields, "createdAt", "id"] : never;
|
|
202
|
+
type IndexFieldValue<Definition extends Tables, Name extends TableNameOf<Definition>, FieldName extends string> = FieldName extends "createdAt" ? Date : FieldName extends "id" ? Id<Name> : FieldName extends keyof FieldsOf<Definition[Name]> ? FieldsOf<Definition[Name]>[FieldName]["Type"] : never;
|
|
203
|
+
interface IndexLowerBound<Definition extends Tables, Name extends TableNameOf<Definition>, FieldName extends string> extends IndexRangeExpression {
|
|
204
|
+
lt(field: FieldName, value: IndexFieldValue<Definition, Name, FieldName>): IndexRangeExpression;
|
|
205
|
+
lte(field: FieldName, value: IndexFieldValue<Definition, Name, FieldName>): IndexRangeExpression;
|
|
206
|
+
}
|
|
207
|
+
interface IndexUpperBound<Definition extends Tables, Name extends TableNameOf<Definition>, FieldName extends string> extends IndexRangeExpression {
|
|
208
|
+
gt(field: FieldName, value: IndexFieldValue<Definition, Name, FieldName>): IndexRangeExpression;
|
|
209
|
+
gte(field: FieldName, value: IndexFieldValue<Definition, Name, FieldName>): IndexRangeExpression;
|
|
210
|
+
}
|
|
211
|
+
interface IndexRangeBuilder<Definition extends Tables, Name extends TableNameOf<Definition>, Fields extends readonly string[]> extends IndexRangeExpression {
|
|
212
|
+
eq<FieldName extends Fields[0]>(field: FieldName, value: IndexFieldValue<Definition, Name, FieldName>): IndexRangeBuilder<Definition, Name, Fields extends readonly [string, ...infer Rest extends string[]] ? Rest : []>;
|
|
213
|
+
gt<FieldName extends Fields[0]>(field: FieldName, value: IndexFieldValue<Definition, Name, FieldName>): IndexLowerBound<Definition, Name, FieldName>;
|
|
214
|
+
gte<FieldName extends Fields[0]>(field: FieldName, value: IndexFieldValue<Definition, Name, FieldName>): IndexLowerBound<Definition, Name, FieldName>;
|
|
215
|
+
lt<FieldName extends Fields[0]>(field: FieldName, value: IndexFieldValue<Definition, Name, FieldName>): IndexUpperBound<Definition, Name, FieldName>;
|
|
216
|
+
lte<FieldName extends Fields[0]>(field: FieldName, value: IndexFieldValue<Definition, Name, FieldName>): IndexUpperBound<Definition, Name, FieldName>;
|
|
217
|
+
}
|
|
218
|
+
interface OrderedDatabaseQuery<Definition extends Tables, Name extends TableNameOf<Definition>> {
|
|
238
219
|
collect(): Result<ReadonlyArray<Document<Definition, Name>>, never>;
|
|
220
|
+
take(count: number): Result<ReadonlyArray<Document<Definition, Name>>, never>;
|
|
221
|
+
first(): Result<Document<Definition, Name> | undefined, never>;
|
|
222
|
+
unique(): Result<Document<Definition, Name> | undefined, never>;
|
|
223
|
+
paginate(options: PaginationOptions): Result<PaginationPage<Document<Definition, Name>>, never>;
|
|
224
|
+
}
|
|
225
|
+
interface SelectableDatabaseQuery<Definition extends Tables, Name extends TableNameOf<Definition>> extends OrderedDatabaseQuery<Definition, Name> {
|
|
226
|
+
order(direction: "asc" | "desc"): OrderedDatabaseQuery<Definition, Name>;
|
|
227
|
+
}
|
|
228
|
+
interface DatabaseQuery<Definition extends Tables, Name extends TableNameOf<Definition>> extends SelectableDatabaseQuery<Definition, Name> {
|
|
229
|
+
index<const IndexName extends keyof Definition[Name]["indexes"] & string>(name: IndexName, range?: (builder: IndexRangeBuilder<Definition, Name, IndexFields<Definition, Name, IndexName>>) => IndexRangeExpression): SelectableDatabaseQuery<Definition, Name>;
|
|
239
230
|
}
|
|
240
231
|
interface DatabaseReader<Definition extends Tables> {
|
|
241
232
|
query<const Name extends TableNameOf<Definition>>(name: Name): DatabaseQuery<Definition, Name>;
|
|
@@ -329,4 +320,4 @@ interface SchemaBindings<Definition extends Tables> extends FunctionBuilders<Def
|
|
|
329
320
|
declare const bindSchema: <const Definition extends Tables>(schema: DefinedSchema<Definition>) => SchemaBindings<Definition>;
|
|
330
321
|
//#endregion
|
|
331
322
|
export { Document as a, SchemaDefinitionTypeId as c, defineSchema as i, SchemaAuthoring as n, Id as o, bindSchema as r, SchemaDefinitionOf as s, DefinedSchema as t };
|
|
332
|
-
//# sourceMappingURL=index-
|
|
323
|
+
//# sourceMappingURL=index-B5KSOjGN.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as functionPathOf, n as FunctionReference, r as createApi, t as Api } from "../api-
|
|
1
|
+
import { i as functionPathOf, n as FunctionReference, r as createApi, t as Api } from "../api-Dp4J-xt-.js";
|
|
2
2
|
export { Api, FunctionReference, createApi, functionPathOf };
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as Result, d as TransportObject, f as TransportValue, i as ErrorValue, u as documentNotFound } from "../id-Btwac71X-DhnKYsjY.js";
|
|
2
|
+
import { n as PaginationPage, t as PaginationOptions } from "../pagination-B1BzNkh8-BUSTbeSg.js";
|
|
3
|
+
import "../pagination-BKPko9Hm.js";
|
|
2
4
|
import { Effect, Schema } from "effect";
|
|
3
5
|
//#region ../contracts/dist/runtime/functions.d.ts
|
|
4
6
|
//#region src/runtime/functions.d.ts
|
|
@@ -19,12 +21,26 @@ declare const GuestFunctionArgumentsTypeId: unique symbol;
|
|
|
19
21
|
interface GuestFunctionArguments {
|
|
20
22
|
readonly [GuestFunctionArgumentsTypeId]?: never;
|
|
21
23
|
}
|
|
24
|
+
interface GuestQueryRange {
|
|
25
|
+
readonly eq: (field: string, value: TransportValue) => GuestQueryRange;
|
|
26
|
+
readonly gt: (field: string, value: TransportValue) => GuestQueryRange;
|
|
27
|
+
readonly gte: (field: string, value: TransportValue) => GuestQueryRange;
|
|
28
|
+
readonly lt: (field: string, value: TransportValue) => GuestQueryRange;
|
|
29
|
+
readonly lte: (field: string, value: TransportValue) => GuestQueryRange;
|
|
30
|
+
}
|
|
31
|
+
interface GuestDatabaseQuery {
|
|
32
|
+
readonly index: (name: string, range?: (builder: GuestQueryRange) => GuestQueryRange) => GuestDatabaseQuery;
|
|
33
|
+
readonly order: (direction: "asc" | "desc") => GuestDatabaseQuery;
|
|
34
|
+
readonly collect: () => Result<ReadonlyArray<TransportObject>, never>;
|
|
35
|
+
readonly take: (count: number) => Result<ReadonlyArray<TransportObject>, never>;
|
|
36
|
+
readonly first: () => Result<TransportObject | undefined, never>;
|
|
37
|
+
readonly unique: () => Result<TransportObject | undefined, never>;
|
|
38
|
+
readonly paginate: (options: PaginationOptions) => Result<PaginationPage<TransportObject>, never>;
|
|
39
|
+
}
|
|
22
40
|
interface GuestDatabaseReader {
|
|
23
41
|
readonly find: (table: string, id: string) => Result<TransportObject | undefined, never>;
|
|
24
42
|
readonly get: (table: string, id: string) => Result<TransportObject, ReturnType<typeof documentNotFound>>;
|
|
25
|
-
readonly query: (table: string) =>
|
|
26
|
-
readonly collect: () => Result<ReadonlyArray<TransportObject>, never>;
|
|
27
|
-
};
|
|
43
|
+
readonly query: (table: string) => GuestDatabaseQuery;
|
|
28
44
|
}
|
|
29
45
|
interface GuestDatabaseWriter extends GuestDatabaseReader {
|
|
30
46
|
readonly delete: (table: string, id: string) => Result<void, never>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as GeneratedId } from "../id-D570vudg.js";
|
|
2
|
-
import { c as
|
|
3
|
-
import { i as getFunctionSchema, t as SchemaDefinitionTypeId } from "../schema-
|
|
4
|
-
import { Effect, Schema } from "effect";
|
|
2
|
+
import { _ as datePathsOfObject, a as PaginationCursor, c as ErrorValueSchema, g as datePathsOf, h as TransportValueSchema, m as resultFromEffect, o as PaginationPageSize, u as documentNotFound } from "../descriptor-t6BOEGw9-C1rwYIlx.js";
|
|
3
|
+
import { i as getFunctionSchema, t as SchemaDefinitionTypeId } from "../schema-D9RmboaS.js";
|
|
4
|
+
import { Effect, Predicate, Schema } from "effect";
|
|
5
5
|
//#region ../contracts/dist/runtime/host.js
|
|
6
6
|
const HostDocument = Schema.Struct({
|
|
7
7
|
id: GeneratedId,
|
|
@@ -13,6 +13,40 @@ const HostCollect = Schema.Struct({
|
|
|
13
13
|
type: Schema.Literal("Collect"),
|
|
14
14
|
table: Schema.String
|
|
15
15
|
});
|
|
16
|
+
const HostIndexComparison = Schema.Struct({
|
|
17
|
+
field: Schema.String,
|
|
18
|
+
value: Schema.Json
|
|
19
|
+
});
|
|
20
|
+
const HostIndexRange = Schema.Struct({
|
|
21
|
+
equal: Schema.Array(HostIndexComparison),
|
|
22
|
+
lower: Schema.optional(Schema.Struct({
|
|
23
|
+
...HostIndexComparison.fields,
|
|
24
|
+
inclusive: Schema.Boolean
|
|
25
|
+
})),
|
|
26
|
+
upper: Schema.optional(Schema.Struct({
|
|
27
|
+
...HostIndexComparison.fields,
|
|
28
|
+
inclusive: Schema.Boolean
|
|
29
|
+
}))
|
|
30
|
+
});
|
|
31
|
+
const HostQuery = Schema.Struct({
|
|
32
|
+
type: Schema.Literal("Query"),
|
|
33
|
+
table: Schema.String,
|
|
34
|
+
index: Schema.optional(Schema.String),
|
|
35
|
+
range: Schema.optional(HostIndexRange),
|
|
36
|
+
order: Schema.Literals(["Asc", "Desc"]),
|
|
37
|
+
limit: Schema.optional(Schema.Natural)
|
|
38
|
+
});
|
|
39
|
+
const HostPaginate = Schema.Struct({
|
|
40
|
+
type: Schema.Literal("Paginate"),
|
|
41
|
+
table: Schema.String,
|
|
42
|
+
index: Schema.optional(Schema.String),
|
|
43
|
+
range: Schema.optional(HostIndexRange),
|
|
44
|
+
order: Schema.Literals(["Asc", "Desc"]),
|
|
45
|
+
pagination: Schema.Struct({
|
|
46
|
+
cursor: Schema.NullOr(PaginationCursor),
|
|
47
|
+
pageSize: PaginationPageSize
|
|
48
|
+
})
|
|
49
|
+
});
|
|
16
50
|
const HostFind = Schema.Struct({
|
|
17
51
|
type: Schema.Literal("Find"),
|
|
18
52
|
table: Schema.String,
|
|
@@ -42,6 +76,8 @@ const HostReplace = Schema.Struct({
|
|
|
42
76
|
});
|
|
43
77
|
const QuickJsHostRequest = Schema.Union([
|
|
44
78
|
HostCollect,
|
|
79
|
+
HostQuery,
|
|
80
|
+
HostPaginate,
|
|
45
81
|
HostFind,
|
|
46
82
|
HostInsert,
|
|
47
83
|
HostDelete,
|
|
@@ -52,6 +88,11 @@ const HostDocuments = Schema.Struct({
|
|
|
52
88
|
type: Schema.Literal("Documents"),
|
|
53
89
|
documents: Schema.Array(HostDocument)
|
|
54
90
|
});
|
|
91
|
+
const HostPage = Schema.Struct({
|
|
92
|
+
type: Schema.Literal("Page"),
|
|
93
|
+
documents: Schema.Array(HostDocument),
|
|
94
|
+
nextCursor: Schema.NullOr(PaginationCursor)
|
|
95
|
+
});
|
|
55
96
|
const HostFound = Schema.Struct({
|
|
56
97
|
type: Schema.Literal("Found"),
|
|
57
98
|
document: Schema.NullOr(HostDocument)
|
|
@@ -63,6 +104,7 @@ const HostInserted = Schema.Struct({
|
|
|
63
104
|
const HostCompleted = Schema.Struct({ type: Schema.Literal("Completed") });
|
|
64
105
|
Schema.Union([
|
|
65
106
|
HostDocuments,
|
|
107
|
+
HostPage,
|
|
66
108
|
HostFound,
|
|
67
109
|
HostInserted,
|
|
68
110
|
HostCompleted
|
|
@@ -71,6 +113,7 @@ Schema.Union([
|
|
|
71
113
|
//#region ../runtime/dist/guest.js
|
|
72
114
|
const decodeHostResponse = Schema.decodeEffect(Schema.fromJsonString(Schema.Union([
|
|
73
115
|
HostDocuments,
|
|
116
|
+
HostPage,
|
|
74
117
|
HostFound,
|
|
75
118
|
HostInserted,
|
|
76
119
|
HostCompleted
|
|
@@ -119,13 +162,153 @@ const makeReader = (schema, call) => {
|
|
|
119
162
|
table,
|
|
120
163
|
id: GeneratedId.make(id)
|
|
121
164
|
}).pipe(Effect.map((response) => expectResponse(response, "Found")), Effect.map(({ document }) => document === null ? void 0 : decodeDocument(schema, table, document)));
|
|
165
|
+
const query = (table, selectedIndex, selectedRange, order = "Asc") => {
|
|
166
|
+
const definition = tableFor(schema, table);
|
|
167
|
+
const encodeIndexValue = (field, value) => {
|
|
168
|
+
const codec = field === "createdAt" ? Schema.DateFromMillis : field === "id" ? GeneratedId : definition.fields[field];
|
|
169
|
+
if (codec === void 0) throw new Error(`Unknown index field '${field}'.`);
|
|
170
|
+
return Schema.decodeUnknownSync(Schema.Json)(Schema.encodeUnknownSync(guestCodec(codec))(value));
|
|
171
|
+
};
|
|
172
|
+
const execute = (limit) => {
|
|
173
|
+
const request = selectedIndex === void 0 ? {
|
|
174
|
+
type: "Query",
|
|
175
|
+
table,
|
|
176
|
+
order
|
|
177
|
+
} : selectedRange === void 0 ? {
|
|
178
|
+
type: "Query",
|
|
179
|
+
table,
|
|
180
|
+
index: selectedIndex,
|
|
181
|
+
order
|
|
182
|
+
} : {
|
|
183
|
+
type: "Query",
|
|
184
|
+
table,
|
|
185
|
+
index: selectedIndex,
|
|
186
|
+
range: selectedRange,
|
|
187
|
+
order
|
|
188
|
+
};
|
|
189
|
+
return callHost(call, limit === void 0 ? request : {
|
|
190
|
+
...request,
|
|
191
|
+
limit
|
|
192
|
+
}).pipe(Effect.map((response) => expectResponse(response, "Documents")), Effect.map(({ documents }) => documents.map((document) => decodeDocument(schema, table, document))));
|
|
193
|
+
};
|
|
194
|
+
const executePage = (pagination) => {
|
|
195
|
+
return callHost(call, selectedIndex === void 0 ? {
|
|
196
|
+
type: "Paginate",
|
|
197
|
+
table,
|
|
198
|
+
order,
|
|
199
|
+
pagination
|
|
200
|
+
} : selectedRange === void 0 ? {
|
|
201
|
+
type: "Paginate",
|
|
202
|
+
table,
|
|
203
|
+
index: selectedIndex,
|
|
204
|
+
order,
|
|
205
|
+
pagination
|
|
206
|
+
} : {
|
|
207
|
+
type: "Paginate",
|
|
208
|
+
table,
|
|
209
|
+
index: selectedIndex,
|
|
210
|
+
range: selectedRange,
|
|
211
|
+
order,
|
|
212
|
+
pagination
|
|
213
|
+
}).pipe(Effect.map((response) => expectResponse(response, "Page")), Effect.map(({ documents, nextCursor }) => ({
|
|
214
|
+
items: documents.map((document) => decodeDocument(schema, table, document)),
|
|
215
|
+
nextCursor
|
|
216
|
+
})));
|
|
217
|
+
};
|
|
218
|
+
const validateLimit = (count) => {
|
|
219
|
+
if (!Number.isInteger(count) || count < 0 || count > 1e3) throw new Error("Query limits must be integers between 0 and 1000.");
|
|
220
|
+
return count;
|
|
221
|
+
};
|
|
222
|
+
return Object.freeze({
|
|
223
|
+
index: (name, buildRange) => {
|
|
224
|
+
if (selectedIndex !== void 0) throw new Error("A query can select only one index.");
|
|
225
|
+
const index = definition.indexes[name];
|
|
226
|
+
if (index === void 0) throw new Error(`Unknown index '${name}' on table '${table}'.`);
|
|
227
|
+
if (buildRange === void 0) return query(table, name, void 0, order);
|
|
228
|
+
const fields = [
|
|
229
|
+
...index.fields,
|
|
230
|
+
"createdAt",
|
|
231
|
+
"id"
|
|
232
|
+
];
|
|
233
|
+
const range = { equal: [] };
|
|
234
|
+
let position = 0;
|
|
235
|
+
let boundedField;
|
|
236
|
+
const expectField = (field) => {
|
|
237
|
+
const expected = fields[position];
|
|
238
|
+
if (field !== expected) throw new Error(`Expected index field '${expected}', received '${field}'.`);
|
|
239
|
+
};
|
|
240
|
+
const builder = {
|
|
241
|
+
eq: (field, value) => {
|
|
242
|
+
if (boundedField !== void 0) throw new Error("Equality cannot follow an index bound.");
|
|
243
|
+
expectField(field);
|
|
244
|
+
range.equal.push({
|
|
245
|
+
field,
|
|
246
|
+
value: encodeIndexValue(field, value)
|
|
247
|
+
});
|
|
248
|
+
position += 1;
|
|
249
|
+
return builder;
|
|
250
|
+
},
|
|
251
|
+
gt: (field, value) => {
|
|
252
|
+
expectField(field);
|
|
253
|
+
if (range.lower !== void 0) throw new Error("An index range has only one lower bound.");
|
|
254
|
+
boundedField = field;
|
|
255
|
+
range.lower = {
|
|
256
|
+
field,
|
|
257
|
+
value: encodeIndexValue(field, value),
|
|
258
|
+
inclusive: false
|
|
259
|
+
};
|
|
260
|
+
return builder;
|
|
261
|
+
},
|
|
262
|
+
gte: (field, value) => {
|
|
263
|
+
expectField(field);
|
|
264
|
+
if (range.lower !== void 0) throw new Error("An index range has only one lower bound.");
|
|
265
|
+
boundedField = field;
|
|
266
|
+
range.lower = {
|
|
267
|
+
field,
|
|
268
|
+
value: encodeIndexValue(field, value),
|
|
269
|
+
inclusive: true
|
|
270
|
+
};
|
|
271
|
+
return builder;
|
|
272
|
+
},
|
|
273
|
+
lt: (field, value) => {
|
|
274
|
+
expectField(field);
|
|
275
|
+
if (range.upper !== void 0) throw new Error("An index range has only one upper bound.");
|
|
276
|
+
boundedField = field;
|
|
277
|
+
range.upper = {
|
|
278
|
+
field,
|
|
279
|
+
value: encodeIndexValue(field, value),
|
|
280
|
+
inclusive: false
|
|
281
|
+
};
|
|
282
|
+
return builder;
|
|
283
|
+
},
|
|
284
|
+
lte: (field, value) => {
|
|
285
|
+
expectField(field);
|
|
286
|
+
if (range.upper !== void 0) throw new Error("An index range has only one upper bound.");
|
|
287
|
+
boundedField = field;
|
|
288
|
+
range.upper = {
|
|
289
|
+
field,
|
|
290
|
+
value: encodeIndexValue(field, value),
|
|
291
|
+
inclusive: true
|
|
292
|
+
};
|
|
293
|
+
return builder;
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
const built = buildRange(builder);
|
|
297
|
+
if (!Predicate.isObject(built)) throw new Error("An index range callback must return its builder.");
|
|
298
|
+
return query(table, name, range, order);
|
|
299
|
+
},
|
|
300
|
+
order: (direction) => query(table, selectedIndex, selectedRange, direction === "asc" ? "Asc" : "Desc"),
|
|
301
|
+
collect: () => resultFromEffect(execute()),
|
|
302
|
+
take: (count) => resultFromEffect(execute(validateLimit(count))),
|
|
303
|
+
first: () => resultFromEffect(execute(1).pipe(Effect.map((documents) => documents[0]))),
|
|
304
|
+
unique: () => resultFromEffect(execute(2).pipe(Effect.flatMap((documents) => documents.length > 1 ? Effect.die(/* @__PURE__ */ new Error("A unique database query matched more than one document.")) : Effect.succeed(documents[0])))),
|
|
305
|
+
paginate: (options) => resultFromEffect(executePage(options))
|
|
306
|
+
});
|
|
307
|
+
};
|
|
122
308
|
return Object.freeze({
|
|
123
309
|
find: (table, id) => resultFromEffect(findEffect(table, id)),
|
|
124
310
|
get: (table, id) => resultFromEffect(findEffect(table, id).pipe(Effect.flatMap((document) => document === void 0 ? Effect.fail(documentNotFound(table, id)) : Effect.succeed(document)))),
|
|
125
|
-
query: (table) => (
|
|
126
|
-
type: "Collect",
|
|
127
|
-
table
|
|
128
|
-
}).pipe(Effect.map((response) => expectResponse(response, "Documents")), Effect.map(({ documents }) => documents.map((document) => decodeDocument(schema, table, document))))) })
|
|
311
|
+
query: (table) => query(table)
|
|
129
312
|
});
|
|
130
313
|
};
|
|
131
314
|
const makeWriter = (schema, call) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","names":[],"sources":["../../../../contracts/dist/runtime/host.js","../../../../runtime/dist/guest.js"],"sourcesContent":["import { GeneratedId } from \"./id.js\";\nimport { Schema } from \"effect\";\n//#region src/runtime/host.ts\nconst HostDocument = Schema.Struct({\n\tid: GeneratedId,\n\tcreatedAt: Schema.Int,\n\tupdatedAt: Schema.Int,\n\tfields: Schema.JsonObject\n});\nconst HostCollect = Schema.Struct({\n\ttype: Schema.Literal(\"Collect\"),\n\ttable: Schema.String\n});\nconst HostFind = Schema.Struct({\n\ttype: Schema.Literal(\"Find\"),\n\ttable: Schema.String,\n\tid: GeneratedId\n});\nconst HostInsert = Schema.Struct({\n\ttype: Schema.Literal(\"Insert\"),\n\ttable: Schema.String,\n\tfields: Schema.JsonObject\n});\nconst HostDelete = Schema.Struct({\n\ttype: Schema.Literal(\"Delete\"),\n\ttable: Schema.String,\n\tid: GeneratedId\n});\nconst HostPatch = Schema.Struct({\n\ttype: Schema.Literal(\"Patch\"),\n\ttable: Schema.String,\n\tid: GeneratedId,\n\tfields: Schema.JsonObject\n});\nconst HostReplace = Schema.Struct({\n\ttype: Schema.Literal(\"Replace\"),\n\ttable: Schema.String,\n\tid: GeneratedId,\n\tfields: Schema.JsonObject\n});\nconst QuickJsHostRequest = Schema.Union([\n\tHostCollect,\n\tHostFind,\n\tHostInsert,\n\tHostDelete,\n\tHostPatch,\n\tHostReplace\n]);\nconst HostDocuments = Schema.Struct({\n\ttype: Schema.Literal(\"Documents\"),\n\tdocuments: Schema.Array(HostDocument)\n});\nconst HostFound = Schema.Struct({\n\ttype: Schema.Literal(\"Found\"),\n\tdocument: Schema.NullOr(HostDocument)\n});\nconst HostInserted = Schema.Struct({\n\ttype: Schema.Literal(\"Inserted\"),\n\tid: GeneratedId\n});\nconst HostCompleted = Schema.Struct({ type: Schema.Literal(\"Completed\") });\nconst QuickJsHostResponse = Schema.Union([\n\tHostDocuments,\n\tHostFound,\n\tHostInserted,\n\tHostCompleted\n]);\n//#endregion\nexport { HostCollect, HostCompleted, HostDelete, HostDocument, HostDocuments, HostFind, HostFound, HostInsert, HostInserted, HostPatch, HostReplace, QuickJsHostRequest, QuickJsHostResponse };\n\n//# sourceMappingURL=host.js.map","import { HostCompleted, HostDocuments, HostFound, HostInserted, QuickJsHostRequest } from \"@ignotum/contracts/runtime/host\";\nimport { GeneratedId } from \"@ignotum/contracts/runtime/id\";\nimport { Effect, Schema } from \"effect\";\nimport { ErrorValueSchema, documentNotFound, resultFromEffect } from \"@ignotum/contracts/runtime/result\";\nimport { getFunctionSchema } from \"@ignotum/contracts/runtime/schema\";\nimport { TransportValueSchema, datePathsOf, datePathsOfObject } from \"@ignotum/contracts/runtime/value\";\nimport { SchemaDefinitionTypeId } from \"@ignotum/contracts/schema\";\n//#region src/guest.ts\nconst decodeHostResponse = Schema.decodeEffect(Schema.fromJsonString(Schema.Union([\n\tHostDocuments,\n\tHostFound,\n\tHostInserted,\n\tHostCompleted\n])));\nconst encodeHostRequest = Schema.encodeSync(Schema.fromJsonString(QuickJsHostRequest));\nconst callHost = Effect.fn(\"Guest.callHost\")(function* (call, request) {\n\treturn yield* Effect.tryPromise(() => call(encodeHostRequest(request))).pipe(Effect.flatMap(decodeHostResponse), Effect.orDie);\n});\nconst tableFor = (schema, table) => {\n\tconst definition = schema[SchemaDefinitionTypeId][table];\n\tif (definition === void 0) throw new Error(`Unknown database table '${table}'.`);\n\treturn definition;\n};\nconst guestCodec = (schema) => schema;\nconst encodeFields = (schema, table, fields) => {\n\tconst definition = tableFor(schema, table);\n\treturn Schema.decodeUnknownSync(Schema.JsonObject)(Schema.encodeUnknownSync(Schema.toCodecJson(guestCodec(definition.schema)), { onExcessProperty: \"error\" })(fields));\n};\nconst encodePatchFields = (schema, table, fields) => {\n\tconst definition = tableFor(schema, table);\n\treturn Schema.decodeSync(Schema.JsonObject)(Object.fromEntries(Object.entries(fields).map(([name, value]) => {\n\t\tconst field = definition.fields[name];\n\t\tif (field === void 0) throw new Error(`Unknown field '${name}' on table '${table}'.`);\n\t\treturn [name, Schema.encodeUnknownSync(Schema.toCodecJson(guestCodec(field)))(value)];\n\t})));\n};\nconst documentCodec = (schema, table) => guestCodec(Schema.Struct({\n\t...tableFor(schema, table).fields,\n\tid: Schema.String,\n\tcreatedAt: Schema.DateFromMillis,\n\tupdatedAt: Schema.DateFromMillis\n}));\nconst decodeDocument = (schema, table, document) => Schema.decodeUnknownSync(Schema.Record(Schema.String, Schema.UndefinedOr(TransportValueSchema)))(Schema.decodeSync(Schema.toCodecJson(documentCodec(schema, table)))({\n\t...document.fields,\n\tid: document.id,\n\tcreatedAt: document.createdAt,\n\tupdatedAt: document.updatedAt\n}));\nconst expectResponse = (response, tag) => {\n\tif (response.type !== tag) throw new Error(`Unexpected host response '${response.type}'.`);\n\treturn response;\n};\nconst makeReader = (schema, call) => {\n\tconst findEffect = (table, id) => callHost(call, {\n\t\ttype: \"Find\",\n\t\ttable,\n\t\tid: GeneratedId.make(id)\n\t}).pipe(Effect.map((response) => expectResponse(response, \"Found\")), Effect.map(({ document }) => document === null ? void 0 : decodeDocument(schema, table, document)));\n\treturn Object.freeze({\n\t\tfind: (table, id) => resultFromEffect(findEffect(table, id)),\n\t\tget: (table, id) => resultFromEffect(findEffect(table, id).pipe(Effect.flatMap((document) => document === void 0 ? Effect.fail(documentNotFound(table, id)) : Effect.succeed(document)))),\n\t\tquery: (table) => ({ collect: () => resultFromEffect(callHost(call, {\n\t\t\ttype: \"Collect\",\n\t\t\ttable\n\t\t}).pipe(Effect.map((response) => expectResponse(response, \"Documents\")), Effect.map(({ documents }) => documents.map((document) => decodeDocument(schema, table, document))))) })\n\t});\n};\nconst makeWriter = (schema, call) => {\n\tconst reader = makeReader(schema, call);\n\tconst complete = (request) => callHost(call, request).pipe(Effect.map((response) => expectResponse(response, \"Completed\")), Effect.asVoid);\n\tconst writer = {\n\t\t...reader,\n\t\tdelete: (table, id) => resultFromEffect(complete({\n\t\t\ttype: \"Delete\",\n\t\t\ttable,\n\t\t\tid: GeneratedId.make(id)\n\t\t})),\n\t\tinsert: (table, value) => resultFromEffect(callHost(call, {\n\t\t\ttype: \"Insert\",\n\t\t\ttable,\n\t\t\tfields: encodeFields(schema, table, value)\n\t\t}).pipe(Effect.map((response) => expectResponse(response, \"Inserted\").id))),\n\t\tpatch: (table, id, value) => resultFromEffect(complete({\n\t\t\ttype: \"Patch\",\n\t\t\ttable,\n\t\t\tid: GeneratedId.make(id),\n\t\t\tfields: encodePatchFields(schema, table, value)\n\t\t})),\n\t\treplace: (table, id, value) => resultFromEffect(complete({\n\t\t\ttype: \"Replace\",\n\t\t\ttable,\n\t\t\tid: GeneratedId.make(id),\n\t\t\tfields: encodeFields(schema, table, value)\n\t\t}))\n\t};\n\treturn Object.freeze(writer);\n};\nconst encodeSuccess = Effect.fn(\"Guest.encodeSuccess\")(function* (definition, value) {\n\tif (definition.returns === void 0) {\n\t\tyield* Schema.encodeUnknownEffect(Schema.Undefined)(value);\n\t\treturn { type: \"Success\" };\n\t}\n\tconst result = {\n\t\ttype: \"Success\",\n\t\tvalue: yield* Schema.encodeUnknownEffect(Schema.toCodecJson(definition.returns))(value)\n\t};\n\tconst dates = datePathsOf(value);\n\treturn dates.length === 0 ? result : {\n\t\t...result,\n\t\tdates\n\t};\n});\nconst encodeFailure = Effect.fn(\"Guest.encodeFailure\")(function* (definition, error) {\n\tconst result = {\n\t\ttype: \"Failure\",\n\t\terror: yield* Schema.encodeUnknownEffect(Schema.toCodecJson(definition.errors ?? ErrorValueSchema))(error)\n\t};\n\tconst dates = datePathsOfObject(error);\n\treturn dates.length === 0 ? result : {\n\t\t...result,\n\t\tdates\n\t};\n});\nconst runGuest = Effect.fn(\"Guest.invoke\")(function* (definition, encodedArgs, call) {\n\tconst schema = getFunctionSchema(definition);\n\tif (schema === void 0) return yield* Effect.die(\"The function has no bound schema.\");\n\tconst decodedArgs = yield* Schema.decodeEffect(Schema.toCodecJson(guestCodec(Schema.Struct(definition.args ?? {}))))(encodedArgs).pipe(Effect.match({\n\t\tonFailure: () => ({ valid: false }),\n\t\tonSuccess: (value) => ({\n\t\t\tvalid: true,\n\t\t\tvalue\n\t\t})\n\t}));\n\tif (!decodedArgs.valid) return {\n\t\ttype: \"InvocationRejected\",\n\t\tcode: \"InvalidArguments\",\n\t\tmessage: \"The invocation arguments do not match the function definition.\"\n\t};\n\tconst args = yield* Schema.decodeUnknownEffect(Schema.ObjectKeyword)(decodedArgs.value);\n\tconst context = Object.freeze({ db: definition._tag === \"Query\" ? makeReader(schema, call) : makeWriter(schema, call) });\n\treturn yield* Effect.gen(() => definition.handler(context, args)).pipe(Effect.matchEffect({\n\t\tonFailure: (error) => encodeFailure(definition, error),\n\t\tonSuccess: (value) => encodeSuccess(definition, value)\n\t}));\n});\nconst invoke = (definition, encodedArgs, call) => Effect.runPromise(runGuest(definition, encodedArgs, call)).then((result) => Schema.encodeSync(Schema.fromJsonString(Schema.Json))(result));\n//#endregion\nexport { invoke };\n\n//# sourceMappingURL=guest.js.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host.js","names":[],"sources":["../../../../contracts/dist/runtime/host.js","../../../../runtime/dist/guest.js"],"sourcesContent":["import { GeneratedId } from \"./id.js\";\nimport { PaginationCursor, PaginationPageSize } from \"./pagination.js\";\nimport { Schema } from \"effect\";\n//#region src/runtime/host.ts\nconst HostDocument = Schema.Struct({\n\tid: GeneratedId,\n\tcreatedAt: Schema.Int,\n\tupdatedAt: Schema.Int,\n\tfields: Schema.JsonObject\n});\nconst HostCollect = Schema.Struct({\n\ttype: Schema.Literal(\"Collect\"),\n\ttable: Schema.String\n});\nconst HostIndexComparison = Schema.Struct({\n\tfield: Schema.String,\n\tvalue: Schema.Json\n});\nconst HostIndexRange = Schema.Struct({\n\tequal: Schema.Array(HostIndexComparison),\n\tlower: Schema.optional(Schema.Struct({\n\t\t...HostIndexComparison.fields,\n\t\tinclusive: Schema.Boolean\n\t})),\n\tupper: Schema.optional(Schema.Struct({\n\t\t...HostIndexComparison.fields,\n\t\tinclusive: Schema.Boolean\n\t}))\n});\nconst HostQuery = Schema.Struct({\n\ttype: Schema.Literal(\"Query\"),\n\ttable: Schema.String,\n\tindex: Schema.optional(Schema.String),\n\trange: Schema.optional(HostIndexRange),\n\torder: Schema.Literals([\"Asc\", \"Desc\"]),\n\tlimit: Schema.optional(Schema.Natural)\n});\nconst HostPaginate = Schema.Struct({\n\ttype: Schema.Literal(\"Paginate\"),\n\ttable: Schema.String,\n\tindex: Schema.optional(Schema.String),\n\trange: Schema.optional(HostIndexRange),\n\torder: Schema.Literals([\"Asc\", \"Desc\"]),\n\tpagination: Schema.Struct({\n\t\tcursor: Schema.NullOr(PaginationCursor),\n\t\tpageSize: PaginationPageSize\n\t})\n});\nconst HostFind = Schema.Struct({\n\ttype: Schema.Literal(\"Find\"),\n\ttable: Schema.String,\n\tid: GeneratedId\n});\nconst HostInsert = Schema.Struct({\n\ttype: Schema.Literal(\"Insert\"),\n\ttable: Schema.String,\n\tfields: Schema.JsonObject\n});\nconst HostDelete = Schema.Struct({\n\ttype: Schema.Literal(\"Delete\"),\n\ttable: Schema.String,\n\tid: GeneratedId\n});\nconst HostPatch = Schema.Struct({\n\ttype: Schema.Literal(\"Patch\"),\n\ttable: Schema.String,\n\tid: GeneratedId,\n\tfields: Schema.JsonObject\n});\nconst HostReplace = Schema.Struct({\n\ttype: Schema.Literal(\"Replace\"),\n\ttable: Schema.String,\n\tid: GeneratedId,\n\tfields: Schema.JsonObject\n});\nconst QuickJsHostRequest = Schema.Union([\n\tHostCollect,\n\tHostQuery,\n\tHostPaginate,\n\tHostFind,\n\tHostInsert,\n\tHostDelete,\n\tHostPatch,\n\tHostReplace\n]);\nconst HostDocuments = Schema.Struct({\n\ttype: Schema.Literal(\"Documents\"),\n\tdocuments: Schema.Array(HostDocument)\n});\nconst HostPage = Schema.Struct({\n\ttype: Schema.Literal(\"Page\"),\n\tdocuments: Schema.Array(HostDocument),\n\tnextCursor: Schema.NullOr(PaginationCursor)\n});\nconst HostFound = Schema.Struct({\n\ttype: Schema.Literal(\"Found\"),\n\tdocument: Schema.NullOr(HostDocument)\n});\nconst HostInserted = Schema.Struct({\n\ttype: Schema.Literal(\"Inserted\"),\n\tid: GeneratedId\n});\nconst HostCompleted = Schema.Struct({ type: Schema.Literal(\"Completed\") });\nconst QuickJsHostResponse = Schema.Union([\n\tHostDocuments,\n\tHostPage,\n\tHostFound,\n\tHostInserted,\n\tHostCompleted\n]);\n//#endregion\nexport { HostCollect, HostCompleted, HostDelete, HostDocument, HostDocuments, HostFind, HostFound, HostIndexComparison, HostIndexRange, HostInsert, HostInserted, HostPage, HostPaginate, HostPatch, HostQuery, HostReplace, QuickJsHostRequest, QuickJsHostResponse };\n\n//# sourceMappingURL=host.js.map","import { HostCompleted, HostDocuments, HostFound, HostInserted, HostPage, QuickJsHostRequest } from \"@ignotum/contracts/runtime/host\";\nimport { GeneratedId } from \"@ignotum/contracts/runtime/id\";\nimport { Effect, Predicate, Schema } from \"effect\";\nimport { ErrorValueSchema, documentNotFound, resultFromEffect } from \"@ignotum/contracts/runtime/result\";\nimport { getFunctionSchema } from \"@ignotum/contracts/runtime/schema\";\nimport { TransportValueSchema, datePathsOf, datePathsOfObject } from \"@ignotum/contracts/runtime/value\";\nimport { SchemaDefinitionTypeId } from \"@ignotum/contracts/schema\";\n//#region src/guest.ts\nconst decodeHostResponse = Schema.decodeEffect(Schema.fromJsonString(Schema.Union([\n\tHostDocuments,\n\tHostPage,\n\tHostFound,\n\tHostInserted,\n\tHostCompleted\n])));\nconst encodeHostRequest = Schema.encodeSync(Schema.fromJsonString(QuickJsHostRequest));\nconst callHost = Effect.fn(\"Guest.callHost\")(function* (call, request) {\n\treturn yield* Effect.tryPromise(() => call(encodeHostRequest(request))).pipe(Effect.flatMap(decodeHostResponse), Effect.orDie);\n});\nconst tableFor = (schema, table) => {\n\tconst definition = schema[SchemaDefinitionTypeId][table];\n\tif (definition === void 0) throw new Error(`Unknown database table '${table}'.`);\n\treturn definition;\n};\nconst guestCodec = (schema) => schema;\nconst encodeFields = (schema, table, fields) => {\n\tconst definition = tableFor(schema, table);\n\treturn Schema.decodeUnknownSync(Schema.JsonObject)(Schema.encodeUnknownSync(Schema.toCodecJson(guestCodec(definition.schema)), { onExcessProperty: \"error\" })(fields));\n};\nconst encodePatchFields = (schema, table, fields) => {\n\tconst definition = tableFor(schema, table);\n\treturn Schema.decodeSync(Schema.JsonObject)(Object.fromEntries(Object.entries(fields).map(([name, value]) => {\n\t\tconst field = definition.fields[name];\n\t\tif (field === void 0) throw new Error(`Unknown field '${name}' on table '${table}'.`);\n\t\treturn [name, Schema.encodeUnknownSync(Schema.toCodecJson(guestCodec(field)))(value)];\n\t})));\n};\nconst documentCodec = (schema, table) => guestCodec(Schema.Struct({\n\t...tableFor(schema, table).fields,\n\tid: Schema.String,\n\tcreatedAt: Schema.DateFromMillis,\n\tupdatedAt: Schema.DateFromMillis\n}));\nconst decodeDocument = (schema, table, document) => Schema.decodeUnknownSync(Schema.Record(Schema.String, Schema.UndefinedOr(TransportValueSchema)))(Schema.decodeSync(Schema.toCodecJson(documentCodec(schema, table)))({\n\t...document.fields,\n\tid: document.id,\n\tcreatedAt: document.createdAt,\n\tupdatedAt: document.updatedAt\n}));\nconst expectResponse = (response, tag) => {\n\tif (response.type !== tag) throw new Error(`Unexpected host response '${response.type}'.`);\n\treturn response;\n};\nconst makeReader = (schema, call) => {\n\tconst findEffect = (table, id) => callHost(call, {\n\t\ttype: \"Find\",\n\t\ttable,\n\t\tid: GeneratedId.make(id)\n\t}).pipe(Effect.map((response) => expectResponse(response, \"Found\")), Effect.map(({ document }) => document === null ? void 0 : decodeDocument(schema, table, document)));\n\tconst query = (table, selectedIndex, selectedRange, order = \"Asc\") => {\n\t\tconst definition = tableFor(schema, table);\n\t\tconst encodeIndexValue = (field, value) => {\n\t\t\tconst codec = field === \"createdAt\" ? Schema.DateFromMillis : field === \"id\" ? GeneratedId : definition.fields[field];\n\t\t\tif (codec === void 0) throw new Error(`Unknown index field '${field}'.`);\n\t\t\treturn Schema.decodeUnknownSync(Schema.Json)(Schema.encodeUnknownSync(guestCodec(codec))(value));\n\t\t};\n\t\tconst execute = (limit) => {\n\t\t\tconst request = selectedIndex === void 0 ? {\n\t\t\t\ttype: \"Query\",\n\t\t\t\ttable,\n\t\t\t\torder\n\t\t\t} : selectedRange === void 0 ? {\n\t\t\t\ttype: \"Query\",\n\t\t\t\ttable,\n\t\t\t\tindex: selectedIndex,\n\t\t\t\torder\n\t\t\t} : {\n\t\t\t\ttype: \"Query\",\n\t\t\t\ttable,\n\t\t\t\tindex: selectedIndex,\n\t\t\t\trange: selectedRange,\n\t\t\t\torder\n\t\t\t};\n\t\t\treturn callHost(call, limit === void 0 ? request : {\n\t\t\t\t...request,\n\t\t\t\tlimit\n\t\t\t}).pipe(Effect.map((response) => expectResponse(response, \"Documents\")), Effect.map(({ documents }) => documents.map((document) => decodeDocument(schema, table, document))));\n\t\t};\n\t\tconst executePage = (pagination) => {\n\t\t\treturn callHost(call, selectedIndex === void 0 ? {\n\t\t\t\ttype: \"Paginate\",\n\t\t\t\ttable,\n\t\t\t\torder,\n\t\t\t\tpagination\n\t\t\t} : selectedRange === void 0 ? {\n\t\t\t\ttype: \"Paginate\",\n\t\t\t\ttable,\n\t\t\t\tindex: selectedIndex,\n\t\t\t\torder,\n\t\t\t\tpagination\n\t\t\t} : {\n\t\t\t\ttype: \"Paginate\",\n\t\t\t\ttable,\n\t\t\t\tindex: selectedIndex,\n\t\t\t\trange: selectedRange,\n\t\t\t\torder,\n\t\t\t\tpagination\n\t\t\t}).pipe(Effect.map((response) => expectResponse(response, \"Page\")), Effect.map(({ documents, nextCursor }) => ({\n\t\t\t\titems: documents.map((document) => decodeDocument(schema, table, document)),\n\t\t\t\tnextCursor\n\t\t\t})));\n\t\t};\n\t\tconst validateLimit = (count) => {\n\t\t\tif (!Number.isInteger(count) || count < 0 || count > 1e3) throw new Error(\"Query limits must be integers between 0 and 1000.\");\n\t\t\treturn count;\n\t\t};\n\t\treturn Object.freeze({\n\t\t\tindex: (name, buildRange) => {\n\t\t\t\tif (selectedIndex !== void 0) throw new Error(\"A query can select only one index.\");\n\t\t\t\tconst index = definition.indexes[name];\n\t\t\t\tif (index === void 0) throw new Error(`Unknown index '${name}' on table '${table}'.`);\n\t\t\t\tif (buildRange === void 0) return query(table, name, void 0, order);\n\t\t\t\tconst fields = [\n\t\t\t\t\t...index.fields,\n\t\t\t\t\t\"createdAt\",\n\t\t\t\t\t\"id\"\n\t\t\t\t];\n\t\t\t\tconst range = { equal: [] };\n\t\t\t\tlet position = 0;\n\t\t\t\tlet boundedField;\n\t\t\t\tconst expectField = (field) => {\n\t\t\t\t\tconst expected = fields[position];\n\t\t\t\t\tif (field !== expected) throw new Error(`Expected index field '${expected}', received '${field}'.`);\n\t\t\t\t};\n\t\t\t\tconst builder = {\n\t\t\t\t\teq: (field, value) => {\n\t\t\t\t\t\tif (boundedField !== void 0) throw new Error(\"Equality cannot follow an index bound.\");\n\t\t\t\t\t\texpectField(field);\n\t\t\t\t\t\trange.equal.push({\n\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\tvalue: encodeIndexValue(field, value)\n\t\t\t\t\t\t});\n\t\t\t\t\t\tposition += 1;\n\t\t\t\t\t\treturn builder;\n\t\t\t\t\t},\n\t\t\t\t\tgt: (field, value) => {\n\t\t\t\t\t\texpectField(field);\n\t\t\t\t\t\tif (range.lower !== void 0) throw new Error(\"An index range has only one lower bound.\");\n\t\t\t\t\t\tboundedField = field;\n\t\t\t\t\t\trange.lower = {\n\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\tvalue: encodeIndexValue(field, value),\n\t\t\t\t\t\t\tinclusive: false\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn builder;\n\t\t\t\t\t},\n\t\t\t\t\tgte: (field, value) => {\n\t\t\t\t\t\texpectField(field);\n\t\t\t\t\t\tif (range.lower !== void 0) throw new Error(\"An index range has only one lower bound.\");\n\t\t\t\t\t\tboundedField = field;\n\t\t\t\t\t\trange.lower = {\n\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\tvalue: encodeIndexValue(field, value),\n\t\t\t\t\t\t\tinclusive: true\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn builder;\n\t\t\t\t\t},\n\t\t\t\t\tlt: (field, value) => {\n\t\t\t\t\t\texpectField(field);\n\t\t\t\t\t\tif (range.upper !== void 0) throw new Error(\"An index range has only one upper bound.\");\n\t\t\t\t\t\tboundedField = field;\n\t\t\t\t\t\trange.upper = {\n\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\tvalue: encodeIndexValue(field, value),\n\t\t\t\t\t\t\tinclusive: false\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn builder;\n\t\t\t\t\t},\n\t\t\t\t\tlte: (field, value) => {\n\t\t\t\t\t\texpectField(field);\n\t\t\t\t\t\tif (range.upper !== void 0) throw new Error(\"An index range has only one upper bound.\");\n\t\t\t\t\t\tboundedField = field;\n\t\t\t\t\t\trange.upper = {\n\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\tvalue: encodeIndexValue(field, value),\n\t\t\t\t\t\t\tinclusive: true\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn builder;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst built = buildRange(builder);\n\t\t\t\tif (!Predicate.isObject(built)) throw new Error(\"An index range callback must return its builder.\");\n\t\t\t\treturn query(table, name, range, order);\n\t\t\t},\n\t\t\torder: (direction) => query(table, selectedIndex, selectedRange, direction === \"asc\" ? \"Asc\" : \"Desc\"),\n\t\t\tcollect: () => resultFromEffect(execute()),\n\t\t\ttake: (count) => resultFromEffect(execute(validateLimit(count))),\n\t\t\tfirst: () => resultFromEffect(execute(1).pipe(Effect.map((documents) => documents[0]))),\n\t\t\tunique: () => resultFromEffect(execute(2).pipe(Effect.flatMap((documents) => documents.length > 1 ? Effect.die(/* @__PURE__ */ new Error(\"A unique database query matched more than one document.\")) : Effect.succeed(documents[0])))),\n\t\t\tpaginate: (options) => resultFromEffect(executePage(options))\n\t\t});\n\t};\n\treturn Object.freeze({\n\t\tfind: (table, id) => resultFromEffect(findEffect(table, id)),\n\t\tget: (table, id) => resultFromEffect(findEffect(table, id).pipe(Effect.flatMap((document) => document === void 0 ? Effect.fail(documentNotFound(table, id)) : Effect.succeed(document)))),\n\t\tquery: (table) => query(table)\n\t});\n};\nconst makeWriter = (schema, call) => {\n\tconst reader = makeReader(schema, call);\n\tconst complete = (request) => callHost(call, request).pipe(Effect.map((response) => expectResponse(response, \"Completed\")), Effect.asVoid);\n\tconst writer = {\n\t\t...reader,\n\t\tdelete: (table, id) => resultFromEffect(complete({\n\t\t\ttype: \"Delete\",\n\t\t\ttable,\n\t\t\tid: GeneratedId.make(id)\n\t\t})),\n\t\tinsert: (table, value) => resultFromEffect(callHost(call, {\n\t\t\ttype: \"Insert\",\n\t\t\ttable,\n\t\t\tfields: encodeFields(schema, table, value)\n\t\t}).pipe(Effect.map((response) => expectResponse(response, \"Inserted\").id))),\n\t\tpatch: (table, id, value) => resultFromEffect(complete({\n\t\t\ttype: \"Patch\",\n\t\t\ttable,\n\t\t\tid: GeneratedId.make(id),\n\t\t\tfields: encodePatchFields(schema, table, value)\n\t\t})),\n\t\treplace: (table, id, value) => resultFromEffect(complete({\n\t\t\ttype: \"Replace\",\n\t\t\ttable,\n\t\t\tid: GeneratedId.make(id),\n\t\t\tfields: encodeFields(schema, table, value)\n\t\t}))\n\t};\n\treturn Object.freeze(writer);\n};\nconst encodeSuccess = Effect.fn(\"Guest.encodeSuccess\")(function* (definition, value) {\n\tif (definition.returns === void 0) {\n\t\tyield* Schema.encodeUnknownEffect(Schema.Undefined)(value);\n\t\treturn { type: \"Success\" };\n\t}\n\tconst result = {\n\t\ttype: \"Success\",\n\t\tvalue: yield* Schema.encodeUnknownEffect(Schema.toCodecJson(definition.returns))(value)\n\t};\n\tconst dates = datePathsOf(value);\n\treturn dates.length === 0 ? result : {\n\t\t...result,\n\t\tdates\n\t};\n});\nconst encodeFailure = Effect.fn(\"Guest.encodeFailure\")(function* (definition, error) {\n\tconst result = {\n\t\ttype: \"Failure\",\n\t\terror: yield* Schema.encodeUnknownEffect(Schema.toCodecJson(definition.errors ?? ErrorValueSchema))(error)\n\t};\n\tconst dates = datePathsOfObject(error);\n\treturn dates.length === 0 ? result : {\n\t\t...result,\n\t\tdates\n\t};\n});\nconst runGuest = Effect.fn(\"Guest.invoke\")(function* (definition, encodedArgs, call) {\n\tconst schema = getFunctionSchema(definition);\n\tif (schema === void 0) return yield* Effect.die(\"The function has no bound schema.\");\n\tconst decodedArgs = yield* Schema.decodeEffect(Schema.toCodecJson(guestCodec(Schema.Struct(definition.args ?? {}))))(encodedArgs).pipe(Effect.match({\n\t\tonFailure: () => ({ valid: false }),\n\t\tonSuccess: (value) => ({\n\t\t\tvalid: true,\n\t\t\tvalue\n\t\t})\n\t}));\n\tif (!decodedArgs.valid) return {\n\t\ttype: \"InvocationRejected\",\n\t\tcode: \"InvalidArguments\",\n\t\tmessage: \"The invocation arguments do not match the function definition.\"\n\t};\n\tconst args = yield* Schema.decodeUnknownEffect(Schema.ObjectKeyword)(decodedArgs.value);\n\tconst context = Object.freeze({ db: definition._tag === \"Query\" ? makeReader(schema, call) : makeWriter(schema, call) });\n\treturn yield* Effect.gen(() => definition.handler(context, args)).pipe(Effect.matchEffect({\n\t\tonFailure: (error) => encodeFailure(definition, error),\n\t\tonSuccess: (value) => encodeSuccess(definition, value)\n\t}));\n});\nconst invoke = (definition, encodedArgs, call) => Effect.runPromise(runGuest(definition, encodedArgs, call)).then((result) => Schema.encodeSync(Schema.fromJsonString(Schema.Json))(result));\n//#endregion\nexport { invoke };\n\n//# sourceMappingURL=guest.js.map"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as Document, c as SchemaDefinitionTypeId, o as Id, s as SchemaDefinitionOf } from "../index-
|
|
1
|
+
import { a as Document, c as SchemaDefinitionTypeId, o as Id, s as SchemaDefinitionOf } from "../index-B5KSOjGN.js";
|
|
2
2
|
export { type Document, type Id, type SchemaDefinitionOf, SchemaDefinitionTypeId };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SchemaDefinitionTypeId } from "../schema-
|
|
1
|
+
import { t as SchemaDefinitionTypeId } from "../schema-D9RmboaS.js";
|
|
2
2
|
export { SchemaDefinitionTypeId };
|