You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
|
- /*
- MIT License http://www.opensource.org/licenses/mit-license.php
- Author Tobias Koppers @sokra
- */
- "use strict";
-
- class Entrypoint {
- constructor(name) {
- this.name = name;
- this.chunks = [];
- }
-
- unshiftChunk(chunk) {
- this.chunks.unshift(chunk);
- chunk.entrypoints.push(this);
- }
-
- insertChunk(chunk, before) {
- const idx = this.chunks.indexOf(before);
- if(idx >= 0) {
- this.chunks.splice(idx, 0, chunk);
- } else {
- throw new Error("before chunk not found");
- }
- chunk.entrypoints.push(this);
- }
-
- getFiles() {
- const files = [];
-
- for(let chunkIdx = 0; chunkIdx < this.chunks.length; chunkIdx++) {
- for(let fileIdx = 0; fileIdx < this.chunks[chunkIdx].files.length; fileIdx++) {
- if(files.indexOf(this.chunks[chunkIdx].files[fileIdx]) === -1) {
- files.push(this.chunks[chunkIdx].files[fileIdx]);
- }
- }
- }
-
- return files;
- }
- }
-
- module.exports = Entrypoint;
|