123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- "use strict";
- class Generator {
- static byType(map) {
- return new ByTypeGenerator(map);
- }
-
- generate(module, dependencyTemplates, runtimeTemplate, type) {
- throw new Error("Generator.generate: must be overridden");
- }
- }
- class ByTypeGenerator extends Generator {
- constructor(map) {
- super();
- this.map = map;
- }
-
- generate(module, dependencyTemplates, runtimeTemplate, type) {
- const generator = this.map[type];
- if (!generator) {
- throw new Error(`Generator.byType: no generator specified for ${type}`);
- }
- return generator.generate(
- module,
- dependencyTemplates,
- runtimeTemplate,
- type
- );
- }
- }
- module.exports = Generator;
|