@acorex/core 7.17.26 → 7.17.27

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.
Files changed (111) hide show
  1. package/dateTime/index.d.ts +2 -0
  2. package/dateTime/lib/calendar.service.d.ts +6 -1
  3. package/dateTime/lib/datetime.class.d.ts +6 -5
  4. package/dateTime/lib/datetime.module.d.ts +0 -2
  5. package/dateTime/lib/datetime.pipe.d.ts +3 -0
  6. package/dateTime/lib/formatters/datetime-formatter.d.ts +19 -0
  7. package/dateTime/lib/formatters/timeleft-formatter.d.ts +16 -0
  8. package/esm2022/dateTime/index.mjs +3 -1
  9. package/esm2022/dateTime/lib/calendar.service.mjs +17 -9
  10. package/esm2022/dateTime/lib/dateTime.config.mjs +5 -28
  11. package/esm2022/dateTime/lib/datetime.class.mjs +66 -14
  12. package/esm2022/dateTime/lib/datetime.module.mjs +9 -11
  13. package/esm2022/dateTime/lib/datetime.pipe.mjs +5 -7
  14. package/esm2022/dateTime/lib/formatters/datetime-formatter.mjs +30 -0
  15. package/esm2022/dateTime/lib/formatters/timeleft-formatter.mjs +91 -0
  16. package/esm2022/file/lib/file-size-formatter.mjs +2 -2
  17. package/esm2022/file/lib/file.module.mjs +8 -10
  18. package/esm2022/format/index.mjs +3 -2
  19. package/esm2022/format/lib/format.config.mjs +3 -2
  20. package/esm2022/format/lib/format.module.mjs +22 -9
  21. package/esm2022/format/lib/format.pipe.mjs +5 -6
  22. package/esm2022/format/lib/format.service.mjs +57 -12
  23. package/esm2022/format/lib/format.types.mjs +2 -0
  24. package/esm2022/format/lib/formatters/number-formatter.mjs +75 -0
  25. package/esm2022/translation/index.mjs +7 -2
  26. package/esm2022/translation/lib/translation-scope.resolver.mjs +11 -0
  27. package/esm2022/translation/lib/translation.config.mjs +20 -0
  28. package/esm2022/translation/lib/translation.loader.mjs +14 -0
  29. package/esm2022/translation/lib/translation.module.mjs +29 -7
  30. package/esm2022/translation/lib/translation.service.mjs +105 -0
  31. package/esm2022/translation/lib/translation.types.mjs +2 -0
  32. package/esm2022/translation/lib/translator.directive.mjs +28 -0
  33. package/esm2022/translation/lib/translator.pipe.mjs +33 -7
  34. package/esm2022/validation/index.mjs +2 -2
  35. package/esm2022/validation/lib/rules/between-rule.mjs +8 -1
  36. package/esm2022/validation/lib/rules/callback-rule.mjs +8 -1
  37. package/esm2022/validation/lib/rules/equal-rule.mjs +8 -1
  38. package/esm2022/validation/lib/rules/greater-than.mjs +8 -1
  39. package/esm2022/validation/lib/rules/length-rule.mjs +9 -1
  40. package/esm2022/validation/lib/rules/less-than-rule.mjs +8 -1
  41. package/esm2022/validation/lib/rules/maxlength-rule.mjs +8 -1
  42. package/esm2022/validation/lib/rules/minlength-rule.mjs +8 -1
  43. package/esm2022/validation/lib/rules/regex-rule.mjs +13 -2
  44. package/esm2022/validation/lib/rules/required-rule.mjs +13 -3
  45. package/esm2022/validation/lib/validation.config.mjs +3 -4
  46. package/esm2022/validation/lib/validation.module.mjs +38 -12
  47. package/esm2022/validation/lib/validation.service.mjs +30 -16
  48. package/esm2022/validation/lib/validation.types.mjs +3 -0
  49. package/fesm2022/acorex-core-dateTime.mjs +110 -68
  50. package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
  51. package/fesm2022/acorex-core-file.mjs +8 -9
  52. package/fesm2022/acorex-core-file.mjs.map +1 -1
  53. package/fesm2022/acorex-core-format.mjs +147 -55
  54. package/fesm2022/acorex-core-format.mjs.map +1 -1
  55. package/fesm2022/acorex-core-translation.mjs +212 -45
  56. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  57. package/fesm2022/acorex-core-validation.mjs +131 -32
  58. package/fesm2022/acorex-core-validation.mjs.map +1 -1
  59. package/file/lib/file-size-formatter.d.ts +10 -2
  60. package/file/lib/file.module.d.ts +2 -3
  61. package/format/index.d.ts +2 -1
  62. package/format/lib/format.config.d.ts +4 -3
  63. package/format/lib/format.module.d.ts +9 -3
  64. package/format/lib/format.pipe.d.ts +2 -1
  65. package/format/lib/format.service.d.ts +26 -2
  66. package/format/lib/format.types.d.ts +4 -0
  67. package/format/lib/formatters/number-formatter.d.ts +23 -0
  68. package/package.json +1 -7
  69. package/translation/index.d.ts +6 -1
  70. package/translation/lib/translation-scope.resolver.d.ts +2 -0
  71. package/translation/lib/translation.config.d.ts +14 -0
  72. package/translation/lib/translation.loader.d.ts +14 -0
  73. package/translation/lib/translation.module.d.ts +2 -1
  74. package/translation/lib/translation.service.d.ts +26 -0
  75. package/translation/lib/translation.types.d.ts +10 -0
  76. package/translation/lib/translator.directive.d.ts +12 -0
  77. package/translation/lib/translator.pipe.d.ts +12 -4
  78. package/validation/index.d.ts +1 -1
  79. package/validation/lib/rules/between-rule.d.ts +5 -2
  80. package/validation/lib/rules/callback-rule.d.ts +5 -2
  81. package/validation/lib/rules/equal-rule.d.ts +5 -2
  82. package/validation/lib/rules/greater-than.d.ts +5 -2
  83. package/validation/lib/rules/length-rule.d.ts +5 -2
  84. package/validation/lib/rules/less-than-rule.d.ts +5 -2
  85. package/validation/lib/rules/maxlength-rule.d.ts +5 -2
  86. package/validation/lib/rules/minlength-rule.d.ts +5 -2
  87. package/validation/lib/rules/regex-rule.d.ts +6 -2
  88. package/validation/lib/rules/required-rule.d.ts +6 -2
  89. package/validation/lib/validation.config.d.ts +3 -3
  90. package/validation/lib/validation.module.d.ts +10 -4
  91. package/validation/lib/validation.service.d.ts +8 -3
  92. package/validation/lib/{validation.d.ts → validation.types.d.ts} +3 -3
  93. package/dateTime/lib/datetime-formatter.d.ts +0 -15
  94. package/esm2022/dateTime/lib/datetime-formatter.mjs +0 -109
  95. package/esm2022/format/lib/number-formatter.mjs +0 -16
  96. package/esm2022/format/lib/string-formatter.mjs +0 -26
  97. package/esm2022/intl/acorex-core-intl.mjs +0 -5
  98. package/esm2022/intl/index.mjs +0 -3
  99. package/esm2022/intl/lib/numbers/number-format-options.mjs +0 -10
  100. package/esm2022/intl/lib/numbers/numbers-utils.mjs +0 -39
  101. package/esm2022/translation/lib/translator.mjs +0 -42
  102. package/esm2022/validation/lib/validation.mjs +0 -2
  103. package/fesm2022/acorex-core-intl.mjs +0 -54
  104. package/fesm2022/acorex-core-intl.mjs.map +0 -1
  105. package/format/lib/number-formatter.d.ts +0 -5
  106. package/format/lib/string-formatter.d.ts +0 -5
  107. package/intl/README.md +0 -3
  108. package/intl/index.d.ts +0 -2
  109. package/intl/lib/numbers/number-format-options.d.ts +0 -7
  110. package/intl/lib/numbers/numbers-utils.d.ts +0 -3
  111. package/translation/lib/translator.d.ts +0 -11
@@ -1,4 +1,5 @@
1
- export interface AXFormatter {
2
- get name(): string;
3
- format(value: unknown, ...args: unknown[]): string;
1
+ import { AXFormatOptions } from "./format.types";
2
+ export declare abstract class AXFormatter {
3
+ abstract get name(): string;
4
+ abstract format(value: unknown, options?: AXFormatOptions | string): string;
4
5
  }
@@ -3,10 +3,16 @@ import { AXFormatterRegistryService } from './format.service';
3
3
  import { AXFormatter } from './format.config';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./format.pipe";
6
+ export interface AXFormatModuleConfigs {
7
+ formatters: (new () => AXFormatter)[];
8
+ }
6
9
  export declare class AXFormatModule {
7
- static forRoot(config?: {
8
- formatters?: AXFormatter[];
9
- }): ModuleWithProviders<AXFormatModule>;
10
+ private static registry;
11
+ static forRoot(configs?: AXFormatModuleConfigs): ModuleWithProviders<AXFormatModule>;
12
+ static forChild(configs?: AXFormatModuleConfigs): ModuleWithProviders<AXFormatModule>;
13
+ /**
14
+ * @ignore
15
+ */
10
16
  constructor(pluginRegistry: AXFormatterRegistryService);
11
17
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFormatModule, never>;
12
18
  static ɵmod: i0.ɵɵNgModuleDeclaration<AXFormatModule, [typeof i1.AXFormatPipe], never, [typeof i1.AXFormatPipe]>;
@@ -1,8 +1,9 @@
1
1
  import { PipeTransform } from '@angular/core';
2
+ import { AXFormatOptions } from './format.types';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class AXFormatPipe implements PipeTransform {
4
5
  private formatService;
5
- transform(value: unknown, ...args: unknown[]): string;
6
+ transform(value: unknown, name: string, options?: AXFormatOptions | string): string;
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFormatPipe, never>;
7
8
  static ɵpipe: i0.ɵɵPipeDeclaration<AXFormatPipe, "format", false>;
8
9
  }
@@ -1,8 +1,12 @@
1
+ import { Injector } from '@angular/core';
1
2
  import { AXFormatter } from './format.config';
3
+ import { AXFormatOptionsMap } from './format.types';
2
4
  import * as i0 from "@angular/core";
3
5
  export declare class AXFormatterRegistryService {
4
6
  private plugins;
5
- register(...plugin: AXFormatter[]): void;
7
+ private injector;
8
+ constructor(injector: Injector);
9
+ register(...plugins: (new () => AXFormatter)[]): void;
6
10
  get formatters(): AXFormatter[];
7
11
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFormatterRegistryService, never>;
8
12
  static ɵprov: i0.ɵɵInjectableDeclaration<AXFormatterRegistryService>;
@@ -10,7 +14,27 @@ export declare class AXFormatterRegistryService {
10
14
  export declare class AXFormatService {
11
15
  private pluginRegistry;
12
16
  constructor(pluginRegistry: AXFormatterRegistryService);
13
- format(value: unknown, name: string, ...args: unknown[]): string;
17
+ /**
18
+ * Resolves a formatter by its name.
19
+ * @param name The name of the formatter.
20
+ * @returns The formatter if found, otherwise throws an error.
21
+ */
22
+ resolveFormatter(name: string): AXFormatter;
23
+ format<K extends keyof AXFormatOptionsMap>(value: unknown, name: K, options?: AXFormatOptionsMap[K]): string;
24
+ format(value: unknown): AXFormatFluent;
14
25
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFormatService, never>;
15
26
  static ɵprov: i0.ɵɵInjectableDeclaration<AXFormatService>;
16
27
  }
28
+ declare class AXFormatFluent {
29
+ private formatService;
30
+ private initialValue;
31
+ constructor(formatService: AXFormatService, initialValue: unknown);
32
+ /**
33
+ * Formats the value using the specified formatter and options.
34
+ * @param formatter The name of the formatter to use.
35
+ * @param options The options to pass to the formatter.
36
+ * @returns The formatted string.
37
+ */
38
+ to<K extends keyof AXFormatOptionsMap>(formatter: K, options?: AXFormatOptionsMap[K]): string;
39
+ }
40
+ export {};
@@ -0,0 +1,4 @@
1
+ export interface AXFormatOptions {
2
+ }
3
+ export interface AXFormatOptionsMap {
4
+ }
@@ -0,0 +1,23 @@
1
+ import { AXFormatter } from '../format.config';
2
+ import { AXFormatOptions } from '../format.types';
3
+ import * as i0 from "@angular/core";
4
+ export interface AXNumberFormatterOptions extends AXFormatOptions {
5
+ decimalPlaces?: number;
6
+ thousandSeparator?: string;
7
+ decimalSeparator?: string;
8
+ zeroPadLength?: number;
9
+ locale?: string;
10
+ }
11
+ declare module '../format.types' {
12
+ interface AXFormatOptionsMap {
13
+ 'number': AXNumberFormatterOptions;
14
+ }
15
+ }
16
+ export declare class AXNumberFormatter implements AXFormatter {
17
+ private separatorsCache;
18
+ get name(): string;
19
+ format(value: number, options: AXNumberFormatterOptions): string;
20
+ private getLocaleSeparators;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXNumberFormatter, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXNumberFormatter>;
23
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/core",
3
- "version": "7.17.26",
3
+ "version": "7.17.27",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": ">=17.0.3",
@@ -57,12 +57,6 @@
57
57
  "esm": "./esm2022/image/acorex-core-image.mjs",
58
58
  "default": "./fesm2022/acorex-core-image.mjs"
59
59
  },
60
- "./intl": {
61
- "types": "./intl/index.d.ts",
62
- "esm2022": "./esm2022/intl/acorex-core-intl.mjs",
63
- "esm": "./esm2022/intl/acorex-core-intl.mjs",
64
- "default": "./fesm2022/acorex-core-intl.mjs"
65
- },
66
60
  "./memorize": {
67
61
  "types": "./memorize/index.d.ts",
68
62
  "esm2022": "./esm2022/memorize/acorex-core-memorize.mjs",
@@ -1,3 +1,8 @@
1
+ export * from './lib/translation.config';
2
+ export * from './lib/translation.loader';
1
3
  export * from './lib/translation.module';
2
- export * from './lib/translator';
4
+ export * from './lib/translation.types';
5
+ export * from './lib/translation-scope.resolver';
6
+ export * from './lib/translation.service';
7
+ export * from './lib/translator.directive';
3
8
  export * from './lib/translator.pipe';
@@ -0,0 +1,2 @@
1
+ import { ResolveFn } from "@angular/router";
2
+ export declare const loadTranslationScope: ResolveFn<unknown>;
@@ -0,0 +1,14 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ import { AXTranslateLang, AXTranslateScope } from "./translation.types";
3
+ export interface AXTranslationConfig {
4
+ defaultLang: AXTranslateLang;
5
+ defaultScope: AXTranslateScope;
6
+ preloadLangs?: AXTranslateLang[];
7
+ preloadScopes?: AXTranslateLang[];
8
+ availableLangs?: AXTranslateLang[];
9
+ scopeResolverKey: string;
10
+ }
11
+ export declare const AX_TRANSLATION_CONFIG: InjectionToken<AXTranslationConfig>;
12
+ export declare const AXTranslationDefaultConfig: AXTranslationConfig;
13
+ export type AXPartialTranslationConfig = Partial<AXTranslationConfig>;
14
+ export declare function translationConfig(config?: AXPartialTranslationConfig): AXTranslationConfig;
@@ -0,0 +1,14 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ import { AXTranslateLang, AXTranslateScope, AXTranslation } from "./translation.types";
3
+ import { Observable } from "rxjs";
4
+ export interface AXTranslationLoaderOptions {
5
+ lang: AXTranslateLang;
6
+ scope?: AXTranslateScope;
7
+ }
8
+ export interface AXTranslationLoader {
9
+ getTranslation(options: AXTranslationLoaderOptions): Observable<AXTranslation>;
10
+ }
11
+ export declare class AXTranslationLoaderDefault implements AXTranslationLoader {
12
+ getTranslation(options: AXTranslationLoaderOptions): Observable<AXTranslation>;
13
+ }
14
+ export declare const AX_TRANSLATION_LOADER: InjectionToken<AXTranslationLoader>;
@@ -1,7 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./translator.pipe";
3
+ import * as i2 from "./translator.directive";
3
4
  export declare class AXTranslationModule {
4
5
  static ɵfac: i0.ɵɵFactoryDeclaration<AXTranslationModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXTranslationModule, [typeof i1.AXTranslatorPipe], never, [typeof i1.AXTranslatorPipe]>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXTranslationModule, [typeof i1.AXTranslatorPipe, typeof i2.AXTranslatorDirective], never, [typeof i1.AXTranslatorPipe, typeof i2.AXTranslatorDirective]>;
6
7
  static ɵinj: i0.ɵɵInjectorDeclaration<AXTranslationModule>;
7
8
  }
@@ -0,0 +1,26 @@
1
+ import { Observable } from 'rxjs';
2
+ import { AXTranslateOptions } from './translation.types';
3
+ import * as i0 from "@angular/core";
4
+ export declare function translateSync(key: string, options?: AXTranslateOptions): string;
5
+ export declare class AXTranslationService {
6
+ private loader;
7
+ private config;
8
+ private translationCache;
9
+ private activeLang;
10
+ langChanges$: Observable<string>;
11
+ /**
12
+ * @ignore
13
+ */
14
+ constructor();
15
+ loadLanguagesAndScopes(languages: string[], scopes: string[]): Observable<unknown>;
16
+ private cacheTranslations;
17
+ getDefaultLang(): string;
18
+ getActiveLang(): string;
19
+ setActiveLang(lang: string): void;
20
+ private load;
21
+ private getTranslation;
22
+ translate(key: string, options?: AXTranslateOptions): Observable<string>;
23
+ translateSync(key: string, options?: AXTranslateOptions): string;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXTranslationService, never>;
25
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXTranslationService>;
26
+ }
@@ -0,0 +1,10 @@
1
+ export type AXTranslateParams<T = unknown> = Record<string, T>;
2
+ export type AXTranslateHashMap<T = unknown> = Record<string, T>;
3
+ export type AXTranslation = Record<string, string>;
4
+ export type AXTranslateLang = string;
5
+ export type AXTranslateScope = string;
6
+ export interface AXTranslateOptions {
7
+ lang?: AXTranslateLang;
8
+ scope?: AXTranslateScope;
9
+ params?: AXTranslateParams;
10
+ }
@@ -0,0 +1,12 @@
1
+ import { OnInit, TemplateRef, ViewContainerRef } from "@angular/core";
2
+ import { AXTranslationService } from "./translation.service";
3
+ import * as i0 from "@angular/core";
4
+ export declare class AXTranslatorDirective implements OnInit {
5
+ private templateRef;
6
+ private viewContainer;
7
+ private translationService;
8
+ constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, translationService: AXTranslationService);
9
+ ngOnInit(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXTranslatorDirective, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AXTranslatorDirective, "[translate]", never, {}, {}, never, never, false, never>;
12
+ }
@@ -1,7 +1,15 @@
1
- import { PipeTransform } from '@angular/core';
1
+ import { OnDestroy, PipeTransform } from '@angular/core';
2
+ import { AXTranslateOptions } from './translation.types';
2
3
  import * as i0 from "@angular/core";
3
- export declare class AXTranslatorPipe implements PipeTransform {
4
- transform(value: string, arg1?: object | string, arg2?: object): string;
4
+ export declare class AXTranslatorPipe implements PipeTransform, OnDestroy {
5
+ private service;
6
+ private cdr;
7
+ private value;
8
+ private lastKey;
9
+ private subscription;
10
+ transform(key: string, options?: AXTranslateOptions): string;
11
+ ngOnDestroy(): void;
12
+ private dispose;
5
13
  static ɵfac: i0.ɵɵFactoryDeclaration<AXTranslatorPipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<AXTranslatorPipe, "trans", false>;
14
+ static ɵpipe: i0.ɵɵPipeDeclaration<AXTranslatorPipe, "translate", false>;
7
15
  }
@@ -1,4 +1,4 @@
1
- export * from './lib/validation';
1
+ export * from './lib/validation.types';
2
2
  export * from './lib/rules/regex-rule';
3
3
  export * from './lib/rules/required-rule';
4
4
  export * from './lib/rules/callback-rule';
@@ -1,10 +1,11 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation";
1
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation.types";
2
+ import * as i0 from "@angular/core";
2
3
  export interface AXBetweenValidationRuleOptions<T = number | Date> extends AXValidationRuleOptions {
3
4
  lowerValue: T;
4
5
  upperValue: T;
5
6
  inclusive?: boolean;
6
7
  }
7
- declare module '../validation' {
8
+ declare module '../validation.types' {
8
9
  interface AXValidationRuleOptionsMap {
9
10
  'between': AXBetweenValidationRuleOptions;
10
11
  }
@@ -12,4 +13,6 @@ declare module '../validation' {
12
13
  export declare class AXBetweenValidationRule<T = number | Date> implements AXValidationRule {
13
14
  get name(): string;
14
15
  validate(value: T, options: AXBetweenValidationRuleOptions<T>): AXValidationRuleResult;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXBetweenValidationRule<any>, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXBetweenValidationRule<any>>;
15
18
  }
@@ -1,4 +1,5 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation";
1
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation.types";
2
+ import * as i0 from "@angular/core";
2
3
  export type AXCallbackValidation<T> = (value: T, options?: AXCallbackValidationRuleOptions<T>) => Promise<{
3
4
  result: boolean;
4
5
  message?: string;
@@ -9,7 +10,7 @@ export type AXCallbackValidation<T> = (value: T, options?: AXCallbackValidationR
9
10
  export interface AXCallbackValidationRuleOptions<T> extends AXValidationRuleOptions {
10
11
  validate: AXCallbackValidation<T>;
11
12
  }
12
- declare module '../validation' {
13
+ declare module '../validation.types' {
13
14
  interface AXValidationRuleOptionsMap {
14
15
  'callback': AXCallbackValidationRuleOptions<unknown>;
15
16
  }
@@ -17,4 +18,6 @@ declare module '../validation' {
17
18
  export declare class AXCallbackValidationRule<T> implements AXValidationRule {
18
19
  get name(): string;
19
20
  validate(value: T, options: AXCallbackValidationRuleOptions<T>): AXValidationRuleResult | Promise<AXValidationRuleResult>;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXCallbackValidationRule<any>, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXCallbackValidationRule<any>>;
20
23
  }
@@ -1,9 +1,10 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation";
1
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation.types";
2
+ import * as i0 from "@angular/core";
2
3
  export interface AXEqualValidationRuleOptions extends AXValidationRuleOptions {
3
4
  value: any;
4
5
  not?: boolean;
5
6
  }
6
- declare module '../validation' {
7
+ declare module '../validation.types' {
7
8
  interface AXValidationRuleOptionsMap {
8
9
  'equal': AXEqualValidationRuleOptions;
9
10
  }
@@ -11,4 +12,6 @@ declare module '../validation' {
11
12
  export declare class AXEqualValidationRule implements AXValidationRule {
12
13
  get name(): string;
13
14
  validate(value: any, options: AXEqualValidationRuleOptions): AXValidationRuleResult;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXEqualValidationRule, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXEqualValidationRule>;
14
17
  }
@@ -1,9 +1,10 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation";
1
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation.types";
2
+ import * as i0 from "@angular/core";
2
3
  export interface AXGreaterThanValidationRuleOptions extends AXValidationRuleOptions {
3
4
  value: number;
4
5
  inclusive?: boolean;
5
6
  }
6
- declare module '../validation' {
7
+ declare module '../validation.types' {
7
8
  interface AXValidationRuleOptionsMap {
8
9
  'greaterThan': AXGreaterThanValidationRuleOptions;
9
10
  }
@@ -11,4 +12,6 @@ declare module '../validation' {
11
12
  export declare class AXGreaterThanValidationRule implements AXValidationRule {
12
13
  get name(): string;
13
14
  validate(value: number, options: AXGreaterThanValidationRuleOptions): AXValidationRuleResult;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXGreaterThanValidationRule, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXGreaterThanValidationRule>;
14
17
  }
@@ -1,9 +1,10 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation";
1
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation.types";
2
+ import * as i0 from "@angular/core";
2
3
  export interface AXLengthValidationRuleOptions extends AXValidationRuleOptions {
3
4
  min: number;
4
5
  max: number;
5
6
  }
6
- declare module '../validation' {
7
+ declare module '../validation.types' {
7
8
  interface AXValidationRuleOptionsMap {
8
9
  'length': AXLengthValidationRuleOptions;
9
10
  }
@@ -11,4 +12,6 @@ declare module '../validation' {
11
12
  export declare class AXLengthValidationRule implements AXValidationRule {
12
13
  get name(): string;
13
14
  validate(value: string, options: AXLengthValidationRuleOptions): AXValidationRuleResult;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXLengthValidationRule, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXLengthValidationRule>;
14
17
  }
@@ -1,9 +1,10 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation";
1
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation.types";
2
+ import * as i0 from "@angular/core";
2
3
  export interface AXLessThanValidationRuleOptions extends AXValidationRuleOptions {
3
4
  value: number;
4
5
  inclusive?: boolean;
5
6
  }
6
- declare module '../validation' {
7
+ declare module '../validation.types' {
7
8
  interface AXValidationRuleOptionsMap {
8
9
  'lessThan': AXLessThanValidationRuleOptions;
9
10
  }
@@ -11,4 +12,6 @@ declare module '../validation' {
11
12
  export declare class AXLessThanValidationRule implements AXValidationRule {
12
13
  get name(): string;
13
14
  validate(value: number, options: AXLessThanValidationRuleOptions): AXValidationRuleResult;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXLessThanValidationRule, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXLessThanValidationRule>;
14
17
  }
@@ -1,8 +1,9 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation";
1
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation.types";
2
+ import * as i0 from "@angular/core";
2
3
  export interface AXMaxLengthValidationRuleOptions extends AXValidationRuleOptions {
3
4
  value: number;
4
5
  }
5
- declare module '../validation' {
6
+ declare module '../validation.types' {
6
7
  interface AXValidationRuleOptionsMap {
7
8
  'maxLength': AXMaxLengthValidationRuleOptions;
8
9
  }
@@ -10,4 +11,6 @@ declare module '../validation' {
10
11
  export declare class AXMaxLengthValidationRule implements AXValidationRule {
11
12
  get name(): string;
12
13
  validate(value: string, options: AXMaxLengthValidationRuleOptions): AXValidationRuleResult;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMaxLengthValidationRule, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMaxLengthValidationRule>;
13
16
  }
@@ -1,8 +1,9 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation";
1
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation.types";
2
+ import * as i0 from "@angular/core";
2
3
  export interface AXMinLengthValidationRuleOptions extends AXValidationRuleOptions {
3
4
  value: number;
4
5
  }
5
- declare module '../validation' {
6
+ declare module '../validation.types' {
6
7
  interface AXValidationRuleOptionsMap {
7
8
  'minLength': AXMinLengthValidationRuleOptions;
8
9
  }
@@ -10,4 +11,6 @@ declare module '../validation' {
10
11
  export declare class AXMinLengthValidationRule implements AXValidationRule {
11
12
  get name(): string;
12
13
  validate(value: string, options: AXMinLengthValidationRuleOptions): AXValidationRuleResult;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMinLengthValidationRule, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMinLengthValidationRule>;
13
16
  }
@@ -1,13 +1,17 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation";
1
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation.types";
2
+ import * as i0 from "@angular/core";
2
3
  export interface AXRegexValidationRuleOptions extends AXValidationRuleOptions {
3
4
  pattern: string | RegExp;
4
5
  }
5
- declare module '../validation' {
6
+ declare module '../validation.types' {
6
7
  interface AXValidationRuleOptionsMap {
7
8
  'regex': AXRegexValidationRuleOptions;
8
9
  }
9
10
  }
10
11
  export declare class AXRegexValidationRule implements AXValidationRule {
12
+ private traslationService;
11
13
  get name(): string;
12
14
  validate(value: string, options: AXRegexValidationRuleOptions): AXValidationRuleResult;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXRegexValidationRule, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXRegexValidationRule>;
13
17
  }
@@ -1,12 +1,16 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation";
1
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleResult } from "../validation.types";
2
+ import * as i0 from "@angular/core";
2
3
  export interface AXRequiredValidationRuleOptions extends AXValidationRuleOptions {
3
4
  }
4
- declare module '../validation' {
5
+ declare module '../validation.types' {
5
6
  interface AXValidationRuleOptionsMap {
6
7
  'required': AXRequiredValidationRuleOptions;
7
8
  }
8
9
  }
9
10
  export declare class AXRequiredValidationRule implements AXValidationRule {
11
+ private traslationService;
10
12
  get name(): string;
11
13
  validate(value?: unknown, options?: AXRequiredValidationRuleOptions): AXValidationRuleResult;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXRequiredValidationRule, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXRequiredValidationRule>;
12
16
  }
@@ -1,5 +1,5 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { AXValidationRuleOptions, AXValidationRuleOptionsMap } from './validation';
2
+ import { AXValidationRuleOptions, AXValidationRuleOptionsMap } from './validation.types';
3
3
  export type AXValidationConfigRules = {
4
4
  [key: string]: {
5
5
  rule: keyof AXValidationRuleOptionsMap;
@@ -11,5 +11,5 @@ export interface AXValidationConfig {
11
11
  }
12
12
  export declare const AX_VALIDATION_CONFIG: InjectionToken<AXValidationConfig>;
13
13
  export declare const AXValidationDefaultConfig: AXValidationConfig;
14
- export type PartialFormConfig = Partial<AXValidationConfig>;
15
- export declare function validationConfig(config?: PartialFormConfig): AXValidationConfig;
14
+ export type AXPartialValidationConfig = Partial<AXValidationConfig>;
15
+ export declare function validationConfig(config?: AXPartialValidationConfig): AXValidationConfig;
@@ -1,11 +1,17 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
2
  import { AXValidationRegistryService } from './validation.service';
3
- import { AXValidationRule } from './validation';
3
+ import { AXValidationRule } from './validation.types';
4
4
  import * as i0 from "@angular/core";
5
+ export interface AXValidationModuleConfigs {
6
+ rules: (new () => AXValidationRule)[];
7
+ }
5
8
  export declare class AXValidationModule {
6
- static forRoot(config?: {
7
- validators?: AXValidationRule[];
8
- }): ModuleWithProviders<AXValidationModule>;
9
+ private static registry;
10
+ static forRoot(configs?: AXValidationModuleConfigs): ModuleWithProviders<AXValidationModule>;
11
+ static forChild(configs?: AXValidationModuleConfigs): ModuleWithProviders<AXValidationModule>;
12
+ /**
13
+ * @ignore
14
+ */
9
15
  constructor(pluginRegistry: AXValidationRegistryService);
10
16
  static ɵfac: i0.ɵɵFactoryDeclaration<AXValidationModule, never>;
11
17
  static ɵmod: i0.ɵɵNgModuleDeclaration<AXValidationModule, never, never, never>;
@@ -1,18 +1,23 @@
1
- import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleOptionsMap, AXValidationRuleResult, AXValidationSummary } from "./validation";
1
+ import { Injector } from "@angular/core";
2
+ import { AXValidationRule, AXValidationRuleOptions, AXValidationRuleOptionsMap, AXValidationRuleResult, AXValidationSummary } from "./validation.types";
2
3
  import { AXValidationConfigRules } from "./validation.config";
4
+ import { AXTranslationService } from "@acorex/core/translation";
3
5
  import * as i0 from "@angular/core";
4
6
  export declare class AXValidationRegistryService {
5
7
  private plugins;
6
8
  private configs;
7
9
  get customRules(): AXValidationConfigRules;
8
- register(...plugin: AXValidationRule[]): void;
10
+ private injector;
11
+ constructor(injector: Injector);
12
+ register(...plugins: (new () => AXValidationRule)[]): void;
9
13
  get(ruleName: string): AXValidationRule | undefined;
10
14
  static ɵfac: i0.ɵɵFactoryDeclaration<AXValidationRegistryService, never>;
11
15
  static ɵprov: i0.ɵɵInjectableDeclaration<AXValidationRegistryService>;
12
16
  }
13
17
  export declare class AXValidationService {
14
18
  private pluginRegistry;
15
- constructor(pluginRegistry: AXValidationRegistryService);
19
+ private translationService;
20
+ constructor(pluginRegistry: AXValidationRegistryService, translationService: AXTranslationService);
16
21
  validate(ruleName: string, value: unknown, options?: AXValidationRuleOptions): AXValidationRuleResult | Promise<AXValidationRuleResult>;
17
22
  ruleFor(value: unknown): AXValidationRuleChain;
18
23
  static ɵfac: i0.ɵɵFactoryDeclaration<AXValidationService, never>;
@@ -4,9 +4,9 @@ export interface AXValidationRuleOptions {
4
4
  }
5
5
  export interface AXValidationRuleOptionsMap {
6
6
  }
7
- export interface AXValidationRule {
8
- get name(): string;
9
- validate(value: unknown, options?: AXValidationRuleOptions): AXValidationRuleResult | Promise<AXValidationRuleResult>;
7
+ export declare abstract class AXValidationRule {
8
+ abstract get name(): string;
9
+ abstract validate(value: unknown, options?: AXValidationRuleOptions): AXValidationRuleResult | Promise<AXValidationRuleResult>;
10
10
  }
11
11
  export interface AXValidationRuleResult {
12
12
  rule: string;
@@ -1,15 +0,0 @@
1
- import { AXFormatter } from '@acorex/core/format';
2
- import * as i0 from "@angular/core";
3
- export declare class AXDateTimeFormatter implements AXFormatter {
4
- private calendarService;
5
- get name(): string;
6
- format(value: unknown, ...args: unknown[]): string;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<AXDateTimeFormatter, never>;
8
- static ɵprov: i0.ɵɵInjectableDeclaration<AXDateTimeFormatter>;
9
- }
10
- export declare class AXTimeLeftFormatter implements AXFormatter {
11
- get name(): string;
12
- format(value: unknown, ...args: unknown[]): string;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<AXTimeLeftFormatter, never>;
14
- static ɵprov: i0.ɵɵInjectableDeclaration<AXTimeLeftFormatter>;
15
- }