@tozd/prosemirror 0.1.0 → 0.2.0

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/dist/index.d.ts CHANGED
@@ -15,6 +15,10 @@ export interface ParseRuleJSON {
15
15
  style?: string;
16
16
  namespace?: string;
17
17
  context?: string;
18
+ consuming?: boolean;
19
+ ignore?: boolean;
20
+ skip?: boolean;
21
+ closeParent?: boolean;
18
22
  priority?: number;
19
23
  preserveWhitespace?: boolean | "full";
20
24
  attrs?: Record<string, unknown>;
@@ -57,7 +61,10 @@ export declare function buildAttrs(attrsJSON: Record<string, AttributeSpecJSON>)
57
61
  }>;
58
62
  export declare function translateNodeSpec(json: NodeSpecJSON, validators: Record<string, Validator>): NodeSpec;
59
63
  export declare function translateMarkSpec(json: MarkSpecJSON, validators: Record<string, Validator>): MarkSpec;
60
- export declare function buildSchema(spec: SchemaJSON, validators?: Record<string, Validator>): Schema;
64
+ export interface SchemaCallbacks {
65
+ validators?: Record<string, Validator>;
66
+ }
67
+ export declare function buildSchema(spec: SchemaJSON, callbacks?: SchemaCallbacks): Schema;
61
68
  export declare function escapeHTML(text: string): string;
62
69
  export declare function serializeDOM(node: Node): string;
63
70
  export declare function htmlToDoc(schema: Schema, html: string, options?: ParseOptions, domDocument?: Document): PMNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,11 +18,16 @@ import { DOMParser, DOMSerializer, Schema } from "prosemirror-model";
18
18
  // configured: on failure, onInvalid "rejectRule" (the default) rejects the rule and "drop" replaces the value with the default.
19
19
  export function buildParseRule(ruleJSON, attrSpecs, validators) {
20
20
  // Style rules produce marks and match an inline CSS declaration; their attrs are always constants (the declarative dialect does not extract from the
21
- // style value). Tag rules match a CSS selector, optionally restricted by namespace, and may extract attributes from the element.
21
+ // style value). Both consuming and ignore are honored for style rules (skip and closeParent are tag-rule behaviors). Tag rules match a CSS selector,
22
+ // optionally restricted by namespace, and may extract attributes from the element.
22
23
  if (ruleJSON.style !== undefined) {
23
24
  const rule = { style: ruleJSON.style };
24
25
  if (ruleJSON.context !== undefined)
25
26
  rule.context = ruleJSON.context;
27
+ if (ruleJSON.consuming !== undefined)
28
+ rule.consuming = ruleJSON.consuming;
29
+ if (ruleJSON.ignore !== undefined)
30
+ rule.ignore = ruleJSON.ignore;
26
31
  if (ruleJSON.priority !== undefined)
27
32
  rule.priority = ruleJSON.priority;
28
33
  if (ruleJSON.attrs !== undefined)
@@ -34,6 +39,14 @@ export function buildParseRule(ruleJSON, attrSpecs, validators) {
34
39
  rule.namespace = ruleJSON.namespace;
35
40
  if (ruleJSON.context !== undefined)
36
41
  rule.context = ruleJSON.context;
42
+ if (ruleJSON.consuming !== undefined)
43
+ rule.consuming = ruleJSON.consuming;
44
+ if (ruleJSON.ignore !== undefined)
45
+ rule.ignore = ruleJSON.ignore;
46
+ if (ruleJSON.skip !== undefined)
47
+ rule.skip = ruleJSON.skip;
48
+ if (ruleJSON.closeParent !== undefined)
49
+ rule.closeParent = ruleJSON.closeParent;
37
50
  if (ruleJSON.priority !== undefined)
38
51
  rule.priority = ruleJSON.priority;
39
52
  if (ruleJSON.preserveWhitespace !== undefined)
@@ -174,12 +187,13 @@ export function translateMarkSpec(json, validators) {
174
187
  }
175
188
  return spec;
176
189
  }
177
- // Builds a prosemirror-model Schema from a parsed schema JSON object. The validators registry resolves the validate names referenced by attribute specs;
178
- // it defaults to empty, so a schema that references a validator must supply it (an unknown validator throws during HTML parsing).
190
+ // Builds a prosemirror-model Schema from a parsed schema JSON object, with the named function hooks the schema references supplied in callbacks. The validators
191
+ // default to empty, so a schema that references a validator must supply it (an unknown validator throws during HTML parsing).
179
192
  //
180
193
  // JSON.parse preserves the declaration order of (non-numeric) object keys, which determines mark rank, parse rule precedence, and group expansion order,
181
194
  // matching the strict decoding on the Go side; pass the object from JSON.parse to preserve that order.
182
- export function buildSchema(spec, validators = {}) {
195
+ export function buildSchema(spec, callbacks = {}) {
196
+ const validators = callbacks.validators ?? {};
183
197
  const nodes = {};
184
198
  for (const [name, nodeSpec] of Object.entries(spec.nodes)) {
185
199
  nodes[name] = translateNodeSpec(nodeSpec, validators);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tozd/prosemirror",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "ProseMirror frontend utilities for Go port of ProseMirror.",
6
6
  "license": "Apache-2.0",
package/src/index.ts CHANGED
@@ -35,6 +35,10 @@ export interface ParseRuleJSON {
35
35
  style?: string
36
36
  namespace?: string
37
37
  context?: string
38
+ consuming?: boolean
39
+ ignore?: boolean
40
+ skip?: boolean
41
+ closeParent?: boolean
38
42
  priority?: number
39
43
  preserveWhitespace?: boolean | "full"
40
44
  attrs?: Record<string, unknown>
@@ -83,10 +87,13 @@ export type Validator = (value: unknown) => boolean
83
87
  // configured: on failure, onInvalid "rejectRule" (the default) rejects the rule and "drop" replaces the value with the default.
84
88
  export function buildParseRule(ruleJSON: ParseRuleJSON, attrSpecs: Record<string, AttributeSpecJSON> | undefined, validators: Record<string, Validator>): ParseRule {
85
89
  // Style rules produce marks and match an inline CSS declaration; their attrs are always constants (the declarative dialect does not extract from the
86
- // style value). Tag rules match a CSS selector, optionally restricted by namespace, and may extract attributes from the element.
90
+ // style value). Both consuming and ignore are honored for style rules (skip and closeParent are tag-rule behaviors). Tag rules match a CSS selector,
91
+ // optionally restricted by namespace, and may extract attributes from the element.
87
92
  if (ruleJSON.style !== undefined) {
88
93
  const rule: StyleParseRule = { style: ruleJSON.style }
89
94
  if (ruleJSON.context !== undefined) rule.context = ruleJSON.context
95
+ if (ruleJSON.consuming !== undefined) rule.consuming = ruleJSON.consuming
96
+ if (ruleJSON.ignore !== undefined) rule.ignore = ruleJSON.ignore
90
97
  if (ruleJSON.priority !== undefined) rule.priority = ruleJSON.priority
91
98
  if (ruleJSON.attrs !== undefined) rule.attrs = ruleJSON.attrs
92
99
  return rule
@@ -94,6 +101,10 @@ export function buildParseRule(ruleJSON: ParseRuleJSON, attrSpecs: Record<string
94
101
  const rule: TagParseRule = { tag: ruleJSON.tag! }
95
102
  if (ruleJSON.namespace !== undefined) rule.namespace = ruleJSON.namespace
96
103
  if (ruleJSON.context !== undefined) rule.context = ruleJSON.context
104
+ if (ruleJSON.consuming !== undefined) rule.consuming = ruleJSON.consuming
105
+ if (ruleJSON.ignore !== undefined) rule.ignore = ruleJSON.ignore
106
+ if (ruleJSON.skip !== undefined) rule.skip = ruleJSON.skip
107
+ if (ruleJSON.closeParent !== undefined) rule.closeParent = ruleJSON.closeParent
97
108
  if (ruleJSON.priority !== undefined) rule.priority = ruleJSON.priority
98
109
  if (ruleJSON.preserveWhitespace !== undefined) rule.preserveWhitespace = ruleJSON.preserveWhitespace
99
110
  if (ruleJSON.attrs !== undefined) {
@@ -216,12 +227,20 @@ export function translateMarkSpec(json: MarkSpecJSON, validators: Record<string,
216
227
  return spec
217
228
  }
218
229
 
219
- // Builds a prosemirror-model Schema from a parsed schema JSON object. The validators registry resolves the validate names referenced by attribute specs;
220
- // it defaults to empty, so a schema that references a validator must supply it (an unknown validator throws during HTML parsing).
230
+ // SchemaCallbacks bundles the function hooks supplied to NewSchema. It contains schema callbacks since functions cannot live in the shared JSON.
231
+ export interface SchemaCallbacks {
232
+ // validators registers named attribute validators which attribute specs reference by their validate field. A name the schema references that is absent here, and
233
+ // is not a built-in type, throws during HTML parsing.
234
+ validators?: Record<string, Validator>
235
+ }
236
+
237
+ // Builds a prosemirror-model Schema from a parsed schema JSON object, with the named function hooks the schema references supplied in callbacks. The validators
238
+ // default to empty, so a schema that references a validator must supply it (an unknown validator throws during HTML parsing).
221
239
  //
222
240
  // JSON.parse preserves the declaration order of (non-numeric) object keys, which determines mark rank, parse rule precedence, and group expansion order,
223
241
  // matching the strict decoding on the Go side; pass the object from JSON.parse to preserve that order.
224
- export function buildSchema(spec: SchemaJSON, validators: Record<string, Validator> = {}): Schema {
242
+ export function buildSchema(spec: SchemaJSON, callbacks: SchemaCallbacks = {}): Schema {
243
+ const validators = callbacks.validators ?? {}
225
244
  const nodes: Record<string, NodeSpec> = {}
226
245
  for (const [name, nodeSpec] of Object.entries(spec.nodes)) {
227
246
  nodes[name] = translateNodeSpec(nodeSpec, validators)