UNPKG

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