Swap-Aggregator-Subgraph/node_modules/yaml/dist/cst/Directive.js
2022-07-03 07:27:35 +05:30

59 lines
1.2 KiB
JavaScript

"use strict";
exports.Directive = void 0;
var _constants = require("../constants");
var _Node = require("./Node");
var _Range = require("./Range");
class Directive extends _Node.Node {
constructor() {
super(_constants.Type.DIRECTIVE);
this.name = null;
}
get parameters() {
const raw = this.rawValue;
return raw ? raw.trim().split(/[ \t]+/) : [];
}
parseName(start) {
const {
src
} = this.context;
let offset = start;
let ch = src[offset];
while (ch && ch !== '\n' && ch !== '\t' && ch !== ' ') ch = src[offset += 1];
this.name = src.slice(start, offset);
return offset;
}
parseParameters(start) {
const {
src
} = this.context;
let offset = start;
let ch = src[offset];
while (ch && ch !== '\n' && ch !== '#') ch = src[offset += 1];
this.valueRange = new _Range.Range(start, offset);
return offset;
}
parse(context, start) {
this.context = context;
let offset = this.parseName(start + 1);
offset = this.parseParameters(offset);
offset = this.parseComment(offset);
this.range = new _Range.Range(start, offset);
return offset;
}
}
exports.Directive = Directive;