diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2024-02-05 06:11:08 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-05 11:11:08 +0000 | 
| commit | 71c3aff53173cc83a96d7d2715b7918bdbc2d8a5 (patch) | |
| tree | d13cc4a90ef26bb6476daca1edc1999208f4fadc /dev/lib/handlebars/scripts/print_ast.js | |
| parent | 0e7531bc5b443461d7e76e20877464ccf48a3ef5 (diff) | |
kbn-handlebars dependency update (#613)
* Update kbn-handlebars dependency
* Move handlebars dependency to dev
* Update package
* Update readme
* Update readme
* Ignore legal file
Diffstat (limited to 'dev/lib/handlebars/scripts/print_ast.js')
| -rwxr-xr-x | dev/lib/handlebars/scripts/print_ast.js | 64 | 
1 files changed, 0 insertions, 64 deletions
diff --git a/dev/lib/handlebars/scripts/print_ast.js b/dev/lib/handlebars/scripts/print_ast.js deleted file mode 100755 index b97fb5a6..00000000 --- a/dev/lib/handlebars/scripts/print_ast.js +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env node -/* - * Elasticsearch B.V licenses this file to you under the MIT License. - * See `packages/kbn-handlebars/LICENSE` for more information. - */ -'use strict'; // eslint-disable-line strict - -const { relative } = require('path'); -const { inspect } = require('util'); - -const { parse } = require('handlebars'); -const argv = require('minimist')(process.argv.slice(2)); - -const DEFAULT_FILTER = 'loc,strip,openStrip,inverseStrip,closeStrip'; - -const filter = argv['show-all'] ? [''] : (argv.filter || DEFAULT_FILTER).split(','); -const hideEmpty = argv['hide-empty'] || false; -const template = argv._[0]; - -if (template === undefined) { -  const script = relative(process.cwd(), process.argv[1]); -  console.log(`Usage: ${script} [options] <template>`); -  console.log(); -  console.log('Options:'); -  console.log('  --filter=...  A comma separated list of keys to filter from the output.'); -  console.log(`                Default: ${DEFAULT_FILTER}`); -  console.log('  --hide-empty  Do not display empty properties.'); -  console.log('  --show-all    Do not filter out any properties. Equivalent to --filter="".'); -  console.log(); -  console.log('Example:'); -  console.log(`  ${script} --hide-empty -- 'hello {{name}}'`); -  console.log(); -  process.exit(1); -} - -console.log(inspect(reduce(parse(template, filter)), { colors: true, depth: null })); - -function reduce(ast) { -  if (Array.isArray(ast)) { -    for (let i = 0; i < ast.length; i++) { -      ast[i] = reduce(ast[i]); -    } -  } else { -    for (const k of filter) { -      delete ast[k]; -    } - -    if (hideEmpty) { -      for (const [k, v] of Object.entries(ast)) { -        if (v === undefined || v === null || (Array.isArray(v) && v.length === 0)) { -          delete ast[k]; -        } -      } -    } - -    for (const [k, v] of Object.entries(ast)) { -      if (typeof v === 'object' && v !== null) { -        ast[k] = reduce(v); -      } -    } -  } - -  return ast; -}  |