codemirror-json-schema
Version:
Codemirror 6 extensions that provide full JSONSchema support for `@codemirror/lang-json` and `codemirror-json5`
21 lines (20 loc) • 660 B
JavaScript
/**
* Mimics the behavior of `json-source-map`'s `parseJSONDocument` function using codemirror EditorState... for YAML
*/
import YAML from "yaml";
import { getJsonPointers } from "../utils/json-pointers";
import { MODES } from "../constants";
/**
* Return parsed data and YAML pointers for a given codemirror EditorState
* @group Utilities
*/
export function parseYAMLDocumentState(state) {
let data = null;
try {
data = YAML.parse(state.doc.toString());
// return pointers regardless of whether YAML.parse succeeds
}
catch (_a) { }
const pointers = getJsonPointers(state, MODES.YAML);
return { data, pointers };
}