mirror of
https://github.com/Instadapp/Swap-Aggregator-Subgraph.git
synced 2024-07-29 21:57:12 +00:00
194 lines
6.6 KiB
JavaScript
194 lines
6.6 KiB
JavaScript
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
import _typeof from "@babel/runtime/helpers/typeof";
|
|
|
|
function _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
|
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
|
|
|
// Published as 'yaml/pair'
|
|
import { addComment } from '../addComment';
|
|
import { Type } from '../constants';
|
|
import { toJSON } from '../toJSON';
|
|
import { Collection } from './Collection';
|
|
import { Node } from './Node';
|
|
import { Scalar } from './Scalar';
|
|
import { YAMLSeq } from './Seq';
|
|
|
|
var stringifyKey = function stringifyKey(key, jsKey, ctx) {
|
|
if (jsKey === null) return '';
|
|
if (_typeof(jsKey) !== 'object') return String(jsKey);
|
|
if (key instanceof Node && ctx && ctx.doc) return key.toString({
|
|
anchors: {},
|
|
doc: ctx.doc,
|
|
indent: '',
|
|
indentStep: ctx.indentStep,
|
|
inFlow: true,
|
|
inStringifyKey: true
|
|
});
|
|
return JSON.stringify(jsKey);
|
|
};
|
|
|
|
export var Pair = /*#__PURE__*/function (_Node) {
|
|
_inherits(Pair, _Node);
|
|
|
|
var _super = _createSuper(Pair);
|
|
|
|
function Pair(key) {
|
|
var _this;
|
|
|
|
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
|
|
_classCallCheck(this, Pair);
|
|
|
|
_this = _super.call(this);
|
|
_this.key = key;
|
|
_this.value = value;
|
|
_this.type = Pair.Type.PAIR;
|
|
return _this;
|
|
}
|
|
|
|
_createClass(Pair, [{
|
|
key: "addToJSMap",
|
|
value: function addToJSMap(ctx, map) {
|
|
var key = toJSON(this.key, '', ctx);
|
|
|
|
if (map instanceof Map) {
|
|
var value = toJSON(this.value, key, ctx);
|
|
map.set(key, value);
|
|
} else if (map instanceof Set) {
|
|
map.add(key);
|
|
} else {
|
|
var stringKey = stringifyKey(this.key, key, ctx);
|
|
map[stringKey] = toJSON(this.value, stringKey, ctx);
|
|
}
|
|
|
|
return map;
|
|
}
|
|
}, {
|
|
key: "toJSON",
|
|
value: function toJSON(_, ctx) {
|
|
var pair = ctx && ctx.mapAsMap ? new Map() : {};
|
|
return this.addToJSMap(ctx, pair);
|
|
}
|
|
}, {
|
|
key: "toString",
|
|
value: function toString(ctx, onComment, onChompKeep) {
|
|
if (!ctx || !ctx.doc) return JSON.stringify(this);
|
|
var _ctx$doc$options = ctx.doc.options,
|
|
indentSize = _ctx$doc$options.indent,
|
|
indentSeq = _ctx$doc$options.indentSeq,
|
|
simpleKeys = _ctx$doc$options.simpleKeys;
|
|
var key = this.key,
|
|
value = this.value;
|
|
var keyComment = key instanceof Node && key.comment;
|
|
|
|
if (simpleKeys) {
|
|
if (keyComment) {
|
|
throw new Error('With simple keys, key nodes cannot have comments');
|
|
}
|
|
|
|
if (key instanceof Collection) {
|
|
var msg = 'With simple keys, collection cannot be used as a key value';
|
|
throw new Error(msg);
|
|
}
|
|
}
|
|
|
|
var explicitKey = !simpleKeys && (!key || keyComment || key instanceof Collection || key.type === Type.BLOCK_FOLDED || key.type === Type.BLOCK_LITERAL);
|
|
var _ctx = ctx,
|
|
doc = _ctx.doc,
|
|
indent = _ctx.indent,
|
|
indentStep = _ctx.indentStep;
|
|
ctx = Object.assign({}, ctx, {
|
|
implicitKey: !explicitKey,
|
|
indent: indent + indentStep
|
|
});
|
|
var chompKeep = false;
|
|
var str = doc.schema.stringify(key, ctx, function () {
|
|
return keyComment = null;
|
|
}, function () {
|
|
return chompKeep = true;
|
|
});
|
|
str = addComment(str, ctx.indent, keyComment);
|
|
|
|
if (ctx.allNullValues && !simpleKeys) {
|
|
if (this.comment) {
|
|
str = addComment(str, ctx.indent, this.comment);
|
|
if (onComment) onComment();
|
|
} else if (chompKeep && !keyComment && onChompKeep) onChompKeep();
|
|
|
|
return ctx.inFlow ? str : "? ".concat(str);
|
|
}
|
|
|
|
str = explicitKey ? "? ".concat(str, "\n").concat(indent, ":") : "".concat(str, ":");
|
|
|
|
if (this.comment) {
|
|
// expected (but not strictly required) to be a single-line comment
|
|
str = addComment(str, ctx.indent, this.comment);
|
|
if (onComment) onComment();
|
|
}
|
|
|
|
var vcb = '';
|
|
var valueComment = null;
|
|
|
|
if (value instanceof Node) {
|
|
if (value.spaceBefore) vcb = '\n';
|
|
|
|
if (value.commentBefore) {
|
|
var cs = value.commentBefore.replace(/^/gm, "".concat(ctx.indent, "#"));
|
|
vcb += "\n".concat(cs);
|
|
}
|
|
|
|
valueComment = value.comment;
|
|
} else if (value && _typeof(value) === 'object') {
|
|
value = doc.schema.createNode(value, true);
|
|
}
|
|
|
|
ctx.implicitKey = false;
|
|
if (!explicitKey && !this.comment && value instanceof Scalar) ctx.indentAtStart = str.length + 1;
|
|
chompKeep = false;
|
|
|
|
if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) {
|
|
// If indentSeq === false, consider '- ' as part of indentation where possible
|
|
ctx.indent = ctx.indent.substr(2);
|
|
}
|
|
|
|
var valueStr = doc.schema.stringify(value, ctx, function () {
|
|
return valueComment = null;
|
|
}, function () {
|
|
return chompKeep = true;
|
|
});
|
|
var ws = ' ';
|
|
|
|
if (vcb || this.comment) {
|
|
ws = "".concat(vcb, "\n").concat(ctx.indent);
|
|
} else if (!explicitKey && value instanceof Collection) {
|
|
var flow = valueStr[0] === '[' || valueStr[0] === '{';
|
|
if (!flow || valueStr.includes('\n')) ws = "\n".concat(ctx.indent);
|
|
}
|
|
|
|
if (chompKeep && !valueComment && onChompKeep) onChompKeep();
|
|
return addComment(str + ws + valueStr, ctx.indent, valueComment);
|
|
}
|
|
}, {
|
|
key: "commentBefore",
|
|
get: function get() {
|
|
return this.key && this.key.commentBefore;
|
|
},
|
|
set: function set(cb) {
|
|
if (this.key == null) this.key = new Scalar(null);
|
|
this.key.commentBefore = cb;
|
|
}
|
|
}]);
|
|
|
|
return Pair;
|
|
}(Node);
|
|
|
|
_defineProperty(Pair, "Type", {
|
|
PAIR: 'PAIR',
|
|
MERGE_PAIR: 'MERGE_PAIR'
|
|
}); |