mirror of
https://dev.azure.com/hugendubel/ISA/_git/ISA-Frontend
synced 2025-12-28 22:42:11 +01:00
chore: update dependencies and add vitest configuration
- Added @analogjs/vite-plugin-angular and @analogjs/vitest-angular to devDependencies. - Updated @nx/vite to version 20.1.4. - Added @vitest/coverage-v8 and @vitest/ui to devDependencies. - Added jsdom to devDependencies. - Added vite and vitest to devDependencies. - Updated tsconfig.base.json to include new paths for shared libraries. - Created vitest.workspace.ts for vitest configuration. Refs: #5135
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
export * from './lib/errors';
|
||||
export * from './lib/helpers';
|
||||
export * from './lib/models';
|
||||
export * from './lib/operators';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
export * from './data-access.error';
|
||||
export * from './property-is-empty.error';
|
||||
export * from './property-is-null-or-undefined.error';
|
||||
export * from './response-args.error';
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import { ResponseArgs } from '../models';
|
||||
import { DataAccessError } from './data-access.error';
|
||||
|
||||
function invalidPropertyErrorMessage(
|
||||
invalidProperties: Record<string, string> | undefined,
|
||||
): string | undefined {
|
||||
if (!invalidProperties || Object.keys(invalidProperties).length === 0) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return Object.entries(invalidProperties)
|
||||
.map(([key, value]) => `${key}: ${value}`)
|
||||
.join('; ');
|
||||
}
|
||||
|
||||
export class ResponseArgsError<
|
||||
T,
|
||||
> extends DataAccessError<'RESPONSE_ARGS_ERROR'> {
|
||||
constructor(public readonly responseArgs: Omit<ResponseArgs<T>, 'result'>) {
|
||||
super(
|
||||
'RESPONSE_ARGS_ERROR',
|
||||
responseArgs.message ||
|
||||
invalidPropertyErrorMessage(responseArgs.invalidProperties) ||
|
||||
'An error occurred while processing response arguments',
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
export function createEscAbortControllerHelper(): AbortController {
|
||||
const escAbortController = new AbortController();
|
||||
const escKeyHandler = (event: KeyboardEvent) => {
|
||||
if (event.key === 'Escape') {
|
||||
escAbortController.abort();
|
||||
document.removeEventListener('keydown', escKeyHandler);
|
||||
}
|
||||
};
|
||||
|
||||
document.addEventListener('keydown', escKeyHandler);
|
||||
|
||||
return escAbortController;
|
||||
}
|
||||
1
libs/common/data-access/src/lib/helpers/index.ts
Normal file
1
libs/common/data-access/src/lib/helpers/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export * from './create-esc-abort-controller.helper';
|
||||
@@ -15,7 +15,7 @@ export interface ResponseArgs<T> {
|
||||
* Map of property names to error messages for validation failures
|
||||
* Keys represent property names, values contain validation error messages
|
||||
*/
|
||||
invalidProperties: Record<string, string>;
|
||||
invalidProperties?: Record<string, string>;
|
||||
|
||||
/**
|
||||
* Optional message providing additional information about the response
|
||||
|
||||
Reference in New Issue
Block a user