UNPKG

@cosmwasm/ts-codegen

Version:

@cosmwasm/ts-codegen converts your CosmWasm smart contracts into dev-friendly TypeScript classes so you can focus on shipping code.

66 lines (65 loc) 2.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.prompt = exports.getFuzzySearchNames = exports.getFuzzySearch = void 0; // @ts-nocheck const fuzzy_1 = require("fuzzy"); const inquirerer_1 = require("inquirerer"); const getFuzzySearch = (list) => { return (_answers, input) => { input = input || ''; return new Promise(function (resolve) { setTimeout(function () { const fuzzyResult = (0, fuzzy_1.filter)(input, list); resolve(fuzzyResult.map(function (el) { return el.original; })); }, 25); }); }; }; exports.getFuzzySearch = getFuzzySearch; const getFuzzySearchNames = (nameValueItemList) => { const list = nameValueItemList.map(({ name, value: _value }) => name); return (_answers, input) => { input = input || ''; return new Promise(function (resolve) { setTimeout(function () { const fuzzyResult = (0, fuzzy_1.filter)(input, list); resolve(fuzzyResult.map(function (el) { return nameValueItemList.find(({ name, value: _value }) => el.original == name); })); }, 25); }); }; }; exports.getFuzzySearchNames = getFuzzySearchNames; const transform = (questions) => { return questions.map((q) => { if (q.type === 'fuzzy') { const choices = q.choices; delete q.choices; return { ...q, type: 'autocomplete', source: (0, exports.getFuzzySearch)(choices), }; } else if (q.type === 'fuzzy:objects') { const choices = q.choices; delete q.choices; return { ...q, type: 'autocomplete', source: (0, exports.getFuzzySearchNames)(choices), }; } else { return q; } }); }; const prompt = async (questions = [], argv = {}) => { questions = transform(questions); return await (0, inquirerer_1.prompt)(questions, argv); }; exports.prompt = prompt;