"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.register = exports.RInclude = void 0; const liquid_1 = require("../liquidjs/liquid"); const block_mode_1 = require("../liquidjs/context/block-mode"); const render_1 = require("../liquidjs/builtin/tags/render"); const tag_1 = require("../../liquidjs/template/tag/tag"); class RInclude extends tag_1.Tag { constructor(token, remainTokens, liquid, parser) { super(token, remainTokens, liquid); const { tokenizer } = token; this['file'] = (0, render_1.parseFilePath)(tokenizer, this.liquid, parser); this['currentFile'] = token.file; const begin = tokenizer.p; const withStr = tokenizer.readIdentifier(); if (withStr.content === 'with') { tokenizer.skipBlank(); if (tokenizer.peek() !== ':') { this.withVar = tokenizer.readValue(); } else tokenizer.p = begin; } else tokenizer.p = begin; this.hash = new liquid_1.Hash(tokenizer.remaining(), this.liquid.options.jekyllInclude); } *render(ctx, emitter) { const { liquid, hash, withVar } = this; const { renderer } = liquid; const filepath = (yield (0, render_1.renderFilePath)(this['file'], ctx, liquid)); (0, liquid_1.assert)(filepath, () => `illegal file path "${filepath}"`); const saved = ctx.saveRegister('blocks', 'blockMode'); ctx.setRegister('blocks', {}); ctx.setRegister('blockMode', block_mode_1.default.OUTPUT); const scope = (yield hash.render(ctx)); if (withVar) scope[filepath] = yield (0, liquid_1.evalToken)(withVar, ctx); const templates = (yield liquid._parsePartialFile(filepath, ctx.sync, this['currentFile'])); ctx.push(ctx.opts.jekyllInclude ? { include: scope } : scope); yield renderer.renderTemplates(templates, ctx, emitter); ctx.pop(); ctx.restoreRegister(saved); } } exports.RInclude = RInclude; const register = (liquid) => { }; exports.register = register; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmluY2x1ZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGx1Z2lucy9yaW5jbHVkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBeUg7QUFFekgsK0RBQXNEO0FBR3RELDREQUErRTtBQUMvRSx5REFBcUQ7QUFHckQsTUFBYSxRQUFTLFNBQVEsU0FBRztJQUcvQixZQUFZLEtBQWUsRUFBRSxZQUE2QixFQUFFLE1BQWMsRUFBRSxNQUFjO1FBQ3hGLEtBQUssQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2xDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUE7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUEsc0JBQWEsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQTtRQUVoQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUMxQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQzlCLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUNyQixJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFBO2FBQ3JDOztnQkFBTSxTQUFTLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQTtTQUMzQjs7WUFBTSxTQUFTLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQTtRQUUxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksYUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNoRixDQUFDO0lBQ0QsQ0FBRSxNQUFNLENBQUMsR0FBWSxFQUFFLE9BQWdCO1FBQ3JDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQTtRQUN0QyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFBO1FBQzNCLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxJQUFBLHVCQUFjLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBVyxDQUFBO1FBQzVFLElBQUEsZUFBTSxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsUUFBUSxHQUFHLENBQUMsQ0FBQTtRQUV6RCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUNyRCxHQUFHLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUM3QixHQUFHLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxvQkFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzlDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFVLENBQUE7UUFDL0MsSUFBSSxPQUFPO1lBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sSUFBQSxrQkFBUyxFQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUM1RCxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFlLENBQUE7UUFDekcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzdELE1BQU0sUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3ZELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUNULEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDNUIsQ0FBQztDQUNGO0FBckNELDRCQXFDQztBQUVNLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUU7QUFFM0MsQ0FBQyxDQUFBO0FBRlksUUFBQSxRQUFRLFlBRXBCIn0=