ilastlog
Version:
alternative lastlog because of Ubuntu 24.04.1. The distros have had the libpam excluding lastlog.so. therefore, I personally needed.
65 lines • 2.32 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOptions = exports.ilastlogAsync = exports.ilastlog = void 0;
exports.setOptions = setOptions;
const index_1 = require("./lib/index");
const constant_1 = __importDefault(require("./configs/constant"));
const pattern_1 = __importDefault(require("./configs/pattern"));
const lodash_1 = __importDefault(require("lodash"));
const options = {};
const defaults = {
delimiter: constant_1.default.DEFAULT_DEL,
hint: constant_1.default.DEFAULT_HINT,
save: constant_1.default.DEFAULT_SAVE,
};
lodash_1.default.defaults(options, defaults);
const calculateWrapper = (textArr, opt) => {
const _options = setOptions(opt);
const result = index_1.Util.calculate(textArr, _options);
index_1.Util.Print(result, _options);
index_1.Util.WriteToFile(result, _options.save);
};
exports.ilastlog = calculateWrapper;
const calculateWrapperAsync = (textArr, opt) => {
const _options = setOptions(opt);
const result = index_1.Util.calculate(textArr, _options);
index_1.Util.Print(result, _options);
return index_1.Util.WriteToFileAsync(result, _options.save);
};
exports.ilastlogAsync = calculateWrapperAsync;
function setGetnerator(toSetKey) {
return (opts) => {
options[toSetKey] = opts[toSetKey];
return 0;
};
}
function setOptions(opts) {
opts = lodash_1.default.defaults(opts, options);
const setFuncs = [setDelimiter, setHint, setSave];
for (const func of setFuncs) {
if (func(opts)) {
console.error(`Not String: value in options.key ${JSON.stringify(opts)}`);
}
}
return opts;
}
function setConfigs(confs) {
console.warn("not supported yet");
return;
}
function getConfigs() {
console.warn("not supported yet");
return pattern_1.default;
}
const getOptions = () => options;
exports.getOptions = getOptions;
const setDelimiter = setGetnerator("delimiter");
const setHint = setGetnerator("hint");
const setSave = setGetnerator("save");
const getDelimiter = () => options.delimiter;
const getHint = () => options.hint;
const getSave = () => options.save;
//# sourceMappingURL=index.js.map