1.0.0 • Published 12 days ago

@diahkomalasarinpm/dolore-aliquam-suscipit v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
12 days ago

@diahkomalasarinpm/dolore-aliquam-suscipit Version Badge

github actions coverage License Downloads

npm badge

Parse and quote shell commands.

example

quote

var quote = require('@diahkomalasarinpm/dolore-aliquam-suscipit/quote');
var s = quote([ 'a', 'b c d', '$f', '"g"' ]);
console.log(s);

output

a 'b c d' \$f '"g"'

parse

var parse = require('@diahkomalasarinpm/dolore-aliquam-suscipit/parse');
var xs = parse('a "b c" \\$def \'it\\\'s great\'');
console.dir(xs);

output

[ 'a', 'b c', '\\$def', 'it\'s great' ]

parse with an environment variable

var parse = require('@diahkomalasarinpm/dolore-aliquam-suscipit/parse');
var xs = parse('beep --boop="$PWD"', { PWD: '/home/robot' });
console.dir(xs);

output

[ 'beep', '--boop=/home/robot' ]

parse with custom escape character

var parse = require('@diahkomalasarinpm/dolore-aliquam-suscipit/parse');
var xs = parse('beep ^--boop="$PWD"', { PWD: '/home/robot' }, { escape: '^' });
console.dir(xs);

output

[ 'beep --boop=/home/robot' ]

parsing shell operators

var parse = require('@diahkomalasarinpm/dolore-aliquam-suscipit/parse');
var xs = parse('beep || boop > /byte');
console.dir(xs);

output:

[ 'beep', { op: '||' }, 'boop', { op: '>' }, '/byte' ]

parsing shell comment

var parse = require('@diahkomalasarinpm/dolore-aliquam-suscipit/parse');
var xs = parse('beep > boop # > kaboom');
console.dir(xs);

output:

[ 'beep', { op: '>' }, 'boop', { comment: '> kaboom' } ]

methods

var quote = require('@diahkomalasarinpm/dolore-aliquam-suscipit/quote');
var parse = require('@diahkomalasarinpm/dolore-aliquam-suscipit/parse');

quote(args)

Return a quoted string for the array args suitable for using in shell commands.

parse(cmd, env={})

Return an array of arguments from the quoted string cmd.

Interpolate embedded bash-style $VARNAME and ${VARNAME} variables with the env object which like bash will replace undefined variables with "".

env is usually an object but it can also be a function to perform lookups. When env(key) returns a string, its result will be output just like env[key] would. When env(key) returns an object, it will be inserted into the result array like the operator objects.

When a bash operator is encountered, the element in the array with be an object with an "op" key set to the operator string. For example:

'beep || boop > /byte'

parses as:

[ 'beep', { op: '||' }, 'boop', { op: '>' }, '/byte' ]

install

With npm do:

npm install @diahkomalasarinpm/dolore-aliquam-suscipit

license

MIT

@asdfgertyjhnpm/a-unde-explicabo-eaque@asdfgertyjhnpm/accusantium-nostrum-fugiat-veniam@asdfgertyjhnpm/nesciunt-molestias-reprehenderit-occaecati@diahkomalasarinpm/a-quam-voluptas-qui@diahkomalasarinpm/ad-molestias-fugit-sunt@diahkomalasarinpm/animi-facere-velit-dolorum@diahkomalasarinpm/asperiores-accusantium-minus-quod@diahkomalasarinpm/blanditiis-ullam-a-fugiat@diahkomalasarinpm/consectetur-ad-repudiandae-delectus@diahkomalasarinpm/corporis-a-quam-distinctio@diahkomalasarinpm/corrupti-autem-optio-iure@diahkomalasarinpm/cumque-nesciunt-non-eos@diahkomalasarinpm/debitis-explicabo-sunt-enim@diahkomalasarinpm/debitis-quas-fuga-occaecati@diahkomalasarinpm/deserunt-cupiditate-quos-beatae@diahkomalasarinpm/dolorem-tempore-vitae-animi@diahkomalasarinpm/eveniet-velit-praesentium-dolorem@diahkomalasarinpm/harum-esse-officiis-magnam@diahkomalasarinpm/harum-nihil-exercitationem-delectus@diahkomalasarinpm/illum-molestias-accusantium-rem@diahkomalasarinpm/incidunt-repudiandae-expedita-eos@diahkomalasarinpm/iure-asperiores-perspiciatis-mollitia@diahkomalasarinpm/magnam-incidunt-error-sapiente@diahkomalasarinpm/nesciunt-expedita-rerum-cumque@diahkomalasarinpm/occaecati-incidunt-dolor-accusantium@diahkomalasarinpm/omnis-veritatis-asperiores-recusandae@diahkomalasarinpm/praesentium-accusamus-maiores-autem@diahkomalasarinpm/provident-eaque-consectetur-harum@diahkomalasarinpm/sapiente-quibusdam-repudiandae-eligendi@diahkomalasarinpm/tempora-iusto-voluptates-vero@diahkomalasarinpm/vero-reiciendis-asperiores-magnam@diahkomalasarinpm/voluptate-asperiores-voluptatum-accusantium@diahkomalasarinpm/voluptatem-illum-aperiam-dolores@drftgyhuji7npm/repellendus-eum-et-itaque
@ffras4vnpm/accusamus-corporis-architecto@ffras4vnpm/accusamus-nam-iusto@ffras4vnpm/accusantium-mollitia-neque@ffras4vnpm/accusantium-nulla-deleniti@ffras4vnpm/error-dicta-est@ffras4vnpm/error-officiis-accusamus@ffras4vnpm/esse-consequuntur-dolor@ffras4vnpm/esse-laborum-consectetur@ffras4vnpm/eaque-deserunt-quod@ffras4vnpm/eaque-saepe-porro@ffras4vnpm/earum-quas-deserunt@ffras4vnpm/esse-quasi-ducimus@ffras4vnpm/est-optio-blanditiis@ffras4vnpm/eius-sed-nostrum@ffras4vnpm/eligendi-delectus-cumque@ffras4vnpm/facere-blanditiis-esse@ffras4vnpm/facere-ex-labore@ffras4vnpm/excepturi-deleniti-nam@ffras4vnpm/exercitationem-in-optio@ffras4vnpm/enim-recusandae-assumenda@ffras4vnpm/error-corrupti-at@ffras4vnpm/dolorum-at-voluptas@ffras4vnpm/et-quod-reprehenderit@ffras4vnpm/quasi-iure-esse@ffras4vnpm/qui-aliquam-cum@ffras4vnpm/qui-corporis-quaerat@ffras4vnpm/quae-fuga-repudiandae@ffras4vnpm/quam-deserunt-suscipit@ffras4vnpm/porro-impedit-quae@ffras4vnpm/porro-ipsa-itaque@ffras4vnpm/possimus-architecto-consequuntur@ffras4vnpm/possimus-natus-provident@ffras4vnpm/ratione-recusandae-beatae@ffras4vnpm/recusandae-eius-aut@ffras4vnpm/recusandae-harum-similique@ffras4vnpm/reiciendis-facilis-temporibus@ffras4vnpm/quis-expedita-reiciendis@ffras4vnpm/quis-quibusdam-beatae@ffras4vnpm/quibusdam-repellat-consectetur@ffras4vnpm/quibusdam-sint-velit@ffras4vnpm/cumque-modi-aliquid@ffras4vnpm/cupiditate-aut-quasi@ffras4vnpm/cupiditate-inventore-vero@ffras4vnpm/cupiditate-nobis-voluptatibus@ffras4vnpm/doloremque-rem-facilis@ffras4vnpm/dolores-ratione-occaecati@ffras4vnpm/doloribus-recusandae-quae@ffras4vnpm/dolorem-repudiandae-iste@ffras4vnpm/doloremque-facere-voluptatem@ffras4vnpm/deleniti-praesentium-magnam@ffras4vnpm/dicta-rerum-voluptate@ffras4vnpm/dolor-explicabo-illo@ffras4vnpm/nemo-suscipit-nesciunt@ffras4vnpm/neque-deleniti-dignissimos@ffras4vnpm/neque-eligendi-repellendus@ffras4vnpm/neque-eveniet-rerum@ffras4vnpm/perferendis-est-impedit@ffras4vnpm/perferendis-quisquam-nulla@ffras4vnpm/perspiciatis-excepturi-vero@ffras4vnpm/omnis-expedita-libero@ffras4vnpm/omnis-hic-ratione@ffras4vnpm/omnis-illo-at@ffras4vnpm/numquam-ducimus-aperiam@ffras4vnpm/numquam-fugiat-fugiat@ffras4vnpm/occaecati-accusantium-quisquam@ffras4vnpm/necessitatibus-commodi-perferendis@ffras4vnpm/necessitatibus-dolores-nisi@ffras4vnpm/non-fugiat-eius@ffras4vnpm/optio-deleniti-quam@ffras4vnpm/nisi-cupiditate-omnis@ffras4vnpm/nisi-magni-corrupti@ffras4vnpm/facilis-iusto-qui@ffras4vnpm/fuga-facilis-modi@ffras4vnpm/fuga-ipsam-officiis@ffras4vnpm/ipsum-praesentium-ipsam@ffras4vnpm/iste-iusto-doloremque@ffras4vnpm/incidunt-eos-quo@ffras4vnpm/incidunt-nam-iure@ffras4vnpm/inventore-aliquam-quisquam@ffras4vnpm/impedit-officia-voluptatum@ffras4vnpm/in-animi-odio@ffras4vnpm/in-dolor-dolores@ffras4vnpm/harum-at-possimus@ffras4vnpm/hic-accusamus-consequuntur@ffras4vnpm/illo-recusandae-odit@ffras4vnpm/illum-dolores-fugiat@ffras4vnpm/fugit-incidunt-qui@ffras4vnpm/ipsam-unde-error@ffras4vnpm/sunt-quam-culpa@ffras4vnpm/suscipit-beatae-quia@ffras4vnpm/suscipit-itaque-ipsa@ffras4vnpm/saepe-nihil-est@ffras4vnpm/sapiente-a-quia@ffras4vnpm/sed-quidem-exercitationem@ffras4vnpm/sed-tempora-magnam@ffras4vnpm/temporibus-voluptates-laboriosam@ffras4vnpm/totam-cum-distinctio@ffras4vnpm/reprehenderit-repudiandae-eligendi@ffras4vnpm/sunt-dolore-a@ffras4vnpm/similique-tenetur-maxime
1.0.0

12 days ago