@adaas/a-utils 0.2.9 → 0.3.1

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.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/A-Polyfill/base/A-FS-Polyfill.base.ts","../../src/lib/A-Polyfill/browser/A-FS-Polyfill.ts","../../src/lib/A-Polyfill/base/A-Crypto-Polyfill.base.ts","../../src/lib/A-Polyfill/browser/A-Crypto-Polyfill.ts","../../src/lib/A-Polyfill/base/A-Http-Polyfill.base.ts","../../src/lib/A-Polyfill/browser/A-Http-Polyfill.ts","../../src/lib/A-Polyfill/base/A-Https-Polyfill.base.ts","../../src/lib/A-Polyfill/browser/A-Https-Polyfill.ts","../../src/lib/A-Polyfill/base/A-Path-Polyfill.base.ts","../../src/lib/A-Polyfill/browser/A-Path-Polyfill.ts","../../src/lib/A-Polyfill/base/A-Url-Polyfill.base.ts","../../src/lib/A-Polyfill/browser/A-Url-Polyfill.ts","../../src/lib/A-Polyfill/base/A-Buffer-Polyfill.base.ts","../../src/lib/A-Polyfill/browser/A-Buffer-Polyfill.ts","../../src/lib/A-Polyfill/base/A-Process-Polyfill.base.ts","../../src/lib/A-Polyfill/browser/A-Process-Polyfill.ts","../../src/lib/A-Polyfill/A-Polyfill.component.env-browser.ts"],"names":[],"mappings":"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","file":"chunk-JTQYATZ5.mjs","sourcesContent":["import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { Ifspolyfill } from \"../A-Polyfill.types\";\n\nexport abstract class A_FSPolyfillBase {\n protected _fs!: Ifspolyfill;\n protected _initialized: boolean = false;\n\n constructor(\n protected logger: A_Logger\n ) {}\n\n get isInitialized(): boolean {\n return this._initialized;\n }\n\n async get(): Promise<Ifspolyfill> {\n if (!this._initialized) {\n await this.init();\n }\n return this._fs;\n }\n\n protected async init(): Promise<void> {\n try {\n await this.initImplementation();\n this._initialized = true;\n } catch (error) {\n this.logger.error('Failed to initialize fs polyfill', error);\n throw error;\n }\n }\n\n protected abstract initImplementation(): Promise<void>;\n}","import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_FSPolyfillBase } from \"../base/A-FS-Polyfill.base\";\n\nexport class A_FSPolyfill extends A_FSPolyfillBase {\n constructor(logger: A_Logger) {\n super(logger);\n }\n\n protected async initImplementation(): Promise<void> {\n this._fs = {\n readFileSync: (path: string, encoding: string) => {\n this.logger.warning('fs.readFileSync not available in browser environment');\n return '';\n },\n existsSync: (path: string) => {\n this.logger.warning('fs.existsSync not available in browser environment');\n return false;\n },\n createReadStream: (path: string) => {\n this.logger.warning('fs.createReadStream not available in browser environment');\n return null;\n }\n };\n }\n}","import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { IcryptoInterface, Ifspolyfill } from \"../A-Polyfill.types\";\n\nexport abstract class A_CryptoPolyfillBase {\n protected _crypto!: IcryptoInterface;\n protected _initialized: boolean = false;\n protected _fsPolyfill?: Ifspolyfill;\n\n constructor(\n protected logger: A_Logger\n ) {}\n\n get isInitialized(): boolean {\n return this._initialized;\n }\n\n async get(fsPolyfill?: Ifspolyfill): Promise<IcryptoInterface> {\n if (!this._initialized) {\n this._fsPolyfill = fsPolyfill;\n await this.init();\n }\n return this._crypto;\n }\n\n protected async init(): Promise<void> {\n try {\n await this.initImplementation();\n this._initialized = true;\n } catch (error) {\n this.logger.error('Failed to initialize crypto polyfill', error);\n throw error;\n }\n }\n\n protected abstract initImplementation(): Promise<void>;\n}","import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_CryptoPolyfillBase } from \"../base/A-Crypto-Polyfill.base\";\n\nexport class A_CryptoPolyfill extends A_CryptoPolyfillBase {\n constructor(logger: A_Logger) {\n super(logger);\n }\n\n protected async initImplementation(): Promise<void> {\n this._crypto = {\n createFileHash: () => {\n this.logger.warning('File hash not available in browser environment');\n return Promise.resolve('');\n },\n createTextHash: (text: string, algorithm: string = 'SHA-384') => new Promise<string>(async (resolve, reject) => {\n try {\n if (!crypto.subtle) {\n throw new Error('SubtleCrypto not available');\n }\n const encoder = new TextEncoder();\n const data = encoder.encode(text);\n const hashBuffer = await crypto.subtle.digest(algorithm, data);\n const hashArray = Array.from(new Uint8Array(hashBuffer));\n const hashBase64 = btoa(String.fromCharCode(...hashArray));\n resolve(`${algorithm}-${hashBase64}`);\n } catch (error) {\n reject(error);\n }\n })\n };\n }\n}","import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { IhttpInterface } from \"../A-Polyfill.types\";\n\nexport abstract class A_HttpPolyfillBase {\n protected _http!: IhttpInterface;\n protected _initialized: boolean = false;\n\n constructor(\n protected logger: A_Logger\n ) {}\n\n get isInitialized(): boolean {\n return this._initialized;\n }\n\n async get(): Promise<IhttpInterface> {\n if (!this._initialized) {\n await this.init();\n }\n return this._http;\n }\n\n protected async init(): Promise<void> {\n try {\n await this.initImplementation();\n this._initialized = true;\n } catch (error) {\n this.logger.error('Failed to initialize http polyfill', error);\n throw error;\n }\n }\n\n protected abstract initImplementation(): Promise<void>;\n}","import { A_Logger } from \"../../A-Logger/A-Logger.component\";\nimport { A_HttpPolyfillBase } from \"../base/A-Http-Polyfill.base\";\n\nexport class A_HttpPolyfill extends A_HttpPolyfillBase {\n constructor(logger: A_Logger) {\n super(logger);\n }\n\n protected async initImplementation(): Promise<void> {\n this._http = {\n request: (options: any, callback?: (res: any) => void) => {\n this.logger.warning('http.request not available in browser/test environment, use fetch instead');\n return this.createMockRequest(options, callback, false);\n },\n get: (url: string | any, callback?: (res: any) => void) => {\n this.logger.warning('http.get not available in browser/test environment, use fetch instead');\n return this.createMockRequest(typeof url === 'string' ? { hostname: url } : url, callback, false);\n },\n createServer: () => {\n this.logger.error('http.createServer not available in browser/test environment');\n return null;\n }\n };\n }\n\n private createMockRequest(options: any, callback?: (res: any) => void, isHttps: boolean = false) {\n // Return a mock request that doesn't make real network calls\n const request = {\n end: () => {\n // Mock response for all environments\n if (callback) {\n const mockResponse = {\n statusCode: 200,\n headers: {},\n on: (event: string, handler: Function) => {\n if (event === 'data') {\n setTimeout(() => handler('mock data'), 0);\n } else if (event === 'end') {\n setTimeout(() => handler(), 0);\n }\n },\n pipe: (dest: any) => {\n if (dest.write) dest.write('mock data');\n if (dest.end) dest.end();\n }\n };\n setTimeout(() => callback(mockResponse), 0);\n }\n },\n write: (data: any) => {\n // Mock write\n },\n on: (event: string, handler: Function) => {\n // Mock event handling\n }\n };\n\n return request;\n }\n}","import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { IhttpsInterface } from \"../A-Polyfill.types\";\n\nexport abstract class A_HttpsPolyfillBase {\n protected _https!: IhttpsInterface;\n protected _initialized: boolean = false;\n\n constructor(\n protected logger: A_Logger\n ) {}\n\n get isInitialized(): boolean {\n return this._initialized;\n }\n\n async get(): Promise<IhttpsInterface> {\n if (!this._initialized) {\n await this.init();\n }\n return this._https;\n }\n\n protected async init(): Promise<void> {\n try {\n await this.initImplementation();\n this._initialized = true;\n } catch (error) {\n this.logger.error('Failed to initialize https polyfill', error);\n throw error;\n }\n }\n\n protected abstract initImplementation(): Promise<void>;\n}","import { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_HttpsPolyfillBase } from \"../base/A-Https-Polyfill.base\";\n\nexport class A_HttpsPolyfill extends A_HttpsPolyfillBase {\n constructor(logger: A_Logger) {\n super(logger);\n }\n\n protected async initImplementation(): Promise<void> {\n this._https = {\n request: (options: any, callback?: (res: any) => void) => {\n this.logger.warning('https.request not available in browser/test environment, use fetch instead');\n return this.createMockRequest(options, callback, true);\n },\n get: (url: string | any, callback?: (res: any) => void) => {\n this.logger.warning('https.get not available in browser/test environment, use fetch instead');\n return this.createMockRequest(typeof url === 'string' ? { hostname: url } : url, callback, true);\n },\n createServer: () => {\n this.logger.error('https.createServer not available in browser/test environment');\n return null;\n }\n };\n }\n\n private createMockRequest(options: any, callback?: (res: any) => void, isHttps: boolean = true) {\n // Return a mock request that doesn't make real network calls\n const request = {\n end: () => {\n // Mock response for all environments\n if (callback) {\n const mockResponse = {\n statusCode: 200,\n headers: {},\n on: (event: string, handler: Function) => {\n if (event === 'data') {\n setTimeout(() => handler('mock data'), 0);\n } else if (event === 'end') {\n setTimeout(() => handler(), 0);\n }\n },\n pipe: (dest: any) => {\n if (dest.write) dest.write('mock data');\n if (dest.end) dest.end();\n }\n };\n setTimeout(() => callback(mockResponse), 0);\n }\n },\n write: (data: any) => {\n // Mock write\n },\n on: (event: string, handler: Function) => {\n // Mock event handling\n }\n };\n\n return request;\n }\n}","import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { IpathInterface } from \"../A-Polyfill.types\";\n\nexport abstract class A_PathPolyfillBase {\n protected _path!: IpathInterface;\n protected _initialized: boolean = false;\n\n constructor(\n protected logger: A_Logger\n ) {}\n\n get isInitialized(): boolean {\n return this._initialized;\n }\n\n async get(): Promise<IpathInterface> {\n if (!this._initialized) {\n await this.init();\n }\n return this._path;\n }\n\n protected async init(): Promise<void> {\n try {\n await this.initImplementation();\n this._initialized = true;\n } catch (error) {\n this.logger.error('Failed to initialize path polyfill', error);\n throw error;\n }\n }\n\n protected abstract initImplementation(): Promise<void>;\n}","import { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_PathPolyfillBase } from \"../base/A-Path-Polyfill.base\";\n\nexport class A_PathPolyfill extends A_PathPolyfillBase {\n constructor(logger: A_Logger) {\n super(logger);\n }\n\n protected async initImplementation(): Promise<void> {\n this._path = {\n join: (...paths: string[]) => {\n return paths.join('/').replace(/\\/+/g, '/');\n },\n resolve: (...paths: string[]) => {\n let resolvedPath = '';\n for (const path of paths) {\n if (path.startsWith('/')) {\n resolvedPath = path;\n } else {\n resolvedPath = this._path.join(resolvedPath, path);\n }\n }\n return resolvedPath || '/';\n },\n dirname: (path: string) => {\n const parts = path.split('/');\n return parts.slice(0, -1).join('/') || '/';\n },\n basename: (path: string, ext?: string) => {\n const base = path.split('/').pop() || '';\n return ext && base.endsWith(ext) ? base.slice(0, -ext.length) : base;\n },\n extname: (path: string) => {\n const parts = path.split('.');\n return parts.length > 1 ? '.' + parts.pop() : '';\n },\n relative: (from: string, to: string) => {\n // Simplified relative path calculation\n return to.replace(from, '').replace(/^\\//, '');\n },\n normalize: (path: string) => {\n return path.replace(/\\/+/g, '/').replace(/\\/$/, '') || '/';\n },\n isAbsolute: (path: string) => {\n return path.startsWith('/') || /^[a-zA-Z]:/.test(path);\n },\n parse: (path: string) => {\n const ext = this._path.extname(path);\n const base = this._path.basename(path);\n const name = this._path.basename(path, ext);\n const dir = this._path.dirname(path);\n return { root: '/', dir, base, ext, name };\n },\n format: (pathObject: any) => {\n return this._path.join(pathObject.dir || '', pathObject.base || '');\n },\n sep: '/',\n delimiter: ':'\n };\n }\n}","import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { IurlInterface } from \"../A-Polyfill.types\";\n\nexport abstract class A_UrlPolyfillBase {\n protected _url!: IurlInterface;\n protected _initialized: boolean = false;\n\n constructor(\n protected logger: A_Logger\n ) {}\n\n get isInitialized(): boolean {\n return this._initialized;\n }\n\n async get(): Promise<IurlInterface> {\n if (!this._initialized) {\n await this.init();\n }\n return this._url;\n }\n\n protected async init(): Promise<void> {\n try {\n await this.initImplementation();\n this._initialized = true;\n } catch (error) {\n this.logger.error('Failed to initialize url polyfill', error);\n throw error;\n }\n }\n\n protected abstract initImplementation(): Promise<void>;\n}","import { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_UrlPolyfillBase } from \"../base/A-Url-Polyfill.base\";\n\nexport class A_UrlPolyfill extends A_UrlPolyfillBase {\n constructor(logger: A_Logger) {\n super(logger);\n }\n\n protected async initImplementation(): Promise<void> {\n this._url = {\n parse: (urlString: string) => {\n try {\n const url = new URL(urlString);\n return {\n protocol: url.protocol,\n hostname: url.hostname,\n port: url.port,\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n host: url.host,\n href: url.href\n };\n } catch {\n return {};\n }\n },\n format: (urlObject: any) => {\n try {\n return new URL('', urlObject.href || `${urlObject.protocol}//${urlObject.host}${urlObject.pathname}${urlObject.search}${urlObject.hash}`).href;\n } catch {\n return '';\n }\n },\n resolve: (from: string, to: string) => {\n try {\n return new URL(to, from).href;\n } catch {\n return to;\n }\n },\n URL: globalThis.URL,\n URLSearchParams: globalThis.URLSearchParams\n };\n }\n}","import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { IbufferInterface } from \"../A-Polyfill.types\";\n\nexport abstract class A_BufferPolyfillBase {\n protected _buffer!: IbufferInterface;\n protected _initialized: boolean = false;\n\n constructor(\n protected logger: A_Logger\n ) {}\n\n get isInitialized(): boolean {\n return this._initialized;\n }\n\n async get(): Promise<IbufferInterface> {\n if (!this._initialized) {\n await this.init();\n }\n return this._buffer;\n }\n\n protected async init(): Promise<void> {\n try {\n await this.initImplementation();\n this._initialized = true;\n } catch (error) {\n this.logger.error('Failed to initialize buffer polyfill', error);\n throw error;\n }\n }\n\n protected abstract initImplementation(): Promise<void>;\n}","import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_BufferPolyfillBase } from \"../base/A-Buffer-Polyfill.base\";\n\nexport class A_BufferPolyfill extends A_BufferPolyfillBase {\n constructor(logger: A_Logger) {\n super(logger);\n }\n\n protected async initImplementation(): Promise<void> {\n this._buffer = {\n from: (data: any, encoding?: string) => {\n if (typeof data === 'string') {\n return new TextEncoder().encode(data);\n }\n return new Uint8Array(data);\n },\n alloc: (size: number, fill?: any) => {\n const buffer = new Uint8Array(size);\n if (fill !== undefined) {\n buffer.fill(fill);\n }\n return buffer;\n },\n allocUnsafe: (size: number) => {\n return new Uint8Array(size);\n },\n isBuffer: (obj: any) => {\n return obj instanceof Uint8Array || obj instanceof ArrayBuffer;\n },\n concat: (list: any[], totalLength?: number) => {\n const length = totalLength || list.reduce((sum, buf) => sum + buf.length, 0);\n const result = new Uint8Array(length);\n let offset = 0;\n for (const buf of list) {\n result.set(buf, offset);\n offset += buf.length;\n }\n return result;\n }\n };\n }\n}","import type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { IprocessInterface } from \"../A-Polyfill.types\";\n\nexport abstract class A_ProcessPolyfillBase {\n protected _process!: IprocessInterface;\n protected _initialized: boolean = false;\n\n constructor(\n protected logger: A_Logger\n ) {}\n\n get isInitialized(): boolean {\n return this._initialized;\n }\n\n async get(): Promise<IprocessInterface> {\n if (!this._initialized) {\n await this.init();\n }\n return this._process;\n }\n\n protected async init(): Promise<void> {\n try {\n await this.initImplementation();\n this._initialized = true;\n } catch (error) {\n this.logger.error('Failed to initialize process polyfill', error);\n throw error;\n }\n }\n\n protected abstract initImplementation(): Promise<void>;\n}","import { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_ProcessPolyfillBase } from \"../base/A-Process-Polyfill.base\";\n\nexport class A_ProcessPolyfill extends A_ProcessPolyfillBase {\n constructor(logger: A_Logger) {\n super(logger);\n }\n\n protected async initImplementation(): Promise<void> {\n this._process = {\n env: {\n NODE_ENV: 'browser',\n ...((globalThis as any).process?.env || {})\n },\n argv: ['browser'],\n platform: 'browser',\n version: 'browser',\n versions: { node: 'browser' },\n cwd: () => '/',\n exit: (code?: number) => {\n this.logger.warning('process.exit not available in browser');\n throw new Error(`Process exit with code ${code}`);\n },\n nextTick: (callback: Function, ...args: any[]) => {\n setTimeout(() => callback(...args), 0);\n }\n };\n }\n}","import { A_Component, A_Concept, A_Context, A_Inject } from \"@adaas/a-concept\";\nimport type { A_Logger } from \"@adaas/a-utils/a-logger\";\nimport { A_FSPolyfill } from \"./browser/A-FS-Polyfill\";\nimport { A_CryptoPolyfill } from \"./browser/A-Crypto-Polyfill\";\nimport { A_HttpPolyfill } from \"./browser/A-Http-Polyfill\";\nimport { A_HttpsPolyfill } from \"./browser/A-Https-Polyfill\";\nimport { A_PathPolyfill } from \"./browser/A-Path-Polyfill\";\nimport { A_UrlPolyfill } from \"./browser/A-Url-Polyfill\";\nimport { A_BufferPolyfill } from \"./browser/A-Buffer-Polyfill\";\nimport { A_ProcessPolyfill } from \"./browser/A-Process-Polyfill\";\nimport { A_Frame } from \"@adaas/a-frame\";\n\n\n\n\n@A_Frame.Component({\n namespace: 'A-Utils',\n name: 'A-Polyfill',\n description: 'Polyfill component that provides cross-environment compatibility for Node.js core modules such as fs, crypto, http, https, path, url, buffer, and process. It dynamically loads appropriate polyfills based on the execution environment (Node.js or browser), enabling seamless usage of these modules in different contexts.'\n})\nexport class A_Polyfill extends A_Component {\n\n protected _fsPolyfill!: A_FSPolyfill;\n protected _cryptoPolyfill!: A_CryptoPolyfill;\n protected _httpPolyfill!: A_HttpPolyfill;\n protected _httpsPolyfill!: A_HttpsPolyfill;\n protected _pathPolyfill!: A_PathPolyfill;\n protected _urlPolyfill!: A_UrlPolyfill;\n protected _bufferPolyfill!: A_BufferPolyfill;\n protected _processPolyfill!: A_ProcessPolyfill;\n\n protected _initializing: Promise<void> | null = null;\n /**\n * Indicates whether the channel is connected\n */\n protected _initialized?: Promise<void>;\n\n\n constructor(\n @A_Inject('A_Logger') protected logger: A_Logger\n ) {\n super();\n }\n\n /**\n * Indicates whether the channel is connected\n */\n get ready(): Promise<void> {\n if (!this._initialized) {\n this._initialized = this._loadInternal();\n }\n return this._initialized;\n }\n\n\n\n @A_Concept.Load()\n async load() {\n await this.ready;\n }\n\n @A_Concept.Load()\n async attachToWindow() {\n if (A_Context.environment !== 'browser') return;\n\n\n (globalThis as any).A_Polyfill = this;\n // attach env variables\n (globalThis as any).process = { env: { NODE_ENV: 'production' }, cwd: () => \"/\" };\n (globalThis as any).__dirname = \"/\";\n }\n\n\n protected async _loadInternal() {\n\n this._fsPolyfill = new A_FSPolyfill(this.logger);\n this._cryptoPolyfill = new A_CryptoPolyfill(this.logger);\n this._httpPolyfill = new A_HttpPolyfill(this.logger);\n this._httpsPolyfill = new A_HttpsPolyfill(this.logger);\n this._pathPolyfill = new A_PathPolyfill(this.logger);\n this._urlPolyfill = new A_UrlPolyfill(this.logger);\n this._bufferPolyfill = new A_BufferPolyfill(this.logger);\n this._processPolyfill = new A_ProcessPolyfill(this.logger);\n\n // Initialize all polyfills to ensure they're ready\n await this._fsPolyfill.get();\n await this._cryptoPolyfill.get(await this._fsPolyfill.get());\n await this._httpPolyfill.get();\n await this._httpsPolyfill.get();\n await this._pathPolyfill.get();\n await this._urlPolyfill.get();\n await this._bufferPolyfill.get();\n await this._processPolyfill.get();\n }\n\n /**\n * Allows to use the 'fs' polyfill methods regardless of the environment\n * This method loads the 'fs' polyfill and returns its instance\n * \n * @returns \n */\n async fs() {\n await this.ready;\n\n return await this._fsPolyfill.get();\n }\n\n /**\n * Allows to use the 'crypto' polyfill methods regardless of the environment\n * This method loads the 'crypto' polyfill and returns its instance\n * \n * @returns \n */\n async crypto() {\n await this.ready;\n\n return await this._cryptoPolyfill.get();\n }\n\n /**\n * Allows to use the 'http' polyfill methods regardless of the environment\n * This method loads the 'http' polyfill and returns its instance\n * \n * @returns \n */\n async http() {\n await this.ready;\n\n return await this._httpPolyfill.get();\n }\n\n /**\n * Allows to use the 'https' polyfill methods regardless of the environment\n * This method loads the 'https' polyfill and returns its instance\n * \n * @returns \n */\n async https() {\n await this.ready;\n\n return await this._httpsPolyfill.get();\n }\n\n /**\n * Allows to use the 'path' polyfill methods regardless of the environment\n * This method loads the 'path' polyfill and returns its instance\n * \n * @returns \n */\n async path() {\n await this.ready;\n\n return await this._pathPolyfill.get();\n }\n\n /**\n * Allows to use the 'url' polyfill methods regardless of the environment\n * This method loads the 'url' polyfill and returns its instance\n * \n * @returns \n */\n async url() {\n await this.ready;\n\n return await this._urlPolyfill.get();\n }\n\n /**\n * Allows to use the 'buffer' polyfill methods regardless of the environment\n * This method loads the 'buffer' polyfill and returns its instance\n * \n * @returns \n */\n async buffer() {\n await this.ready;\n\n return await this._bufferPolyfill.get();\n }\n\n /**\n * Allows to use the 'process' polyfill methods regardless of the environment\n * This method loads the 'process' polyfill and returns its instance\n * \n * @returns \n */\n async process() {\n await this.ready;\n\n return await this._processPolyfill.get();\n }\n}"]}
@@ -1,264 +0,0 @@
1
- import { A_Polyfill } from './chunk-JTQYATZ5.mjs';
2
- import { A_ExecutionContext } from './chunk-TQ5UON22.mjs';
3
- import { __decorateClass, __decorateParam } from './chunk-EQQGB2QZ.mjs';
4
- import { A_Concept, A_Inject, A_Container, A_Scope, A_Dependency, A_Feature, A_Error, A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY, A_FormatterHelper, A_Component, A_CONCEPT_ENV, A_Context, A_ScopeError } from '@adaas/a-concept';
5
- import { A_Frame } from '@adaas/a-frame';
6
-
7
- // src/lib/A-Config/A-Config.constants.ts
8
- var A_CONSTANTS__CONFIG_ENV_VARIABLES = {};
9
- var A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY = [];
10
- var A_ConfigError = class extends A_Error {
11
- };
12
- A_ConfigError.InitializationError = "A-Config Initialization Error";
13
- var A_Config = class extends A_ExecutionContext {
14
- constructor(config) {
15
- super("a-config");
16
- this.DEFAULT_ALLOWED_TO_READ_PROPERTIES = [
17
- ...A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY,
18
- ...A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY
19
- ];
20
- this._strict = config.strict ?? false;
21
- this._configProperties = config.variables ?? [];
22
- for (const key in config.defaults) {
23
- this.set(
24
- A_FormatterHelper.toUpperSnakeCase(key),
25
- config.defaults[key]
26
- );
27
- }
28
- }
29
- get strict() {
30
- return this._strict;
31
- }
32
- /**
33
- * This method is used to get the configuration property by name
34
- *
35
- * @param property
36
- * @returns
37
- */
38
- get(property) {
39
- if (this._configProperties.includes(property) || this.DEFAULT_ALLOWED_TO_READ_PROPERTIES.includes(property) || !this._strict)
40
- return super.get(A_FormatterHelper.toUpperSnakeCase(property));
41
- throw new A_ConfigError("Property not exists or not allowed to read");
42
- }
43
- set(property, value) {
44
- const array = Array.isArray(property) ? property : typeof property === "string" ? [{ property, value }] : Object.keys(property).map((key) => ({
45
- property: key,
46
- value: property[key]
47
- }));
48
- for (const { property: property2, value: value2 } of array) {
49
- super.set(A_FormatterHelper.toUpperSnakeCase(property2), value2);
50
- }
51
- }
52
- };
53
- A_Config = __decorateClass([
54
- A_Frame.Fragment({
55
- namespace: "A-Utils",
56
- name: "A-Config",
57
- description: "Configuration management context that provides structured access to application configuration variables, supporting defaults and strict mode for enhanced reliability. Default environment variables are included for comprehensive configuration handling."
58
- })
59
- ], A_Config);
60
- var ConfigReader = class extends A_Component {
61
- constructor(polyfill) {
62
- super();
63
- this.polyfill = polyfill;
64
- this.DEFAULT_ALLOWED_TO_READ_PROPERTIES = [
65
- ...A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY,
66
- ...A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY
67
- ];
68
- }
69
- async attachContext(container, context, config) {
70
- if (!config) {
71
- config = new A_Config({
72
- defaults: {}
73
- });
74
- container.scope.register(config);
75
- }
76
- config.set("A_CONCEPT_ROOT_FOLDER", A_CONCEPT_ENV.A_CONCEPT_ROOT_FOLDER);
77
- }
78
- async initialize(config) {
79
- const data = await this.read();
80
- for (const key in data) {
81
- config.set(key, data[key]);
82
- }
83
- }
84
- /**
85
- * Get the configuration property by Name
86
- * @param property
87
- */
88
- resolve(property) {
89
- return property;
90
- }
91
- /**
92
- * This method reads the configuration and sets the values to the context
93
- *
94
- * @returns
95
- */
96
- async read(variables = []) {
97
- return {};
98
- }
99
- };
100
- __decorateClass([
101
- A_Concept.Load(),
102
- __decorateParam(0, A_Inject(A_Container)),
103
- __decorateParam(1, A_Inject(A_Scope)),
104
- __decorateParam(2, A_Inject(A_Config))
105
- ], ConfigReader.prototype, "attachContext", 1);
106
- __decorateClass([
107
- A_Concept.Load(),
108
- __decorateParam(0, A_Dependency.Required()),
109
- __decorateParam(0, A_Inject(A_Config))
110
- ], ConfigReader.prototype, "initialize", 1);
111
- ConfigReader = __decorateClass([
112
- A_Frame.Component({
113
- namespace: "A-Utils",
114
- name: "ConfigReader",
115
- description: "Abstract component for reading configuration data from various sources such as files, environment variables, or remote services. This component can be extended to implement specific configuration reading strategies."
116
- }),
117
- __decorateParam(0, A_Dependency.Required()),
118
- __decorateParam(0, A_Inject(A_Polyfill))
119
- ], ConfigReader);
120
- var FileConfigReader = class extends ConfigReader {
121
- constructor() {
122
- super(...arguments);
123
- this.FileData = /* @__PURE__ */ new Map();
124
- }
125
- /**
126
- * Get the configuration property Name
127
- * @param property
128
- */
129
- getConfigurationProperty_File_Alias(property) {
130
- return A_FormatterHelper.toCamelCase(property);
131
- }
132
- resolve(property) {
133
- return this.FileData.get(this.getConfigurationProperty_File_Alias(property));
134
- }
135
- async read(variables) {
136
- const fs = await this.polyfill.fs();
137
- try {
138
- const data = fs.readFileSync(`${A_Context.concept}.conf.json`, "utf8");
139
- const config = JSON.parse(data);
140
- this.FileData = new Map(Object.entries(config));
141
- return config;
142
- } catch (error) {
143
- return {};
144
- }
145
- }
146
- };
147
- FileConfigReader = __decorateClass([
148
- A_Frame.Component({
149
- namespace: "A-Utils",
150
- name: "FileConfigReader",
151
- description: "Configuration reader that loads configuration data from a JSON file located in the application root directory. It reads the file named after the current concept with a .conf.json extension and parses its contents into the configuration context."
152
- })
153
- ], FileConfigReader);
154
- var ENVConfigReader = class extends ConfigReader {
155
- async readEnvFile(config, polyfill, feature) {
156
- const fs = await polyfill.fs();
157
- if (fs.existsSync(".env"))
158
- fs.readFileSync(`${config.get("A_CONCEPT_ROOT_FOLDER")}/.env`, "utf-8").split("\n").forEach((line) => {
159
- const [key, value] = line.split("=");
160
- if (key && value) {
161
- A_CONCEPT_ENV.set(key.trim(), value.trim());
162
- }
163
- });
164
- }
165
- /**
166
- * Get the configuration property Name
167
- * @param property
168
- */
169
- getConfigurationProperty_ENV_Alias(property) {
170
- return A_FormatterHelper.toUpperSnakeCase(property);
171
- }
172
- resolve(property) {
173
- return A_CONCEPT_ENV.get(this.getConfigurationProperty_ENV_Alias(property));
174
- }
175
- async read(variables = []) {
176
- const allVariables = [
177
- ...variables,
178
- ...Object.keys(A_CONCEPT_ENV)
179
- ];
180
- const config = {};
181
- allVariables.forEach((variable) => {
182
- config[variable] = this.resolve(variable);
183
- });
184
- return config;
185
- }
186
- };
187
- __decorateClass([
188
- A_Concept.Load({
189
- before: ["ENVConfigReader.initialize"]
190
- }),
191
- __decorateParam(0, A_Inject(A_Config)),
192
- __decorateParam(1, A_Inject(A_Polyfill)),
193
- __decorateParam(2, A_Inject(A_Feature))
194
- ], ENVConfigReader.prototype, "readEnvFile", 1);
195
- ENVConfigReader = __decorateClass([
196
- A_Frame.Component({
197
- namespace: "A-Utils",
198
- name: "ENVConfigReader",
199
- description: "Configuration reader that sources configuration data from environment variables. It supports loading variables from a .env file and maps them to the configuration context, making it suitable for applications running in diverse environments such as local development, staging, and production."
200
- })
201
- ], ENVConfigReader);
202
- var A_ConfigLoader = class extends A_Container {
203
- async prepare(polyfill) {
204
- if (!this.scope.has(A_Config)) {
205
- const newConfig = new A_Config({
206
- variables: [
207
- ...A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY,
208
- ...A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY
209
- ],
210
- defaults: {}
211
- });
212
- this.scope.register(newConfig);
213
- }
214
- const fs = await polyfill.fs();
215
- try {
216
- switch (true) {
217
- case (A_Context.environment === "server" && !!fs.existsSync(`${A_Context.concept}.conf.json`)):
218
- this.reader = this.scope.resolve(FileConfigReader);
219
- break;
220
- case (A_Context.environment === "server" && !fs.existsSync(`${A_Context.concept}.conf.json`)):
221
- this.reader = this.scope.resolve(ENVConfigReader);
222
- break;
223
- case A_Context.environment === "browser":
224
- this.reader = this.scope.resolve(ENVConfigReader);
225
- break;
226
- default:
227
- throw new A_ConfigError(
228
- A_ConfigError.InitializationError,
229
- `Environment ${A_Context.environment} is not supported`
230
- );
231
- }
232
- } catch (error) {
233
- if (error instanceof A_ScopeError) {
234
- throw new A_ConfigError({
235
- title: A_ConfigError.InitializationError,
236
- description: `Failed to initialize A_ConfigLoader. Reader not found for environment ${A_Context.environment}`,
237
- originalError: error
238
- });
239
- }
240
- }
241
- }
242
- };
243
- __decorateClass([
244
- A_Concept.Load({
245
- before: /.*/
246
- }),
247
- __decorateParam(0, A_Inject(A_Polyfill))
248
- ], A_ConfigLoader.prototype, "prepare", 1);
249
- A_ConfigLoader = __decorateClass([
250
- A_Frame.Container({
251
- namespace: "A-Utils",
252
- name: "A-ConfigLoader",
253
- description: "Container responsible for loading and initializing the A_Config component based on the environment and available configuration sources. It can be useful for application that need a separated configuration management and sharable across multiple containers."
254
- })
255
- ], A_ConfigLoader);
256
-
257
- // src/lib/A-Config/A-Config.types.ts
258
- var A_TYPES__ConfigFeature = /* @__PURE__ */ ((A_TYPES__ConfigFeature2) => {
259
- return A_TYPES__ConfigFeature2;
260
- })(A_TYPES__ConfigFeature || {});
261
-
262
- export { A_CONSTANTS__CONFIG_ENV_VARIABLES, A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY, A_Config, A_ConfigError, A_ConfigLoader, A_TYPES__ConfigFeature, ConfigReader, ENVConfigReader, FileConfigReader };
263
- //# sourceMappingURL=chunk-RLXT47QH.mjs.map
264
- //# sourceMappingURL=chunk-RLXT47QH.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/A-Config/A-Config.constants.ts","../../src/lib/A-Config/A-Config.error.ts","../../src/lib/A-Config/A-Config.context.ts","../../src/lib/A-Config/components/ConfigReader.component.ts","../../src/lib/A-Config/components/FileConfigReader.component.ts","../../src/lib/A-Config/components/ENVConfigReader.component.ts","../../src/lib/A-Config/A-Config.container.ts","../../src/lib/A-Config/A-Config.types.ts"],"names":["property","value","A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY","A_Frame","A_FormatterHelper","A_CONCEPT_ENV","A_Concept","A_Inject","A_Container","A_Context","A_TYPES__ConfigFeature"],"mappings":"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","file":"chunk-RLXT47QH.mjs","sourcesContent":["export const A_CONSTANTS__CONFIG_ENV_VARIABLES = {\n\n} as const\n\n\n//should be an array\nexport type A_TYPES__ConfigENVVariables = (typeof A_CONSTANTS__CONFIG_ENV_VARIABLES)[keyof typeof A_CONSTANTS__CONFIG_ENV_VARIABLES][];\n\n\nexport const A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY = [\n\n] as const;\n\n","import { A_Error } from \"@adaas/a-concept\";\n\n\nexport class A_ConfigError extends A_Error {\n\n static readonly InitializationError = 'A-Config Initialization Error';\n}","import { A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY, A_FormatterHelper, A_TYPES__ConceptENVVariables } from \"@adaas/a-concept\";\nimport { A_TYPES__ConfigContainerConstructor } from \"./A-Config.types\";\nimport { A_ExecutionContext } from \"@adaas/a-utils/a-execution\";\nimport { A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY } from \"./A-Config.constants\";\nimport { A_ConfigError } from \"./A-Config.error\";\nimport { A_Frame } from \"@adaas/a-frame\";\n\n\n\n@A_Frame.Fragment({\n namespace: 'A-Utils',\n name: 'A-Config',\n description: 'Configuration management context that provides structured access to application configuration variables, supporting defaults and strict mode for enhanced reliability. Default environment variables are included for comprehensive configuration handling.'\n})\nexport class A_Config<\n T extends Array<string | A_TYPES__ConceptENVVariables[number]> = any[]\n> extends A_ExecutionContext<\n { [key in T[number]]: any; } & {\n [key in typeof A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY[number]]: any\n } & {\n [key in typeof A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY[number]]: any\n }\n> {\n protected _strict: boolean;\n protected _configProperties!: T;\n\n protected DEFAULT_ALLOWED_TO_READ_PROPERTIES = [\n ...A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY,\n ...A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY\n ];\n\n\n constructor(\n config: Partial<A_TYPES__ConfigContainerConstructor<T>>\n ) {\n super('a-config');\n\n this._strict = config.strict ?? false;\n this._configProperties = config.variables ?? [] as any;\n\n\n for (const key in config.defaults) {\n this.set(\n A_FormatterHelper.toUpperSnakeCase(key),\n config.defaults[key as T[number]]\n );\n }\n }\n\n\n get strict(): boolean {\n return this._strict;\n }\n\n\n /** \n * This method is used to get the configuration property by name\n * \n * @param property \n * @returns \n */\n get<K extends T[number]>(\n property: K | typeof this.DEFAULT_ALLOWED_TO_READ_PROPERTIES[number]\n ): { [key in T[number]]: any; }[K] | undefined {\n if (this._configProperties.includes(property as any)\n || this.DEFAULT_ALLOWED_TO_READ_PROPERTIES.includes(property as any)\n || !this._strict\n )\n return super.get(A_FormatterHelper.toUpperSnakeCase(property));\n\n throw new A_ConfigError('Property not exists or not allowed to read');\n }\n\n\n /**\n * \n * This method is used to set the configuration property by name\n * OR set multiple properties at once by passing an array of objects\n * \n * @param variables \n */\n set(\n variables: Array<{\n property: T[number] | A_TYPES__ConceptENVVariables[number],\n value: any\n }>\n )\n set(\n variables: Partial<Record<T[number] | A_TYPES__ConceptENVVariables[number], any>>\n )\n set(\n property: T[number] | A_TYPES__ConceptENVVariables[number],\n value: any\n )\n set(\n property: T[number] | A_TYPES__ConceptENVVariables[number] | Array<{\n property: T[number] | A_TYPES__ConceptENVVariables[number],\n value: any\n }> | Partial<Record<T[number] | A_TYPES__ConceptENVVariables[number], any>>,\n value?: any\n ) {\n const array = Array.isArray(property)\n ? property\n : typeof property === 'string'\n ? [{ property, value }]\n : Object\n .keys(property)\n .map((key) => ({\n property: key,\n value: property[key]\n }));\n\n for (const { property, value } of array) {\n super.set(A_FormatterHelper.toUpperSnakeCase(property), value);\n }\n }\n}","import {\n A_Component, A_CONCEPT_ENV,\n A_Concept, A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY,\n A_Container, A_Dependency,\n A_Inject, A_Scope\n} from \"@adaas/a-concept\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { A_Config } from \"../A-Config.context\";\nimport { A_Polyfill } from \"@adaas/a-utils/a-polyfill\";\nimport { A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY } from \"../A-Config.constants\";\n\n/**\n * Config Reader\n */\n@A_Frame.Component({\n namespace: 'A-Utils',\n name: 'ConfigReader',\n description: 'Abstract component for reading configuration data from various sources such as files, environment variables, or remote services. This component can be extended to implement specific configuration reading strategies.'\n})\nexport class ConfigReader extends A_Component {\n\n protected DEFAULT_ALLOWED_TO_READ_PROPERTIES = [\n ...A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY,\n ...A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY\n ];\n\n constructor(\n @A_Dependency.Required()\n @A_Inject(A_Polyfill) protected polyfill: A_Polyfill,\n ) {\n super();\n }\n\n @A_Concept.Load()\n async attachContext(\n @A_Inject(A_Container) container: A_Container,\n @A_Inject(A_Scope) context: A_Scope,\n @A_Inject(A_Config) config?: A_Config<any>,\n ) {\n if (!config) {\n config = new A_Config({\n defaults: {}\n });\n\n container.scope.register(config);\n }\n\n config.set('A_CONCEPT_ROOT_FOLDER', A_CONCEPT_ENV.A_CONCEPT_ROOT_FOLDER);\n }\n\n @A_Concept.Load()\n async initialize(\n @A_Dependency.Required()\n @A_Inject(A_Config) config: A_Config,\n ) {\n const data = await this.read();\n\n for (const key in data) {\n config.set(key, data[key]);\n }\n }\n\n /**\n * Get the configuration property by Name\n * @param property \n */\n resolve<_ReturnType = any>(property: string): _ReturnType {\n return property as _ReturnType;\n }\n\n /**\n * This method reads the configuration and sets the values to the context\n * \n * @returns \n */\n async read<T extends string>(\n variables: Array<T> = []\n ): Promise<Record<T, any>> {\n return {} as Record<T, any>;\n }\n}","import { A_Context, A_FormatterHelper } from \"@adaas/a-concept\";\nimport { ConfigReader } from \"./ConfigReader.component\";\nimport { A_Frame } from \"@adaas/a-frame\";\n\n\n\n@A_Frame.Component({\n namespace: 'A-Utils',\n name: 'FileConfigReader',\n description: 'Configuration reader that loads configuration data from a JSON file located in the application root directory. It reads the file named after the current concept with a .conf.json extension and parses its contents into the configuration context.'\n})\nexport class FileConfigReader extends ConfigReader {\n\n private FileData: Map<string, any> = new Map<string, any>();\n\n /**\n * Get the configuration property Name\n * @param property \n */\n getConfigurationProperty_File_Alias(property: string): string {\n return A_FormatterHelper.toCamelCase(property);\n }\n\n\n resolve<_ReturnType = any>(property: string): _ReturnType {\n return this.FileData.get(this.getConfigurationProperty_File_Alias(property)) as _ReturnType;\n }\n\n\n async read<T extends string>(\n variables?: Array<T>\n ): Promise<Record<T, any>> {\n\n const fs = await this.polyfill.fs();\n\n try {\n const data = fs.readFileSync(`${A_Context.concept}.conf.json`, 'utf8');\n\n const config: Record<T, any> = JSON.parse(data);\n\n this.FileData = new Map(Object.entries(config));\n\n return config;\n\n } catch (error) {\n // this.context.Logger.error(error);\n return {} as Record<T, any>;\n }\n }\n}\n","import {\n A_Concept, A_CONCEPT_ENV,\n A_Feature,\n A_FormatterHelper, A_Inject, A_TYPES__ConceptENVVariables\n} from \"@adaas/a-concept\";\nimport { ConfigReader } from \"./ConfigReader.component\";\nimport { A_Config } from \"../A-Config.context\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { A_Polyfill } from \"@adaas/a-utils/a-polyfill\";\n\n@A_Frame.Component({\n namespace: 'A-Utils',\n name: 'ENVConfigReader',\n description: 'Configuration reader that sources configuration data from environment variables. It supports loading variables from a .env file and maps them to the configuration context, making it suitable for applications running in diverse environments such as local development, staging, and production.'\n})\nexport class ENVConfigReader extends ConfigReader {\n\n\n @A_Concept.Load({\n before: ['ENVConfigReader.initialize']\n })\n async readEnvFile(\n @A_Inject(A_Config) config: A_Config<A_TYPES__ConceptENVVariables>,\n @A_Inject(A_Polyfill) polyfill: A_Polyfill,\n @A_Inject(A_Feature) feature: A_Feature,\n ) {\n const fs = await polyfill.fs();\n\n if (fs.existsSync('.env'))\n fs.readFileSync(`${config.get('A_CONCEPT_ROOT_FOLDER')}/.env`, 'utf-8').split('\\n').forEach(line => {\n const [key, value] = line.split('=');\n if (key && value) {\n A_CONCEPT_ENV.set(key.trim(), value.trim());\n }\n });\n }\n\n\n /**\n * Get the configuration property Name \n * @param property \n */\n getConfigurationProperty_ENV_Alias(property: string): string {\n return A_FormatterHelper.toUpperSnakeCase(property);\n }\n\n\n resolve<_ReturnType = any>(property: string): _ReturnType {\n return A_CONCEPT_ENV.get(this.getConfigurationProperty_ENV_Alias(property)) as _ReturnType;\n }\n\n\n async read<T extends string>(variables: Array<T> = []): Promise<Record<T, any>> {\n const allVariables = [\n ...variables,\n ...Object.keys(A_CONCEPT_ENV),\n ]\n\n const config: Record<T, any> = {} as Record<T, any>;\n\n allVariables.forEach(variable => {\n config[variable] = this.resolve(variable);\n });\n\n return config;\n }\n} ","import { A_Concept, A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY, A_Container, A_Context, A_Fragment, A_Inject, A_Scope, A_ScopeError } from \"@adaas/a-concept\";\nimport { ConfigReader } from \"./components/ConfigReader.component\";\nimport { A_Config } from \"./A-Config.context\";\nimport { A_ConfigError } from \"./A-Config.error\";\nimport { FileConfigReader } from \"./components/FileConfigReader.component\";\nimport { ENVConfigReader } from \"./components/ENVConfigReader.component\";\nimport { A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY } from \"./A-Config.constants\";\nimport { A_Frame } from \"@adaas/a-frame\";\nimport { A_Polyfill } from \"@adaas/a-utils/a-polyfill\"\n\n\n@A_Frame.Container({\n namespace: 'A-Utils',\n name: 'A-ConfigLoader',\n description: 'Container responsible for loading and initializing the A_Config component based on the environment and available configuration sources. It can be useful for application that need a separated configuration management and sharable across multiple containers.'\n})\nexport class A_ConfigLoader extends A_Container {\n\n private reader!: ConfigReader\n\n\n @A_Concept.Load({\n before: /.*/\n })\n async prepare(\n @A_Inject(A_Polyfill) polyfill: A_Polyfill,\n ) {\n if (!this.scope.has(A_Config)) {\n const newConfig = new A_Config({\n variables: [\n ...A_CONSTANTS__DEFAULT_ENV_VARIABLES_ARRAY,\n ...A_CONSTANTS__CONFIG_ENV_VARIABLES_ARRAY\n ] as const,\n defaults: {}\n });\n\n this.scope.register<A_Fragment>(newConfig);\n }\n\n\n const fs = await polyfill.fs();\n\n try {\n switch (true) {\n\n case A_Context.environment === 'server' && !!fs.existsSync(`${A_Context.concept}.conf.json`):\n this.reader = this.scope.resolve<ConfigReader>(FileConfigReader)!;\n break;\n\n case A_Context.environment === 'server' && !fs.existsSync(`${A_Context.concept}.conf.json`):\n this.reader = this.scope.resolve<ConfigReader>(ENVConfigReader)!;\n break;\n\n case A_Context.environment === 'browser':\n this.reader = this.scope.resolve<ConfigReader>(ENVConfigReader)!;\n break;\n\n default:\n throw new A_ConfigError(\n A_ConfigError.InitializationError,\n `Environment ${A_Context.environment} is not supported`\n );\n }\n } catch (error) {\n if (error instanceof A_ScopeError) {\n throw new A_ConfigError({\n title: A_ConfigError.InitializationError,\n description: `Failed to initialize A_ConfigLoader. Reader not found for environment ${A_Context.environment}`,\n originalError: error,\n })\n }\n }\n }\n}","import { A_TYPES__ConceptENVVariables, A_TYPES__Fragment_Constructor } from \"@adaas/a-concept\";\n\nexport enum A_TYPES__ConfigFeature {\n\n}\n\n\nexport type A_TYPES__ConfigContainerConstructor<T extends Array<string | A_TYPES__ConceptENVVariables[number]>> = {\n\n /**\n * If set to true, the SDK will throw an error if the variable is not defined OR not presented in the defaults\n */\n strict: boolean\n\n /**\n * Allows to define the names of variable to be loaded\n */\n variables: T\n\n /**\n * Allows to set the default values for the variables\n */\n defaults: {\n [key in T[number]]?: any\n }\n} & A_TYPES__Fragment_Constructor;\n"]}