ignotum 0.0.9 → 0.0.10

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.
@@ -1,5 +1,5 @@
1
1
  import { C as RuntimeRequestNonce, T as TableId, _ as AppId, a as RuntimeFileMetadata, b as IdAlphabet, c as fileFormats, d as fileLimits, f as fileMimeTypes, h as makeFileValue, l as fileGrantUrlOf, m as isFileValue, o as RuntimeFileOccurrence, p as grantFileValue, r as FileId, u as fileIdOf, v as DeploymentId, w as SubscriptionId, x as InvocationId, y as GeneratedId } from "./file-C1abuMgd.js";
2
- import { b as decodeTransportValue, c as upgrade, d as Result$1, h as pending, m as inspectResult, o as PaginationPageSize, p as failureFromWire, s as initial, t as ValueDescriptor, x as encodeTransportObject } from "./descriptor-C5VA9qRl-BKbdenuU.js";
2
+ import { b as decodeTransportValue, c as upgrade, d as Result$1, h as pending, m as inspectResult, o as PaginationPageSize, p as failureFromWire, s as initial, t as ValueDescriptor, x as encodeTransportObject } from "./descriptor-C5VA9qRl-BhD-WQeO.js";
3
3
  import { a as ErrorCode, c as ServerMessageJson, d as WireSuccess, f as AppStateRevision, i as DeploymentCloseCode, l as WireFailure, m as InvocationKey, n as functionPathOf, o as FunctionAddress, p as DeploymentGeneration, r as ClientMessageJson, s as Operation, u as WireResult } from "./api-DzcR7spt.js";
4
4
  import { Array as Array$1, Cause, Context, Deferred, Duration, Effect, ErrorReporter, Fiber, HashMap, Layer, ManagedRuntime, Predicate, Schedule, Schema, String } from "effect";
5
5
  import { customAlphabet } from "nanoid";
@@ -11,6 +11,7 @@ const TransportValueSchema = Schema.suspend(() => Schema.Union([
11
11
  Schema.Array(TransportValueSchema),
12
12
  Schema.Record(Schema.String, Schema.UndefinedOr(TransportValueSchema))
13
13
  ]));
14
+ const TransportValueTypeSchema = Schema.toType(TransportValueSchema);
14
15
  const encodeTransportValue = (value) => {
15
16
  if (Predicate.isDate(value)) return Schema.encodeSync(Schema.DateFromMillis)(value);
16
17
  if (isFileValue(value)) return Schema.encodeSync(FileValue)(value);
@@ -19,7 +20,7 @@ const encodeTransportValue = (value) => {
19
20
  if (Predicate.isNull(value) || Predicate.isString(value) || Predicate.isBoolean(value)) return value;
20
21
  return Object.fromEntries(Object.entries(value).flatMap(([key, child]) => child === void 0 ? [] : [[key, encodeTransportValue(child)]]));
21
22
  };
22
- const encodeTransportObject = (value) => Schema.decodeUnknownSync(Schema.JsonObject)(encodeTransportValue(Schema.decodeUnknownSync(TransportValueSchema)(value)));
23
+ const encodeTransportObject = (value) => Schema.decodeUnknownSync(Schema.JsonObject)(encodeTransportValue(Schema.decodeUnknownSync(TransportValueTypeSchema)(value)));
23
24
  const collectDatePaths = (value, path, paths) => {
24
25
  if (Predicate.isDate(value)) {
25
26
  Schema.decodeSync(Schema.Date)(value);
@@ -306,4 +307,4 @@ const descriptorFields = (fields) => {
306
307
  //#endregion
307
308
  export { TransportValueSchema as _, PaginationCursor as a, decodeTransportValue as b, upgrade as c, Result as d, documentNotFound as f, resultFromEffect as g, pending as h, getValueDescriptor as i, ErrorBrand as l, inspectResult as m, attachValueDescriptor as n, PaginationPageSize as o, failureFromWire as p, descriptorFields as r, initial as s, ValueDescriptor as t, ErrorValueSchema as u, datePathsOf as v, encodeTransportObject as x, datePathsOfObject as y };
308
309
 
309
- //# sourceMappingURL=descriptor-C5VA9qRl-BKbdenuU.js.map
310
+ //# sourceMappingURL=descriptor-C5VA9qRl-BhD-WQeO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"descriptor-C5VA9qRl-BhD-WQeO.js","names":[],"sources":["../../../contracts/dist/runtime/value.js","../../../contracts/dist/runtime/result.js","../../../contracts/dist/versioned.js","../../../contracts/dist/runtime/pagination.js","../../../contracts/dist/descriptor-C5VA9qRl.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 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(TransportValueTypeSchema)(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(TransportValueSchema)(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 { TransportValueSchema, 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({ 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\": 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 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 { descriptorFields as a, descriptorContainsFile as i, ValueDescriptorTypeId as n, getValueDescriptor as o, attachValueDescriptor as r, ValueDescriptor as t };\n\n//# sourceMappingURL=descriptor-C5VA9qRl.js.map"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { g as runtimeFileOccurrencesOf, y as GeneratedId } from "../file-C1abuMgd.js";
2
- import { _ as TransportValueSchema, a as PaginationCursor, f as documentNotFound, g as resultFromEffect, o as PaginationPageSize, u as ErrorValueSchema, v as datePathsOf, y as datePathsOfObject } from "../descriptor-C5VA9qRl-BKbdenuU.js";
3
- import { i as getFunctionSchema, t as SchemaDefinitionTypeId } from "../schema-B6PK_ZwV.js";
2
+ import { _ as TransportValueSchema, a as PaginationCursor, f as documentNotFound, g as resultFromEffect, o as PaginationPageSize, u as ErrorValueSchema, v as datePathsOf, y as datePathsOfObject } from "../descriptor-C5VA9qRl-BhD-WQeO.js";
3
+ import { i as getFunctionSchema, t as SchemaDefinitionTypeId } from "../schema-C00wobuy.js";
4
4
  import { Effect, Predicate, Schema } from "effect";
5
5
  //#region ../contracts/dist/runtime/host.js
6
6
  const HostDocument = Schema.Struct({
@@ -1,4 +1,4 @@
1
- import { n as bindSchema$1 } from "../schema-B6PK_ZwV.js";
1
+ import { n as bindSchema$1 } from "../schema-C00wobuy.js";
2
2
  //#region src/internal/server.ts
3
3
  const bindSchema = bindSchema$1;
4
4
  //#endregion
@@ -1,2 +1,2 @@
1
- import { t as SchemaDefinitionTypeId } from "../schema-B6PK_ZwV.js";
1
+ import { t as SchemaDefinitionTypeId } from "../schema-C00wobuy.js";
2
2
  export { SchemaDefinitionTypeId };
@@ -1,5 +1,5 @@
1
1
  import { c as fileFormats, d as fileLimits, n as FileFormat, s as constrainedFileValue, y as GeneratedId } from "./file-C1abuMgd.js";
2
- import { a as PaginationCursor, i as getValueDescriptor, l as ErrorBrand, n as attachValueDescriptor, o as PaginationPageSize, r as descriptorFields } from "./descriptor-C5VA9qRl-BKbdenuU.js";
2
+ import { a as PaginationCursor, i as getValueDescriptor, l as ErrorBrand, n as attachValueDescriptor, o as PaginationPageSize, r as descriptorFields } from "./descriptor-C5VA9qRl-BhD-WQeO.js";
3
3
  import { Schema, Struct } from "effect";
4
4
  //#region ../contracts/dist/schema/values.js
5
5
  const LiteralValueSchema = Schema.Union([
@@ -302,4 +302,4 @@ const bindSchema = (schema) => ({
302
302
  //#endregion
303
303
  export { getFunctionSchema as i, bindSchema as n, defineSchema as r, SchemaDefinitionTypeId as t };
304
304
 
305
- //# sourceMappingURL=schema-B6PK_ZwV.js.map
305
+ //# sourceMappingURL=schema-C00wobuy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-B6PK_ZwV.js","names":[],"sources":["../../../contracts/dist/schema/values.js","../../../contracts/dist/runtime/schema.js","../../../contracts/dist/schema/index.js"],"sourcesContent":["import { GeneratedId } from \"../runtime/id.js\";\nimport { FileFormat, constrainedFileValue, fileFormats, fileLimits } from \"./file.js\";\nimport { a as descriptorFields, o as getValueDescriptor, r as attachValueDescriptor } from \"../descriptor-C5VA9qRl.js\";\nimport { PaginationCursor, PaginationPageSize } from \"../runtime/pagination.js\";\nimport { ErrorBrand } from \"../runtime/result.js\";\nimport { Schema, Struct } from \"effect\";\n//#region src/schema/values.ts\nconst LiteralValueSchema = Schema.Union([\n\tSchema.String,\n\tSchema.Finite,\n\tSchema.Boolean\n]);\nconst schemaIndexLimits = {\n\tfieldsPerIndex: 8,\n\tindexesPerSchema: 128,\n\tindexesPerTable: 16,\n\tkeyBytes: 4096,\n\tnameBytes: 64\n};\nconst utf8ByteLength = (value) => {\n\tlet bytes = 0;\n\tfor (const character of value) {\n\t\tconst point = character.codePointAt(0) ?? 0;\n\t\tbytes += point <= 127 ? 1 : point <= 2047 ? 2 : point <= 65535 ? 3 : 4;\n\t}\n\treturn bytes;\n};\nconst table = (fields) => {\n\tconst tableFields = fields;\n\tconst make = (indexes) => {\n\t\tconst index = (name, fieldNames) => {\n\t\t\tif (utf8ByteLength(name) > schemaIndexLimits.nameBytes) throw new Error(`Index names cannot exceed ${schemaIndexLimits.nameBytes} UTF-8 bytes.`);\n\t\t\tif (name.length === 0) throw new Error(\"Index names cannot be empty.\");\n\t\t\tif (name.startsWith(\"$\")) throw new Error(\"Index names beginning with '$' are reserved.\");\n\t\t\tif (Object.hasOwn(indexes, name)) throw new Error(`Duplicate index name '${name}'.`);\n\t\t\tif (fieldNames.length > schemaIndexLimits.fieldsPerIndex) throw new Error(`Indexes cannot contain more than ${schemaIndexLimits.fieldsPerIndex} fields.`);\n\t\t\tif (new Set(fieldNames).size !== fieldNames.length) throw new Error(`Index '${name}' contains duplicate fields.`);\n\t\t\tfor (const fieldName of fieldNames) {\n\t\t\t\tif (!Object.hasOwn(tableFields, fieldName)) throw new Error(`Index '${name}' references unknown field '${fieldName}'.`);\n\t\t\t\tconst descriptor = getValueDescriptor(tableFields[fieldName]);\n\t\t\t\tif (!(descriptor?.type === \"boolean\" || descriptor?.type === \"date\" || descriptor?.type === \"id\" || descriptor?.type === \"integer\" || descriptor?.type === \"number\" || descriptor?.type === \"string\" || descriptor?.type === \"literal\" || descriptor?.type === \"literals\")) throw new Error(`Index '${name}' field '${fieldName}' is not indexable.`);\n\t\t\t\tif (descriptor.type === \"literals\" && !(descriptor.values.every(Schema.is(Schema.Boolean)) || descriptor.values.every(Schema.is(Schema.Finite)) || descriptor.values.every(Schema.is(Schema.String)))) throw new Error(`Index '${name}' field '${fieldName}' mixes value types.`);\n\t\t\t}\n\t\t\tconst duplicate = Object.values(indexes).find((candidate) => candidate.fields.length === fieldNames.length && candidate.fields.every((fieldName, position) => fieldName === fieldNames[position]));\n\t\t\tif (duplicate !== void 0) throw new Error(`Index '${name}' duplicates index '${duplicate.name}'.`);\n\t\t\tif (Object.keys(indexes).length >= schemaIndexLimits.indexesPerTable) throw new Error(`Tables cannot declare more than ${schemaIndexLimits.indexesPerTable} indexes.`);\n\t\t\treturn make({\n\t\t\t\t...indexes,\n\t\t\t\t[name]: {\n\t\t\t\t\tname,\n\t\t\t\t\tfields: fieldNames\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\t_tag: \"Table\",\n\t\t\tdescriptor: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tfields: descriptorFields(tableFields)\n\t\t\t},\n\t\t\tfields: tableFields,\n\t\t\tindex,\n\t\t\tindexes,\n\t\t\tschema: Schema.Struct(tableFields)\n\t\t};\n\t};\n\treturn make({});\n};\nconst fresh = (value) => value.pipe(Schema.annotate({}));\nconst string = () => attachValueDescriptor(fresh(Schema.String), { type: \"string\" });\nconst number = () => attachValueDescriptor(fresh(Schema.Finite), { type: \"number\" });\nconst integer = () => attachValueDescriptor(fresh(Schema.Int), { type: \"integer\" });\nconst boolean = () => attachValueDescriptor(fresh(Schema.Boolean), { type: \"boolean\" });\nconst date = () => attachValueDescriptor(fresh(Schema.DateFromMillis), { type: \"date\" });\nconst file = (options = {}) => {\n\tconst formats = options.formats ?? fileFormats;\n\tif (formats.length === 0) throw new Error(\"File format lists cannot be empty.\");\n\tSchema.decodeUnknownSync(Schema.Array(FileFormat))(formats);\n\tif (new Set(formats).size !== formats.length) throw new Error(\"File format lists cannot contain duplicates.\");\n\tconst maxBytes = options.maxBytes ?? fileLimits.fileBytes;\n\tif (!Number.isSafeInteger(maxBytes) || maxBytes <= 0 || maxBytes > fileLimits.fileBytes) throw new Error(`File sizes must be between 1 and ${fileLimits.fileBytes} bytes.`);\n\treturn attachValueDescriptor(constrainedFileValue(formats, maxBytes), {\n\t\ttype: \"file\",\n\t\tformats: [...formats],\n\t\tmaxBytes\n\t});\n};\nconst never = () => attachValueDescriptor(fresh(Schema.Never), { type: \"never\" });\nconst nullValue = () => attachValueDescriptor(fresh(Schema.Null), { type: \"null\" });\nconst literal = (value) => {\n\tSchema.decodeSync(LiteralValueSchema)(value);\n\treturn attachValueDescriptor(Schema.Literal(value), {\n\t\ttype: \"literal\",\n\t\tvalue\n\t});\n};\nconst literals = (...members) => {\n\tSchema.decodeSync(Schema.Array(LiteralValueSchema))(members);\n\treturn attachValueDescriptor(Schema.Literals(members), {\n\t\ttype: \"literals\",\n\t\tvalues: members\n\t});\n};\nconst makeIdSchema = (tableName) => {\n\tconst identifier = `ignotum/id/${tableName}`;\n\treturn attachValueDescriptor(GeneratedId.pipe(Schema.brand(identifier), Schema.annotate({ \"ignotum/table\": tableName })), {\n\t\ttype: \"id\",\n\t\ttable: tableName\n\t});\n};\nconst id = (tableName) => makeIdSchema(tableName);\nconst requireDescriptor = (value) => {\n\tconst descriptor = getValueDescriptor(value);\n\tif (descriptor === void 0) throw new Error(\"Ignotum value combinators require a values validator.\");\n\treturn descriptor;\n};\nconst array = (value) => {\n\treturn attachValueDescriptor(Schema.Array(value), {\n\t\ttype: \"array\",\n\t\tvalue: requireDescriptor(value)\n\t});\n};\nconst assertFieldsExist = (fields, keys, operation) => {\n\tfor (const key of keys) if (!Object.hasOwn(fields, key)) throw new Error(`Cannot ${operation} unknown field '${String(key)}'.`);\n};\nconst fixedObject = (fields) => {\n\tconst pick = (...keys) => {\n\t\tassertFieldsExist(fields, keys, \"pick\");\n\t\treturn fixedObject(Struct.pick(fields, keys));\n\t};\n\tconst omit = (...keys) => {\n\t\tassertFieldsExist(fields, keys, \"omit\");\n\t\treturn fixedObject(Struct.omit(fields, keys));\n\t};\n\tconst extend = (addedFields, ..._validation) => {\n\t\tfor (const key of Reflect.ownKeys(addedFields)) if (Object.hasOwn(fields, key)) throw new Error(`Cannot extend existing field '${String(key)}'.`);\n\t\treturn fixedObject(Struct.assign(fields, addedFields));\n\t};\n\tconst override = (overriddenFields, ..._validation) => {\n\t\tassertFieldsExist(fields, Reflect.ownKeys(overriddenFields), \"override\");\n\t\treturn fixedObject(Struct.assign(fields, overriddenFields));\n\t};\n\tconst partial = () => {\n\t\tconst partialFields = Struct.map(fields, Schema.optional);\n\t\tfor (const name of Reflect.ownKeys(fields)) {\n\t\t\tconst field = fields[name];\n\t\t\tconst partialField = partialFields[name];\n\t\t\tif (field === void 0 || partialField === void 0) continue;\n\t\t\tattachValueDescriptor(partialField, {\n\t\t\t\ttype: \"optional\",\n\t\t\t\tvalue: requireDescriptor(field)\n\t\t\t});\n\t\t}\n\t\treturn fixedObject(partialFields);\n\t};\n\tconst schema = attachValueDescriptor(Schema.Struct(fields), {\n\t\ttype: \"object\",\n\t\tfields: descriptorFields(fields)\n\t});\n\treturn Object.assign(schema, {\n\t\textend,\n\t\tomit,\n\t\toverride,\n\t\tpartial,\n\t\tpick\n\t});\n};\nconst object = (fields) => fixedObject(fields);\nconst optional = (value) => {\n\treturn attachValueDescriptor(Schema.optional(value), {\n\t\ttype: \"optional\",\n\t\tvalue: requireDescriptor(value)\n\t});\n};\nconst nullable = (value) => {\n\treturn attachValueDescriptor(Schema.NullOr(value), {\n\t\ttype: \"nullable\",\n\t\tvalue: requireDescriptor(value)\n\t});\n};\nconst record = (value) => {\n\treturn attachValueDescriptor(Schema.Record(Schema.String, value), {\n\t\ttype: \"record\",\n\t\tvalue: requireDescriptor(value)\n\t});\n};\nconst union = (...members) => {\n\treturn attachValueDescriptor(Schema.Union(members), {\n\t\ttype: \"union\",\n\t\tmembers: members.map(requireDescriptor)\n\t});\n};\nconst paginationCursor = () => attachValueDescriptor(fresh(PaginationCursor), { type: \"string\" });\nconst pagination = () => fixedObject({\n\tcursor: nullable(paginationCursor()),\n\tpageSize: attachValueDescriptor(fresh(PaginationPageSize), { type: \"integer\" })\n});\nconst page = (value) => {\n\treturn fixedObject({\n\t\titems: array(value),\n\t\tnextCursor: nullable(paginationCursor())\n\t});\n};\nconst error = (tag, fields) => {\n\tif (tag === \"InternalServerError\") throw new Error(\"The error tag 'InternalServerError' is reserved by Ignotum.\");\n\tconst errorFields = { ...fields };\n\tReflect.deleteProperty(errorFields, \"_tag\");\n\tconst schema = Schema.TaggedStruct(tag, errorFields).pipe(Schema.brand(ErrorBrand));\n\tconst make = (input) => schema.make(input);\n\tconst definition = Object.assign(make, schema);\n\tObject.setPrototypeOf(definition, Object.getPrototypeOf(schema));\n\tattachValueDescriptor(definition, {\n\t\ttype: \"error\",\n\t\ttag,\n\t\tfields: descriptorFields(errorFields)\n\t});\n\treturn definition;\n};\nconst values = {\n\tarray,\n\tboolean,\n\tdate,\n\tfile,\n\terror,\n\tid,\n\tinteger,\n\tliteral,\n\tliterals,\n\tnever,\n\tnull: nullValue,\n\tnullable,\n\tnumber,\n\tobject,\n\toptional,\n\trecord,\n\tstring,\n\tunion\n};\nconst bindValues = (definition) => {\n\tconst boundId = (tableName) => makeIdSchema(tableName);\n\tconst doc = (tableName) => {\n\t\tconst tableDefinition = definition[tableName];\n\t\tif (tableDefinition === void 0) throw new Error(`Unknown table '${tableName}'.`);\n\t\tconst tableFields = tableDefinition.fields;\n\t\tconst systemFields = {\n\t\t\tid: boundId(tableName),\n\t\t\tcreatedAt: date(),\n\t\t\tupdatedAt: date()\n\t\t};\n\t\treturn fixedObject(Struct.assign(tableFields, systemFields));\n\t};\n\tconst boundPagination = () => {\n\t\treturn pagination();\n\t};\n\treturn {\n\t\t...values,\n\t\tdoc,\n\t\tid: boundId,\n\t\tpage,\n\t\tpagination: boundPagination\n\t};\n};\n//#endregion\nexport { bindValues, schemaIndexLimits, table, values };\n\n//# sourceMappingURL=values.js.map","//#region src/runtime/schema.ts\nconst FunctionSchemaTypeId = Symbol.for(\"ignotum/runtime/schema/FunctionSchema\");\nconst attachFunctionSchema = (schema) => (definition) => {\n\tObject.defineProperty(definition, FunctionSchemaTypeId, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\tvalue: schema,\n\t\twritable: false\n\t});\n\treturn definition;\n};\nconst getFunctionSchema = (value) => value[FunctionSchemaTypeId];\n//#endregion\nexport { FunctionSchemaTypeId, attachFunctionSchema, getFunctionSchema };\n\n//# sourceMappingURL=schema.js.map","import { FileFormat, FileId, FileValue, FileValueTypeId, fileFormats, fileLimits, fileMimeTypes, isFileValue } from \"./file.js\";\nimport { a as descriptorFields, i as descriptorContainsFile, n as ValueDescriptorTypeId, o as getValueDescriptor, t as ValueDescriptor } from \"../descriptor-C5VA9qRl.js\";\nimport { Result } from \"../runtime/result.js\";\nimport { bindValues, schemaIndexLimits, table, values } from \"./values.js\";\nimport { attachFunctionSchema } from \"../runtime/schema.js\";\nimport { Predicate } from \"effect\";\n//#region src/schema/types.ts\nconst SchemaDefinitionTypeId = Symbol.for(\"ignotum/schema/SchemaDefinition\");\n//#endregion\n//#region src/schema/definition.ts\nconst defineSchema = (define) => {\n\tconst definitions = define({\n\t\ttable,\n\t\tvalues\n\t});\n\tif (Object.values(definitions).reduce((count, definition) => count + Object.keys(definition.indexes).length, 0) > schemaIndexLimits.indexesPerSchema) throw new Error(`Schemas cannot declare more than ${schemaIndexLimits.indexesPerSchema} indexes.`);\n\treturn {\n\t\t_tag: \"Schema\",\n\t\t[SchemaDefinitionTypeId]: definitions\n\t};\n};\nconst isDefinedSchema = (value) => value._tag === \"Schema\" && Predicate.isObject(value[SchemaDefinitionTypeId]);\n//#endregion\n//#region src/schema/server.ts\nconst makeFunctionBuilder = (schema, kind) => {\n\tconst define = (definition) => attachFunctionSchema(schema)({\n\t\t_tag: kind,\n\t\t...definition\n\t});\n\treturn define;\n};\nconst makeFunctionBuilders = (schema) => ({\n\tmutation: makeFunctionBuilder(schema, \"Mutation\"),\n\tquery: makeFunctionBuilder(schema, \"Query\")\n});\nconst bindSchema = (schema) => ({\n\tvalues: bindValues(schema[SchemaDefinitionTypeId]),\n\t...makeFunctionBuilders(schema)\n});\n//#endregion\nexport { FileFormat, FileId, FileValue, FileValueTypeId, Result, SchemaDefinitionTypeId, ValueDescriptor, ValueDescriptorTypeId, bindSchema, bindValues, defineSchema, descriptorContainsFile, descriptorFields, fileFormats, fileLimits, fileMimeTypes, getValueDescriptor, isDefinedSchema, isFileValue, schemaIndexLimits, table, values };\n\n//# sourceMappingURL=index.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"schema-C00wobuy.js","names":[],"sources":["../../../contracts/dist/schema/values.js","../../../contracts/dist/runtime/schema.js","../../../contracts/dist/schema/index.js"],"sourcesContent":["import { GeneratedId } from \"../runtime/id.js\";\nimport { FileFormat, constrainedFileValue, fileFormats, fileLimits } from \"./file.js\";\nimport { a as descriptorFields, o as getValueDescriptor, r as attachValueDescriptor } from \"../descriptor-C5VA9qRl.js\";\nimport { PaginationCursor, PaginationPageSize } from \"../runtime/pagination.js\";\nimport { ErrorBrand } from \"../runtime/result.js\";\nimport { Schema, Struct } from \"effect\";\n//#region src/schema/values.ts\nconst LiteralValueSchema = Schema.Union([\n\tSchema.String,\n\tSchema.Finite,\n\tSchema.Boolean\n]);\nconst schemaIndexLimits = {\n\tfieldsPerIndex: 8,\n\tindexesPerSchema: 128,\n\tindexesPerTable: 16,\n\tkeyBytes: 4096,\n\tnameBytes: 64\n};\nconst utf8ByteLength = (value) => {\n\tlet bytes = 0;\n\tfor (const character of value) {\n\t\tconst point = character.codePointAt(0) ?? 0;\n\t\tbytes += point <= 127 ? 1 : point <= 2047 ? 2 : point <= 65535 ? 3 : 4;\n\t}\n\treturn bytes;\n};\nconst table = (fields) => {\n\tconst tableFields = fields;\n\tconst make = (indexes) => {\n\t\tconst index = (name, fieldNames) => {\n\t\t\tif (utf8ByteLength(name) > schemaIndexLimits.nameBytes) throw new Error(`Index names cannot exceed ${schemaIndexLimits.nameBytes} UTF-8 bytes.`);\n\t\t\tif (name.length === 0) throw new Error(\"Index names cannot be empty.\");\n\t\t\tif (name.startsWith(\"$\")) throw new Error(\"Index names beginning with '$' are reserved.\");\n\t\t\tif (Object.hasOwn(indexes, name)) throw new Error(`Duplicate index name '${name}'.`);\n\t\t\tif (fieldNames.length > schemaIndexLimits.fieldsPerIndex) throw new Error(`Indexes cannot contain more than ${schemaIndexLimits.fieldsPerIndex} fields.`);\n\t\t\tif (new Set(fieldNames).size !== fieldNames.length) throw new Error(`Index '${name}' contains duplicate fields.`);\n\t\t\tfor (const fieldName of fieldNames) {\n\t\t\t\tif (!Object.hasOwn(tableFields, fieldName)) throw new Error(`Index '${name}' references unknown field '${fieldName}'.`);\n\t\t\t\tconst descriptor = getValueDescriptor(tableFields[fieldName]);\n\t\t\t\tif (!(descriptor?.type === \"boolean\" || descriptor?.type === \"date\" || descriptor?.type === \"id\" || descriptor?.type === \"integer\" || descriptor?.type === \"number\" || descriptor?.type === \"string\" || descriptor?.type === \"literal\" || descriptor?.type === \"literals\")) throw new Error(`Index '${name}' field '${fieldName}' is not indexable.`);\n\t\t\t\tif (descriptor.type === \"literals\" && !(descriptor.values.every(Schema.is(Schema.Boolean)) || descriptor.values.every(Schema.is(Schema.Finite)) || descriptor.values.every(Schema.is(Schema.String)))) throw new Error(`Index '${name}' field '${fieldName}' mixes value types.`);\n\t\t\t}\n\t\t\tconst duplicate = Object.values(indexes).find((candidate) => candidate.fields.length === fieldNames.length && candidate.fields.every((fieldName, position) => fieldName === fieldNames[position]));\n\t\t\tif (duplicate !== void 0) throw new Error(`Index '${name}' duplicates index '${duplicate.name}'.`);\n\t\t\tif (Object.keys(indexes).length >= schemaIndexLimits.indexesPerTable) throw new Error(`Tables cannot declare more than ${schemaIndexLimits.indexesPerTable} indexes.`);\n\t\t\treturn make({\n\t\t\t\t...indexes,\n\t\t\t\t[name]: {\n\t\t\t\t\tname,\n\t\t\t\t\tfields: fieldNames\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\t_tag: \"Table\",\n\t\t\tdescriptor: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tfields: descriptorFields(tableFields)\n\t\t\t},\n\t\t\tfields: tableFields,\n\t\t\tindex,\n\t\t\tindexes,\n\t\t\tschema: Schema.Struct(tableFields)\n\t\t};\n\t};\n\treturn make({});\n};\nconst fresh = (value) => value.pipe(Schema.annotate({}));\nconst string = () => attachValueDescriptor(fresh(Schema.String), { type: \"string\" });\nconst number = () => attachValueDescriptor(fresh(Schema.Finite), { type: \"number\" });\nconst integer = () => attachValueDescriptor(fresh(Schema.Int), { type: \"integer\" });\nconst boolean = () => attachValueDescriptor(fresh(Schema.Boolean), { type: \"boolean\" });\nconst date = () => attachValueDescriptor(fresh(Schema.DateFromMillis), { type: \"date\" });\nconst file = (options = {}) => {\n\tconst formats = options.formats ?? fileFormats;\n\tif (formats.length === 0) throw new Error(\"File format lists cannot be empty.\");\n\tSchema.decodeUnknownSync(Schema.Array(FileFormat))(formats);\n\tif (new Set(formats).size !== formats.length) throw new Error(\"File format lists cannot contain duplicates.\");\n\tconst maxBytes = options.maxBytes ?? fileLimits.fileBytes;\n\tif (!Number.isSafeInteger(maxBytes) || maxBytes <= 0 || maxBytes > fileLimits.fileBytes) throw new Error(`File sizes must be between 1 and ${fileLimits.fileBytes} bytes.`);\n\treturn attachValueDescriptor(constrainedFileValue(formats, maxBytes), {\n\t\ttype: \"file\",\n\t\tformats: [...formats],\n\t\tmaxBytes\n\t});\n};\nconst never = () => attachValueDescriptor(fresh(Schema.Never), { type: \"never\" });\nconst nullValue = () => attachValueDescriptor(fresh(Schema.Null), { type: \"null\" });\nconst literal = (value) => {\n\tSchema.decodeSync(LiteralValueSchema)(value);\n\treturn attachValueDescriptor(Schema.Literal(value), {\n\t\ttype: \"literal\",\n\t\tvalue\n\t});\n};\nconst literals = (...members) => {\n\tSchema.decodeSync(Schema.Array(LiteralValueSchema))(members);\n\treturn attachValueDescriptor(Schema.Literals(members), {\n\t\ttype: \"literals\",\n\t\tvalues: members\n\t});\n};\nconst makeIdSchema = (tableName) => {\n\tconst identifier = `ignotum/id/${tableName}`;\n\treturn attachValueDescriptor(GeneratedId.pipe(Schema.brand(identifier), Schema.annotate({ \"ignotum/table\": tableName })), {\n\t\ttype: \"id\",\n\t\ttable: tableName\n\t});\n};\nconst id = (tableName) => makeIdSchema(tableName);\nconst requireDescriptor = (value) => {\n\tconst descriptor = getValueDescriptor(value);\n\tif (descriptor === void 0) throw new Error(\"Ignotum value combinators require a values validator.\");\n\treturn descriptor;\n};\nconst array = (value) => {\n\treturn attachValueDescriptor(Schema.Array(value), {\n\t\ttype: \"array\",\n\t\tvalue: requireDescriptor(value)\n\t});\n};\nconst assertFieldsExist = (fields, keys, operation) => {\n\tfor (const key of keys) if (!Object.hasOwn(fields, key)) throw new Error(`Cannot ${operation} unknown field '${String(key)}'.`);\n};\nconst fixedObject = (fields) => {\n\tconst pick = (...keys) => {\n\t\tassertFieldsExist(fields, keys, \"pick\");\n\t\treturn fixedObject(Struct.pick(fields, keys));\n\t};\n\tconst omit = (...keys) => {\n\t\tassertFieldsExist(fields, keys, \"omit\");\n\t\treturn fixedObject(Struct.omit(fields, keys));\n\t};\n\tconst extend = (addedFields, ..._validation) => {\n\t\tfor (const key of Reflect.ownKeys(addedFields)) if (Object.hasOwn(fields, key)) throw new Error(`Cannot extend existing field '${String(key)}'.`);\n\t\treturn fixedObject(Struct.assign(fields, addedFields));\n\t};\n\tconst override = (overriddenFields, ..._validation) => {\n\t\tassertFieldsExist(fields, Reflect.ownKeys(overriddenFields), \"override\");\n\t\treturn fixedObject(Struct.assign(fields, overriddenFields));\n\t};\n\tconst partial = () => {\n\t\tconst partialFields = Struct.map(fields, Schema.optional);\n\t\tfor (const name of Reflect.ownKeys(fields)) {\n\t\t\tconst field = fields[name];\n\t\t\tconst partialField = partialFields[name];\n\t\t\tif (field === void 0 || partialField === void 0) continue;\n\t\t\tattachValueDescriptor(partialField, {\n\t\t\t\ttype: \"optional\",\n\t\t\t\tvalue: requireDescriptor(field)\n\t\t\t});\n\t\t}\n\t\treturn fixedObject(partialFields);\n\t};\n\tconst schema = attachValueDescriptor(Schema.Struct(fields), {\n\t\ttype: \"object\",\n\t\tfields: descriptorFields(fields)\n\t});\n\treturn Object.assign(schema, {\n\t\textend,\n\t\tomit,\n\t\toverride,\n\t\tpartial,\n\t\tpick\n\t});\n};\nconst object = (fields) => fixedObject(fields);\nconst optional = (value) => {\n\treturn attachValueDescriptor(Schema.optional(value), {\n\t\ttype: \"optional\",\n\t\tvalue: requireDescriptor(value)\n\t});\n};\nconst nullable = (value) => {\n\treturn attachValueDescriptor(Schema.NullOr(value), {\n\t\ttype: \"nullable\",\n\t\tvalue: requireDescriptor(value)\n\t});\n};\nconst record = (value) => {\n\treturn attachValueDescriptor(Schema.Record(Schema.String, value), {\n\t\ttype: \"record\",\n\t\tvalue: requireDescriptor(value)\n\t});\n};\nconst union = (...members) => {\n\treturn attachValueDescriptor(Schema.Union(members), {\n\t\ttype: \"union\",\n\t\tmembers: members.map(requireDescriptor)\n\t});\n};\nconst paginationCursor = () => attachValueDescriptor(fresh(PaginationCursor), { type: \"string\" });\nconst pagination = () => fixedObject({\n\tcursor: nullable(paginationCursor()),\n\tpageSize: attachValueDescriptor(fresh(PaginationPageSize), { type: \"integer\" })\n});\nconst page = (value) => {\n\treturn fixedObject({\n\t\titems: array(value),\n\t\tnextCursor: nullable(paginationCursor())\n\t});\n};\nconst error = (tag, fields) => {\n\tif (tag === \"InternalServerError\") throw new Error(\"The error tag 'InternalServerError' is reserved by Ignotum.\");\n\tconst errorFields = { ...fields };\n\tReflect.deleteProperty(errorFields, \"_tag\");\n\tconst schema = Schema.TaggedStruct(tag, errorFields).pipe(Schema.brand(ErrorBrand));\n\tconst make = (input) => schema.make(input);\n\tconst definition = Object.assign(make, schema);\n\tObject.setPrototypeOf(definition, Object.getPrototypeOf(schema));\n\tattachValueDescriptor(definition, {\n\t\ttype: \"error\",\n\t\ttag,\n\t\tfields: descriptorFields(errorFields)\n\t});\n\treturn definition;\n};\nconst values = {\n\tarray,\n\tboolean,\n\tdate,\n\tfile,\n\terror,\n\tid,\n\tinteger,\n\tliteral,\n\tliterals,\n\tnever,\n\tnull: nullValue,\n\tnullable,\n\tnumber,\n\tobject,\n\toptional,\n\trecord,\n\tstring,\n\tunion\n};\nconst bindValues = (definition) => {\n\tconst boundId = (tableName) => makeIdSchema(tableName);\n\tconst doc = (tableName) => {\n\t\tconst tableDefinition = definition[tableName];\n\t\tif (tableDefinition === void 0) throw new Error(`Unknown table '${tableName}'.`);\n\t\tconst tableFields = tableDefinition.fields;\n\t\tconst systemFields = {\n\t\t\tid: boundId(tableName),\n\t\t\tcreatedAt: date(),\n\t\t\tupdatedAt: date()\n\t\t};\n\t\treturn fixedObject(Struct.assign(tableFields, systemFields));\n\t};\n\tconst boundPagination = () => {\n\t\treturn pagination();\n\t};\n\treturn {\n\t\t...values,\n\t\tdoc,\n\t\tid: boundId,\n\t\tpage,\n\t\tpagination: boundPagination\n\t};\n};\n//#endregion\nexport { bindValues, schemaIndexLimits, table, values };\n\n//# sourceMappingURL=values.js.map","//#region src/runtime/schema.ts\nconst FunctionSchemaTypeId = Symbol.for(\"ignotum/runtime/schema/FunctionSchema\");\nconst attachFunctionSchema = (schema) => (definition) => {\n\tObject.defineProperty(definition, FunctionSchemaTypeId, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\tvalue: schema,\n\t\twritable: false\n\t});\n\treturn definition;\n};\nconst getFunctionSchema = (value) => value[FunctionSchemaTypeId];\n//#endregion\nexport { FunctionSchemaTypeId, attachFunctionSchema, getFunctionSchema };\n\n//# sourceMappingURL=schema.js.map","import { FileFormat, FileId, FileValue, FileValueTypeId, fileFormats, fileLimits, fileMimeTypes, isFileValue } from \"./file.js\";\nimport { a as descriptorFields, i as descriptorContainsFile, n as ValueDescriptorTypeId, o as getValueDescriptor, t as ValueDescriptor } from \"../descriptor-C5VA9qRl.js\";\nimport { Result } from \"../runtime/result.js\";\nimport { bindValues, schemaIndexLimits, table, values } from \"./values.js\";\nimport { attachFunctionSchema } from \"../runtime/schema.js\";\nimport { Predicate } from \"effect\";\n//#region src/schema/types.ts\nconst SchemaDefinitionTypeId = Symbol.for(\"ignotum/schema/SchemaDefinition\");\n//#endregion\n//#region src/schema/definition.ts\nconst defineSchema = (define) => {\n\tconst definitions = define({\n\t\ttable,\n\t\tvalues\n\t});\n\tif (Object.values(definitions).reduce((count, definition) => count + Object.keys(definition.indexes).length, 0) > schemaIndexLimits.indexesPerSchema) throw new Error(`Schemas cannot declare more than ${schemaIndexLimits.indexesPerSchema} indexes.`);\n\treturn {\n\t\t_tag: \"Schema\",\n\t\t[SchemaDefinitionTypeId]: definitions\n\t};\n};\nconst isDefinedSchema = (value) => value._tag === \"Schema\" && Predicate.isObject(value[SchemaDefinitionTypeId]);\n//#endregion\n//#region src/schema/server.ts\nconst makeFunctionBuilder = (schema, kind) => {\n\tconst define = (definition) => attachFunctionSchema(schema)({\n\t\t_tag: kind,\n\t\t...definition\n\t});\n\treturn define;\n};\nconst makeFunctionBuilders = (schema) => ({\n\tmutation: makeFunctionBuilder(schema, \"Mutation\"),\n\tquery: makeFunctionBuilder(schema, \"Query\")\n});\nconst bindSchema = (schema) => ({\n\tvalues: bindValues(schema[SchemaDefinitionTypeId]),\n\t...makeFunctionBuilders(schema)\n});\n//#endregion\nexport { FileFormat, FileId, FileValue, FileValueTypeId, Result, SchemaDefinitionTypeId, ValueDescriptor, ValueDescriptorTypeId, bindSchema, bindValues, defineSchema, descriptorContainsFile, descriptorFields, fileFormats, fileLimits, fileMimeTypes, getValueDescriptor, isDefinedSchema, isFileValue, schemaIndexLimits, table, values };\n\n//# sourceMappingURL=index.js.map"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { d as Result$1 } from "./descriptor-C5VA9qRl-BKbdenuU.js";
2
- import { r as defineSchema$1 } from "./schema-B6PK_ZwV.js";
1
+ import { d as Result$1 } from "./descriptor-C5VA9qRl-BhD-WQeO.js";
2
+ import { r as defineSchema$1 } from "./schema-C00wobuy.js";
3
3
  //#region src/server/index.ts
4
4
  const Result = Result$1;
5
5
  const defineSchema = defineSchema$1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ignotum",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "Ignotum is an opinionated TypeScript application cloud.",
5
5
  "author": "Johannes Schießl",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"descriptor-C5VA9qRl-BKbdenuU.js","names":[],"sources":["../../../contracts/dist/runtime/value.js","../../../contracts/dist/runtime/result.js","../../../contracts/dist/versioned.js","../../../contracts/dist/runtime/pagination.js","../../../contracts/dist/descriptor-C5VA9qRl.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 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(TransportValueSchema)(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(TransportValueSchema)(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 { TransportValueSchema, 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({ 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\": 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 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 { descriptorFields as a, descriptorContainsFile as i, ValueDescriptorTypeId as n, getValueDescriptor as o, attachValueDescriptor as r, ValueDescriptor as t };\n\n//# sourceMappingURL=descriptor-C5VA9qRl.js.map"],"mappings":"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"}