123456789101112131415161718192021222324252627 |
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
- */
- "use strict";
-
- const parseJson = require("json-parse-better-errors");
- const JsonExportsDependency = require("./dependencies/JsonExportsDependency");
-
- class JsonParser {
- constructor(options) {
- this.options = options;
- }
-
- parse(source, state) {
- const data = parseJson(source[0] === "\ufeff" ? source.slice(1) : source);
- state.module.buildInfo.jsonData = data;
- state.module.buildMeta.exportsType = "named";
- if (typeof data === "object" && data) {
- state.module.addDependency(new JsonExportsDependency(Object.keys(data)));
- }
- state.module.addDependency(new JsonExportsDependency(["default"]));
- return state;
- }
- }
-
- module.exports = JsonParser;
|