| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- */
- "use strict";
- const NormalModule = require("../NormalModule");
- const makeSerializable = require("../util/makeSerializable");
- /**
- * @import {
- * NormalModuleBuildInfo,
- * NormalModuleCreateData
- * } from "../NormalModule"
- */
- /** @import JsonData from "./JsonData" */
- /**
- * Defines the build info properties specific to json modules.
- * @typedef {object} KnownJsonModuleBuildInfo
- * @property {JsonData=} jsonData
- */
- /** @typedef {NormalModuleBuildInfo & KnownJsonModuleBuildInfo} JsonModuleBuildInfo */
- /**
- * Module class for `json` modules. JSON-specific properties should live here instead of `NormalModule`.
- */
- class JsonModule extends NormalModule {
- /**
- * @param {NormalModuleCreateData} options options object
- */
- constructor(options) {
- super(options);
- // Redeclared with the json specific shape
- /** @type {JsonModuleBuildInfo | undefined} */
- this.buildInfo = undefined;
- }
- }
- makeSerializable(JsonModule, "webpack/lib/json/JsonModule");
- module.exports = JsonModule;
|