UNPKG

sbis3-node-ws

Version:

Модуль позволяет использовать ядро интерфейсного фреймворка sbis3-ws(`core.js`) и модуль работы с данными (`Source.js`) в приложении на nodejs.

38 lines 1.55 kB
define('js!Core/tmpl/js/astModules/template', ['js!Core/tmpl/js/helpers/State', 'js!Core/tmpl/js/helpers/entityHelpers', 'js!Core/tmpl/js/helpers/errorHandling'], function templateLoader(State, entityHelpers, errorHandling) { 'use strict'; var templateM = { parse: function templateParse(tag) { function templateAST() { var unState = State.make(); this.traversingAST(tag.children).when( function partialTraversing(modAST) { unState.keep(modAST); }, function brokenTraverse(reason) { errorHandling(reason, this.filename); } ); return unState.promise; } function resolveStatement() { var requestState = State.make(), name; try { name = tag.attribs.name.trim(); } catch (e) { errorHandling("Something wrong with name attribute in ws-template tag", this.filename); } if (tag.children === undefined || tag.children.length === 0) { errorHandling("There is got to be a children in ws-template tag", this.filename); } this.includeStack[name] = templateAST.call(this); requestState.keep(entityHelpers.createDataRequest(name)); return requestState.promise; } return function templateResolve() { return resolveStatement.call(this); }; } }; return templateM; });