@supernova-studio/client 0.34.0 → 0.35.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supernova-studio/client",
3
- "version": "0.34.0",
3
+ "version": "0.35.0",
4
4
  "description": "Supernova Data Models",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -92,11 +92,9 @@ export function pageToProsemirrorDoc(
92
92
 
93
93
  export function blockToProsemirrorNode(
94
94
  block: PageBlockEditorModel,
95
- definitions: PageBlockDefinition[]
95
+ definition: PageBlockDefinition
96
96
  ): ProsemirrorNode | null {
97
- const definitionsMap = mapByUnique(definitions, d => d.id);
98
- const nodes = internalBlocksToProsemirrorNodes([block], definitionsMap);
99
- return nodes[0] ?? null;
97
+ return internalBlockToProsemirrorNode(block, definition);
100
98
  }
101
99
 
102
100
  //
@@ -73,10 +73,8 @@ export function prosemirrorDocToPage(
73
73
  };
74
74
  }
75
75
 
76
- export function prosemirrorNodeToBlock(prosemirrorNode: ProsemirrorNode, definitions: PageBlockDefinition[]) {
77
- const definitionsById = mapByUnique(definitions, d => d.id);
78
- const block = internalProsemirrorNodeToBlock(prosemirrorNode, definitionsById, 0);
79
- return block[0] ?? null;
76
+ export function shallowProsemirrorNodeToBlock(prosemirrorNode: ProsemirrorNode, definition: PageBlockDefinition) {
77
+ return shallowProsemirrorNodeAndDefinitionToBlock(prosemirrorNode, definition);
80
78
  }
81
79
 
82
80
  //
@@ -213,30 +211,34 @@ function prosemirrorNodeAndDefinitionToBlock(
213
211
  definitionsMap: Map<string, PageBlockDefinition>,
214
212
  depth: number
215
213
  ): PageBlockEditorModel[] {
216
- const richTextProperty = BlockDefinitionUtils.firstRichTextProperty(definition);
217
- if (richTextProperty) {
218
- const block = parseAsRichText(prosemirrorNode, definition, richTextProperty);
219
- return block ? [block] : [];
220
- }
221
-
222
214
  const multiRichTextProperty = BlockDefinitionUtils.firstMultiRichTextProperty(definition);
223
215
  if (multiRichTextProperty) {
224
216
  return parseAsMultiRichText(prosemirrorNode, definition, multiRichTextProperty, definitionsMap, depth);
225
217
  }
226
218
 
219
+ const block = shallowProsemirrorNodeAndDefinitionToBlock(prosemirrorNode, definition);
220
+ return block ? [block] : [];
221
+ }
222
+
223
+ function shallowProsemirrorNodeAndDefinitionToBlock(
224
+ prosemirrorNode: ProsemirrorNode,
225
+ definition: PageBlockDefinition
226
+ ): PageBlockEditorModel | null {
227
+ const richTextProperty = BlockDefinitionUtils.firstRichTextProperty(definition);
228
+ if (richTextProperty) {
229
+ return parseAsRichText(prosemirrorNode, definition, richTextProperty);
230
+ }
231
+
227
232
  const tableProperty = BlockDefinitionUtils.firstTableProperty(definition);
228
233
  if (tableProperty) {
229
- const block = parseAsTable(prosemirrorNode, definition, tableProperty);
230
- return block ? [block] : [];
234
+ return parseAsTable(prosemirrorNode, definition, tableProperty);
231
235
  }
232
236
 
233
237
  if (definition.id === "io.supernova.block.divider") {
234
- const block = parseAsDivider(prosemirrorNode, definition);
235
- return block ? [block] : [];
238
+ return parseAsDivider(prosemirrorNode, definition);
236
239
  }
237
240
 
238
- const block = parseAsCustomBlock(prosemirrorNode, definition);
239
- return block ? [block] : [];
241
+ return parseAsCustomBlock(prosemirrorNode, definition);
240
242
  }
241
243
 
242
244
  //