Copy // Example usage.
import { CommonErrors } from '@angular-package/error';
// Define new `TestClass` to add error to the map storage.
export class TestClass<Id extends string> extends CommonErrors<Id> {
public get errors(): Map<Id, any> {
return super.errors;
}
public set<ErrorId extends Id>(
problem: string,
fix: string,
id: ErrorId
): this {
this.errors.set(id, new Error(problem, fix, id));
return this;
}
}
// Initialize the `TestClass`.
const generalErrors = new TestClass('EG: 4332', 'EG: 4331', 'EG: 4330');
// Set the errors.
generalErrors
.set(
'Bad parameter type, detected number',
'Provide proper type, the `string`',
'EG: 4330'
)
.set(
'Detected numbers',
'Provide only letters',
'EG: 4331'
);
try {
// Throw the specified EG: 4330 error.
generalErrors.throw('EG: 4330');
} catch (e) {
if (e instanceof Error) {
e.fix; // Provide proper type, the `string`
e.message; // ProblemEG: 4330: Bad parameter type, detected number => Fix: Provide proper type, the `string`
e.name; // Error
e.problem; // Bad parameter type, detected number
e.template; // Problem{id}: {problem} => Fix: {fix}
e.id; // EG: 4330
}
}