UNPKG

@curvenote/schema

Version:

Schema and markdown parser for @curvenote/editor

110 lines 5.25 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSchema = exports.presets = exports.marks = exports.nodes = exports.reactiveNodes = exports.reactiveDisplayNodes = exports.mathNodesNoDisplay = exports.mathNodes = exports.citationNodes = exports.presentationalNodes = exports.listNodes = void 0; const prosemirror_model_1 = require("prosemirror-model"); const basic = __importStar(require("./nodes/basic")); const table_1 = require("./nodes/table"); const basicMarks = __importStar(require("./marks")); const Nodes = __importStar(require("./nodes")); exports.listNodes = { ordered_list: basic.ordered_list, bullet_list: basic.bullet_list, list_item: basic.list_item, }; exports.presentationalNodes = { aside: Nodes.Aside.default, callout: Nodes.Callout.default, link_block: Nodes.LinkBlock.default, iframe: Nodes.IFrame.default, }; exports.citationNodes = { cite: Nodes.Cite.default, cite_group: Nodes.CiteGroup.default, }; exports.mathNodes = { math: Nodes.Math.default, equation: Nodes.Equation.default, }; exports.mathNodesNoDisplay = { math: Nodes.Math.mathNoDisplay, equation: Nodes.Equation.equationNoDisplay, }; exports.reactiveDisplayNodes = { // Does NOT include variable definitions display: Nodes.Display.default, dynamic: Nodes.Dynamic.default, range: Nodes.Range.default, switch: Nodes.Switch.default, button: Nodes.Button.default, }; exports.reactiveNodes = Object.assign({ variable: Nodes.Variable.default }, exports.reactiveDisplayNodes); exports.nodes = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ // Basic markdown doc: basic.doc, text: basic.text, paragraph: basic.paragraph, heading: Nodes.Heading.default, footnote: Nodes.Footnote.default, blockquote: basic.blockquote, code_block: Nodes.Code.default, figure: Nodes.Figure.default, figcaption: Nodes.Figcaption.default, image: Nodes.Image.default, horizontal_rule: basic.horizontal_rule, hard_break: basic.hard_break, time: Nodes.Time.default }, exports.listNodes), table_1.nodes), exports.presentationalNodes), exports.citationNodes), exports.mathNodes), exports.reactiveNodes); exports.marks = { link: basicMarks.link, code: basicMarks.code, em: basicMarks.em, strong: basicMarks.strong, superscript: basicMarks.superscript, subscript: basicMarks.subscript, strikethrough: basicMarks.strikethrough, underline: basicMarks.underline, abbr: basicMarks.abbr, }; exports.presets = { full: { nodes: exports.nodes, marks: exports.marks, }, paragraph: { nodes: Object.assign(Object.assign(Object.assign({ doc: basic.docParagraph, paragraph: basic.paragraph, text: basic.text, hard_break: basic.hard_break, time: Nodes.Time.default, footnote: Nodes.Footnote.default }, exports.citationNodes), { math: exports.mathNodes.math }), exports.reactiveDisplayNodes), marks: exports.marks, }, comment: { nodes: Object.assign(Object.assign(Object.assign({ doc: basic.docComment, paragraph: basic.paragraph, heading: Nodes.Heading.default, text: basic.text, blockquote: basic.blockquote, footnote: Nodes.Footnote.default, code_block: Nodes.Code.default, horizontal_rule: basic.horizontal_rule, hard_break: basic.hard_break, time: Nodes.Time.default, mention: Nodes.Mention.default }, exports.listNodes), exports.citationNodes), exports.mathNodesNoDisplay), marks: exports.marks, }, }; function getSchema(useSchema) { if (typeof useSchema === 'string') { switch (useSchema) { case 'full': return new prosemirror_model_1.Schema(exports.presets.full); case 'paragraph': return new prosemirror_model_1.Schema(exports.presets.paragraph); case 'comment': return new prosemirror_model_1.Schema(exports.presets.comment); default: throw new Error(`Schema '${useSchema}' is not defined.`); } } if ('spec' in useSchema) return useSchema; return new prosemirror_model_1.Schema(useSchema); } exports.getSchema = getSchema; //# sourceMappingURL=schemas.js.map