@ng-supabase/core
Version:
ng-supabase is a component library and helper utilities for integrating Supabase in your angular application.
66 lines • 8.41 kB
JavaScript
// Angular.
import { Injectable } from '@angular/core';
// Local.
import { LogLevel } from './log-level';
import { SupabaseConfig } from '../supabase-config';
import * as i0 from "@angular/core";
import * as i1 from "../supabase-config";
const DEFAULT_LOG_CONFIG = {
logLevel: LogLevel.Warn,
enabled: true,
persistLogs: false,
};
export class LogService {
constructor(config) {
this.logs = [];
this.consoleMap = {};
this.config = { ...DEFAULT_LOG_CONFIG, ...config.logging };
this.consoleMap[LogLevel.Trace] = console.trace;
this.consoleMap[LogLevel.Debug] = console.debug;
this.consoleMap[LogLevel.Info] = console.info;
this.consoleMap[LogLevel.Warn] = console.warn;
this.consoleMap[LogLevel.Error] = console.error;
this.consoleMap[LogLevel.Fatal] = console.error;
}
log(level, message, error) {
const skip = this.config.enabled === false || level > this.config.logLevel;
if (skip) {
return;
}
const args = [message];
if (error) {
args.push(error);
}
this.consoleMap[level].apply(console, args);
if (this.config.persistLogs) {
this.logs.push({ timestamp: new Date(), level, message, error });
}
}
trace(message) {
this.log(LogLevel.Trace, message);
}
debug(message) {
this.log(LogLevel.Debug, message);
}
info(message) {
this.log(LogLevel.Info, message);
}
warn(message, error) {
this.log(LogLevel.Warn, message, error);
}
error(message, error) {
this.log(LogLevel.Error, message, error);
}
fatal(message, error) {
this.log(LogLevel.Fatal, message, error);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogService, deps: [{ token: i1.SupabaseConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: LogService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: () => [{ type: i1.SupabaseConfig }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9sb2dnaW5nL2xvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLFNBQVM7QUFDVCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBU3BELE1BQU0sa0JBQWtCLEdBQXdCO0lBQzlDLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSTtJQUN2QixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxLQUFLO0NBQ25CLENBQUM7QUFLRixNQUFNLE9BQU8sVUFBVTtJQUtyQixZQUFZLE1BQXNCO1FBSmpCLFNBQUksR0FBZSxFQUFFLENBQUM7UUFFdEIsZUFBVSxHQUEyQyxFQUFFLENBQUM7UUFHdkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFlLEVBQUUsT0FBZSxFQUFFLEtBQWE7UUFDakQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUUzRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLElBQUksR0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQWU7UUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZTtRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFlO1FBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWUsRUFBRSxLQUFhO1FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFlLEVBQUUsS0FBYTtRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZSxFQUFFLEtBQWE7UUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQXZEVSxVQUFVO2tIQUFWLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXIuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIExvY2FsLlxuaW1wb3J0IHsgTG9nTGV2ZWwgfSBmcm9tICcuL2xvZy1sZXZlbCc7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gJy4uL2tleS12YWx1ZSc7XG5pbXBvcnQgeyBMb2dDb25maWcgfSBmcm9tICcuL2xvZy1jb25maWcnO1xuaW1wb3J0IHsgU3VwYWJhc2VDb25maWcgfSBmcm9tICcuLi9zdXBhYmFzZS1jb25maWcnO1xuXG5pbnRlcmZhY2UgTG9nRW50cnkge1xuICBsZXZlbDogTG9nTGV2ZWw7XG4gIHRpbWVzdGFtcDogRGF0ZTtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBlcnJvcj86IEVycm9yO1xufVxuXG5jb25zdCBERUZBVUxUX0xPR19DT05GSUc6IFJlcXVpcmVkPExvZ0NvbmZpZz4gPSB7XG4gIGxvZ0xldmVsOiBMb2dMZXZlbC5XYXJuLFxuICBlbmFibGVkOiB0cnVlLFxuICBwZXJzaXN0TG9nczogZmFsc2UsXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTG9nU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nczogTG9nRW50cnlbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogUmVxdWlyZWQ8TG9nQ29uZmlnPjtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25zb2xlTWFwOiBLZXlWYWx1ZTwoLi4uZGF0YTogdW5rbm93bltdKSA9PiB2b2lkPiA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogU3VwYWJhc2VDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHsgLi4uREVGQVVMVF9MT0dfQ09ORklHLCAuLi5jb25maWcubG9nZ2luZyB9O1xuICAgIHRoaXMuY29uc29sZU1hcFtMb2dMZXZlbC5UcmFjZV0gPSBjb25zb2xlLnRyYWNlO1xuICAgIHRoaXMuY29uc29sZU1hcFtMb2dMZXZlbC5EZWJ1Z10gPSBjb25zb2xlLmRlYnVnO1xuICAgIHRoaXMuY29uc29sZU1hcFtMb2dMZXZlbC5JbmZvXSA9IGNvbnNvbGUuaW5mbztcbiAgICB0aGlzLmNvbnNvbGVNYXBbTG9nTGV2ZWwuV2Fybl0gPSBjb25zb2xlLndhcm47XG4gICAgdGhpcy5jb25zb2xlTWFwW0xvZ0xldmVsLkVycm9yXSA9IGNvbnNvbGUuZXJyb3I7XG4gICAgdGhpcy5jb25zb2xlTWFwW0xvZ0xldmVsLkZhdGFsXSA9IGNvbnNvbGUuZXJyb3I7XG4gIH1cblxuICBsb2cobGV2ZWw6IExvZ0xldmVsLCBtZXNzYWdlOiBzdHJpbmcsIGVycm9yPzogRXJyb3IpOiB2b2lkIHtcbiAgICBjb25zdCBza2lwID0gdGhpcy5jb25maWcuZW5hYmxlZCA9PT0gZmFsc2UgfHwgbGV2ZWwgPiB0aGlzLmNvbmZpZy5sb2dMZXZlbDtcblxuICAgIGlmIChza2lwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYXJnczogdW5rbm93bltdID0gW21lc3NhZ2VdO1xuICAgIGlmIChlcnJvcikge1xuICAgICAgYXJncy5wdXNoKGVycm9yKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnNvbGVNYXBbbGV2ZWxdLmFwcGx5KGNvbnNvbGUsIGFyZ3MpO1xuICAgIGlmICh0aGlzLmNvbmZpZy5wZXJzaXN0TG9ncykge1xuICAgICAgdGhpcy5sb2dzLnB1c2goeyB0aW1lc3RhbXA6IG5ldyBEYXRlKCksIGxldmVsLCBtZXNzYWdlLCBlcnJvciB9KTtcbiAgICB9XG4gIH1cblxuICB0cmFjZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmxvZyhMb2dMZXZlbC5UcmFjZSwgbWVzc2FnZSk7XG4gIH1cblxuICBkZWJ1ZyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmxvZyhMb2dMZXZlbC5EZWJ1ZywgbWVzc2FnZSk7XG4gIH1cblxuICBpbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubG9nKExvZ0xldmVsLkluZm8sIG1lc3NhZ2UpO1xuICB9XG5cbiAgd2FybihtZXNzYWdlOiBzdHJpbmcsIGVycm9yPzogRXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLmxvZyhMb2dMZXZlbC5XYXJuLCBtZXNzYWdlLCBlcnJvcik7XG4gIH1cblxuICBlcnJvcihtZXNzYWdlOiBzdHJpbmcsIGVycm9yPzogRXJyb3IpOiB2b2lkIHtcbiAgICB0aGlzLmxvZyhMb2dMZXZlbC5FcnJvciwgbWVzc2FnZSwgZXJyb3IpO1xuICB9XG5cbiAgZmF0YWwobWVzc2FnZTogc3RyaW5nLCBlcnJvcj86IEVycm9yKTogdm9pZCB7XG4gICAgdGhpcy5sb2coTG9nTGV2ZWwuRmF0YWwsIG1lc3NhZ2UsIGVycm9yKTtcbiAgfVxufVxuIl19