/
kopython
/
_hyperscript
Обзор
Документация
Войти
/
kopython
/
_hyperscript
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
www/test/0.0.9/src/lib/template.js
32 строки
906 B
carson
0.0.9 release prep
02 апр 2021, 05:17
02 апр 2021, 05:17
1464fff
Код
Авторство
О чём код?
'use strict'; (function (_hyperscript) { function compileTemplate(template) { return template.replace( /(?:^|\n)([^@]*)@?/gm, '\ncall __ht_template_result.push(`$1`)\n') } function renderTemplate(template, ctx) { var buf = [] _hyperscript(template, Object.assign({ __ht_template_result: buf }, ctx)) return buf.join('') } _hyperscript.addCommand('render', function (parser, runtime, tokens) { if (!tokens.matchToken('render')) return var template = parser.requireElement('targetExpression', tokens) var templateArgs = {} if (tokens.matchToken('with')) { templateArgs = parser.parseElement('namedArgumentList', tokens) } return { args: [template, templateArgs], op: function (ctx, template, templateArgs) { ctx.result = renderTemplate(compileTemplate(template.innerHTML), templateArgs) return runtime.findNext(this, ctx) } } }) })(_hyperscript)