@relayfile/adapter-core 0.2.20 → 0.2.22

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.
@@ -23,4 +23,5 @@ export * from "./storage-bridge/index.js";
23
23
  export * from "./atomic-index/index.js";
24
24
  export * from "./emit-auxiliary/index.js";
25
25
  export * from "./alias-slug.js";
26
+ export * from "./layout-contract.js";
26
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
package/dist/src/index.js CHANGED
@@ -23,4 +23,5 @@ export * from "./storage-bridge/index.js";
23
23
  export * from "./atomic-index/index.js";
24
24
  export * from "./emit-auxiliary/index.js";
25
25
  export * from "./alias-slug.js";
26
+ export * from "./layout-contract.js";
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,20 @@
1
+ export type MaterializationMode = "eager" | "lazy";
2
+ export interface WritebackResourceManifest {
3
+ readonly path: string;
4
+ readonly schemaId: string;
5
+ }
6
+ export interface LayoutResourceManifest {
7
+ readonly path: string;
8
+ readonly title: string;
9
+ readonly materialization: MaterializationMode;
10
+ readonly aliasSegments: readonly string[];
11
+ readonly writebackResources: readonly WritebackResourceManifest[];
12
+ }
13
+ export interface LayoutManifest {
14
+ readonly provider: string;
15
+ readonly filenameConvention: string;
16
+ readonly aliasSegments: readonly string[];
17
+ readonly resources: readonly LayoutResourceManifest[];
18
+ }
19
+ export type LayoutManifestProvider = () => LayoutManifest;
20
+ //# sourceMappingURL=layout-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-contract.d.ts","sourceRoot":"","sources":["../../src/layout-contract.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,yBAAyB,EAAE,CAAC;CACnE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACvD;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=layout-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-contract.js","sourceRoot":"","sources":["../../src/layout-contract.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=layout-contract.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-contract.test.d.ts","sourceRoot":"","sources":["../../src/layout-contract.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import assert from "node:assert/strict";
2
+ import { describe, it } from "node:test";
3
+ describe("layout manifest contract", () => {
4
+ it("types provider manifests with eager and lazy resources", () => {
5
+ const provider = () => ({
6
+ provider: "example",
7
+ filenameConvention: "<slug>__<id>.json",
8
+ aliasSegments: ["by-title"],
9
+ resources: [
10
+ {
11
+ path: "example/pages",
12
+ title: "Pages",
13
+ materialization: "eager",
14
+ aliasSegments: ["by-title"],
15
+ writebackResources: [
16
+ { path: "example/pages", schemaId: "example/page" },
17
+ ],
18
+ },
19
+ {
20
+ path: "example/users",
21
+ title: "Users",
22
+ materialization: "lazy",
23
+ aliasSegments: [],
24
+ writebackResources: [],
25
+ },
26
+ ],
27
+ });
28
+ const manifest = provider();
29
+ const modes = manifest.resources.map((resource) => resource.materialization);
30
+ assert.equal(manifest.provider, "example");
31
+ assert.deepEqual(modes, ["eager", "lazy"]);
32
+ });
33
+ it("accepts readonly manifest literals", () => {
34
+ const manifest = {
35
+ provider: "example",
36
+ filenameConvention: "<id>__<slug>/meta.json",
37
+ aliasSegments: ["by-name"],
38
+ resources: [],
39
+ };
40
+ assert.equal(manifest.filenameConvention, "<id>__<slug>/meta.json");
41
+ });
42
+ });
43
+ //# sourceMappingURL=layout-contract.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-contract.test.js","sourceRoot":"","sources":["../../src/layout-contract.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAQzC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,QAAQ,GAA2B,GAAG,EAAE,CAAC,CAAC;YAC9C,QAAQ,EAAE,SAAS;YACnB,kBAAkB,EAAE,mBAAmB;YACvC,aAAa,EAAE,CAAC,UAAU,CAAC;YAC3B,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,OAAO;oBACd,eAAe,EAAE,OAAO;oBACxB,aAAa,EAAE,CAAC,UAAU,CAAC;oBAC3B,kBAAkB,EAAE;wBAClB,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE;qBACpD;iBACF;gBACD;oBACE,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,OAAO;oBACd,eAAe,EAAE,MAAM;oBACvB,aAAa,EAAE,EAAE;oBACjB,kBAAkB,EAAE,EAAE;iBACvB;aACF;SACF,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAmC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAClE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CACvC,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,SAAS;YACnB,kBAAkB,EAAE,wBAAwB;YAC5C,aAAa,EAAE,CAAC,SAAS,CAAC;YAC1B,SAAS,EAAE,EAAE;SACoB,CAAC;QAEpC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relayfile/adapter-core",
3
- "version": "0.2.20",
3
+ "version": "0.2.22",
4
4
  "description": "Schema-driven relayfile adapter generator and runtime",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",