kaomoji
Version:
Random kaomoji generator with 314 kaomojis across 4 categories.
109 lines (103 loc) • 3.69 kB
JavaScript
;
var commander = require('commander');
var prompts = require('@clack/prompts');
var index = require('./index.cjs.js');
function _interopNamespaceDefault(e) {
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n.default = e;
return Object.freeze(n);
}
var prompts__namespace = /*#__PURE__*/_interopNamespaceDefault(prompts);
function _instanceof(left, right) {
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
return !!right[Symbol.hasInstance](left);
} else {
return left instanceof right;
}
}
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) {
return _instanceof(value, P) ? value : new P(function(resolve) {
resolve(value);
});
}
return new (P || (P = Promise))(function(resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
}
function rejected(value) {
try {
step(generator["throw"](value));
} catch (e) {
reject(e);
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
typeof SuppressedError === "function" ? SuppressedError : function _SuppressedError(error, suppressed, message) {
var e = new Error(message);
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
};
const categories = {
happy: index.happy,
sad: index.sad,
congrats: index.congrats,
thanks: index.thanks
};
const categoryNames = Object.keys(categories);
function runInteractive() {
return __awaiter(this, void 0, void 0, function*() {
prompts__namespace.intro('kaomoji \(^o^)/');
const category = yield prompts__namespace.select({
message: 'Pick a category',
options: categoryNames.map((name)=>({
value: name,
label: name
}))
});
if (prompts__namespace.isCancel(category)) {
prompts__namespace.cancel('Bye!');
process.exit(0);
}
const result = categories[category]();
prompts__namespace.outro(result);
});
}
const program = new commander.Command();
program.name('kaomoji').description('Random kaomoji generator \(^o^)/').version('0.0.1').argument('[category]', `Category: ${categoryNames.join(', ')}`).option('-a, --all', 'Print all kaomojis in the category').action((category, options)=>__awaiter(void 0, void 0, void 0, function*() {
if (!category) {
yield runInteractive();
return;
}
if (!categoryNames.includes(category)) {
console.error(`Unknown category: "${category}". Available: ${categoryNames.join(', ')}`);
process.exit(1);
}
const fn = categories[category];
if (options === null || options === void 0 ? void 0 : options.all) {
fn.all.forEach((k)=>console.log(k));
} else {
console.log(fn());
}
}));
program.parse();