UNPKG

@mui/internal-docs-infra

Version:

MUI Infra - internal documentation creation tools.

66 lines 3.2 kB
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime"; import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator"; import { create, patch } from 'jsondiffpatch'; var differ = create({ omitRemovedValues: true, cloneDiffValues: true }); export function transformParsedSource(_x, _x2, _x3, _x4, _x5) { return _transformParsedSource.apply(this, arguments); } function _transformParsedSource() { _transformParsedSource = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(source, parsedSource, filename, transforms, parseSource) { var transformed; return _regeneratorRuntime().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return Promise.all(Object.entries(transforms).map(/*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) { var _ref3, key, transform, patched, transformedSource, parsedTransform, delta; return _regeneratorRuntime().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _ref3 = _slicedToArray(_ref, 2), key = _ref3[0], transform = _ref3[1]; patched = patch(source.split('\n'), transform.delta); if (Array.isArray(patched)) { _context.next = 4; break; } throw new Error("Patch for ".concat(key, " did not return an array")); case 4: transformedSource = patched.join('\n'); _context.next = 7; return parseSource(transformedSource, transform.fileName || filename); case 7: parsedTransform = _context.sent; // TODO: further optimize this delta, it looks a little noisy delta = differ.diff(parsedSource, parsedTransform); return _context.abrupt("return", _defineProperty({}, key, _objectSpread(_objectSpread({}, transform), {}, { delta: delta }))); case 10: case "end": return _context.stop(); } }, _callee); })); return function (_x6) { return _ref2.apply(this, arguments); }; }())); case 2: transformed = _context2.sent; return _context2.abrupt("return", Object.assign.apply(Object, [{}].concat(_toConsumableArray(transformed)))); case 4: case "end": return _context2.stop(); } }, _callee2); })); return _transformParsedSource.apply(this, arguments); }