UNPKG

codess

Version:

vscode代码片段管理器,通过 本地包(本地某个文件夹) 或官网的 远程包(代码片段集合) 生成本地项目的 vscode 代码片段配置。

39 lines (38 loc) 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.apiSnippetsToTree = apiSnippetsToTree; exports.parseApiSnippets = parseApiSnippets; const snippet_1 = require("../snippet"); function apiSnippetsToTree(snippets) { snippets.forEach((_) => { if (_.parentIdU) { let p = snippets.find((__) => __.idU == _.parentIdU); if (p) { p.children || (p.children = []); p.children.findIndex((__) => __.idU == _.idU) == -1 && p.children.push(_); } } }); return snippets.filter((_) => !_.parentIdU); } function parseApiSnippets(items = []) { let s = []; for (let o of items) { switch (o.type) { case 'group': s.push({ type: 'group', prefix: o.name, children: parseApiSnippets(o.children || []), }); break; case 'snippet': s.push(...(0, snippet_1.parseSnippet)({ type: 'snippet', prefix: o.name, }, o.body || '').snippets); break; } } return s; }