UNPKG

1.55 kBTypeScriptView Raw
1export interface ResourceClass<T extends Resource> extends Function {
2 new (origin: ResourceOrigin<T>, name: string, fileName: string): T;
3}
4export interface ResourceMap<T extends Resource> {
5 [name: string]: T;
6}
7export declare abstract class Resource {
8 protected origin: ResourceOrigin<any>;
9 protected name: string;
10 protected fileName: string;
11 constructor(origin: ResourceOrigin<any>, name: string, fileName: string);
12 getName(): string;
13}
14export declare class ResourceOrigin<T extends Resource> {
15 private stack;
16 private name;
17 private path;
18 private resources;
19 constructor(stack: ResourceStack<T>, name: string, path: string);
20 mergeResources(target: ResourceMap<T>): void;
21 hasResource(name: string): boolean;
22 getResource(name: string): T | undefined;
23 getName(): string;
24 private findResources;
25}
26export declare abstract class ResourceStack<T extends Resource> {
27 private isActive;
28 private resourceClass;
29 private resourceRegExp;
30 private origins;
31 constructor(resourceClass: ResourceClass<T>, resourceRegExp?: RegExp);
32 activate(): boolean;
33 deactivate(): boolean;
34 getResource(name: string): T | undefined;
35 getAllResources(): ResourceMap<T>;
36 getResourceClass(): ResourceClass<T>;
37 getResourceRegExp(): RegExp;
38 getOrigin(name: string): ResourceOrigin<T> | undefined;
39 hasOrigin(name: string): boolean;
40 addOrigin(name: string, path: string, ignoreErrors?: boolean): void;
41 removeOrigin(name: string): void;
42 removeAllOrigins(): void;
43}