@nsshunt/stsutils 1.19.148 → 1.19.150

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/index.cjs CHANGED
@@ -1,5 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_source = require("./source-DvZTPnpg.cjs");
2
+ const require_rolldown_runtime = require("./rolldown-runtime-VH7oDXx4.cjs");
3
+ let chalk = require("chalk");
4
+ chalk = require_rolldown_runtime.__toESM(chalk, 1);
3
5
  //#region src/commonTypes.ts
4
6
  var ModelDelimeter = /* @__PURE__ */ function(ModelDelimeter) {
5
7
  ModelDelimeter["ROOT"] = "_";
@@ -23,25 +25,25 @@ var CheckValidChar = (checkParams) => {
23
25
  };
24
26
  var defaultLogger = {
25
27
  debug(message) {
26
- console.debug(require_source.chalk.grey(`debug: ${message}`));
28
+ console.debug(chalk.default.grey(`debug: ${message}`));
27
29
  },
28
30
  error(message) {
29
- console.error(require_source.chalk.red(`error: ${message}`));
31
+ console.error(chalk.default.red(`error: ${message}`));
30
32
  },
31
33
  http(message) {
32
- console.log(require_source.chalk.cyan(`http: ${message}`));
34
+ console.log(chalk.default.cyan(`http: ${message}`));
33
35
  },
34
36
  info(message) {
35
- console.info(require_source.chalk.white(`info: ${message}`));
37
+ console.info(chalk.default.white(`info: ${message}`));
36
38
  },
37
39
  silly(message) {
38
- console.log(require_source.chalk.yellow(`silly: ${message}`));
40
+ console.log(chalk.default.yellow(`silly: ${message}`));
39
41
  },
40
42
  verbose(message) {
41
- console.log(require_source.chalk.green(`verbose: ${message}`));
43
+ console.log(chalk.default.green(`verbose: ${message}`));
42
44
  },
43
45
  warn(message) {
44
- console.warn(require_source.chalk.magenta(`warn: ${message}`));
46
+ console.warn(chalk.default.magenta(`warn: ${message}`));
45
47
  }
46
48
  };
47
49
  var emptyLogger = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["chalk"],"sources":["../src/commonTypes.ts","../src/dataAccessTypes.ts","../src/sleep.ts","../src/stsAxiosConfig.ts","../src/agentManager.ts","../src/errorhandling.ts","../src/oauth2terms.ts","../src/di.ts","../src/index.ts"],"sourcesContent":["/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\n/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport chalk from \"chalk\";\n\nexport interface JSONObject {\n [x: string]: any | JSONObject | undefined;\n}\n\nexport enum ModelDelimeter {\n ROOT = \"_\",\n SEPERATOR = \"|\",\n COMPONENT_SEPERATOR = \"@\",\n NID_SEPERATOR = \"^\", // This seperator splits the static and dynamic part of a context string (nid). Used for creating payload header for size optimisation.\n}\n\nexport const CheckValidChar = (checkParams: string[][]): void => {\n const invalidChars = [\n ModelDelimeter.ROOT,\n ModelDelimeter.SEPERATOR,\n ModelDelimeter.COMPONENT_SEPERATOR,\n ModelDelimeter.NID_SEPERATOR,\n ];\n\n checkParams.forEach((param) => {\n invalidChars.forEach((char) => {\n if (param[1].includes(char)) {\n throw new Error(\n `Invalid character inside [${param[0]}:${param[1]}], no [${char}] allowed`\n );\n }\n });\n });\n};\n\n// npm logging levels are prioritized from 0 to 6 (highest to lowest). This from Winston logger.\nexport interface ISTSLogger {\n error(message: any): void;\n warn(message: any): void;\n info(message: any): void;\n http(message: any): void;\n verbose(message: any): void;\n debug(message: any): void;\n silly(message: any): void;\n}\n\nexport const defaultLogger: ISTSLogger = {\n debug(message) {\n console.debug(chalk.grey(`debug: ${message}`));\n },\n error(message) {\n console.error(chalk.red(`error: ${message}`));\n },\n http(message) {\n console.log(chalk.cyan(`http: ${message}`));\n },\n info(message) {\n console.info(chalk.white(`info: ${message}`));\n },\n silly(message) {\n console.log(chalk.yellow(`silly: ${message}`));\n },\n verbose(message) {\n console.log(chalk.green(`verbose: ${message}`));\n },\n warn(message) {\n console.warn(chalk.magenta(`warn: ${message}`));\n },\n};\n\nexport const emptyLogger: ISTSLogger = {\n debug(message) {},\n error(message) {},\n http(message) {},\n info(message) {},\n silly(message) {},\n verbose(message) {},\n warn(message) {},\n};\n","import { StatusCodes } from \"http-status-codes\";\n\nimport { JSONObject } from \"./commonTypes.js\";\n\n//@@ These should be moved into the stsrest01client\nexport enum edbaction {\n created = 1,\n updated = 2,\n deleted = 3,\n}\n\nexport interface IDBResource<T> {\n oid: string;\n resname: string;\n resdesc: T;\n vnum: string;\n validfrom: string;\n validto: string | null;\n dbaction: edbaction;\n dbactionuser: string;\n}\n\nexport interface IDBEntity<T> {\n oid: string;\n resourceoid: string;\n entname: string;\n entvalue: T;\n vnum: string;\n validfrom: string;\n validto: string | null;\n dbaction: edbaction;\n dbactionuser: string;\n}\n\nexport interface IDBFilters {\n resname?: string;\n entname?: string;\n resvnum?: string;\n entvnum?: string;\n filter?: string;\n incdel?: string;\n startdate?: string;\n enddate?: string;\n resenddate?: string;\n dbaction?: string;\n dbactionuser?: string;\n limit?: string;\n}\n\nexport interface IAccessLayerErrorDetail {\n status: StatusCodes;\n error: Error;\n errorMessage: string;\n operation: string;\n}\n\nexport interface IDBOptions {\n filters?: IDBFilters;\n useCache?: boolean;\n useMultipleDatabases?: boolean;\n limit?: number;\n errorOnBatchUpdate?: boolean;\n}\n\nexport interface IDBReturnData<T> {\n status: StatusCodes;\n operation: string;\n detail:\n | IDBReturnData<T>[]\n | IDBResource<T>[]\n | IDBResource<T>\n | IDBEntity<T>[]\n | IDBEntity<T>\n | T\n | null;\n options: IDBOptions;\n error?: IAccessLayerErrorDetail;\n}\n\nexport interface IDBSearchOptions {\n queryFunctionName: string;\n searchParameters: JSONObject;\n returnsResourceList: boolean;\n}\n","export async function Sleep(milliseconds = 1000): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, milliseconds));\n}\n","import { JSONObject } from \"./commonTypes.js\";\nimport { IAgentManager } from \"./agentManager.js\";\n\nexport class STSAxiosConfig {\n #url: string;\n #method: string;\n #headers?: JSONObject;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n #data?: any;\n #agentManager?: IAgentManager;\n #timeout?: number;\n #withCredentials?: boolean;\n\n constructor(\n url: string,\n method: string,\n headers?: JSONObject,\n timeout?: number\n ) {\n this.#url = url;\n this.#method = method;\n if (headers !== undefined) {\n this.#headers = headers;\n }\n if (timeout !== undefined) {\n this.#timeout = timeout;\n }\n }\n\n /**\n *\n * @param cookies this.#headers['Cookie'] = cookies.join('; ')\n * @returns\n */\n withCookies(cookies: string[]) {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Cookie\"] = cookies.join(\"; \");\n return this;\n }\n\n /**\n *\n * @param data Add data to the body\n * @returns\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n withData(data: any) {\n this.#data = data;\n return this;\n }\n\n // 'Content-Type': 'application/json'\n\n /**\n *\n * @param accesssToken\n * @param stsUserId\n * @returns this.#headers['Authorization'] = 'Bearer ' + accesssToken; and this.#headers['x-sts_user_id'] = stsUserId;\n */\n withAuthHeaders(accesssToken: string, stsUserId?: string) {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Authorization\"] = \"Bearer \" + accesssToken;\n if (stsUserId) {\n this.#headers[\"x-sts_user_id\"] = stsUserId;\n }\n return this;\n }\n\n /**\n *\n * @param headers Add headers to the existing header\n * @returns\n */\n withHeaders(headers: JSONObject) {\n this.#headers = {\n ...(this.#headers ?? {}),\n ...headers,\n };\n return this;\n }\n\n /**\n *\n * @returns this.#headers['Content-Type'] = 'application/fhir+json';\n */\n withApplicationFhirAndJsonContentTypeHeaders() {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Content-Type\"] = \"application/fhir+json\";\n return this;\n }\n\n /**\n *\n * @returns this.#headers['Content-Type'] = 'application/merge-patch+json';\n */\n withApplicationMergePatchAndJsonContentTypeHeaders() {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Content-Type\"] = \"application/merge-patch+json\";\n return this;\n }\n\n /**\n *\n * @returns this.#headers['Content-Type'] = 'application/json-patch+json';\n */\n withApplicationJsonPatchAndJsonContentTypeHeaders() {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Content-Type\"] = \"application/json-patch+json\";\n return this;\n }\n\n /**\n *\n * @returns this.#headers['Content-Type'] = 'application/json';\n */\n withApplicationJsonContentTypeHeaders() {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Content-Type\"] = \"application/json\";\n return this;\n }\n\n /**\n *\n * @returns this.#headers['Content-Type'] = 'application/json';\n */\n withDefaultHeaders() {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Content-Type\"] = \"application/json\";\n return this;\n }\n\n /**\n *\n * @returns\n */\n withCredentials() {\n this.#withCredentials = true;\n return this;\n }\n\n /**\n *\n * @param timeout Add a connection timeout\n * @returns\n */\n withTimeout(timeout: number) {\n this.#timeout = timeout;\n return this;\n }\n\n /**\n *\n * @param agentManager Add the agent manager for each rest call. Only for nodejs not browser.\n * @returns\n */\n withAgentManager(agentManager: IAgentManager) {\n this.#agentManager = agentManager;\n return this;\n }\n\n /**\n * @returns Returns axios config object\n */\n get config(): JSONObject {\n const retVal: JSONObject = {\n url: this.#url,\n method: this.#method,\n };\n if (this.#headers) {\n retVal.headers = this.#headers;\n }\n if (this.#agentManager !== undefined) {\n if (this.#agentManager.IsHttps(this.#url)) {\n retVal.httpsAgent = this.#agentManager.GetAgent(this.#url);\n } else {\n retVal.httpAgent = this.#agentManager.GetAgent(this.#url);\n }\n }\n if (this.#data !== undefined) {\n retVal.data = this.#data;\n }\n if (this.#timeout !== undefined) {\n retVal.timeout = this.#timeout;\n }\n if (\n this.#withCredentials !== undefined &&\n this.#withCredentials === true\n ) {\n retVal.withCredentials = true;\n }\n return retVal;\n }\n}\n","export interface IAgentOptions {\n keepAlive: boolean;\n maxSockets: number;\n maxTotalSockets: number;\n maxFreeSockets: number;\n timeout: number;\n rejectUnauthorized?: boolean;\n}\n\nexport interface IAgentManagerOptions {\n httpAgentFactory: (options: IAgentOptions) => unknown;\n httpsAgentFactory: (options: IAgentOptions) => unknown;\n agentOptions?: IAgentOptions;\n agentResetInterval?: number;\n agentResetCount?: number;\n}\n\nexport interface IAgentManager {\n get agentResetInterval(): number | undefined;\n get agentResetCount(): number | undefined;\n UpdateAgentResetInterval(val: number): void;\n UpdateAgentResetCount(val: number): void;\n IncRequestCount(): void;\n IsHttps(protocol: string): boolean;\n GetAgent(protocol: string): unknown;\n ResetAgent(): void;\n Terminate(): void;\n}\n\nexport function createAgentManager(\n agentManagerOptions: IAgentManagerOptions\n): IAgentManager {\n return new AgentManager(agentManagerOptions);\n}\n\nclass AgentManager implements IAgentManager {\n #options: IAgentManagerOptions;\n #agentResetInterval: NodeJS.Timeout | null = null;\n #requestCount: number = 0;\n #httpAgent: unknown = undefined;\n #httpsAgent: unknown = undefined;\n\n constructor(agentManagerOptions: IAgentManagerOptions) {\n this.#options = agentManagerOptions;\n if (this.#options.agentResetInterval) {\n this.#SetupResetInterval();\n }\n }\n\n get agentResetInterval(): number | undefined {\n return this.#options.agentResetInterval;\n }\n\n UpdateAgentResetInterval(val: number): void {\n if (this.#agentResetInterval) {\n clearTimeout(this.#agentResetInterval);\n }\n this.#options.agentResetInterval = val;\n this.#SetupResetInterval();\n }\n\n get agentResetCount(): number | undefined {\n return this.#options.agentResetCount;\n }\n\n UpdateAgentResetCount(val: number): void {\n this.#options.agentResetCount = val;\n }\n\n #SetupResetInterval = () => {\n if (\n this.#options.agentResetInterval &&\n this.#options.agentResetInterval > 0\n ) {\n this.#agentResetInterval = setTimeout(() => {\n this.ResetAgent();\n this.#SetupResetInterval();\n }, this.#options.agentResetInterval).unref();\n }\n };\n\n IncRequestCount(): void {\n this.#requestCount++;\n if (this.#options.agentResetCount) {\n if (this.#requestCount % this.#options.agentResetCount === 0) {\n this.ResetAgent();\n }\n }\n }\n\n IsHttps(protocol: string): boolean {\n if (protocol.toLowerCase().startsWith(\"https:\")) {\n return true;\n }\n return false;\n }\n\n #GetAgentOptions = (https: boolean): IAgentOptions => {\n let options: IAgentOptions;\n if (this.#options.agentOptions) {\n options = {\n keepAlive: this.#options.agentOptions.keepAlive,\n maxSockets: this.#options.agentOptions.maxSockets,\n maxTotalSockets: this.#options.agentOptions.maxTotalSockets,\n maxFreeSockets: this.#options.agentOptions.maxFreeSockets,\n timeout: this.#options.agentOptions.timeout,\n };\n if (https === true) {\n options.rejectUnauthorized =\n this.#options.agentOptions.rejectUnauthorized; // Allows self signed certs in non production mode(s)\n }\n } else {\n // Defaults\n options = {\n keepAlive: true,\n maxSockets: 10,\n maxTotalSockets: 20,\n maxFreeSockets: 256,\n timeout: 30000,\n rejectUnauthorized: false,\n };\n }\n return options;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n GetAgent(protocol: string): any {\n if (protocol.toLowerCase().startsWith(\"https:\")) {\n if (!this.#httpsAgent) {\n //this.#httpsAgent = new https.Agent(this.#GetAgentOptions(true));\n this.#httpsAgent = this.#options.httpsAgentFactory(\n this.#GetAgentOptions(true)\n );\n }\n return this.#httpsAgent;\n } else if (protocol.toLowerCase().startsWith(\"http:\")) {\n if (!this.#httpAgent) {\n //this.#httpAgent = new http.Agent(this.#GetAgentOptions(false));\n this.#httpAgent = this.#options.httpAgentFactory(\n this.#GetAgentOptions(false)\n );\n }\n return this.#httpAgent;\n } else {\n return null;\n }\n }\n\n ResetAgent(): void {\n this.#httpAgent = null;\n this.#httpsAgent = null;\n }\n\n Terminate(): void {\n if (this.#agentResetInterval) {\n clearTimeout(this.#agentResetInterval);\n this.#agentResetInterval = null;\n }\n\n if (this.#httpAgent) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (this.#httpAgent as any).destroy();\n this.#httpAgent = null;\n }\n\n if (this.#httpsAgent) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (this.#httpsAgent as any).destroy();\n this.#httpsAgent = null;\n }\n }\n}\n","export type errorCode = {\n code: string;\n description: string;\n};\n\nexport type errorPayload = {\n error: string;\n error_description: string;\n timestamp: number;\n //trace_id: \"255d1aef-8c98-452f-ac51-23d051240864\", //@@\n //correlation_id: \"fb3d2015-bc17-4bb9-bb85-30c5cf1aaaa7\", //@@\n details?: unknown;\n};\n\nexport function GetErrorPayload(\n errorCode: errorCode,\n details: unknown = null\n): errorPayload {\n return {\n error: errorCode.code,\n error_description: errorCode.description,\n timestamp: Date.now(),\n //trace_id: \"255d1aef-8c98-452f-ac51-23d051240864\", //@@\n //correlation_id: \"fb3d2015-bc17-4bb9-bb85-30c5cf1aaaa7\", //@@\n details: details,\n };\n}\n","import { errorCode, errorPayload } from \"./errorhandling.js\";\n\n// Ref: https://datatracker.ietf.org/doc/html/rfc6749#appendix-A\nexport enum OAuth2ParameterType {\n AUDIENCE = \"AUDIENCE\", // STS Extension\n CLIENT_ID = \"client_id\",\n CLIENT_SECRET = \"client_secret\",\n RESPONSE_TYPE = \"response_type\",\n SCOPE = \"scope\",\n STATE = \"state\",\n REDIRECT_URI = \"redirect_uri\",\n ERROR = \"error\",\n ERROR_DESCRIPTION = \"error_description\",\n ERROR_CODES = \"error_codes\", // STS Extension\n ERROR_URI = \"error_uri\",\n GRANT_TYPE = \"grant_type\",\n CODE = \"code\",\n ACCESS_TOKEN = \"access_token\",\n TOKEN_TYPE = \"token_type\",\n EXPIRES_IN = \"expires_in\",\n USERNAME = \"username\",\n PASSWORD = \"password\",\n REFRESH_TOKEN = \"refresh_token\",\n RESPONSE_MODE = \"response_mode\", // STS Extension\n TIMESTAMP = \"timestamp\", // STS Extension\n TRACE_ID = \"trace_id\", // STS Extension\n CORRELATION_ID = \"correlation_id\", // STS Extension\n}\n\n// Auth0 claim usage;\n// aud - api identifier\n// scope - list (space separated) of api permissions\n\n// Claims (Auth0)\n// https://auth0.com/docs/secure/tokens/json-web-tokens/json-web-token-claims\n\n// Reserved claims (IANA)\n// https://www.iana.org/assignments/jwt/jwt.xhtml#claims\n\n// Example scopes and claims (Auth0)\n// https://auth0.com/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims\n\n// OIDC Claims and Scopes\n// https://openid.net/specs/openid-connect-core-1_0.html#Claims\n// https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#:~:text=Simply%20put%2C%20claims%20are%20name,information%20asserted%20about%20an%20Entity.%E2%80%9D\n\n// OIDC Standard Claims\n// https://openid.net/specs/openid-connect-core-1_0.html#Claims\n// https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#:~:text=Simply%20put%2C%20claims%20are%20name,information%20asserted%20about%20an%20Entity.%E2%80%9D\nexport enum OIDCStandardClaim {\n SUB = \"sub\",\n NAME = \"name\",\n GIVEN_NAME = \"given_name\",\n FAMILY_NAME = \"family_name\",\n MIDDLE_NAME = \"middle_name\",\n NICKNAME = \"nickname\",\n PREFERRED_USERNAME = \"preferred_username\",\n PROFILE = \"profile\",\n PICTURE = \"picture\",\n WEBSITE = \"website\",\n EMAIL = \"email\",\n EMAIL_VERIFIED = \"email_verified\",\n GENDER = \"gender\",\n BIRTHDATE = \"birthdate\",\n ZONEINFO = \"zoneinfo\",\n LOCALE = \"locale\",\n PHONE_NUMBER = \"phone_number\",\n PHONE_NUMBER_VERIFIED = \"phone_number_verified\",\n ADDRESS = \"address\",\n CLIENT_SECRET = \"client_secret\",\n NONCE = \"nonce\", // STS Extension\n}\n\nexport enum OIDCAddressClaim {\n FORMATTED = \"formatted\",\n STREET_ADDRESS = \"street_address\",\n LOCALITY = \"locality\",\n REGION = \"region\",\n COUNTRY = \"country\",\n}\n\nexport class OAuth2ParameterErrorType {\n static readonly NOT_EQUAL: errorCode = {\n code: \"STS_OAUTH2_ERR_0001\",\n description: \"Parameter values not equal.\",\n };\n static readonly NOT_PRESENT: errorCode = {\n code: \"STS_OAUTH2_ERR_0002\",\n description: \"Parameter not provided.\",\n };\n static readonly INVALID_FORMAT: errorCode = {\n code: \"STS_OAUTH2_ERR_0003\",\n description: \"Parameter value format invalid.\",\n };\n static readonly EXPIRED: errorCode = {\n code: \"STS_OAUTH2_ERR_0004\",\n description: \"Parameter value expired.\",\n };\n}\n\nexport function compareParameterTypes(\n source1: string[],\n source2: string[],\n authParameterTypes: OAuth2ParameterType[]\n): errorPayload[] {\n const errors: errorPayload[] = [];\n for (let i = 0; i < authParameterTypes.length; i++) {\n const authParameterType = authParameterTypes[i];\n if (source1[i].localeCompare(source2[i]) !== 0) {\n const error: errorPayload = {\n error: OAuth2ParameterErrorType.NOT_EQUAL.code,\n error_description:\n OAuth2ParameterErrorType.NOT_EQUAL.description,\n timestamp: Date.now(),\n details: `${OAuth2ParameterErrorType.NOT_EQUAL.description}: Parameter: [${authParameterType}]`,\n };\n errors.push(error);\n }\n }\n return errors;\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\n\n// di.ts\n\n/* For nodejs startup;\n\nimport {\n SetInjectionContextStore,\n} from \"@nsshunt/stsutils\";\n\nimport {\n NodeInjectionContextStore,\n} from \"@nsshunt/stsutils/node\";\n\nSetInjectionContextStore(\n new NodeInjectionContextStore()\n);\n\nFor browser - the default mode (SyncInjectionContextStore) is fine - nothing special to do\n\n*/\n\n// ============================================================\n// Constructor\n// ============================================================\n\nexport interface InjectionContextStore {\n run<T>(injector: Injector, fn: () => T): T;\n get(): Injector | undefined;\n}\n\nexport class SyncInjectionContextStore implements InjectionContextStore {\n private current?: Injector;\n\n run<T>(injector: Injector, fn: () => T): T {\n const previous = this.current;\n\n this.current = injector;\n\n try {\n return fn();\n } finally {\n this.current = previous;\n }\n }\n\n get(): Injector | undefined {\n return this.current;\n }\n}\n\nexport type Constructor<T = any> = (new (...args: any[]) => T) & {\n readonly name: string;\n};\n\n// ============================================================\n// Injection token\n// ============================================================\n\nexport class InjectionToken<T> {\n // This field makes T part of the structural type of InjectionToken<T>.\n //\n // It is never used at runtime.\n readonly #type!: T;\n\n constructor(public readonly description: string) {}\n\n toString(): string {\n return `InjectionToken(${this.description})`;\n }\n}\n\n// ============================================================\n// Token\n// ============================================================\n\nexport type Token<T> = Constructor<T> | InjectionToken<T>;\n\n// ============================================================\n// Providers\n// ============================================================\n\nexport type ClassProvider<T> = {\n provide: Token<T>;\n useClass: Constructor<T>;\n};\n\nexport type ValueProvider<T> = {\n provide: Token<T>;\n useValue: T;\n};\n\nexport type FactoryProvider<T> = {\n provide: Token<T>;\n useFactory: () => T;\n};\n\nexport type Provider<T = any> =\n | Constructor<T>\n | ClassProvider<T>\n | ValueProvider<T>\n | FactoryProvider<T>;\n\n// ============================================================\n// Current injection context\n// ============================================================\n\nlet contextStore: InjectionContextStore = new SyncInjectionContextStore();\n\nexport const SetInjectionContextStore = (\n store: InjectionContextStore\n): void => {\n contextStore = store;\n};\n\n// ============================================================\n// inject()\n// ============================================================\n\nexport const inject = <T>(token: Token<T>): T => {\n const injector = contextStore.get();\n\n if (!injector) {\n throw new Error(\"inject() called outside an injection context\");\n }\n\n return injector.get(token);\n};\n\nexport function getCurrentInjector(): Injector {\n const injector = contextStore.get();\n\n if (!injector) {\n throw new Error(\n \"getCurrentInjector() called outside an injection context\"\n );\n }\n\n return injector;\n}\n\n// ============================================================\n// Injector\n// ============================================================\n\nexport class Injector {\n private readonly providers = new Map<\n Token<any>,\n ClassProvider<any> | ValueProvider<any> | FactoryProvider<any>\n >();\n\n private readonly instances = new Map<Token<any>, any>();\n\n constructor(\n providers: Provider[] = [],\n private readonly parent?: Injector\n ) {\n for (const provider of providers) {\n this.register(provider);\n }\n }\n\n // --------------------------------------------------------\n // Create child injector\n // --------------------------------------------------------\n\n createChild(providers: Provider[] = []): Injector {\n return new Injector(providers, this);\n }\n\n // --------------------------------------------------------\n // Register provider\n // --------------------------------------------------------\n\n register(provider: Provider): void {\n // Nest/Angular-like shorthand:\n //\n // new Injector([\n // Logger,\n // UserService\n // ]);\n //\n // is equivalent to:\n //\n // new Injector([\n // {\n // provide: Logger,\n // useClass: Logger\n // },\n // {\n // provide: UserService,\n // useClass: UserService\n // }\n // ]);\n\n if (typeof provider === \"function\") {\n this.providers.set(provider, {\n provide: provider,\n useClass: provider,\n });\n\n return;\n }\n\n this.providers.set(provider.provide, provider);\n }\n\n // --------------------------------------------------------\n // Resolve token\n // --------------------------------------------------------\n\n get<T>(token: Token<T>): T {\n // Check whether THIS injector owns the provider.\n\n const provider = this.providers.get(token);\n\n if (provider) {\n // Providers are singletons within the injector\n // that owns them.\n\n if (this.instances.has(token)) {\n return this.instances.get(token) as T;\n }\n\n const instance = this.createProvider<T>(provider);\n\n this.instances.set(token, instance);\n\n return instance;\n }\n\n // Provider does not exist here.\n //\n // Search parent injector.\n\n if (this.parent) {\n return this.parent.get(token);\n }\n\n throw new Error(`No provider for ${this.tokenToString(token)}`);\n }\n\n // --------------------------------------------------------\n // Create provider\n // --------------------------------------------------------\n\n private createProvider<T>(\n provider: ClassProvider<any> | ValueProvider<any> | FactoryProvider<any>\n ): T {\n if (\"useValue\" in provider) {\n return provider.useValue as T;\n }\n\n if (\"useFactory\" in provider) {\n return this.runInContext(provider.useFactory) as T;\n }\n\n return this.construct(provider.useClass) as T;\n }\n\n // --------------------------------------------------------\n // Construct class\n // --------------------------------------------------------\n\n private construct<T>(type: Constructor<T>): T {\n return this.runInContext(() => new type());\n }\n\n // --------------------------------------------------------\n // Establish injection context\n // --------------------------------------------------------\n\n runInContext<T>(fn: () => T): T {\n return contextStore.run(this, fn);\n }\n\n // --------------------------------------------------------\n // Token name for diagnostics\n // --------------------------------------------------------\n\n private tokenToString(token: Token<any>): string {\n if (token instanceof InjectionToken) {\n return token.toString();\n }\n\n return token.name;\n }\n\n // --------------------------------------------------------\n // Bootstrap\n // --------------------------------------------------------\n\n bootstrap<T>(token: Constructor<T>): T {\n return this.runInContext(() => this.get(token));\n }\n}\n","export * from \"./commonTypes.js\";\nexport * from \"./dataAccessTypes.js\";\nexport * from \"./sleep.js\";\nexport * from \"./stsAxiosConfig.js\";\nexport * from \"./agentManager.js\";\nexport * from \"./errorhandling.js\";\nexport * from \"./oauth2terms.js\";\nexport * from \"./di.js\";\n\nexport const isNode =\n typeof process !== \"undefined\" &&\n typeof process.release !== \"undefined\" &&\n process.release.name === \"node\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../src/commonTypes.ts","../src/dataAccessTypes.ts","../src/sleep.ts","../src/stsAxiosConfig.ts","../src/agentManager.ts","../src/errorhandling.ts","../src/oauth2terms.ts","../src/di.ts","../src/index.ts"],"sourcesContent":["/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\n/* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF\nimport chalk from \"chalk\";\n\nexport interface JSONObject {\n [x: string]: any | JSONObject | undefined;\n}\n\nexport enum ModelDelimeter {\n ROOT = \"_\",\n SEPERATOR = \"|\",\n COMPONENT_SEPERATOR = \"@\",\n NID_SEPERATOR = \"^\", // This seperator splits the static and dynamic part of a context string (nid). Used for creating payload header for size optimisation.\n}\n\nexport const CheckValidChar = (checkParams: string[][]): void => {\n const invalidChars = [\n ModelDelimeter.ROOT,\n ModelDelimeter.SEPERATOR,\n ModelDelimeter.COMPONENT_SEPERATOR,\n ModelDelimeter.NID_SEPERATOR,\n ];\n\n checkParams.forEach((param) => {\n invalidChars.forEach((char) => {\n if (param[1].includes(char)) {\n throw new Error(\n `Invalid character inside [${param[0]}:${param[1]}], no [${char}] allowed`\n );\n }\n });\n });\n};\n\n// npm logging levels are prioritized from 0 to 6 (highest to lowest). This from Winston logger.\nexport interface ISTSLogger {\n error(message: any): void;\n warn(message: any): void;\n info(message: any): void;\n http(message: any): void;\n verbose(message: any): void;\n debug(message: any): void;\n silly(message: any): void;\n}\n\nexport const defaultLogger: ISTSLogger = {\n debug(message) {\n console.debug(chalk.grey(`debug: ${message}`));\n },\n error(message) {\n console.error(chalk.red(`error: ${message}`));\n },\n http(message) {\n console.log(chalk.cyan(`http: ${message}`));\n },\n info(message) {\n console.info(chalk.white(`info: ${message}`));\n },\n silly(message) {\n console.log(chalk.yellow(`silly: ${message}`));\n },\n verbose(message) {\n console.log(chalk.green(`verbose: ${message}`));\n },\n warn(message) {\n console.warn(chalk.magenta(`warn: ${message}`));\n },\n};\n\nexport const emptyLogger: ISTSLogger = {\n debug(message) {},\n error(message) {},\n http(message) {},\n info(message) {},\n silly(message) {},\n verbose(message) {},\n warn(message) {},\n};\n","import { StatusCodes } from \"http-status-codes\";\n\nimport { JSONObject } from \"./commonTypes.js\";\n\n//@@ These should be moved into the stsrest01client\nexport enum edbaction {\n created = 1,\n updated = 2,\n deleted = 3,\n}\n\nexport interface IDBResource<T> {\n oid: string;\n resname: string;\n resdesc: T;\n vnum: string;\n validfrom: string;\n validto: string | null;\n dbaction: edbaction;\n dbactionuser: string;\n}\n\nexport interface IDBEntity<T> {\n oid: string;\n resourceoid: string;\n entname: string;\n entvalue: T;\n vnum: string;\n validfrom: string;\n validto: string | null;\n dbaction: edbaction;\n dbactionuser: string;\n}\n\nexport interface IDBFilters {\n resname?: string;\n entname?: string;\n resvnum?: string;\n entvnum?: string;\n filter?: string;\n incdel?: string;\n startdate?: string;\n enddate?: string;\n resenddate?: string;\n dbaction?: string;\n dbactionuser?: string;\n limit?: string;\n}\n\nexport interface IAccessLayerErrorDetail {\n status: StatusCodes;\n error: Error;\n errorMessage: string;\n operation: string;\n}\n\nexport interface IDBOptions {\n filters?: IDBFilters;\n useCache?: boolean;\n useMultipleDatabases?: boolean;\n limit?: number;\n errorOnBatchUpdate?: boolean;\n}\n\nexport interface IDBReturnData<T> {\n status: StatusCodes;\n operation: string;\n detail:\n | IDBReturnData<T>[]\n | IDBResource<T>[]\n | IDBResource<T>\n | IDBEntity<T>[]\n | IDBEntity<T>\n | T\n | null;\n options: IDBOptions;\n error?: IAccessLayerErrorDetail;\n}\n\nexport interface IDBSearchOptions {\n queryFunctionName: string;\n searchParameters: JSONObject;\n returnsResourceList: boolean;\n}\n","export async function Sleep(milliseconds = 1000): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, milliseconds));\n}\n","import { JSONObject } from \"./commonTypes.js\";\nimport { IAgentManager } from \"./agentManager.js\";\n\nexport class STSAxiosConfig {\n #url: string;\n #method: string;\n #headers?: JSONObject;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n #data?: any;\n #agentManager?: IAgentManager;\n #timeout?: number;\n #withCredentials?: boolean;\n\n constructor(\n url: string,\n method: string,\n headers?: JSONObject,\n timeout?: number\n ) {\n this.#url = url;\n this.#method = method;\n if (headers !== undefined) {\n this.#headers = headers;\n }\n if (timeout !== undefined) {\n this.#timeout = timeout;\n }\n }\n\n /**\n *\n * @param cookies this.#headers['Cookie'] = cookies.join('; ')\n * @returns\n */\n withCookies(cookies: string[]) {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Cookie\"] = cookies.join(\"; \");\n return this;\n }\n\n /**\n *\n * @param data Add data to the body\n * @returns\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n withData(data: any) {\n this.#data = data;\n return this;\n }\n\n // 'Content-Type': 'application/json'\n\n /**\n *\n * @param accesssToken\n * @param stsUserId\n * @returns this.#headers['Authorization'] = 'Bearer ' + accesssToken; and this.#headers['x-sts_user_id'] = stsUserId;\n */\n withAuthHeaders(accesssToken: string, stsUserId?: string) {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Authorization\"] = \"Bearer \" + accesssToken;\n if (stsUserId) {\n this.#headers[\"x-sts_user_id\"] = stsUserId;\n }\n return this;\n }\n\n /**\n *\n * @param headers Add headers to the existing header\n * @returns\n */\n withHeaders(headers: JSONObject) {\n this.#headers = {\n ...(this.#headers ?? {}),\n ...headers,\n };\n return this;\n }\n\n /**\n *\n * @returns this.#headers['Content-Type'] = 'application/fhir+json';\n */\n withApplicationFhirAndJsonContentTypeHeaders() {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Content-Type\"] = \"application/fhir+json\";\n return this;\n }\n\n /**\n *\n * @returns this.#headers['Content-Type'] = 'application/merge-patch+json';\n */\n withApplicationMergePatchAndJsonContentTypeHeaders() {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Content-Type\"] = \"application/merge-patch+json\";\n return this;\n }\n\n /**\n *\n * @returns this.#headers['Content-Type'] = 'application/json-patch+json';\n */\n withApplicationJsonPatchAndJsonContentTypeHeaders() {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Content-Type\"] = \"application/json-patch+json\";\n return this;\n }\n\n /**\n *\n * @returns this.#headers['Content-Type'] = 'application/json';\n */\n withApplicationJsonContentTypeHeaders() {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Content-Type\"] = \"application/json\";\n return this;\n }\n\n /**\n *\n * @returns this.#headers['Content-Type'] = 'application/json';\n */\n withDefaultHeaders() {\n if (!this.#headers) {\n this.#headers = {};\n }\n this.#headers[\"Content-Type\"] = \"application/json\";\n return this;\n }\n\n /**\n *\n * @returns\n */\n withCredentials() {\n this.#withCredentials = true;\n return this;\n }\n\n /**\n *\n * @param timeout Add a connection timeout\n * @returns\n */\n withTimeout(timeout: number) {\n this.#timeout = timeout;\n return this;\n }\n\n /**\n *\n * @param agentManager Add the agent manager for each rest call. Only for nodejs not browser.\n * @returns\n */\n withAgentManager(agentManager: IAgentManager) {\n this.#agentManager = agentManager;\n return this;\n }\n\n /**\n * @returns Returns axios config object\n */\n get config(): JSONObject {\n const retVal: JSONObject = {\n url: this.#url,\n method: this.#method,\n };\n if (this.#headers) {\n retVal.headers = this.#headers;\n }\n if (this.#agentManager !== undefined) {\n if (this.#agentManager.IsHttps(this.#url)) {\n retVal.httpsAgent = this.#agentManager.GetAgent(this.#url);\n } else {\n retVal.httpAgent = this.#agentManager.GetAgent(this.#url);\n }\n }\n if (this.#data !== undefined) {\n retVal.data = this.#data;\n }\n if (this.#timeout !== undefined) {\n retVal.timeout = this.#timeout;\n }\n if (\n this.#withCredentials !== undefined &&\n this.#withCredentials === true\n ) {\n retVal.withCredentials = true;\n }\n return retVal;\n }\n}\n","export interface IAgentOptions {\n keepAlive: boolean;\n maxSockets: number;\n maxTotalSockets: number;\n maxFreeSockets: number;\n timeout: number;\n rejectUnauthorized?: boolean;\n}\n\nexport interface IAgentManagerOptions {\n httpAgentFactory: (options: IAgentOptions) => unknown;\n httpsAgentFactory: (options: IAgentOptions) => unknown;\n agentOptions?: IAgentOptions;\n agentResetInterval?: number;\n agentResetCount?: number;\n}\n\nexport interface IAgentManager {\n get agentResetInterval(): number | undefined;\n get agentResetCount(): number | undefined;\n UpdateAgentResetInterval(val: number): void;\n UpdateAgentResetCount(val: number): void;\n IncRequestCount(): void;\n IsHttps(protocol: string): boolean;\n GetAgent(protocol: string): unknown;\n ResetAgent(): void;\n Terminate(): void;\n}\n\nexport function createAgentManager(\n agentManagerOptions: IAgentManagerOptions\n): IAgentManager {\n return new AgentManager(agentManagerOptions);\n}\n\nclass AgentManager implements IAgentManager {\n #options: IAgentManagerOptions;\n #agentResetInterval: NodeJS.Timeout | null = null;\n #requestCount: number = 0;\n #httpAgent: unknown = undefined;\n #httpsAgent: unknown = undefined;\n\n constructor(agentManagerOptions: IAgentManagerOptions) {\n this.#options = agentManagerOptions;\n if (this.#options.agentResetInterval) {\n this.#SetupResetInterval();\n }\n }\n\n get agentResetInterval(): number | undefined {\n return this.#options.agentResetInterval;\n }\n\n UpdateAgentResetInterval(val: number): void {\n if (this.#agentResetInterval) {\n clearTimeout(this.#agentResetInterval);\n }\n this.#options.agentResetInterval = val;\n this.#SetupResetInterval();\n }\n\n get agentResetCount(): number | undefined {\n return this.#options.agentResetCount;\n }\n\n UpdateAgentResetCount(val: number): void {\n this.#options.agentResetCount = val;\n }\n\n #SetupResetInterval = () => {\n if (\n this.#options.agentResetInterval &&\n this.#options.agentResetInterval > 0\n ) {\n this.#agentResetInterval = setTimeout(() => {\n this.ResetAgent();\n this.#SetupResetInterval();\n }, this.#options.agentResetInterval).unref();\n }\n };\n\n IncRequestCount(): void {\n this.#requestCount++;\n if (this.#options.agentResetCount) {\n if (this.#requestCount % this.#options.agentResetCount === 0) {\n this.ResetAgent();\n }\n }\n }\n\n IsHttps(protocol: string): boolean {\n if (protocol.toLowerCase().startsWith(\"https:\")) {\n return true;\n }\n return false;\n }\n\n #GetAgentOptions = (https: boolean): IAgentOptions => {\n let options: IAgentOptions;\n if (this.#options.agentOptions) {\n options = {\n keepAlive: this.#options.agentOptions.keepAlive,\n maxSockets: this.#options.agentOptions.maxSockets,\n maxTotalSockets: this.#options.agentOptions.maxTotalSockets,\n maxFreeSockets: this.#options.agentOptions.maxFreeSockets,\n timeout: this.#options.agentOptions.timeout,\n };\n if (https === true) {\n options.rejectUnauthorized =\n this.#options.agentOptions.rejectUnauthorized; // Allows self signed certs in non production mode(s)\n }\n } else {\n // Defaults\n options = {\n keepAlive: true,\n maxSockets: 10,\n maxTotalSockets: 20,\n maxFreeSockets: 256,\n timeout: 30000,\n rejectUnauthorized: false,\n };\n }\n return options;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n GetAgent(protocol: string): any {\n if (protocol.toLowerCase().startsWith(\"https:\")) {\n if (!this.#httpsAgent) {\n //this.#httpsAgent = new https.Agent(this.#GetAgentOptions(true));\n this.#httpsAgent = this.#options.httpsAgentFactory(\n this.#GetAgentOptions(true)\n );\n }\n return this.#httpsAgent;\n } else if (protocol.toLowerCase().startsWith(\"http:\")) {\n if (!this.#httpAgent) {\n //this.#httpAgent = new http.Agent(this.#GetAgentOptions(false));\n this.#httpAgent = this.#options.httpAgentFactory(\n this.#GetAgentOptions(false)\n );\n }\n return this.#httpAgent;\n } else {\n return null;\n }\n }\n\n ResetAgent(): void {\n this.#httpAgent = null;\n this.#httpsAgent = null;\n }\n\n Terminate(): void {\n if (this.#agentResetInterval) {\n clearTimeout(this.#agentResetInterval);\n this.#agentResetInterval = null;\n }\n\n if (this.#httpAgent) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (this.#httpAgent as any).destroy();\n this.#httpAgent = null;\n }\n\n if (this.#httpsAgent) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (this.#httpsAgent as any).destroy();\n this.#httpsAgent = null;\n }\n }\n}\n","export type errorCode = {\n code: string;\n description: string;\n};\n\nexport type errorPayload = {\n error: string;\n error_description: string;\n timestamp: number;\n //trace_id: \"255d1aef-8c98-452f-ac51-23d051240864\", //@@\n //correlation_id: \"fb3d2015-bc17-4bb9-bb85-30c5cf1aaaa7\", //@@\n details?: unknown;\n};\n\nexport function GetErrorPayload(\n errorCode: errorCode,\n details: unknown = null\n): errorPayload {\n return {\n error: errorCode.code,\n error_description: errorCode.description,\n timestamp: Date.now(),\n //trace_id: \"255d1aef-8c98-452f-ac51-23d051240864\", //@@\n //correlation_id: \"fb3d2015-bc17-4bb9-bb85-30c5cf1aaaa7\", //@@\n details: details,\n };\n}\n","import { errorCode, errorPayload } from \"./errorhandling.js\";\n\n// Ref: https://datatracker.ietf.org/doc/html/rfc6749#appendix-A\nexport enum OAuth2ParameterType {\n AUDIENCE = \"AUDIENCE\", // STS Extension\n CLIENT_ID = \"client_id\",\n CLIENT_SECRET = \"client_secret\",\n RESPONSE_TYPE = \"response_type\",\n SCOPE = \"scope\",\n STATE = \"state\",\n REDIRECT_URI = \"redirect_uri\",\n ERROR = \"error\",\n ERROR_DESCRIPTION = \"error_description\",\n ERROR_CODES = \"error_codes\", // STS Extension\n ERROR_URI = \"error_uri\",\n GRANT_TYPE = \"grant_type\",\n CODE = \"code\",\n ACCESS_TOKEN = \"access_token\",\n TOKEN_TYPE = \"token_type\",\n EXPIRES_IN = \"expires_in\",\n USERNAME = \"username\",\n PASSWORD = \"password\",\n REFRESH_TOKEN = \"refresh_token\",\n RESPONSE_MODE = \"response_mode\", // STS Extension\n TIMESTAMP = \"timestamp\", // STS Extension\n TRACE_ID = \"trace_id\", // STS Extension\n CORRELATION_ID = \"correlation_id\", // STS Extension\n}\n\n// Auth0 claim usage;\n// aud - api identifier\n// scope - list (space separated) of api permissions\n\n// Claims (Auth0)\n// https://auth0.com/docs/secure/tokens/json-web-tokens/json-web-token-claims\n\n// Reserved claims (IANA)\n// https://www.iana.org/assignments/jwt/jwt.xhtml#claims\n\n// Example scopes and claims (Auth0)\n// https://auth0.com/docs/get-started/apis/scopes/sample-use-cases-scopes-and-claims\n\n// OIDC Claims and Scopes\n// https://openid.net/specs/openid-connect-core-1_0.html#Claims\n// https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#:~:text=Simply%20put%2C%20claims%20are%20name,information%20asserted%20about%20an%20Entity.%E2%80%9D\n\n// OIDC Standard Claims\n// https://openid.net/specs/openid-connect-core-1_0.html#Claims\n// https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#:~:text=Simply%20put%2C%20claims%20are%20name,information%20asserted%20about%20an%20Entity.%E2%80%9D\nexport enum OIDCStandardClaim {\n SUB = \"sub\",\n NAME = \"name\",\n GIVEN_NAME = \"given_name\",\n FAMILY_NAME = \"family_name\",\n MIDDLE_NAME = \"middle_name\",\n NICKNAME = \"nickname\",\n PREFERRED_USERNAME = \"preferred_username\",\n PROFILE = \"profile\",\n PICTURE = \"picture\",\n WEBSITE = \"website\",\n EMAIL = \"email\",\n EMAIL_VERIFIED = \"email_verified\",\n GENDER = \"gender\",\n BIRTHDATE = \"birthdate\",\n ZONEINFO = \"zoneinfo\",\n LOCALE = \"locale\",\n PHONE_NUMBER = \"phone_number\",\n PHONE_NUMBER_VERIFIED = \"phone_number_verified\",\n ADDRESS = \"address\",\n CLIENT_SECRET = \"client_secret\",\n NONCE = \"nonce\", // STS Extension\n}\n\nexport enum OIDCAddressClaim {\n FORMATTED = \"formatted\",\n STREET_ADDRESS = \"street_address\",\n LOCALITY = \"locality\",\n REGION = \"region\",\n COUNTRY = \"country\",\n}\n\nexport class OAuth2ParameterErrorType {\n static readonly NOT_EQUAL: errorCode = {\n code: \"STS_OAUTH2_ERR_0001\",\n description: \"Parameter values not equal.\",\n };\n static readonly NOT_PRESENT: errorCode = {\n code: \"STS_OAUTH2_ERR_0002\",\n description: \"Parameter not provided.\",\n };\n static readonly INVALID_FORMAT: errorCode = {\n code: \"STS_OAUTH2_ERR_0003\",\n description: \"Parameter value format invalid.\",\n };\n static readonly EXPIRED: errorCode = {\n code: \"STS_OAUTH2_ERR_0004\",\n description: \"Parameter value expired.\",\n };\n}\n\nexport function compareParameterTypes(\n source1: string[],\n source2: string[],\n authParameterTypes: OAuth2ParameterType[]\n): errorPayload[] {\n const errors: errorPayload[] = [];\n for (let i = 0; i < authParameterTypes.length; i++) {\n const authParameterType = authParameterTypes[i];\n if (source1[i].localeCompare(source2[i]) !== 0) {\n const error: errorPayload = {\n error: OAuth2ParameterErrorType.NOT_EQUAL.code,\n error_description:\n OAuth2ParameterErrorType.NOT_EQUAL.description,\n timestamp: Date.now(),\n details: `${OAuth2ParameterErrorType.NOT_EQUAL.description}: Parameter: [${authParameterType}]`,\n };\n errors.push(error);\n }\n }\n return errors;\n}\n","/* eslint @typescript-eslint/no-explicit-any: 0 */ // --> OFF\n\n// di.ts\n\n/* For nodejs startup;\n\nimport {\n SetInjectionContextStore,\n} from \"@nsshunt/stsutils\";\n\nimport {\n NodeInjectionContextStore,\n} from \"@nsshunt/stsutils/node\";\n\nSetInjectionContextStore(\n new NodeInjectionContextStore()\n);\n\nFor browser - the default mode (SyncInjectionContextStore) is fine - nothing special to do\n\n*/\n\n// ============================================================\n// Constructor\n// ============================================================\n\nexport interface InjectionContextStore {\n run<T>(injector: Injector, fn: () => T): T;\n get(): Injector | undefined;\n}\n\nexport class SyncInjectionContextStore implements InjectionContextStore {\n private current?: Injector;\n\n run<T>(injector: Injector, fn: () => T): T {\n const previous = this.current;\n\n this.current = injector;\n\n try {\n return fn();\n } finally {\n this.current = previous;\n }\n }\n\n get(): Injector | undefined {\n return this.current;\n }\n}\n\nexport type Constructor<T = any> = (new (...args: any[]) => T) & {\n readonly name: string;\n};\n\n// ============================================================\n// Injection token\n// ============================================================\n\nexport class InjectionToken<T> {\n // This field makes T part of the structural type of InjectionToken<T>.\n //\n // It is never used at runtime.\n readonly #type!: T;\n\n constructor(public readonly description: string) {}\n\n toString(): string {\n return `InjectionToken(${this.description})`;\n }\n}\n\n// ============================================================\n// Token\n// ============================================================\n\nexport type Token<T> = Constructor<T> | InjectionToken<T>;\n\n// ============================================================\n// Providers\n// ============================================================\n\nexport type ClassProvider<T> = {\n provide: Token<T>;\n useClass: Constructor<T>;\n};\n\nexport type ValueProvider<T> = {\n provide: Token<T>;\n useValue: T;\n};\n\nexport type FactoryProvider<T> = {\n provide: Token<T>;\n useFactory: () => T;\n};\n\nexport type Provider<T = any> =\n | Constructor<T>\n | ClassProvider<T>\n | ValueProvider<T>\n | FactoryProvider<T>;\n\n// ============================================================\n// Current injection context\n// ============================================================\n\nlet contextStore: InjectionContextStore = new SyncInjectionContextStore();\n\nexport const SetInjectionContextStore = (\n store: InjectionContextStore\n): void => {\n contextStore = store;\n};\n\n// ============================================================\n// inject()\n// ============================================================\n\nexport const inject = <T>(token: Token<T>): T => {\n const injector = contextStore.get();\n\n if (!injector) {\n throw new Error(\"inject() called outside an injection context\");\n }\n\n return injector.get(token);\n};\n\nexport function getCurrentInjector(): Injector {\n const injector = contextStore.get();\n\n if (!injector) {\n throw new Error(\n \"getCurrentInjector() called outside an injection context\"\n );\n }\n\n return injector;\n}\n\n// ============================================================\n// Injector\n// ============================================================\n\nexport class Injector {\n private readonly providers = new Map<\n Token<any>,\n ClassProvider<any> | ValueProvider<any> | FactoryProvider<any>\n >();\n\n private readonly instances = new Map<Token<any>, any>();\n\n constructor(\n providers: Provider[] = [],\n private readonly parent?: Injector\n ) {\n for (const provider of providers) {\n this.register(provider);\n }\n }\n\n // --------------------------------------------------------\n // Create child injector\n // --------------------------------------------------------\n\n createChild(providers: Provider[] = []): Injector {\n return new Injector(providers, this);\n }\n\n // --------------------------------------------------------\n // Register provider\n // --------------------------------------------------------\n\n register(provider: Provider): void {\n // Nest/Angular-like shorthand:\n //\n // new Injector([\n // Logger,\n // UserService\n // ]);\n //\n // is equivalent to:\n //\n // new Injector([\n // {\n // provide: Logger,\n // useClass: Logger\n // },\n // {\n // provide: UserService,\n // useClass: UserService\n // }\n // ]);\n\n if (typeof provider === \"function\") {\n this.providers.set(provider, {\n provide: provider,\n useClass: provider,\n });\n\n return;\n }\n\n this.providers.set(provider.provide, provider);\n }\n\n // --------------------------------------------------------\n // Resolve token\n // --------------------------------------------------------\n\n get<T>(token: Token<T>): T {\n // Check whether THIS injector owns the provider.\n\n const provider = this.providers.get(token);\n\n if (provider) {\n // Providers are singletons within the injector\n // that owns them.\n\n if (this.instances.has(token)) {\n return this.instances.get(token) as T;\n }\n\n const instance = this.createProvider<T>(provider);\n\n this.instances.set(token, instance);\n\n return instance;\n }\n\n // Provider does not exist here.\n //\n // Search parent injector.\n\n if (this.parent) {\n return this.parent.get(token);\n }\n\n throw new Error(`No provider for ${this.tokenToString(token)}`);\n }\n\n // --------------------------------------------------------\n // Create provider\n // --------------------------------------------------------\n\n private createProvider<T>(\n provider: ClassProvider<any> | ValueProvider<any> | FactoryProvider<any>\n ): T {\n if (\"useValue\" in provider) {\n return provider.useValue as T;\n }\n\n if (\"useFactory\" in provider) {\n return this.runInContext(provider.useFactory) as T;\n }\n\n return this.construct(provider.useClass) as T;\n }\n\n // --------------------------------------------------------\n // Construct class\n // --------------------------------------------------------\n\n private construct<T>(type: Constructor<T>): T {\n return this.runInContext(() => new type());\n }\n\n // --------------------------------------------------------\n // Establish injection context\n // --------------------------------------------------------\n\n runInContext<T>(fn: () => T): T {\n return contextStore.run(this, fn);\n }\n\n // --------------------------------------------------------\n // Token name for diagnostics\n // --------------------------------------------------------\n\n private tokenToString(token: Token<any>): string {\n if (token instanceof InjectionToken) {\n return token.toString();\n }\n\n return token.name;\n }\n\n // --------------------------------------------------------\n // Bootstrap\n // --------------------------------------------------------\n\n bootstrap<T>(token: Constructor<T>): T {\n return this.runInContext(() => this.get(token));\n }\n}\n","export * from \"./commonTypes.js\";\nexport * from \"./dataAccessTypes.js\";\nexport * from \"./sleep.js\";\nexport * from \"./stsAxiosConfig.js\";\nexport * from \"./agentManager.js\";\nexport * from \"./errorhandling.js\";\nexport * from \"./oauth2terms.js\";\nexport * from \"./di.js\";\n\nexport const isNode =\n typeof process !== \"undefined\" &&\n typeof process.release !== \"undefined\" &&\n process.release.name === \"node\";\n"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as chalk } from "./source-DJGQCPrR.js";
1
+ import chalk from "chalk";
2
2
  //#region src/commonTypes.ts
3
3
  var ModelDelimeter = /* @__PURE__ */ function(ModelDelimeter) {
4
4
  ModelDelimeter["ROOT"] = "_";
package/dist/node.cjs CHANGED
@@ -1,30 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- //#region \0rolldown/runtime.js
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
- key = keys[i];
12
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
- get: ((k) => from[k]).bind(null, key),
14
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
- });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
20
- value: mod,
21
- enumerable: true
22
- }) : target, mod));
23
- //#endregion
24
- const require_source = require("./source-DvZTPnpg.cjs");
2
+ const require_rolldown_runtime = require("./rolldown-runtime-VH7oDXx4.cjs");
3
+ let chalk = require("chalk");
25
4
  let node_async_hooks = require("node:async_hooks");
26
5
  let winston = require("winston");
27
- winston = __toESM(winston, 1);
6
+ winston = require_rolldown_runtime.__toESM(winston, 1);
28
7
  //#region src/di-node.ts
29
8
  var NodeInjectionContextStore = class {
30
9
  storage = new node_async_hooks.AsyncLocalStorage();
@@ -38,12 +17,13 @@ var NodeInjectionContextStore = class {
38
17
  //#endregion
39
18
  //#region src/pidColours.ts
40
19
  var PidColours = class PidColours {
20
+ static chalk = new chalk.Chalk({ level: 3 });
41
21
  static pidColours = /* @__PURE__ */ new Map();
42
22
  static randomChannel = () => Math.floor(80 + Math.random() * 176);
43
23
  static getPidColour = (pid) => {
44
24
  let colour = PidColours.pidColours.get(pid);
45
25
  if (!colour) {
46
- colour = require_source.chalk.rgb(PidColours.randomChannel(), PidColours.randomChannel(), PidColours.randomChannel());
26
+ colour = PidColours.chalk.rgb(PidColours.randomChannel(), PidColours.randomChannel(), PidColours.randomChannel());
47
27
  PidColours.pidColours.set(pid, colour);
48
28
  }
49
29
  return colour;
package/dist/node.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.cjs","names":["AsyncLocalStorage","chalk"],"sources":["../src/di-node.ts","../src/pidColours.ts"],"sourcesContent":["import { AsyncLocalStorage } from \"node:async_hooks\";\n\nimport { Injector, InjectionContextStore } from \"./di.js\";\n\nexport class NodeInjectionContextStore implements InjectionContextStore {\n private readonly storage = new AsyncLocalStorage<Injector>();\n\n run<T>(injector: Injector, fn: () => T): T {\n return this.storage.run(injector, fn);\n }\n\n get(): Injector | undefined {\n return this.storage.getStore();\n }\n}\n","import winston from \"winston\";\nimport chalk from \"chalk\";\n\nexport class PidColours {\n private static readonly pidColours = new Map<\n number,\n (text: string) => string\n >();\n\n private static readonly randomChannel = () =>\n Math.floor(80 + Math.random() * 176);\n\n private static getPidColour = (pid: number) => {\n let colour = PidColours.pidColours.get(pid);\n\n if (!colour) {\n colour = chalk.rgb(\n PidColours.randomChannel(),\n PidColours.randomChannel(),\n PidColours.randomChannel()\n );\n\n PidColours.pidColours.set(pid, colour);\n }\n\n return colour;\n };\n\n static readonly pidFormat = winston.format((info) => {\n const colour = PidColours.getPidColour(process.pid);\n info.message = `${colour(String(process.pid))} ${info.message}`;\n return info;\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAa,4BAAb,MAAwE;CACpE,UAA2B,IAAIA,iBAAAA,kBAA4B;CAE3D,IAAO,UAAoB,IAAgB;EACvC,OAAO,KAAK,QAAQ,IAAI,UAAU,EAAE;CACxC;CAEA,MAA4B;EACxB,OAAO,KAAK,QAAQ,SAAS;CACjC;AACJ;;;ACXA,IAAa,aAAb,MAAa,WAAW;CACpB,OAAwB,6BAAa,IAAI,IAGvC;CAEF,OAAwB,sBACpB,KAAK,MAAM,KAAK,KAAK,OAAO,IAAI,GAAG;CAEvC,OAAe,gBAAgB,QAAgB;EAC3C,IAAI,SAAS,WAAW,WAAW,IAAI,GAAG;EAE1C,IAAI,CAAC,QAAQ;GACT,SAASC,eAAAA,MAAM,IACX,WAAW,cAAc,GACzB,WAAW,cAAc,GACzB,WAAW,cAAc,CAC7B;GAEA,WAAW,WAAW,IAAI,KAAK,MAAM;EACzC;EAEA,OAAO;CACX;CAEA,OAAgB,YAAY,QAAA,QAAQ,QAAQ,SAAS;EAEjD,KAAK,UAAU,GADA,WAAW,aAAa,QAAQ,GAC7B,CAAA,CAAO,OAAO,QAAQ,GAAG,CAAC,EAAE,GAAG,KAAK;EACtD,OAAO;CACX,CAAC;AACL"}
1
+ {"version":3,"file":"node.cjs","names":["AsyncLocalStorage","Chalk"],"sources":["../src/di-node.ts","../src/pidColours.ts"],"sourcesContent":["import { AsyncLocalStorage } from \"node:async_hooks\";\n\nimport { Injector, InjectionContextStore } from \"./di.js\";\n\nexport class NodeInjectionContextStore implements InjectionContextStore {\n private readonly storage = new AsyncLocalStorage<Injector>();\n\n run<T>(injector: Injector, fn: () => T): T {\n return this.storage.run(injector, fn);\n }\n\n get(): Injector | undefined {\n return this.storage.getStore();\n }\n}\n","import winston from \"winston\";\nimport { Chalk } from \"chalk\";\n\nexport class PidColours {\n private static readonly chalk = new Chalk({ level: 3 });\n\n private static readonly pidColours = new Map<\n number,\n (text: string) => string\n >();\n\n private static readonly randomChannel = () =>\n Math.floor(80 + Math.random() * 176);\n\n static getPidColour = (pid: number) => {\n let colour = PidColours.pidColours.get(pid);\n\n if (!colour) {\n colour = PidColours.chalk.rgb(\n PidColours.randomChannel(),\n PidColours.randomChannel(),\n PidColours.randomChannel()\n );\n\n PidColours.pidColours.set(pid, colour);\n }\n\n return colour;\n };\n\n static readonly pidFormat = winston.format((info) => {\n const colour = PidColours.getPidColour(process.pid);\n info.message = `${colour(String(process.pid))} ${info.message}`;\n return info;\n });\n}\n"],"mappings":";;;;;;;AAIA,IAAa,4BAAb,MAAwE;CACpE,UAA2B,IAAIA,iBAAAA,kBAA4B;CAE3D,IAAO,UAAoB,IAAgB;EACvC,OAAO,KAAK,QAAQ,IAAI,UAAU,EAAE;CACxC;CAEA,MAA4B;EACxB,OAAO,KAAK,QAAQ,SAAS;CACjC;AACJ;;;ACXA,IAAa,aAAb,MAAa,WAAW;CACpB,OAAwB,QAAQ,IAAIC,MAAAA,MAAM,EAAE,OAAO,EAAE,CAAC;CAEtD,OAAwB,6BAAa,IAAI,IAGvC;CAEF,OAAwB,sBACpB,KAAK,MAAM,KAAK,KAAK,OAAO,IAAI,GAAG;CAEvC,OAAO,gBAAgB,QAAgB;EACnC,IAAI,SAAS,WAAW,WAAW,IAAI,GAAG;EAE1C,IAAI,CAAC,QAAQ;GACT,SAAS,WAAW,MAAM,IACtB,WAAW,cAAc,GACzB,WAAW,cAAc,GACzB,WAAW,cAAc,CAC7B;GAEA,WAAW,WAAW,IAAI,KAAK,MAAM;EACzC;EAEA,OAAO;CACX;CAEA,OAAgB,YAAY,QAAA,QAAQ,QAAQ,SAAS;EAEjD,KAAK,UAAU,GADA,WAAW,aAAa,QAAQ,GAC7B,CAAA,CAAO,OAAO,QAAQ,GAAG,CAAC,EAAE,GAAG,KAAK;EACtD,OAAO;CACX,CAAC;AACL"}
package/dist/node.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as chalk } from "./source-DJGQCPrR.js";
1
+ import { Chalk } from "chalk";
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
3
  import winston from "winston";
4
4
  //#region src/di-node.ts
@@ -14,12 +14,13 @@ var NodeInjectionContextStore = class {
14
14
  //#endregion
15
15
  //#region src/pidColours.ts
16
16
  var PidColours = class PidColours {
17
+ static chalk = new Chalk({ level: 3 });
17
18
  static pidColours = /* @__PURE__ */ new Map();
18
19
  static randomChannel = () => Math.floor(80 + Math.random() * 176);
19
20
  static getPidColour = (pid) => {
20
21
  let colour = PidColours.pidColours.get(pid);
21
22
  if (!colour) {
22
- colour = chalk.rgb(PidColours.randomChannel(), PidColours.randomChannel(), PidColours.randomChannel());
23
+ colour = PidColours.chalk.rgb(PidColours.randomChannel(), PidColours.randomChannel(), PidColours.randomChannel());
23
24
  PidColours.pidColours.set(pid, colour);
24
25
  }
25
26
  return colour;
package/dist/node.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.mjs","names":[],"sources":["../src/di-node.ts","../src/pidColours.ts"],"sourcesContent":["import { AsyncLocalStorage } from \"node:async_hooks\";\n\nimport { Injector, InjectionContextStore } from \"./di.js\";\n\nexport class NodeInjectionContextStore implements InjectionContextStore {\n private readonly storage = new AsyncLocalStorage<Injector>();\n\n run<T>(injector: Injector, fn: () => T): T {\n return this.storage.run(injector, fn);\n }\n\n get(): Injector | undefined {\n return this.storage.getStore();\n }\n}\n","import winston from \"winston\";\nimport chalk from \"chalk\";\n\nexport class PidColours {\n private static readonly pidColours = new Map<\n number,\n (text: string) => string\n >();\n\n private static readonly randomChannel = () =>\n Math.floor(80 + Math.random() * 176);\n\n private static getPidColour = (pid: number) => {\n let colour = PidColours.pidColours.get(pid);\n\n if (!colour) {\n colour = chalk.rgb(\n PidColours.randomChannel(),\n PidColours.randomChannel(),\n PidColours.randomChannel()\n );\n\n PidColours.pidColours.set(pid, colour);\n }\n\n return colour;\n };\n\n static readonly pidFormat = winston.format((info) => {\n const colour = PidColours.getPidColour(process.pid);\n info.message = `${colour(String(process.pid))} ${info.message}`;\n return info;\n });\n}\n"],"mappings":";;;;AAIA,IAAa,4BAAb,MAAwE;CACpE,UAA2B,IAAI,kBAA4B;CAE3D,IAAO,UAAoB,IAAgB;EACvC,OAAO,KAAK,QAAQ,IAAI,UAAU,EAAE;CACxC;CAEA,MAA4B;EACxB,OAAO,KAAK,QAAQ,SAAS;CACjC;AACJ;;;ACXA,IAAa,aAAb,MAAa,WAAW;CACpB,OAAwB,6BAAa,IAAI,IAGvC;CAEF,OAAwB,sBACpB,KAAK,MAAM,KAAK,KAAK,OAAO,IAAI,GAAG;CAEvC,OAAe,gBAAgB,QAAgB;EAC3C,IAAI,SAAS,WAAW,WAAW,IAAI,GAAG;EAE1C,IAAI,CAAC,QAAQ;GACT,SAAS,MAAM,IACX,WAAW,cAAc,GACzB,WAAW,cAAc,GACzB,WAAW,cAAc,CAC7B;GAEA,WAAW,WAAW,IAAI,KAAK,MAAM;EACzC;EAEA,OAAO;CACX;CAEA,OAAgB,YAAY,QAAQ,QAAQ,SAAS;EAEjD,KAAK,UAAU,GADA,WAAW,aAAa,QAAQ,GAC7B,CAAA,CAAO,OAAO,QAAQ,GAAG,CAAC,EAAE,GAAG,KAAK;EACtD,OAAO;CACX,CAAC;AACL"}
1
+ {"version":3,"file":"node.mjs","names":[],"sources":["../src/di-node.ts","../src/pidColours.ts"],"sourcesContent":["import { AsyncLocalStorage } from \"node:async_hooks\";\n\nimport { Injector, InjectionContextStore } from \"./di.js\";\n\nexport class NodeInjectionContextStore implements InjectionContextStore {\n private readonly storage = new AsyncLocalStorage<Injector>();\n\n run<T>(injector: Injector, fn: () => T): T {\n return this.storage.run(injector, fn);\n }\n\n get(): Injector | undefined {\n return this.storage.getStore();\n }\n}\n","import winston from \"winston\";\nimport { Chalk } from \"chalk\";\n\nexport class PidColours {\n private static readonly chalk = new Chalk({ level: 3 });\n\n private static readonly pidColours = new Map<\n number,\n (text: string) => string\n >();\n\n private static readonly randomChannel = () =>\n Math.floor(80 + Math.random() * 176);\n\n static getPidColour = (pid: number) => {\n let colour = PidColours.pidColours.get(pid);\n\n if (!colour) {\n colour = PidColours.chalk.rgb(\n PidColours.randomChannel(),\n PidColours.randomChannel(),\n PidColours.randomChannel()\n );\n\n PidColours.pidColours.set(pid, colour);\n }\n\n return colour;\n };\n\n static readonly pidFormat = winston.format((info) => {\n const colour = PidColours.getPidColour(process.pid);\n info.message = `${colour(String(process.pid))} ${info.message}`;\n return info;\n });\n}\n"],"mappings":";;;;AAIA,IAAa,4BAAb,MAAwE;CACpE,UAA2B,IAAI,kBAA4B;CAE3D,IAAO,UAAoB,IAAgB;EACvC,OAAO,KAAK,QAAQ,IAAI,UAAU,EAAE;CACxC;CAEA,MAA4B;EACxB,OAAO,KAAK,QAAQ,SAAS;CACjC;AACJ;;;ACXA,IAAa,aAAb,MAAa,WAAW;CACpB,OAAwB,QAAQ,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;CAEtD,OAAwB,6BAAa,IAAI,IAGvC;CAEF,OAAwB,sBACpB,KAAK,MAAM,KAAK,KAAK,OAAO,IAAI,GAAG;CAEvC,OAAO,gBAAgB,QAAgB;EACnC,IAAI,SAAS,WAAW,WAAW,IAAI,GAAG;EAE1C,IAAI,CAAC,QAAQ;GACT,SAAS,WAAW,MAAM,IACtB,WAAW,cAAc,GACzB,WAAW,cAAc,GACzB,WAAW,cAAc,CAC7B;GAEA,WAAW,WAAW,IAAI,KAAK,MAAM;EACzC;EAEA,OAAO;CACX;CAEA,OAAgB,YAAY,QAAQ,QAAQ,SAAS;EAEjD,KAAK,UAAU,GADA,WAAW,aAAa,QAAQ,GAC7B,CAAA,CAAO,OAAO,QAAQ,GAAG,CAAC,EAAE,GAAG,KAAK;EACtD,OAAO;CACX,CAAC;AACL"}
@@ -0,0 +1,28 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+ //#endregion
23
+ Object.defineProperty(exports, "__toESM", {
24
+ enumerable: true,
25
+ get: function() {
26
+ return __toESM;
27
+ }
28
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsutils",
3
- "version": "1.19.148",
3
+ "version": "1.19.150",
4
4
  "description": "STS Utils",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -51,20 +51,24 @@
51
51
  "build": "tsc && vite build",
52
52
  "build2": "tsc"
53
53
  },
54
+ "peerDependencies": {
55
+ "chalk": "^5.0.0",
56
+ "winston": "^3.0.0"
57
+ },
54
58
  "devDependencies": {
55
59
  "@types/node": "^26.6.4",
56
60
  "@typescript-eslint/eslint-plugin": "^8.71.0",
57
61
  "@typescript-eslint/parser": "^8.71.0",
62
+ "chalk": "^5.6.2",
58
63
  "eslint": "^10.11.0",
59
64
  "globals": "^17.13.0",
60
65
  "typescript": "^6.0.3",
61
66
  "vite": "^8.3.2",
62
- "vitest": "^5.0.3"
67
+ "vitest": "^5.0.3",
68
+ "winston": "^3.19.0"
63
69
  },
64
70
  "dependencies": {
65
- "chalk": "^5.6.2",
66
- "http-status-codes": "^2.3.0",
67
- "winston": "^3.19.0"
71
+ "http-status-codes": "^2.3.0"
68
72
  },
69
73
  "packageManager": "yarn@4.13.0"
70
74
  }
@@ -1,8 +1,9 @@
1
1
  import winston from "winston";
2
2
  export declare class PidColours {
3
+ private static readonly chalk;
3
4
  private static readonly pidColours;
4
5
  private static readonly randomChannel;
5
- private static getPidColour;
6
+ static getPidColour: (pid: number) => (text: string) => string;
6
7
  static readonly pidFormat: winston.Logform.FormatWrap;
7
8
  }
8
9
  //# sourceMappingURL=pidColours.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pidColours.d.ts","sourceRoot":"","sources":["../src/pidColours.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAG9B;IAEJ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACI;IAEzC,OAAO,CAAC,MAAM,CAAC,YAAY,CAczB;IAEF,MAAM,CAAC,QAAQ,CAAC,SAAS,6BAItB;CACN"}
1
+ {"version":3,"file":"pidColours.d.ts","sourceRoot":"","sources":["../src/pidColours.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAA2B;IAExD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAG9B;IAEJ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACI;IAEzC,MAAM,CAAC,YAAY,GAAI,KAAK,MAAM,YANvB,MAAM,KAAK,MAAM,CAoB1B;IAEF,MAAM,CAAC,QAAQ,CAAC,SAAS,6BAItB;CACN"}
@@ -1,338 +0,0 @@
1
- //#region node_modules/chalk/source/vendor/ansi-styles/index.js
2
- var ANSI_BACKGROUND_OFFSET = 10;
3
- var wrapAnsi16 = (offset = 0) => (code) => `\u001B[${code + offset}m`;
4
- var wrapAnsi256 = (offset = 0) => (code) => `\u001B[${38 + offset};5;${code}m`;
5
- var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\u001B[${38 + offset};2;${red};${green};${blue}m`;
6
- var styles$1 = {
7
- modifier: {
8
- reset: [0, 0],
9
- bold: [1, 22],
10
- dim: [2, 22],
11
- italic: [3, 23],
12
- underline: [4, 24],
13
- overline: [53, 55],
14
- inverse: [7, 27],
15
- hidden: [8, 28],
16
- strikethrough: [9, 29]
17
- },
18
- color: {
19
- black: [30, 39],
20
- red: [31, 39],
21
- green: [32, 39],
22
- yellow: [33, 39],
23
- blue: [34, 39],
24
- magenta: [35, 39],
25
- cyan: [36, 39],
26
- white: [37, 39],
27
- blackBright: [90, 39],
28
- gray: [90, 39],
29
- grey: [90, 39],
30
- redBright: [91, 39],
31
- greenBright: [92, 39],
32
- yellowBright: [93, 39],
33
- blueBright: [94, 39],
34
- magentaBright: [95, 39],
35
- cyanBright: [96, 39],
36
- whiteBright: [97, 39]
37
- },
38
- bgColor: {
39
- bgBlack: [40, 49],
40
- bgRed: [41, 49],
41
- bgGreen: [42, 49],
42
- bgYellow: [43, 49],
43
- bgBlue: [44, 49],
44
- bgMagenta: [45, 49],
45
- bgCyan: [46, 49],
46
- bgWhite: [47, 49],
47
- bgBlackBright: [100, 49],
48
- bgGray: [100, 49],
49
- bgGrey: [100, 49],
50
- bgRedBright: [101, 49],
51
- bgGreenBright: [102, 49],
52
- bgYellowBright: [103, 49],
53
- bgBlueBright: [104, 49],
54
- bgMagentaBright: [105, 49],
55
- bgCyanBright: [106, 49],
56
- bgWhiteBright: [107, 49]
57
- }
58
- };
59
- Object.keys(styles$1.modifier);
60
- var foregroundColorNames = Object.keys(styles$1.color);
61
- var backgroundColorNames = Object.keys(styles$1.bgColor);
62
- [...foregroundColorNames, ...backgroundColorNames];
63
- function assembleStyles() {
64
- const codes = /* @__PURE__ */ new Map();
65
- for (const [groupName, group] of Object.entries(styles$1)) {
66
- for (const [styleName, style] of Object.entries(group)) {
67
- styles$1[styleName] = {
68
- open: `\u001B[${style[0]}m`,
69
- close: `\u001B[${style[1]}m`
70
- };
71
- group[styleName] = styles$1[styleName];
72
- codes.set(style[0], style[1]);
73
- }
74
- Object.defineProperty(styles$1, groupName, {
75
- value: group,
76
- enumerable: false
77
- });
78
- }
79
- Object.defineProperty(styles$1, "codes", {
80
- value: codes,
81
- enumerable: false
82
- });
83
- styles$1.color.close = "\x1B[39m";
84
- styles$1.bgColor.close = "\x1B[49m";
85
- styles$1.color.ansi = wrapAnsi16();
86
- styles$1.color.ansi256 = wrapAnsi256();
87
- styles$1.color.ansi16m = wrapAnsi16m();
88
- styles$1.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
89
- styles$1.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
90
- styles$1.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
91
- Object.defineProperties(styles$1, {
92
- rgbToAnsi256: {
93
- value(red, green, blue) {
94
- if (red === green && green === blue) {
95
- if (red < 8) return 16;
96
- if (red > 248) return 231;
97
- return Math.round((red - 8) / 247 * 24) + 232;
98
- }
99
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
100
- },
101
- enumerable: false
102
- },
103
- hexToRgb: {
104
- value(hex) {
105
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
106
- if (!matches) return [
107
- 0,
108
- 0,
109
- 0
110
- ];
111
- let [colorString] = matches;
112
- if (colorString.length === 3) colorString = [...colorString].map((character) => character + character).join("");
113
- const integer = Number.parseInt(colorString, 16);
114
- return [
115
- integer >> 16 & 255,
116
- integer >> 8 & 255,
117
- integer & 255
118
- ];
119
- },
120
- enumerable: false
121
- },
122
- hexToAnsi256: {
123
- value: (hex) => styles$1.rgbToAnsi256(...styles$1.hexToRgb(hex)),
124
- enumerable: false
125
- },
126
- ansi256ToAnsi: {
127
- value(code) {
128
- if (code < 8) return 30 + code;
129
- if (code < 16) return 90 + (code - 8);
130
- let red;
131
- let green;
132
- let blue;
133
- if (code >= 232) {
134
- red = ((code - 232) * 10 + 8) / 255;
135
- green = red;
136
- blue = red;
137
- } else {
138
- code -= 16;
139
- const remainder = code % 36;
140
- red = Math.floor(code / 36) / 5;
141
- green = Math.floor(remainder / 6) / 5;
142
- blue = remainder % 6 / 5;
143
- }
144
- const value = Math.max(red, green, blue) * 2;
145
- if (value === 0) return 30;
146
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
147
- if (value === 2) result += 60;
148
- return result;
149
- },
150
- enumerable: false
151
- },
152
- rgbToAnsi: {
153
- value: (red, green, blue) => styles$1.ansi256ToAnsi(styles$1.rgbToAnsi256(red, green, blue)),
154
- enumerable: false
155
- },
156
- hexToAnsi: {
157
- value: (hex) => styles$1.ansi256ToAnsi(styles$1.hexToAnsi256(hex)),
158
- enumerable: false
159
- }
160
- });
161
- return styles$1;
162
- }
163
- var ansiStyles = assembleStyles();
164
- //#endregion
165
- //#region node_modules/chalk/source/vendor/supports-color/browser.js
166
- var level = (() => {
167
- if (!("navigator" in globalThis)) return 0;
168
- if (globalThis.navigator.userAgentData) {
169
- const brand = navigator.userAgentData.brands.find(({ brand }) => brand === "Chromium");
170
- if (brand && brand.version > 93) return 3;
171
- }
172
- if (/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)) return 1;
173
- return 0;
174
- })();
175
- var colorSupport = level !== 0 && {
176
- level,
177
- hasBasic: true,
178
- has256: level >= 2,
179
- has16m: level >= 3
180
- };
181
- var supportsColor = {
182
- stdout: colorSupport,
183
- stderr: colorSupport
184
- };
185
- //#endregion
186
- //#region node_modules/chalk/source/utilities.js
187
- function stringReplaceAll(string, substring, replacer) {
188
- let index = string.indexOf(substring);
189
- if (index === -1) return string;
190
- const substringLength = substring.length;
191
- let endIndex = 0;
192
- let returnValue = "";
193
- do {
194
- returnValue += string.slice(endIndex, index) + substring + replacer;
195
- endIndex = index + substringLength;
196
- index = string.indexOf(substring, endIndex);
197
- } while (index !== -1);
198
- returnValue += string.slice(endIndex);
199
- return returnValue;
200
- }
201
- function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
202
- let endIndex = 0;
203
- let returnValue = "";
204
- do {
205
- const gotCR = string[index - 1] === "\r";
206
- returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
207
- endIndex = index + 1;
208
- index = string.indexOf("\n", endIndex);
209
- } while (index !== -1);
210
- returnValue += string.slice(endIndex);
211
- return returnValue;
212
- }
213
- //#endregion
214
- //#region node_modules/chalk/source/index.js
215
- var { stdout: stdoutColor, stderr: stderrColor } = supportsColor;
216
- var GENERATOR = Symbol("GENERATOR");
217
- var STYLER = Symbol("STYLER");
218
- var IS_EMPTY = Symbol("IS_EMPTY");
219
- var levelMapping = [
220
- "ansi",
221
- "ansi",
222
- "ansi256",
223
- "ansi16m"
224
- ];
225
- var styles = Object.create(null);
226
- var applyOptions = (object, options = {}) => {
227
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) throw new Error("The `level` option should be an integer from 0 to 3");
228
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
229
- object.level = options.level === void 0 ? colorLevel : options.level;
230
- };
231
- var chalkFactory = (options) => {
232
- const chalk = (...strings) => strings.join(" ");
233
- applyOptions(chalk, options);
234
- Object.setPrototypeOf(chalk, createChalk.prototype);
235
- return chalk;
236
- };
237
- function createChalk(options) {
238
- return chalkFactory(options);
239
- }
240
- Object.setPrototypeOf(createChalk.prototype, Function.prototype);
241
- for (const [styleName, style] of Object.entries(ansiStyles)) styles[styleName] = { get() {
242
- const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
243
- Object.defineProperty(this, styleName, { value: builder });
244
- return builder;
245
- } };
246
- styles.visible = { get() {
247
- const builder = createBuilder(this, this[STYLER], true);
248
- Object.defineProperty(this, "visible", { value: builder });
249
- return builder;
250
- } };
251
- var getModelAnsi = (model, level, type, ...arguments_) => {
252
- if (model === "rgb") {
253
- if (level === "ansi16m") return ansiStyles[type].ansi16m(...arguments_);
254
- if (level === "ansi256") return ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));
255
- return ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));
256
- }
257
- if (model === "hex") return getModelAnsi("rgb", level, type, ...ansiStyles.hexToRgb(...arguments_));
258
- return ansiStyles[type][model](...arguments_);
259
- };
260
- for (const model of [
261
- "rgb",
262
- "hex",
263
- "ansi256"
264
- ]) {
265
- styles[model] = { get() {
266
- const { level } = this;
267
- return function(...arguments_) {
268
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansiStyles.color.close, this[STYLER]);
269
- return createBuilder(this, styler, this[IS_EMPTY]);
270
- };
271
- } };
272
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
273
- styles[bgModel] = { get() {
274
- const { level } = this;
275
- return function(...arguments_) {
276
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansiStyles.bgColor.close, this[STYLER]);
277
- return createBuilder(this, styler, this[IS_EMPTY]);
278
- };
279
- } };
280
- }
281
- var proto = Object.defineProperties(() => {}, {
282
- ...styles,
283
- level: {
284
- enumerable: true,
285
- get() {
286
- return this[GENERATOR].level;
287
- },
288
- set(level) {
289
- this[GENERATOR].level = level;
290
- }
291
- }
292
- });
293
- var createStyler = (open, close, parent) => {
294
- let openAll;
295
- let closeAll;
296
- if (parent === void 0) {
297
- openAll = open;
298
- closeAll = close;
299
- } else {
300
- openAll = parent.openAll + open;
301
- closeAll = close + parent.closeAll;
302
- }
303
- return {
304
- open,
305
- close,
306
- openAll,
307
- closeAll,
308
- parent
309
- };
310
- };
311
- var createBuilder = (self, _styler, _isEmpty) => {
312
- const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
313
- Object.setPrototypeOf(builder, proto);
314
- builder[GENERATOR] = self;
315
- builder[STYLER] = _styler;
316
- builder[IS_EMPTY] = _isEmpty;
317
- return builder;
318
- };
319
- var applyStyle = (self, string) => {
320
- if (self.level <= 0 || !string) return self[IS_EMPTY] ? "" : string;
321
- let styler = self[STYLER];
322
- if (styler === void 0) return string;
323
- const { openAll, closeAll } = styler;
324
- if (string.includes("\x1B")) while (styler !== void 0) {
325
- string = stringReplaceAll(string, styler.close, styler.open);
326
- styler = styler.parent;
327
- }
328
- const lfIndex = string.indexOf("\n");
329
- if (lfIndex !== -1) string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
330
- return openAll + string + closeAll;
331
- };
332
- Object.defineProperties(createChalk.prototype, styles);
333
- var chalk = createChalk();
334
- createChalk({ level: stderrColor ? stderrColor.level : 0 });
335
- //#endregion
336
- export { chalk as t };
337
-
338
- //# sourceMappingURL=source-DJGQCPrR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"source-DJGQCPrR.js","names":["styles"],"sources":["../node_modules/chalk/source/vendor/ansi-styles/index.js","../node_modules/chalk/source/vendor/supports-color/browser.js","../node_modules/chalk/source/utilities.js","../node_modules/chalk/source/index.js"],"sourcesContent":["const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","/* eslint-env browser */\n\nconst level = (() => {\n\tif (!('navigator' in globalThis)) {\n\t\treturn 0;\n\t}\n\n\tif (globalThis.navigator.userAgentData) {\n\t\tconst brand = navigator.userAgentData.brands.find(({brand}) => brand === 'Chromium');\n\t\tif (brand && brand.version > 93) {\n\t\t\treturn 3;\n\t\t}\n\t}\n\n\tif (/\\b(Chrome|Chromium)\\//.test(globalThis.navigator.userAgent)) {\n\t\treturn 1;\n\t}\n\n\treturn 0;\n})();\n\nconst colorSupport = level !== 0 && {\n\tlevel,\n\thasBasic: true,\n\thas256: level >= 2,\n\thas16m: level >= 3,\n};\n\nconst supportsColor = {\n\tstdout: colorSupport,\n\tstderr: colorSupport,\n};\n\nexport default supportsColor;\n","// TODO: When targeting Node.js 16, use `String.prototype.replaceAll`.\nexport function stringReplaceAll(string, substring, replacer) {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.slice(endIndex, index) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n\nexport function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.slice(endIndex, (gotCR ? index - 1 : index)) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n","import ansiStyles from '#ansi-styles';\nimport supportsColor from '#supports-color';\nimport { // eslint-disable-line import/order\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex,\n} from './utilities.js';\n\nconst {stdout: stdoutColor, stderr: stderrColor} = supportsColor;\n\nconst GENERATOR = Symbol('GENERATOR');\nconst STYLER = Symbol('STYLER');\nconst IS_EMPTY = Symbol('IS_EMPTY');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m',\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nexport class Chalk {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = (...strings) => strings.join(' ');\n\tapplyOptions(chalk, options);\n\n\tObject.setPrototypeOf(chalk, createChalk.prototype);\n\n\treturn chalk;\n};\n\nfunction createChalk(options) {\n\treturn chalkFactory(options);\n}\n\nObject.setPrototypeOf(createChalk.prototype, Function.prototype);\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t},\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this[STYLER], true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t},\n};\n\nconst getModelAnsi = (model, level, type, ...arguments_) => {\n\tif (model === 'rgb') {\n\t\tif (level === 'ansi16m') {\n\t\t\treturn ansiStyles[type].ansi16m(...arguments_);\n\t\t}\n\n\t\tif (level === 'ansi256') {\n\t\t\treturn ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));\n\t\t}\n\n\t\treturn ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));\n\t}\n\n\tif (model === 'hex') {\n\t\treturn getModelAnsi('rgb', level, type, ...ansiStyles.hexToRgb(...arguments_));\n\t}\n\n\treturn ansiStyles[type][model](...arguments_);\n};\n\nconst usedModels = ['rgb', 'hex', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'color', ...arguments_), ansiStyles.color.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'bgColor', ...arguments_), ansiStyles.bgColor.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this[GENERATOR].level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis[GENERATOR].level = level;\n\t\t},\n\t},\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent,\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\t// Single argument is hot path, implicit coercion is faster than anything\n\t// eslint-disable-next-line no-implicit-coercion\n\tconst builder = (...arguments_) => applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder[GENERATOR] = self;\n\tbuilder[STYLER] = _styler;\n\tbuilder[IS_EMPTY] = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self[IS_EMPTY] ? '' : string;\n\t}\n\n\tlet styler = self[STYLER];\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.includes('\\u001B')) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nObject.defineProperties(createChalk.prototype, styles);\n\nconst chalk = createChalk();\nexport const chalkStderr = createChalk({level: stderrColor ? stderrColor.level : 0});\n\nexport {\n\tmodifierNames,\n\tforegroundColorNames,\n\tbackgroundColorNames,\n\tcolorNames,\n\n\t// TODO: Remove these aliases in the next major version\n\tmodifierNames as modifiers,\n\tforegroundColorNames as foregroundColors,\n\tbackgroundColorNames as backgroundColors,\n\tcolorNames as colors,\n} from './vendor/ansi-styles/index.js';\n\nexport {\n\tstdoutColor as supportsColor,\n\tstderrColor as supportsColorStderr,\n};\n\nexport default chalk;\n"],"ignoreList":[0,1,2,3],"mappings":"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"}
@@ -1,343 +0,0 @@
1
- //#region node_modules/chalk/source/vendor/ansi-styles/index.js
2
- var ANSI_BACKGROUND_OFFSET = 10;
3
- var wrapAnsi16 = (offset = 0) => (code) => `\u001B[${code + offset}m`;
4
- var wrapAnsi256 = (offset = 0) => (code) => `\u001B[${38 + offset};5;${code}m`;
5
- var wrapAnsi16m = (offset = 0) => (red, green, blue) => `\u001B[${38 + offset};2;${red};${green};${blue}m`;
6
- var styles$1 = {
7
- modifier: {
8
- reset: [0, 0],
9
- bold: [1, 22],
10
- dim: [2, 22],
11
- italic: [3, 23],
12
- underline: [4, 24],
13
- overline: [53, 55],
14
- inverse: [7, 27],
15
- hidden: [8, 28],
16
- strikethrough: [9, 29]
17
- },
18
- color: {
19
- black: [30, 39],
20
- red: [31, 39],
21
- green: [32, 39],
22
- yellow: [33, 39],
23
- blue: [34, 39],
24
- magenta: [35, 39],
25
- cyan: [36, 39],
26
- white: [37, 39],
27
- blackBright: [90, 39],
28
- gray: [90, 39],
29
- grey: [90, 39],
30
- redBright: [91, 39],
31
- greenBright: [92, 39],
32
- yellowBright: [93, 39],
33
- blueBright: [94, 39],
34
- magentaBright: [95, 39],
35
- cyanBright: [96, 39],
36
- whiteBright: [97, 39]
37
- },
38
- bgColor: {
39
- bgBlack: [40, 49],
40
- bgRed: [41, 49],
41
- bgGreen: [42, 49],
42
- bgYellow: [43, 49],
43
- bgBlue: [44, 49],
44
- bgMagenta: [45, 49],
45
- bgCyan: [46, 49],
46
- bgWhite: [47, 49],
47
- bgBlackBright: [100, 49],
48
- bgGray: [100, 49],
49
- bgGrey: [100, 49],
50
- bgRedBright: [101, 49],
51
- bgGreenBright: [102, 49],
52
- bgYellowBright: [103, 49],
53
- bgBlueBright: [104, 49],
54
- bgMagentaBright: [105, 49],
55
- bgCyanBright: [106, 49],
56
- bgWhiteBright: [107, 49]
57
- }
58
- };
59
- Object.keys(styles$1.modifier);
60
- var foregroundColorNames = Object.keys(styles$1.color);
61
- var backgroundColorNames = Object.keys(styles$1.bgColor);
62
- [...foregroundColorNames, ...backgroundColorNames];
63
- function assembleStyles() {
64
- const codes = /* @__PURE__ */ new Map();
65
- for (const [groupName, group] of Object.entries(styles$1)) {
66
- for (const [styleName, style] of Object.entries(group)) {
67
- styles$1[styleName] = {
68
- open: `\u001B[${style[0]}m`,
69
- close: `\u001B[${style[1]}m`
70
- };
71
- group[styleName] = styles$1[styleName];
72
- codes.set(style[0], style[1]);
73
- }
74
- Object.defineProperty(styles$1, groupName, {
75
- value: group,
76
- enumerable: false
77
- });
78
- }
79
- Object.defineProperty(styles$1, "codes", {
80
- value: codes,
81
- enumerable: false
82
- });
83
- styles$1.color.close = "\x1B[39m";
84
- styles$1.bgColor.close = "\x1B[49m";
85
- styles$1.color.ansi = wrapAnsi16();
86
- styles$1.color.ansi256 = wrapAnsi256();
87
- styles$1.color.ansi16m = wrapAnsi16m();
88
- styles$1.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
89
- styles$1.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
90
- styles$1.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
91
- Object.defineProperties(styles$1, {
92
- rgbToAnsi256: {
93
- value(red, green, blue) {
94
- if (red === green && green === blue) {
95
- if (red < 8) return 16;
96
- if (red > 248) return 231;
97
- return Math.round((red - 8) / 247 * 24) + 232;
98
- }
99
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
100
- },
101
- enumerable: false
102
- },
103
- hexToRgb: {
104
- value(hex) {
105
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
106
- if (!matches) return [
107
- 0,
108
- 0,
109
- 0
110
- ];
111
- let [colorString] = matches;
112
- if (colorString.length === 3) colorString = [...colorString].map((character) => character + character).join("");
113
- const integer = Number.parseInt(colorString, 16);
114
- return [
115
- integer >> 16 & 255,
116
- integer >> 8 & 255,
117
- integer & 255
118
- ];
119
- },
120
- enumerable: false
121
- },
122
- hexToAnsi256: {
123
- value: (hex) => styles$1.rgbToAnsi256(...styles$1.hexToRgb(hex)),
124
- enumerable: false
125
- },
126
- ansi256ToAnsi: {
127
- value(code) {
128
- if (code < 8) return 30 + code;
129
- if (code < 16) return 90 + (code - 8);
130
- let red;
131
- let green;
132
- let blue;
133
- if (code >= 232) {
134
- red = ((code - 232) * 10 + 8) / 255;
135
- green = red;
136
- blue = red;
137
- } else {
138
- code -= 16;
139
- const remainder = code % 36;
140
- red = Math.floor(code / 36) / 5;
141
- green = Math.floor(remainder / 6) / 5;
142
- blue = remainder % 6 / 5;
143
- }
144
- const value = Math.max(red, green, blue) * 2;
145
- if (value === 0) return 30;
146
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
147
- if (value === 2) result += 60;
148
- return result;
149
- },
150
- enumerable: false
151
- },
152
- rgbToAnsi: {
153
- value: (red, green, blue) => styles$1.ansi256ToAnsi(styles$1.rgbToAnsi256(red, green, blue)),
154
- enumerable: false
155
- },
156
- hexToAnsi: {
157
- value: (hex) => styles$1.ansi256ToAnsi(styles$1.hexToAnsi256(hex)),
158
- enumerable: false
159
- }
160
- });
161
- return styles$1;
162
- }
163
- var ansiStyles = assembleStyles();
164
- //#endregion
165
- //#region node_modules/chalk/source/vendor/supports-color/browser.js
166
- var level = (() => {
167
- if (!("navigator" in globalThis)) return 0;
168
- if (globalThis.navigator.userAgentData) {
169
- const brand = navigator.userAgentData.brands.find(({ brand }) => brand === "Chromium");
170
- if (brand && brand.version > 93) return 3;
171
- }
172
- if (/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)) return 1;
173
- return 0;
174
- })();
175
- var colorSupport = level !== 0 && {
176
- level,
177
- hasBasic: true,
178
- has256: level >= 2,
179
- has16m: level >= 3
180
- };
181
- var supportsColor = {
182
- stdout: colorSupport,
183
- stderr: colorSupport
184
- };
185
- //#endregion
186
- //#region node_modules/chalk/source/utilities.js
187
- function stringReplaceAll(string, substring, replacer) {
188
- let index = string.indexOf(substring);
189
- if (index === -1) return string;
190
- const substringLength = substring.length;
191
- let endIndex = 0;
192
- let returnValue = "";
193
- do {
194
- returnValue += string.slice(endIndex, index) + substring + replacer;
195
- endIndex = index + substringLength;
196
- index = string.indexOf(substring, endIndex);
197
- } while (index !== -1);
198
- returnValue += string.slice(endIndex);
199
- return returnValue;
200
- }
201
- function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
202
- let endIndex = 0;
203
- let returnValue = "";
204
- do {
205
- const gotCR = string[index - 1] === "\r";
206
- returnValue += string.slice(endIndex, gotCR ? index - 1 : index) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
207
- endIndex = index + 1;
208
- index = string.indexOf("\n", endIndex);
209
- } while (index !== -1);
210
- returnValue += string.slice(endIndex);
211
- return returnValue;
212
- }
213
- //#endregion
214
- //#region node_modules/chalk/source/index.js
215
- var { stdout: stdoutColor, stderr: stderrColor } = supportsColor;
216
- var GENERATOR = Symbol("GENERATOR");
217
- var STYLER = Symbol("STYLER");
218
- var IS_EMPTY = Symbol("IS_EMPTY");
219
- var levelMapping = [
220
- "ansi",
221
- "ansi",
222
- "ansi256",
223
- "ansi16m"
224
- ];
225
- var styles = Object.create(null);
226
- var applyOptions = (object, options = {}) => {
227
- if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) throw new Error("The `level` option should be an integer from 0 to 3");
228
- const colorLevel = stdoutColor ? stdoutColor.level : 0;
229
- object.level = options.level === void 0 ? colorLevel : options.level;
230
- };
231
- var chalkFactory = (options) => {
232
- const chalk = (...strings) => strings.join(" ");
233
- applyOptions(chalk, options);
234
- Object.setPrototypeOf(chalk, createChalk.prototype);
235
- return chalk;
236
- };
237
- function createChalk(options) {
238
- return chalkFactory(options);
239
- }
240
- Object.setPrototypeOf(createChalk.prototype, Function.prototype);
241
- for (const [styleName, style] of Object.entries(ansiStyles)) styles[styleName] = { get() {
242
- const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
243
- Object.defineProperty(this, styleName, { value: builder });
244
- return builder;
245
- } };
246
- styles.visible = { get() {
247
- const builder = createBuilder(this, this[STYLER], true);
248
- Object.defineProperty(this, "visible", { value: builder });
249
- return builder;
250
- } };
251
- var getModelAnsi = (model, level, type, ...arguments_) => {
252
- if (model === "rgb") {
253
- if (level === "ansi16m") return ansiStyles[type].ansi16m(...arguments_);
254
- if (level === "ansi256") return ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));
255
- return ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));
256
- }
257
- if (model === "hex") return getModelAnsi("rgb", level, type, ...ansiStyles.hexToRgb(...arguments_));
258
- return ansiStyles[type][model](...arguments_);
259
- };
260
- for (const model of [
261
- "rgb",
262
- "hex",
263
- "ansi256"
264
- ]) {
265
- styles[model] = { get() {
266
- const { level } = this;
267
- return function(...arguments_) {
268
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansiStyles.color.close, this[STYLER]);
269
- return createBuilder(this, styler, this[IS_EMPTY]);
270
- };
271
- } };
272
- const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
273
- styles[bgModel] = { get() {
274
- const { level } = this;
275
- return function(...arguments_) {
276
- const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansiStyles.bgColor.close, this[STYLER]);
277
- return createBuilder(this, styler, this[IS_EMPTY]);
278
- };
279
- } };
280
- }
281
- var proto = Object.defineProperties(() => {}, {
282
- ...styles,
283
- level: {
284
- enumerable: true,
285
- get() {
286
- return this[GENERATOR].level;
287
- },
288
- set(level) {
289
- this[GENERATOR].level = level;
290
- }
291
- }
292
- });
293
- var createStyler = (open, close, parent) => {
294
- let openAll;
295
- let closeAll;
296
- if (parent === void 0) {
297
- openAll = open;
298
- closeAll = close;
299
- } else {
300
- openAll = parent.openAll + open;
301
- closeAll = close + parent.closeAll;
302
- }
303
- return {
304
- open,
305
- close,
306
- openAll,
307
- closeAll,
308
- parent
309
- };
310
- };
311
- var createBuilder = (self, _styler, _isEmpty) => {
312
- const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
313
- Object.setPrototypeOf(builder, proto);
314
- builder[GENERATOR] = self;
315
- builder[STYLER] = _styler;
316
- builder[IS_EMPTY] = _isEmpty;
317
- return builder;
318
- };
319
- var applyStyle = (self, string) => {
320
- if (self.level <= 0 || !string) return self[IS_EMPTY] ? "" : string;
321
- let styler = self[STYLER];
322
- if (styler === void 0) return string;
323
- const { openAll, closeAll } = styler;
324
- if (string.includes("\x1B")) while (styler !== void 0) {
325
- string = stringReplaceAll(string, styler.close, styler.open);
326
- styler = styler.parent;
327
- }
328
- const lfIndex = string.indexOf("\n");
329
- if (lfIndex !== -1) string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
330
- return openAll + string + closeAll;
331
- };
332
- Object.defineProperties(createChalk.prototype, styles);
333
- var chalk = createChalk();
334
- createChalk({ level: stderrColor ? stderrColor.level : 0 });
335
- //#endregion
336
- Object.defineProperty(exports, "chalk", {
337
- enumerable: true,
338
- get: function() {
339
- return chalk;
340
- }
341
- });
342
-
343
- //# sourceMappingURL=source-DvZTPnpg.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"source-DvZTPnpg.cjs","names":["styles"],"sources":["../node_modules/chalk/source/vendor/ansi-styles/index.js","../node_modules/chalk/source/vendor/supports-color/browser.js","../node_modules/chalk/source/utilities.js","../node_modules/chalk/source/index.js"],"sourcesContent":["const ANSI_BACKGROUND_OFFSET = 10;\n\nconst wrapAnsi16 = (offset = 0) => code => `\\u001B[${code + offset}m`;\n\nconst wrapAnsi256 = (offset = 0) => code => `\\u001B[${38 + offset};5;${code}m`;\n\nconst wrapAnsi16m = (offset = 0) => (red, green, blue) => `\\u001B[${38 + offset};2;${red};${green};${blue}m`;\n\nconst styles = {\n\tmodifier: {\n\t\treset: [0, 0],\n\t\t// 21 isn't widely supported and 22 does the same thing\n\t\tbold: [1, 22],\n\t\tdim: [2, 22],\n\t\titalic: [3, 23],\n\t\tunderline: [4, 24],\n\t\toverline: [53, 55],\n\t\tinverse: [7, 27],\n\t\thidden: [8, 28],\n\t\tstrikethrough: [9, 29],\n\t},\n\tcolor: {\n\t\tblack: [30, 39],\n\t\tred: [31, 39],\n\t\tgreen: [32, 39],\n\t\tyellow: [33, 39],\n\t\tblue: [34, 39],\n\t\tmagenta: [35, 39],\n\t\tcyan: [36, 39],\n\t\twhite: [37, 39],\n\n\t\t// Bright color\n\t\tblackBright: [90, 39],\n\t\tgray: [90, 39], // Alias of `blackBright`\n\t\tgrey: [90, 39], // Alias of `blackBright`\n\t\tredBright: [91, 39],\n\t\tgreenBright: [92, 39],\n\t\tyellowBright: [93, 39],\n\t\tblueBright: [94, 39],\n\t\tmagentaBright: [95, 39],\n\t\tcyanBright: [96, 39],\n\t\twhiteBright: [97, 39],\n\t},\n\tbgColor: {\n\t\tbgBlack: [40, 49],\n\t\tbgRed: [41, 49],\n\t\tbgGreen: [42, 49],\n\t\tbgYellow: [43, 49],\n\t\tbgBlue: [44, 49],\n\t\tbgMagenta: [45, 49],\n\t\tbgCyan: [46, 49],\n\t\tbgWhite: [47, 49],\n\n\t\t// Bright color\n\t\tbgBlackBright: [100, 49],\n\t\tbgGray: [100, 49], // Alias of `bgBlackBright`\n\t\tbgGrey: [100, 49], // Alias of `bgBlackBright`\n\t\tbgRedBright: [101, 49],\n\t\tbgGreenBright: [102, 49],\n\t\tbgYellowBright: [103, 49],\n\t\tbgBlueBright: [104, 49],\n\t\tbgMagentaBright: [105, 49],\n\t\tbgCyanBright: [106, 49],\n\t\tbgWhiteBright: [107, 49],\n\t},\n};\n\nexport const modifierNames = Object.keys(styles.modifier);\nexport const foregroundColorNames = Object.keys(styles.color);\nexport const backgroundColorNames = Object.keys(styles.bgColor);\nexport const colorNames = [...foregroundColorNames, ...backgroundColorNames];\n\nfunction assembleStyles() {\n\tconst codes = new Map();\n\n\tfor (const [groupName, group] of Object.entries(styles)) {\n\t\tfor (const [styleName, style] of Object.entries(group)) {\n\t\t\tstyles[styleName] = {\n\t\t\t\topen: `\\u001B[${style[0]}m`,\n\t\t\t\tclose: `\\u001B[${style[1]}m`,\n\t\t\t};\n\n\t\t\tgroup[styleName] = styles[styleName];\n\n\t\t\tcodes.set(style[0], style[1]);\n\t\t}\n\n\t\tObject.defineProperty(styles, groupName, {\n\t\t\tvalue: group,\n\t\t\tenumerable: false,\n\t\t});\n\t}\n\n\tObject.defineProperty(styles, 'codes', {\n\t\tvalue: codes,\n\t\tenumerable: false,\n\t});\n\n\tstyles.color.close = '\\u001B[39m';\n\tstyles.bgColor.close = '\\u001B[49m';\n\n\tstyles.color.ansi = wrapAnsi16();\n\tstyles.color.ansi256 = wrapAnsi256();\n\tstyles.color.ansi16m = wrapAnsi16m();\n\tstyles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);\n\tstyles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);\n\n\t// From https://github.com/Qix-/color-convert/blob/3f0e0d4e92e235796ccb17f6e85c72094a651f49/conversions.js\n\tObject.defineProperties(styles, {\n\t\trgbToAnsi256: {\n\t\t\tvalue(red, green, blue) {\n\t\t\t\t// We use the extended greyscale palette here, with the exception of\n\t\t\t\t// black and white. normal palette only has 4 greyscale shades.\n\t\t\t\tif (red === green && green === blue) {\n\t\t\t\t\tif (red < 8) {\n\t\t\t\t\t\treturn 16;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (red > 248) {\n\t\t\t\t\t\treturn 231;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Math.round(((red - 8) / 247) * 24) + 232;\n\t\t\t\t}\n\n\t\t\t\treturn 16\n\t\t\t\t\t+ (36 * Math.round(red / 255 * 5))\n\t\t\t\t\t+ (6 * Math.round(green / 255 * 5))\n\t\t\t\t\t+ Math.round(blue / 255 * 5);\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToRgb: {\n\t\t\tvalue(hex) {\n\t\t\t\tconst matches = /[a-f\\d]{6}|[a-f\\d]{3}/i.exec(hex.toString(16));\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn [0, 0, 0];\n\t\t\t\t}\n\n\t\t\t\tlet [colorString] = matches;\n\n\t\t\t\tif (colorString.length === 3) {\n\t\t\t\t\tcolorString = [...colorString].map(character => character + character).join('');\n\t\t\t\t}\n\n\t\t\t\tconst integer = Number.parseInt(colorString, 16);\n\n\t\t\t\treturn [\n\t\t\t\t\t/* eslint-disable no-bitwise */\n\t\t\t\t\t(integer >> 16) & 0xFF,\n\t\t\t\t\t(integer >> 8) & 0xFF,\n\t\t\t\t\tinteger & 0xFF,\n\t\t\t\t\t/* eslint-enable no-bitwise */\n\t\t\t\t];\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi256: {\n\t\t\tvalue: hex => styles.rgbToAnsi256(...styles.hexToRgb(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t\tansi256ToAnsi: {\n\t\t\tvalue(code) {\n\t\t\t\tif (code < 8) {\n\t\t\t\t\treturn 30 + code;\n\t\t\t\t}\n\n\t\t\t\tif (code < 16) {\n\t\t\t\t\treturn 90 + (code - 8);\n\t\t\t\t}\n\n\t\t\t\tlet red;\n\t\t\t\tlet green;\n\t\t\t\tlet blue;\n\n\t\t\t\tif (code >= 232) {\n\t\t\t\t\tred = (((code - 232) * 10) + 8) / 255;\n\t\t\t\t\tgreen = red;\n\t\t\t\t\tblue = red;\n\t\t\t\t} else {\n\t\t\t\t\tcode -= 16;\n\n\t\t\t\t\tconst remainder = code % 36;\n\n\t\t\t\t\tred = Math.floor(code / 36) / 5;\n\t\t\t\t\tgreen = Math.floor(remainder / 6) / 5;\n\t\t\t\t\tblue = (remainder % 6) / 5;\n\t\t\t\t}\n\n\t\t\t\tconst value = Math.max(red, green, blue) * 2;\n\n\t\t\t\tif (value === 0) {\n\t\t\t\t\treturn 30;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tlet result = 30 + ((Math.round(blue) << 2) | (Math.round(green) << 1) | Math.round(red));\n\n\t\t\t\tif (value === 2) {\n\t\t\t\t\tresult += 60;\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\tenumerable: false,\n\t\t},\n\t\trgbToAnsi: {\n\t\t\tvalue: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),\n\t\t\tenumerable: false,\n\t\t},\n\t\thexToAnsi: {\n\t\t\tvalue: hex => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),\n\t\t\tenumerable: false,\n\t\t},\n\t});\n\n\treturn styles;\n}\n\nconst ansiStyles = assembleStyles();\n\nexport default ansiStyles;\n","/* eslint-env browser */\n\nconst level = (() => {\n\tif (!('navigator' in globalThis)) {\n\t\treturn 0;\n\t}\n\n\tif (globalThis.navigator.userAgentData) {\n\t\tconst brand = navigator.userAgentData.brands.find(({brand}) => brand === 'Chromium');\n\t\tif (brand && brand.version > 93) {\n\t\t\treturn 3;\n\t\t}\n\t}\n\n\tif (/\\b(Chrome|Chromium)\\//.test(globalThis.navigator.userAgent)) {\n\t\treturn 1;\n\t}\n\n\treturn 0;\n})();\n\nconst colorSupport = level !== 0 && {\n\tlevel,\n\thasBasic: true,\n\thas256: level >= 2,\n\thas16m: level >= 3,\n};\n\nconst supportsColor = {\n\tstdout: colorSupport,\n\tstderr: colorSupport,\n};\n\nexport default supportsColor;\n","// TODO: When targeting Node.js 16, use `String.prototype.replaceAll`.\nexport function stringReplaceAll(string, substring, replacer) {\n\tlet index = string.indexOf(substring);\n\tif (index === -1) {\n\t\treturn string;\n\t}\n\n\tconst substringLength = substring.length;\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\treturnValue += string.slice(endIndex, index) + substring + replacer;\n\t\tendIndex = index + substringLength;\n\t\tindex = string.indexOf(substring, endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n\nexport function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {\n\tlet endIndex = 0;\n\tlet returnValue = '';\n\tdo {\n\t\tconst gotCR = string[index - 1] === '\\r';\n\t\treturnValue += string.slice(endIndex, (gotCR ? index - 1 : index)) + prefix + (gotCR ? '\\r\\n' : '\\n') + postfix;\n\t\tendIndex = index + 1;\n\t\tindex = string.indexOf('\\n', endIndex);\n\t} while (index !== -1);\n\n\treturnValue += string.slice(endIndex);\n\treturn returnValue;\n}\n","import ansiStyles from '#ansi-styles';\nimport supportsColor from '#supports-color';\nimport { // eslint-disable-line import/order\n\tstringReplaceAll,\n\tstringEncaseCRLFWithFirstIndex,\n} from './utilities.js';\n\nconst {stdout: stdoutColor, stderr: stderrColor} = supportsColor;\n\nconst GENERATOR = Symbol('GENERATOR');\nconst STYLER = Symbol('STYLER');\nconst IS_EMPTY = Symbol('IS_EMPTY');\n\n// `supportsColor.level` → `ansiStyles.color[name]` mapping\nconst levelMapping = [\n\t'ansi',\n\t'ansi',\n\t'ansi256',\n\t'ansi16m',\n];\n\nconst styles = Object.create(null);\n\nconst applyOptions = (object, options = {}) => {\n\tif (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {\n\t\tthrow new Error('The `level` option should be an integer from 0 to 3');\n\t}\n\n\t// Detect level if not set manually\n\tconst colorLevel = stdoutColor ? stdoutColor.level : 0;\n\tobject.level = options.level === undefined ? colorLevel : options.level;\n};\n\nexport class Chalk {\n\tconstructor(options) {\n\t\t// eslint-disable-next-line no-constructor-return\n\t\treturn chalkFactory(options);\n\t}\n}\n\nconst chalkFactory = options => {\n\tconst chalk = (...strings) => strings.join(' ');\n\tapplyOptions(chalk, options);\n\n\tObject.setPrototypeOf(chalk, createChalk.prototype);\n\n\treturn chalk;\n};\n\nfunction createChalk(options) {\n\treturn chalkFactory(options);\n}\n\nObject.setPrototypeOf(createChalk.prototype, Function.prototype);\n\nfor (const [styleName, style] of Object.entries(ansiStyles)) {\n\tstyles[styleName] = {\n\t\tget() {\n\t\t\tconst builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);\n\t\t\tObject.defineProperty(this, styleName, {value: builder});\n\t\t\treturn builder;\n\t\t},\n\t};\n}\n\nstyles.visible = {\n\tget() {\n\t\tconst builder = createBuilder(this, this[STYLER], true);\n\t\tObject.defineProperty(this, 'visible', {value: builder});\n\t\treturn builder;\n\t},\n};\n\nconst getModelAnsi = (model, level, type, ...arguments_) => {\n\tif (model === 'rgb') {\n\t\tif (level === 'ansi16m') {\n\t\t\treturn ansiStyles[type].ansi16m(...arguments_);\n\t\t}\n\n\t\tif (level === 'ansi256') {\n\t\t\treturn ansiStyles[type].ansi256(ansiStyles.rgbToAnsi256(...arguments_));\n\t\t}\n\n\t\treturn ansiStyles[type].ansi(ansiStyles.rgbToAnsi(...arguments_));\n\t}\n\n\tif (model === 'hex') {\n\t\treturn getModelAnsi('rgb', level, type, ...ansiStyles.hexToRgb(...arguments_));\n\t}\n\n\treturn ansiStyles[type][model](...arguments_);\n};\n\nconst usedModels = ['rgb', 'hex', 'ansi256'];\n\nfor (const model of usedModels) {\n\tstyles[model] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'color', ...arguments_), ansiStyles.color.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n\n\tconst bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);\n\tstyles[bgModel] = {\n\t\tget() {\n\t\t\tconst {level} = this;\n\t\t\treturn function (...arguments_) {\n\t\t\t\tconst styler = createStyler(getModelAnsi(model, levelMapping[level], 'bgColor', ...arguments_), ansiStyles.bgColor.close, this[STYLER]);\n\t\t\t\treturn createBuilder(this, styler, this[IS_EMPTY]);\n\t\t\t};\n\t\t},\n\t};\n}\n\nconst proto = Object.defineProperties(() => {}, {\n\t...styles,\n\tlevel: {\n\t\tenumerable: true,\n\t\tget() {\n\t\t\treturn this[GENERATOR].level;\n\t\t},\n\t\tset(level) {\n\t\t\tthis[GENERATOR].level = level;\n\t\t},\n\t},\n});\n\nconst createStyler = (open, close, parent) => {\n\tlet openAll;\n\tlet closeAll;\n\tif (parent === undefined) {\n\t\topenAll = open;\n\t\tcloseAll = close;\n\t} else {\n\t\topenAll = parent.openAll + open;\n\t\tcloseAll = close + parent.closeAll;\n\t}\n\n\treturn {\n\t\topen,\n\t\tclose,\n\t\topenAll,\n\t\tcloseAll,\n\t\tparent,\n\t};\n};\n\nconst createBuilder = (self, _styler, _isEmpty) => {\n\t// Single argument is hot path, implicit coercion is faster than anything\n\t// eslint-disable-next-line no-implicit-coercion\n\tconst builder = (...arguments_) => applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));\n\n\t// We alter the prototype because we must return a function, but there is\n\t// no way to create a function with a different prototype\n\tObject.setPrototypeOf(builder, proto);\n\n\tbuilder[GENERATOR] = self;\n\tbuilder[STYLER] = _styler;\n\tbuilder[IS_EMPTY] = _isEmpty;\n\n\treturn builder;\n};\n\nconst applyStyle = (self, string) => {\n\tif (self.level <= 0 || !string) {\n\t\treturn self[IS_EMPTY] ? '' : string;\n\t}\n\n\tlet styler = self[STYLER];\n\n\tif (styler === undefined) {\n\t\treturn string;\n\t}\n\n\tconst {openAll, closeAll} = styler;\n\tif (string.includes('\\u001B')) {\n\t\twhile (styler !== undefined) {\n\t\t\t// Replace any instances already present with a re-opening code\n\t\t\t// otherwise only the part of the string until said closing code\n\t\t\t// will be colored, and the rest will simply be 'plain'.\n\t\t\tstring = stringReplaceAll(string, styler.close, styler.open);\n\n\t\t\tstyler = styler.parent;\n\t\t}\n\t}\n\n\t// We can move both next actions out of loop, because remaining actions in loop won't have\n\t// any/visible effect on parts we add here. Close the styling before a linebreak and reopen\n\t// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92\n\tconst lfIndex = string.indexOf('\\n');\n\tif (lfIndex !== -1) {\n\t\tstring = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);\n\t}\n\n\treturn openAll + string + closeAll;\n};\n\nObject.defineProperties(createChalk.prototype, styles);\n\nconst chalk = createChalk();\nexport const chalkStderr = createChalk({level: stderrColor ? stderrColor.level : 0});\n\nexport {\n\tmodifierNames,\n\tforegroundColorNames,\n\tbackgroundColorNames,\n\tcolorNames,\n\n\t// TODO: Remove these aliases in the next major version\n\tmodifierNames as modifiers,\n\tforegroundColorNames as foregroundColors,\n\tbackgroundColorNames as backgroundColors,\n\tcolorNames as colors,\n} from './vendor/ansi-styles/index.js';\n\nexport {\n\tstdoutColor as supportsColor,\n\tstderrColor as supportsColorStderr,\n};\n\nexport default chalk;\n"],"ignoreList":[0,1,2,3],"mappings":"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"}