@superawesome/permissions
Version:
Fine grained permissions / access control with ownerships & attribute picking, done right.
42 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLogger = exports.setLogger = void 0;
/**
* @internal
*/
class SADefaultLogger {
error(message, data) {
console.error(`SA-Permissions ERROR: ${message}`, data);
}
warn(message, data) {
console.log(`SA-Permissions WARNING: ${message}`, data);
}
debug(message, data) { }
}
/**
* @internal
*/
const nullLogger = new (class SANullLogger {
error(message, data) { }
warn(message, data) { }
debug(message, data) { }
})();
/**
* @internal
*/
let logger = new SADefaultLogger();
/**
* Set a **global** logger ([IPermissionsLogger](/interfaces/IPermissionsLogger.html)) used by the library, instead of the console built in one.
*
* Use `setLogger(null)` to disable it.
*
* See [IPermissionsLogger](/interfaces/IPermissionsLogger.html)
*/
exports.setLogger = (l) => (logger = l);
/**
* Gives you the global logger so you can log eg `getLogger().warn('Something fishy!')`
*
* See [IPermissionsLogger](/interfaces/IPermissionsLogger.html)
*/
exports.getLogger = () => logger || nullLogger;
//# sourceMappingURL=logger.js.map