Compare commits
2 Commits
fa6939d40c
...
765c321f8a
| Author | SHA1 | Date | |
|---|---|---|---|
| 765c321f8a | |||
| df4946e016 |
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"sourceRepo": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git",
|
"sourceRepo": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git",
|
||||||
"sourceCommit": "24cede02e95c62c065d5e573d5793e3c426e8080",
|
"sourceCommit": "51607ba09c066e59a5c80a4b6cce46eb61fda501",
|
||||||
"sourcePath": "quixos-instance/packages/camino-package-runtime",
|
"sourcePath": "quixos-instance/packages/camino-package-runtime",
|
||||||
"exportName": "camino-package-runtime",
|
"exportName": "camino-package-runtime",
|
||||||
"mirrorRemote": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git"
|
"mirrorRemote": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/camino-package-runtime.git"
|
||||||
|
|||||||
Vendored
+48
@@ -491,6 +491,46 @@ export type ListEdgesResponse = Message<"camino.ListEdgesResponse"> & {
|
|||||||
* Use `create(ListEdgesResponseSchema)` to create a new message.
|
* Use `create(ListEdgesResponseSchema)` to create a new message.
|
||||||
*/
|
*/
|
||||||
export declare const ListEdgesResponseSchema: GenMessage<ListEdgesResponse>;
|
export declare const ListEdgesResponseSchema: GenMessage<ListEdgesResponse>;
|
||||||
|
/**
|
||||||
|
* @generated from message camino.ResolveEdgeRequest
|
||||||
|
*/
|
||||||
|
export type ResolveEdgeRequest = Message<"camino.ResolveEdgeRequest"> & {
|
||||||
|
/**
|
||||||
|
* @generated from field: string object_id = 1;
|
||||||
|
*/
|
||||||
|
objectId: string;
|
||||||
|
/**
|
||||||
|
* @generated from field: string projection = 2;
|
||||||
|
*/
|
||||||
|
projection: string;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Describes the message camino.ResolveEdgeRequest.
|
||||||
|
* Use `create(ResolveEdgeRequestSchema)` to create a new message.
|
||||||
|
*/
|
||||||
|
export declare const ResolveEdgeRequestSchema: GenMessage<ResolveEdgeRequest>;
|
||||||
|
/**
|
||||||
|
* @generated from message camino.ResolveEdgeResponse
|
||||||
|
*/
|
||||||
|
export type ResolveEdgeResponse = Message<"camino.ResolveEdgeResponse"> & {
|
||||||
|
/**
|
||||||
|
* @generated from field: repeated camino.CaminoEdge edges = 1;
|
||||||
|
*/
|
||||||
|
edges: CaminoEdge[];
|
||||||
|
/**
|
||||||
|
* @generated from field: camino.CaminoObject materialized_object = 2;
|
||||||
|
*/
|
||||||
|
materializedObject?: CaminoObject | undefined;
|
||||||
|
/**
|
||||||
|
* @generated from field: bool created = 3;
|
||||||
|
*/
|
||||||
|
created: boolean;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Describes the message camino.ResolveEdgeResponse.
|
||||||
|
* Use `create(ResolveEdgeResponseSchema)` to create a new message.
|
||||||
|
*/
|
||||||
|
export declare const ResolveEdgeResponseSchema: GenMessage<ResolveEdgeResponse>;
|
||||||
/**
|
/**
|
||||||
* @generated from message camino.RemoveEdgeRequest
|
* @generated from message camino.RemoveEdgeRequest
|
||||||
*/
|
*/
|
||||||
@@ -831,6 +871,14 @@ export declare const CaminoService: GenService<{
|
|||||||
input: typeof ListEdgesRequestSchema;
|
input: typeof ListEdgesRequestSchema;
|
||||||
output: typeof ListEdgesResponseSchema;
|
output: typeof ListEdgesResponseSchema;
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* @generated from rpc camino.CaminoService.ResolveEdge
|
||||||
|
*/
|
||||||
|
resolveEdge: {
|
||||||
|
methodKind: "unary";
|
||||||
|
input: typeof ResolveEdgeRequestSchema;
|
||||||
|
output: typeof ResolveEdgeResponseSchema;
|
||||||
|
};
|
||||||
/**
|
/**
|
||||||
* @generated from rpc camino.CaminoService.RemoveEdge
|
* @generated from rpc camino.CaminoService.RemoveEdge
|
||||||
*/
|
*/
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+20
-10
File diff suppressed because one or more lines are too long
Vendored
+22
@@ -483,12 +483,34 @@ export type EdgeEndpointSchema = Message<"camino.EdgeEndpointSchema"> & {
|
|||||||
* @generated from field: bool indexed = 5;
|
* @generated from field: bool indexed = 5;
|
||||||
*/
|
*/
|
||||||
indexed: boolean;
|
indexed: boolean;
|
||||||
|
/**
|
||||||
|
* @generated from field: camino.EdgeMaterialization materialize = 6;
|
||||||
|
*/
|
||||||
|
materialize?: EdgeMaterialization | undefined;
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Describes the message camino.EdgeEndpointSchema.
|
* Describes the message camino.EdgeEndpointSchema.
|
||||||
* Use `create(EdgeEndpointSchemaSchema)` to create a new message.
|
* Use `create(EdgeEndpointSchemaSchema)` to create a new message.
|
||||||
*/
|
*/
|
||||||
export declare const EdgeEndpointSchemaSchema: GenMessage<EdgeEndpointSchema>;
|
export declare const EdgeEndpointSchemaSchema: GenMessage<EdgeEndpointSchema>;
|
||||||
|
/**
|
||||||
|
* @generated from message camino.EdgeMaterialization
|
||||||
|
*/
|
||||||
|
export type EdgeMaterialization = Message<"camino.EdgeMaterialization"> & {
|
||||||
|
/**
|
||||||
|
* @generated from field: camino.SymbolRef class = 1;
|
||||||
|
*/
|
||||||
|
class?: SymbolRef | undefined;
|
||||||
|
/**
|
||||||
|
* @generated from field: string connect_projection = 2;
|
||||||
|
*/
|
||||||
|
connectProjection: string;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Describes the message camino.EdgeMaterialization.
|
||||||
|
* Use `create(EdgeMaterializationSchema)` to create a new message.
|
||||||
|
*/
|
||||||
|
export declare const EdgeMaterializationSchema: GenMessage<EdgeMaterialization>;
|
||||||
/**
|
/**
|
||||||
* @generated from message camino.MethodSchema
|
* @generated from message camino.MethodSchema
|
||||||
*/
|
*/
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+12
-7
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"schema-compiler.d.ts","sourceRoot":"","sources":["../src/schema-compiler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAeV,mBAAmB,EAIpB,MAAM,gBAAgB,CAAC;AAq0BxB,eAAO,MAAM,mBAAmB,GAC9B,YAAY,MAAM,KACjB,OAAO,CAAC,mBAAmB,CAuE7B,CAAC"}
|
{"version":3,"file":"schema-compiler.d.ts","sourceRoot":"","sources":["../src/schema-compiler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAeV,mBAAmB,EAIpB,MAAM,gBAAgB,CAAC;AAg2BxB,eAAO,MAAM,mBAAmB,GAC9B,YAAY,MAAM,KACjB,OAAO,CAAC,mBAAmB,CAuE7B,CAAC"}
|
||||||
Vendored
+20
@@ -308,6 +308,24 @@ const isManyCardinality = (cardinality) => cardinality === "many" ||
|
|||||||
cardinality === "many_unique" ||
|
cardinality === "many_unique" ||
|
||||||
cardinality === "many_ordered" ||
|
cardinality === "many_ordered" ||
|
||||||
cardinality === "many_unique_ordered";
|
cardinality === "many_unique_ordered";
|
||||||
|
const materializationFromOption = (value, fallbackVersion) => {
|
||||||
|
const object = asObject(value);
|
||||||
|
if (!object) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
const classRef = symbolRefFromOption(object.class, {
|
||||||
|
namespace: "",
|
||||||
|
name: "",
|
||||||
|
version: fallbackVersion,
|
||||||
|
});
|
||||||
|
if (!classRef.name) {
|
||||||
|
throw new Error("Edge materialization requires class");
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
class: classRef,
|
||||||
|
connectProjection: readString(object, "connect_projection") ?? "",
|
||||||
|
};
|
||||||
|
};
|
||||||
const endpointFromOption = (params) => {
|
const endpointFromOption = (params) => {
|
||||||
const object = asObject(params.option);
|
const object = asObject(params.option);
|
||||||
const classRef = asObject(object?.class)
|
const classRef = asObject(object?.class)
|
||||||
@@ -328,6 +346,7 @@ const endpointFromOption = (params) => {
|
|||||||
const cardinality = object?.cardinality === undefined
|
const cardinality = object?.cardinality === undefined
|
||||||
? params.fallbackCardinality
|
? params.fallbackCardinality
|
||||||
: cardinalityFromOption(object.cardinality);
|
: cardinalityFromOption(object.cardinality);
|
||||||
|
const materialization = materializationFromOption(object?.materialize, params.fallbackVersion);
|
||||||
if (!classRef?.name && !interfaceRef?.name) {
|
if (!classRef?.name && !interfaceRef?.name) {
|
||||||
throw new Error(`Edge endpoint ${projection} requires class or interface`);
|
throw new Error(`Edge endpoint ${projection} requires class or interface`);
|
||||||
}
|
}
|
||||||
@@ -337,6 +356,7 @@ const endpointFromOption = (params) => {
|
|||||||
projection,
|
projection,
|
||||||
cardinality,
|
cardinality,
|
||||||
indexed: readBoolean(object, "indexed") ?? false,
|
indexed: readBoolean(object, "indexed") ?? false,
|
||||||
|
...(materialization ? { materialization } : {}),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
const symbolKey = (ref) => ref ? [ref.namespace, ref.name, ref.version, ref.hash ?? ""].join(":") : "";
|
const symbolKey = (ref) => ref ? [ref.namespace, ref.name, ref.version, ref.hash ?? ""].join(":") : "";
|
||||||
|
|||||||
Vendored
+5
@@ -14,6 +14,10 @@ export type FunctionRef = {
|
|||||||
export type ConflictStrategy = "replace" | "preserve_conflicts" | "crdt";
|
export type ConflictStrategy = "replace" | "preserve_conflicts" | "crdt";
|
||||||
export type Cardinality = "optional_one" | "exactly_one" | "many" | "many_unique" | "many_ordered" | "many_unique_ordered";
|
export type Cardinality = "optional_one" | "exactly_one" | "many" | "many_unique" | "many_ordered" | "many_unique_ordered";
|
||||||
export type EdgeDirectionality = "directed" | "undirected";
|
export type EdgeDirectionality = "directed" | "undirected";
|
||||||
|
export type EdgeMaterialization = {
|
||||||
|
class: SymbolRef;
|
||||||
|
connectProjection: string;
|
||||||
|
};
|
||||||
export type FieldStorageKind = "stored" | "derived" | "lazy" | "external" | "static_final";
|
export type FieldStorageKind = "stored" | "derived" | "lazy" | "external" | "static_final";
|
||||||
export type FieldStorage = {
|
export type FieldStorage = {
|
||||||
kind: FieldStorageKind;
|
kind: FieldStorageKind;
|
||||||
@@ -63,6 +67,7 @@ export type EdgeEndpointSchema = {
|
|||||||
projection: string;
|
projection: string;
|
||||||
cardinality: Cardinality;
|
cardinality: Cardinality;
|
||||||
indexed: boolean;
|
indexed: boolean;
|
||||||
|
materialization?: EdgeMaterialization;
|
||||||
};
|
};
|
||||||
export type EdgeSchema = {
|
export type EdgeSchema = {
|
||||||
id: SymbolRef;
|
id: SymbolRef;
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"schema-ir.d.ts","sourceRoot":"","sources":["../src/schema-ir.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"schema-ir.d.ts","sourceRoot":"","sources":["../src/schema-ir.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,oBAAoB,GACpB,MAAM,CAAC;AAEX,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,qBAAqB,CAAC;AAE1B,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,YAAY,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,SAAS,GACT,MAAM,GACN,UAAU,GACV,cAAc,CAAC;AAEnB,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,cAAc,EAAE,SAAS,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,YAAY,CAAC;IACtB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,SAAS,CAAC;IACd,cAAc,EAAE,kBAAkB,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,YAAY,EAAE,kBAAkB,CAAC;IACjC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,cAAc,EAAE,SAAS,CAAC;IAC1B,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;IAC5C,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B,CAAC"}
|
||||||
Generated
+5
-5
@@ -74,17 +74,17 @@
|
|||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784093774,
|
"lastModified": 1784127127,
|
||||||
"narHash": "sha256-tG29sWqPIiDNacXu/zaaQrQI2PS18kGu56jyqcUdD0Q=",
|
"narHash": "sha256-M36R+j10krhGRrhCozKkV7PsRM9BklQNqWox2bW7t/0=",
|
||||||
"ref": "refs/heads/exported",
|
"ref": "refs/heads/exported",
|
||||||
"rev": "ca0381d2801aa0cb78275d03568049df41a23281",
|
"rev": "a9134843bc947546c78b28902d081f451733ddba",
|
||||||
"revCount": 20,
|
"revCount": 22,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git"
|
"url": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"ref": "refs/heads/exported",
|
"ref": "refs/heads/exported",
|
||||||
"rev": "ca0381d2801aa0cb78275d03568049df41a23281",
|
"rev": "a9134843bc947546c78b28902d081f451733ddba",
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git"
|
"url": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
quixos-protocol.url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git?ref=refs/heads/exported&rev=ca0381d2801aa0cb78275d03568049df41a23281";
|
quixos-protocol.url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git?ref=refs/heads/exported&rev=a9134843bc947546c78b28902d081f451733ddba";
|
||||||
quixosNixHelpers = {
|
quixosNixHelpers = {
|
||||||
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git?ref=refs/heads/exported&rev=1f0c39b01501d646fe97dfc6e5777ccab0bde2f1";
|
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git?ref=refs/heads/exported&rev=1f0c39b01501d646fe97dfc6e5777ccab0bde2f1";
|
||||||
flake = false;
|
flake = false;
|
||||||
|
|||||||
+67
-10
File diff suppressed because one or more lines are too long
+34
-7
File diff suppressed because one or more lines are too long
@@ -427,6 +427,28 @@ const isManyCardinality = (cardinality: Cardinality) =>
|
|||||||
cardinality === "many_ordered" ||
|
cardinality === "many_ordered" ||
|
||||||
cardinality === "many_unique_ordered";
|
cardinality === "many_unique_ordered";
|
||||||
|
|
||||||
|
const materializationFromOption = (
|
||||||
|
value: unknown,
|
||||||
|
fallbackVersion: string,
|
||||||
|
) => {
|
||||||
|
const object = asObject(value);
|
||||||
|
if (!object) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
const classRef = symbolRefFromOption(object.class, {
|
||||||
|
namespace: "",
|
||||||
|
name: "",
|
||||||
|
version: fallbackVersion,
|
||||||
|
});
|
||||||
|
if (!classRef.name) {
|
||||||
|
throw new Error("Edge materialization requires class");
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
class: classRef,
|
||||||
|
connectProjection: readString(object, "connect_projection") ?? "",
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const endpointFromOption = (params: {
|
const endpointFromOption = (params: {
|
||||||
option: unknown;
|
option: unknown;
|
||||||
fallbackClass?: SymbolRef;
|
fallbackClass?: SymbolRef;
|
||||||
@@ -453,6 +475,10 @@ const endpointFromOption = (params: {
|
|||||||
const cardinality = object?.cardinality === undefined
|
const cardinality = object?.cardinality === undefined
|
||||||
? params.fallbackCardinality
|
? params.fallbackCardinality
|
||||||
: cardinalityFromOption(object.cardinality);
|
: cardinalityFromOption(object.cardinality);
|
||||||
|
const materialization = materializationFromOption(
|
||||||
|
object?.materialize,
|
||||||
|
params.fallbackVersion,
|
||||||
|
);
|
||||||
if (!classRef?.name && !interfaceRef?.name) {
|
if (!classRef?.name && !interfaceRef?.name) {
|
||||||
throw new Error(`Edge endpoint ${projection} requires class or interface`);
|
throw new Error(`Edge endpoint ${projection} requires class or interface`);
|
||||||
}
|
}
|
||||||
@@ -462,6 +488,7 @@ const endpointFromOption = (params: {
|
|||||||
projection,
|
projection,
|
||||||
cardinality,
|
cardinality,
|
||||||
indexed: readBoolean(object, "indexed") ?? false,
|
indexed: readBoolean(object, "indexed") ?? false,
|
||||||
|
...(materialization ? { materialization } : {}),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,11 @@ export type Cardinality =
|
|||||||
|
|
||||||
export type EdgeDirectionality = "directed" | "undirected";
|
export type EdgeDirectionality = "directed" | "undirected";
|
||||||
|
|
||||||
|
export type EdgeMaterialization = {
|
||||||
|
class: SymbolRef;
|
||||||
|
connectProjection: string;
|
||||||
|
};
|
||||||
|
|
||||||
export type FieldStorageKind =
|
export type FieldStorageKind =
|
||||||
| "stored"
|
| "stored"
|
||||||
| "derived"
|
| "derived"
|
||||||
@@ -90,6 +95,7 @@ export type EdgeEndpointSchema = {
|
|||||||
projection: string;
|
projection: string;
|
||||||
cardinality: Cardinality;
|
cardinality: Cardinality;
|
||||||
indexed: boolean;
|
indexed: boolean;
|
||||||
|
materialization?: EdgeMaterialization;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type EdgeSchema = {
|
export type EdgeSchema = {
|
||||||
|
|||||||
Reference in New Issue
Block a user