This commit is contained in:
Morten Olsen
2023-03-26 22:15:07 +02:00
commit 9b1a067d56
80 changed files with 7889 additions and 0 deletions

34
bin/bundler/index.ts Normal file
View File

@@ -0,0 +1,34 @@
import { resolve } from "path";
import { Observable } from "../observable";
type Asset = {
content: string | Buffer;
};
class Bundler {
#assets: Map<string, Observable<Asset>>;
constructor() {
this.#assets = new Map();
}
public get paths() {
return [...this.#assets.keys()];
}
public register = (path: string, asset: Observable<Asset>) => {
const realPath = resolve("/", path);
if (!this.#assets.has(realPath)) {
this.#assets.set(realPath, asset);
}
return realPath;
};
public get = (path: string) => {
const realPath = resolve("/", path);
return this.#assets.get(realPath);
};
}
export type { Asset };
export { Bundler };