UNPKG

@versatiledatakit/shared

Version:

Versatile Data Kit Shared library enables reusability of shared features like: NgRx Redux, Error Handlers, Utils, Generic Components, etc.

35 lines 5.12 kB
/* * Copyright 2023-2025 Broadcom * SPDX-License-Identifier: Apache-2.0 */ import { CollectionsUtil } from '../../utils'; import { generateSupportedHttpErrorCodes } from '../../common/error/utils'; /** * ** Generates error codes for provided method names. * * - !!! Important: Only for Unit tests purposes, not for production. * * - Optionally could be provided ClassName and PublicName, otherwise will be auto-generated random strings. */ /* eslint-disable @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/ban-ts-comment, @typescript-eslint/dot-notation */ export const generateErrorCodes = (serviceStub, methodNames, className, publicName) => { const _className = className ?? CollectionsUtil.generateRandomString(); const _publicName = publicName ?? CollectionsUtil.generateRandomString(); const _errorCodes = {}; // @ts-ignore methodNames.forEach((method) => { _errorCodes[method] = generateSupportedHttpErrorCodes(_className, _publicName, method); }); serviceStub['errorCodes'] = _errorCodes; return _errorCodes; }; /* eslint-enable @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/ban-ts-comment, @typescript-eslint/dot-notation */ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItY29kZS1nZW5lcmF0b3ItdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi91bml0LXRlc3RpbmcvdXRpbHMvZXJyb3ItY29kZS1nZW5lcmF0b3ItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFJN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0U7Ozs7OztHQU1HO0FBQ0g7Ozs7b0RBSW9EO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQzlCLFdBQWtCLEVBQ2xCLFdBQStELEVBQy9ELFNBQWtCLEVBQ2xCLFVBQW1CLEVBQ0YsRUFBRTtJQUNuQixNQUFNLFVBQVUsR0FBRyxTQUFTLElBQUksZUFBZSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdkUsTUFBTSxXQUFXLEdBQUcsVUFBVSxJQUFJLGVBQWUsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3pFLE1BQU0sV0FBVyxHQUFzQixFQUF1QixDQUFDO0lBRS9ELGFBQWE7SUFDYixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDbkMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLCtCQUErQixDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0YsQ0FBQyxDQUFDLENBQUM7SUFFSCxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsV0FBVyxDQUFDO0lBRXhDLE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQztBQUNGOzs7O21EQUltRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMy0yMDI1IEJyb2FkY29tXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IENvbGxlY3Rpb25zVXRpbCwgRmlsdGVyTWV0aG9kcyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuaW1wb3J0IHsgRXJyb3JDb2RlcywgRXhjbHVkZWRNZXRob2RzIH0gZnJvbSAnLi4vLi4vY29tbW9uJztcblxuaW1wb3J0IHsgZ2VuZXJhdGVTdXBwb3J0ZWRIdHRwRXJyb3JDb2RlcyB9IGZyb20gJy4uLy4uL2NvbW1vbi9lcnJvci91dGlscyc7XG5cbi8qKlxuICogKiogR2VuZXJhdGVzIGVycm9yIGNvZGVzIGZvciBwcm92aWRlZCBtZXRob2QgbmFtZXMuXG4gKlxuICogICAgICAtICEhISBJbXBvcnRhbnQ6IE9ubHkgZm9yIFVuaXQgdGVzdHMgcHVycG9zZXMsIG5vdCBmb3IgcHJvZHVjdGlvbi5cbiAqXG4gKiAgICAgIC0gT3B0aW9uYWxseSBjb3VsZCBiZSBwcm92aWRlZCBDbGFzc05hbWUgYW5kIFB1YmxpY05hbWUsIG90aGVyd2lzZSB3aWxsIGJlIGF1dG8tZ2VuZXJhdGVkIHJhbmRvbSBzdHJpbmdzLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFyZ3VtZW50LFxuICAgICAgICAgICAgICAgICAgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzLFxuICAgICAgICAgICAgICAgICAgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50LFxuICAgICAgICAgICAgICAgICAgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50LFxuICAgICAgICAgICAgICAgICAgQHR5cGVzY3JpcHQtZXNsaW50L2RvdC1ub3RhdGlvbiAqL1xuZXhwb3J0IGNvbnN0IGdlbmVyYXRlRXJyb3JDb2RlcyA9IDxDVHlwZT4oXG4gICAgc2VydmljZVN0dWI6IENUeXBlLFxuICAgIG1ldGhvZE5hbWVzOiBBcnJheTxrZXlvZiBGaWx0ZXJNZXRob2RzPENUeXBlLCBFeGNsdWRlZE1ldGhvZHM+PixcbiAgICBjbGFzc05hbWU/OiBzdHJpbmcsXG4gICAgcHVibGljTmFtZT86IHN0cmluZ1xuKTogRXJyb3JDb2RlczxDVHlwZT4gPT4ge1xuICAgIGNvbnN0IF9jbGFzc05hbWUgPSBjbGFzc05hbWUgPz8gQ29sbGVjdGlvbnNVdGlsLmdlbmVyYXRlUmFuZG9tU3RyaW5nKCk7XG4gICAgY29uc3QgX3B1YmxpY05hbWUgPSBwdWJsaWNOYW1lID8/IENvbGxlY3Rpb25zVXRpbC5nZW5lcmF0ZVJhbmRvbVN0cmluZygpO1xuICAgIGNvbnN0IF9lcnJvckNvZGVzOiBFcnJvckNvZGVzPENUeXBlPiA9IHt9IGFzIEVycm9yQ29kZXM8Q1R5cGU+O1xuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG1ldGhvZE5hbWVzLmZvckVhY2goKG1ldGhvZDogc3RyaW5nKSA9PiB7XG4gICAgICAgIF9lcnJvckNvZGVzW21ldGhvZF0gPSBnZW5lcmF0ZVN1cHBvcnRlZEh0dHBFcnJvckNvZGVzKF9jbGFzc05hbWUsIF9wdWJsaWNOYW1lLCBtZXRob2QpO1xuICAgIH0pO1xuXG4gICAgc2VydmljZVN0dWJbJ2Vycm9yQ29kZXMnXSA9IF9lcnJvckNvZGVzO1xuXG4gICAgcmV0dXJuIF9lcnJvckNvZGVzO1xufTtcbi8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hcmd1bWVudCxcbiAgICAgICAgICAgICAgICAgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1tZW1iZXItYWNjZXNzLFxuICAgICAgICAgICAgICAgICAgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50LFxuICAgICAgICAgICAgICAgICBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnQsXG4gICAgICAgICAgICAgICAgIEB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb24gKi9cbiJdfQ==