52 lines
4.5 KiB
JavaScript
52 lines
4.5 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.register = void 0;
|
|
const liquid_1 = require("../liquidjs/liquid");
|
|
const inquirer = require("inquirer");
|
|
const register = (engine) => {
|
|
engine.registerTag('ask', {
|
|
parse: function (token) {
|
|
const args = token.args;
|
|
const tokenizer = new liquid_1.Tokenizer(args, this.liquid.options.operatorsTrie);
|
|
this.name = tokenizer.readValue();
|
|
const begin = tokenizer.p;
|
|
tokenizer.readIdentifier();
|
|
tokenizer.p = begin;
|
|
this.hash = new liquid_1.Hash(tokenizer.remaining());
|
|
},
|
|
render: function* (ctx) {
|
|
const { name, liquid } = this;
|
|
let question = ctx.opts.dynamicPartials
|
|
? (liquid_1.TypeGuards.isQuotedToken(name)
|
|
? yield ((0, liquid_1.evalQuotedToken)(name))
|
|
: yield (0, liquid_1.evalToken)(name, ctx))
|
|
: name.getText();
|
|
const type = this.hash.hash['type'];
|
|
let type_ = ctx.opts.dynamicPartials
|
|
? (liquid_1.TypeGuards.isQuotedToken(type)
|
|
? yield ((0, liquid_1.evalQuotedToken)(type))
|
|
: yield (0, liquid_1.evalToken)(type, ctx))
|
|
: type.getText();
|
|
;
|
|
let _ctx = liquid;
|
|
if (_ctx.ask) {
|
|
return _ctx.ask;
|
|
}
|
|
_ctx.ask = new Promise((resolve, reject) => {
|
|
inquirer.prompt([{
|
|
type: type_,
|
|
name: 'question',
|
|
message: question
|
|
}]).then((answers) => {
|
|
console.log('-', answers);
|
|
resolve(answers);
|
|
_ctx.ask = null;
|
|
return answers['question'];
|
|
});
|
|
});
|
|
return _ctx.ask;
|
|
}
|
|
});
|
|
};
|
|
exports.register = register;
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbnMvYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtDQUF3SDtBQUN4SCxxQ0FBb0M7QUFFN0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRTtJQUUvQixNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtRQUN0QixLQUFLLEVBQUUsVUFBVSxLQUFlO1lBQzVCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUE7WUFDdkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxrQkFBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUN4RSxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNsQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQzFCLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMzQixTQUFTLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksYUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsR0FBWTtZQUMzQixNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztZQUU5QixJQUFJLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWU7Z0JBQ25DLENBQUMsQ0FBQyxDQUFDLG1CQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztvQkFDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFBLHdCQUFlLEVBQUMsSUFBSSxDQUFDLENBQUM7b0JBQy9CLENBQUMsQ0FBQyxNQUFNLElBQUEsa0JBQVMsRUFBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFHckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEMsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlO2dCQUNoQyxDQUFDLENBQUMsQ0FBQyxtQkFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQzdCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBQSx3QkFBZSxFQUFDLElBQUksQ0FBQyxDQUFDO29CQUMvQixDQUFDLENBQUMsTUFBTSxJQUFBLGtCQUFTLEVBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLENBQUM7WUFFRCxJQUFJLElBQUksR0FBUSxNQUFNLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNWLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNuQjtZQUVELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDYixJQUFJLEVBQUUsS0FBSzt3QkFDWCxJQUFJLEVBQUUsVUFBVTt3QkFDaEIsT0FBTyxFQUFFLFFBQVE7cUJBQ3BCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDMUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNqQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztvQkFDaEIsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUE7WUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDcEIsQ0FBQztLQUNKLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQW5EWSxRQUFBLFFBQVEsWUFtRHBCIn0=
|