1 | export interface ResourceClass<T extends Resource> extends Function {
|
2 | new (origin: ResourceOrigin<T>, name: string, fileName: string): T;
|
3 | }
|
4 | export interface ResourceMap<T extends Resource> {
|
5 | [name: string]: T;
|
6 | }
|
7 | export 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 | }
|
14 | export 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 | }
|
26 | export 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 | }
|