{"version":3,"file":"angular-package-error.mjs","sources":["../../../packages/error/src/lib/common-error.class.ts","../../../packages/error/src/lib/error.class.ts","../../../packages/error/src/lib/common-errors.class.ts","../../../packages/error/src/lib/errors.class.ts","../../../packages/error/src/lib/range-error.class.ts","../../../packages/error/src/lib/range-errors.class.ts","../../../packages/error/src/lib/type-error.class.ts","../../../packages/error/src/lib/type-errors.class.ts","../../../packages/error/src/lib/validation-error.class.ts","../../../packages/error/src/lib/validation-errors.class.ts"],"sourcesContent":["/**\n * The `CommonError` abstract object to throw an identified error with a solution to the described problem, additional type, and range built\n * on the template.\n */\nexport abstract class CommonError<Id extends string> extends Error {\n  //#region public static properties.\n  /**\n   * A template of the error message of `string` type with the replaceable `{problem}`, `{fix}` and optional `{id}`, `{link}`, `{max}`,\n   * `{min}`, `{type}` tags. By default, it's set to `Problem{id}: {problem} => Fix: {fix}`.\n   */\n  public static template = `Problem{id}: {problem} => Fix: {fix}`;\n  //#endregion public static properties.\n\n  //#region public instance accessors.\n  /**\n   * The `get` accessor obtains a possible solution to the described problem by returning the `#fix` property of a specified object.\n   * @returns The return value is the fix of a `string` type.\n   * @angularpackage\n   */\n  public get fix(): string {\n    return this.#fix;\n  }\n\n  /**\n   * The `get` accessor gets the error identification by returning the `#id` property of a specified object.\n   * @returns The return value is the error identification of the generic type variable `Id` or `undefined`.\n   * @angularpackage\n   */\n  public get id(): Id | undefined {\n    return this.#id;\n  }\n\n  /**\n   * The `get` accessor gets the link(to read more about the thrown error) by returning the `#link` property of a specified object.\n   * @returns The return value is the link of a `string` type or `undefined`.\n   * @angularpackage\n   */\n  public get link(): string | undefined {\n    return this.#link;\n  }\n\n  /**\n   * The `get` accessor gets the error message by returning the parent `message` property of the `Error` object.\n   * @returns The return value is the error message of a `string` type.\n   * @angularpackage\n   */\n  public get message(): string {\n    return super.message;\n  }\n\n  /**\n   * The `get` accessor gets the problem by returning the `#problem` property of a specified object.\n   * @returns The return value is the problem of a `string` type.\n   * @angularpackage\n   */\n  public get problem(): string {\n    return this.#problem;\n  }\n\n  /**\n   * The `get` accessor gets the template of the error message by returning the `#template` property of a specified object.\n   * @returns The return value is the template of a `string` type.\n   * @angularpackage\n   */\n  public get template(): string {\n    return this.#template;\n  }\n  //#endregion public instance accessors.\n\n  //#region private instance properties.\n  /**\n   * A privately stored possible solution to the described problem of a `string` type.\n   */\n  #fix: string;\n\n  /**\n   * Optional privately stored unique identification of the described problem of generic type variable `Id`.\n   */\n  #id?: Id;\n\n  /**\n   * The optional privately stored link of `string` type redirects to read more about the thrown error.\n   */\n  #link?: string;\n\n  /**\n   * A privately stored problem of a `string` type.\n   */\n  #problem: string;\n\n  /**\n   * A string-type privately stored template of the error message that contains replaceable required `{fix}`, `{problem}` and optional\n   * `{id}`, `{max}`, `{min}`, `{type}` tags.\n   */\n  #template: string;\n  //#endregion private instance properties.\n\n  //#region protected static methods.\n  /**\n   * The static \"tag\" method builds from the given `values` the error message of a string type on the template.\n   * @param templateStringsArray -\n   * @param values A rest parameter of expressions in order the `problem`, `fix`, `id`, `template` and `additional`.\n   * @returns The return value is the error message of a `string` type created from the expressions given in the `values`.\n   * @angularpackage\n   */\n  protected static defineMessage(\n    templateStringsArray: TemplateStringsArray,\n    ...values: any[]\n  ): string {\n    let problem: string,\n      fix: string,\n      id: string | undefined,\n      template: string,\n      additional: { link?: string; min?: number; max?: number; type?: string };\n    [problem, fix, id, template, additional] = values;\n    template = (template || CommonError.template)\n      .replace('{problem}', problem || '')\n      .replace(/{id}/g, id || '')\n      .replace(/{link}/g, additional?.link ? additional.link : '')\n      .replace(/{max}/g, additional?.max ? String(additional.max) : '')\n      .replace(/{min}/g, additional?.min ? String(additional.min) : '')\n      .replace(/{type}/g, additional?.type ? additional.type : '')\n      .replace('{fix}', fix || '');\n    return template;\n  }\n\n  /**\n   * Checks whether the value of any type is a `this` instance of any or the given identification.\n   * @param value The value of any type to check against the `this` instance.\n   * @param id Optional identification of generic type variable `Id` to check whether the given `value` contains.\n   * @returns The return value is a `boolean` type indicating whether the given `value` is a `this` instance of any or the given `id`.\n   * @angularpackage\n   */\n  protected static isError<Id extends string>(\n    value: any,\n    id?: Id\n  ): value is CommonError<Id> {\n    return typeof value === 'object' && value instanceof this\n      ? typeof id === 'string'\n        ? value.id === id\n        : true\n      : false;\n  }\n  //#endregion protected static methods.\n\n  //#region constructor.\n  /**\n   * Creates an error instance with the message built from the given problem, its solution, optional type, range, an explicit identification\n   * on the supplied or stored template.\n   * @param problem Description of the problem of a `string` type.\n   * @param fix A solution to the given `problem` of a `string` type.\n   * @param id Optional unique identification to the given `problem` of generic type variable `Id`.\n   * @param template A template of error message with the replaceable `{problem}`, `{fix}` and optional `{id}`, `{link}`, `{max}`, `{min}`\n   * and `{type}` tags. By default, the value is equal to the static property `template`.\n   * @param additional An optional object consists of optional `link`, `min`, `max`, and `type` properties to define the error message.\n   * @angularpackage\n   */\n  constructor(\n    problem: string,\n    fix: string,\n    id?: Id,\n    template = CommonError.template,\n    additional?: { link?: string; max?: number; min?: number; type?: string }\n  ) {\n    super(\n      CommonError.defineMessage`${problem}${fix}${id}${template}${additional}`\n    );\n    this.#fix = fix;\n    this.#id = id;\n    this.#link = additional?.link;\n    this.#problem = problem;\n    this.#template = template;\n  }\n  //#endregion constructor.\n}\n","import { CommonError } from './common-error.class';\n/**\n * The `Error` object is an extension of the `CommonError` class and is thrown when a runtime error occurs with a message built from a\n * solution to the described problem but with additional identification, on the template.\n */\nexport class Error<Id extends string> extends CommonError<Id> {\n  //#region public instance accessors.\n  /**\n   * Error name of a `string` type, set to `Error` that is being thrown.\n   * @returns The return value is the error instance name of `string` type.\n   * @angularpackage\n   */\n  // public get name(): string {\n  //   return 'Error';\n  // }\n\n  /**\n   * The `get` accessor, with the help of `toStringTag`, changes the default tag to `'Error'` for an instance of `Error`. It can be read\n   * by the `typeOf()` function of `@angular-package/type`.\n   * @returns The return value is the word `Error` of a `string`.\n   * @angularpackage\n   */\n  public get [Symbol.toStringTag](): string {\n    return 'Error';\n  }\n  //#endregion public instance accessors.\n\n  //#region public static methods.\n  /**\n   * Defines the `Error` instance with the message built of the given required `problem`, `fix` and optional `id` on the `template`.\n   * @param problem Description of the problem of a `string` type.\n   * @param fix A solution to the given `problem` of a `string` type.\n   * @param id Optional unique identification to the given `problem` of generic type variable `Id`.\n   * @param template A template of error message with the replaceable `{problem}`, `{fix}` and optional `{id}` tags. By default, the value\n   * is picked from the static property `template`.\n   * @returns The return value is a new instance of the `Error` with the message built from the given required `problem`, `fix` and optional\n   * `id` on the `template`.\n   * @angularpackage\n   */\n  public static define<Id extends string>(\n    problem: string,\n    fix: string,\n    id?: Id,\n    template = Error.template\n  ): Error<Id> {\n    return new this(problem, fix, id, template);\n  }\n\n  /**\n   * Checks whether the value of any type is an instance of `Error` of any or the given identification.\n   * @param value The value of any type to check against the `Error` instance.\n   * @param id Optional unique identification of generic type variable `Id` that the given `value` contains.\n   * @returns The return value is a `boolean` type indicating whether the given `value` is an instance of `Error` of any or the given `id`.\n   * @angularpackage\n   */\n  public static isError<Id extends string>(\n    value: any,\n    id?: Id\n  ): value is Error<Id> {\n    return super.isError(value, id);\n  }\n  //#endregion public static methods.\n\n  //#region constructor.\n  /**\n   * Creates the `Error` instance with the message built from the given described `problem` and its solution, optional explicit\n   * identification on the given or stored `template`.\n   * @param problem Description of the problem of a string type.\n   * @param fix A solution to the given `problem` of a string type.\n   * @param id Optional unique identification to the given `problem` of generic type variable `Id`.\n   * @param template A template of error message with the replaceable `{problem}`, `{fix}` and optional `{id}`, `{max}`, `{min}` and tags.\n   * By default, the value is equal to the static property `template`.\n   * @angularpackage\n   */\n  constructor(\n    problem: string,\n    fix: string,\n    id?: Id,\n    template = Error.template\n  ) {\n    super(problem, fix, id, template);\n  }\n  //#endregion constructor.\n}\n","/**\n * The `CommonErrors` object represents the storage of errors with unique identification numbers.\n */\nexport abstract class CommonErrors<Id extends string> {\n  /**\n   * Optional template of `string` type.\n   */\n  public static template?: string;\n\n  //#region protected instance accessors.\n  /**\n   * The `get` accessor returns the errors of `Map` type by returning the `#errors` property of a specified object.\n   * @returns The return value is the `Map` object of errors.\n   * @angularpackage\n   */\n  protected get errors(): Map<Id, any> {\n    return this.#errors;\n  }\n  //#endregion protected instance accessors.\n\n  //#region private instance properties.\n  /**\n   * The collection of unique allowed identification numbers of generic type variable `Id`.\n   */\n  #id?: Set<Id>;\n\n  /**\n   * The errors storage of the `Map` type where the `key` is of the generic type variable `Id`.\n   */\n  #errors: Map<Id, any> = new Map();\n  //#endregion private instance properties.\n\n  //#region constructor.\n  /**\n   * Creates an instance of the errors storage with unique identification numbers.\n   * @param id A rest parameter of generic type variable `Id` indicates unique identification numbers under which the errors are stored in\n   * the object.\n   * @angularpackage\n   */\n  constructor(...id: Id[]) {\n    Array.isArray(id) && (this.#id = new Set(id));\n  }\n  //#endregion constructor.\n\n  //#region instance public methods.\n  /**\n   * Deletes the error of a specified `id` from the object.\n   * @param id The unique identification of a generic type variable `ErrorId` to remove the error from the object.\n   * @returns The return value is an instance of an `ValidationError`.\n   * @angularpackage\n   */\n  public delete<ErrorId extends Id>(id: ErrorId): this {\n    this.#errors.delete(id);\n    return this;\n  }\n\n  /**\n   * The `has()` method checks whether the error of the given `id` exists in a specified object.\n   * @param id The error identification number of generic type variable `ErrorId` to test for the presence of the error in the object.\n   * @returns The return value is a `boolean` indicating whether the error of the given `id` exists in the object.\n   * @angularpackage\n   */\n  public has<ErrorId extends Id>(id: ErrorId): boolean {\n    return this.#errors.has(id);\n  }\n\n  /**\n   * Throws an error of the given `id` if the unique id was provided in the constructor.\n   * @param id The unique identification number of generic type variable `ErrorId` to obtain an error to throw.\n   * @angularpackage\n   */\n  public throw<ErrorId extends Id>(id: ErrorId): void {\n    if (this.isAllowedId(id)) {\n      throw this.errors.get(id);\n    }\n  }\n\n  //#endregion instance public methods.\n\n  //#region instance protected methods.\n  /**\n   * Checks whether the given identification number was provided in the constructor.\n   * @param id The error identification number of generic type variable `ErrorId` to test for its presence in the object.\n   * @angularpackage\n   */\n  protected isAllowedId<ErrorId extends Id>(id: ErrorId): boolean {\n    return this.#id ? this.#id.has(id) : false;\n  }\n  //#endregion instance protected methods.\n}\n","import { CommonErrors } from './common-errors.class';\nimport { Error } from './error.class';\n/**\n * The `Errors` is an extension of the `CommonErrors` object that represents multiple identification numbers under which the errors of the\n * `Error` type are prepared to throw.\n */\nexport class Errors<Id extends string> extends CommonErrors<Id> {\n  //#region constructor.\n  /**\n   * Creates the `Errors` instance of unique identification numbers under which the `Error` objects are stored.\n   * @param id A rest parameter of generic type variable `Id` indicates unique identification numbers under which the errors are stored in\n   * the object.\n   * @angularpackage\n   */\n  constructor(...id: Id[]) {\n    super(...id);\n  }\n  //#endregion constructor.\n\n  //#region instance public methods.\n  /**\n   * Returns the `Error` instance of the given unique identification `id` if set, otherwise `undefined`.\n   * @param id The unique identification number of generic type variable `ErrorId` to pick an error from the object.\n   * @returns The return value is the `Error` instance of the given `id` if set, otherwise `undefined`.\n   * @angularpackage\n   */\n  public get<ErrorId extends Id>(id: ErrorId): Error<ErrorId> | undefined {\n    return this.errors.get(id);\n  }\n\n  /**\n   * Returns an `object` of set errors, where the key is a unique identification.\n   * @returns The return value is an `object` of set errors.\n   * @angularpackage\n   */\n  public getErrors(): { [Key in Id]: Error<Key> | undefined } {\n    return Object.fromEntries(this.errors.entries()) as any;\n  }\n\n  /**\n   * Sets the `Error` object with the message built from the given required `problem`, `fix`, `id` on the given or stored `template` under\n   * the given `id`.\n   * ! The error is not set, if the given `id` was not provided in the constructor.\n   * @param problem Description of the problem of a `string` type.\n   * @param fix A solution to the given `problem` of a `string` type.\n   * @param id The unique identification to the given `problem` of generic type variable `ErrorId`.\n   * @param template A template of the error message with a replaceable `{problem}`, `{fix}`, `{id}` tags. By default, the value is equal to\n   * the static property `Errors.template`.\n   * @returns The return value is an instance of `Errors`.\n   * @angularpackage\n   */\n  public set<ErrorId extends Id>(\n    problem: string,\n    fix: string,\n    id: ErrorId,\n    template = Errors.template\n  ): this {\n    this.isAllowedId(id) &&\n      this.errors.set(id, new Error(problem, fix, id, template));\n    return this;\n  }\n  //#endregion instance public methods.\n}\n","import { CommonError } from './common-error.class';\n/**\n * The `RangeError` object is an extension of the `CommonError` class and is thrown when a value is not in the set or range of allowed\n * values with the message built from the described problem and its solution, optional explicit identification and minimum/maximum range\n * on the given or stored template.\n */\nexport class RangeError<\n  Id extends string,\n  Min extends number | undefined = undefined,\n  Max extends number | undefined = undefined\n> extends CommonError<Id> {\n  /**\n   * A template of the error message of `string` type with the replaceable required `{problem}`, `{fix}` and optional `{id}`, `{max}`,\n   * `{min}` tags. By default, it's set to `Problem{id}: {problem} => Fix: {fix} between {min} and {max}`.\n   */\n  public static template = `Problem{id}: {problem} => Fix: {fix} between {min} and {max}`;\n\n  //#region public instance accessors.\n  /**\n   * The `get` accessor obtains the maximum range of generic type variable `Max` that causes an error to be thrown(or not thrown), if set,\n   * otherwise returns `undefined`.\n   * @returns The return value is the maximum range of generic type variable `Max` or `undefined`.\n   * @angularpackage\n   */\n  public get max(): Max | undefined {\n    return this.#max;\n  }\n\n  /**\n   * The `get` accessor obtains the minimum range of generic type variable `Min` that causes an error to be thrown(or not thrown), if set,\n   * otherwise returns `undefined`.\n   * @returns The return value is the minimum range of generic type variable `Min` or undefined.\n   * @angularpackage\n   */\n  public get min(): Min | undefined {\n    return this.#min;\n  }\n\n  /**\n   * The `get` accessor obtains error name of a `string` type, set to `RangeError` that is being thrown.\n   * @returns The return value is the error instance name of `string` type.\n   * @angularpackage\n   */\n  public get name(): string {\n    return 'RangeError';\n  }\n\n  /**\n   * The `get` accessor obtains the minimum and maximum range in the form of an `object`.\n   * @returns The return value is an `object` that consists of the minimum range under the `min` property and the maximum under the\n   * `max` property.\n   * @angularpackage\n   */\n  public get range(): { min?: Min; max?: Max } {\n    return {\n      min: this.#min,\n      max: this.#max,\n    };\n  }\n\n  /**\n   * The `get` accessor, with the help of `toStringTag`, changes the default tag to `'RangeError'` for an instance of\n   * `RangeError`. It can be read by the `typeOf()` function of `@angular-package/type`.\n   * @returns The return value is the word 'RangeError` of a `string`.\n   * @angularpackage\n   */\n  public get [Symbol.toStringTag](): string {\n    return 'RangeError';\n  }\n  //#endregion public instance accessors.\n\n  //#region private instance properties.\n  /**\n   * Private property of the maximum range of generic type variable `Max` that causes an error to be thrown(or not thrown).\n   */\n  #max?: Max;\n\n  /**\n   * Private property of the minimum range of generic type variable `Min` that causes an error to be thrown(or not thrown).\n   */\n  #min?: Min;\n  //#endregion private instance properties.\n\n  //#region public static methods.\n  /**\n   * Defines the `RangeError` instance with the message built from the given required `problem`, `fix` and optional `id`, `max`, `min` on\n   * the given or stored `template`.\n   * @param problem Description of the problem of a `string` type.\n   * @param fix A solution to the given `problem` of a `string` type.\n   * @param id Optional unique identification to the given `problem` of generic type variable `Id`.\n   * @param min The optional minimum range of generic type variable `Min` that causes an error to be thrown(or not thrown).\n   * @param max The optional maximum range of generic type variable `Max` that causes an error to be thrown(or not thrown).\n   * @param template A template of error message with the replaceable `{problem}`, `{fix}` and optional `{id}`, `{max}`, `{min}` and tags.\n   * By default, the value is picked from the static property `RangeError.template`.\n   * @returns The return value is a new instance of the `RangeError` with the message built from the given required `problem`, `fix` and\n   * optional `id`, `min`, `max` on the given or stored `template`.\n   * @angularpackage\n   */\n  public static define<\n    Id extends string,\n    Min extends number | undefined = undefined,\n    Max extends number | undefined = undefined\n  >(\n    problem: string,\n    fix: string,\n    id?: Id,\n    min?: Min,\n    max?: Max,\n    template = RangeError.template\n  ): RangeError<Id, Min, Max> {\n    return new this(problem, fix, id, min, max, template);\n  }\n\n  /**\n   * Checks whether the value of any type is an instance of `RangeError` of any or the given minimum/maximum range and identification.\n   * @param value The value of any type to check against the `RangeError` instance.\n   * @param id Optional identification of generic type variable `Id` to check whether the given `value` contains.\n   * @param min The optional minimum range of generic type variable `Min` that causes an error to be thrown(or not thrown) to check whether\n   * the given `value` contains.\n   * @param max The optional maximum range of generic type variable `Max` that causes an error to be thrown(or not thrown) to check whether\n   * the given `value` contains.\n   * @returns The return value is a `boolean` type indicating whether the given `value` is an instance of `RangeError` of any or the given\n   * `min`, max` and `id` properties.\n   * @angularpackage\n   */\n  public static isRangeError<\n    Id extends string,\n    Min extends number | undefined = undefined,\n    Max extends number | undefined = undefined\n  >(\n    value: any,\n    id?: Id,\n    min?: Min,\n    max?: Max\n  ): value is RangeError<Id, Min, Max> {\n    return (\n      super.isError(value, id) &&\n      (typeof min === 'number' ? (value as any).min === min : true) &&\n      (typeof max === 'number' ? (value as any).max === max : true)\n    );\n  }\n  //#endregion public static methods.\n\n  //#region constructor.\n  /**\n   * Creates the `RangeError` instance that represents range error with the message built of the given described `problem` and its solution,\n   * optional `min`/`max` range, and an explicit identification on the given or stored error message template.\n   * @param problem Description of the range problem of a `string` type.\n   * @param fix A solution to the given range issue of a `string` type.\n   * @param min The optional minimum range of generic type variable `Min` that causes an error to be thrown(or not thrown).\n   * @param max The optional maximum range of generic type variable `Max` that causes an error to be thrown(or not thrown).\n   * @param id Optional unique identification to the given `problem` of generic type variable `Id`.\n   * @param template A template of error message with the replaceable required `{problem}`, `{fix}` and optional `{id}`, `{max}`, `{min}`\n   * tags. By default, the value is equal to the static property `template`.\n   * @angularpackage\n   */\n  constructor(\n    problem: string,\n    fix: string,\n    id?: Id,\n    min?: Min,\n    max?: Max,\n    template = RangeError.template\n  ) {\n    super(problem, fix, id, template, { min, max });\n    this.#max = max;\n    this.#min = min;\n  }\n  //#endregion constructor.\n}\n","import { CommonErrors } from './common-errors.class';\nimport { RangeError } from './range-error.class';\n/**\n * The `RangeErrors` is an extension of the `CommonErrors` object that represents multiple identification numbers under which the errors of\n * the `RangeError` type are prepared to throw.\n */\nexport class RangeErrors<Id extends string> extends CommonErrors<Id> {\n  //#region constructor.\n  /**\n   * Creates the `RangeErrors` instance of unique identification numbers under which the `RangeError` objects are stored.\n   * @param id A rest parameter of generic type variable `Id` indicates unique identification numbers under which the `RangeError` objects\n   * are stored.\n   * @angularpackage\n   */\n  constructor(...id: Id[]) {\n    super(...id);\n  }\n  //#endregion constructor.\n\n  //#region instance public methods.\n  /**\n   * Returns the `RangeError` instance of the given unique identification `id` if set, otherwise `undefined`.\n   * @param id The unique identification number of generic type variable `ErrorId` to pick an error from the object.\n   * @returns The return value is the `RangeError` instance of the given `id` if set, otherwise undefined.\n   * @angularpackage\n   */\n  public get<ErrorId extends Id>(id: ErrorId): RangeError<ErrorId> | undefined {\n    return this.errors.get(id);\n  }\n\n  /**\n   * Returns the object of set range errors, where the key is a unique identification.\n   * @returns The return value is an `object` of set range errors.\n   * @angularpackage\n   */\n  public getErrors(): { [Key in Id]: RangeError<Key> | undefined } {\n    return Object.fromEntries(this.errors.entries()) as any;\n  }\n\n  /**\n   * Sets the `RangeError` object with the message built from the given required `problem`, `fix`, `id` and optional `min`, `max` on the\n   * given or stored `template` under the given `id`.\n   * ! The error is not set, if the given `id` was not provided in the constructor.\n   * @param problem Description of the problem of a string type.\n   * @param fix A solution to the given `problem` of a string type.\n   * @param id The unique identification to the given `problem` of generic type variable `ErrorId`.\n   * @param min The optional minimum range of `number` type that causes an error to be thrown(or not thrown).\n   * @param max The optional maximum range of `number` type that causes an error to be thrown(or not thrown).\n   * @param template A template of error message with the replaceable `{problem}`, `{fix}`, `{id}`, and optional `{max}`, `{min}` tags. By\n   * default, the value is equal to the static property `RangeErrors.template`.\n   * @returns The return value is an instance of `RangeErrors`.\n   * @angularpackage\n   */\n  public set<ErrorId extends Id>(\n    problem: string,\n    fix: string,\n    id: ErrorId,\n    min?: number,\n    max?: number,\n    template = RangeErrors.template\n  ): this {\n    this.isAllowedId(id) &&\n      this.errors.set(id, new RangeError(problem, fix, id, min, max, template));\n    return this;\n  }\n  //#endregion instance public methods.\n}\n","import { CommonError } from './common-error.class';\n/**\n * The `TypeError` object is an extension of the `CommonError` class and is thrown when an operation could not be performed,\n * typically(but not exclusively) when a value is not of the expected type, with the message built from the described problem and its\n * solution, optional an explicit identification and type, on the given or stored template.\n */\nexport class TypeError<\n  Id extends string,\n  Type extends string | undefined = undefined\n> extends CommonError<Id> {\n  /**\n   * A template of the error message of `string` type with the replaceable required `{fix}`,`{problem}` and optional `{id}`, `{max}`,\n   * `{min}`, `{type}` tags. By default, it's set to `Problem{id}: {problem} => Fix: {fix} must be of the {type}`.\n   */\n  public static template = `Problem{id}: {problem} => Fix: {fix} must be of the {type}`;\n\n  //#region public instance accessors.\n  /**\n   * The `get` accessor obtains error name of a `string` type, set to 'TypeError' that is being thrown.\n   * @returns The return value is the error instance name of `string` type.\n   * @angularpackage\n   */\n  public get name(): string {\n    return 'TypeError';\n  }\n\n  /**\n   * The `get` accessor obtains the type of generic type variable `Type` that causes an error to be thrown(or not thrown) if set, otherwise\n   * returns `undefined`.\n   * @returns The return value is the type of generic type variable `Type` or `undefined`.\n   * @angularpackage\n   */\n  public get type(): Type | undefined {\n    return this.#type;\n  }\n\n  /**\n   * The `get` accessor, with the help of `toStringTag`, changes the default tag to `'TypeError'` for an instance of\n   * `TypeError`. It can be read by the `typeOf()` function of `@angular-package/type`.\n   * @returns The return value is the word 'TypeError` of a `string`.\n   * @angularpackage\n   */\n  public get [Symbol.toStringTag](): string {\n    return 'TypeError';\n  }\n  //#endregion public instance accessors.\n\n  /**\n   * Private string-type property of the type that causes an error to be thrown(or not thrown).\n   */\n  #type?: Type;\n\n  //#region public static methods.\n  /**\n   * Defines the `TypeError` instance with the given required `problem`, `fix` and optional `id`, `type` and `template`.\n   * @param problem Description of the problem of a `string` type.\n   * @param fix A solution to the given `problem` of a `string` type.\n   * @param id Optional unique identification to the given `problem` of generic type variable `Id`.\n   * @param type The optional type of generic type variable `Type` that causes an error to be thrown(or not thrown).\n   * @param template A template of error message with the replaceable `{problem}`, `{fix}` and optional `{id}`, `{type}` tags. By default,\n   * the value is picked from the static property `TypeError.template`.\n   * @returns The return value is a new instance of the `TypeError` with the message built from the given required `problem`, `fix` and\n   * optional `id`, `type` on the given or stored `template`.\n   * @angularpackage\n   */\n  public static define<\n    Id extends string,\n    Type extends string | undefined = undefined\n  >(\n    problem: string,\n    fix: string,\n    id?: Id,\n    type?: Type,\n    template = TypeError.template\n  ): TypeError<Id, Type> {\n    return new this(problem, fix, id, type, template);\n  }\n\n  /**\n   * Checks whether the value of any type is an instance of `TypeError` of any or the given type and identification.\n   * @param value The value of any type to check against the `TypeError` instance.\n   * @param id Optional unique identification of generic type variable `Id` to check whether the given `value` contains.\n   * @param type The optional type of generic type variable `Type` that causes an error to be thrown(or not thrown) to check whether the\n   * given `value` contains.\n   * @returns The return value is a `boolean` type indicating whether the given `value` is an instance of `TypeError` of any or the given\n   * `type` and `id` properties.\n   * @angularpackage\n   */\n  public static isTypeError<\n    Id extends string,\n    Type extends string | undefined = undefined\n  >(value: any, id?: Id, type?: Type): value is TypeError<Id, Type> {\n    return (\n      super.isError(value, id) &&\n      (typeof type === 'string' ? (value as any).type === type : true)\n    );\n  }\n  //#endregion public static methods.\n\n  //#region constructor.\n  /**\n   * Creates a `TypeError` instance that represents type error with the message built of the given described problem and its solution,\n   * optional type, and an explicit identification on the supplied or stored error message template.\n   * @param problem Description of the range problem of a `string` type.\n   * @param fix A solution to the given range issue of a `string` type.\n   * @param id Optional unique identification to the given `problem` of generic type variable `Id`.\n   * @param type The optional type of generic type variable `Type` that causes an error to be thrown(or not thrown).\n   * @param template Optional template of error message with the replaceable `{problem}`, `{fix}` and optional `{id}`, `{max}`, `{min}` and\n   * `{type}` tags. By default, the value is picked from the static property `TypeError.template`.\n   * @angularpackage\n   */\n  constructor(\n    problem: string,\n    fix: string,\n    id?: Id,\n    type?: Type,\n    template = TypeError.template\n  ) {\n    super(problem, fix, id, template, { type });\n    this.#type = type;\n  }\n  //#endregion constructor.\n}\n","import { CommonErrors } from './common-errors.class';\nimport { TypeError } from './type-error.class';\n/**\n * The `TypeErrors` is an extension of the `CommonErrors` object that represents multiple identification numbers under which the errors of\n * the `TypeError` type are prepared to throw.\n */\nexport class TypeErrors<Id extends string> extends CommonErrors<Id> {\n  //#region constructor.\n  /**\n   * Creates the `TypeErrors` instance of unique identification numbers under which the `TypeError` objects are stored.\n   * @param id A rest parameter of generic type variable `Id` indicates unique identification numbers under which the `TypeError` objects\n   * are stored.\n   * @angularpackage\n   */\n  constructor(...id: Id[]) {\n    super(...id);\n  }\n  //#endregion constructor.\n\n  //#region instance public methods.\n  /**\n   * Returns the `TypeError` instance of the given unique identification `id` if set, otherwise `undefined`.\n   * @param id The unique identification number of generic type variable `ErrorId` to pick an error from the object.\n   * @returns The return value is the `TypeError` instance of the given `id` if set, otherwise undefined.\n   * @angularpackage\n   */\n  public get<ErrorId extends Id>(id: ErrorId): TypeError<ErrorId> | undefined {\n    return this.errors.get(id);\n  }\n\n  /**\n   * The method returns the object of set type errors, where the key is a unique identification.\n   * @returns The return value is an `object` of set type errors.\n   * @angularpackage\n   */\n  public getErrors(): { [Key in Id]: TypeError<Key> | undefined } {\n    return Object.fromEntries(this.errors.entries()) as any;\n  }\n\n  /**\n   * Sets the `TypeError` object with the message built from the given required `problem`, `fix`, `id` and optional `type` on the given or\n   * stored `template` under the given `id`.\n   * ! The error is not set, if the given `id` was not provided in the constructor.\n   * @param problem Description of the problem of a string type.\n   * @param fix A solution to the given `problem` of a string type.\n   * @param id The unique identification to the given `problem` of generic type variable `ErrorId`.\n   * @param type The optional type of `string` type that causes an error to be thrown(or not thrown).\n   * @param template A template of error message with the replaceable `{problem}`, `{fix}`, `{id}`, and optional `{type}` tags. By default,\n   * the value is equal to the static property `RangeErrors.template`.\n   * @returns The return value is an instance of `TypeErrors`.\n   * @angularpackage\n   */\n  public set<ErrorId extends Id>(\n    problem: string,\n    fix: string,\n    id: ErrorId,\n    type?: string,\n    template = TypeErrors.template\n  ): this {\n    this.isAllowedId(id) &&\n      this.errors.set(id, new TypeError(problem, fix, id, type, template));\n    return this;\n  }\n  //#endregion instance public methods.\n}\n","import { CommonError } from './common-error.class';\n/**\n * The `ValidationError` object is an extension of the `CommonError` class and is thrown when an operation could not be performed despite\n * proper type(but not exclusively) with the message built from the described problem and its solution, along with additional identification\n * on the given or stored template.\n */\nexport class ValidationError<Id extends string> extends CommonError<Id> {\n  //#region public instance accessors.\n  /**\n   * The `get` accessor obtains error name of a `string` type, set to 'ValidationError' that is being thrown.\n   * @returns The return value is the error instance name of `string` type.\n   * @angularpackage\n   */\n  public get name(): string {\n    return 'ValidationError';\n  }\n\n  /**\n   * The `get` accessor, with the help of `toStringTag`, changes the default tag to `'ValidationError'` for an instance of\n   * `ValidationError`. It can be read by the `typeOf()` function of `@angular-package/type`.\n   * @returns The return value is the word 'ValidationError` of a `string`.\n   * @angularpackage\n   */\n  public get [Symbol.toStringTag](): string {\n    return 'ValidationError';\n  }\n  //#endregion public instance accessors.\n\n  //#region public static methods.\n  /**\n   * Defines the `ValidationError` instance with the message built of the given required `problem`, `fix`, and optional `id` on the supplied\n   * or stored `template`.\n   * @param problem Description of the problem of a `string` type.\n   * @param fix A solution to the given `problem` of a `string` type.\n   * @param id Optional unique identification to the given `problem` of generic type variable `Id`.\n   * @param template A template of error message with the replaceable `{problem}`, `{fix}` and optional `{id}`, `{min}`, `{max}` and tags.\n   * By default, the value is picked from the static property `ValidationError.template`.\n   * @returns The return value is a new instance of the `ValidationError` with the message built from the given required `problem`, `fix`\n   * and optional `id` on the given or stored `template`.\n   * @angularpackage\n   */\n  public static define<Id extends string>(\n    problem: string,\n    fix: string,\n    id?: Id,\n    template = ValidationError.template\n  ): ValidationError<Id> {\n    return new this(problem, fix, id, template);\n  }\n\n  /**\n   * Checks whether the value of any type is the `ValidationError` instance of any or the given identification.\n   * @param value The value of any type to check against the `ValidationError` instance.\n   * @param id Optional unique identification of generic type variable `Id` to check whether the given `value` contains.\n   * @returns The return value is a `boolean` type indicating whether the given `value` is an instance of `ValidationError` of any or the\n   * supplied optional id properties.\n   * @angularpackage\n   */\n  public static isValidationError<Id extends string>(\n    value: any,\n    id?: Id\n  ): value is ValidationError<Id> {\n    return super.isError(value, id);\n  }\n  //#endregion public static methods.\n\n  //#region constructor.\n  /**\n   * Creates the `ValidationError` instance that represents validation error with the message built of the given described problem, its\n   * solution, and optional explicit identification, on the supplied or stored error message template.\n   * @param problem Description of the validation problem of a `string` type.\n   * @param fix A solution to the given validation issue of a `string` type.\n   * @param id Optional unique identification to the given `problem` of generic type variable `Id`.\n   * @param template Optional template of error message with the replaceable `{problem}`, `{fix}` and optional `{id}`, `{max}`, `{min}` and\n   * tags. By default, the value is picked from the static property `template`.\n   * @angularpackage\n   */\n  constructor(\n    problem: string,\n    fix: string,\n    id?: Id,\n    // field?: string,\n    template = ValidationError.template\n  ) {\n    super(problem, fix, id, template);\n  }\n  //#endregion constructor.\n}\n","import { CommonErrors } from './common-errors.class';\nimport { ValidationError } from './validation-error.class';\n/**\n * The `ValidationErrors` is an extension of the `CommonErrors` object that represents multiple identification numbers under which the\n * errors of the `ValidationError` type are prepared to throw.\n */\nexport class ValidationErrors<Id extends string> extends CommonErrors<Id> {\n  //#region constructor.\n  /**\n   * Creates the `ValidationErrors` instance of unique identification numbers under which the `ValidationError` objects are stored.\n   * @param id A rest parameter of generic type variable `Id` indicates unique identification numbers under which the `ValidationError`\n   * objects are stored.\n   * @angularpackage\n   */\n  constructor(...id: Id[]) {\n    super(...id);\n  }\n  //#endregion constructor.\n\n  //#region instance public methods.\n  /**\n   * Returns the `ValidationError` instance of the given unique identification `id` if set, otherwise `undefined`.\n   * @param id The unique identification number of generic type variable `ErrorId` to pick an error from the object.\n   * @returns The return value is the `ValidationError` instance of the given `id` if set, otherwise undefined.\n   * @angularpackage\n   */\n  public get<ErrorId extends Id>(\n    id: ErrorId\n  ): ValidationError<ErrorId> | undefined {\n    return this.errors.get(id);\n  }\n\n  /**\n   * Returns the object of set validation errors, where the key is a unique identification.\n   * @returns The return value is an `object` of set validation errors.\n   * @angularpackage\n   */\n  public getErrors(): { [Key in Id]: ValidationError<Key> | undefined } {\n    return Object.fromEntries(this.errors.entries()) as any;\n  }\n\n  /**\n   * Sets the `ValidationError` object with the message built from the given required `problem`, `fix`, `id` on the given or stored\n   * `template` under the given `id`.\n   * ! The error is not set, if the given `id` was not provided in the constructor.\n   * @param problem Description of the problem of a `string` type.\n   * @param fix A solution to the given `problem` of a string type.\n   * @param id The unique identification to the given `problem` of generic type variable `ErrorId`.\n   * @param template A template of error message with the replaceable `{problem}`, `{fix}`, `{id}` tags. By default, the value is equal\n   * to the static property `ValidationErrors.template`.\n   * @returns The return value is an instance of `Errors`.\n   * @angularpackage\n   */\n  public set<ErrorId extends Id>(\n    problem: string,\n    fix: string,\n    id: ErrorId,\n    template = ValidationErrors.template\n  ): this {\n    this.isAllowedId(id) &&\n      this.errors.set(id, new ValidationError(problem, fix, id, template));\n    return this;\n  }\n  //#endregion instance public methods.\n}\n"],"names":["Error"],"mappings":"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"}