[d24f17c] | 1 | 'use strict';
|
---|
| 2 |
|
---|
| 3 | const ALIAS = Symbol.for('yaml.alias');
|
---|
| 4 | const DOC = Symbol.for('yaml.document');
|
---|
| 5 | const MAP = Symbol.for('yaml.map');
|
---|
| 6 | const PAIR = Symbol.for('yaml.pair');
|
---|
| 7 | const SCALAR = Symbol.for('yaml.scalar');
|
---|
| 8 | const SEQ = Symbol.for('yaml.seq');
|
---|
| 9 | const NODE_TYPE = Symbol.for('yaml.node.type');
|
---|
| 10 | const isAlias = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === ALIAS;
|
---|
| 11 | const isDocument = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === DOC;
|
---|
| 12 | const isMap = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === MAP;
|
---|
| 13 | const isPair = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === PAIR;
|
---|
| 14 | const isScalar = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SCALAR;
|
---|
| 15 | const isSeq = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SEQ;
|
---|
| 16 | function 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 | }
|
---|
| 25 | function 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 | }
|
---|
| 36 | const hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor;
|
---|
| 37 |
|
---|
| 38 | exports.ALIAS = ALIAS;
|
---|
| 39 | exports.DOC = DOC;
|
---|
| 40 | exports.MAP = MAP;
|
---|
| 41 | exports.NODE_TYPE = NODE_TYPE;
|
---|
| 42 | exports.PAIR = PAIR;
|
---|
| 43 | exports.SCALAR = SCALAR;
|
---|
| 44 | exports.SEQ = SEQ;
|
---|
| 45 | exports.hasAnchor = hasAnchor;
|
---|
| 46 | exports.isAlias = isAlias;
|
---|
| 47 | exports.isCollection = isCollection;
|
---|
| 48 | exports.isDocument = isDocument;
|
---|
| 49 | exports.isMap = isMap;
|
---|
| 50 | exports.isNode = isNode;
|
---|
| 51 | exports.isPair = isPair;
|
---|
| 52 | exports.isScalar = isScalar;
|
---|
| 53 | exports.isSeq = isSeq;
|
---|