@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backmatter/core",
3
- "version": "0.0.13",
3
+ "version": "0.0.14",
4
4
  "description": "Experimental Backmatter SDK. APIs will break. Not ready for production.",
5
5
  "type": "module",
6
6
  "publishConfig": {
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 (err) {
98
- const msg = err instanceof Error ? err.message : "invalid field";
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 (err) {
198
- const msg = err instanceof Error ? err.message : "invalid field";
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" | "slug" | "locale" | "number" | "boolean";
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":