Projekt

Obecné

Profil

Stáhnout (758 Bajtů) Statistiky
| Větev: | Revize:
1
/*
2
	MIT License http://www.opensource.org/licenses/mit-license.php
3
	Author Tobias Koppers @sokra
4
*/
5
"use strict";
6

    
7
const parseJson = require("json-parse-better-errors");
8
const JsonExportsDependency = require("./dependencies/JsonExportsDependency");
9

    
10
class JsonParser {
11
	constructor(options) {
12
		this.options = options;
13
	}
14

    
15
	parse(source, state) {
16
		const data = parseJson(source[0] === "\ufeff" ? source.slice(1) : source);
17
		state.module.buildInfo.jsonData = data;
18
		state.module.buildMeta.exportsType = "named";
19
		if (typeof data === "object" && data) {
20
			state.module.addDependency(new JsonExportsDependency(Object.keys(data)));
21
		}
22
		state.module.addDependency(new JsonExportsDependency(["default"]));
23
		return state;
24
	}
25
}
26

    
27
module.exports = JsonParser;
(71-71/144)