@grnsft/if
Version:
Impact Framework
19 lines • 1.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.memoizedLog = void 0;
/**
* Keeps in memory logged messages. If called with redundant message, skips logging.
*/
const memoizedLogger = () => {
const memory = [];
return (logger, message) => {
if (memory.includes(message)) {
return;
}
memory.push(message);
logger(message);
};
};
/** Singleton pattern. */
exports.memoizedLog = memoizedLogger();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1lbW9pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3V0aWwvbG9nLW1lbW9pemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7O0dBRUc7QUFDSCxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7SUFDMUIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLE9BQU8sQ0FBQyxNQUErQyxFQUFFLE9BQWUsRUFBRSxFQUFFO1FBQzFFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRix5QkFBeUI7QUFDWixRQUFBLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TGV2ZWxlZExvZ01ldGhvZH0gZnJvbSAnd2luc3Rvbic7XG5cbi8qKlxuICogS2VlcHMgaW4gbWVtb3J5IGxvZ2dlZCBtZXNzYWdlcy4gSWYgY2FsbGVkIHdpdGggcmVkdW5kYW50IG1lc3NhZ2UsIHNraXBzIGxvZ2dpbmcuXG4gKi9cbmNvbnN0IG1lbW9pemVkTG9nZ2VyID0gKCkgPT4ge1xuICBjb25zdCBtZW1vcnk6IHN0cmluZ1tdID0gW107XG5cbiAgcmV0dXJuIChsb2dnZXI6IExldmVsZWRMb2dNZXRob2QgfCB0eXBlb2YgY29uc29sZS5kZWJ1ZywgbWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKG1lbW9yeS5pbmNsdWRlcyhtZXNzYWdlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG1lbW9yeS5wdXNoKG1lc3NhZ2UpO1xuICAgIGxvZ2dlcihtZXNzYWdlKTtcbiAgfTtcbn07XG5cbi8qKiBTaW5nbGV0b24gcGF0dGVybi4gKi9cbmV4cG9ydCBjb25zdCBtZW1vaXplZExvZyA9IG1lbW9pemVkTG9nZ2VyKCk7XG4iXX0=