@jspm/generator
Version:
Package Import Map Generation Tool
23 lines (21 loc) • 856 B
JavaScript
import { JspmError } from "./err.js";
import { detectStyle } from "./source-style.js";
export function parseStyled(source, fileName) {
// remove any byte order mark
if (source.startsWith("\uFEFF")) source = source.substr(1);
let style = detectStyle(source);
try {
return {
json: JSON.parse(source),
style
};
} catch (e) {
throw new JspmError(`Error parsing JSON file${fileName ? " " + fileName : ""}`);
}
}
export function stringifyStyled(json, style) {
let jsonString = JSON.stringify(json, null, style.tab);
return style.indent + jsonString.replace(/([^\\])""/g, "$1" + style.quote + style.quote) // empty strings
.replace(/([^\\])"/g, "$1" + style.quote).replace(/\n/g, style.newline + style.indent) + (style.trailingNewline || "");
}
//# sourceMappingURL=json.js.map