Skip to content

Commit 8df03ab

Browse files
refactor(errors): differentiate invalid edge-field errors
Add an `invalid_edge_field` error code, distinct from `invalid_field_value`. The former flags a value naming an unregistered BC edge-field; the latter flags a malformed metadata value. Apply across the explicit edge builders.
1 parent 5941b0e commit 8df03ab

8 files changed

Lines changed: 13 additions & 12 deletions

File tree

src/graph/builders/explicit/dataview_note.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ function get_dataview_note_info(
4343
} else if (!plugin.settings.edge_fields.find((f) => f.label === field)) {
4444
return graph_build_fail({
4545
path,
46-
code: "invalid_field_value",
46+
code: "invalid_edge_field",
4747
message: `dataview-note-field is not a valid field: '${field}'`,
4848
});
4949
}

src/graph/builders/explicit/dendron_note.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ function get_dendron_note_info(
4545
} else if (!plugin.settings.edge_fields.find((f) => f.label === field)) {
4646
return graph_build_fail({
4747
path,
48-
code: "invalid_field_value",
48+
code: "invalid_edge_field",
4949
message: `dendron-note-field is not a valid field: '${field}'`,
5050
});
5151
}

src/graph/builders/explicit/folder_note.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const get_folder_note_info = (
3333
} else if (!plugin.settings.edge_fields.find((f) => f.label === field)) {
3434
return graph_build_fail({
3535
path,
36-
code: "invalid_field_value",
36+
code: "invalid_edge_field",
3737
message: `folder-note-field is not a valid field: '${field}'`,
3838
});
3939
}

src/graph/builders/explicit/johnny_decimal_note.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ const get_johnny_decimal_note_info = (
3636
} else if (!plugin.settings.edge_fields.find((f) => f.label === field)) {
3737
return graph_build_fail({
3838
path,
39-
code: "invalid_field_value",
39+
code: "invalid_edge_field",
4040
message: `johnny-decimal-note-field is not a valid BC field: '${field}'`,
4141
});
4242
}

src/graph/builders/explicit/list_note.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ const get_list_note_info = (
3232
} else if (!plugin.settings.edge_fields.find((f) => f.label === field)) {
3333
return graph_build_fail({
3434
path,
35-
code: "invalid_field_value",
35+
code: "invalid_edge_field",
3636
message: `list-note-field is not a valid BC field: '${field}'`,
3737
});
3838
}
@@ -55,7 +55,7 @@ const get_list_note_info = (
5555
) {
5656
return graph_build_fail({
5757
path,
58-
code: "invalid_field_value",
58+
code: "invalid_edge_field",
5959
message: `list-note-neighbour-field is not a valid BC field: '${neighbour_field}'`,
6060
});
6161
}
@@ -93,7 +93,7 @@ const resolve_field_override = (
9393
} else if (!plugin.settings.edge_fields.find((f) => f.label === field)) {
9494
return graph_build_fail({
9595
path,
96-
code: "invalid_field_value",
96+
code: "invalid_edge_field",
9797
message: `Field override is not a valid BC field: ${field}. Line: ${list_item.position.start.line}`,
9898
});
9999
} else {

src/graph/builders/explicit/regex_note.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ function get_regex_note_info(
6464
} else if (!plugin.settings.edge_fields.find((f) => f.label === field)) {
6565
return graph_build_fail({
6666
path,
67-
code: "invalid_field_value",
67+
code: "invalid_edge_field",
6868
message: `${META_ALIAS["regex-note-field"]} is not a valid field: '${field}'`,
6969
});
7070
}

src/graph/builders/explicit/tag_note.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ const get_tag_note_info = (
6464
} else if (!plugin.settings.edge_fields.find((f) => f.label === field)) {
6565
return graph_build_fail({
6666
path,
67-
code: "invalid_field_value",
67+
code: "invalid_edge_field",
6868
message: `tag-note-field is not a valid BC field: '${field}'`,
6969
});
7070
}
@@ -88,7 +88,7 @@ const get_tag_note_info = (
8888
) {
8989
return graph_build_fail({
9090
path,
91-
code: "invalid_field_value",
91+
code: "invalid_edge_field",
9292
message: `tag-note-sibling-field is not a valid BC field: '${raw_sibling_field}'`,
9393
});
9494
}

src/interfaces/graph.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ import type { GCEdgeData, GCNodeData } from "wasm/pkg/breadcrumbs_graph_wasm";
55
import type { MaybePromise } from ".";
66

77
export interface BreadcrumbsError {
8-
// TODO: Differentiate between invalid edge-field and invalid metadata-field values
9-
// BUT: Some errors might be a metadata field with an invalid edge-field value
8+
// `invalid_edge_field`: a value names a BC edge-field that isn't registered.
9+
// `invalid_field_value`: a metadata field holds a malformed/wrong-typed value.
1010
code:
1111
| "deprecated_field"
12+
| "invalid_edge_field"
1213
| "invalid_field_value"
1314
| "invalid_setting_value"
1415
| "invalid_yaml"

0 commit comments

Comments
 (0)