@itrocks/template 0.0.31 → 0.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/template.d.ts +8 -5
 - package/cjs/template.js +5 -7
 - package/esm/template.d.ts +8 -5
 - package/esm/template.js +5 -7
 - package/package.json +1 -1
 
    
        package/cjs/template.d.ts
    CHANGED
    
    | 
         @@ -7,11 +7,14 @@ type BlockStackEntry = { 
     | 
|
| 
       7 
7 
     | 
    
         
             
                iteration: number;
         
     | 
| 
       8 
8 
     | 
    
         
             
                iterations: number;
         
     | 
| 
       9 
9 
     | 
    
         
             
            };
         
     | 
| 
      
 10 
     | 
    
         
            +
            type Close = ')' | '}';
         
     | 
| 
      
 11 
     | 
    
         
            +
            type Final = '' | '-->';
         
     | 
| 
      
 12 
     | 
    
         
            +
            type Open = '(' | '{';
         
     | 
| 
       10 
13 
     | 
    
         
             
            export type VariableParser = [parser: string, (variable: string, data: any) => any];
         
     | 
| 
       11 
14 
     | 
    
         
             
            export declare const frontScripts: SortedArray<string>;
         
     | 
| 
       12 
15 
     | 
    
         
             
            export declare class Template {
         
     | 
| 
       13 
     | 
    
         
            -
                data?: any;
         
     | 
| 
       14 
     | 
    
         
            -
                containerData?: any;
         
     | 
| 
      
 16 
     | 
    
         
            +
                data?: any | undefined;
         
     | 
| 
      
 17 
     | 
    
         
            +
                containerData?: any | undefined;
         
     | 
| 
       15 
18 
     | 
    
         
             
                blockBack: number;
         
     | 
| 
       16 
19 
     | 
    
         
             
                blockStack: BlockStackEntry[];
         
     | 
| 
       17 
20 
     | 
    
         
             
                doExpression: boolean;
         
     | 
| 
         @@ -49,7 +52,7 @@ export declare class Template { 
     | 
|
| 
       49 
52 
     | 
    
         
             
                onTagClose?: (name: string) => void;
         
     | 
| 
       50 
53 
     | 
    
         
             
                parsers: VariableParser[];
         
     | 
| 
       51 
54 
     | 
    
         
             
                prefixes: string;
         
     | 
| 
       52 
     | 
    
         
            -
                constructor(data?: any, containerData?: any);
         
     | 
| 
      
 55 
     | 
    
         
            +
                constructor(data?: any | undefined, containerData?: any | undefined);
         
     | 
| 
       53 
56 
     | 
    
         
             
                applyLiterals(text: string, parts?: string[]): string;
         
     | 
| 
       54 
57 
     | 
    
         
             
                closeTag(shouldInLiteral: boolean, targetIndex: number): boolean;
         
     | 
| 
       55 
58 
     | 
    
         
             
                combineLiterals(text: string, parts?: string[]): string;
         
     | 
| 
         @@ -93,7 +96,7 @@ export declare class Template { 
     | 
|
| 
       93 
96 
     | 
    
         
             
                isContextClean(): boolean;
         
     | 
| 
       94 
97 
     | 
    
         
             
                literalTarget(index: number, isTitle?: boolean): void;
         
     | 
| 
       95 
98 
     | 
    
         
             
                parseBuffer(buffer: string): Promise<string>;
         
     | 
| 
       96 
     | 
    
         
            -
                parseExpression(data: any, close:  
     | 
| 
      
 99 
     | 
    
         
            +
                parseExpression(data: any, open: Open | '<', close: Close, finalClose?: Final): Promise<boolean | undefined>;
         
     | 
| 
       97 
100 
     | 
    
         
             
                parseFile(fileName: string, containerFileName?: string): Promise<string>;
         
     | 
| 
       98 
101 
     | 
    
         
             
                parsePath(expression: string, data: any): Promise<any>;
         
     | 
| 
       99 
102 
     | 
    
         
             
                parseVariable(variable: string, data: any): Promise<any>;
         
     | 
| 
         @@ -101,7 +104,7 @@ export declare class Template { 
     | 
|
| 
       101 
104 
     | 
    
         
             
                setSource(source: string, index?: number, start?: number, target?: string): void;
         
     | 
| 
       102 
105 
     | 
    
         
             
                skipBlock(): void;
         
     | 
| 
       103 
106 
     | 
    
         
             
                sourceToTarget(): void;
         
     | 
| 
       104 
     | 
    
         
            -
                startsExpression(char: string, open?:  
     | 
| 
      
 107 
     | 
    
         
            +
                startsExpression(char: string, open?: Open, close?: Close): boolean;
         
     | 
| 
       105 
108 
     | 
    
         
             
                trimEndLine(string: string): string;
         
     | 
| 
       106 
109 
     | 
    
         
             
            }
         
     | 
| 
       107 
110 
     | 
    
         
             
            export {};
         
     | 
    
        package/cjs/template.js
    CHANGED
    
    | 
         @@ -164,15 +164,14 @@ class Template { 
     | 
|
| 
       164 
164 
     | 
    
         
             
                    template.onTagOpen = this.onTagOpen;
         
     | 
| 
       165 
165 
     | 
    
         
             
                    template.onTagOpened = this.onTagOpened;
         
     | 
| 
       166 
166 
     | 
    
         
             
                    template.parsers = this.parsers;
         
     | 
| 
       167 
     | 
    
         
            -
                    template.prefixes = this.prefixes;
         
     | 
| 
       168 
167 
     | 
    
         
             
                    const parsed = await template.parseFile(((path[0] === node_path_1.sep) || (path[1] === ':'))
         
     | 
| 
       169 
168 
     | 
    
         
             
                        ? path
         
     | 
| 
       170 
169 
     | 
    
         
             
                        : (this.filePath + node_path_1.sep + path));
         
     | 
| 
       171 
170 
     | 
    
         
             
                    if (!this.doHeadLinks) {
         
     | 
| 
       172 
171 
     | 
    
         
             
                        this.addLinks.push(...template.headLinks);
         
     | 
| 
      
 172 
     | 
    
         
            +
                        this.headTitle = template.headTitle;
         
     | 
| 
       173 
173 
     | 
    
         
             
                    }
         
     | 
| 
       174 
174 
     | 
    
         
             
                    this.headLinks.push(...template.headLinks);
         
     | 
| 
       175 
     | 
    
         
            -
                    this.headTitle = template.headTitle;
         
     | 
| 
       176 
175 
     | 
    
         
             
                    const beginPosition = parsed.indexOf('<!--BEGIN-->');
         
     | 
| 
       177 
176 
     | 
    
         
             
                    const endPosition = parsed.indexOf('<!--END-->');
         
     | 
| 
       178 
177 
     | 
    
         
             
                    return (beginPosition > -1)
         
     | 
| 
         @@ -233,9 +232,8 @@ class Template { 
     | 
|
| 
       233 
232 
     | 
    
         
             
                    }
         
     | 
| 
       234 
233 
     | 
    
         
             
                    return this.target;
         
     | 
| 
       235 
234 
     | 
    
         
             
                }
         
     | 
| 
       236 
     | 
    
         
            -
                async parseExpression(data, close, finalClose = '') {
         
     | 
| 
      
 235 
     | 
    
         
            +
                async parseExpression(data, open, close, finalClose = '') {
         
     | 
| 
       237 
236 
     | 
    
         
             
                    const indexOut = this.index;
         
     | 
| 
       238 
     | 
    
         
            -
                    let open = this.source[this.index];
         
     | 
| 
       239 
237 
     | 
    
         
             
                    if (this.inLiteral && !this.literalParts.length) {
         
     | 
| 
       240 
238 
     | 
    
         
             
                        this.targetStack.push(this.target);
         
     | 
| 
       241 
239 
     | 
    
         
             
                        this.target = '';
         
     | 
| 
         @@ -428,7 +426,7 @@ class Template { 
     | 
|
| 
       428 
426 
     | 
    
         
             
                        let char = this.source[this.index];
         
     | 
| 
       429 
427 
     | 
    
         
             
                        // expression
         
     | 
| 
       430 
428 
     | 
    
         
             
                        if ((char === '{') && this.doExpression) {
         
     | 
| 
       431 
     | 
    
         
            -
                            await this.parseExpression(data, '}');
         
     | 
| 
      
 429 
     | 
    
         
            +
                            await this.parseExpression(data, char, '}');
         
     | 
| 
       432 
430 
     | 
    
         
             
                            continue;
         
     | 
| 
       433 
431 
     | 
    
         
             
                        }
         
     | 
| 
       434 
432 
     | 
    
         
             
                        // tag ?
         
     | 
| 
         @@ -495,7 +493,7 @@ class Template { 
     | 
|
| 
       495 
493 
     | 
    
         
             
                                this.index = tagIndex;
         
     | 
| 
       496 
494 
     | 
    
         
             
                                this.target = '';
         
     | 
| 
       497 
495 
     | 
    
         
             
                                this.inLiteral = false;
         
     | 
| 
       498 
     | 
    
         
            -
                                const condition = await this.parseExpression(data, '}', '-->');
         
     | 
| 
      
 496 
     | 
    
         
            +
                                const condition = await this.parseExpression(data, '<', '}', '-->');
         
     | 
| 
       499 
497 
     | 
    
         
             
                                this.blockStack.push({ blockStart, collection, condition, data, iteration, iterations });
         
     | 
| 
       500 
498 
     | 
    
         
             
                                let blockData = condition ? (this.target ? data : undefined) : this.target;
         
     | 
| 
       501 
499 
     | 
    
         
             
                                blockStart = this.index;
         
     | 
| 
         @@ -691,7 +689,7 @@ class Template { 
     | 
|
| 
       691 
689 
     | 
    
         
             
                                    }
         
     | 
| 
       692 
690 
     | 
    
         
             
                                    // expression in attribute value
         
     | 
| 
       693 
691 
     | 
    
         
             
                                    if ((char === open) && this.doExpression) {
         
     | 
| 
       694 
     | 
    
         
            -
                                        await this.parseExpression(data, close);
         
     | 
| 
      
 692 
     | 
    
         
            +
                                        await this.parseExpression(data, open, close);
         
     | 
| 
       695 
693 
     | 
    
         
             
                                        continue;
         
     | 
| 
       696 
694 
     | 
    
         
             
                                    }
         
     | 
| 
       697 
695 
     | 
    
         
             
                                    this.index++;
         
     | 
    
        package/esm/template.d.ts
    CHANGED
    
    | 
         @@ -7,11 +7,14 @@ type BlockStackEntry = { 
     | 
|
| 
       7 
7 
     | 
    
         
             
                iteration: number;
         
     | 
| 
       8 
8 
     | 
    
         
             
                iterations: number;
         
     | 
| 
       9 
9 
     | 
    
         
             
            };
         
     | 
| 
      
 10 
     | 
    
         
            +
            type Close = ')' | '}';
         
     | 
| 
      
 11 
     | 
    
         
            +
            type Final = '' | '-->';
         
     | 
| 
      
 12 
     | 
    
         
            +
            type Open = '(' | '{';
         
     | 
| 
       10 
13 
     | 
    
         
             
            export type VariableParser = [parser: string, (variable: string, data: any) => any];
         
     | 
| 
       11 
14 
     | 
    
         
             
            export declare const frontScripts: SortedArray<string>;
         
     | 
| 
       12 
15 
     | 
    
         
             
            export declare class Template {
         
     | 
| 
       13 
     | 
    
         
            -
                data?: any;
         
     | 
| 
       14 
     | 
    
         
            -
                containerData?: any;
         
     | 
| 
      
 16 
     | 
    
         
            +
                data?: any | undefined;
         
     | 
| 
      
 17 
     | 
    
         
            +
                containerData?: any | undefined;
         
     | 
| 
       15 
18 
     | 
    
         
             
                blockBack: number;
         
     | 
| 
       16 
19 
     | 
    
         
             
                blockStack: BlockStackEntry[];
         
     | 
| 
       17 
20 
     | 
    
         
             
                doExpression: boolean;
         
     | 
| 
         @@ -49,7 +52,7 @@ export declare class Template { 
     | 
|
| 
       49 
52 
     | 
    
         
             
                onTagClose?: (name: string) => void;
         
     | 
| 
       50 
53 
     | 
    
         
             
                parsers: VariableParser[];
         
     | 
| 
       51 
54 
     | 
    
         
             
                prefixes: string;
         
     | 
| 
       52 
     | 
    
         
            -
                constructor(data?: any, containerData?: any);
         
     | 
| 
      
 55 
     | 
    
         
            +
                constructor(data?: any | undefined, containerData?: any | undefined);
         
     | 
| 
       53 
56 
     | 
    
         
             
                applyLiterals(text: string, parts?: string[]): string;
         
     | 
| 
       54 
57 
     | 
    
         
             
                closeTag(shouldInLiteral: boolean, targetIndex: number): boolean;
         
     | 
| 
       55 
58 
     | 
    
         
             
                combineLiterals(text: string, parts?: string[]): string;
         
     | 
| 
         @@ -93,7 +96,7 @@ export declare class Template { 
     | 
|
| 
       93 
96 
     | 
    
         
             
                isContextClean(): boolean;
         
     | 
| 
       94 
97 
     | 
    
         
             
                literalTarget(index: number, isTitle?: boolean): void;
         
     | 
| 
       95 
98 
     | 
    
         
             
                parseBuffer(buffer: string): Promise<string>;
         
     | 
| 
       96 
     | 
    
         
            -
                parseExpression(data: any, close:  
     | 
| 
      
 99 
     | 
    
         
            +
                parseExpression(data: any, open: Open | '<', close: Close, finalClose?: Final): Promise<boolean | undefined>;
         
     | 
| 
       97 
100 
     | 
    
         
             
                parseFile(fileName: string, containerFileName?: string): Promise<string>;
         
     | 
| 
       98 
101 
     | 
    
         
             
                parsePath(expression: string, data: any): Promise<any>;
         
     | 
| 
       99 
102 
     | 
    
         
             
                parseVariable(variable: string, data: any): Promise<any>;
         
     | 
| 
         @@ -101,7 +104,7 @@ export declare class Template { 
     | 
|
| 
       101 
104 
     | 
    
         
             
                setSource(source: string, index?: number, start?: number, target?: string): void;
         
     | 
| 
       102 
105 
     | 
    
         
             
                skipBlock(): void;
         
     | 
| 
       103 
106 
     | 
    
         
             
                sourceToTarget(): void;
         
     | 
| 
       104 
     | 
    
         
            -
                startsExpression(char: string, open?:  
     | 
| 
      
 107 
     | 
    
         
            +
                startsExpression(char: string, open?: Open, close?: Close): boolean;
         
     | 
| 
       105 
108 
     | 
    
         
             
                trimEndLine(string: string): string;
         
     | 
| 
       106 
109 
     | 
    
         
             
            }
         
     | 
| 
       107 
110 
     | 
    
         
             
            export {};
         
     | 
    
        package/esm/template.js
    CHANGED
    
    | 
         @@ -161,15 +161,14 @@ export class Template { 
     | 
|
| 
       161 
161 
     | 
    
         
             
                    template.onTagOpen = this.onTagOpen;
         
     | 
| 
       162 
162 
     | 
    
         
             
                    template.onTagOpened = this.onTagOpened;
         
     | 
| 
       163 
163 
     | 
    
         
             
                    template.parsers = this.parsers;
         
     | 
| 
       164 
     | 
    
         
            -
                    template.prefixes = this.prefixes;
         
     | 
| 
       165 
164 
     | 
    
         
             
                    const parsed = await template.parseFile(((path[0] === sep) || (path[1] === ':'))
         
     | 
| 
       166 
165 
     | 
    
         
             
                        ? path
         
     | 
| 
       167 
166 
     | 
    
         
             
                        : (this.filePath + sep + path));
         
     | 
| 
       168 
167 
     | 
    
         
             
                    if (!this.doHeadLinks) {
         
     | 
| 
       169 
168 
     | 
    
         
             
                        this.addLinks.push(...template.headLinks);
         
     | 
| 
      
 169 
     | 
    
         
            +
                        this.headTitle = template.headTitle;
         
     | 
| 
       170 
170 
     | 
    
         
             
                    }
         
     | 
| 
       171 
171 
     | 
    
         
             
                    this.headLinks.push(...template.headLinks);
         
     | 
| 
       172 
     | 
    
         
            -
                    this.headTitle = template.headTitle;
         
     | 
| 
       173 
172 
     | 
    
         
             
                    const beginPosition = parsed.indexOf('<!--BEGIN-->');
         
     | 
| 
       174 
173 
     | 
    
         
             
                    const endPosition = parsed.indexOf('<!--END-->');
         
     | 
| 
       175 
174 
     | 
    
         
             
                    return (beginPosition > -1)
         
     | 
| 
         @@ -230,9 +229,8 @@ export class Template { 
     | 
|
| 
       230 
229 
     | 
    
         
             
                    }
         
     | 
| 
       231 
230 
     | 
    
         
             
                    return this.target;
         
     | 
| 
       232 
231 
     | 
    
         
             
                }
         
     | 
| 
       233 
     | 
    
         
            -
                async parseExpression(data, close, finalClose = '') {
         
     | 
| 
      
 232 
     | 
    
         
            +
                async parseExpression(data, open, close, finalClose = '') {
         
     | 
| 
       234 
233 
     | 
    
         
             
                    const indexOut = this.index;
         
     | 
| 
       235 
     | 
    
         
            -
                    let open = this.source[this.index];
         
     | 
| 
       236 
234 
     | 
    
         
             
                    if (this.inLiteral && !this.literalParts.length) {
         
     | 
| 
       237 
235 
     | 
    
         
             
                        this.targetStack.push(this.target);
         
     | 
| 
       238 
236 
     | 
    
         
             
                        this.target = '';
         
     | 
| 
         @@ -425,7 +423,7 @@ export class Template { 
     | 
|
| 
       425 
423 
     | 
    
         
             
                        let char = this.source[this.index];
         
     | 
| 
       426 
424 
     | 
    
         
             
                        // expression
         
     | 
| 
       427 
425 
     | 
    
         
             
                        if ((char === '{') && this.doExpression) {
         
     | 
| 
       428 
     | 
    
         
            -
                            await this.parseExpression(data, '}');
         
     | 
| 
      
 426 
     | 
    
         
            +
                            await this.parseExpression(data, char, '}');
         
     | 
| 
       429 
427 
     | 
    
         
             
                            continue;
         
     | 
| 
       430 
428 
     | 
    
         
             
                        }
         
     | 
| 
       431 
429 
     | 
    
         
             
                        // tag ?
         
     | 
| 
         @@ -492,7 +490,7 @@ export class Template { 
     | 
|
| 
       492 
490 
     | 
    
         
             
                                this.index = tagIndex;
         
     | 
| 
       493 
491 
     | 
    
         
             
                                this.target = '';
         
     | 
| 
       494 
492 
     | 
    
         
             
                                this.inLiteral = false;
         
     | 
| 
       495 
     | 
    
         
            -
                                const condition = await this.parseExpression(data, '}', '-->');
         
     | 
| 
      
 493 
     | 
    
         
            +
                                const condition = await this.parseExpression(data, '<', '}', '-->');
         
     | 
| 
       496 
494 
     | 
    
         
             
                                this.blockStack.push({ blockStart, collection, condition, data, iteration, iterations });
         
     | 
| 
       497 
495 
     | 
    
         
             
                                let blockData = condition ? (this.target ? data : undefined) : this.target;
         
     | 
| 
       498 
496 
     | 
    
         
             
                                blockStart = this.index;
         
     | 
| 
         @@ -688,7 +686,7 @@ export class Template { 
     | 
|
| 
       688 
686 
     | 
    
         
             
                                    }
         
     | 
| 
       689 
687 
     | 
    
         
             
                                    // expression in attribute value
         
     | 
| 
       690 
688 
     | 
    
         
             
                                    if ((char === open) && this.doExpression) {
         
     | 
| 
       691 
     | 
    
         
            -
                                        await this.parseExpression(data, close);
         
     | 
| 
      
 689 
     | 
    
         
            +
                                        await this.parseExpression(data, open, close);
         
     | 
| 
       692 
690 
     | 
    
         
             
                                        continue;
         
     | 
| 
       693 
691 
     | 
    
         
             
                                    }
         
     | 
| 
       694 
692 
     | 
    
         
             
                                    this.index++;
         
     | 
    
        package/package.json
    CHANGED