UNPKG

jest-snapshot-parser

Version:
34 lines (33 loc) 1.19 kB
"use strict"; exports.__esModule = true; var tslib_1 = require("tslib"); exports.parse_v1 = function (content) { var data = get_data(content); return Object.keys(data).reduce(function (parsed, key) { return (tslib_1.__assign({}, parsed, (_a = {}, _a[key] = parse(data[key]), _a))); var _a; }, {}); }; function parse(value) { var reverted_value = revert_extra_line_breaks(value).replace(/\n/g, '\\n'); try { return reverted_value === 'undefined' ? undefined : JSON.parse(reverted_value); } catch (error) { // istanbul ignore next throw new Error("Unexpected error while parsing:\n\n>>> start >>>\n" + reverted_value + "\n<<< end <<<\n\n" + error.message); } } // https://github.com/facebook/jest/blob/v20.0.4/packages/jest-snapshot/src/utils.js#L128 function revert_extra_line_breaks(str) { return str.includes('\n') ? str.slice(1, -1) : str; } // https://github.com/facebook/jest/blob/v20.0.4/packages/jest-snapshot/src/utils.js#L98 function get_data(content) { var data = Object.create(null); var populate = new Function('exports', content); populate(data); return data; }