« get me outta code hell

withAnnotationPartNodeLists.js « content « things « composite « data « src - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/composite/things/content/withAnnotationPartNodeLists.js
blob: fc30459472818942e2f980d6f87f1b5c929b435d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import {input, templateCompositeFrom} from '#composite';

import {raiseOutputWithoutDependency} from '#composite/control-flow';
import {splitContentNodesAround, withContentNodes} from '#composite/wiki-data';

export default templateCompositeFrom({
  annotation: `withAnnotationPartNodeLists`,

  outputs: ['#annotationPartNodeLists'],

  steps: () => [
    raiseOutputWithoutDependency({
      dependency: 'annotation',
      output: input.value({'#annotationPartNodeLists': []}),
    }),

    withContentNodes({
      from: 'annotation',
    }),

    splitContentNodesAround({
      nodes: '#contentNodes',
      around: input.value(/, */g),
    }).outputs({
      '#contentNodeLists': '#annotationPartNodeLists',
    }),
  ],
});