UNPKG

1.97 kBTypeScriptView Raw
1/// <reference types="node" />
2export * from '@platform/npm/lib/types';
3export * from './common/prompt/types';
4export declare type ITemplateSource = {
5 dir: string;
6 pattern?: string;
7 targetDir?: string;
8};
9export declare type ITemplateFile = {
10 base: string;
11 source: string;
12 target: string;
13 isBinary: boolean;
14};
15export declare type IVariables = {
16 [key: string]: any;
17};
18export declare type TemplateFilter = (file: ITemplateFile) => boolean;
19export declare type ITemplateEvent = IExecuteTemplateStart | IExecuteTemplateComplete | ITemplateAlert;
20export declare type IExecutePayload = {
21 files: ITemplateFile[];
22};
23export declare type IExecuteTemplateStart = {
24 type: 'EXECUTE/start';
25 payload: IExecutePayload;
26};
27export declare type IExecuteTemplateComplete = {
28 type: 'EXECUTE/complete';
29 payload: IExecutePayload;
30};
31export declare type ITemplateAlertPayload = {
32 message: string;
33};
34export declare type ITemplateAlert = {
35 type: 'ALERT';
36 payload: ITemplateAlertPayload;
37};
38export declare type TemplateMiddleware<V extends IVariables = {}> = (req: ITemplateRequest<V>, res: ITemplateResponse) => any | Promise<any>;
39export declare type TemplatePathFilter = RegExp;
40export declare type ITemplateRequest<V extends IVariables = {}> = {
41 path: {
42 source: string;
43 target: string;
44 };
45 buffer: Buffer;
46 text?: string;
47 isBinary: boolean;
48 variables: V;
49};
50export declare type AfterTemplateMiddleware = 'NEXT' | 'COMPLETE';
51export declare type ITemplateResponse = {
52 text: string | undefined;
53 replaceText: ReplaceTemplateText;
54 alert: <T extends ITemplateAlertPayload>(e: T) => ITemplateResponse;
55 next: () => void;
56 complete: () => void;
57 done: (next?: AfterTemplateMiddleware) => void;
58};
59export declare type ReplaceTemplateText = (searchValue: {
60 [Symbol.replace](string: string, replaceValue: string): string;
61}, replaceValue: string) => ITemplateResponse;