MCPcopy Index your code
hub / github.com/SplootCode/splootcode / deserializeChildSet

Method deserializeChildSet

packages/core/src/language/node.ts:370–396  ·  view source on GitHub ↗
(childSetId: string, serializedNode: SerializedNode)

Source from the content-addressed store, hash-verified

368 }
369
370 deserializeChildSet(childSetId: string, serializedNode: SerializedNode) {
371 const childSet = this.getChildSet(childSetId)
372 if (!serializedNode.childSets) {
373 serializedNode.childSets = {}
374 }
375 if (childSetId in serializedNode.childSets && serializedNode.childSets[childSetId].length > 0) {
376 childSet.clearAll()
377 } else {
378 serializedNode.childSets[childSetId] = []
379 }
380 serializedNode.childSets[childSetId].forEach((serializedChildNode: SerializedNode) => {
381 const childNode = deserializeNode(serializedChildNode)
382 if (isNodeInCategory(childNode.type, childSet.nodeCategory)) {
383 childSet.addChild(childNode)
384 } else {
385 const adaptedNode = adaptNodeToPasteDestination(childNode, childSet.nodeCategory)
386 if (adaptedNode) {
387 childSet.addChild(adaptedNode)
388 } else {
389 throw new DeserializationError(
390 childNode.type,
391 `Node type is incompatible with childset category ${childSet.nodeCategory}`
392 )
393 }
394 }
395 })
396 }
397
398 clone(): SplootNode {
399 // lol

Callers 15

deserializerMethod · 0.80
deserializerMethod · 0.80
deserializerMethod · 0.80
deserializerMethod · 0.80
deserializerMethod · 0.80
deserializerMethod · 0.80
deserializerMethod · 0.80
deserializerMethod · 0.80
deserializerMethod · 0.80
deserializerMethod · 0.80
deserializerMethod · 0.80
deserializerMethod · 0.80

Calls 6

getChildSetMethod · 0.95
deserializeNodeFunction · 0.90
isNodeInCategoryFunction · 0.90
clearAllMethod · 0.80
addChildMethod · 0.80

Tested by

no test coverage detected