@microsoft/teams.common 2.0.6-preview.4 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/events/event-emitter.js.map +1 -1
- package/dist/events/event-emitter.mjs.map +1 -1
- package/dist/http/client.d.mts +1 -1
- package/dist/http/client.d.ts +1 -1
- package/dist/http/client.js.map +1 -1
- package/dist/http/client.mjs.map +1 -1
- package/dist/logging/ansi.js.map +1 -1
- package/dist/logging/ansi.mjs.map +1 -1
- package/dist/logging/console.js.map +1 -1
- package/dist/logging/console.mjs.map +1 -1
- package/dist/logging/string.js.map +1 -1
- package/dist/logging/string.mjs.map +1 -1
- package/dist/storage/list-local-storage.js.map +1 -1
- package/dist/storage/list-local-storage.mjs.map +1 -1
- package/dist/storage/local-storage.js.map +1 -1
- package/dist/storage/local-storage.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/events/event-emitter.ts"],"names":[],"mappings":";;AAeO,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/events/event-emitter.ts"],"names":[],"mappings":";;AAeO,MAAM,YAAA,CAAoF;AAAA,EACrF,KAAA,GAAQ,EAAA;AAAA,EACR,aAAA,uBAAoB,GAAA,EAM5B;AAAA,EAEF,EAAA,CAAmC,OAAc,OAAA,EAA0C;AACzF,IAAA,MAAM,EAAA,GAAK,EAAE,IAAA,CAAK,KAAA;AAClB,IAAA,MAAM,OAAO,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAK,KAAK,EAAC;AAC/C,IAAA,IAAA,CAAK,IAAA,CAAK,EAAE,EAAA,EAAI,OAAA,EAAS,CAAA;AACzB,IAAA,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAA,EAAO,IAAI,CAAA;AAClC,IAAA,OAAO,EAAA;AAAA,EACT;AAAA,EAEA,IAAA,CAAqC,OAAc,OAAA,EAA0C;AAC3F,IAAA,MAAM,EAAA,GAAK,IAAA,CAAK,EAAA,CAAG,KAAA,EAAO,CAAC,KAAA,KAAU;AACnC,MAAA,IAAA,CAAK,IAAI,EAAE,CAAA;AACX,MAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,IACf,CAAC,CAAA;AAED,IAAA,OAAO,EAAA;AAAA,EACT;AAAA,EAEA,IAAI,EAAA,EAAY;AACd,IAAA,KAAA,MAAW,CAAC,CAAA,EAAG,IAAI,KAAK,IAAA,CAAK,aAAA,CAAc,SAAQ,EAAG;AACpD,MAAA,MAAM,IAAI,IAAA,CAAK,SAAA,CAAU,CAAC,CAAA,KAAM,CAAA,CAAE,OAAO,EAAE,CAAA;AAE3C,MAAA,IAAI,MAAM,EAAA,EAAI;AAEd,MAAA,IAAA,CAAK,MAAA,CAAO,GAAG,CAAC,CAAA;AAChB,MAAA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,IAAA,CAAqC,OAAc,KAAA,EAA0B;AAC3E,IAAA,MAAM,OAAO,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAK,KAAK,EAAC;AAE/C,IAAA,KAAA,MAAW,OAAO,IAAA,EAAM;AACtB,MAAA,GAAA,CAAI,QAAQ,KAAK,CAAA;AAAA,IACnB;AAAA,EACF;AACF","file":"event-emitter.js","sourcesContent":["export type EventHandler<T = any> = (data: T) => void | Promise<void>;\n\nexport interface IEventEmitter<EventTypes = Record<string, any>> {\n on<Event extends keyof EventTypes>(\n event: Event,\n handler: EventHandler<EventTypes[Event]>\n ): number;\n once<Event extends keyof EventTypes>(\n event: Event,\n handler: EventHandler<EventTypes[Event]>\n ): number;\n off(id: number): void;\n emit<Event extends keyof EventTypes>(event: Event, value: EventTypes[Event]): void;\n}\n\nexport class EventEmitter<EventTypes = Record<string, any>> implements IEventEmitter<EventTypes> {\n protected index = -1;\n protected subscriptions = new Map<\n keyof EventTypes,\n Array<{\n readonly id: number;\n readonly handler: EventHandler;\n }>\n >();\n\n on<Event extends keyof EventTypes>(event: Event, handler: EventHandler<EventTypes[Event]>) {\n const id = ++this.index;\n const subs = this.subscriptions.get(event) || [];\n subs.push({ id, handler });\n this.subscriptions.set(event, subs);\n return id;\n }\n\n once<Event extends keyof EventTypes>(event: Event, handler: EventHandler<EventTypes[Event]>) {\n const id = this.on(event, (value) => {\n this.off(id);\n handler(value);\n });\n\n return id;\n }\n\n off(id: number) {\n for (const [_, subs] of this.subscriptions.entries()) {\n const i = subs.findIndex((s) => s.id === id);\n\n if (i === -1) continue;\n\n subs.splice(i, 1);\n return;\n }\n }\n\n emit<Event extends keyof EventTypes>(event: Event, value: EventTypes[Event]) {\n const subs = this.subscriptions.get(event) || [];\n\n for (const sub of subs) {\n sub.handler(value);\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/events/event-emitter.ts"],"names":[],"mappings":"AAeO,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/events/event-emitter.ts"],"names":[],"mappings":"AAeO,MAAM,YAAA,CAAoF;AAAA,EACrF,KAAA,GAAQ,EAAA;AAAA,EACR,aAAA,uBAAoB,GAAA,EAM5B;AAAA,EAEF,EAAA,CAAmC,OAAc,OAAA,EAA0C;AACzF,IAAA,MAAM,EAAA,GAAK,EAAE,IAAA,CAAK,KAAA;AAClB,IAAA,MAAM,OAAO,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAK,KAAK,EAAC;AAC/C,IAAA,IAAA,CAAK,IAAA,CAAK,EAAE,EAAA,EAAI,OAAA,EAAS,CAAA;AACzB,IAAA,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAA,EAAO,IAAI,CAAA;AAClC,IAAA,OAAO,EAAA;AAAA,EACT;AAAA,EAEA,IAAA,CAAqC,OAAc,OAAA,EAA0C;AAC3F,IAAA,MAAM,EAAA,GAAK,IAAA,CAAK,EAAA,CAAG,KAAA,EAAO,CAAC,KAAA,KAAU;AACnC,MAAA,IAAA,CAAK,IAAI,EAAE,CAAA;AACX,MAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,IACf,CAAC,CAAA;AAED,IAAA,OAAO,EAAA;AAAA,EACT;AAAA,EAEA,IAAI,EAAA,EAAY;AACd,IAAA,KAAA,MAAW,CAAC,CAAA,EAAG,IAAI,KAAK,IAAA,CAAK,aAAA,CAAc,SAAQ,EAAG;AACpD,MAAA,MAAM,IAAI,IAAA,CAAK,SAAA,CAAU,CAAC,CAAA,KAAM,CAAA,CAAE,OAAO,EAAE,CAAA;AAE3C,MAAA,IAAI,MAAM,EAAA,EAAI;AAEd,MAAA,IAAA,CAAK,MAAA,CAAO,GAAG,CAAC,CAAA;AAChB,MAAA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,IAAA,CAAqC,OAAc,KAAA,EAA0B;AAC3E,IAAA,MAAM,OAAO,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAK,KAAK,EAAC;AAE/C,IAAA,KAAA,MAAW,OAAO,IAAA,EAAM;AACtB,MAAA,GAAA,CAAI,QAAQ,KAAK,CAAA;AAAA,IACnB;AAAA,EACF;AACF","file":"event-emitter.mjs","sourcesContent":["export type EventHandler<T = any> = (data: T) => void | Promise<void>;\n\nexport interface IEventEmitter<EventTypes = Record<string, any>> {\n on<Event extends keyof EventTypes>(\n event: Event,\n handler: EventHandler<EventTypes[Event]>\n ): number;\n once<Event extends keyof EventTypes>(\n event: Event,\n handler: EventHandler<EventTypes[Event]>\n ): number;\n off(id: number): void;\n emit<Event extends keyof EventTypes>(event: Event, value: EventTypes[Event]): void;\n}\n\nexport class EventEmitter<EventTypes = Record<string, any>> implements IEventEmitter<EventTypes> {\n protected index = -1;\n protected subscriptions = new Map<\n keyof EventTypes,\n Array<{\n readonly id: number;\n readonly handler: EventHandler;\n }>\n >();\n\n on<Event extends keyof EventTypes>(event: Event, handler: EventHandler<EventTypes[Event]>) {\n const id = ++this.index;\n const subs = this.subscriptions.get(event) || [];\n subs.push({ id, handler });\n this.subscriptions.set(event, subs);\n return id;\n }\n\n once<Event extends keyof EventTypes>(event: Event, handler: EventHandler<EventTypes[Event]>) {\n const id = this.on(event, (value) => {\n this.off(id);\n handler(value);\n });\n\n return id;\n }\n\n off(id: number) {\n for (const [_, subs] of this.subscriptions.entries()) {\n const i = subs.findIndex((s) => s.id === id);\n\n if (i === -1) continue;\n\n subs.splice(i, 1);\n return;\n }\n }\n\n emit<Event extends keyof EventTypes>(event: Event, value: EventTypes[Event]) {\n const subs = this.subscriptions.get(event) || [];\n\n for (const sub of subs) {\n sub.handler(value);\n }\n }\n}\n"]}
|
package/dist/http/client.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RawAxiosRequestHeaders,
|
|
1
|
+
import { RawAxiosRequestHeaders, AxiosInstance, AxiosResponse, AxiosRequestConfig } from 'axios';
|
|
2
2
|
import { ILogger } from '../logging/logger.mjs';
|
|
3
3
|
import { Interceptor } from './interceptor.mjs';
|
|
4
4
|
import { Token } from './token.mjs';
|
package/dist/http/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RawAxiosRequestHeaders,
|
|
1
|
+
import { RawAxiosRequestHeaders, AxiosInstance, AxiosResponse, AxiosRequestConfig } from 'axios';
|
|
2
2
|
import { ILogger } from '../logging/logger.js';
|
|
3
3
|
import { Interceptor } from './interceptor.js';
|
|
4
4
|
import { Token } from './token.js';
|
package/dist/http/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/http/client.ts"],"names":["ConsoleLogger","axios"],"mappings":"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","file":"client.js","sourcesContent":["import axios, {\n AxiosInstance,\n AxiosResponse,\n AxiosRequestConfig,\n RawAxiosRequestHeaders,\n} from 'axios';\n\nimport { ConsoleLogger, ILogger } from '../logging';\n\nimport { Interceptor } from './interceptor';\nimport { Token } from './token';\n\nexport type ClientOptions = {\n /**\n * The client name\n */\n readonly name?: string;\n\n /**\n * The authorization token to use\n */\n readonly token?: Token;\n\n /**\n *: ILogger instance to use\n */\n readonly logger?: ILogger;\n\n /**\n * The baseUrl to prefix all client requests with\n */\n readonly baseUrl?: string;\n\n /**\n * Default request timeout (ms)\n */\n readonly timeout?: number;\n\n /**\n * Default headers\n */\n readonly headers?: RawAxiosRequestHeaders;\n\n /**\n * Default interceptors to register\n */\n readonly interceptors?: Array<Interceptor>;\n};\n\nexport type RequestConfig<D = any> = AxiosRequestConfig<D> & {\n /**\n * If provided, this token will be used instead of\n * the default token provided in the `ClientOptions`\n */\n token?: Token;\n};\n\ntype InterceptorRegistry = {\n readonly requestId?: number;\n readonly responseId?: number;\n readonly interceptor: Interceptor;\n};\n\nexport class Client {\n token?: Token;\n readonly name: string;\n\n protected options: ClientOptions;\n protected log: ILogger;\n protected http: AxiosInstance;\n protected seq: number = 0;\n protected interceptors: Map<number, InterceptorRegistry>;\n\n constructor(options: ClientOptions = {}) {\n this.options = options;\n this.name = options.name || 'http';\n this.token = options.token;\n this.log = options.logger || new ConsoleLogger(this.name);\n this.interceptors = new Map<number, InterceptorRegistry>();\n this.http = axios.create({\n baseURL: options.baseUrl,\n timeout: options.timeout,\n headers: options.headers,\n });\n\n for (const interceptor of options.interceptors || []) {\n this.use(interceptor);\n }\n }\n\n async get<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: RequestConfig<D>) {\n return this.http.get<T, R, D>(url, await this.withConfig(config));\n }\n\n async post<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.post<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async put<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.put<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async patch<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.patch<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async delete<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: RequestConfig<D>) {\n return this.http.delete<T, R, D>(url, await this.withConfig(config));\n }\n\n async request<T = any, R = AxiosResponse<T>, D = any>(config: RequestConfig<D>) {\n return this.http.request<T, R, D>(await this.withConfig(config));\n }\n\n /**\n * Register an interceptor to use\n * as middleware for the request/response/error\n */\n use(interceptor: Interceptor) {\n const id = ++this.seq;\n let requestId: number | undefined = undefined;\n let responseId: number | undefined = undefined;\n\n if (interceptor.request) {\n requestId = this.http.interceptors.request.use(\n /* istanbul ignore next */\n (config) => {\n return interceptor.request!({ config, log: this.log });\n },\n /* istanbul ignore next */\n (error: any) => {\n if (!interceptor.error) return error;\n return interceptor.error({ error, log: this.log });\n }\n );\n }\n\n if (interceptor.response) {\n responseId = this.http.interceptors.response.use(\n /* istanbul ignore next */\n (res) => {\n return interceptor.response!({ res, log: this.log });\n },\n /* istanbul ignore next */\n (error: any) => {\n if (!interceptor.error) return error;\n return interceptor.error({ error, log: this.log });\n }\n );\n }\n\n this.interceptors.set(id, {\n requestId,\n responseId,\n interceptor,\n });\n\n return id;\n }\n\n /**\n * Eject an interceptor\n */\n eject(id: number) {\n const registry = this.interceptors.get(id);\n\n if (!registry) return;\n\n if (registry.requestId) {\n this.http.interceptors.request.eject(registry.requestId);\n }\n\n if (registry.responseId) {\n this.http.interceptors.response.eject(registry.responseId);\n }\n\n this.interceptors.delete(id);\n }\n\n /**\n * Clear (Eject) all interceptors\n */\n clear() {\n for (const id of this.interceptors.keys()) {\n this.eject(id);\n }\n }\n\n /**\n * Create a copy of the client\n */\n clone(options?: ClientOptions) {\n return new Client({\n ...this.options,\n ...options,\n headers: {\n ...this.options.headers,\n ...options?.headers,\n },\n interceptors: [...Array.from(this.interceptors.values()).map((i) => i.interceptor)],\n });\n }\n\n protected async withConfig(config: RequestConfig = {}) {\n let token = config.token || this.token;\n\n if (config.token) {\n delete config.token;\n }\n\n if (this.options.headers) {\n if (!config.headers) {\n config.headers = {};\n }\n\n for (const key in this.options.headers) {\n config.headers[key] = this.options.headers[key];\n }\n }\n\n if (token) {\n if (!config.headers) {\n config.headers = {};\n }\n\n if (typeof token === 'function') {\n token = await token(config);\n }\n\n if (token && typeof token === 'object') {\n token = token.toString();\n }\n\n config.headers['Authorization'] = `Bearer ${token}`;\n }\n\n return config;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/http/client.ts"],"names":["ConsoleLogger","axios"],"mappings":"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","file":"client.js","sourcesContent":["import axios, {\n AxiosInstance,\n AxiosResponse,\n AxiosRequestConfig,\n RawAxiosRequestHeaders,\n} from 'axios';\n\nimport { ConsoleLogger, ILogger } from '../logging';\n\nimport { Interceptor } from './interceptor';\nimport { Token } from './token';\n\nexport type ClientOptions = {\n /**\n * The client name\n */\n readonly name?: string;\n\n /**\n * The authorization token to use\n */\n readonly token?: Token;\n\n /**\n *: ILogger instance to use\n */\n readonly logger?: ILogger;\n\n /**\n * The baseUrl to prefix all client requests with\n */\n readonly baseUrl?: string;\n\n /**\n * Default request timeout (ms)\n */\n readonly timeout?: number;\n\n /**\n * Default headers\n */\n readonly headers?: RawAxiosRequestHeaders;\n\n /**\n * Default interceptors to register\n */\n readonly interceptors?: Array<Interceptor>;\n};\n\nexport type RequestConfig<D = any> = AxiosRequestConfig<D> & {\n /**\n * If provided, this token will be used instead of\n * the default token provided in the `ClientOptions`\n */\n token?: Token;\n};\n\ntype InterceptorRegistry = {\n readonly requestId?: number;\n readonly responseId?: number;\n readonly interceptor: Interceptor;\n};\n\nexport class Client {\n token?: Token;\n readonly name: string;\n\n protected options: ClientOptions;\n protected log: ILogger;\n protected http: AxiosInstance;\n protected seq: number = 0;\n protected interceptors: Map<number, InterceptorRegistry>;\n\n constructor(options: ClientOptions = {}) {\n this.options = options;\n this.name = options.name || 'http';\n this.token = options.token;\n this.log = options.logger || new ConsoleLogger(this.name);\n this.interceptors = new Map<number, InterceptorRegistry>();\n this.http = axios.create({\n baseURL: options.baseUrl,\n timeout: options.timeout,\n headers: options.headers,\n });\n\n for (const interceptor of options.interceptors || []) {\n this.use(interceptor);\n }\n }\n\n async get<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: RequestConfig<D>) {\n return this.http.get<T, R, D>(url, await this.withConfig(config));\n }\n\n async post<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.post<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async put<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.put<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async patch<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.patch<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async delete<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: RequestConfig<D>) {\n return this.http.delete<T, R, D>(url, await this.withConfig(config));\n }\n\n async request<T = any, R = AxiosResponse<T>, D = any>(config: RequestConfig<D>) {\n return this.http.request<T, R, D>(await this.withConfig(config));\n }\n\n /**\n * Register an interceptor to use\n * as middleware for the request/response/error\n */\n use(interceptor: Interceptor) {\n const id = ++this.seq;\n let requestId: number | undefined = undefined;\n let responseId: number | undefined = undefined;\n\n if (interceptor.request) {\n requestId = this.http.interceptors.request.use(\n /* istanbul ignore next */\n (config) => {\n return interceptor.request!({ config, log: this.log });\n },\n /* istanbul ignore next */\n (error: any) => {\n if (!interceptor.error) return error;\n return interceptor.error({ error, log: this.log });\n }\n );\n }\n\n if (interceptor.response) {\n responseId = this.http.interceptors.response.use(\n /* istanbul ignore next */\n (res) => {\n return interceptor.response!({ res, log: this.log });\n },\n /* istanbul ignore next */\n (error: any) => {\n if (!interceptor.error) return error;\n return interceptor.error({ error, log: this.log });\n }\n );\n }\n\n this.interceptors.set(id, {\n requestId,\n responseId,\n interceptor,\n });\n\n return id;\n }\n\n /**\n * Eject an interceptor\n */\n eject(id: number) {\n const registry = this.interceptors.get(id);\n\n if (!registry) return;\n\n if (registry.requestId) {\n this.http.interceptors.request.eject(registry.requestId);\n }\n\n if (registry.responseId) {\n this.http.interceptors.response.eject(registry.responseId);\n }\n\n this.interceptors.delete(id);\n }\n\n /**\n * Clear (Eject) all interceptors\n */\n clear() {\n for (const id of this.interceptors.keys()) {\n this.eject(id);\n }\n }\n\n /**\n * Create a copy of the client\n */\n clone(options?: ClientOptions) {\n return new Client({\n ...this.options,\n ...options,\n headers: {\n ...this.options.headers,\n ...options?.headers,\n },\n interceptors: [...Array.from(this.interceptors.values()).map((i) => i.interceptor)],\n });\n }\n\n protected async withConfig(config: RequestConfig = {}) {\n let token = config.token || this.token;\n\n if (config.token) {\n delete config.token;\n }\n\n if (this.options.headers) {\n if (!config.headers) {\n config.headers = {};\n }\n\n for (const key in this.options.headers) {\n config.headers[key] = this.options.headers[key];\n }\n }\n\n if (token) {\n if (!config.headers) {\n config.headers = {};\n }\n\n if (typeof token === 'function') {\n token = await token(config);\n }\n\n if (token && typeof token === 'object') {\n token = token.toString();\n }\n\n config.headers['Authorization'] = `Bearer ${token}`;\n }\n\n return config;\n }\n}\n"]}
|
package/dist/http/client.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/http/client.ts"],"names":[],"mappings":"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","file":"client.mjs","sourcesContent":["import axios, {\n AxiosInstance,\n AxiosResponse,\n AxiosRequestConfig,\n RawAxiosRequestHeaders,\n} from 'axios';\n\nimport { ConsoleLogger, ILogger } from '../logging';\n\nimport { Interceptor } from './interceptor';\nimport { Token } from './token';\n\nexport type ClientOptions = {\n /**\n * The client name\n */\n readonly name?: string;\n\n /**\n * The authorization token to use\n */\n readonly token?: Token;\n\n /**\n *: ILogger instance to use\n */\n readonly logger?: ILogger;\n\n /**\n * The baseUrl to prefix all client requests with\n */\n readonly baseUrl?: string;\n\n /**\n * Default request timeout (ms)\n */\n readonly timeout?: number;\n\n /**\n * Default headers\n */\n readonly headers?: RawAxiosRequestHeaders;\n\n /**\n * Default interceptors to register\n */\n readonly interceptors?: Array<Interceptor>;\n};\n\nexport type RequestConfig<D = any> = AxiosRequestConfig<D> & {\n /**\n * If provided, this token will be used instead of\n * the default token provided in the `ClientOptions`\n */\n token?: Token;\n};\n\ntype InterceptorRegistry = {\n readonly requestId?: number;\n readonly responseId?: number;\n readonly interceptor: Interceptor;\n};\n\nexport class Client {\n token?: Token;\n readonly name: string;\n\n protected options: ClientOptions;\n protected log: ILogger;\n protected http: AxiosInstance;\n protected seq: number = 0;\n protected interceptors: Map<number, InterceptorRegistry>;\n\n constructor(options: ClientOptions = {}) {\n this.options = options;\n this.name = options.name || 'http';\n this.token = options.token;\n this.log = options.logger || new ConsoleLogger(this.name);\n this.interceptors = new Map<number, InterceptorRegistry>();\n this.http = axios.create({\n baseURL: options.baseUrl,\n timeout: options.timeout,\n headers: options.headers,\n });\n\n for (const interceptor of options.interceptors || []) {\n this.use(interceptor);\n }\n }\n\n async get<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: RequestConfig<D>) {\n return this.http.get<T, R, D>(url, await this.withConfig(config));\n }\n\n async post<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.post<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async put<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.put<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async patch<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.patch<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async delete<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: RequestConfig<D>) {\n return this.http.delete<T, R, D>(url, await this.withConfig(config));\n }\n\n async request<T = any, R = AxiosResponse<T>, D = any>(config: RequestConfig<D>) {\n return this.http.request<T, R, D>(await this.withConfig(config));\n }\n\n /**\n * Register an interceptor to use\n * as middleware for the request/response/error\n */\n use(interceptor: Interceptor) {\n const id = ++this.seq;\n let requestId: number | undefined = undefined;\n let responseId: number | undefined = undefined;\n\n if (interceptor.request) {\n requestId = this.http.interceptors.request.use(\n /* istanbul ignore next */\n (config) => {\n return interceptor.request!({ config, log: this.log });\n },\n /* istanbul ignore next */\n (error: any) => {\n if (!interceptor.error) return error;\n return interceptor.error({ error, log: this.log });\n }\n );\n }\n\n if (interceptor.response) {\n responseId = this.http.interceptors.response.use(\n /* istanbul ignore next */\n (res) => {\n return interceptor.response!({ res, log: this.log });\n },\n /* istanbul ignore next */\n (error: any) => {\n if (!interceptor.error) return error;\n return interceptor.error({ error, log: this.log });\n }\n );\n }\n\n this.interceptors.set(id, {\n requestId,\n responseId,\n interceptor,\n });\n\n return id;\n }\n\n /**\n * Eject an interceptor\n */\n eject(id: number) {\n const registry = this.interceptors.get(id);\n\n if (!registry) return;\n\n if (registry.requestId) {\n this.http.interceptors.request.eject(registry.requestId);\n }\n\n if (registry.responseId) {\n this.http.interceptors.response.eject(registry.responseId);\n }\n\n this.interceptors.delete(id);\n }\n\n /**\n * Clear (Eject) all interceptors\n */\n clear() {\n for (const id of this.interceptors.keys()) {\n this.eject(id);\n }\n }\n\n /**\n * Create a copy of the client\n */\n clone(options?: ClientOptions) {\n return new Client({\n ...this.options,\n ...options,\n headers: {\n ...this.options.headers,\n ...options?.headers,\n },\n interceptors: [...Array.from(this.interceptors.values()).map((i) => i.interceptor)],\n });\n }\n\n protected async withConfig(config: RequestConfig = {}) {\n let token = config.token || this.token;\n\n if (config.token) {\n delete config.token;\n }\n\n if (this.options.headers) {\n if (!config.headers) {\n config.headers = {};\n }\n\n for (const key in this.options.headers) {\n config.headers[key] = this.options.headers[key];\n }\n }\n\n if (token) {\n if (!config.headers) {\n config.headers = {};\n }\n\n if (typeof token === 'function') {\n token = await token(config);\n }\n\n if (token && typeof token === 'object') {\n token = token.toString();\n }\n\n config.headers['Authorization'] = `Bearer ${token}`;\n }\n\n return config;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/http/client.ts"],"names":[],"mappings":";;;AA+DO,MAAM,MAAA,CAAO;AAAA,EAClB,KAAA;AAAA,EACS,IAAA;AAAA,EAEC,OAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAA,GAAc,CAAA;AAAA,EACd,YAAA;AAAA,EAEV,WAAA,CAAY,OAAA,GAAyB,EAAC,EAAG;AACvC,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AACf,IAAA,IAAA,CAAK,IAAA,GAAO,QAAQ,IAAA,IAAQ,MAAA;AAC5B,IAAA,IAAA,CAAK,QAAQ,OAAA,CAAQ,KAAA;AACrB,IAAA,IAAA,CAAK,MAAM,OAAA,CAAQ,MAAA,IAAU,IAAI,aAAA,CAAc,KAAK,IAAI,CAAA;AACxD,IAAA,IAAA,CAAK,YAAA,uBAAmB,GAAA,EAAiC;AACzD,IAAA,IAAA,CAAK,IAAA,GAAO,MAAM,MAAA,CAAO;AAAA,MACvB,SAAS,OAAA,CAAQ,OAAA;AAAA,MACjB,SAAS,OAAA,CAAQ,OAAA;AAAA,MACjB,SAAS,OAAA,CAAQ;AAAA,KAClB,CAAA;AAED,IAAA,KAAA,MAAW,WAAA,IAAe,OAAA,CAAQ,YAAA,IAAgB,EAAC,EAAG;AACpD,MAAA,IAAA,CAAK,IAAI,WAAW,CAAA;AAAA,IACtB;AAAA,EACF;AAAA,EAEA,MAAM,GAAA,CAA4C,GAAA,EAAa,MAAA,EAA2B;AACxF,IAAA,OAAO,IAAA,CAAK,KAAK,GAAA,CAAa,GAAA,EAAK,MAAM,IAAA,CAAK,UAAA,CAAW,MAAM,CAAC,CAAA;AAAA,EAClE;AAAA,EAEA,MAAM,IAAA,CACJ,GAAA,EACA,IAAA,EACA,MAAA,EACA;AACA,IAAA,OAAO,IAAA,CAAK,KAAK,IAAA,CAAc,GAAA,EAAK,MAAM,MAAM,IAAA,CAAK,UAAA,CAAW,MAAM,CAAC,CAAA;AAAA,EACzE;AAAA,EAEA,MAAM,GAAA,CACJ,GAAA,EACA,IAAA,EACA,MAAA,EACA;AACA,IAAA,OAAO,IAAA,CAAK,KAAK,GAAA,CAAa,GAAA,EAAK,MAAM,MAAM,IAAA,CAAK,UAAA,CAAW,MAAM,CAAC,CAAA;AAAA,EACxE;AAAA,EAEA,MAAM,KAAA,CACJ,GAAA,EACA,IAAA,EACA,MAAA,EACA;AACA,IAAA,OAAO,IAAA,CAAK,KAAK,KAAA,CAAe,GAAA,EAAK,MAAM,MAAM,IAAA,CAAK,UAAA,CAAW,MAAM,CAAC,CAAA;AAAA,EAC1E;AAAA,EAEA,MAAM,MAAA,CAA+C,GAAA,EAAa,MAAA,EAA2B;AAC3F,IAAA,OAAO,IAAA,CAAK,KAAK,MAAA,CAAgB,GAAA,EAAK,MAAM,IAAA,CAAK,UAAA,CAAW,MAAM,CAAC,CAAA;AAAA,EACrE;AAAA,EAEA,MAAM,QAAgD,MAAA,EAA0B;AAC9E,IAAA,OAAO,KAAK,IAAA,CAAK,OAAA,CAAiB,MAAM,IAAA,CAAK,UAAA,CAAW,MAAM,CAAC,CAAA;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,WAAA,EAA0B;AAC5B,IAAA,MAAM,EAAA,GAAK,EAAE,IAAA,CAAK,GAAA;AAClB,IAAA,IAAI,SAAA,GAAgC,MAAA;AACpC,IAAA,IAAI,UAAA,GAAiC,MAAA;AAErC,IAAA,IAAI,YAAY,OAAA,EAAS;AACvB,MAAA,SAAA,GAAY,IAAA,CAAK,IAAA,CAAK,YAAA,CAAa,OAAA,CAAQ,GAAA;AAAA;AAAA,QAEzC,CAAC,MAAA,KAAW;AACV,UAAA,OAAO,YAAY,OAAA,CAAS,EAAE,QAAQ,GAAA,EAAK,IAAA,CAAK,KAAK,CAAA;AAAA,QACvD,CAAA;AAAA;AAAA,QAEA,CAAC,KAAA,KAAe;AACd,UAAA,IAAI,CAAC,WAAA,CAAY,KAAA,EAAO,OAAO,KAAA;AAC/B,UAAA,OAAO,YAAY,KAAA,CAAM,EAAE,OAAO,GAAA,EAAK,IAAA,CAAK,KAAK,CAAA;AAAA,QACnD;AAAA,OACF;AAAA,IACF;AAEA,IAAA,IAAI,YAAY,QAAA,EAAU;AACxB,MAAA,UAAA,GAAa,IAAA,CAAK,IAAA,CAAK,YAAA,CAAa,QAAA,CAAS,GAAA;AAAA;AAAA,QAE3C,CAAC,GAAA,KAAQ;AACP,UAAA,OAAO,YAAY,QAAA,CAAU,EAAE,KAAK,GAAA,EAAK,IAAA,CAAK,KAAK,CAAA;AAAA,QACrD,CAAA;AAAA;AAAA,QAEA,CAAC,KAAA,KAAe;AACd,UAAA,IAAI,CAAC,WAAA,CAAY,KAAA,EAAO,OAAO,KAAA;AAC/B,UAAA,OAAO,YAAY,KAAA,CAAM,EAAE,OAAO,GAAA,EAAK,IAAA,CAAK,KAAK,CAAA;AAAA,QACnD;AAAA,OACF;AAAA,IACF;AAEA,IAAA,IAAA,CAAK,YAAA,CAAa,IAAI,EAAA,EAAI;AAAA,MACxB,SAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,OAAO,EAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,EAAA,EAAY;AAChB,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,YAAA,CAAa,GAAA,CAAI,EAAE,CAAA;AAEzC,IAAA,IAAI,CAAC,QAAA,EAAU;AAEf,IAAA,IAAI,SAAS,SAAA,EAAW;AACtB,MAAA,IAAA,CAAK,IAAA,CAAK,YAAA,CAAa,OAAA,CAAQ,KAAA,CAAM,SAAS,SAAS,CAAA;AAAA,IACzD;AAEA,IAAA,IAAI,SAAS,UAAA,EAAY;AACvB,MAAA,IAAA,CAAK,IAAA,CAAK,YAAA,CAAa,QAAA,CAAS,KAAA,CAAM,SAAS,UAAU,CAAA;AAAA,IAC3D;AAEA,IAAA,IAAA,CAAK,YAAA,CAAa,OAAO,EAAE,CAAA;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA,EAKA,KAAA,GAAQ;AACN,IAAA,KAAA,MAAW,EAAA,IAAM,IAAA,CAAK,YAAA,CAAa,IAAA,EAAK,EAAG;AACzC,MAAA,IAAA,CAAK,MAAM,EAAE,CAAA;AAAA,IACf;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAA,EAAyB;AAC7B,IAAA,OAAO,IAAI,MAAA,CAAO;AAAA,MAChB,GAAG,IAAA,CAAK,OAAA;AAAA,MACR,GAAG,OAAA;AAAA,MACH,OAAA,EAAS;AAAA,QACP,GAAG,KAAK,OAAA,CAAQ,OAAA;AAAA,QAChB,GAAG,OAAA,EAAS;AAAA,OACd;AAAA,MACA,YAAA,EAAc,CAAC,GAAG,KAAA,CAAM,KAAK,IAAA,CAAK,YAAA,CAAa,MAAA,EAAQ,EAAE,GAAA,CAAI,CAAC,CAAA,KAAM,CAAA,CAAE,WAAW,CAAC;AAAA,KACnF,CAAA;AAAA,EACH;AAAA,EAEA,MAAgB,UAAA,CAAW,MAAA,GAAwB,EAAC,EAAG;AACrD,IAAA,IAAI,KAAA,GAAQ,MAAA,CAAO,KAAA,IAAS,IAAA,CAAK,KAAA;AAEjC,IAAA,IAAI,OAAO,KAAA,EAAO;AAChB,MAAA,OAAO,MAAA,CAAO,KAAA;AAAA,IAChB;AAEA,IAAA,IAAI,IAAA,CAAK,QAAQ,OAAA,EAAS;AACxB,MAAA,IAAI,CAAC,OAAO,OAAA,EAAS;AACnB,QAAA,MAAA,CAAO,UAAU,EAAC;AAAA,MACpB;AAEA,MAAA,KAAA,MAAW,GAAA,IAAO,IAAA,CAAK,OAAA,CAAQ,OAAA,EAAS;AACtC,QAAA,MAAA,CAAO,QAAQ,GAAG,CAAA,GAAI,IAAA,CAAK,OAAA,CAAQ,QAAQ,GAAG,CAAA;AAAA,MAChD;AAAA,IACF;AAEA,IAAA,IAAI,KAAA,EAAO;AACT,MAAA,IAAI,CAAC,OAAO,OAAA,EAAS;AACnB,QAAA,MAAA,CAAO,UAAU,EAAC;AAAA,MACpB;AAEA,MAAA,IAAI,OAAO,UAAU,UAAA,EAAY;AAC/B,QAAA,KAAA,GAAQ,MAAM,MAAM,MAAM,CAAA;AAAA,MAC5B;AAEA,MAAA,IAAI,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,EAAU;AACtC,QAAA,KAAA,GAAQ,MAAM,QAAA,EAAS;AAAA,MACzB;AAEA,MAAA,MAAA,CAAO,OAAA,CAAQ,eAAe,CAAA,GAAI,CAAA,OAAA,EAAU,KAAK,CAAA,CAAA;AAAA,IACnD;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AACF","file":"client.mjs","sourcesContent":["import axios, {\n AxiosInstance,\n AxiosResponse,\n AxiosRequestConfig,\n RawAxiosRequestHeaders,\n} from 'axios';\n\nimport { ConsoleLogger, ILogger } from '../logging';\n\nimport { Interceptor } from './interceptor';\nimport { Token } from './token';\n\nexport type ClientOptions = {\n /**\n * The client name\n */\n readonly name?: string;\n\n /**\n * The authorization token to use\n */\n readonly token?: Token;\n\n /**\n *: ILogger instance to use\n */\n readonly logger?: ILogger;\n\n /**\n * The baseUrl to prefix all client requests with\n */\n readonly baseUrl?: string;\n\n /**\n * Default request timeout (ms)\n */\n readonly timeout?: number;\n\n /**\n * Default headers\n */\n readonly headers?: RawAxiosRequestHeaders;\n\n /**\n * Default interceptors to register\n */\n readonly interceptors?: Array<Interceptor>;\n};\n\nexport type RequestConfig<D = any> = AxiosRequestConfig<D> & {\n /**\n * If provided, this token will be used instead of\n * the default token provided in the `ClientOptions`\n */\n token?: Token;\n};\n\ntype InterceptorRegistry = {\n readonly requestId?: number;\n readonly responseId?: number;\n readonly interceptor: Interceptor;\n};\n\nexport class Client {\n token?: Token;\n readonly name: string;\n\n protected options: ClientOptions;\n protected log: ILogger;\n protected http: AxiosInstance;\n protected seq: number = 0;\n protected interceptors: Map<number, InterceptorRegistry>;\n\n constructor(options: ClientOptions = {}) {\n this.options = options;\n this.name = options.name || 'http';\n this.token = options.token;\n this.log = options.logger || new ConsoleLogger(this.name);\n this.interceptors = new Map<number, InterceptorRegistry>();\n this.http = axios.create({\n baseURL: options.baseUrl,\n timeout: options.timeout,\n headers: options.headers,\n });\n\n for (const interceptor of options.interceptors || []) {\n this.use(interceptor);\n }\n }\n\n async get<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: RequestConfig<D>) {\n return this.http.get<T, R, D>(url, await this.withConfig(config));\n }\n\n async post<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.post<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async put<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.put<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async patch<T = any, R = AxiosResponse<T>, D = any>(\n url: string,\n data?: D,\n config?: RequestConfig<D>\n ) {\n return this.http.patch<T, R, D>(url, data, await this.withConfig(config));\n }\n\n async delete<T = any, R = AxiosResponse<T>, D = any>(url: string, config?: RequestConfig<D>) {\n return this.http.delete<T, R, D>(url, await this.withConfig(config));\n }\n\n async request<T = any, R = AxiosResponse<T>, D = any>(config: RequestConfig<D>) {\n return this.http.request<T, R, D>(await this.withConfig(config));\n }\n\n /**\n * Register an interceptor to use\n * as middleware for the request/response/error\n */\n use(interceptor: Interceptor) {\n const id = ++this.seq;\n let requestId: number | undefined = undefined;\n let responseId: number | undefined = undefined;\n\n if (interceptor.request) {\n requestId = this.http.interceptors.request.use(\n /* istanbul ignore next */\n (config) => {\n return interceptor.request!({ config, log: this.log });\n },\n /* istanbul ignore next */\n (error: any) => {\n if (!interceptor.error) return error;\n return interceptor.error({ error, log: this.log });\n }\n );\n }\n\n if (interceptor.response) {\n responseId = this.http.interceptors.response.use(\n /* istanbul ignore next */\n (res) => {\n return interceptor.response!({ res, log: this.log });\n },\n /* istanbul ignore next */\n (error: any) => {\n if (!interceptor.error) return error;\n return interceptor.error({ error, log: this.log });\n }\n );\n }\n\n this.interceptors.set(id, {\n requestId,\n responseId,\n interceptor,\n });\n\n return id;\n }\n\n /**\n * Eject an interceptor\n */\n eject(id: number) {\n const registry = this.interceptors.get(id);\n\n if (!registry) return;\n\n if (registry.requestId) {\n this.http.interceptors.request.eject(registry.requestId);\n }\n\n if (registry.responseId) {\n this.http.interceptors.response.eject(registry.responseId);\n }\n\n this.interceptors.delete(id);\n }\n\n /**\n * Clear (Eject) all interceptors\n */\n clear() {\n for (const id of this.interceptors.keys()) {\n this.eject(id);\n }\n }\n\n /**\n * Create a copy of the client\n */\n clone(options?: ClientOptions) {\n return new Client({\n ...this.options,\n ...options,\n headers: {\n ...this.options.headers,\n ...options?.headers,\n },\n interceptors: [...Array.from(this.interceptors.values()).map((i) => i.interceptor)],\n });\n }\n\n protected async withConfig(config: RequestConfig = {}) {\n let token = config.token || this.token;\n\n if (config.token) {\n delete config.token;\n }\n\n if (this.options.headers) {\n if (!config.headers) {\n config.headers = {};\n }\n\n for (const key in this.options.headers) {\n config.headers[key] = this.options.headers[key];\n }\n }\n\n if (token) {\n if (!config.headers) {\n config.headers = {};\n }\n\n if (typeof token === 'function') {\n token = await token(config);\n }\n\n if (token && typeof token === 'object') {\n token = token.toString();\n }\n\n config.headers['Authorization'] = `Bearer ${token}`;\n }\n\n return config;\n }\n}\n"]}
|
package/dist/logging/ansi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/logging/ansi.ts"],"names":["ANSI"],"mappings":";;
|
|
1
|
+
{"version":3,"sources":["../../src/logging/ansi.ts"],"names":["ANSI"],"mappings":";;AAAO,IAAK,IAAA,qBAAAA,KAAAA,KAAL;AACL,EAAAA,MAAA,OAAA,CAAA,GAAQ,SAAA;AAER,EAAAA,MAAA,MAAA,CAAA,GAAO,SAAA;AACP,EAAAA,MAAA,WAAA,CAAA,GAAY,UAAA;AACZ,EAAAA,MAAA,QAAA,CAAA,GAAS,SAAA;AACT,EAAAA,MAAA,aAAA,CAAA,GAAc,UAAA;AACd,EAAAA,MAAA,WAAA,CAAA,GAAY,SAAA;AACZ,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,QAAA,CAAA,GAAS,SAAA;AACT,EAAAA,MAAA,aAAA,CAAA,GAAc,UAAA;AAEd,EAAAA,MAAA,iBAAA,CAAA,GAAkB,SAAA;AAClB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,SAAA;AAClB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,eAAA,CAAA,GAAgB,UAAA;AAChB,EAAAA,MAAA,eAAA,CAAA,GAAgB,UAAA;AAChB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,kBAAA,CAAA,GAAmB,UAAA;AACnB,EAAAA,MAAA,kBAAA,CAAA,GAAmB,UAAA;AACnB,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,mBAAA,CAAA,GAAoB,UAAA;AACpB,EAAAA,MAAA,mBAAA,CAAA,GAAoB,UAAA;AACpB,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,mBAAA,CAAA,GAAoB,UAAA;AACpB,EAAAA,MAAA,mBAAA,CAAA,GAAoB,UAAA;AAhCV,EAAA,OAAAA,KAAAA;AAAA,CAAA,EAAA,IAAA,IAAA,EAAA","file":"ansi.js","sourcesContent":["export enum ANSI {\n Reset = '\\x1b[0m',\n\n Bold = '\\x1b[1m',\n BoldReset = '\\x1b[22m',\n Italic = '\\x1b[3m',\n ItalicReset = '\\x1b[23m',\n Underline = '\\x1b[4m',\n UnderlineReset = '\\x1b[24m',\n Strike = '\\x1b[9m',\n StrikeReset = '\\x1b[29m',\n\n ForegroundReset = '\\x1b[0m',\n BackgroundReset = '\\x1b[0m',\n ForegroundBlack = '\\x1b[30m',\n BackgroundBlack = '\\x1b[40m',\n ForegroundRed = '\\x1b[31m',\n BackgroundRed = '\\x1b[41m',\n ForegroundGreen = '\\x1b[32m',\n BackgroundGreen = '\\x1b[42m',\n ForegroundYellow = '\\x1b[33m',\n BackgroundYellow = '\\x1b[43m',\n ForegroundBlue = '\\x1b[34m',\n BackgroundBlue = '\\x1b[44m',\n ForegroundMagenta = '\\x1b[35m',\n BackgroundMagenta = '\\x1b[45m',\n ForegroundCyan = '\\x1b[36m',\n BackgroundCyan = '\\x1b[46m',\n ForegroundWhite = '\\x1b[37m',\n BackgroundWhite = '\\x1b[47m',\n ForegroundGray = '\\x1b[90m',\n ForegroundDefault = '\\x1b[39m',\n BackgroundDefault = '\\x1b[49m',\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/logging/ansi.ts"],"names":["ANSI"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/logging/ansi.ts"],"names":["ANSI"],"mappings":"AAAO,IAAK,IAAA,qBAAAA,KAAAA,KAAL;AACL,EAAAA,MAAA,OAAA,CAAA,GAAQ,SAAA;AAER,EAAAA,MAAA,MAAA,CAAA,GAAO,SAAA;AACP,EAAAA,MAAA,WAAA,CAAA,GAAY,UAAA;AACZ,EAAAA,MAAA,QAAA,CAAA,GAAS,SAAA;AACT,EAAAA,MAAA,aAAA,CAAA,GAAc,UAAA;AACd,EAAAA,MAAA,WAAA,CAAA,GAAY,SAAA;AACZ,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,QAAA,CAAA,GAAS,SAAA;AACT,EAAAA,MAAA,aAAA,CAAA,GAAc,UAAA;AAEd,EAAAA,MAAA,iBAAA,CAAA,GAAkB,SAAA;AAClB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,SAAA;AAClB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,eAAA,CAAA,GAAgB,UAAA;AAChB,EAAAA,MAAA,eAAA,CAAA,GAAgB,UAAA;AAChB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,kBAAA,CAAA,GAAmB,UAAA;AACnB,EAAAA,MAAA,kBAAA,CAAA,GAAmB,UAAA;AACnB,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,mBAAA,CAAA,GAAoB,UAAA;AACpB,EAAAA,MAAA,mBAAA,CAAA,GAAoB,UAAA;AACpB,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,iBAAA,CAAA,GAAkB,UAAA;AAClB,EAAAA,MAAA,gBAAA,CAAA,GAAiB,UAAA;AACjB,EAAAA,MAAA,mBAAA,CAAA,GAAoB,UAAA;AACpB,EAAAA,MAAA,mBAAA,CAAA,GAAoB,UAAA;AAhCV,EAAA,OAAAA,KAAAA;AAAA,CAAA,EAAA,IAAA,IAAA,EAAA","file":"ansi.mjs","sourcesContent":["export enum ANSI {\n Reset = '\\x1b[0m',\n\n Bold = '\\x1b[1m',\n BoldReset = '\\x1b[22m',\n Italic = '\\x1b[3m',\n ItalicReset = '\\x1b[23m',\n Underline = '\\x1b[4m',\n UnderlineReset = '\\x1b[24m',\n Strike = '\\x1b[9m',\n StrikeReset = '\\x1b[29m',\n\n ForegroundReset = '\\x1b[0m',\n BackgroundReset = '\\x1b[0m',\n ForegroundBlack = '\\x1b[30m',\n BackgroundBlack = '\\x1b[40m',\n ForegroundRed = '\\x1b[31m',\n BackgroundRed = '\\x1b[41m',\n ForegroundGreen = '\\x1b[32m',\n BackgroundGreen = '\\x1b[42m',\n ForegroundYellow = '\\x1b[33m',\n BackgroundYellow = '\\x1b[43m',\n ForegroundBlue = '\\x1b[34m',\n BackgroundBlue = '\\x1b[44m',\n ForegroundMagenta = '\\x1b[35m',\n BackgroundMagenta = '\\x1b[45m',\n ForegroundCyan = '\\x1b[36m',\n BackgroundCyan = '\\x1b[46m',\n ForegroundWhite = '\\x1b[37m',\n BackgroundWhite = '\\x1b[47m',\n ForegroundGray = '\\x1b[90m',\n ForegroundDefault = '\\x1b[39m',\n BackgroundDefault = '\\x1b[49m',\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/logging/console.ts"],"names":["ANSI"],"mappings":"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","file":"console.js","sourcesContent":["import { ANSI } from './ansi';\nimport { ILogger, ILoggerOptions, LogLevel } from './logger';\n\nexport class ConsoleLogger implements ILogger {\n readonly loggerOptions: ILoggerOptions;\n\n protected readonly name: string;\n protected readonly level: LogLevel;\n\n private readonly _enabled: boolean;\n private readonly _levels = {\n error: 100,\n warn: 200,\n info: 300,\n debug: 400,\n trace: 500,\n };\n\n private readonly _colors = {\n error: ANSI.ForegroundRed,\n warn: ANSI.ForegroundYellow,\n info: ANSI.ForegroundCyan,\n debug: ANSI.ForegroundMagenta,\n trace: ANSI.BackgroundBlue\n };\n\n constructor(name: string, options?: ILoggerOptions) {\n this.name = name;\n\n const env = typeof process === 'undefined' ? undefined : process.env;\n const logNamePattern = env?.LOG || options?.pattern || '*';\n this._enabled = parseMagicExpr(logNamePattern).test(name);\n this.level = parseLogLevel(env?.LOG_LEVEL) || options?.level || 'info';\n this.loggerOptions = options ?? {\n level: this.level,\n pattern: logNamePattern,\n };\n }\n\n error(...msg: any[]) {\n this.log('error', ...msg);\n }\n\n warn(...msg: any[]) {\n this.log('warn', ...msg);\n }\n\n info(...msg: any[]) {\n this.log('info', ...msg);\n }\n\n debug(...msg: any[]) {\n this.log('debug', ...msg);\n }\n\n trace(...msg: any[]) {\n this.log('trace', ...msg);\n }\n\n log(level: LogLevel, ...msg: any[]) {\n if (!this._enabled) {\n return;\n }\n\n if (this._levels[level] > this._levels[this.level]) {\n return;\n }\n\n const prefix = [this._colors[level], ANSI.Bold, `[${level.toUpperCase()}]`];\n const name = [this.name, ANSI.ForegroundReset, ANSI.BoldReset];\n\n for (const m of msg) {\n let text = new String(m);\n\n if (typeof m === 'object') {\n text = JSON.stringify(m, null, 2);\n }\n\n for (const line of text.split('\\n')) {\n console[level](prefix.join(''), name.join(''), line);\n }\n }\n }\n\n child(name: string, overrideOptions?: ILoggerOptions) {\n const mergedPattern = mergePatterns(\n this.loggerOptions.pattern,\n overrideOptions?.pattern\n );\n\n return new ConsoleLogger(`${this.name}/${name}`, {\n ...this.loggerOptions,\n ...overrideOptions,\n pattern: mergedPattern\n });\n }\n}\n\nfunction parsePatternString(pattern: string): { inclusions: string[]; exclusions: string[] } {\n const patterns = pattern.split(',').map(p => p.trim());\n const inclusions: string[] = [];\n const exclusions: string[] = [];\n\n for (const p of patterns) {\n if (p.startsWith('-')) {\n exclusions.push(p.substring(1));\n } else {\n inclusions.push(p);\n }\n }\n\n return { inclusions, exclusions };\n}\n\nfunction parseMagicExpr(pattern: string) {\n const { inclusions: inclusionPatterns, exclusions: exclusionPatterns } = parsePatternString(pattern);\n\n const inclusions: RegExp[] = inclusionPatterns.map(p => patternToRegex(p));\n const exclusions: RegExp[] = exclusionPatterns.map(p => patternToRegex(p));\n\n // If only exclusions specified, implicitly include everything\n if (inclusions.length === 0 && exclusions.length > 0) {\n inclusions.push(/.*/);\n }\n\n return {\n test: (name: string) => {\n // Check if name matches any inclusion pattern\n const matchesInclusion = inclusions.some(regex => regex.test(name));\n if (!matchesInclusion) return false;\n\n // Check if name matches any exclusion pattern\n const matchesExclusion = exclusions.some(regex => regex.test(name));\n\n // Must match inclusion AND not match any exclusion\n return !matchesExclusion;\n }\n };\n}\n\nfunction patternToRegex(pattern: string): RegExp {\n let res = '';\n const parts = pattern.split('*');\n\n for (let i = 0; i < parts.length; i++) {\n if (i > 0) {\n res += '.*';\n }\n\n res += parts[i];\n }\n\n return new RegExp(res);\n}\n\nfunction mergePatterns(parentPattern?: string, childPattern?: string): string {\n if (!parentPattern && !childPattern) {\n return '*';\n }\n\n if (!parentPattern) {\n return childPattern!;\n }\n\n if (!childPattern) {\n return parentPattern;\n }\n\n const parent = parsePatternString(parentPattern);\n const child = parsePatternString(childPattern);\n\n // Combine and deduplicate inclusions\n let allInclusions = [...new Set([...parent.inclusions, ...child.inclusions])];\n\n // If only exclusions specified, implicitly include everything\n if (allInclusions.length === 0) {\n allInclusions = ['*'];\n }\n\n // Optimize: If '*' exists, it matches everything, so remove other inclusions\n const optimizedInclusions = allInclusions.includes('*') ? ['*'] : allInclusions;\n\n // Combine and deduplicate exclusions\n const allExclusions = [...new Set([...parent.exclusions, ...child.exclusions])];\n\n // Build merged pattern: combine inclusions and exclusions\n const inclusionStrings = optimizedInclusions;\n const exclusionStrings = allExclusions.map(e => '-' + e);\n const allPatterns = [...inclusionStrings, ...exclusionStrings];\n\n return allPatterns.join(',');\n}\n\nfunction parseLogLevel(level?: string): LogLevel | undefined {\n const value = level?.toLowerCase();\n switch (value) {\n case 'error':\n case 'warn':\n case 'info':\n case 'debug':\n case 'trace':\n return value;\n default:\n return undefined;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/logging/console.ts"],"names":["ANSI"],"mappings":"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","file":"console.js","sourcesContent":["import { ANSI } from './ansi';\nimport { ILogger, ILoggerOptions, LogLevel } from './logger';\n\nexport class ConsoleLogger implements ILogger {\n readonly loggerOptions: ILoggerOptions;\n\n protected readonly name: string;\n protected readonly level: LogLevel;\n\n private readonly _enabled: boolean;\n private readonly _levels = {\n error: 100,\n warn: 200,\n info: 300,\n debug: 400,\n trace: 500,\n };\n\n private readonly _colors = {\n error: ANSI.ForegroundRed,\n warn: ANSI.ForegroundYellow,\n info: ANSI.ForegroundCyan,\n debug: ANSI.ForegroundMagenta,\n trace: ANSI.BackgroundBlue\n };\n\n constructor(name: string, options?: ILoggerOptions) {\n this.name = name;\n\n const env = typeof process === 'undefined' ? undefined : process.env;\n const logNamePattern = env?.LOG || options?.pattern || '*';\n this._enabled = parseMagicExpr(logNamePattern).test(name);\n this.level = parseLogLevel(env?.LOG_LEVEL) || options?.level || 'info';\n this.loggerOptions = options ?? {\n level: this.level,\n pattern: logNamePattern,\n };\n }\n\n error(...msg: any[]) {\n this.log('error', ...msg);\n }\n\n warn(...msg: any[]) {\n this.log('warn', ...msg);\n }\n\n info(...msg: any[]) {\n this.log('info', ...msg);\n }\n\n debug(...msg: any[]) {\n this.log('debug', ...msg);\n }\n\n trace(...msg: any[]) {\n this.log('trace', ...msg);\n }\n\n log(level: LogLevel, ...msg: any[]) {\n if (!this._enabled) {\n return;\n }\n\n if (this._levels[level] > this._levels[this.level]) {\n return;\n }\n\n const prefix = [this._colors[level], ANSI.Bold, `[${level.toUpperCase()}]`];\n const name = [this.name, ANSI.ForegroundReset, ANSI.BoldReset];\n\n for (const m of msg) {\n let text = new String(m);\n\n if (typeof m === 'object') {\n text = JSON.stringify(m, null, 2);\n }\n\n for (const line of text.split('\\n')) {\n console[level](prefix.join(''), name.join(''), line);\n }\n }\n }\n\n child(name: string, overrideOptions?: ILoggerOptions) {\n const mergedPattern = mergePatterns(\n this.loggerOptions.pattern,\n overrideOptions?.pattern\n );\n\n return new ConsoleLogger(`${this.name}/${name}`, {\n ...this.loggerOptions,\n ...overrideOptions,\n pattern: mergedPattern\n });\n }\n}\n\nfunction parsePatternString(pattern: string): { inclusions: string[]; exclusions: string[] } {\n const patterns = pattern.split(',').map(p => p.trim());\n const inclusions: string[] = [];\n const exclusions: string[] = [];\n\n for (const p of patterns) {\n if (p.startsWith('-')) {\n exclusions.push(p.substring(1));\n } else {\n inclusions.push(p);\n }\n }\n\n return { inclusions, exclusions };\n}\n\nfunction parseMagicExpr(pattern: string) {\n const { inclusions: inclusionPatterns, exclusions: exclusionPatterns } = parsePatternString(pattern);\n\n const inclusions: RegExp[] = inclusionPatterns.map(p => patternToRegex(p));\n const exclusions: RegExp[] = exclusionPatterns.map(p => patternToRegex(p));\n\n // If only exclusions specified, implicitly include everything\n if (inclusions.length === 0 && exclusions.length > 0) {\n inclusions.push(/.*/);\n }\n\n return {\n test: (name: string) => {\n // Check if name matches any inclusion pattern\n const matchesInclusion = inclusions.some(regex => regex.test(name));\n if (!matchesInclusion) return false;\n\n // Check if name matches any exclusion pattern\n const matchesExclusion = exclusions.some(regex => regex.test(name));\n\n // Must match inclusion AND not match any exclusion\n return !matchesExclusion;\n }\n };\n}\n\nfunction patternToRegex(pattern: string): RegExp {\n let res = '';\n const parts = pattern.split('*');\n\n for (let i = 0; i < parts.length; i++) {\n if (i > 0) {\n res += '.*';\n }\n\n res += parts[i];\n }\n\n return new RegExp(res);\n}\n\nfunction mergePatterns(parentPattern?: string, childPattern?: string): string {\n if (!parentPattern && !childPattern) {\n return '*';\n }\n\n if (!parentPattern) {\n return childPattern!;\n }\n\n if (!childPattern) {\n return parentPattern;\n }\n\n const parent = parsePatternString(parentPattern);\n const child = parsePatternString(childPattern);\n\n // Combine and deduplicate inclusions\n let allInclusions = [...new Set([...parent.inclusions, ...child.inclusions])];\n\n // If only exclusions specified, implicitly include everything\n if (allInclusions.length === 0) {\n allInclusions = ['*'];\n }\n\n // Optimize: If '*' exists, it matches everything, so remove other inclusions\n const optimizedInclusions = allInclusions.includes('*') ? ['*'] : allInclusions;\n\n // Combine and deduplicate exclusions\n const allExclusions = [...new Set([...parent.exclusions, ...child.exclusions])];\n\n // Build merged pattern: combine inclusions and exclusions\n const inclusionStrings = optimizedInclusions;\n const exclusionStrings = allExclusions.map(e => '-' + e);\n const allPatterns = [...inclusionStrings, ...exclusionStrings];\n\n return allPatterns.join(',');\n}\n\nfunction parseLogLevel(level?: string): LogLevel | undefined {\n const value = level?.toLowerCase();\n switch (value) {\n case 'error':\n case 'warn':\n case 'info':\n case 'debug':\n case 'trace':\n return value;\n default:\n return undefined;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/logging/console.ts"],"names":[],"mappings":"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","file":"console.mjs","sourcesContent":["import { ANSI } from './ansi';\nimport { ILogger, ILoggerOptions, LogLevel } from './logger';\n\nexport class ConsoleLogger implements ILogger {\n readonly loggerOptions: ILoggerOptions;\n\n protected readonly name: string;\n protected readonly level: LogLevel;\n\n private readonly _enabled: boolean;\n private readonly _levels = {\n error: 100,\n warn: 200,\n info: 300,\n debug: 400,\n trace: 500,\n };\n\n private readonly _colors = {\n error: ANSI.ForegroundRed,\n warn: ANSI.ForegroundYellow,\n info: ANSI.ForegroundCyan,\n debug: ANSI.ForegroundMagenta,\n trace: ANSI.BackgroundBlue\n };\n\n constructor(name: string, options?: ILoggerOptions) {\n this.name = name;\n\n const env = typeof process === 'undefined' ? undefined : process.env;\n const logNamePattern = env?.LOG || options?.pattern || '*';\n this._enabled = parseMagicExpr(logNamePattern).test(name);\n this.level = parseLogLevel(env?.LOG_LEVEL) || options?.level || 'info';\n this.loggerOptions = options ?? {\n level: this.level,\n pattern: logNamePattern,\n };\n }\n\n error(...msg: any[]) {\n this.log('error', ...msg);\n }\n\n warn(...msg: any[]) {\n this.log('warn', ...msg);\n }\n\n info(...msg: any[]) {\n this.log('info', ...msg);\n }\n\n debug(...msg: any[]) {\n this.log('debug', ...msg);\n }\n\n trace(...msg: any[]) {\n this.log('trace', ...msg);\n }\n\n log(level: LogLevel, ...msg: any[]) {\n if (!this._enabled) {\n return;\n }\n\n if (this._levels[level] > this._levels[this.level]) {\n return;\n }\n\n const prefix = [this._colors[level], ANSI.Bold, `[${level.toUpperCase()}]`];\n const name = [this.name, ANSI.ForegroundReset, ANSI.BoldReset];\n\n for (const m of msg) {\n let text = new String(m);\n\n if (typeof m === 'object') {\n text = JSON.stringify(m, null, 2);\n }\n\n for (const line of text.split('\\n')) {\n console[level](prefix.join(''), name.join(''), line);\n }\n }\n }\n\n child(name: string, overrideOptions?: ILoggerOptions) {\n const mergedPattern = mergePatterns(\n this.loggerOptions.pattern,\n overrideOptions?.pattern\n );\n\n return new ConsoleLogger(`${this.name}/${name}`, {\n ...this.loggerOptions,\n ...overrideOptions,\n pattern: mergedPattern\n });\n }\n}\n\nfunction parsePatternString(pattern: string): { inclusions: string[]; exclusions: string[] } {\n const patterns = pattern.split(',').map(p => p.trim());\n const inclusions: string[] = [];\n const exclusions: string[] = [];\n\n for (const p of patterns) {\n if (p.startsWith('-')) {\n exclusions.push(p.substring(1));\n } else {\n inclusions.push(p);\n }\n }\n\n return { inclusions, exclusions };\n}\n\nfunction parseMagicExpr(pattern: string) {\n const { inclusions: inclusionPatterns, exclusions: exclusionPatterns } = parsePatternString(pattern);\n\n const inclusions: RegExp[] = inclusionPatterns.map(p => patternToRegex(p));\n const exclusions: RegExp[] = exclusionPatterns.map(p => patternToRegex(p));\n\n // If only exclusions specified, implicitly include everything\n if (inclusions.length === 0 && exclusions.length > 0) {\n inclusions.push(/.*/);\n }\n\n return {\n test: (name: string) => {\n // Check if name matches any inclusion pattern\n const matchesInclusion = inclusions.some(regex => regex.test(name));\n if (!matchesInclusion) return false;\n\n // Check if name matches any exclusion pattern\n const matchesExclusion = exclusions.some(regex => regex.test(name));\n\n // Must match inclusion AND not match any exclusion\n return !matchesExclusion;\n }\n };\n}\n\nfunction patternToRegex(pattern: string): RegExp {\n let res = '';\n const parts = pattern.split('*');\n\n for (let i = 0; i < parts.length; i++) {\n if (i > 0) {\n res += '.*';\n }\n\n res += parts[i];\n }\n\n return new RegExp(res);\n}\n\nfunction mergePatterns(parentPattern?: string, childPattern?: string): string {\n if (!parentPattern && !childPattern) {\n return '*';\n }\n\n if (!parentPattern) {\n return childPattern!;\n }\n\n if (!childPattern) {\n return parentPattern;\n }\n\n const parent = parsePatternString(parentPattern);\n const child = parsePatternString(childPattern);\n\n // Combine and deduplicate inclusions\n let allInclusions = [...new Set([...parent.inclusions, ...child.inclusions])];\n\n // If only exclusions specified, implicitly include everything\n if (allInclusions.length === 0) {\n allInclusions = ['*'];\n }\n\n // Optimize: If '*' exists, it matches everything, so remove other inclusions\n const optimizedInclusions = allInclusions.includes('*') ? ['*'] : allInclusions;\n\n // Combine and deduplicate exclusions\n const allExclusions = [...new Set([...parent.exclusions, ...child.exclusions])];\n\n // Build merged pattern: combine inclusions and exclusions\n const inclusionStrings = optimizedInclusions;\n const exclusionStrings = allExclusions.map(e => '-' + e);\n const allPatterns = [...inclusionStrings, ...exclusionStrings];\n\n return allPatterns.join(',');\n}\n\nfunction parseLogLevel(level?: string): LogLevel | undefined {\n const value = level?.toLowerCase();\n switch (value) {\n case 'error':\n case 'warn':\n case 'info':\n case 'debug':\n case 'trace':\n return value;\n default:\n return undefined;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/logging/console.ts"],"names":[],"mappings":"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","file":"console.mjs","sourcesContent":["import { ANSI } from './ansi';\nimport { ILogger, ILoggerOptions, LogLevel } from './logger';\n\nexport class ConsoleLogger implements ILogger {\n readonly loggerOptions: ILoggerOptions;\n\n protected readonly name: string;\n protected readonly level: LogLevel;\n\n private readonly _enabled: boolean;\n private readonly _levels = {\n error: 100,\n warn: 200,\n info: 300,\n debug: 400,\n trace: 500,\n };\n\n private readonly _colors = {\n error: ANSI.ForegroundRed,\n warn: ANSI.ForegroundYellow,\n info: ANSI.ForegroundCyan,\n debug: ANSI.ForegroundMagenta,\n trace: ANSI.BackgroundBlue\n };\n\n constructor(name: string, options?: ILoggerOptions) {\n this.name = name;\n\n const env = typeof process === 'undefined' ? undefined : process.env;\n const logNamePattern = env?.LOG || options?.pattern || '*';\n this._enabled = parseMagicExpr(logNamePattern).test(name);\n this.level = parseLogLevel(env?.LOG_LEVEL) || options?.level || 'info';\n this.loggerOptions = options ?? {\n level: this.level,\n pattern: logNamePattern,\n };\n }\n\n error(...msg: any[]) {\n this.log('error', ...msg);\n }\n\n warn(...msg: any[]) {\n this.log('warn', ...msg);\n }\n\n info(...msg: any[]) {\n this.log('info', ...msg);\n }\n\n debug(...msg: any[]) {\n this.log('debug', ...msg);\n }\n\n trace(...msg: any[]) {\n this.log('trace', ...msg);\n }\n\n log(level: LogLevel, ...msg: any[]) {\n if (!this._enabled) {\n return;\n }\n\n if (this._levels[level] > this._levels[this.level]) {\n return;\n }\n\n const prefix = [this._colors[level], ANSI.Bold, `[${level.toUpperCase()}]`];\n const name = [this.name, ANSI.ForegroundReset, ANSI.BoldReset];\n\n for (const m of msg) {\n let text = new String(m);\n\n if (typeof m === 'object') {\n text = JSON.stringify(m, null, 2);\n }\n\n for (const line of text.split('\\n')) {\n console[level](prefix.join(''), name.join(''), line);\n }\n }\n }\n\n child(name: string, overrideOptions?: ILoggerOptions) {\n const mergedPattern = mergePatterns(\n this.loggerOptions.pattern,\n overrideOptions?.pattern\n );\n\n return new ConsoleLogger(`${this.name}/${name}`, {\n ...this.loggerOptions,\n ...overrideOptions,\n pattern: mergedPattern\n });\n }\n}\n\nfunction parsePatternString(pattern: string): { inclusions: string[]; exclusions: string[] } {\n const patterns = pattern.split(',').map(p => p.trim());\n const inclusions: string[] = [];\n const exclusions: string[] = [];\n\n for (const p of patterns) {\n if (p.startsWith('-')) {\n exclusions.push(p.substring(1));\n } else {\n inclusions.push(p);\n }\n }\n\n return { inclusions, exclusions };\n}\n\nfunction parseMagicExpr(pattern: string) {\n const { inclusions: inclusionPatterns, exclusions: exclusionPatterns } = parsePatternString(pattern);\n\n const inclusions: RegExp[] = inclusionPatterns.map(p => patternToRegex(p));\n const exclusions: RegExp[] = exclusionPatterns.map(p => patternToRegex(p));\n\n // If only exclusions specified, implicitly include everything\n if (inclusions.length === 0 && exclusions.length > 0) {\n inclusions.push(/.*/);\n }\n\n return {\n test: (name: string) => {\n // Check if name matches any inclusion pattern\n const matchesInclusion = inclusions.some(regex => regex.test(name));\n if (!matchesInclusion) return false;\n\n // Check if name matches any exclusion pattern\n const matchesExclusion = exclusions.some(regex => regex.test(name));\n\n // Must match inclusion AND not match any exclusion\n return !matchesExclusion;\n }\n };\n}\n\nfunction patternToRegex(pattern: string): RegExp {\n let res = '';\n const parts = pattern.split('*');\n\n for (let i = 0; i < parts.length; i++) {\n if (i > 0) {\n res += '.*';\n }\n\n res += parts[i];\n }\n\n return new RegExp(res);\n}\n\nfunction mergePatterns(parentPattern?: string, childPattern?: string): string {\n if (!parentPattern && !childPattern) {\n return '*';\n }\n\n if (!parentPattern) {\n return childPattern!;\n }\n\n if (!childPattern) {\n return parentPattern;\n }\n\n const parent = parsePatternString(parentPattern);\n const child = parsePatternString(childPattern);\n\n // Combine and deduplicate inclusions\n let allInclusions = [...new Set([...parent.inclusions, ...child.inclusions])];\n\n // If only exclusions specified, implicitly include everything\n if (allInclusions.length === 0) {\n allInclusions = ['*'];\n }\n\n // Optimize: If '*' exists, it matches everything, so remove other inclusions\n const optimizedInclusions = allInclusions.includes('*') ? ['*'] : allInclusions;\n\n // Combine and deduplicate exclusions\n const allExclusions = [...new Set([...parent.exclusions, ...child.exclusions])];\n\n // Build merged pattern: combine inclusions and exclusions\n const inclusionStrings = optimizedInclusions;\n const exclusionStrings = allExclusions.map(e => '-' + e);\n const allPatterns = [...inclusionStrings, ...exclusionStrings];\n\n return allPatterns.join(',');\n}\n\nfunction parseLogLevel(level?: string): LogLevel | undefined {\n const value = level?.toLowerCase();\n switch (value) {\n case 'error':\n case 'warn':\n case 'info':\n case 'debug':\n case 'trace':\n return value;\n default:\n return undefined;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/logging/string.ts"],"names":["ANSI"],"mappings":";;;;AAMO,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/logging/string.ts"],"names":["ANSI"],"mappings":";;;;AAMO,MAAM,MAAA,CAA6B;AAAA,EAChC,MAAA;AAAA,EAER,WAAA,CAAY,QAAQ,EAAA,EAAI;AACtB,IAAA,IAAA,CAAK,MAAA,GAAS,KAAA;AAAA,EAChB;AAAA,EAEA,KAAA,GAAQ;AACN,IAAA,IAAA,CAAK,MAAA,GAAS,EAAA;AACd,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,UAAU,IAAA,EAAoB;AAC5B,IAAA,IAAA,CAAK,MAAA,IAAU,IAAA,CAAK,IAAA,CAAK,EAAE,CAAA;AAC3B,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,KAAA,GAAQ;AACN,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,KAAA;AACpB,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,KAAK,IAAA,EAAkB;AACrB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,IAAA,GAAO,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,SAAA;AAClD,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,OAAO,IAAA,EAAkB;AACvB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,MAAA,GAAS,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,WAAA;AACpD,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,UAAU,IAAA,EAAkB;AAC1B,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,SAAA,GAAY,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,cAAA;AACvD,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,OAAO,IAAA,EAAkB;AACvB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,MAAA,GAAS,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,WAAA;AACpD,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,MAAM,IAAA,EAAkB;AACtB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,eAAA,GAAkB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC7D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,QAAQ,IAAA,EAAkB;AACxB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,eAAA,GAAkB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC7D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,IAAI,IAAA,EAAkB;AACpB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,aAAA,GAAgB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC3D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,MAAM,IAAA,EAAkB;AACtB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,aAAA,GAAgB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC3D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,MAAM,IAAA,EAAkB;AACtB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,eAAA,GAAkB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC7D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,QAAQ,IAAA,EAAkB;AACxB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,eAAA,GAAkB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC7D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,OAAO,IAAA,EAAkB;AACvB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,gBAAA,GAAmB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC9D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,SAAS,IAAA,EAAkB;AACzB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,gBAAA,GAAmB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC9D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,KAAK,IAAA,EAAkB;AACrB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,cAAA,GAAiB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC5D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,OAAO,IAAA,EAAkB;AACvB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,cAAA,GAAiB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC5D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,QAAQ,IAAA,EAAkB;AACxB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,iBAAA,GAAoB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC/D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,UAAU,IAAA,EAAkB;AAC1B,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,iBAAA,GAAoB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC/D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,KAAK,IAAA,EAAkB;AACrB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,cAAA,GAAiB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC5D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,OAAO,IAAA,EAAkB;AACvB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,cAAA,GAAiB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC5D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,MAAM,IAAA,EAAkB;AACtB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,eAAA,GAAkB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC7D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,QAAQ,IAAA,EAAkB;AACxB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,eAAA,GAAkB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC7D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,KAAK,IAAA,EAAkB;AACrB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,cAAA,GAAiB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC5D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,QAAQ,IAAA,EAAkB;AACxB,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,iBAAA,GAAoB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC/D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,UAAU,IAAA,EAAkB;AAC1B,IAAA,IAAA,CAAK,UAAUA,SAAA,CAAK,iBAAA,GAAoB,IAAA,CAAK,QAAA,KAAaA,SAAA,CAAK,eAAA;AAC/D,IAAA,OAAO,IAAA;AAAA,EACT;AAAA,EAEA,QAAA,GAAW;AACT,IAAA,OAAO,IAAA,CAAK,MAAA;AAAA,EACd;AACF","file":"string.js","sourcesContent":["import { ANSI } from './ansi';\n\ntype StringLike = {\n toString(): string;\n};\n\nexport class String implements StringLike {\n private _value: string;\n\n constructor(value = '') {\n this._value = value;\n }\n\n clear() {\n this._value = '';\n return this;\n }\n\n append(...text: StringLike[]) {\n this._value += text.join('');\n return this;\n }\n\n reset() {\n this._value += ANSI.Reset;\n return this;\n }\n\n bold(text: StringLike) {\n this._value += ANSI.Bold + text.toString() + ANSI.BoldReset;\n return this;\n }\n\n italic(text: StringLike) {\n this._value += ANSI.Italic + text.toString() + ANSI.ItalicReset;\n return this;\n }\n\n underline(text: StringLike) {\n this._value += ANSI.Underline + text.toString() + ANSI.UnderlineReset;\n return this;\n }\n\n strike(text: StringLike) {\n this._value += ANSI.Strike + text.toString() + ANSI.StrikeReset;\n return this;\n }\n\n black(text: StringLike) {\n this._value += ANSI.ForegroundBlack + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgBlack(text: StringLike) {\n this._value += ANSI.BackgroundBlack + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n red(text: StringLike) {\n this._value += ANSI.ForegroundRed + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgRed(text: StringLike) {\n this._value += ANSI.BackgroundRed + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n green(text: StringLike) {\n this._value += ANSI.ForegroundGreen + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgGreen(text: StringLike) {\n this._value += ANSI.BackgroundGreen + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n yellow(text: StringLike) {\n this._value += ANSI.ForegroundYellow + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgYellow(text: StringLike) {\n this._value += ANSI.BackgroundYellow + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n blue(text: StringLike) {\n this._value += ANSI.ForegroundBlue + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgBlue(text: StringLike) {\n this._value += ANSI.BackgroundBlue + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n magenta(text: StringLike) {\n this._value += ANSI.ForegroundMagenta + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgMagenta(text: StringLike) {\n this._value += ANSI.BackgroundMagenta + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n cyan(text: StringLike) {\n this._value += ANSI.ForegroundCyan + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgCyan(text: StringLike) {\n this._value += ANSI.BackgroundCyan + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n white(text: StringLike) {\n this._value += ANSI.ForegroundWhite + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgWhite(text: StringLike) {\n this._value += ANSI.BackgroundWhite + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n gray(text: StringLike) {\n this._value += ANSI.ForegroundGray + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n default(text: StringLike) {\n this._value += ANSI.ForegroundDefault + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgDefault(text: StringLike) {\n this._value += ANSI.BackgroundDefault + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n toString() {\n return this._value;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/logging/string.ts"],"names":[],"mappings":";;AAMO,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/logging/string.ts"],"names":[],"mappings":"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","file":"string.mjs","sourcesContent":["import { ANSI } from './ansi';\n\ntype StringLike = {\n toString(): string;\n};\n\nexport class String implements StringLike {\n private _value: string;\n\n constructor(value = '') {\n this._value = value;\n }\n\n clear() {\n this._value = '';\n return this;\n }\n\n append(...text: StringLike[]) {\n this._value += text.join('');\n return this;\n }\n\n reset() {\n this._value += ANSI.Reset;\n return this;\n }\n\n bold(text: StringLike) {\n this._value += ANSI.Bold + text.toString() + ANSI.BoldReset;\n return this;\n }\n\n italic(text: StringLike) {\n this._value += ANSI.Italic + text.toString() + ANSI.ItalicReset;\n return this;\n }\n\n underline(text: StringLike) {\n this._value += ANSI.Underline + text.toString() + ANSI.UnderlineReset;\n return this;\n }\n\n strike(text: StringLike) {\n this._value += ANSI.Strike + text.toString() + ANSI.StrikeReset;\n return this;\n }\n\n black(text: StringLike) {\n this._value += ANSI.ForegroundBlack + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgBlack(text: StringLike) {\n this._value += ANSI.BackgroundBlack + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n red(text: StringLike) {\n this._value += ANSI.ForegroundRed + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgRed(text: StringLike) {\n this._value += ANSI.BackgroundRed + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n green(text: StringLike) {\n this._value += ANSI.ForegroundGreen + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgGreen(text: StringLike) {\n this._value += ANSI.BackgroundGreen + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n yellow(text: StringLike) {\n this._value += ANSI.ForegroundYellow + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgYellow(text: StringLike) {\n this._value += ANSI.BackgroundYellow + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n blue(text: StringLike) {\n this._value += ANSI.ForegroundBlue + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgBlue(text: StringLike) {\n this._value += ANSI.BackgroundBlue + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n magenta(text: StringLike) {\n this._value += ANSI.ForegroundMagenta + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgMagenta(text: StringLike) {\n this._value += ANSI.BackgroundMagenta + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n cyan(text: StringLike) {\n this._value += ANSI.ForegroundCyan + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgCyan(text: StringLike) {\n this._value += ANSI.BackgroundCyan + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n white(text: StringLike) {\n this._value += ANSI.ForegroundWhite + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgWhite(text: StringLike) {\n this._value += ANSI.BackgroundWhite + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n gray(text: StringLike) {\n this._value += ANSI.ForegroundGray + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n default(text: StringLike) {\n this._value += ANSI.ForegroundDefault + text.toString() + ANSI.ForegroundReset;\n return this;\n }\n\n bgDefault(text: StringLike) {\n this._value += ANSI.BackgroundDefault + text.toString() + ANSI.BackgroundReset;\n return this;\n }\n\n toString() {\n return this._value;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/storage/list-local-storage.ts"],"names":[],"mappings":";;AAKO,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/storage/list-local-storage.ts"],"names":[],"mappings":";;AAKO,MAAM,gBAAA,CAAqD;AAAA,EAC3C,KAAA;AAAA,EAEnB,WAAA,CAAY,IAAA,GAAY,EAAC,EAAG;AACxB,IAAA,IAAA,CAAK,KAAA,GAAQ,CAAC,GAAG,IAAI,CAAA;AAAA,EACzB;AAAA,EAEA,IAAI,GAAA,EAA4B;AAC5B,IAAA,OAAO,IAAA,CAAK,MAAM,GAAG,CAAA;AAAA,EACzB;AAAA,EAEA,GAAA,CAAI,KAAa,KAAA,EAAgB;AAC7B,IAAA,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA,GAAI,KAAA;AAAA,EACtB;AAAA,EAEA,OAAO,GAAA,EAAmB;AACtB,IAAA,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,GAAA,EAAK,CAAC,CAAA;AAAA,EAC5B;AAAA,EAEA,KAAK,KAAA,EAAgB;AACjB,IAAA,IAAA,CAAK,KAAA,CAAM,KAAK,KAAK,CAAA;AAAA,EACzB;AAAA,EAEA,GAAA,GAAqB;AACjB,IAAA,OAAO,IAAA,CAAK,MAAM,GAAA,EAAI;AAAA,EAC1B;AAAA,EAEA,MAAA,GAAc;AACV,IAAA,OAAO,CAAC,GAAG,IAAA,CAAK,KAAK,CAAA;AAAA,EACzB;AAAA,EAEA,MAAA,GAAiB;AACb,IAAA,OAAO,KAAK,KAAA,CAAM,MAAA;AAAA,EACtB;AAAA,EAEA,MAAM,SAAA,EAAsD;AACxD,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,SAAS,CAAA;AAAA,EACtC;AACJ","file":"list-local-storage.js","sourcesContent":["import { IListStorage } from './storage';\n\n/**\n * An in-memory list storage.\n */\nexport class ListLocalStorage<T = any> implements IListStorage<T> {\n protected readonly _list: T[];\n\n constructor(data: T[] = []) {\n this._list = [...data];\n }\n\n get(key: number): T | undefined {\n return this._list[key];\n }\n\n set(key: number, value: T): void {\n this._list[key] = value;\n }\n\n delete(key: number): void {\n this._list.splice(key, 1);\n }\n\n push(value: T): void {\n this._list.push(value);\n }\n\n pop(): T | undefined {\n return this._list.pop();\n }\n\n values(): T[] {\n return [...this._list];\n }\n\n length(): number {\n return this._list.length;\n }\n\n where(predicate: (value: T, index: number) => boolean): T[] {\n return this._list.filter(predicate);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/storage/list-local-storage.ts"],"names":[],"mappings":"AAKO,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/storage/list-local-storage.ts"],"names":[],"mappings":"AAKO,MAAM,gBAAA,CAAqD;AAAA,EAC3C,KAAA;AAAA,EAEnB,WAAA,CAAY,IAAA,GAAY,EAAC,EAAG;AACxB,IAAA,IAAA,CAAK,KAAA,GAAQ,CAAC,GAAG,IAAI,CAAA;AAAA,EACzB;AAAA,EAEA,IAAI,GAAA,EAA4B;AAC5B,IAAA,OAAO,IAAA,CAAK,MAAM,GAAG,CAAA;AAAA,EACzB;AAAA,EAEA,GAAA,CAAI,KAAa,KAAA,EAAgB;AAC7B,IAAA,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA,GAAI,KAAA;AAAA,EACtB;AAAA,EAEA,OAAO,GAAA,EAAmB;AACtB,IAAA,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,GAAA,EAAK,CAAC,CAAA;AAAA,EAC5B;AAAA,EAEA,KAAK,KAAA,EAAgB;AACjB,IAAA,IAAA,CAAK,KAAA,CAAM,KAAK,KAAK,CAAA;AAAA,EACzB;AAAA,EAEA,GAAA,GAAqB;AACjB,IAAA,OAAO,IAAA,CAAK,MAAM,GAAA,EAAI;AAAA,EAC1B;AAAA,EAEA,MAAA,GAAc;AACV,IAAA,OAAO,CAAC,GAAG,IAAA,CAAK,KAAK,CAAA;AAAA,EACzB;AAAA,EAEA,MAAA,GAAiB;AACb,IAAA,OAAO,KAAK,KAAA,CAAM,MAAA;AAAA,EACtB;AAAA,EAEA,MAAM,SAAA,EAAsD;AACxD,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,SAAS,CAAA;AAAA,EACtC;AACJ","file":"list-local-storage.mjs","sourcesContent":["import { IListStorage } from './storage';\n\n/**\n * An in-memory list storage.\n */\nexport class ListLocalStorage<T = any> implements IListStorage<T> {\n protected readonly _list: T[];\n\n constructor(data: T[] = []) {\n this._list = [...data];\n }\n\n get(key: number): T | undefined {\n return this._list[key];\n }\n\n set(key: number, value: T): void {\n this._list[key] = value;\n }\n\n delete(key: number): void {\n this._list.splice(key, 1);\n }\n\n push(value: T): void {\n this._list.push(value);\n }\n\n pop(): T | undefined {\n return this._list.pop();\n }\n\n values(): T[] {\n return [...this._list];\n }\n\n length(): number {\n return this._list.length;\n }\n\n where(predicate: (value: T, index: number) => boolean): T[] {\n return this._list.filter(predicate);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/storage/local-storage.ts"],"names":[],"mappings":";;AASO,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/storage/local-storage.ts"],"names":[],"mappings":";;AASO,MAAM,YAAA,CAAqD;AAAA,EAC7C,MAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EAEnB,IAAI,IAAA,GAAO;AACT,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd;AAAA,EAEA,IAAI,IAAA,GAAO;AACT,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA;AAAA,EACrB;AAAA,EAEA,YAAY,IAAA,GAA0B,EAAC,EAAG,OAAA,GAA+B,EAAC,EAAG;AAC3E,IAAA,IAAA,CAAK,SAAS,IAAI,GAAA,CAAe,MAAA,CAAO,OAAA,CAAQ,IAAI,CAAC,CAAA;AACrD,IAAA,IAAA,CAAK,KAAA,GAAQ,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA;AAC7B,IAAA,IAAA,CAAK,QAAA,GAAW,OAAA;AAAA,EAClB;AAAA,EAEA,IAAI,GAAA,EAAa;AACf,IAAA,IAAA,CAAK,KAAK,GAAG,CAAA;AACb,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,GAAG,CAAA;AAAA,EAC5B;AAAA,EAEA,GAAA,CAAI,KAAa,KAAA,EAAU;AACzB,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,CAAK,GAAG,CAAA,EAAG;AACnB,MAAA,IAAA,CAAK,KAAA,CAAM,KAAK,GAAG,CAAA;AAAA,IACrB;AAEA,IAAA,IAAI,IAAA,CAAK,SAAS,GAAA,EAAK;AACrB,MAAA,IAAI,IAAA,CAAK,KAAA,CAAM,MAAA,GAAS,IAAA,CAAK,SAAS,GAAA,EAAK;AACzC,QAAA,MAAM,CAAA,GAAI,IAAA,CAAK,KAAA,CAAM,KAAA,EAAM;AAE3B,QAAA,IAAI,CAAA,EAAG;AACL,UAAA,IAAA,CAAK,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAEA,IAAA,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,GAAA,EAAK,KAAK,CAAA;AAAA,EAC5B;AAAA,EAEA,OAAO,GAAA,EAAa;AAClB,IAAA,MAAM,IAAI,IAAA,CAAK,KAAA,CAAM,UAAU,CAAC,CAAA,KAAM,QAAQ,CAAC,CAAA;AAE/C,IAAA,IAAI,IAAI,EAAA,EAAI;AACV,MAAA,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,CAAA,EAAG,CAAC,CAAA;AAAA,IACxB;AAEA,IAAA,IAAA,CAAK,MAAA,CAAO,OAAO,GAAG,CAAA;AAAA,EACxB;AAAA,EAEA,QAAA,GAAW;AACT,IAAA,OAAO,IAAA,CAAK,SAAA;AAAA,MACV,KAAA,CAAM,IAAA,CAAK,IAAA,CAAK,MAAA,CAAO,OAAA,EAAS,CAAA,CAAE,GAAA,CAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,MAAO;AAAA,QACvD,GAAA;AAAA,QACA;AAAA,OACF,CAAE,CAAA;AAAA,MACF,IAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAAA,EAEU,KAAK,GAAA,EAAa;AAC1B,IAAA,IAAI,CAAC,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,GAAG,GAAG,OAAO,KAAA;AAClC,IAAA,IAAI,IAAA,CAAK,MAAM,IAAA,CAAK,KAAA,CAAM,SAAS,CAAC,CAAA,KAAM,KAAK,OAAO,IAAA;AAEtD,IAAA,MAAM,MAAM,IAAA,CAAK,KAAA,CAAM,UAAU,CAAC,CAAA,KAAM,QAAQ,CAAC,CAAA;AAGjD,IAAA,IAAI,GAAA,GAAM,GAAG,OAAO,KAAA;AAEpB,IAAA,KAAA,IAAS,IAAI,GAAA,GAAM,CAAA,EAAG,IAAI,IAAA,CAAK,KAAA,CAAM,QAAQ,CAAA,EAAA,EAAK;AAChD,MAAA,MAAM,GAAA,GAAM,IAAA,CAAK,KAAA,CAAM,CAAA,GAAI,CAAC,CAAA;AAC5B,MAAA,IAAA,CAAK,MAAM,CAAA,GAAI,CAAC,CAAA,GAAI,IAAA,CAAK,MAAM,CAAC,CAAA;AAChC,MAAA,IAAA,CAAK,KAAA,CAAM,CAAC,CAAA,GAAI,GAAA;AAAA,IAClB;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AACF","file":"local-storage.js","sourcesContent":["import { IStorage } from './storage';\n\nexport type LocalStorageOptions = {\n /**\n * max number of records.\n */\n readonly max?: number;\n};\n\nexport class LocalStorage<T = any> implements IStorage<string, T> {\n protected readonly _store: Map<string, T>;\n protected readonly _keys: string[];\n protected readonly _options: LocalStorageOptions;\n\n get keys() {\n return this._keys;\n }\n\n get size() {\n return this._store.size;\n }\n\n constructor(data: Record<string, T> = {}, options: LocalStorageOptions = {}) {\n this._store = new Map<string, T>(Object.entries(data));\n this._keys = Object.keys(data);\n this._options = options;\n }\n\n get(key: string) {\n this._hit(key);\n return this._store.get(key);\n }\n\n set(key: string, value: T) {\n if (!this._hit(key)) {\n this._keys.push(key);\n }\n\n if (this._options.max) {\n if (this._keys.length > this._options.max) {\n const k = this._keys.shift();\n\n if (k) {\n this._store.delete(k);\n }\n }\n }\n\n this._store.set(key, value);\n }\n\n delete(key: string) {\n const i = this._keys.findIndex((k) => key === k);\n\n if (i > -1) {\n this._keys.splice(i, 1);\n }\n\n this._store.delete(key);\n }\n\n toString() {\n return JSON.stringify(\n Array.from(this._store.entries()).map(([key, value]) => ({\n key,\n value,\n })),\n null,\n 2\n );\n }\n\n protected _hit(key: string) {\n if (!this._store.has(key)) return false;\n if (this._keys[this._keys.length - 1] === key) return true;\n\n const idx = this._keys.findIndex((k) => key === k);\n\n /* istanbul ignore next */\n if (idx < 0) return false;\n\n for (let i = idx + 1; i < this._keys.length; i++) {\n const tmp = this._keys[i - 1];\n this._keys[i - 1] = this._keys[i];\n this._keys[i] = tmp;\n }\n\n return true;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/storage/local-storage.ts"],"names":[],"mappings":"AASO,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../src/storage/local-storage.ts"],"names":[],"mappings":"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","file":"local-storage.mjs","sourcesContent":["import { IStorage } from './storage';\n\nexport type LocalStorageOptions = {\n /**\n * max number of records.\n */\n readonly max?: number;\n};\n\nexport class LocalStorage<T = any> implements IStorage<string, T> {\n protected readonly _store: Map<string, T>;\n protected readonly _keys: string[];\n protected readonly _options: LocalStorageOptions;\n\n get keys() {\n return this._keys;\n }\n\n get size() {\n return this._store.size;\n }\n\n constructor(data: Record<string, T> = {}, options: LocalStorageOptions = {}) {\n this._store = new Map<string, T>(Object.entries(data));\n this._keys = Object.keys(data);\n this._options = options;\n }\n\n get(key: string) {\n this._hit(key);\n return this._store.get(key);\n }\n\n set(key: string, value: T) {\n if (!this._hit(key)) {\n this._keys.push(key);\n }\n\n if (this._options.max) {\n if (this._keys.length > this._options.max) {\n const k = this._keys.shift();\n\n if (k) {\n this._store.delete(k);\n }\n }\n }\n\n this._store.set(key, value);\n }\n\n delete(key: string) {\n const i = this._keys.findIndex((k) => key === k);\n\n if (i > -1) {\n this._keys.splice(i, 1);\n }\n\n this._store.delete(key);\n }\n\n toString() {\n return JSON.stringify(\n Array.from(this._store.entries()).map(([key, value]) => ({\n key,\n value,\n })),\n null,\n 2\n );\n }\n\n protected _hit(key: string) {\n if (!this._store.has(key)) return false;\n if (this._keys[this._keys.length - 1] === key) return true;\n\n const idx = this._keys.findIndex((k) => key === k);\n\n /* istanbul ignore next */\n if (idx < 0) return false;\n\n for (let i = idx + 1; i < this._keys.length; i++) {\n const tmp = this._keys[i - 1];\n this._keys[i - 1] = this._keys[i];\n this._keys[i] = tmp;\n }\n\n return true;\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/teams.common",
|
|
3
|
-
"version": "2.0.6
|
|
3
|
+
"version": "2.0.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"axios": "^1.12.0"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
|
-
"@microsoft/teams.config": "2.0.6
|
|
83
|
+
"@microsoft/teams.config": "2.0.6",
|
|
84
84
|
"@types/jest": "^29.5.12",
|
|
85
85
|
"jest": "^29.7.0",
|
|
86
86
|
"rimraf": "^6.0.1",
|