##// END OF EJS Templates
fixed "singleton" activation type handling in container configuration...
fixed "singleton" activation type handling in container configuration makeResolver helper converted to async fixed passing parameters to a factory in the container compatibility improvements with previous versions of the library

File last commit:

r65:0c74a0572161 v1.2.13 default
r65:0c74a0572161 v1.2.13 default
Show More
TemplateParser.ts
69 lines | 1.4 KiB | video/mp2t | TypeScriptLexer
/ src / amd / ts / text / TemplateParser.ts
cin
working on support commonjs modules format
r59 import { argumentNotEmptyString } from "../safe";
import { MapOf } from "../interfaces";
cin
fixed "singleton" activation type handling in container configuration...
r65 import { TraceSource, DebugLevel } from "../log/TraceSource";
import m = require("module");
const trace = TraceSource.get(m.id);
cin
working on support commonjs modules format
r59
const splitRx = /(<%=|\[%=|<%|\[%|%\]|%>)/;
export enum TokenType {
None,
Text,
OpenInlineBlock,
OpenBlock,
CloseBlock
}
const tokenMap: MapOf<TokenType> = {
"<%": TokenType.OpenBlock,
"[%": TokenType.OpenBlock,
"<%=": TokenType.OpenInlineBlock,
"[%=": TokenType.OpenInlineBlock,
"%>": TokenType.CloseBlock,
"%]": TokenType.CloseBlock
};
export interface ITemplateParser {
next(): boolean;
token(): TokenType;
value(): string;
}
export class TemplateParser implements ITemplateParser {
_tokens: string[];
_pos = -1;
_type: TokenType;
_value: string;
constructor(text: string) {
argumentNotEmptyString(text, "text");
this._tokens = text.split(splitRx);
this._type = TokenType.None;
}
next() {
this._pos++;
if (this._pos < this._tokens.length) {
this._value = this._tokens[this._pos];
this._type = tokenMap[this._value] || TokenType.Text;
cin
fixed "singleton" activation type handling in container configuration...
r65
cin
working on support commonjs modules format
r59 return true;
} else {
this._type = TokenType.None;
this._value = undefined;
return false;
}
}
token() {
return this._type;
}
value() {
return this._value;
}
}