container.ts
Version:
Modular application framework
29 lines (28 loc) • 1.17 kB
TypeScript
/// <reference types="node" />
import { Observable } from "rxjs/Observable";
import "rxjs/add/observable/of";
import "rxjs/add/observable/throw";
import "rxjs/add/observable/bindNodeCallback";
import "rxjs/add/operator/do";
import "rxjs/add/operator/map";
import { IContainerModuleOpts, ContainerModule } from "../../container";
/** Assets files cached when read. */
export interface IAssetsCache {
[key: string]: Buffer | string | object;
}
export declare const ENV_ASSETS_PATH = "ASSETS_PATH";
/** Assets read only files interface. */
export declare class Assets extends ContainerModule {
private _path;
private _cache;
readonly path: string;
readonly cache: IAssetsCache;
constructor(name: string, opts: IContainerModuleOpts);
/** Overload signature for correct return types. */
readFile(target: string): Observable<Buffer>;
readFile(target: string, encoding?: string): Observable<string>;
/** Read assets file contents and parse JSON object. */
readJson(target: string, encoding?: string): Observable<object>;
/** Read assets file contents. */
protected read<T>(target: string, encoding?: string): Observable<T>;
}