source: node_modules/yaml/dist/nodes/identity.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.8 KB
Line 
1'use strict';
2
3const ALIAS = Symbol.for('yaml.alias');
4const DOC = Symbol.for('yaml.document');
5const MAP = Symbol.for('yaml.map');
6const PAIR = Symbol.for('yaml.pair');
7const SCALAR = Symbol.for('yaml.scalar');
8const SEQ = Symbol.for('yaml.seq');
9const NODE_TYPE = Symbol.for('yaml.node.type');
10const isAlias = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === ALIAS;
11const isDocument = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === DOC;
12const isMap = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === MAP;
13const isPair = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === PAIR;
14const isScalar = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SCALAR;
15const isSeq = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SEQ;
16function isCollection(node) {
17 if (node && typeof node === 'object')
18 switch (node[NODE_TYPE]) {
19 case MAP:
20 case SEQ:
21 return true;
22 }
23 return false;
24}
25function isNode(node) {
26 if (node && typeof node === 'object')
27 switch (node[NODE_TYPE]) {
28 case ALIAS:
29 case MAP:
30 case SCALAR:
31 case SEQ:
32 return true;
33 }
34 return false;
35}
36const hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor;
37
38exports.ALIAS = ALIAS;
39exports.DOC = DOC;
40exports.MAP = MAP;
41exports.NODE_TYPE = NODE_TYPE;
42exports.PAIR = PAIR;
43exports.SCALAR = SCALAR;
44exports.SEQ = SEQ;
45exports.hasAnchor = hasAnchor;
46exports.isAlias = isAlias;
47exports.isCollection = isCollection;
48exports.isDocument = isDocument;
49exports.isMap = isMap;
50exports.isNode = isNode;
51exports.isPair = isPair;
52exports.isScalar = isScalar;
53exports.isSeq = isSeq;
Note: See TracBrowser for help on using the repository browser.