1.0.0 • Published 1 year ago

@diahkomalasarinpm/dolore-aliquam-suscipit v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year 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/ipsam-unde-error@ffras4vnpm/quis-expedita-reiciendis@ffras4vnpm/quis-quibusdam-beatae@ffras4vnpm/recusandae-eius-aut@ffras4vnpm/recusandae-harum-similique@ffras4vnpm/reiciendis-facilis-temporibus@ffras4vnpm/ratione-recusandae-beatae@ffras4vnpm/quibusdam-repellat-consectetur@ffras4vnpm/quibusdam-sint-velit@ffras4vnpm/reprehenderit-repudiandae-eligendi@ffras4vnpm/neque-deleniti-dignissimos@ffras4vnpm/neque-eligendi-repellendus@ffras4vnpm/neque-eveniet-rerum@ffras4vnpm/necessitatibus-commodi-perferendis@ffras4vnpm/necessitatibus-dolores-nisi@ffras4vnpm/nemo-suscipit-nesciunt@ffras4vnpm/libero-quas-quo@ffras4vnpm/magnam-ex-minus@ffras4vnpm/magni-ipsum-facere@ffras4vnpm/magni-minus-odio@ffras4vnpm/magni-mollitia-iusto@ffras4vnpm/maxime-perferendis-nihil@ffras4vnpm/minima-iusto-dignissimos@ffras4vnpm/minima-similique-pariatur@ffras4vnpm/non-fugiat-eius@ffras4vnpm/numquam-ducimus-aperiam@ffras4vnpm/minus-soluta-optio@ffras4vnpm/modi-dolores-quasi@ffras4vnpm/molestias-commodi-perspiciatis@ffras4vnpm/nisi-cupiditate-omnis@ffras4vnpm/nisi-magni-corrupti@ffras4vnpm/nam-fuga-sunt@ffras4vnpm/facilis-iusto-qui@ffras4vnpm/fuga-facilis-modi@ffras4vnpm/fuga-ipsam-officiis@ffras4vnpm/error-officiis-accusamus@ffras4vnpm/esse-consequuntur-dolor@ffras4vnpm/esse-laborum-consectetur@ffras4vnpm/esse-quasi-ducimus@ffras4vnpm/fugit-incidunt-qui@ffras4vnpm/harum-at-possimus@ffras4vnpm/hic-accusamus-consequuntur@ffras4vnpm/facere-blanditiis-esse@ffras4vnpm/facere-ex-labore@ffras4vnpm/est-optio-blanditiis@ffras4vnpm/et-quod-reprehenderit@ffras4vnpm/excepturi-deleniti-nam@ffras4vnpm/exercitationem-in-optio@ffras4vnpm/illo-recusandae-odit@ffras4vnpm/illum-dolores-fugiat@ffras4vnpm/cupiditate-aut-quasi@ffras4vnpm/cupiditate-inventore-vero@ffras4vnpm/cupiditate-nobis-voluptatibus@ffras4vnpm/cumque-modi-aliquid@ffras4vnpm/blanditiis-placeat-fuga@ffras4vnpm/deleniti-praesentium-magnam@ffras4vnpm/beatae-amet-animi@ffras4vnpm/beatae-nesciunt-quo@ffras4vnpm/totam-cum-distinctio@ffras4vnpm/totam-dolorem-impedit@ffras4vnpm/suscipit-beatae-quia@ffras4vnpm/suscipit-itaque-ipsa@ffras4vnpm/sed-quidem-exercitationem@ffras4vnpm/sed-tempora-magnam@ffras4vnpm/ullam-tempora-veritatis@ffras4vnpm/sunt-dolore-a@ffras4vnpm/sunt-quam-culpa@ffras4vnpm/ut-similique-corrupti@ffras4vnpm/vel-quos-eaque@ffras4vnpm/temporibus-voluptates-laboriosam@ffras4vnpm/saepe-nihil-est@ffras4vnpm/sapiente-a-quia@ffras4vnpm/similique-tenetur-maxime@ffras4vnpm/veritatis-quasi-quam@ffras4vnpm/vitae-animi-quos@ffras4vnpm/vitae-facere-tempora@ffras4vnpm/voluptas-ullam-dolorum@ffras4vnpm/voluptatibus-pariatur-accusantium@ffras4vnpm/voluptatum-voluptatem-iure@ffras4vnpm/velit-rem-iure@ffras4vnpm/voluptatem-odio-minima@ffras4vnpm/itaque-repudiandae-rem@ffras4vnpm/laboriosam-asperiores-ipsam@ffras4vnpm/laboriosam-minus-ipsa@ffras4vnpm/laboriosam-provident-qui@ffras4vnpm/laboriosam-reiciendis-porro@ffras4vnpm/ipsum-praesentium-ipsam@ffras4vnpm/iste-iusto-doloremque@ffras4vnpm/impedit-officia-voluptatum@ffras4vnpm/in-animi-odio@ffras4vnpm/in-dolor-dolores@ffras4vnpm/inventore-aliquam-quisquam@ffras4vnpm/laborum-rerum-accusantium@ffras4vnpm/laudantium-maxime-earum@ffras4vnpm/laudantium-quae-mollitia@ffras4vnpm/incidunt-eos-quo@ffras4vnpm/incidunt-nam-iure@ffras4vnpm/iusto-corporis-iste@ffras4vnpm/eaque-deserunt-quod@ffras4vnpm/eaque-saepe-porro
1.0.0

1 year ago