UNPKG

44.6 kBJavaScriptView Raw
1import fs from 'fs';
2import path from 'path';
3
4function _extends() {
5 _extends = Object.assign || function (target) {
6 for (var i = 1; i < arguments.length; i++) {
7 var source = arguments[i];
8
9 for (var key in source) {
10 if (Object.prototype.hasOwnProperty.call(source, key)) {
11 target[key] = source[key];
12 }
13 }
14 }
15
16 return target;
17 };
18
19 return _extends.apply(this, arguments);
20}
21
22/* eslint-disable */
23// This file was automatically generated by `typescript.ts`.
24// Do not modify it by hand. Instead, modify the source `.schema.yaml` files
25// in the `schema` directory and run `npm run build:ts` to regenerate it.
26// Remove properties from an Object if their values is undefined
27const compact = o => Object.entries(o).reduce((compactedO, [k, v]) => v === undefined ? compactedO : _extends({}, compactedO, {
28 [k]: v
29}), {});
30/**
31 * Create a `Entity` node
32 * @param props Object containing Entity schema properties as key/value pairs
33 * @returns {Entity} Entity schema node
34 */
35
36
37const entity = (props = {}) => _extends({}, compact(props), {
38 type: 'Entity'
39});
40/**
41 * Create a `ArrayValidator` node
42 * @param props Object containing ArrayValidator schema properties as key/value pairs
43 * @returns {ArrayValidator} ArrayValidator schema node
44 */
45
46const arrayValidator = (props = {}) => _extends({}, compact(props), {
47 type: 'ArrayValidator'
48});
49/**
50 * Create a `BooleanValidator` node
51 * @param props Object containing BooleanValidator schema properties as key/value pairs
52 * @returns {BooleanValidator} BooleanValidator schema node
53 */
54
55const booleanValidator = (props = {}) => _extends({}, compact(props), {
56 type: 'BooleanValidator'
57});
58/**
59 * Create a `Cite` node
60 * @param props Object containing Cite schema properties as key/value pairs
61 * @returns {Cite} Cite schema node
62 */
63
64const cite = props => _extends({}, compact(props), {
65 type: 'Cite'
66});
67/**
68 * Create a `CiteGroup` node
69 * @param props Object containing CiteGroup schema properties as key/value pairs
70 * @returns {CiteGroup} CiteGroup schema node
71 */
72
73const citeGroup = props => _extends({}, compact(props), {
74 type: 'CiteGroup'
75});
76/**
77 * Create a `Code` node
78 * @param props Object containing Code schema properties as key/value pairs
79 * @returns {Code} Code schema node
80 */
81
82const code = props => _extends({}, compact(props), {
83 type: 'Code'
84});
85/**
86 * Create a `CodeBlock` node
87 * @param props Object containing CodeBlock schema properties as key/value pairs
88 * @returns {CodeBlock} CodeBlock schema node
89 */
90
91const codeBlock = props => _extends({}, compact(props), {
92 type: 'CodeBlock'
93});
94/**
95 * Create a `CodeChunk` node
96 * @param props Object containing CodeChunk schema properties as key/value pairs
97 * @returns {CodeChunk} CodeChunk schema node
98 */
99
100const codeChunk = props => _extends({}, compact(props), {
101 type: 'CodeChunk'
102});
103/**
104 * Create a `CodeFragment` node
105 * @param props Object containing CodeFragment schema properties as key/value pairs
106 * @returns {CodeFragment} CodeFragment schema node
107 */
108
109const codeFragment = props => _extends({}, compact(props), {
110 type: 'CodeFragment'
111});
112/**
113 * Create a `CodeExpression` node
114 * @param props Object containing CodeExpression schema properties as key/value pairs
115 * @returns {CodeExpression} CodeExpression schema node
116 */
117
118const codeExpression = props => _extends({}, compact(props), {
119 type: 'CodeExpression'
120});
121/**
122 * Create a `CodeError` node
123 * @param props Object containing CodeError schema properties as key/value pairs
124 * @returns {CodeError} CodeError schema node
125 */
126
127const codeError = props => _extends({}, compact(props), {
128 type: 'CodeError'
129});
130/**
131 * Create a `ConstantValidator` node
132 * @param props Object containing ConstantValidator schema properties as key/value pairs
133 * @returns {ConstantValidator} ConstantValidator schema node
134 */
135
136const constantValidator = (props = {}) => _extends({}, compact(props), {
137 type: 'ConstantValidator'
138});
139/**
140 * Create a `Date` node
141 * @param props Object containing Date schema properties as key/value pairs
142 * @returns {Date} Date schema node
143 */
144
145const date = props => _extends({}, compact(props), {
146 type: 'Date'
147});
148/**
149 * Create a `Mark` node
150 * @param props Object containing Mark schema properties as key/value pairs
151 * @returns {Mark} Mark schema node
152 */
153
154const mark = props => _extends({}, compact(props), {
155 type: 'Mark'
156});
157/**
158 * Create a `Delete` node
159 * @param props Object containing Delete schema properties as key/value pairs
160 * @returns {Delete} Delete schema node
161 */
162
163const del = props => _extends({}, compact(props), {
164 type: 'Delete'
165});
166/**
167 * Create a `Emphasis` node
168 * @param props Object containing Emphasis schema properties as key/value pairs
169 * @returns {Emphasis} Emphasis schema node
170 */
171
172const emphasis = props => _extends({}, compact(props), {
173 type: 'Emphasis'
174});
175/**
176 * Create a `Thing` node
177 * @param props Object containing Thing schema properties as key/value pairs
178 * @returns {Thing} Thing schema node
179 */
180
181const thing = (props = {}) => _extends({}, compact(props), {
182 type: 'Thing'
183});
184/**
185 * Create a `Brand` node
186 * @param props Object containing Brand schema properties as key/value pairs
187 * @returns {Brand} Brand schema node
188 */
189
190const brand = props => _extends({}, compact(props), {
191 type: 'Brand'
192});
193/**
194 * Create a `ContactPoint` node
195 * @param props Object containing ContactPoint schema properties as key/value pairs
196 * @returns {ContactPoint} ContactPoint schema node
197 */
198
199const contactPoint = (props = {}) => _extends({}, compact(props), {
200 type: 'ContactPoint'
201});
202/**
203 * Create a `CreativeWork` node
204 * @param props Object containing CreativeWork schema properties as key/value pairs
205 * @returns {CreativeWork} CreativeWork schema node
206 */
207
208const creativeWork = (props = {}) => _extends({}, compact(props), {
209 type: 'CreativeWork'
210});
211/**
212 * Create a `Article` node
213 * @param props Object containing Article schema properties as key/value pairs
214 * @returns {Article} Article schema node
215 */
216
217const article = (props = {}) => _extends({}, compact(props), {
218 type: 'Article'
219});
220/**
221 * Create a `Collection` node
222 * @param props Object containing Collection schema properties as key/value pairs
223 * @returns {Collection} Collection schema node
224 */
225
226const collection = props => _extends({}, compact(props), {
227 type: 'Collection'
228});
229/**
230 * Create a `Comment` node
231 * @param props Object containing Comment schema properties as key/value pairs
232 * @returns {Comment} Comment schema node
233 */
234
235const comment = (props = {}) => _extends({}, compact(props), {
236 type: 'Comment'
237});
238/**
239 * Create a `Datatable` node
240 * @param props Object containing Datatable schema properties as key/value pairs
241 * @returns {Datatable} Datatable schema node
242 */
243
244const datatable = props => _extends({}, compact(props), {
245 type: 'Datatable'
246});
247/**
248 * Create a `MediaObject` node
249 * @param props Object containing MediaObject schema properties as key/value pairs
250 * @returns {MediaObject} MediaObject schema node
251 */
252
253const mediaObject = props => _extends({}, compact(props), {
254 type: 'MediaObject'
255});
256/**
257 * Create a `AudioObject` node
258 * @param props Object containing AudioObject schema properties as key/value pairs
259 * @returns {AudioObject} AudioObject schema node
260 */
261
262const audioObject = props => _extends({}, compact(props), {
263 type: 'AudioObject'
264});
265/**
266 * Create a `DatatableColumn` node
267 * @param props Object containing DatatableColumn schema properties as key/value pairs
268 * @returns {DatatableColumn} DatatableColumn schema node
269 */
270
271const datatableColumn = props => _extends({}, compact(props), {
272 type: 'DatatableColumn'
273});
274/**
275 * Create a `DefinedTerm` node
276 * @param props Object containing DefinedTerm schema properties as key/value pairs
277 * @returns {DefinedTerm} DefinedTerm schema node
278 */
279
280const definedTerm = props => _extends({}, compact(props), {
281 type: 'DefinedTerm'
282});
283/**
284 * Create a `EnumValidator` node
285 * @param props Object containing EnumValidator schema properties as key/value pairs
286 * @returns {EnumValidator} EnumValidator schema node
287 */
288
289const enumValidator = (props = {}) => _extends({}, compact(props), {
290 type: 'EnumValidator'
291});
292/**
293 * Create a `Figure` node
294 * @param props Object containing Figure schema properties as key/value pairs
295 * @returns {Figure} Figure schema node
296 */
297
298const figure = (props = {}) => _extends({}, compact(props), {
299 type: 'Figure'
300});
301/**
302 * Create a `Function` node
303 * @param props Object containing Function schema properties as key/value pairs
304 * @returns {Function} Function schema node
305 */
306
307const function_ = (props = {}) => _extends({}, compact(props), {
308 type: 'Function'
309});
310/**
311 * Create a `Grant` node
312 * @param props Object containing Grant schema properties as key/value pairs
313 * @returns {Grant} Grant schema node
314 */
315
316const grant = (props = {}) => _extends({}, compact(props), {
317 type: 'Grant'
318});
319/**
320 * Create a `Heading` node
321 * @param props Object containing Heading schema properties as key/value pairs
322 * @returns {Heading} Heading schema node
323 */
324
325const heading = props => _extends({}, compact(props), {
326 type: 'Heading'
327});
328/**
329 * Create a `ImageObject` node
330 * @param props Object containing ImageObject schema properties as key/value pairs
331 * @returns {ImageObject} ImageObject schema node
332 */
333
334const imageObject = props => _extends({}, compact(props), {
335 type: 'ImageObject'
336});
337/**
338 * Create a `Include` node
339 * @param props Object containing Include schema properties as key/value pairs
340 * @returns {Include} Include schema node
341 */
342
343const include = props => _extends({}, compact(props), {
344 type: 'Include'
345});
346/**
347 * Create a `NumberValidator` node
348 * @param props Object containing NumberValidator schema properties as key/value pairs
349 * @returns {NumberValidator} NumberValidator schema node
350 */
351
352const numberValidator = (props = {}) => _extends({}, compact(props), {
353 type: 'NumberValidator'
354});
355/**
356 * Create a `IntegerValidator` node
357 * @param props Object containing IntegerValidator schema properties as key/value pairs
358 * @returns {IntegerValidator} IntegerValidator schema node
359 */
360
361const integerValidator = (props = {}) => _extends({}, compact(props), {
362 type: 'IntegerValidator'
363});
364/**
365 * Create a `Link` node
366 * @param props Object containing Link schema properties as key/value pairs
367 * @returns {Link} Link schema node
368 */
369
370const link = props => _extends({}, compact(props), {
371 type: 'Link'
372});
373/**
374 * Create a `List` node
375 * @param props Object containing List schema properties as key/value pairs
376 * @returns {List} List schema node
377 */
378
379const list = props => _extends({}, compact(props), {
380 type: 'List'
381});
382/**
383 * Create a `ListItem` node
384 * @param props Object containing ListItem schema properties as key/value pairs
385 * @returns {ListItem} ListItem schema node
386 */
387
388const listItem = (props = {}) => _extends({}, compact(props), {
389 type: 'ListItem'
390});
391/**
392 * Create a `Math` node
393 * @param props Object containing Math schema properties as key/value pairs
394 * @returns {Math} Math schema node
395 */
396
397const math = props => _extends({}, compact(props), {
398 type: 'Math'
399});
400/**
401 * Create a `MathBlock` node
402 * @param props Object containing MathBlock schema properties as key/value pairs
403 * @returns {MathBlock} MathBlock schema node
404 */
405
406const mathBlock = props => _extends({}, compact(props), {
407 type: 'MathBlock'
408});
409/**
410 * Create a `MathFragment` node
411 * @param props Object containing MathFragment schema properties as key/value pairs
412 * @returns {MathFragment} MathFragment schema node
413 */
414
415const mathFragment = props => _extends({}, compact(props), {
416 type: 'MathFragment'
417});
418/**
419 * Create a `MonetaryGrant` node
420 * @param props Object containing MonetaryGrant schema properties as key/value pairs
421 * @returns {MonetaryGrant} MonetaryGrant schema node
422 */
423
424const monetaryGrant = (props = {}) => _extends({}, compact(props), {
425 type: 'MonetaryGrant'
426});
427/**
428 * Create a `NontextualAnnotation` node
429 * @param props Object containing NontextualAnnotation schema properties as key/value pairs
430 * @returns {NontextualAnnotation} NontextualAnnotation schema node
431 */
432
433const nontextualAnnotation = props => _extends({}, compact(props), {
434 type: 'NontextualAnnotation'
435});
436/**
437 * Create a `Organization` node
438 * @param props Object containing Organization schema properties as key/value pairs
439 * @returns {Organization} Organization schema node
440 */
441
442const organization = (props = {}) => _extends({}, compact(props), {
443 type: 'Organization'
444});
445/**
446 * Create a `Paragraph` node
447 * @param props Object containing Paragraph schema properties as key/value pairs
448 * @returns {Paragraph} Paragraph schema node
449 */
450
451const paragraph = props => _extends({}, compact(props), {
452 type: 'Paragraph'
453});
454/**
455 * Create a `Variable` node
456 * @param props Object containing Variable schema properties as key/value pairs
457 * @returns {Variable} Variable schema node
458 */
459
460const variable = props => _extends({}, compact(props), {
461 type: 'Variable'
462});
463/**
464 * Create a `Parameter` node
465 * @param props Object containing Parameter schema properties as key/value pairs
466 * @returns {Parameter} Parameter schema node
467 */
468
469const parameter = props => _extends({}, compact(props), {
470 type: 'Parameter'
471});
472/**
473 * Create a `Periodical` node
474 * @param props Object containing Periodical schema properties as key/value pairs
475 * @returns {Periodical} Periodical schema node
476 */
477
478const periodical = (props = {}) => _extends({}, compact(props), {
479 type: 'Periodical'
480});
481/**
482 * Create a `Person` node
483 * @param props Object containing Person schema properties as key/value pairs
484 * @returns {Person} Person schema node
485 */
486
487const person = (props = {}) => _extends({}, compact(props), {
488 type: 'Person'
489});
490/**
491 * Create a `PostalAddress` node
492 * @param props Object containing PostalAddress schema properties as key/value pairs
493 * @returns {PostalAddress} PostalAddress schema node
494 */
495
496const postalAddress = (props = {}) => _extends({}, compact(props), {
497 type: 'PostalAddress'
498});
499/**
500 * Create a `Product` node
501 * @param props Object containing Product schema properties as key/value pairs
502 * @returns {Product} Product schema node
503 */
504
505const product = (props = {}) => _extends({}, compact(props), {
506 type: 'Product'
507});
508/**
509 * Create a `PropertyValue` node
510 * @param props Object containing PropertyValue schema properties as key/value pairs
511 * @returns {PropertyValue} PropertyValue schema node
512 */
513
514const propertyValue = props => _extends({}, compact(props), {
515 type: 'PropertyValue'
516});
517/**
518 * Create a `PublicationIssue` node
519 * @param props Object containing PublicationIssue schema properties as key/value pairs
520 * @returns {PublicationIssue} PublicationIssue schema node
521 */
522
523const publicationIssue = (props = {}) => _extends({}, compact(props), {
524 type: 'PublicationIssue'
525});
526/**
527 * Create a `PublicationVolume` node
528 * @param props Object containing PublicationVolume schema properties as key/value pairs
529 * @returns {PublicationVolume} PublicationVolume schema node
530 */
531
532const publicationVolume = (props = {}) => _extends({}, compact(props), {
533 type: 'PublicationVolume'
534});
535/**
536 * Create a `Quote` node
537 * @param props Object containing Quote schema properties as key/value pairs
538 * @returns {Quote} Quote schema node
539 */
540
541const quote = props => _extends({}, compact(props), {
542 type: 'Quote'
543});
544/**
545 * Create a `QuoteBlock` node
546 * @param props Object containing QuoteBlock schema properties as key/value pairs
547 * @returns {QuoteBlock} QuoteBlock schema node
548 */
549
550const quoteBlock = props => _extends({}, compact(props), {
551 type: 'QuoteBlock'
552});
553/**
554 * Create a `Review` node
555 * @param props Object containing Review schema properties as key/value pairs
556 * @returns {Review} Review schema node
557 */
558
559const review = (props = {}) => _extends({}, compact(props), {
560 type: 'Review'
561});
562/**
563 * Create a `SoftwareApplication` node
564 * @param props Object containing SoftwareApplication schema properties as key/value pairs
565 * @returns {SoftwareApplication} SoftwareApplication schema node
566 */
567
568const softwareApplication = (props = {}) => _extends({}, compact(props), {
569 type: 'SoftwareApplication'
570});
571/**
572 * Create a `SoftwareEnvironment` node
573 * @param props Object containing SoftwareEnvironment schema properties as key/value pairs
574 * @returns {SoftwareEnvironment} SoftwareEnvironment schema node
575 */
576
577const softwareEnvironment = props => _extends({}, compact(props), {
578 type: 'SoftwareEnvironment'
579});
580/**
581 * Create a `SoftwareSession` node
582 * @param props Object containing SoftwareSession schema properties as key/value pairs
583 * @returns {SoftwareSession} SoftwareSession schema node
584 */
585
586const softwareSession = (props = {}) => _extends({}, compact(props), {
587 type: 'SoftwareSession'
588});
589/**
590 * Create a `SoftwareSourceCode` node
591 * @param props Object containing SoftwareSourceCode schema properties as key/value pairs
592 * @returns {SoftwareSourceCode} SoftwareSourceCode schema node
593 */
594
595const softwareSourceCode = (props = {}) => _extends({}, compact(props), {
596 type: 'SoftwareSourceCode'
597});
598/**
599 * Create a `StringValidator` node
600 * @param props Object containing StringValidator schema properties as key/value pairs
601 * @returns {StringValidator} StringValidator schema node
602 */
603
604const stringValidator = (props = {}) => _extends({}, compact(props), {
605 type: 'StringValidator'
606});
607/**
608 * Create a `Strong` node
609 * @param props Object containing Strong schema properties as key/value pairs
610 * @returns {Strong} Strong schema node
611 */
612
613const strong = props => _extends({}, compact(props), {
614 type: 'Strong'
615});
616/**
617 * Create a `Subscript` node
618 * @param props Object containing Subscript schema properties as key/value pairs
619 * @returns {Subscript} Subscript schema node
620 */
621
622const subscript = props => _extends({}, compact(props), {
623 type: 'Subscript'
624});
625/**
626 * Create a `Superscript` node
627 * @param props Object containing Superscript schema properties as key/value pairs
628 * @returns {Superscript} Superscript schema node
629 */
630
631const superscript = props => _extends({}, compact(props), {
632 type: 'Superscript'
633});
634/**
635 * Create a `Table` node
636 * @param props Object containing Table schema properties as key/value pairs
637 * @returns {Table} Table schema node
638 */
639
640const table = props => _extends({}, compact(props), {
641 type: 'Table'
642});
643/**
644 * Create a `TableCell` node
645 * @param props Object containing TableCell schema properties as key/value pairs
646 * @returns {TableCell} TableCell schema node
647 */
648
649const tableCell = props => _extends({}, compact(props), {
650 type: 'TableCell'
651});
652/**
653 * Create a `TableRow` node
654 * @param props Object containing TableRow schema properties as key/value pairs
655 * @returns {TableRow} TableRow schema node
656 */
657
658const tableRow = props => _extends({}, compact(props), {
659 type: 'TableRow'
660});
661/**
662 * Create a `ThematicBreak` node
663 * @param props Object containing ThematicBreak schema properties as key/value pairs
664 * @returns {ThematicBreak} ThematicBreak schema node
665 */
666
667const thematicBreak = (props = {}) => _extends({}, compact(props), {
668 type: 'ThematicBreak'
669});
670/**
671 * Create a `TupleValidator` node
672 * @param props Object containing TupleValidator schema properties as key/value pairs
673 * @returns {TupleValidator} TupleValidator schema node
674 */
675
676const tupleValidator = (props = {}) => _extends({}, compact(props), {
677 type: 'TupleValidator'
678});
679/**
680 * Create a `VideoObject` node
681 * @param props Object containing VideoObject schema properties as key/value pairs
682 * @returns {VideoObject} VideoObject schema node
683 */
684
685const videoObject = props => _extends({}, compact(props), {
686 type: 'VideoObject'
687});
688/**
689 * Create a `VolumeMount` node
690 * @param props Object containing VolumeMount schema properties as key/value pairs
691 * @returns {VolumeMount} VolumeMount schema node
692 */
693
694const volumeMount = props => _extends({}, compact(props), {
695 type: 'VolumeMount'
696});
697const codeBlockTypes = {
698 CodeBlock: 'CodeBlock',
699 CodeChunk: 'CodeChunk'
700};
701const codeFragmentTypes = {
702 CodeFragment: 'CodeFragment',
703 CodeExpression: 'CodeExpression'
704};
705const codeTypes = {
706 Code: 'Code',
707 CodeBlock: 'CodeBlock',
708 CodeChunk: 'CodeChunk',
709 CodeExpression: 'CodeExpression',
710 CodeFragment: 'CodeFragment'
711};
712const contactPointTypes = {
713 ContactPoint: 'ContactPoint',
714 PostalAddress: 'PostalAddress'
715};
716const creativeWorkTypes = {
717 CreativeWork: 'CreativeWork',
718 Article: 'Article',
719 AudioObject: 'AudioObject',
720 Collection: 'Collection',
721 Comment: 'Comment',
722 Datatable: 'Datatable',
723 Figure: 'Figure',
724 ImageObject: 'ImageObject',
725 MediaObject: 'MediaObject',
726 Periodical: 'Periodical',
727 PublicationIssue: 'PublicationIssue',
728 PublicationVolume: 'PublicationVolume',
729 Review: 'Review',
730 SoftwareApplication: 'SoftwareApplication',
731 SoftwareSourceCode: 'SoftwareSourceCode',
732 Table: 'Table',
733 VideoObject: 'VideoObject'
734};
735const entityTypes = {
736 Entity: 'Entity',
737 ArrayValidator: 'ArrayValidator',
738 Article: 'Article',
739 AudioObject: 'AudioObject',
740 BooleanValidator: 'BooleanValidator',
741 Brand: 'Brand',
742 Cite: 'Cite',
743 CiteGroup: 'CiteGroup',
744 Code: 'Code',
745 CodeBlock: 'CodeBlock',
746 CodeChunk: 'CodeChunk',
747 CodeError: 'CodeError',
748 CodeExpression: 'CodeExpression',
749 CodeFragment: 'CodeFragment',
750 Collection: 'Collection',
751 Comment: 'Comment',
752 ConstantValidator: 'ConstantValidator',
753 ContactPoint: 'ContactPoint',
754 CreativeWork: 'CreativeWork',
755 Datatable: 'Datatable',
756 DatatableColumn: 'DatatableColumn',
757 Date: 'Date',
758 DefinedTerm: 'DefinedTerm',
759 Delete: 'Delete',
760 Emphasis: 'Emphasis',
761 EnumValidator: 'EnumValidator',
762 Figure: 'Figure',
763 Function: 'Function',
764 Grant: 'Grant',
765 Heading: 'Heading',
766 ImageObject: 'ImageObject',
767 Include: 'Include',
768 IntegerValidator: 'IntegerValidator',
769 Link: 'Link',
770 List: 'List',
771 ListItem: 'ListItem',
772 Mark: 'Mark',
773 Math: 'Math',
774 MathBlock: 'MathBlock',
775 MathFragment: 'MathFragment',
776 MediaObject: 'MediaObject',
777 MonetaryGrant: 'MonetaryGrant',
778 NontextualAnnotation: 'NontextualAnnotation',
779 NumberValidator: 'NumberValidator',
780 Organization: 'Organization',
781 Paragraph: 'Paragraph',
782 Parameter: 'Parameter',
783 Periodical: 'Periodical',
784 Person: 'Person',
785 PostalAddress: 'PostalAddress',
786 Product: 'Product',
787 PropertyValue: 'PropertyValue',
788 PublicationIssue: 'PublicationIssue',
789 PublicationVolume: 'PublicationVolume',
790 Quote: 'Quote',
791 QuoteBlock: 'QuoteBlock',
792 Review: 'Review',
793 SoftwareApplication: 'SoftwareApplication',
794 SoftwareEnvironment: 'SoftwareEnvironment',
795 SoftwareSession: 'SoftwareSession',
796 SoftwareSourceCode: 'SoftwareSourceCode',
797 StringValidator: 'StringValidator',
798 Strong: 'Strong',
799 Subscript: 'Subscript',
800 Superscript: 'Superscript',
801 Table: 'Table',
802 TableCell: 'TableCell',
803 TableRow: 'TableRow',
804 ThematicBreak: 'ThematicBreak',
805 Thing: 'Thing',
806 TupleValidator: 'TupleValidator',
807 Variable: 'Variable',
808 VideoObject: 'VideoObject',
809 VolumeMount: 'VolumeMount'
810};
811const grantTypes = {
812 Grant: 'Grant',
813 MonetaryGrant: 'MonetaryGrant'
814};
815const markTypes = {
816 Mark: 'Mark',
817 Delete: 'Delete',
818 Emphasis: 'Emphasis',
819 NontextualAnnotation: 'NontextualAnnotation',
820 Quote: 'Quote',
821 Strong: 'Strong',
822 Subscript: 'Subscript',
823 Superscript: 'Superscript'
824};
825const mathTypes = {
826 Math: 'Math',
827 MathBlock: 'MathBlock',
828 MathFragment: 'MathFragment'
829};
830const mediaObjectTypes = {
831 MediaObject: 'MediaObject',
832 AudioObject: 'AudioObject',
833 ImageObject: 'ImageObject',
834 VideoObject: 'VideoObject'
835};
836const numberValidatorTypes = {
837 NumberValidator: 'NumberValidator',
838 IntegerValidator: 'IntegerValidator'
839};
840const thingTypes = {
841 Thing: 'Thing',
842 Article: 'Article',
843 AudioObject: 'AudioObject',
844 Brand: 'Brand',
845 Collection: 'Collection',
846 Comment: 'Comment',
847 ContactPoint: 'ContactPoint',
848 CreativeWork: 'CreativeWork',
849 Datatable: 'Datatable',
850 DatatableColumn: 'DatatableColumn',
851 DefinedTerm: 'DefinedTerm',
852 Figure: 'Figure',
853 Grant: 'Grant',
854 ImageObject: 'ImageObject',
855 ListItem: 'ListItem',
856 MediaObject: 'MediaObject',
857 MonetaryGrant: 'MonetaryGrant',
858 Organization: 'Organization',
859 Periodical: 'Periodical',
860 Person: 'Person',
861 PostalAddress: 'PostalAddress',
862 Product: 'Product',
863 PropertyValue: 'PropertyValue',
864 PublicationIssue: 'PublicationIssue',
865 PublicationVolume: 'PublicationVolume',
866 Review: 'Review',
867 SoftwareApplication: 'SoftwareApplication',
868 SoftwareEnvironment: 'SoftwareEnvironment',
869 SoftwareSession: 'SoftwareSession',
870 SoftwareSourceCode: 'SoftwareSourceCode',
871 Table: 'Table',
872 VideoObject: 'VideoObject',
873 VolumeMount: 'VolumeMount'
874};
875const validatorTypes = {
876 ConstantValidator: 'ConstantValidator',
877 EnumValidator: 'EnumValidator',
878 BooleanValidator: 'BooleanValidator',
879 NumberValidator: 'NumberValidator',
880 IntegerValidator: 'IntegerValidator',
881 StringValidator: 'StringValidator',
882 ArrayValidator: 'ArrayValidator',
883 TupleValidator: 'TupleValidator'
884};
885const variableTypes = {
886 Variable: 'Variable',
887 Parameter: 'Parameter'
888};
889const blockContentTypes = {
890 CodeBlock: 'CodeBlock',
891 CodeChunk: 'CodeChunk',
892 Collection: 'Collection',
893 Figure: 'Figure',
894 Heading: 'Heading',
895 List: 'List',
896 ListItem: 'ListItem',
897 MathBlock: 'MathBlock',
898 Paragraph: 'Paragraph',
899 QuoteBlock: 'QuoteBlock',
900 Table: 'Table',
901 ThematicBreak: 'ThematicBreak'
902};
903const inlineContentTypes = {
904 CodeFragment: 'CodeFragment',
905 CodeExpression: 'CodeExpression',
906 Delete: 'Delete',
907 Emphasis: 'Emphasis',
908 ImageObject: 'ImageObject',
909 Link: 'Link',
910 MathFragment: 'MathFragment',
911 NontextualAnnotation: 'NontextualAnnotation',
912 Quote: 'Quote',
913 Strong: 'Strong',
914 Subscript: 'Subscript',
915 Superscript: 'Superscript',
916 Cite: 'Cite',
917 CiteGroup: 'CiteGroup'
918};
919
920/**
921 * Returns a function which returns true is the type is a member
922 * of the type map.
923 *
924 * @param {TypeMap} typeMap An object containing schema type values
925 */
926
927const typeIs = typeMap => type => Object.keys(typeMap).includes(type);
928/**
929 * Returns a type guard to determine whether a node belongs to a set
930 * of types.
931 * Returns a boolean value and narrows the TypeScript inferred type to
932 * the type.
933 *
934 * @template {TypeMap} T
935 * @param {T} typeMap
936 * @param {Node} node A Stencila schema node object
937 */
938
939const nodeIs = typeMap => node => {
940 return isEntity(node) ? typeIs(typeMap)(node.type) : false;
941};
942/**
943 * Returns a type guard to determine whether a node is of a particular type.
944 * Returns a boolean value and narrows the TypeScript inferred type to
945 * the type.
946 *
947 * @param type The type to test for
948 */
949// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
950
951const is = type => {
952 // eslint-disable-next-line @typescript-eslint/ban-ts-comment
953 // @ts-ignore
954 const typeMap = {
955 [type]: type
956 };
957 return nodeIs(typeMap);
958};
959/**
960 * A type guard to determine whether a node is of a specific type.
961 * Returns a boolean value and narrows the TypeScript inferred type to
962 * the type.
963 *
964 * e.g. `isA('Paragraph', node)`
965 *
966 * @param type The name of the type to test for
967 * @param node The node being tested
968 */
969
970const isA = (type, node) => {
971 return isEntity(node) && node.type === type;
972};
973const isInstanceOf = (typeMap, node) => {
974 return isEntity(node) && Object.keys(typeMap).includes(node.type);
975};
976/**
977 * Returns a type guard to determine whether a node is of a specific type.
978 * Returns a boolean value and narrows the TypeScript inferred type to
979 * the type.
980 *
981 * e.g. `article.content.filter(isType('Paragraph'))`
982 *
983 * @param type The type to test for
984 */
985
986const isType = type => node => {
987 return node !== undefined && isA(type, node);
988};
989/**
990 * Type guard to determine whether a node is a primitive type.
991 * Returns a boolean value and narrows the TypeScript inferred type.
992 *
993 * @param {Node} node The node to get the type for
994 * @returns {(node is null | boolean | number | string)} Returns true if node is one of `null`, `boolean`, `string`, or `number`
995 */
996
997const isPrimitive = node => {
998 const type = typeof node;
999 if (node === null) return true;
1000 if (type === 'boolean') return true;
1001 if (type === 'number') return true;
1002 if (type === 'string') return true;
1003 return false;
1004};
1005/**
1006 * Type guard to determine whether a node is an `Entity`
1007 *
1008 * @param {Node} node The node to get the type for
1009 * @returns {(node is Entity)} Returns true if node is an `Entity` or derived type
1010 */
1011
1012const isEntity = node => {
1013 if (node === null || node === undefined) return false;
1014 return Object.prototype.hasOwnProperty.call(node, 'type');
1015};
1016/**
1017 * Type guard to determine whether a node is both `InlineContent` and
1018 * and an `Entity`.
1019 *
1020 * @param {Node} node The node to get the type for
1021 * @returns {(node is InlineContent)}
1022 */
1023
1024const isInlineEntity = node => {
1025 return typeof node === 'object' && isEntity(node) ? typeIs(inlineContentTypes)(node.type) : false;
1026};
1027/**
1028 * Type guard to determine whether a node is `InlineContent`.
1029 *
1030 * @param {Node} node The node to get the type for
1031 * @returns {(node is InlineContent)}
1032 */
1033
1034const isInlineContent = node => {
1035 return isPrimitive(node) || isInlineEntity(node);
1036};
1037/**
1038 * Type guard to determine whether a node is `BlockContent`.
1039 *
1040 * @param {Node} node The node to get the type for
1041 * @returns {(node is BlockContent)}
1042 */
1043
1044const isBlockContent = nodeIs(blockContentTypes);
1045/**
1046 * Type guard to determine whether a node is a `CreativeWork`.
1047 *
1048 * @param {Node} node The node to get the type for
1049 * @returns {(node is CreativeWork)}
1050 */
1051
1052const isCreativeWork = nodeIs(creativeWorkTypes);
1053/**
1054 * Type guard to determine whether a node is a `Code`.
1055 *
1056 * @param {Node} node The node to get the type for
1057 * @returns {(node is Code)}
1058 */
1059
1060const isCode = nodeIs(codeTypes);
1061/**
1062 * Type guard to determine whether a node is an `Article`.
1063 *
1064 * @param {Node} node The node to get the type for
1065 * @returns {(node is Article)}
1066 */
1067
1068const isArticle = is('Article');
1069/**
1070 * Type guard to determine whether a node is an `Paragraph`.
1071 *
1072 * @param {Node} node The node to get the type for
1073 * @returns {(node is Paragraph)}
1074 */
1075
1076const isParagraph = is('Paragraph');
1077/**
1078 * Type guard to determine whether a node is an `ListItem`.
1079 *
1080 * @param {Node} node The node to get the type for
1081 * @returns {(node is ListItem)}
1082 */
1083
1084const isListItem = is('ListItem');
1085
1086var version = "0.47.2";
1087
1088/**
1089 * Get the version string (e.g "1.2.3") for this package
1090 */
1091
1092const version$1 = version;
1093/**
1094 * Get the major version string (e.g "1") for this package
1095 */
1096
1097const versionMajor = version$1.split('.')[0];
1098/**
1099 * Get the minor version string (e.g "1.2") for this package
1100 */
1101
1102const versionMinor = version$1.split('.').slice(0, 2).join('.');
1103
1104// between Stencila Schema type and property names
1105// and URLs
1106
1107let CONTEXT; // Maps between vocabulary terms (Stencila Schema types and
1108// property names) and their compact IRIs ('@id's) and vice-versa.
1109
1110const termToId = {};
1111const idToTerm = {}; // Initialize maps. Called once, lazily.
1112
1113function initMaps() {
1114 const context = jsonLdContext();
1115
1116 for (const [term, value] of Object.entries(context)) {
1117 if (typeof value === 'string' && !term.startsWith('@')) {
1118 termToId[term] = value;
1119 idToTerm[value] = term;
1120 } else if (typeof value === 'object') {
1121 const id = value['@id'];
1122 termToId[term] = id;
1123 idToTerm[id] = term;
1124 }
1125 }
1126}
1127/**
1128 * Get the URL of Stencila Schema's JSON-LD `@context` or
1129 * for a specific `stencila:` term e.g. `CodeChunk`, `outputs`.
1130 *
1131 * The `@context`'s URL needs to have a trailing slash because
1132 * it gets prefixed to all keys during JSON-LD expansion.
1133 * e.g. the term `CodeChunk` gets expanded to `http://schema.stenci.la/v0/jsonld/CodeChunk`
1134 * (which in gets redirected to `https://unpkg.com/@stencila/schema@0.32.1/dist/CodeChunk.jsonld`)
1135 *
1136 * @param term The Stencila term (type or property) to generate the
1137 * URL for. Defaults to empty string i.e. the context.
1138 */
1139
1140
1141function jsonLdUrl(term = '') {
1142 return `http://schema.stenci.la/v${versionMajor}/jsonld/${term}`;
1143}
1144/**
1145 * Get Stencila Schema's JSON-LD `@context` as an object.
1146 */
1147
1148function jsonLdContext() {
1149 if (CONTEXT === undefined) {
1150 const json = fs.readFileSync(path.join(__dirname, ...(__filename.endsWith('.ts') ? ['..', '..', 'public'] : []), 'stencila.jsonld'), 'utf8');
1151 CONTEXT = JSON.parse(json)['@context'];
1152 }
1153
1154 return CONTEXT;
1155}
1156/**
1157 * Get the URL for a term in the Stencila Schema's JSON-LD `@context`
1158 * from it's name.
1159 *
1160 * This uses the JSON-LD `@context` in `stencila.jsonld` (which
1161 * provides a mapping between vocabularies) to translate
1162 * type names used in the Stencila Schema
1163 * to those used in other schemas (e.g. Schema.org, Bioschemas).
1164 * The [compact IRIs](https://www.w3.org/TR/json-ld11/#compact-iris)
1165 * in the `@context` e.g. `schema:Person` are expanded to a URL
1166 * e.g. `http://schema.org/Person` suitable for the `itemtype` attribute.
1167 *
1168 * @param term A term in the JSON-LD `@context`. May, or may not be in
1169 * the `stencila` namespace
1170 */
1171
1172function jsonLdTermUrl(term) {
1173 if (Object.keys(termToId).length === 0) initMaps();
1174 const id = termToId[term];
1175 if (id === undefined) return undefined;
1176 const [prefix, name] = id.split(':');
1177 const context = jsonLdContext();
1178 const base = context[prefix];
1179 if (base === undefined) return undefined;
1180 return `${base}${name}`;
1181}
1182/**
1183 * Get the name of a term in the Stencila Schema's JSON-LD `@context`
1184 * from a URL.
1185 *
1186 * This is the inverse of `jsonLdTermUrl`.
1187 *
1188 * @param url A url to resolve into a term
1189 */
1190
1191function jsonLdTermName(url) {
1192 if (Object.keys(idToTerm).length === 0) initMaps(); // Parse the url into a base URL / term pair
1193
1194 const {
1195 hash,
1196 pathname
1197 } = new URL(url);
1198 const term = hash !== '' ? hash.slice(1) : pathname.split('/').pop();
1199 const baseUrl = url.replace(new RegExp(`${term}$`), ''); // Resolve the URL into a prefix
1200
1201 const prefix = idToTerm[baseUrl];
1202 if (prefix === undefined) return undefined; // Resolve the `@id` to the term name
1203
1204 return idToTerm[`${prefix}:${term}`];
1205}
1206
1207let SCHEMAS = {}; // Lazily populated set properties across all schemas
1208
1209let PROPERTIES = {};
1210/**
1211 * Get all Stencila Schema's JSON Schemas.
1212 */
1213
1214async function jsonSchemas() {
1215 if (Object.keys(SCHEMAS).length === 0) {
1216 const dir = path.join(__dirname, ...(__filename.endsWith('.ts') ? ['..', '..', 'public'] : []));
1217 const files = await new Promise((resolve, reject) => fs.readdir(dir, 'utf8', (error, files) => error !== null ? reject(error) : resolve(files)));
1218 const schemaFiles = files.filter(filename => filename.endsWith('.schema.json'));
1219 const promises = schemaFiles.map(async file => {
1220 const json = await new Promise((resolve, reject) => fs.readFile(path.join(dir, file), 'utf8', (error, content) => error !== null ? reject(error) : resolve(content)));
1221 return JSON.parse(json);
1222 });
1223 const schemas = await Promise.all(promises);
1224 SCHEMAS = schemas.reduce((prev, schema) => {
1225 const {
1226 title
1227 } = schema;
1228 return title === undefined ? prev : _extends({}, prev, {
1229 [title]: schema
1230 });
1231 }, {});
1232 }
1233
1234 return SCHEMAS;
1235}
1236/**
1237 * Get all the names of all types in the Stencila Schema.
1238 */
1239
1240async function jsonSchemaTypes() {
1241 const schemas = await jsonSchemas();
1242 return Object.keys(schemas);
1243}
1244/**
1245 * Get all the properties in all types in the Stencila Schema.
1246 *
1247 * Returns a alphabetically sorted `Record` with information on
1248 * each property, including the types that it occurs on,
1249 * and whether or not it is an array property.
1250 */
1251
1252async function jsonSchemaProperties() {
1253 if (Object.keys(PROPERTIES).length === 0) {
1254 const schemas = await jsonSchemas(); // Accumulate properties across types
1255
1256 const props = Object.values(schemas).reduce((prev, type) => {
1257 const {
1258 title = '',
1259 properties = {}
1260 } = type;
1261 Object.entries(properties).forEach(([name, prop]) => {
1262 const {
1263 '@id': id = '',
1264 isArray = false,
1265 isPlural = false
1266 } = prop;
1267 const existing = prev[name];
1268
1269 if (existing === undefined) {
1270 prev[name] = {
1271 name,
1272 id,
1273 domainIncludes: [title],
1274 isArray,
1275 isPlural
1276 };
1277 } else {
1278 // Check that there is consistency in the property
1279 // Most of these checks are done in `../schema.ts` when the
1280 // JSON Schema files are generated. These checks may be moved
1281 // to elsewhere.
1282 const message = `${title}.${name} differs to that on ${existing.domainIncludes}`;
1283 if (id !== existing.id) throw new Error(`${message}: @id ${id}`);
1284 if (isArray !== existing.isArray) throw new Error(`${message}: isArray ${isArray}`);
1285 if (isPlural !== existing.isPlural) throw new Error(`${message}: isPlural ${isPlural}`); // Add the type...
1286
1287 existing.domainIncludes.push(title);
1288 }
1289 });
1290 return prev;
1291 }, {}); // Sort by key
1292
1293 PROPERTIES = Object.keys(props).sort().reduce((prev, key) => _extends({}, prev, {
1294 [key]: props[key]
1295 }), {});
1296 }
1297
1298 return PROPERTIES;
1299}
1300
1301/**
1302 * Get the type of a node
1303 *
1304 * @param {Node} node The schema node to get the type for
1305 */
1306
1307const nodeType = node => {
1308 if (node === null) return 'Null';
1309 if (typeof node === 'boolean') return 'Boolean';
1310 if (typeof node === 'number') return 'Number';
1311 if (typeof node === 'string') return 'Text';
1312 if (Array.isArray(node)) return 'Array';
1313 if (isEntity(node)) return node.type;
1314 return 'Object';
1315};
1316
1317/**
1318 * Get the URL used in Microdata attributes.
1319 *
1320 * This is used to normalize the versioned URL from the
1321 * JSON-LD context.
1322 */
1323
1324function microdataUrl(type = '') {
1325 return `http://schema.stenci.la/${type}`;
1326}
1327/**
1328 * Create `MicrodataItem` attributes for a node.
1329 *
1330 * Does not create the `itemscope` and `itemtype` attributes for nodes that
1331 * are primitive (and therefore which do not represent a "scope" having
1332 * `itemprop`s nested within it). Instead, for primitive nodes, other than `Text`
1333 * add the `data-itemtype` attribute, do they can be styled if so desired.
1334 *
1335 * @param node The node to create Microdata attributes for
1336 * @param id Id of the Microdata item. Used to link to this node using the `itemref` property.
1337 */
1338
1339function microdataItem(node, id) {
1340 const itemtype = microdataItemtype(nodeType(node));
1341 const itemidAttr = id !== undefined ? {
1342 itemid: `#${id}`
1343 } : {};
1344 if (itemtype !== undefined && !isPrimitive(node)) return _extends({
1345 itemscope: '',
1346 itemtype
1347 }, itemidAttr);else if (typeof node !== 'string') return _extends({
1348 'data-itemtype': itemtype
1349 }, itemidAttr);else return itemidAttr;
1350}
1351/**
1352 * Get the HTML Microdata `itemtype` for a Stencila Schema type
1353 *
1354 * @see {@link https://www.w3.org/TR/microdata/#dfn-itemtype}
1355 */
1356
1357function microdataItemtype(type) {
1358 var _jsonLdTermUrl;
1359
1360 return (_jsonLdTermUrl = jsonLdTermUrl(type)) == null ? void 0 : _jsonLdTermUrl.replace(jsonLdUrl(), microdataUrl());
1361}
1362/**
1363 * Get the Stencila Schema type from a HTML Microdata `itemtype`.
1364 *
1365 * This is the inverse of `microdataItemtype`.
1366 */
1367
1368function microdataType(itemtype) {
1369 return jsonLdTermName(itemtype.replace(microdataUrl(), jsonLdUrl()));
1370}
1371/**
1372 * Create `MicrodataProperty` attributes for a node property.
1373 *
1374 * @param property The name of the property
1375 * @param isItem Is the node for which attributes are being generated
1376 * an item within an array property? e.g. a `Person` in `authors`.
1377 * @param id Id of another Microdata item to link to using the `itemref` property.
1378 */
1379
1380function microdataProperty(property, role, id) {
1381 const [prefix, name = ''] = microdataItemprop(property, role);
1382 const key = prefix === 'schema' ? 'itemprop' : 'data-itemprop';
1383 const itemrefAttr = id !== undefined ? {
1384 itemref: id
1385 } : {};
1386 return _extends({
1387 [key]: name
1388 }, itemrefAttr);
1389}
1390/**
1391 * Get the HTML Microdata `itemprop` for a Stencila Schema property.
1392 *
1393 * The `itemprop` attribute is normally just the name of the property
1394 * i.e. it is not prefixed by a base URL. This function returns the
1395 * `[prefix, name]` pair e.g. `["schema", "author"]`,
1396 * `["codemeta", "maintainer"]` because you may only want to encode
1397 * `itemprop`s for well known schemas e.g. schema.org
1398 *
1399 * @see {@link https://www.w3.org/TR/microdata/#dfn-attr-itemprop}
1400 *
1401 * @param property The name of the property
1402 * @param role Is the node for which attributes are being generated
1403 * an item within an array property? e.g. a `Person` in `authors`.
1404 */
1405
1406function microdataItemprop(property, role) {
1407 if (role === 'array') return ['stencila', property];
1408 const context = jsonLdContext();
1409 const mapping = context[property];
1410 if (mapping === undefined) return [undefined, undefined];
1411 if (typeof mapping === 'string') return [undefined, mapping];
1412 const id = mapping['@id'];
1413 let [prefix, name] = id.split(':'); // If this is an item in an array property and the
1414 // name is a plural, then return a singular name.
1415 // For external vocabs the `@id` is usually a singular already e.g.
1416 // schema:author
1417 // codemeta:maintainer
1418
1419 if (role === 'item' && prefix === 'stencila' && name.endsWith('s')) name = name.slice(0, -1);
1420 return [prefix, name];
1421}
1422/**
1423 * Create all Microdata attributes for a Stencila `Node`.
1424 *
1425 * @param node The node e.g. a `Person` node
1426 * @param property The name of the property that this node is part of e.g `authors`
1427 * @param role Is this an item within an array property e.g a `Person` within `authors`
1428 * @param id The id used to link to / from this Microdata item
1429 */
1430
1431function microdata(node, property, role, id) {
1432 return _extends({}, role !== 'array' ? microdataItem(node, property === undefined ? id : undefined) : {}, property !== undefined ? microdataProperty(property, role, id) : {});
1433}
1434/**
1435 * Get the 'pseudo' HTML Microdata attribute for the root element.
1436 *
1437 * This attribute name / value pair is used to scope CSS variables to
1438 * the root Stencila node in an HML document. It is used by Encoda when
1439 * encoding to HTML, it is in Thema to scope CSS variable thereby
1440 * avoiding variable name clashes from using the CSS `:root` pseudo-class.
1441 *
1442 * Although not directly related to Microdata, given it is used in both
1443 * of those projects, this appears to be the best place for it.
1444 */
1445
1446function microdataRoot() {
1447 return {
1448 'data-itemscope': 'root'
1449 };
1450}
1451
1452export { arrayValidator, article, audioObject, blockContentTypes, booleanValidator, brand, cite, citeGroup, code, codeBlock, codeBlockTypes, codeChunk, codeError, codeExpression, codeFragment, codeFragmentTypes, codeTypes, collection, comment, constantValidator, contactPoint, contactPointTypes, creativeWork, creativeWorkTypes, datatable, datatableColumn, date, definedTerm, del, emphasis, entity, entityTypes, enumValidator, figure, function_, grant, grantTypes, heading, imageObject, include, inlineContentTypes, integerValidator, is, isA, isArticle, isBlockContent, isCode, isCreativeWork, isEntity, isInlineContent, isInlineEntity, isInstanceOf, isListItem, isParagraph, isPrimitive, isType, jsonLdContext, jsonLdTermName, jsonLdTermUrl, jsonLdUrl, jsonSchemaProperties, jsonSchemaTypes, jsonSchemas, link, list, listItem, mark, markTypes, math, mathBlock, mathFragment, mathTypes, mediaObject, mediaObjectTypes, microdata, microdataItem, microdataItemprop, microdataItemtype, microdataProperty, microdataRoot, microdataType, microdataUrl, monetaryGrant, nodeIs, nodeType, nontextualAnnotation, numberValidator, numberValidatorTypes, organization, paragraph, parameter, periodical, person, postalAddress, product, propertyValue, publicationIssue, publicationVolume, quote, quoteBlock, review, softwareApplication, softwareEnvironment, softwareSession, softwareSourceCode, stringValidator, strong, subscript, superscript, table, tableCell, tableRow, thematicBreak, thing, thingTypes, tupleValidator, typeIs, validatorTypes, variable, variableTypes, version$1 as version, versionMajor, versionMinor, videoObject, volumeMount };
1453//# sourceMappingURL=index.mjs.map