ignotum 0.0.12 → 0.0.13
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 +825 -403
- package/dist/cli/bin.mjs.map +1 -1
- package/dist/runtime/{api-DzcR7spt.js → api-CAgKDij7.js} +38 -2
- package/dist/runtime/api-CAgKDij7.js.map +1 -0
- package/dist/runtime/{api-5XSrIeqW.d.ts → api-Cv3hMbzo.d.ts} +4 -4
- package/dist/runtime/client.d.ts +39 -9
- package/dist/runtime/client.js +339 -60
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/descriptor-Cyo9FP9n-C0SRVXNW.js +154 -0
- package/dist/runtime/descriptor-Cyo9FP9n-C0SRVXNW.js.map +1 -0
- package/dist/runtime/id-Bt9XWRGL.js +423 -0
- package/dist/runtime/id-Bt9XWRGL.js.map +1 -0
- package/dist/runtime/{id-Cs82tq9Q-CK-maMgN.d.ts → id-BzFHf3Wo-DGPCjgrf.d.ts} +2 -2
- package/dist/runtime/id-Dz0apuB3.d.ts +1 -0
- package/dist/runtime/{index-CrWg4Z0y.d.ts → index-D54flWtH.d.ts} +9 -5
- package/dist/runtime/internal/api.d.ts +1 -1
- package/dist/runtime/internal/api.js +1 -1
- package/dist/runtime/internal/host.d.ts +9 -6
- package/dist/runtime/internal/host.js +15 -6
- 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-D-R9NR61-CpIoHFoI.d.ts → pagination-DnKg3dkI-r5ZUxBBx.d.ts} +31 -6
- package/dist/runtime/pagination-Dz0apuB3.d.ts +1 -0
- package/dist/runtime/result-DKAA4gpS.d.ts +1 -0
- package/dist/runtime/{schema-B9XxyRO8.js → schema-1Zs03-iS.js} +5 -3
- package/dist/runtime/schema-1Zs03-iS.js.map +1 -0
- package/dist/runtime/server.d.ts +6 -4
- package/dist/runtime/server.js +2 -2
- package/dist/runtime/server.js.map +1 -1
- package/dist/runtime/{sync-avN7NkcU.d.ts → sync-Bs8J3fIr.d.ts} +2 -2
- package/package.json +1 -1
- package/src/cli/agent-files.ts +6 -0
- package/src/client/hooks.ts +68 -0
- package/src/client/id.ts +259 -0
- package/src/client/index.ts +5 -2
- package/src/client/sync.ts +143 -10
- package/src/dev-runtime/functions.ts +111 -88
- package/src/dev-runtime/id.ts +175 -0
- package/src/dev-runtime/query-cache.ts +105 -0
- package/src/dev-runtime/sync.ts +149 -17
- package/src/server/index.ts +2 -0
- package/dist/runtime/api-DzcR7spt.js.map +0 -1
- package/dist/runtime/descriptor-XzDX2JDw-j3O6YHgW.js +0 -330
- package/dist/runtime/descriptor-XzDX2JDw-j3O6YHgW.js.map +0 -1
- package/dist/runtime/file-C1abuMgd.js +0 -173
- package/dist/runtime/file-C1abuMgd.js.map +0 -1
- package/dist/runtime/pagination-CX5IPbEi.d.ts +0 -1
- package/dist/runtime/result-DIjKM-p4.d.ts +0 -1
- package/dist/runtime/schema-B9XxyRO8.js.map +0 -1
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
import { S as RequestId, i as FileValue, m as isFileValue, t as EncodedFileValue } from "./file-C1abuMgd.js";
|
|
2
|
-
import { Brand, Effect, Effectable, Function, Option, Predicate, Schema, SchemaGetter } from "effect";
|
|
3
|
-
//#region ../contracts/dist/runtime/value.js
|
|
4
|
-
const TransportValueSchema = Schema.suspend(() => Schema.Union([
|
|
5
|
-
Schema.Null,
|
|
6
|
-
Schema.Boolean,
|
|
7
|
-
Schema.Finite,
|
|
8
|
-
Schema.String,
|
|
9
|
-
Schema.Date,
|
|
10
|
-
FileValue,
|
|
11
|
-
Schema.Array(TransportValueSchema),
|
|
12
|
-
Schema.Record(Schema.String, Schema.UndefinedOr(TransportValueSchema))
|
|
13
|
-
]));
|
|
14
|
-
const TransportValueTypeSchema = Schema.toType(TransportValueSchema);
|
|
15
|
-
const TransportObjectTypeSchema = Schema.Record(Schema.String, Schema.UndefinedOr(TransportValueTypeSchema));
|
|
16
|
-
const encodeTransportValue = (value) => {
|
|
17
|
-
if (Predicate.isDate(value)) return Schema.encodeSync(Schema.DateFromMillis)(value);
|
|
18
|
-
if (isFileValue(value)) return Schema.encodeSync(FileValue)(value);
|
|
19
|
-
if (globalThis.Array.isArray(value)) return value.map(encodeTransportValue);
|
|
20
|
-
if (Predicate.isNumber(value)) return Schema.decodeSync(Schema.Finite)(value);
|
|
21
|
-
if (Predicate.isNull(value) || Predicate.isString(value) || Predicate.isBoolean(value)) return value;
|
|
22
|
-
return Object.fromEntries(Object.entries(value).flatMap(([key, child]) => child === void 0 ? [] : [[key, encodeTransportValue(child)]]));
|
|
23
|
-
};
|
|
24
|
-
const encodeTransportObject = (value) => Schema.decodeUnknownSync(Schema.JsonObject)(encodeTransportValue(Schema.decodeUnknownSync(TransportObjectTypeSchema)(value)));
|
|
25
|
-
const collectDatePaths = (value, path, paths) => {
|
|
26
|
-
if (Predicate.isDate(value)) {
|
|
27
|
-
Schema.decodeSync(Schema.Date)(value);
|
|
28
|
-
paths.push(path);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
if (isFileValue(value)) return;
|
|
32
|
-
if (globalThis.Array.isArray(value)) {
|
|
33
|
-
for (const [index, child] of value.entries()) collectDatePaths(child, [...path, index], paths);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
if (value === void 0 || Predicate.isNull(value) || Predicate.isString(value) || Predicate.isNumber(value) || Predicate.isBoolean(value)) return;
|
|
37
|
-
for (const [key, child] of Object.entries(value)) collectDatePaths(child, [...path, key], paths);
|
|
38
|
-
};
|
|
39
|
-
const datePathsOf = (value) => {
|
|
40
|
-
const paths = [];
|
|
41
|
-
collectDatePaths(value, [], paths);
|
|
42
|
-
return paths;
|
|
43
|
-
};
|
|
44
|
-
const datePathsOfObject = (value) => datePathsOf(Schema.decodeUnknownSync(TransportObjectTypeSchema)(value));
|
|
45
|
-
const pathKey = (path) => JSON.stringify(path);
|
|
46
|
-
const decodeTransportValueAt = (value, path, encodedDatePaths) => {
|
|
47
|
-
if (encodedDatePaths.has(pathKey(path))) return Schema.decodeUnknownSync(Schema.DateFromMillis)(value);
|
|
48
|
-
if (Schema.is(EncodedFileValue)(value)) return Schema.decodeSync(FileValue)(value);
|
|
49
|
-
if (globalThis.Array.isArray(value)) return value.map((item, index) => decodeTransportValueAt(item, [...path, index], encodedDatePaths));
|
|
50
|
-
if (Predicate.isNull(value) || Predicate.isString(value) || Predicate.isNumber(value) || Predicate.isBoolean(value)) return value;
|
|
51
|
-
return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, decodeTransportValueAt(item, [...path, key], encodedDatePaths)]));
|
|
52
|
-
};
|
|
53
|
-
const decodeTransportValue = (value, datePaths) => decodeTransportValueAt(value, [], new Set(datePaths.map(pathKey)));
|
|
54
|
-
const decodeTransportObject = (value, datePaths) => {
|
|
55
|
-
const encodedDatePaths = new Set(datePaths.map(pathKey));
|
|
56
|
-
return Object.fromEntries(Object.entries(value).map(([key, child]) => [key, decodeTransportValueAt(child, [key], encodedDatePaths)]));
|
|
57
|
-
};
|
|
58
|
-
//#endregion
|
|
59
|
-
//#region ../contracts/dist/runtime/result.js
|
|
60
|
-
const ResultTypeId = Symbol.for("ignotum/runtime/result/Result");
|
|
61
|
-
const CompletedResultTypeId = Symbol.for("ignotum/runtime/result/Completed");
|
|
62
|
-
const PendingResultTypeId = Symbol.for("ignotum/runtime/result/Pending");
|
|
63
|
-
const ErrorBrand = "ignotum/error";
|
|
64
|
-
const makeErrorValue = Brand.nominal();
|
|
65
|
-
const ErrorValueSchema = Schema.StructWithRest(Schema.Struct({ _tag: Schema.String }), [Schema.Record(Schema.String, Schema.Json)]).pipe(Schema.brand(ErrorBrand));
|
|
66
|
-
var InternalServerErrorCause = class extends Schema.TaggedError()("InternalServerError", { requestId: RequestId }) {};
|
|
67
|
-
const InternalServerErrorSchema = InternalServerErrorCause.pipe(Schema.brand(ErrorBrand));
|
|
68
|
-
const effectOf = (value) => Predicate.hasProperty(value, ResultTypeId) ? value[ResultTypeId] : Effect.succeed(value);
|
|
69
|
-
function makeResultEffectBase() {
|
|
70
|
-
const Base = function() {};
|
|
71
|
-
Base.prototype = Effectable.Prototype({
|
|
72
|
-
label: "IgnotumResult",
|
|
73
|
-
evaluate() {
|
|
74
|
-
return this[ResultTypeId];
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
return Base;
|
|
78
|
-
}
|
|
79
|
-
const ResultEffectBase = makeResultEffectBase();
|
|
80
|
-
var ResultOperation = class ResultOperation extends ResultEffectBase {
|
|
81
|
-
[ResultTypeId];
|
|
82
|
-
constructor(effect, completed) {
|
|
83
|
-
super();
|
|
84
|
-
this[ResultTypeId] = effect;
|
|
85
|
-
if (completed !== void 0) Object.defineProperty(this, CompletedResultTypeId, { value: completed });
|
|
86
|
-
}
|
|
87
|
-
catch(cases) {
|
|
88
|
-
const effectCases = {};
|
|
89
|
-
for (const [tag, handler] of Object.entries(cases)) if (Predicate.isFunction(handler)) effectCases[tag] = (failure) => effectOf(handler(failure));
|
|
90
|
-
const runtimeEffect = this[ResultTypeId];
|
|
91
|
-
const caught = Effect.catchTags(runtimeEffect, effectCases);
|
|
92
|
-
return new ResultOperation(caught);
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
var PendingQueryResult = class {
|
|
96
|
-
[PendingResultTypeId] = PendingResultTypeId;
|
|
97
|
-
};
|
|
98
|
-
const inspectResult = (value) => {
|
|
99
|
-
if (!Predicate.hasProperty(value, CompletedResultTypeId)) return void 0;
|
|
100
|
-
return value[CompletedResultTypeId];
|
|
101
|
-
};
|
|
102
|
-
const resultFromEffect = (effect) => new ResultOperation(effect);
|
|
103
|
-
const isFailureResult = (result) => Predicate.hasProperty(result, CompletedResultTypeId) && Predicate.isObject(result[CompletedResultTypeId]) && Predicate.hasProperty(result[CompletedResultTypeId], "type") && result[CompletedResultTypeId].type === "Failure";
|
|
104
|
-
const succeed = (value) => new ResultOperation(Effect.succeed(value), {
|
|
105
|
-
type: "Success",
|
|
106
|
-
value
|
|
107
|
-
});
|
|
108
|
-
const fail = (error) => new ResultOperation(Effect.fail(error), {
|
|
109
|
-
type: "Failure",
|
|
110
|
-
error
|
|
111
|
-
});
|
|
112
|
-
const tryResult = (body) => {
|
|
113
|
-
return new ResultOperation(Effect.gen(body));
|
|
114
|
-
};
|
|
115
|
-
const match = Function.dual(2, (result, matchers) => {
|
|
116
|
-
if (result instanceof PendingQueryResult) {
|
|
117
|
-
if (matchers.pending === void 0) throw new Error("A pending Result requires a pending matcher.");
|
|
118
|
-
return matchers.pending();
|
|
119
|
-
}
|
|
120
|
-
if (!Predicate.hasProperty(result, ResultTypeId)) throw new Error("Unknown Result implementation.");
|
|
121
|
-
const inspected = inspectResult(result);
|
|
122
|
-
if (inspected?.type === "Success") {
|
|
123
|
-
const value = inspected.value;
|
|
124
|
-
return matchers.value(value);
|
|
125
|
-
}
|
|
126
|
-
if (!isFailureResult(result)) throw new Error("Unknown or incomplete Result operation.");
|
|
127
|
-
const error = result[CompletedResultTypeId].error;
|
|
128
|
-
if (error._tag === "InternalServerError") {
|
|
129
|
-
const internalError = Schema.decodeUnknownSync(InternalServerErrorSchema)(error);
|
|
130
|
-
const handler = matchers.internalError;
|
|
131
|
-
if (handler === void 0) throw internalError;
|
|
132
|
-
return handler(internalError);
|
|
133
|
-
}
|
|
134
|
-
const errorMatcher = matchers.error;
|
|
135
|
-
if (errorMatcher === void 0) throw new Error(`No matcher was provided for ${error._tag}.`);
|
|
136
|
-
if (Predicate.isFunction(errorMatcher)) return errorMatcher(error);
|
|
137
|
-
const handlers = errorMatcher;
|
|
138
|
-
const handler = Object.hasOwn(handlers, error._tag) ? handlers[error._tag] : void 0;
|
|
139
|
-
if (handler === void 0) throw new Error(`No matcher was provided for ${error._tag}.`);
|
|
140
|
-
return handler(error);
|
|
141
|
-
});
|
|
142
|
-
const pending = () => new PendingQueryResult();
|
|
143
|
-
const failureFromWire = (error, datePaths = []) => {
|
|
144
|
-
const internalError = Schema.decodeUnknownOption(InternalServerErrorSchema)(error);
|
|
145
|
-
if (Option.isSome(internalError)) return fail(internalError.value);
|
|
146
|
-
const decoded = Schema.decodeUnknownOption(ErrorValueSchema)(error);
|
|
147
|
-
if (Option.isNone(decoded)) throw new Error("The server returned an invalid application error.");
|
|
148
|
-
const restored = decodeTransportObject(decoded.value, datePaths);
|
|
149
|
-
return fail(makeErrorValue({
|
|
150
|
-
...restored,
|
|
151
|
-
_tag: decoded.value._tag
|
|
152
|
-
}));
|
|
153
|
-
};
|
|
154
|
-
const documentNotFound = (table, id) => Brand.nominal()({
|
|
155
|
-
_tag: "DocumentNotFound",
|
|
156
|
-
table,
|
|
157
|
-
id
|
|
158
|
-
});
|
|
159
|
-
const Result$1 = {
|
|
160
|
-
fail,
|
|
161
|
-
match,
|
|
162
|
-
succeed,
|
|
163
|
-
try: tryResult
|
|
164
|
-
};
|
|
165
|
-
//#endregion
|
|
166
|
-
//#region ../contracts/dist/versioned.js
|
|
167
|
-
/** Registers the first revision of a long-lived format. */
|
|
168
|
-
const initial = (schema) => schema;
|
|
169
|
-
/** Adds one adjacent migration and keeps encoding on the new current revision. */
|
|
170
|
-
const upgrade = (previous, current, migrate) => {
|
|
171
|
-
const accepted = Schema.Union([previous, current]);
|
|
172
|
-
const isCurrent = Schema.is(current);
|
|
173
|
-
return accepted.pipe(Schema.decodeTo(Schema.toType(current), {
|
|
174
|
-
decode: SchemaGetter.transform((value) => {
|
|
175
|
-
if (isCurrent(value)) return value;
|
|
176
|
-
return migrate(value);
|
|
177
|
-
}),
|
|
178
|
-
encode: SchemaGetter.transform((value) => value)
|
|
179
|
-
}));
|
|
180
|
-
};
|
|
181
|
-
//#endregion
|
|
182
|
-
//#region ../contracts/dist/runtime/pagination.js
|
|
183
|
-
const PaginationCursor = Schema.String.check(Schema.isBase64Url()).pipe(Schema.brand("ignotum/runtime/PaginationCursor"));
|
|
184
|
-
const PaginationPageSize = Schema.Int.check(Schema.isBetween({
|
|
185
|
-
minimum: 1,
|
|
186
|
-
maximum: 1e3
|
|
187
|
-
})).pipe(Schema.brand("ignotum/runtime/PaginationPageSize"));
|
|
188
|
-
Schema.Struct({
|
|
189
|
-
cursor: Schema.NullOr(PaginationCursor),
|
|
190
|
-
pageSize: PaginationPageSize
|
|
191
|
-
});
|
|
192
|
-
const TablePosition = Schema.Struct({
|
|
193
|
-
type: Schema.Literal("Table"),
|
|
194
|
-
createdAt: Schema.Int,
|
|
195
|
-
id: Schema.String
|
|
196
|
-
});
|
|
197
|
-
const IndexPosition = Schema.Struct({
|
|
198
|
-
type: Schema.Literal("Index"),
|
|
199
|
-
key: Schema.String.check(Schema.isPattern(/^(?:[0-9a-f]{2})*$/)).pipe(Schema.brand("ignotum/runtime/EncodedIndexKey"))
|
|
200
|
-
});
|
|
201
|
-
const PaginationPosition = Schema.Union([TablePosition, IndexPosition]);
|
|
202
|
-
const CursorPayload = initial(Schema.Struct({
|
|
203
|
-
version: Schema.Literal(1),
|
|
204
|
-
query: Schema.String,
|
|
205
|
-
position: PaginationPosition
|
|
206
|
-
}));
|
|
207
|
-
Schema.fromJsonString(CursorPayload);
|
|
208
|
-
//#endregion
|
|
209
|
-
//#region ../contracts/dist/descriptor-XzDX2JDw.js
|
|
210
|
-
const LiteralValue = Schema.Union([
|
|
211
|
-
Schema.String,
|
|
212
|
-
Schema.Finite,
|
|
213
|
-
Schema.Boolean
|
|
214
|
-
]);
|
|
215
|
-
const DescriptorField = Schema.Struct({
|
|
216
|
-
name: Schema.String,
|
|
217
|
-
value: Schema.suspend(() => ValueDescriptor)
|
|
218
|
-
});
|
|
219
|
-
const ValueDescriptor = Schema.Union([
|
|
220
|
-
Schema.Struct({
|
|
221
|
-
type: Schema.Literal("array"),
|
|
222
|
-
value: Schema.suspend(() => ValueDescriptor)
|
|
223
|
-
}),
|
|
224
|
-
Schema.Struct({ type: Schema.Literal("boolean") }),
|
|
225
|
-
Schema.Struct({ type: Schema.Literal("date") }),
|
|
226
|
-
Schema.Struct({
|
|
227
|
-
type: Schema.Literal("file"),
|
|
228
|
-
formats: Schema.Array(Schema.Literals([
|
|
229
|
-
"jpeg",
|
|
230
|
-
"png",
|
|
231
|
-
"webp",
|
|
232
|
-
"avif",
|
|
233
|
-
"gif"
|
|
234
|
-
])),
|
|
235
|
-
maxBytes: Schema.Int
|
|
236
|
-
}),
|
|
237
|
-
Schema.Struct({
|
|
238
|
-
type: Schema.Literal("error"),
|
|
239
|
-
tag: Schema.String,
|
|
240
|
-
fields: Schema.Array(DescriptorField)
|
|
241
|
-
}),
|
|
242
|
-
Schema.Struct({
|
|
243
|
-
type: Schema.Literal("id"),
|
|
244
|
-
table: Schema.String
|
|
245
|
-
}),
|
|
246
|
-
Schema.Struct({ type: Schema.Literal("integer") }),
|
|
247
|
-
Schema.Struct({
|
|
248
|
-
type: Schema.Literal("literal"),
|
|
249
|
-
value: LiteralValue
|
|
250
|
-
}),
|
|
251
|
-
Schema.Struct({
|
|
252
|
-
type: Schema.Literal("literals"),
|
|
253
|
-
values: Schema.Array(LiteralValue)
|
|
254
|
-
}),
|
|
255
|
-
Schema.Struct({ type: Schema.Literal("never") }),
|
|
256
|
-
Schema.Struct({ type: Schema.Literal("null") }),
|
|
257
|
-
Schema.Struct({
|
|
258
|
-
type: Schema.Literal("nullable"),
|
|
259
|
-
value: Schema.suspend(() => ValueDescriptor)
|
|
260
|
-
}),
|
|
261
|
-
Schema.Struct({ type: Schema.Literal("number") }),
|
|
262
|
-
Schema.Struct({
|
|
263
|
-
type: Schema.Literal("object"),
|
|
264
|
-
fields: Schema.Array(DescriptorField)
|
|
265
|
-
}),
|
|
266
|
-
Schema.Struct({
|
|
267
|
-
type: Schema.Literal("optional"),
|
|
268
|
-
value: Schema.suspend(() => ValueDescriptor)
|
|
269
|
-
}),
|
|
270
|
-
Schema.Struct({
|
|
271
|
-
type: Schema.Literal("record"),
|
|
272
|
-
value: Schema.suspend(() => ValueDescriptor)
|
|
273
|
-
}),
|
|
274
|
-
Schema.Struct({
|
|
275
|
-
type: Schema.Literal("secret"),
|
|
276
|
-
value: Schema.suspend(() => ValueDescriptor)
|
|
277
|
-
}),
|
|
278
|
-
Schema.Struct({ type: Schema.Literal("string") }),
|
|
279
|
-
Schema.Struct({
|
|
280
|
-
type: Schema.Literal("union"),
|
|
281
|
-
members: Schema.Array(Schema.suspend(() => ValueDescriptor))
|
|
282
|
-
})
|
|
283
|
-
]);
|
|
284
|
-
const ValueDescriptorTypeId = Symbol.for("ignotum/schema/ValueDescriptor");
|
|
285
|
-
const attachValueDescriptor = Function.dual(2, (value, descriptor) => {
|
|
286
|
-
Object.defineProperty(value, ValueDescriptorTypeId, {
|
|
287
|
-
configurable: false,
|
|
288
|
-
enumerable: false,
|
|
289
|
-
value: descriptor,
|
|
290
|
-
writable: false
|
|
291
|
-
});
|
|
292
|
-
return value;
|
|
293
|
-
});
|
|
294
|
-
const getValueDescriptor = (value) => {
|
|
295
|
-
if (!Predicate.hasProperty(value, ValueDescriptorTypeId)) return void 0;
|
|
296
|
-
return Schema.is(ValueDescriptor)(value[ValueDescriptorTypeId]) ? value[ValueDescriptorTypeId] : void 0;
|
|
297
|
-
};
|
|
298
|
-
const descriptorAllowedInEnvironment = (descriptor) => {
|
|
299
|
-
switch (descriptor.type) {
|
|
300
|
-
case "error":
|
|
301
|
-
case "file":
|
|
302
|
-
case "id": return false;
|
|
303
|
-
case "array":
|
|
304
|
-
case "nullable":
|
|
305
|
-
case "optional":
|
|
306
|
-
case "record":
|
|
307
|
-
case "secret": return descriptorAllowedInEnvironment(descriptor.value);
|
|
308
|
-
case "object": return descriptor.fields.every((field) => descriptorAllowedInEnvironment(field.value));
|
|
309
|
-
case "union": return descriptor.members.every(descriptorAllowedInEnvironment);
|
|
310
|
-
default: return true;
|
|
311
|
-
}
|
|
312
|
-
};
|
|
313
|
-
const descriptorFields = (fields) => {
|
|
314
|
-
const entries = [];
|
|
315
|
-
for (const name of Reflect.ownKeys(fields)) {
|
|
316
|
-
if (!Predicate.isString(name)) throw new Error("Ignotum value objects only support string field names.");
|
|
317
|
-
const field = fields[name];
|
|
318
|
-
const value = field === void 0 ? void 0 : getValueDescriptor(field);
|
|
319
|
-
if (value === void 0) throw new Error(`The field '${name}' must use an Ignotum values validator.`);
|
|
320
|
-
entries.push({
|
|
321
|
-
name,
|
|
322
|
-
value
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
return entries.sort((left, right) => left.name.localeCompare(right.name));
|
|
326
|
-
};
|
|
327
|
-
//#endregion
|
|
328
|
-
export { encodeTransportObject as S, resultFromEffect as _, getValueDescriptor as a, datePathsOfObject as b, initial as c, ErrorValueSchema as d, Result$1 as f, pending as g, inspectResult as h, descriptorFields as i, upgrade as l, failureFromWire as m, attachValueDescriptor as n, PaginationCursor as o, documentNotFound as p, descriptorAllowedInEnvironment as r, PaginationPageSize as s, ValueDescriptor as t, ErrorBrand as u, TransportObjectTypeSchema as v, decodeTransportValue as x, datePathsOf as y };
|
|
329
|
-
|
|
330
|
-
//# sourceMappingURL=descriptor-XzDX2JDw-j3O6YHgW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor-XzDX2JDw-j3O6YHgW.js","names":["Result"],"sources":["../../../contracts/dist/runtime/value.js","../../../contracts/dist/runtime/result.js","../../../contracts/dist/versioned.js","../../../contracts/dist/runtime/pagination.js","../../../contracts/dist/descriptor-XzDX2JDw.js"],"sourcesContent":["import { EncodedFileValue, FileValue, isFileValue } from \"../schema/file.js\";\nimport { Predicate, Schema } from \"effect\";\n//#region src/runtime/value.ts\nconst TransportValueSchema = Schema.suspend(() => Schema.Union([\n\tSchema.Null,\n\tSchema.Boolean,\n\tSchema.Finite,\n\tSchema.String,\n\tSchema.Date,\n\tFileValue,\n\tSchema.Array(TransportValueSchema),\n\tSchema.Record(Schema.String, Schema.UndefinedOr(TransportValueSchema))\n]));\nconst TransportValueTypeSchema = Schema.toType(TransportValueSchema);\nconst TransportObjectTypeSchema = Schema.Record(Schema.String, Schema.UndefinedOr(TransportValueTypeSchema));\nconst encodeTransportValue = (value) => {\n\tif (Predicate.isDate(value)) return Schema.encodeSync(Schema.DateFromMillis)(value);\n\tif (isFileValue(value)) return Schema.encodeSync(FileValue)(value);\n\tif (globalThis.Array.isArray(value)) return value.map(encodeTransportValue);\n\tif (Predicate.isNumber(value)) return Schema.decodeSync(Schema.Finite)(value);\n\tif (Predicate.isNull(value) || Predicate.isString(value) || Predicate.isBoolean(value)) return value;\n\treturn Object.fromEntries(Object.entries(value).flatMap(([key, child]) => child === void 0 ? [] : [[key, encodeTransportValue(child)]]));\n};\nconst encodeTransportObject = (value) => Schema.decodeUnknownSync(Schema.JsonObject)(encodeTransportValue(Schema.decodeUnknownSync(TransportObjectTypeSchema)(value)));\nconst collectDatePaths = (value, path, paths) => {\n\tif (Predicate.isDate(value)) {\n\t\tSchema.decodeSync(Schema.Date)(value);\n\t\tpaths.push(path);\n\t\treturn;\n\t}\n\tif (isFileValue(value)) return;\n\tif (globalThis.Array.isArray(value)) {\n\t\tfor (const [index, child] of value.entries()) collectDatePaths(child, [...path, index], paths);\n\t\treturn;\n\t}\n\tif (value === void 0 || Predicate.isNull(value) || Predicate.isString(value) || Predicate.isNumber(value) || Predicate.isBoolean(value)) return;\n\tfor (const [key, child] of Object.entries(value)) collectDatePaths(child, [...path, key], paths);\n};\nconst datePathsOf = (value) => {\n\tconst paths = [];\n\tcollectDatePaths(value, [], paths);\n\treturn paths;\n};\nconst datePathsOfObject = (value) => datePathsOf(Schema.decodeUnknownSync(TransportObjectTypeSchema)(value));\nconst pathKey = (path) => JSON.stringify(path);\nconst decodeTransportValueAt = (value, path, encodedDatePaths) => {\n\tif (encodedDatePaths.has(pathKey(path))) return Schema.decodeUnknownSync(Schema.DateFromMillis)(value);\n\tif (Schema.is(EncodedFileValue)(value)) return Schema.decodeSync(FileValue)(value);\n\tif (globalThis.Array.isArray(value)) return value.map((item, index) => decodeTransportValueAt(item, [...path, index], encodedDatePaths));\n\tif (Predicate.isNull(value) || Predicate.isString(value) || Predicate.isNumber(value) || Predicate.isBoolean(value)) return value;\n\treturn Object.fromEntries(Object.entries(value).map(([key, item]) => [key, decodeTransportValueAt(item, [...path, key], encodedDatePaths)]));\n};\nconst decodeTransportValue = (value, datePaths) => decodeTransportValueAt(value, [], new Set(datePaths.map(pathKey)));\nconst decodeTransportObject = (value, datePaths) => {\n\tconst encodedDatePaths = new Set(datePaths.map(pathKey));\n\treturn Object.fromEntries(Object.entries(value).map(([key, child]) => [key, decodeTransportValueAt(child, [key], encodedDatePaths)]));\n};\n//#endregion\nexport { TransportObjectTypeSchema, TransportValueSchema, TransportValueTypeSchema, datePathsOf, datePathsOfObject, decodeTransportObject, decodeTransportValue, encodeTransportObject, encodeTransportValue };\n\n//# sourceMappingURL=value.js.map","import { RequestId } from \"./id.js\";\nimport { decodeTransportObject } from \"./value.js\";\nimport { Brand, Effect, Effectable, Function, Option, Predicate, Schema } from \"effect\";\n//#region src/runtime/result.ts\nconst ResultTypeId = Symbol.for(\"ignotum/runtime/result/Result\");\nconst CompletedResultTypeId = Symbol.for(\"ignotum/runtime/result/Completed\");\nconst PendingResultTypeId = Symbol.for(\"ignotum/runtime/result/Pending\");\nconst ErrorBrand = \"ignotum/error\";\nconst makeErrorValue = Brand.nominal();\nconst ErrorValueSchema = Schema.StructWithRest(Schema.Struct({ _tag: Schema.String }), [Schema.Record(Schema.String, Schema.Json)]).pipe(Schema.brand(ErrorBrand));\nvar InternalServerErrorCause = class extends Schema.TaggedError()(\"InternalServerError\", { requestId: RequestId }) {};\nconst InternalServerError = InternalServerErrorCause;\nconst InternalServerErrorSchema = InternalServerErrorCause.pipe(Schema.brand(ErrorBrand));\nconst effectOf = (value) => Predicate.hasProperty(value, ResultTypeId) ? value[ResultTypeId] : Effect.succeed(value);\nfunction makeResultEffectBase() {\n\tconst Base = function() {};\n\tBase.prototype = Effectable.Prototype({\n\t\tlabel: \"IgnotumResult\",\n\t\tevaluate() {\n\t\t\treturn this[ResultTypeId];\n\t\t}\n\t});\n\treturn Base;\n}\nconst ResultEffectBase = makeResultEffectBase();\nvar ResultOperation = class ResultOperation extends ResultEffectBase {\n\t[ResultTypeId];\n\tconstructor(effect, completed) {\n\t\tsuper();\n\t\tthis[ResultTypeId] = effect;\n\t\tif (completed !== void 0) Object.defineProperty(this, CompletedResultTypeId, { value: completed });\n\t}\n\tcatch(cases) {\n\t\tconst effectCases = {};\n\t\tfor (const [tag, handler] of Object.entries(cases)) if (Predicate.isFunction(handler)) effectCases[tag] = (failure) => effectOf(handler(failure));\n\t\tconst runtimeEffect = this[ResultTypeId];\n\t\tconst caught = Effect.catchTags(runtimeEffect, effectCases);\n\t\treturn new ResultOperation(caught);\n\t}\n};\nvar PendingQueryResult = class {\n\t[PendingResultTypeId] = PendingResultTypeId;\n};\nconst inspectResult = (value) => {\n\tif (!Predicate.hasProperty(value, CompletedResultTypeId)) return void 0;\n\treturn value[CompletedResultTypeId];\n};\nconst effectFromResult = (result) => result[ResultTypeId];\nconst resultFromEffect = (effect) => new ResultOperation(effect);\nconst isFailureResult = (result) => Predicate.hasProperty(result, CompletedResultTypeId) && Predicate.isObject(result[CompletedResultTypeId]) && Predicate.hasProperty(result[CompletedResultTypeId], \"type\") && result[CompletedResultTypeId].type === \"Failure\";\nconst succeed = (value) => new ResultOperation(Effect.succeed(value), {\n\ttype: \"Success\",\n\tvalue\n});\nconst fail = (error) => new ResultOperation(Effect.fail(error), {\n\ttype: \"Failure\",\n\terror\n});\nconst tryResult = (body) => {\n\treturn new ResultOperation(Effect.gen(body));\n};\nconst match = Function.dual(2, (result, matchers) => {\n\tif (result instanceof PendingQueryResult) {\n\t\tif (matchers.pending === void 0) throw new Error(\"A pending Result requires a pending matcher.\");\n\t\treturn matchers.pending();\n\t}\n\tif (!Predicate.hasProperty(result, ResultTypeId)) throw new Error(\"Unknown Result implementation.\");\n\tconst inspected = inspectResult(result);\n\tif (inspected?.type === \"Success\") {\n\t\tconst value = inspected.value;\n\t\treturn matchers.value(value);\n\t}\n\tif (!isFailureResult(result)) throw new Error(\"Unknown or incomplete Result operation.\");\n\tconst error = result[CompletedResultTypeId].error;\n\tif (error._tag === \"InternalServerError\") {\n\t\tconst internalError = Schema.decodeUnknownSync(InternalServerErrorSchema)(error);\n\t\tconst handler = matchers.internalError;\n\t\tif (handler === void 0) throw internalError;\n\t\treturn handler(internalError);\n\t}\n\tconst errorMatcher = matchers.error;\n\tif (errorMatcher === void 0) throw new Error(`No matcher was provided for ${error._tag}.`);\n\tif (Predicate.isFunction(errorMatcher)) return errorMatcher(error);\n\tconst handlers = errorMatcher;\n\tconst handler = Object.hasOwn(handlers, error._tag) ? handlers[error._tag] : void 0;\n\tif (handler === void 0) throw new Error(`No matcher was provided for ${error._tag}.`);\n\treturn handler(error);\n});\nconst pending = () => new PendingQueryResult();\nconst failureFromWire = (error, datePaths = []) => {\n\tconst internalError = Schema.decodeUnknownOption(InternalServerErrorSchema)(error);\n\tif (Option.isSome(internalError)) return fail(internalError.value);\n\tconst decoded = Schema.decodeUnknownOption(ErrorValueSchema)(error);\n\tif (Option.isNone(decoded)) throw new Error(\"The server returned an invalid application error.\");\n\tconst restored = decodeTransportObject(decoded.value, datePaths);\n\treturn fail(makeErrorValue({\n\t\t...restored,\n\t\t_tag: decoded.value._tag\n\t}));\n};\nconst documentNotFound = (table, id) => Brand.nominal()({\n\t_tag: \"DocumentNotFound\",\n\ttable,\n\tid\n});\nconst Result = {\n\tfail,\n\tmatch,\n\tsucceed,\n\ttry: tryResult\n};\n//#endregion\nexport { ErrorBrand, ErrorValueSchema, InternalServerError, InternalServerErrorSchema, Result, documentNotFound, effectFromResult, failureFromWire, inspectResult, match, pending, resultFromEffect };\n\n//# sourceMappingURL=result.js.map","import { Schema, SchemaGetter } from \"effect\";\n//#region src/versioned.ts\n/** Registers the first revision of a long-lived format. */\nconst initial = (schema) => schema;\n/** Adds one adjacent migration and keeps encoding on the new current revision. */\nconst upgrade = (previous, current, migrate) => {\n\tconst accepted = Schema.Union([previous, current]);\n\tconst isCurrent = Schema.is(current);\n\treturn accepted.pipe(Schema.decodeTo(Schema.toType(current), {\n\t\tdecode: SchemaGetter.transform((value) => {\n\t\t\tif (isCurrent(value)) return value;\n\t\t\treturn migrate(value);\n\t\t}),\n\t\tencode: SchemaGetter.transform((value) => value)\n\t}));\n};\n//#endregion\nexport { initial, upgrade };\n\n//# sourceMappingURL=versioned.js.map","import { initial } from \"../versioned.js\";\nimport { encodeCanonicalJson } from \"../json.js\";\nimport { Encoding, Result, Schema } from \"effect\";\n//#region src/runtime/pagination.ts\nconst PaginationCursor = Schema.String.check(Schema.isBase64Url()).pipe(Schema.brand(\"ignotum/runtime/PaginationCursor\"));\nconst PaginationPageSize = Schema.Int.check(Schema.isBetween({\n\tminimum: 1,\n\tmaximum: 1e3\n})).pipe(Schema.brand(\"ignotum/runtime/PaginationPageSize\"));\nconst PaginationOptions = Schema.Struct({\n\tcursor: Schema.NullOr(PaginationCursor),\n\tpageSize: PaginationPageSize\n});\nconst TablePosition = Schema.Struct({\n\ttype: Schema.Literal(\"Table\"),\n\tcreatedAt: Schema.Int,\n\tid: Schema.String\n});\nconst IndexPosition = Schema.Struct({\n\ttype: Schema.Literal(\"Index\"),\n\tkey: Schema.String.check(Schema.isPattern(/^(?:[0-9a-f]{2})*$/)).pipe(Schema.brand(\"ignotum/runtime/EncodedIndexKey\"))\n});\nconst PaginationPosition = Schema.Union([TablePosition, IndexPosition]);\nconst CursorPayloadV1 = Schema.Struct({\n\tversion: Schema.Literal(1),\n\tquery: Schema.String,\n\tposition: PaginationPosition\n});\nconst CursorPayload = initial(CursorPayloadV1);\nconst CursorPayloadJson = Schema.fromJsonString(CursorPayload);\nconst paginationQueryIdentity = (tableId, index, lower, upper, order) => encodeCanonicalJson([\n\ttableId,\n\tindex,\n\tlower ?? null,\n\tupper ?? null,\n\torder\n]);\nconst encodePaginationCursor = (query, position) => PaginationCursor.make(Encoding.encodeBase64Url(Schema.encodeSync(CursorPayloadJson)({\n\tversion: 1,\n\tquery,\n\tposition\n})));\nconst decodePaginationCursor = (cursor) => Schema.decodeSync(CursorPayloadJson)(Result.getOrThrow(Encoding.decodeBase64UrlString(cursor)));\n//#endregion\nexport { PaginationCursor, PaginationOptions, PaginationPageSize, PaginationPosition, decodePaginationCursor, encodePaginationCursor, paginationQueryIdentity };\n\n//# sourceMappingURL=pagination.js.map","import { Function, Predicate, Schema } from \"effect\";\n//#region src/schema/descriptor.ts\nconst LiteralValue = Schema.Union([\n\tSchema.String,\n\tSchema.Finite,\n\tSchema.Boolean\n]);\nconst DescriptorField = Schema.Struct({\n\tname: Schema.String,\n\tvalue: Schema.suspend(() => ValueDescriptor)\n});\nconst ValueDescriptor = Schema.Union([\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"array\"),\n\t\tvalue: Schema.suspend(() => ValueDescriptor)\n\t}),\n\tSchema.Struct({ type: Schema.Literal(\"boolean\") }),\n\tSchema.Struct({ type: Schema.Literal(\"date\") }),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"file\"),\n\t\tformats: Schema.Array(Schema.Literals([\n\t\t\t\"jpeg\",\n\t\t\t\"png\",\n\t\t\t\"webp\",\n\t\t\t\"avif\",\n\t\t\t\"gif\"\n\t\t])),\n\t\tmaxBytes: Schema.Int\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"error\"),\n\t\ttag: Schema.String,\n\t\tfields: Schema.Array(DescriptorField)\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"id\"),\n\t\ttable: Schema.String\n\t}),\n\tSchema.Struct({ type: Schema.Literal(\"integer\") }),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"literal\"),\n\t\tvalue: LiteralValue\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"literals\"),\n\t\tvalues: Schema.Array(LiteralValue)\n\t}),\n\tSchema.Struct({ type: Schema.Literal(\"never\") }),\n\tSchema.Struct({ type: Schema.Literal(\"null\") }),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"nullable\"),\n\t\tvalue: Schema.suspend(() => ValueDescriptor)\n\t}),\n\tSchema.Struct({ type: Schema.Literal(\"number\") }),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"object\"),\n\t\tfields: Schema.Array(DescriptorField)\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"optional\"),\n\t\tvalue: Schema.suspend(() => ValueDescriptor)\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"record\"),\n\t\tvalue: Schema.suspend(() => ValueDescriptor)\n\t}),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"secret\"),\n\t\tvalue: Schema.suspend(() => ValueDescriptor)\n\t}),\n\tSchema.Struct({ type: Schema.Literal(\"string\") }),\n\tSchema.Struct({\n\t\ttype: Schema.Literal(\"union\"),\n\t\tmembers: Schema.Array(Schema.suspend(() => ValueDescriptor))\n\t})\n]);\nconst ValueDescriptorTypeId = Symbol.for(\"ignotum/schema/ValueDescriptor\");\nconst attachValueDescriptor = Function.dual(2, (value, descriptor) => {\n\tObject.defineProperty(value, ValueDescriptorTypeId, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\tvalue: descriptor,\n\t\twritable: false\n\t});\n\treturn value;\n});\nconst getValueDescriptor = (value) => {\n\tif (!Predicate.hasProperty(value, ValueDescriptorTypeId)) return void 0;\n\treturn Schema.is(ValueDescriptor)(value[ValueDescriptorTypeId]) ? value[ValueDescriptorTypeId] : void 0;\n};\nconst descriptorContainsFile = (descriptor) => {\n\tswitch (descriptor.type) {\n\t\tcase \"file\": return true;\n\t\tcase \"array\":\n\t\tcase \"nullable\":\n\t\tcase \"optional\":\n\t\tcase \"record\":\n\t\tcase \"secret\": return descriptorContainsFile(descriptor.value);\n\t\tcase \"error\":\n\t\tcase \"object\": return descriptor.fields.some((field) => descriptorContainsFile(field.value));\n\t\tcase \"union\": return descriptor.members.some(descriptorContainsFile);\n\t\tdefault: return false;\n\t}\n};\nconst descriptorContainsSecret = (descriptor) => {\n\tswitch (descriptor.type) {\n\t\tcase \"secret\": return true;\n\t\tcase \"array\":\n\t\tcase \"nullable\":\n\t\tcase \"optional\":\n\t\tcase \"record\": return descriptorContainsSecret(descriptor.value);\n\t\tcase \"error\":\n\t\tcase \"object\": return descriptor.fields.some((field) => descriptorContainsSecret(field.value));\n\t\tcase \"union\": return descriptor.members.some(descriptorContainsSecret);\n\t\tdefault: return false;\n\t}\n};\nconst descriptorAllowedInEnvironment = (descriptor) => {\n\tswitch (descriptor.type) {\n\t\tcase \"error\":\n\t\tcase \"file\":\n\t\tcase \"id\": return false;\n\t\tcase \"array\":\n\t\tcase \"nullable\":\n\t\tcase \"optional\":\n\t\tcase \"record\":\n\t\tcase \"secret\": return descriptorAllowedInEnvironment(descriptor.value);\n\t\tcase \"object\": return descriptor.fields.every((field) => descriptorAllowedInEnvironment(field.value));\n\t\tcase \"union\": return descriptor.members.every(descriptorAllowedInEnvironment);\n\t\tdefault: return true;\n\t}\n};\nconst descriptorFields = (fields) => {\n\tconst entries = [];\n\tfor (const name of Reflect.ownKeys(fields)) {\n\t\tif (!Predicate.isString(name)) throw new Error(\"Ignotum value objects only support string field names.\");\n\t\tconst field = fields[name];\n\t\tconst value = field === void 0 ? void 0 : getValueDescriptor(field);\n\t\tif (value === void 0) throw new Error(`The field '${name}' must use an Ignotum values validator.`);\n\t\tentries.push({\n\t\t\tname,\n\t\t\tvalue\n\t\t});\n\t}\n\treturn entries.sort((left, right) => left.name.localeCompare(right.name));\n};\n//#endregion\nexport { descriptorContainsFile as a, getValueDescriptor as c, descriptorAllowedInEnvironment as i, ValueDescriptorTypeId as n, descriptorContainsSecret as o, attachValueDescriptor as r, descriptorFields as s, ValueDescriptor as t };\n\n//# sourceMappingURL=descriptor-XzDX2JDw.js.map"],"mappings":"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"}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { Predicate, Schema, SchemaGetter } from "effect";
|
|
2
|
-
//#region ../contracts/dist/runtime/id.js
|
|
3
|
-
const IdAlphabet = "0123456789abcdefghijklmnopqrstuvwxyz";
|
|
4
|
-
const IdPrefix = Schema.String.check(Schema.isPattern(/^[a-z]+$/));
|
|
5
|
-
const IdPayloadPattern = /^[0-9a-z]{24}$/;
|
|
6
|
-
const withPrefix = (definition, idPrefix) => Object.assign(definition, { idPrefix });
|
|
7
|
-
const defineId = (prefix, brand) => {
|
|
8
|
-
const idPrefix = Schema.decodeSync(IdPrefix)(prefix);
|
|
9
|
-
return withPrefix(Schema.String.check(Schema.isPattern(new RegExp(`^${idPrefix}_[0-9a-z]{24}$`))).pipe(Schema.brand(brand)), idPrefix);
|
|
10
|
-
};
|
|
11
|
-
const GeneratedId = withPrefix(Schema.String.check(Schema.isPattern(IdPayloadPattern)).pipe(Schema.brand("ignotum/id")), void 0);
|
|
12
|
-
const AppId = defineId("app", "ignotum/hosted/AppId");
|
|
13
|
-
const DeploymentId = defineId("dep", "ignotum/hosted/DeploymentId");
|
|
14
|
-
defineId("team", "ignotum/hosted/TeamId");
|
|
15
|
-
const TableId = defineId("table", "ignotum/runtime/TableId");
|
|
16
|
-
defineId("prn", "ignotum/control/PlatformPrincipalId");
|
|
17
|
-
defineId("ses", "ignotum/auth/SessionId");
|
|
18
|
-
defineId("acct", "ignotum/auth/AccountId");
|
|
19
|
-
defineId("ver", "ignotum/auth/VerificationId");
|
|
20
|
-
defineId("mbr", "ignotum/auth/MemberId");
|
|
21
|
-
defineId("invt", "ignotum/auth/InvitationId");
|
|
22
|
-
defineId("dvc", "ignotum/auth/DeviceCodeId");
|
|
23
|
-
defineId("auth", "ignotum/auth/InternalId");
|
|
24
|
-
const InvocationId = defineId("inv", "ignotum/sync/InvocationId");
|
|
25
|
-
const SubscriptionId = defineId("sub", "ignotum/sync/SubscriptionId");
|
|
26
|
-
defineId("conn", "ignotum/gateway/ConnectionId");
|
|
27
|
-
const RuntimeRequestNonce = defineId("nonce", "ignotum/runtime/RequestNonce");
|
|
28
|
-
const RequestId = defineId("req", "ignotum/runtime/RequestId");
|
|
29
|
-
defineId("lock", "ignotum/dev/DatabaseLockId");
|
|
30
|
-
//#endregion
|
|
31
|
-
//#region ../contracts/dist/schema/file.js
|
|
32
|
-
const fileFormats = [
|
|
33
|
-
"jpeg",
|
|
34
|
-
"png",
|
|
35
|
-
"webp",
|
|
36
|
-
"avif",
|
|
37
|
-
"gif"
|
|
38
|
-
];
|
|
39
|
-
const FileFormat = Schema.Literals(fileFormats);
|
|
40
|
-
const fileMimeTypes = {
|
|
41
|
-
avif: "image/avif",
|
|
42
|
-
gif: "image/gif",
|
|
43
|
-
jpeg: "image/jpeg",
|
|
44
|
-
png: "image/png",
|
|
45
|
-
webp: "image/webp"
|
|
46
|
-
};
|
|
47
|
-
const fileLimits = {
|
|
48
|
-
activeGrantsPerConnection: 1024,
|
|
49
|
-
distinctFilesPerQuerySnapshot: 256,
|
|
50
|
-
fileBytes: 10485760,
|
|
51
|
-
filesPerMutation: 8,
|
|
52
|
-
filenameBytes: 255,
|
|
53
|
-
mutationBytes: 26214400,
|
|
54
|
-
preparationLifetimeMillis: 9e5,
|
|
55
|
-
stagedBytesPerApp: 104857600
|
|
56
|
-
};
|
|
57
|
-
const FileId = Object.assign(Schema.String.pipe(Schema.check(Schema.isPattern(/^file_[0-9A-Za-z_-]{20,128}$/)), Schema.brand("ignotum/file/FileId")), { idPrefix: "file" });
|
|
58
|
-
defineId("upload", "ignotum/file/FileUploadToken");
|
|
59
|
-
defineId("grant", "ignotum/file/FileGrantToken");
|
|
60
|
-
const FileValueTypeId = Symbol.for("ignotum/file/FileValue");
|
|
61
|
-
const FileGrantTypeId = Symbol.for("ignotum/file/FileGrant");
|
|
62
|
-
const isFileValue = (value) => Predicate.isObject(value) && Predicate.hasProperty(value, FileValueTypeId) && Predicate.isObject(value[FileValueTypeId]) && Predicate.hasProperty(value[FileValueTypeId], "id") && Schema.is(FileId)(value[FileValueTypeId].id) && Predicate.hasProperty(value, "format") && Schema.is(FileFormat)(value.format) && Predicate.hasProperty(value, "name") && Predicate.isString(value.name) && Predicate.hasProperty(value, "size") && Predicate.isNumber(value.size) && Predicate.hasProperty(value, "mimeType") && value.mimeType === fileMimeTypes[value.format];
|
|
63
|
-
const buildFileValue = (id, metadata, grantUrl) => {
|
|
64
|
-
const value = {
|
|
65
|
-
format: metadata.format,
|
|
66
|
-
mimeType: fileMimeTypes[metadata.format],
|
|
67
|
-
name: metadata.name,
|
|
68
|
-
size: metadata.size
|
|
69
|
-
};
|
|
70
|
-
Object.defineProperty(value, FileValueTypeId, {
|
|
71
|
-
configurable: false,
|
|
72
|
-
enumerable: false,
|
|
73
|
-
value: Object.freeze({ id }),
|
|
74
|
-
writable: false
|
|
75
|
-
});
|
|
76
|
-
if (grantUrl !== void 0) Object.defineProperty(value, FileGrantTypeId, {
|
|
77
|
-
configurable: false,
|
|
78
|
-
enumerable: false,
|
|
79
|
-
value: grantUrl,
|
|
80
|
-
writable: false
|
|
81
|
-
});
|
|
82
|
-
return Object.freeze(value);
|
|
83
|
-
};
|
|
84
|
-
const makeFileValue = (id, metadata) => buildFileValue(id, metadata);
|
|
85
|
-
const fileIdOf = (value) => value[FileValueTypeId].id;
|
|
86
|
-
const grantFileValue = (value, url) => {
|
|
87
|
-
return buildFileValue(fileIdOf(value), value, url);
|
|
88
|
-
};
|
|
89
|
-
const fileGrantUrlOf = (value) => value[FileGrantTypeId];
|
|
90
|
-
const EncodedFileValue = Schema.Struct({
|
|
91
|
-
$ignotum: Schema.Literal("file"),
|
|
92
|
-
id: FileId,
|
|
93
|
-
format: FileFormat,
|
|
94
|
-
name: Schema.String,
|
|
95
|
-
size: Schema.Int.check(Schema.isBetween({
|
|
96
|
-
minimum: 0,
|
|
97
|
-
maximum: fileLimits.fileBytes
|
|
98
|
-
}))
|
|
99
|
-
});
|
|
100
|
-
const RuntimeFileMetadata = Schema.Struct({
|
|
101
|
-
id: FileId,
|
|
102
|
-
format: FileFormat,
|
|
103
|
-
name: Schema.String,
|
|
104
|
-
size: Schema.Int.check(Schema.isBetween({
|
|
105
|
-
minimum: 0,
|
|
106
|
-
maximum: fileLimits.fileBytes
|
|
107
|
-
}))
|
|
108
|
-
});
|
|
109
|
-
const FilePath = Schema.Array(Schema.Union([Schema.String, Schema.Natural]));
|
|
110
|
-
const RuntimeFileOccurrence = Schema.Struct({
|
|
111
|
-
path: FilePath,
|
|
112
|
-
file: RuntimeFileMetadata
|
|
113
|
-
});
|
|
114
|
-
const DecodedFileValue = Schema.declare(isFileValue, { title: "FileValue" });
|
|
115
|
-
const FileValue = EncodedFileValue.pipe(Schema.decodeTo(DecodedFileValue, {
|
|
116
|
-
decode: SchemaGetter.transform((encoded) => makeFileValue(encoded.id, {
|
|
117
|
-
format: encoded.format,
|
|
118
|
-
name: encoded.name,
|
|
119
|
-
size: encoded.size
|
|
120
|
-
})),
|
|
121
|
-
encode: SchemaGetter.transform((value) => ({
|
|
122
|
-
$ignotum: "file",
|
|
123
|
-
format: value.format,
|
|
124
|
-
id: fileIdOf(value),
|
|
125
|
-
name: value.name,
|
|
126
|
-
size: value.size
|
|
127
|
-
}))
|
|
128
|
-
}));
|
|
129
|
-
const constrainedFileValue = (formats, maxBytes) => FileValue.pipe(Schema.check(Schema.makeFilter((value) => {
|
|
130
|
-
const issues = [];
|
|
131
|
-
if (!formats.includes(value.format)) issues.push({
|
|
132
|
-
path: ["format"],
|
|
133
|
-
issue: `File format '${value.format}' is not allowed by this field.`
|
|
134
|
-
});
|
|
135
|
-
if (value.size > maxBytes) issues.push({
|
|
136
|
-
path: ["size"],
|
|
137
|
-
issue: `File size ${value.size} exceeds this field's ${maxBytes} byte limit.`
|
|
138
|
-
});
|
|
139
|
-
return issues;
|
|
140
|
-
})));
|
|
141
|
-
const collectFileOccurrences = (value, path, occurrences) => {
|
|
142
|
-
if (isFileValue(value)) {
|
|
143
|
-
occurrences.push({
|
|
144
|
-
file: value,
|
|
145
|
-
path
|
|
146
|
-
});
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
if (globalThis.Array.isArray(value)) {
|
|
150
|
-
for (const [index, child] of value.entries()) collectFileOccurrences(child, [...path, index], occurrences);
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
if (!Predicate.isObject(value) || Predicate.isDate(value)) return;
|
|
154
|
-
for (const [key, child] of Object.entries(value)) collectFileOccurrences(child, [...path, key], occurrences);
|
|
155
|
-
};
|
|
156
|
-
const fileOccurrencesOf = (value) => {
|
|
157
|
-
const occurrences = [];
|
|
158
|
-
collectFileOccurrences(value, [], occurrences);
|
|
159
|
-
return occurrences;
|
|
160
|
-
};
|
|
161
|
-
const runtimeFileOccurrencesOf = (value) => fileOccurrencesOf(value).map(({ file, path }) => ({
|
|
162
|
-
path,
|
|
163
|
-
file: {
|
|
164
|
-
format: file.format,
|
|
165
|
-
id: fileIdOf(file),
|
|
166
|
-
name: file.name,
|
|
167
|
-
size: file.size
|
|
168
|
-
}
|
|
169
|
-
}));
|
|
170
|
-
//#endregion
|
|
171
|
-
export { RuntimeRequestNonce as C, RequestId as S, TableId as T, AppId as _, RuntimeFileMetadata as a, IdAlphabet as b, fileFormats as c, fileLimits as d, fileMimeTypes as f, runtimeFileOccurrencesOf as g, makeFileValue as h, FileValue as i, fileGrantUrlOf as l, isFileValue as m, FileFormat as n, RuntimeFileOccurrence as o, grantFileValue as p, FileId as r, constrainedFileValue as s, EncodedFileValue as t, fileIdOf as u, DeploymentId as v, SubscriptionId as w, InvocationId as x, GeneratedId as y };
|
|
172
|
-
|
|
173
|
-
//# sourceMappingURL=file-C1abuMgd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-C1abuMgd.js","names":[],"sources":["../../../contracts/dist/runtime/id.js","../../../contracts/dist/schema/file.js"],"sourcesContent":["import { Schema } from \"effect\";\n//#region src/runtime/id.ts\nconst IdAlphabet = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nconst IdLength = 24;\nconst IdPrefix = Schema.String.check(Schema.isPattern(/^[a-z]+$/));\nconst IdPayloadPattern = /^[0-9a-z]{24}$/;\nconst withPrefix = (definition, idPrefix) => Object.assign(definition, { idPrefix });\nconst defineId = (prefix, brand) => {\n\tconst idPrefix = Schema.decodeSync(IdPrefix)(prefix);\n\treturn withPrefix(Schema.String.check(Schema.isPattern(new RegExp(`^${idPrefix}_[0-9a-z]{24}$`))).pipe(Schema.brand(brand)), idPrefix);\n};\nconst GeneratedId = withPrefix(Schema.String.check(Schema.isPattern(IdPayloadPattern)).pipe(Schema.brand(\"ignotum/id\")), void 0);\nconst AppId = defineId(\"app\", \"ignotum/hosted/AppId\");\nconst DeploymentId = defineId(\"dep\", \"ignotum/hosted/DeploymentId\");\nconst TeamId = defineId(\"team\", \"ignotum/hosted/TeamId\");\nconst TableId = defineId(\"table\", \"ignotum/runtime/TableId\");\nconst PlatformPrincipalId = defineId(\"prn\", \"ignotum/control/PlatformPrincipalId\");\nconst AuthSessionId = defineId(\"ses\", \"ignotum/auth/SessionId\");\nconst AuthAccountId = defineId(\"acct\", \"ignotum/auth/AccountId\");\nconst AuthVerificationId = defineId(\"ver\", \"ignotum/auth/VerificationId\");\nconst AuthMemberId = defineId(\"mbr\", \"ignotum/auth/MemberId\");\nconst AuthInvitationId = defineId(\"invt\", \"ignotum/auth/InvitationId\");\nconst AuthDeviceCodeId = defineId(\"dvc\", \"ignotum/auth/DeviceCodeId\");\nconst AuthInternalId = defineId(\"auth\", \"ignotum/auth/InternalId\");\nconst InvocationId = defineId(\"inv\", \"ignotum/sync/InvocationId\");\nconst SubscriptionId = defineId(\"sub\", \"ignotum/sync/SubscriptionId\");\nconst ConnectionId = defineId(\"conn\", \"ignotum/gateway/ConnectionId\");\nconst RuntimeRequestNonce = defineId(\"nonce\", \"ignotum/runtime/RequestNonce\");\nconst RequestId = defineId(\"req\", \"ignotum/runtime/RequestId\");\nconst DevDatabaseLockId = defineId(\"lock\", \"ignotum/dev/DatabaseLockId\");\n//#endregion\nexport { AppId, AuthAccountId, AuthDeviceCodeId, AuthInternalId, AuthInvitationId, AuthMemberId, AuthSessionId, AuthVerificationId, ConnectionId, DeploymentId, DevDatabaseLockId, GeneratedId, IdAlphabet, IdLength, InvocationId, PlatformPrincipalId, RequestId, RuntimeRequestNonce, SubscriptionId, TableId, TeamId, defineId };\n\n//# sourceMappingURL=id.js.map","import { defineId } from \"../runtime/id.js\";\nimport { Predicate, Schema, SchemaGetter } from \"effect\";\n//#region src/schema/file.ts\nconst fileFormats = [\n\t\"jpeg\",\n\t\"png\",\n\t\"webp\",\n\t\"avif\",\n\t\"gif\"\n];\nconst FileFormat = Schema.Literals(fileFormats);\nconst fileMimeTypes = {\n\tavif: \"image/avif\",\n\tgif: \"image/gif\",\n\tjpeg: \"image/jpeg\",\n\tpng: \"image/png\",\n\twebp: \"image/webp\"\n};\nconst fileLimits = {\n\tactiveGrantsPerConnection: 1024,\n\tdistinctFilesPerQuerySnapshot: 256,\n\tfileBytes: 10485760,\n\tfilesPerMutation: 8,\n\tfilenameBytes: 255,\n\tmutationBytes: 26214400,\n\tpreparationLifetimeMillis: 9e5,\n\tstagedBytesPerApp: 104857600\n};\nconst FileId = Object.assign(Schema.String.pipe(Schema.check(Schema.isPattern(/^file_[0-9A-Za-z_-]{20,128}$/)), Schema.brand(\"ignotum/file/FileId\")), { idPrefix: \"file\" });\nconst FileUploadToken = defineId(\"upload\", \"ignotum/file/FileUploadToken\");\nconst FileGrantToken = defineId(\"grant\", \"ignotum/file/FileGrantToken\");\nconst FileValueTypeId = Symbol.for(\"ignotum/file/FileValue\");\nconst FileGrantTypeId = Symbol.for(\"ignotum/file/FileGrant\");\nconst isFileValue = (value) => Predicate.isObject(value) && Predicate.hasProperty(value, FileValueTypeId) && Predicate.isObject(value[FileValueTypeId]) && Predicate.hasProperty(value[FileValueTypeId], \"id\") && Schema.is(FileId)(value[FileValueTypeId].id) && Predicate.hasProperty(value, \"format\") && Schema.is(FileFormat)(value.format) && Predicate.hasProperty(value, \"name\") && Predicate.isString(value.name) && Predicate.hasProperty(value, \"size\") && Predicate.isNumber(value.size) && Predicate.hasProperty(value, \"mimeType\") && value.mimeType === fileMimeTypes[value.format];\nconst buildFileValue = (id, metadata, grantUrl) => {\n\tconst value = {\n\t\tformat: metadata.format,\n\t\tmimeType: fileMimeTypes[metadata.format],\n\t\tname: metadata.name,\n\t\tsize: metadata.size\n\t};\n\tObject.defineProperty(value, FileValueTypeId, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\tvalue: Object.freeze({ id }),\n\t\twritable: false\n\t});\n\tif (grantUrl !== void 0) Object.defineProperty(value, FileGrantTypeId, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\tvalue: grantUrl,\n\t\twritable: false\n\t});\n\treturn Object.freeze(value);\n};\nconst makeFileValue = (id, metadata) => buildFileValue(id, metadata);\nconst fileIdOf = (value) => value[FileValueTypeId].id;\nconst grantFileValue = (value, url) => {\n\treturn buildFileValue(fileIdOf(value), value, url);\n};\nconst fileGrantUrlOf = (value) => value[FileGrantTypeId];\nconst EncodedFileValue = Schema.Struct({\n\t$ignotum: Schema.Literal(\"file\"),\n\tid: FileId,\n\tformat: FileFormat,\n\tname: Schema.String,\n\tsize: Schema.Int.check(Schema.isBetween({\n\t\tminimum: 0,\n\t\tmaximum: fileLimits.fileBytes\n\t}))\n});\nconst RuntimeFileMetadata = Schema.Struct({\n\tid: FileId,\n\tformat: FileFormat,\n\tname: Schema.String,\n\tsize: Schema.Int.check(Schema.isBetween({\n\t\tminimum: 0,\n\t\tmaximum: fileLimits.fileBytes\n\t}))\n});\nconst FilePath = Schema.Array(Schema.Union([Schema.String, Schema.Natural]));\nconst RuntimeFileOccurrence = Schema.Struct({\n\tpath: FilePath,\n\tfile: RuntimeFileMetadata\n});\nconst DecodedFileValue = Schema.declare(isFileValue, { title: \"FileValue\" });\nconst FileValue = EncodedFileValue.pipe(Schema.decodeTo(DecodedFileValue, {\n\tdecode: SchemaGetter.transform((encoded) => makeFileValue(encoded.id, {\n\t\tformat: encoded.format,\n\t\tname: encoded.name,\n\t\tsize: encoded.size\n\t})),\n\tencode: SchemaGetter.transform((value) => ({\n\t\t$ignotum: \"file\",\n\t\tformat: value.format,\n\t\tid: fileIdOf(value),\n\t\tname: value.name,\n\t\tsize: value.size\n\t}))\n}));\nconst constrainedFileValue = (formats, maxBytes) => FileValue.pipe(Schema.check(Schema.makeFilter((value) => {\n\tconst issues = [];\n\tif (!formats.includes(value.format)) issues.push({\n\t\tpath: [\"format\"],\n\t\tissue: `File format '${value.format}' is not allowed by this field.`\n\t});\n\tif (value.size > maxBytes) issues.push({\n\t\tpath: [\"size\"],\n\t\tissue: `File size ${value.size} exceeds this field's ${maxBytes} byte limit.`\n\t});\n\treturn issues;\n})));\nconst collectFileOccurrences = (value, path, occurrences) => {\n\tif (isFileValue(value)) {\n\t\toccurrences.push({\n\t\t\tfile: value,\n\t\t\tpath\n\t\t});\n\t\treturn;\n\t}\n\tif (globalThis.Array.isArray(value)) {\n\t\tfor (const [index, child] of value.entries()) collectFileOccurrences(child, [...path, index], occurrences);\n\t\treturn;\n\t}\n\tif (!Predicate.isObject(value) || Predicate.isDate(value)) return;\n\tfor (const [key, child] of Object.entries(value)) collectFileOccurrences(child, [...path, key], occurrences);\n};\nconst fileOccurrencesOf = (value) => {\n\tconst occurrences = [];\n\tcollectFileOccurrences(value, [], occurrences);\n\treturn occurrences;\n};\nconst runtimeFileOccurrencesOf = (value) => fileOccurrencesOf(value).map(({ file, path }) => ({\n\tpath,\n\tfile: {\n\t\tformat: file.format,\n\t\tid: fileIdOf(file),\n\t\tname: file.name,\n\t\tsize: file.size\n\t}\n}));\nconst collectEncodedFileOccurrences = (value, path, occurrences) => {\n\tif (Schema.is(EncodedFileValue)(value)) {\n\t\tconst file = Schema.decodeUnknownSync(EncodedFileValue)(value);\n\t\toccurrences.push({\n\t\t\tpath,\n\t\t\tfile: {\n\t\t\t\tformat: file.format,\n\t\t\t\tid: file.id,\n\t\t\t\tname: file.name,\n\t\t\t\tsize: file.size\n\t\t\t}\n\t\t});\n\t\treturn;\n\t}\n\tif (globalThis.Array.isArray(value)) {\n\t\tfor (const [index, child] of value.entries()) collectEncodedFileOccurrences(child, [...path, index], occurrences);\n\t\treturn;\n\t}\n\tif (!Schema.is(Schema.JsonObject)(value)) return;\n\tfor (const [key, child] of Object.entries(value)) collectEncodedFileOccurrences(child, [...path, key], occurrences);\n};\nconst encodedFileOccurrencesOf = (value) => {\n\tconst occurrences = [];\n\tcollectEncodedFileOccurrences(value, [], occurrences);\n\treturn occurrences;\n};\n//#endregion\nexport { EncodedFileValue, FileFormat, FileGrantToken, FileGrantTypeId, FileId, FilePath, FileUploadToken, FileValue, FileValueTypeId, RuntimeFileMetadata, RuntimeFileOccurrence, constrainedFileValue, encodedFileOccurrencesOf, fileFormats, fileGrantUrlOf, fileIdOf, fileLimits, fileMimeTypes, fileOccurrencesOf, grantFileValue, isFileValue, makeFileValue, runtimeFileOccurrencesOf };\n\n//# sourceMappingURL=file.js.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./pagination-D-R9NR61-CpIoHFoI.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./id-Cs82tq9Q-CK-maMgN.js";
|