UNPKG

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
"use strict"; 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