Apply module bundling
[platform/framework/web/wrtjs.git] / node_modules / webpack / lib / container / ContainerEntryDependency.js
1 /*
2         MIT License http://www.opensource.org/licenses/mit-license.php
3         Author Tobias Koppers @sokra, Zackary Jackson @ScriptedAlchemy, Marais Rossouw @maraisr
4 */
5
6 "use strict";
7
8 const Dependency = require("../Dependency");
9 const makeSerializable = require("../util/makeSerializable");
10
11 /** @typedef {import("./ContainerEntryModule").ExposeOptions} ExposeOptions */
12
13 class ContainerEntryDependency extends Dependency {
14         /**
15          * @param {string} name entry name
16          * @param {[string, ExposeOptions][]} exposes list of exposed modules
17          * @param {string} shareScope name of the share scope
18          */
19         constructor(name, exposes, shareScope) {
20                 super();
21                 this.name = name;
22                 this.exposes = exposes;
23                 this.shareScope = shareScope;
24         }
25
26         /**
27          * @returns {string | null} an identifier to merge equal requests
28          */
29         getResourceIdentifier() {
30                 return `container-entry-${this.name}`;
31         }
32
33         get type() {
34                 return "container entry";
35         }
36
37         get category() {
38                 return "esm";
39         }
40 }
41
42 makeSerializable(
43         ContainerEntryDependency,
44         "webpack/lib/container/ContainerEntryDependency"
45 );
46
47 module.exports = ContainerEntryDependency;