Dashboard sipadu mbip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.js 3.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
  8. var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
  9. var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
  10. var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
  11. var _parse = _interopRequireDefault(require("./cst/parse"));
  12. var _Document = _interopRequireDefault(require("./Document"));
  13. var _errors = require("./errors");
  14. var _schema = _interopRequireDefault(require("./schema"));
  15. var _warnings = require("./warnings");
  16. var defaultOptions = {
  17. anchorPrefix: 'a',
  18. customTags: null,
  19. keepCstNodes: false,
  20. keepNodeTypes: true,
  21. keepBlobsInJSON: true,
  22. mapAsMap: false,
  23. maxAliasCount: 100,
  24. prettyErrors: false,
  25. // TODO Set true in v2
  26. simpleKeys: false,
  27. version: '1.2'
  28. };
  29. function createNode(value) {
  30. var wrapScalars = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
  31. var tag = arguments.length > 2 ? arguments[2] : undefined;
  32. if (tag === undefined && typeof wrapScalars === 'string') {
  33. tag = wrapScalars;
  34. wrapScalars = true;
  35. }
  36. var options = Object.assign({}, _Document.default.defaults[defaultOptions.version], defaultOptions);
  37. var schema = new _schema.default(options);
  38. return schema.createNode(value, wrapScalars, tag);
  39. }
  40. var Document =
  41. /*#__PURE__*/
  42. function (_YAMLDocument) {
  43. (0, _inherits2.default)(Document, _YAMLDocument);
  44. function Document(options) {
  45. (0, _classCallCheck2.default)(this, Document);
  46. return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Document).call(this, Object.assign({}, defaultOptions, options)));
  47. }
  48. return Document;
  49. }(_Document.default);
  50. function parseAllDocuments(src, options) {
  51. var stream = [];
  52. var prev;
  53. var _iteratorNormalCompletion = true;
  54. var _didIteratorError = false;
  55. var _iteratorError = undefined;
  56. try {
  57. for (var _iterator = (0, _parse.default)(src)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
  58. var cstDoc = _step.value;
  59. var doc = new Document(options);
  60. doc.parse(cstDoc, prev);
  61. stream.push(doc);
  62. prev = doc;
  63. }
  64. } catch (err) {
  65. _didIteratorError = true;
  66. _iteratorError = err;
  67. } finally {
  68. try {
  69. if (!_iteratorNormalCompletion && _iterator.return != null) {
  70. _iterator.return();
  71. }
  72. } finally {
  73. if (_didIteratorError) {
  74. throw _iteratorError;
  75. }
  76. }
  77. }
  78. return stream;
  79. }
  80. function parseDocument(src, options) {
  81. var cst = (0, _parse.default)(src);
  82. var doc = new Document(options).parse(cst[0]);
  83. if (cst.length > 1) {
  84. var errMsg = 'Source contains multiple documents; please use YAML.parseAllDocuments()';
  85. doc.errors.unshift(new _errors.YAMLSemanticError(cst[1], errMsg));
  86. }
  87. return doc;
  88. }
  89. function parse(src, options) {
  90. var doc = parseDocument(src, options);
  91. doc.warnings.forEach(function (warning) {
  92. return (0, _warnings.warn)(warning);
  93. });
  94. if (doc.errors.length > 0) throw doc.errors[0];
  95. return doc.toJSON();
  96. }
  97. function stringify(value, options) {
  98. var doc = new Document(options);
  99. doc.contents = value;
  100. return String(doc);
  101. }
  102. var _default = {
  103. createNode: createNode,
  104. defaultOptions: defaultOptions,
  105. Document: Document,
  106. parse: parse,
  107. parseAllDocuments: parseAllDocuments,
  108. parseCST: _parse.default,
  109. parseDocument: parseDocument,
  110. stringify: stringify
  111. };
  112. exports.default = _default;