@backmatter/core 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/block.ts +2 -3
- package/src/fields.ts +0 -3
- package/src/model.ts +2 -3
- package/src/query.ts +1 -1
- package/src/zod.ts +0 -3
package/package.json
CHANGED
package/src/block.ts
CHANGED
|
@@ -94,9 +94,8 @@ export function parseBlockSnapshot(input: unknown): BlockSnapshot {
|
|
|
94
94
|
for (const [name, fieldRaw] of Object.entries(value.fields as Record<string, unknown>)) {
|
|
95
95
|
try {
|
|
96
96
|
fields[name] = parseFieldSnapshot(fieldRaw);
|
|
97
|
-
} catch
|
|
98
|
-
|
|
99
|
-
throw new Error(`block.fields.${name}: ${msg}`);
|
|
97
|
+
} catch {
|
|
98
|
+
// Drop unknown kinds so a stored snapshot still loads.
|
|
100
99
|
}
|
|
101
100
|
}
|
|
102
101
|
return { name: value.name, fields };
|
package/src/fields.ts
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
export type FieldKind =
|
|
4
4
|
| "text"
|
|
5
|
-
| "slug"
|
|
6
5
|
| "locale"
|
|
7
6
|
| "image"
|
|
8
7
|
| "relation"
|
|
@@ -46,7 +45,6 @@ function base<K extends FieldKind, R extends boolean, To extends string>(
|
|
|
46
45
|
|
|
47
46
|
export const field = {
|
|
48
47
|
text: <const R extends boolean = false>(opts?: Opts<R>) => base("text", opts),
|
|
49
|
-
slug: <const R extends boolean = false>(opts?: Opts<R>) => base("slug", opts),
|
|
50
48
|
locale: <const R extends boolean = false>(opts?: Opts<R>) => base("locale", opts),
|
|
51
49
|
image: <const R extends boolean = false>(opts?: Opts<R>) => base("image", opts),
|
|
52
50
|
number: <const R extends boolean = false>(opts?: Opts<R>) => base("number", opts),
|
|
@@ -72,7 +70,6 @@ export function parseFieldSnapshot(input: unknown): FieldSnapshot {
|
|
|
72
70
|
const kind = value.kind;
|
|
73
71
|
const allowed: FieldKind[] = [
|
|
74
72
|
"text",
|
|
75
|
-
"slug",
|
|
76
73
|
"locale",
|
|
77
74
|
"image",
|
|
78
75
|
"relation",
|
package/src/model.ts
CHANGED
|
@@ -194,9 +194,8 @@ export function parseSchemaSnapshot(input: unknown): SchemaSnapshot {
|
|
|
194
194
|
)) {
|
|
195
195
|
try {
|
|
196
196
|
fields[name] = parseFieldSnapshot(fieldRaw);
|
|
197
|
-
} catch
|
|
198
|
-
|
|
199
|
-
throw new Error(`schema.models[${i}].fields.${name}: ${msg}`);
|
|
197
|
+
} catch {
|
|
198
|
+
// Drop unknown kinds (e.g. leftover slug) so a stored snapshot still loads.
|
|
200
199
|
}
|
|
201
200
|
}
|
|
202
201
|
const snapshot: ModelSnapshot = { type: m.type, path: m.path, fields };
|
package/src/query.ts
CHANGED
|
@@ -19,7 +19,7 @@ type KeysOfKind<M extends ModelDef, K extends FieldKind> = {
|
|
|
19
19
|
[N in keyof M["fields"]]: M["fields"][N]["kind"] extends K ? N : never;
|
|
20
20
|
}[keyof M["fields"]];
|
|
21
21
|
|
|
22
|
-
type ScalarKind = "text" | "
|
|
22
|
+
type ScalarKind = "text" | "locale" | "number" | "boolean";
|
|
23
23
|
|
|
24
24
|
/** Equality filters on slug and scalar frontmatter fields. */
|
|
25
25
|
export type Where<M extends ModelDef> = Partial<
|
package/src/zod.ts
CHANGED
|
@@ -14,7 +14,6 @@ export function expectedTypeFor(kind: FieldKind): "string" | "number" | "boolean
|
|
|
14
14
|
case "blocks":
|
|
15
15
|
return "array";
|
|
16
16
|
case "text":
|
|
17
|
-
case "slug":
|
|
18
17
|
case "locale":
|
|
19
18
|
case "image":
|
|
20
19
|
case "relation":
|
|
@@ -37,8 +36,6 @@ export function exampleValueFor(kind: FieldKind): unknown {
|
|
|
37
36
|
return [];
|
|
38
37
|
case "image":
|
|
39
38
|
return "https://example.com/image.jpg";
|
|
40
|
-
case "slug":
|
|
41
|
-
return "example-slug";
|
|
42
39
|
case "locale":
|
|
43
40
|
return "en";
|
|
44
41
|
case "relation":
|