rawx
Version:
process daemon with utilities
125 lines • 4.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Base = void 0;
class Base {
constructor() {
Object.defineProperty(this, "truncate", {
enumerable: true,
configurable: true,
writable: true,
value: (dis, to_length = 15) => {
if (!dis)
return "undef";
if (!dis.length)
return "_";
// somewhere middlish...
if (dis.length > to_length - 2)
return dis.substr(0, to_length) + "...";
return dis;
}
}); // kind
// (node:timers/setTimeout)-like polyfill for the browser
Object.defineProperty(this, "wait", {
enumerable: true,
configurable: true,
writable: true,
value: (delay = 300) => new Promise((resolve) => setTimeout(resolve, delay))
});
// WIP
Object.defineProperty(this, "puff", {
enumerable: true,
configurable: true,
writable: true,
value: (prop_name, q, p_o) => {
if (q !== undefined) {
if (p_o === "length") {
if (!q.length)
return;
}
return {
[prop_name]: q,
};
}
return undefined;
}
}); // kind
Object.defineProperty(this, "if_in_get_index", {
enumerable: true,
configurable: true,
writable: true,
value: (arr, p) => {
let index = arr.indexOf(p);
if (index !== -1)
return index;
return false;
}
});
// while sometime I may join the two they are distinct
Object.defineProperty(this, "fuzzy_true", {
enumerable: true,
configurable: true,
writable: true,
value: (item) => {
// if DNE || false - false
if (!item) {
return true;
}
// if true, true
if (typeof item === "boolean")
return item;
if (!item.length)
return false;
return ["true", "t", "yes", "y", "always"].indexOf(item.toLowerCase()) !== -1;
}
}); // kind
// while sometime I may join the two they are distinct
Object.defineProperty(this, "fuzzy_false", {
enumerable: true,
configurable: true,
writable: true,
value: (item) => {
// if DNE || false - false
if (!item) {
return false;
}
if (typeof item === "boolean")
return !item;
if (!item.length)
return true;
return ["false", "f", "no", "n", "none", "never"].indexOf(item.toLowerCase()) !== -1;
}
}); // kind
Object.defineProperty(this, "keys", {
enumerable: true,
configurable: true,
writable: true,
value: Object.keys
});
Object.defineProperty(this, "entries", {
enumerable: true,
configurable: true,
writable: true,
value: Object.entries
});
}
// is defined
defi(obj) {
if (obj === undefined)
return false;
return obj !== null;
}
// is empty
empty(obj) {
if (Array.isArray(obj))
return !obj.length;
if (typeof obj === "object")
return !Object.keys(obj).length;
throw Error("Don't call empty() on a value type");
}
pretty(obj) {
return JSON.stringify(obj, null, 2);
}
}
exports.Base = Base;
module.exports = Base;
//# sourceMappingURL=base.js.map