From 00f35a7a9842729fa4db3d5a0626dc23af213d0b Mon Sep 17 00:00:00 2001 From: nicco Date: Tue, 6 Feb 2018 21:06:19 +0100 Subject: [PATCH] Testing --- src/app.ts | 13 ++------- src/reader.ts | 76 -------------------------------------------------- views/new.html | 26 ++++------------- 3 files changed, 7 insertions(+), 108 deletions(-) delete mode 100644 src/reader.ts diff --git a/src/app.ts b/src/app.ts index 3c70dd9..e960788 100644 --- a/src/app.ts +++ b/src/app.ts @@ -50,6 +50,7 @@ async function render(template_name: string, data?: any): Promise { } } + // Render the template and return the html const compiled = cache.get(template_name) if (compiled) return parser.computeParts(compiled.template, data) @@ -59,17 +60,7 @@ async function render(template_name: string, data?: any): Promise { async function go() { const ret = await render('new', { - test: true, - testa: true, - title: 'test', - body: { - p: [ - 'omg', - { - check: 'let goo' - } - ] - }, + arr: [{ test: true }, { test: false }] }) ret.log() diff --git a/src/reader.ts b/src/reader.ts deleted file mode 100644 index c2abffc..0000000 --- a/src/reader.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { Part, re, error, ActionFunction, ActionReturn } from './options' -import * as actions from './actions' - -const rexp = Object.freeze({ - begin: new RegExp(re.begin, 'g'), - end: new RegExp(re.ending, 'g'), -}) - -interface Next { - start: number - end: number -} - -export const compileBlock: ActionFunction = part => { - - let next: Next - const getNext = (s: string): Next => Object.freeze({ - start: s.search(rexp.begin), - end: s.search(rexp.end), - }) - - let ret: ActionReturn = { - parts: [], - length: NaN - } - - function addToRet(item: any) { - ret.parts = ret.parts.concat(item) - } - - next = getNext(part) - while (next.start !== -1) { - - if (next.start === null || next.end === null) - throw new Error(error.parse.default) - - addToRet(part.substr(0, next.start)) - part = part.slice(next.start) - - let func: ActionFunction - - switch (part[re.begin.length]) { - case re.comment: - func = actions.comment - break - case re.if: - func = actions.logic - break - // case re.for: - // func = actions.loop - // break - case re.incude: - func = actions.importer - break - default: - func = actions.variables - break - } - - const result = func(part) - addToRet(result.parts) - part = part.slice(result.length) - - next = getNext(part) - } - - addToRet(part) - - return ret -} - -export function compile(html: string, options = {}): Part[] { - const parts: Part[] = compileBlock(html).parts - return parts - -} \ No newline at end of file diff --git a/views/new.html b/views/new.html index 79b7b2b..c29aa7b 100644 --- a/views/new.html +++ b/views/new.html @@ -1,21 +1,5 @@ - - - - - - - - - - -
- a{{# kkk #}b {{#mhh}} #}}b {{test}} {{> sub/form }} -

{{ title }}

-

{{ body.p[1].check }}

-
- - a{{? test }}b{{? !testa }}c{{/?}} {{? title }} {{? title }}e{{/?}} c{{/?}}d{{/?}}e - - - - \ No newline at end of file +
    + {{* i in arr}} +
  • {{i}}
  • + {{/*}} +
\ No newline at end of file