| 12345678910111213141516171819202122232425262728293031323334 |
- import { createNode } from '../../doc/createNode.js';
- import { isSeq } from '../../nodes/Node.js';
- import { YAMLSeq } from '../../nodes/YAMLSeq.js';
- function createSeq(schema, obj, ctx) {
- const { replacer } = ctx;
- const seq = new YAMLSeq(schema);
- if (obj && Symbol.iterator in Object(obj)) {
- let i = 0;
- for (let it of obj) {
- if (typeof replacer === 'function') {
- const key = obj instanceof Set ? it : String(i++);
- it = replacer.call(obj, key, it);
- }
- seq.items.push(createNode(it, undefined, ctx));
- }
- }
- return seq;
- }
- const seq = {
- collection: 'seq',
- createNode: createSeq,
- default: true,
- nodeClass: YAMLSeq,
- tag: 'tag:yaml.org,2002:seq',
- resolve(seq, onError) {
- if (!isSeq(seq))
- onError('Expected a sequence for this tag');
- return seq;
- }
- };
- export { seq };
|