ngx-mask 16.2.8 → 16.2.9

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.
@@ -21,6 +21,8 @@ export declare class NgxMaskApplierService {
21
21
  leadZeroDateTime: IConfig['leadZeroDateTime'];
22
22
  leadZero: IConfig['leadZero'];
23
23
  apm: IConfig['apm'];
24
+ inputTransformFn: IConfig['inputTransformFn'];
25
+ outputTransformFn: IConfig['outputTransformFn'];
24
26
  private _shift;
25
27
  maskExpression: string;
26
28
  actualValue: string;
@@ -1,4 +1,10 @@
1
1
  import { EventEmitter, InjectionToken } from '@angular/core';
2
+ export interface InputTransformFn {
3
+ (value: unknown): string | number;
4
+ }
5
+ export interface OutputTransformFn {
6
+ (value: string | number | undefined | null): unknown;
7
+ }
2
8
  export interface IConfig {
3
9
  suffix: string;
4
10
  prefix: string;
@@ -19,6 +25,8 @@ export interface IConfig {
19
25
  leadZeroDateTime: boolean;
20
26
  leadZero: boolean;
21
27
  triggerOnMaskChange: boolean;
28
+ inputTransformFn: InputTransformFn;
29
+ outputTransformFn: OutputTransformFn;
22
30
  maskFilled: EventEmitter<void>;
23
31
  patterns: {
24
32
  [character: string]: {
@@ -26,6 +26,8 @@ export declare class NgxMaskDirective implements ControlValueAccessor, OnChanges
26
26
  leadZero: IConfig['leadZero'] | null;
27
27
  triggerOnMaskChange: IConfig['triggerOnMaskChange'] | null;
28
28
  apm: IConfig['apm'] | null;
29
+ inputTransformFn: IConfig['inputTransformFn'] | null;
30
+ outputTransformFn: IConfig['outputTransformFn'] | null;
29
31
  maskFilled: IConfig['maskFilled'];
30
32
  private _maskValue;
31
33
  private _inputValue;
@@ -51,10 +53,7 @@ export declare class NgxMaskDirective implements ControlValueAccessor, OnChanges
51
53
  onClick(e: MouseEvent | CustomKeyboardEvent): void;
52
54
  onKeyDown(e: CustomKeyboardEvent): void;
53
55
  /** It writes the value in the input */
54
- writeValue(inputValue: string | number | {
55
- value: string | number;
56
- disable?: boolean;
57
- }): Promise<void>;
56
+ writeValue(controlValue: unknown): Promise<void>;
58
57
  registerOnChange(fn: typeof this.onChange): void;
59
58
  registerOnTouched(fn: typeof this.onTouch): void;
60
59
  private _getActiveElement;
@@ -67,5 +66,5 @@ export declare class NgxMaskDirective implements ControlValueAccessor, OnChanges
67
66
  private _createValidationError;
68
67
  private _setMask;
69
68
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxMaskDirective, never>;
70
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgxMaskDirective, "input[mask], textarea[mask]", ["mask", "ngxMask"], { "maskExpression": { "alias": "mask"; "required": false; }; "specialCharacters": { "alias": "specialCharacters"; "required": false; }; "patterns": { "alias": "patterns"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "suffix": { "alias": "suffix"; "required": false; }; "thousandSeparator": { "alias": "thousandSeparator"; "required": false; }; "decimalMarker": { "alias": "decimalMarker"; "required": false; }; "dropSpecialCharacters": { "alias": "dropSpecialCharacters"; "required": false; }; "hiddenInput": { "alias": "hiddenInput"; "required": false; }; "showMaskTyped": { "alias": "showMaskTyped"; "required": false; }; "placeHolderCharacter": { "alias": "placeHolderCharacter"; "required": false; }; "shownMaskExpression": { "alias": "shownMaskExpression"; "required": false; }; "showTemplate": { "alias": "showTemplate"; "required": false; }; "clearIfNotMatch": { "alias": "clearIfNotMatch"; "required": false; }; "validation": { "alias": "validation"; "required": false; }; "separatorLimit": { "alias": "separatorLimit"; "required": false; }; "allowNegativeNumbers": { "alias": "allowNegativeNumbers"; "required": false; }; "leadZeroDateTime": { "alias": "leadZeroDateTime"; "required": false; }; "leadZero": { "alias": "leadZero"; "required": false; }; "triggerOnMaskChange": { "alias": "triggerOnMaskChange"; "required": false; }; "apm": { "alias": "apm"; "required": false; }; }, { "maskFilled": "maskFilled"; }, never, never, true, never>;
69
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgxMaskDirective, "input[mask], textarea[mask]", ["mask", "ngxMask"], { "maskExpression": { "alias": "mask"; "required": false; }; "specialCharacters": { "alias": "specialCharacters"; "required": false; }; "patterns": { "alias": "patterns"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "suffix": { "alias": "suffix"; "required": false; }; "thousandSeparator": { "alias": "thousandSeparator"; "required": false; }; "decimalMarker": { "alias": "decimalMarker"; "required": false; }; "dropSpecialCharacters": { "alias": "dropSpecialCharacters"; "required": false; }; "hiddenInput": { "alias": "hiddenInput"; "required": false; }; "showMaskTyped": { "alias": "showMaskTyped"; "required": false; }; "placeHolderCharacter": { "alias": "placeHolderCharacter"; "required": false; }; "shownMaskExpression": { "alias": "shownMaskExpression"; "required": false; }; "showTemplate": { "alias": "showTemplate"; "required": false; }; "clearIfNotMatch": { "alias": "clearIfNotMatch"; "required": false; }; "validation": { "alias": "validation"; "required": false; }; "separatorLimit": { "alias": "separatorLimit"; "required": false; }; "allowNegativeNumbers": { "alias": "allowNegativeNumbers"; "required": false; }; "leadZeroDateTime": { "alias": "leadZeroDateTime"; "required": false; }; "leadZero": { "alias": "leadZero"; "required": false; }; "triggerOnMaskChange": { "alias": "triggerOnMaskChange"; "required": false; }; "apm": { "alias": "apm"; "required": false; }; "inputTransformFn": { "alias": "inputTransformFn"; "required": false; }; "outputTransformFn": { "alias": "outputTransformFn"; "required": false; }; }, { "maskFilled": "maskFilled"; }, never, never, true, never>;
71
70
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-mask",
3
- "version": "16.2.8",
3
+ "version": "16.2.9",
4
4
  "description": "awesome ngx mask",
5
5
  "keywords": [
6
6
  "ng2-mask",