summaryrefslogtreecommitdiffstats
path: root/node_modules/cssesc/bin
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/cssesc/bin
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/cssesc/bin')
-rwxr-xr-xnode_modules/cssesc/bin/cssesc116
1 files changed, 116 insertions, 0 deletions
diff --git a/node_modules/cssesc/bin/cssesc b/node_modules/cssesc/bin/cssesc
new file mode 100755
index 0000000..188c034
--- /dev/null
+++ b/node_modules/cssesc/bin/cssesc
@@ -0,0 +1,116 @@
+#!/usr/bin/env node
+const fs = require('fs');
+const cssesc = require('../cssesc.js');
+const strings = process.argv.splice(2);
+const stdin = process.stdin;
+const options = {};
+const log = console.log;
+
+const main = function() {
+ const option = strings[0];
+
+ if (/^(?:-h|--help|undefined)$/.test(option)) {
+ log(
+ 'cssesc v%s - https://mths.be/cssesc',
+ cssesc.version
+ );
+ log([
+ '\nUsage:\n',
+ '\tcssesc [string]',
+ '\tcssesc [-i | --identifier] [string]',
+ '\tcssesc [-s | --single-quotes] [string]',
+ '\tcssesc [-d | --double-quotes] [string]',
+ '\tcssesc [-w | --wrap] [string]',
+ '\tcssesc [-e | --escape-everything] [string]',
+ '\tcssesc [-v | --version]',
+ '\tcssesc [-h | --help]',
+ '\nExamples:\n',
+ '\tcssesc \'f\xF6o \u2665 b\xE5r \uD834\uDF06 baz\'',
+ '\tcssesc --identifier \'f\xF6o \u2665 b\xE5r \uD834\uDF06 baz\'',
+ '\tcssesc --escape-everything \'f\xF6o \u2665 b\xE5r \uD834\uDF06 baz\'',
+ '\tcssesc --double-quotes --wrap \'f\xF6o \u2665 b\xE5r \uD834\uDF06 baz\'',
+ '\techo \'f\xF6o \u2665 b\xE5r \uD834\uDF06 baz\' | cssesc'
+ ].join('\n'));
+ return process.exit(1);
+ }
+
+ if (/^(?:-v|--version)$/.test(option)) {
+ log('v%s', cssesc.version);
+ return process.exit(1);
+ }
+
+ strings.forEach(function(string) {
+ // Process options
+ if (/^(?:-i|--identifier)$/.test(string)) {
+ options.isIdentifier = true;
+ return;
+ }
+ if (/^(?:-s|--single-quotes)$/.test(string)) {
+ options.quotes = 'single';
+ return;
+ }
+ if (/^(?:-d|--double-quotes)$/.test(string)) {
+ options.quotes = 'double';
+ return;
+ }
+ if (/^(?:-w|--wrap)$/.test(string)) {
+ options.wrap = true;
+ return;
+ }
+ if (/^(?:-e|--escape-everything)$/.test(string)) {
+ options.escapeEverything = true;
+ return;
+ }
+
+ // Process string(s)
+ let result;
+ try {
+ result = cssesc(string, options);
+ log(result);
+ } catch (exception) {
+ log(exception.message + '\n');
+ log('Error: failed to escape.');
+ log('If you think this is a bug in cssesc, please report it:');
+ log('https://github.com/mathiasbynens/cssesc/issues/new');
+ log(
+ '\nStack trace using cssesc@%s:\n',
+ cssesc.version
+ );
+ log(exception.stack);
+ return process.exit(1);
+ }
+ });
+ // Return with exit status 0 outside of the `forEach` loop, in case
+ // multiple strings were passed in.
+ return process.exit(0);
+
+};
+
+if (stdin.isTTY) {
+ // handle shell arguments
+ main();
+} else {
+ let timeout;
+ // Either the script is called from within a non-TTY context, or `stdin`
+ // content is being piped in.
+ if (!process.stdout.isTTY) {
+ // The script was called from a non-TTY context. This is a rather uncommon
+ // use case we don’t actively support. However, we don’t want the script
+ // to wait forever in such cases, so…
+ timeout = setTimeout(function() {
+ // …if no piped data arrived after a whole minute, handle shell
+ // arguments instead.
+ main();
+ }, 60000);
+ }
+ let data = '';
+ stdin.on('data', function(chunk) {
+ clearTimeout(timeout);
+ data += chunk;
+ });
+ stdin.on('end', function() {
+ strings.push(data.trim());
+ main();
+ });
+ stdin.resume();
+}