@mobx-ecosystem/mobx-form 2.3.24 → 2.4.0

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.
@@ -0,0 +1,24 @@
1
+ import { IField, IFormable } from './types';
2
+ export declare class CombinedFormFieldService<T extends IFormable = IFormable> implements IField {
3
+ validate?(): Promise<void>;
4
+ private _touched;
5
+ private _disabled;
6
+ private _error?;
7
+ private _initValue;
8
+ private _value;
9
+ constructor(initValue?: T[]);
10
+ get initValue(): T[];
11
+ set initValue(_initValue: T[]);
12
+ get value(): T[];
13
+ set value(array: T[]);
14
+ get disabled(): boolean;
15
+ set disabled(disabled: boolean);
16
+ get error(): string | undefined;
17
+ set error(error: string | undefined);
18
+ get isValid(): boolean;
19
+ get isTouched(): boolean;
20
+ get isInit(): boolean;
21
+ add: (value: T) => void;
22
+ removeByIndex: (index: number) => void;
23
+ _validate: () => void;
24
+ }
@@ -1,14 +1,15 @@
1
+ import { IField } from './types';
1
2
  type FieldOptionsType = {
2
3
  onError?: boolean;
3
4
  };
4
5
  type Nullable<T> = T | null;
5
- export declare class FieldService<T> {
6
+ export declare class FieldService<T> implements IField {
6
7
  validate?(): Promise<void>;
7
8
  _serviceType: string;
8
- _initValue?: Nullable<T>;
9
- _value?: Nullable<T>;
10
- _error?: string;
11
- _disabled: boolean;
9
+ private _initValue?;
10
+ private _value?;
11
+ private _error?;
12
+ private _disabled;
12
13
  options?: FieldOptionsType;
13
14
  constructor(initValue?: T, options?: FieldOptionsType);
14
15
  get initValue(): Nullable<T> | undefined;
@@ -42,11 +42,11 @@ export declare class FormService<T extends Record<string, FieldService<unknown>
42
42
  /**
43
43
  * Set object to init values by form service keys
44
44
  */
45
- setInitValues: (values: FormValues<T>) => void;
45
+ setInitValues: (values: Partial<FormValues<T>>) => void;
46
46
  /**
47
47
  * Set object to values by form service keys
48
48
  */
49
- setValues: (values: FormValues<T>) => void;
49
+ setValues: (values: Partial<FormValues<T>>) => void;
50
50
  /**
51
51
  * Set field errors to undefined
52
52
  */
@@ -55,7 +55,7 @@ export declare class FormService<T extends Record<string, FieldService<unknown>
55
55
  * Set errors for fields
56
56
  * @param errors object of string which provides errors for fields
57
57
  */
58
- setErrors(error: FormErrors<T>): void;
58
+ setErrors(error: Partial<FormErrors<T>>): void;
59
59
  /**
60
60
  * Set field values to init values
61
61
  */
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{isEqual as e}from"lodash";import{makeAutoObservable as t}from"mobx";var i=function(){return i=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},i.apply(this,arguments)};function r(e,t,i,r){return new(i||(i=Promise))((function(n,a){function o(e){try{u(r.next(e))}catch(e){a(e)}}function l(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,l)}u((r=r.apply(e,t||[])).next())}))}function n(e,t){var i,r,n,a,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return a={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(l){return function(u){return function(l){if(i)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(i=1,r&&(n=2&l[0]?r.return:l[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,l[1])).done)return n;switch(r=0,n&&(l=[2&l[0],n.value]),l[0]){case 0:case 1:n=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(n=o.trys,(n=n.length>0&&n[n.length-1])||6!==l[0]&&2!==l[0])){o=0;continue}if(3===l[0]&&(!n||l[1]>n[0]&&l[1]<n[3])){o.label=l[1];break}if(6===l[0]&&o.label<n[1]){o.label=n[1],n=l;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(l);break}n[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],r=0}finally{i=n=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var a,o=function(){function r(e,i){var r=this;Object.defineProperty(this,"_serviceType",{enumerable:!0,configurable:!0,writable:!0,value:"field-service"}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){r.value=t,r.validate&&r.validate()}}),t(this),this.initValue=e,this.options=i}return Object.defineProperty(r.prototype,"initValue",{get:function(){return this._initValue},set:function(e){this._initValue=e,this._value=e,this.validate&&this.validate()},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"value",{get:function(){return this._value},set:function(e){this._value=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"error",{get:function(){return this._error},set:function(e){this._error=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isValid",{get:function(){return!this._error},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isInit",{get:function(){return null!==(t=this.value)&&"object"==typeof t?e(this.value,this._initValue):this._value===this._initValue;var t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"props",{get:function(){var e,t=this,r={value:this.value,error:this.error,disabled:this.disabled};return(null===(e=this.options)||void 0===e?void 0:e.onError)&&(r=i(i({},r),{onError:function(e){t.error=t.error||(null==e?void 0:e.toString())}})),i(i({},r),{onChange:this.onChange})},enumerable:!1,configurable:!0}),r}(),l=function(e){a=e.validation.validate},u=function(){if(!a)throw new Error("You must define configureForm to configure mobx-form")},s=function(){function e(e,i){var l=this;Object.defineProperty(this,"fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validationSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:function(){return r(l,void 0,void 0,(function(){var e,t;return n(this,(function(i){switch(i.label){case 0:return e=this.getValues(),[4,null==a?void 0:a(e,this.validationSchema)];case 1:return(t=i.sent())&&0!=Object.keys(t||[]).length?this.setErrors(t):this.resetErrors(),[2]}}))}))}}),Object.defineProperty(this,"setValidationSchema",{enumerable:!0,configurable:!0,writable:!0,value:function(e){l.validationSchema=e}}),Object.defineProperty(this,"getValues",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e={},t=0,i=l.keys;t<i.length;t++){var r=i[t];e[r]=l.getValue(l.fields[r])}return e}}),Object.defineProperty(this,"getValue",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(e instanceof o)return null==e?void 0:e.value;if("object"==typeof e){for(var t={},i=0,r=Object.keys(e);i<r.length;i++){var n=r[i];t[n]=l.getValue(null==e?void 0:e[n])}return t}return e}}),Object.defineProperty(this,"setFieldsByThis",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t={};Object.keys(e).forEach((function(i){e[i]&&e[i]instanceof o&&(t[i]=e[i])})),l.fields=t,l.setValidationToFields()}}),Object.defineProperty(this,"bypassFields",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,i){e instanceof o?t(e,i):"object"==typeof e&&Object.keys(e||{}).forEach((function(r){l.bypassFields(null==e?void 0:e[r],t,null==i?void 0:i[r])}))}}),Object.defineProperty(this,"setValidationToFields",{enumerable:!0,configurable:!0,writable:!0,value:function(){l.bypassFields(l.fields,(function(e){return e.validate=l.validate}))}}),Object.defineProperty(this,"setInitValues",{enumerable:!0,configurable:!0,writable:!0,value:function(e){l.bypassFields(l.fields,(function(e,t){return e.initValue=t}),e)}}),Object.defineProperty(this,"setValues",{enumerable:!0,configurable:!0,writable:!0,value:function(e){l.bypassFields(l.fields,(function(e,t){return e.value=t}),e)}}),Object.defineProperty(this,"resetErrors",{enumerable:!0,configurable:!0,writable:!0,value:function(){l.bypassFields(l.fields,(function(e){return e.error=void 0}))}}),Object.defineProperty(this,"setValuesAsInit",{enumerable:!0,configurable:!0,writable:!0,value:function(){l.bypassFields(l.fields,(function(e){return e.initValue=e.value}))}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:function(){l.bypassFields(l.fields,(function(e){return e.value=e.initValue})),l.validate()}}),Object.defineProperty(this,"disable",{enumerable:!0,configurable:!0,writable:!0,value:function(){l.bypassFields(l.fields,(function(e){return e.disabled=!0}))}}),Object.defineProperty(this,"enable",{enumerable:!0,configurable:!0,writable:!0,value:function(){l.bypassFields(l.fields,(function(e){return e.disabled=!1}))}}),u(),t(this),this.fields=e,this.validationSchema=i,this.setValidationToFields()}return Object.defineProperty(e.prototype,"keys",{get:function(){return Object.keys(this.fields)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isValid",{get:function(){var e=!0;return this.bypassFields(this.fields,(function(t){t.isValid||(e=!1)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isTouched",{get:function(){var e=!1;return this.bypassFields(this.fields,(function(t){t.isInit||(e=!0)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"canBeSubmitted",{get:function(){return this.isTouched&&this.isValid},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"setErrors",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.bypassFields(this.fields,(function(e,t){e.error=t}),e)}}),e}();export{o as FieldService,s as FormService,u as _checkConfiguration,l as configureForm,a as validate};
1
+ import{isEqual as e}from"lodash";import{makeAutoObservable as t}from"mobx";var i=function(){return i=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++)for(var n in t=arguments[i])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},i.apply(this,arguments)};function r(e,t,i,r){return new(i||(i=Promise))((function(n,a){function o(e){try{l(r.next(e))}catch(e){a(e)}}function u(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(o,u)}l((r=r.apply(e,t||[])).next())}))}function n(e,t){var i,r,n,a,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(u){return function(l){return function(u){if(i)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(o=0)),o;)try{if(i=1,r&&(n=2&u[0]?r.return:u[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,u[1])).done)return n;switch(r=0,n&&(u=[2&u[0],n.value]),u[0]){case 0:case 1:n=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(n=o.trys,(n=n.length>0&&n[n.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!n||u[1]>n[0]&&u[1]<n[3])){o.label=u[1];break}if(6===u[0]&&o.label<n[1]){o.label=n[1],n=u;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(u);break}n[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{i=n=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,l])}}}var a,o=function(){function r(e,i){var r=this;Object.defineProperty(this,"_serviceType",{enumerable:!0,configurable:!0,writable:!0,value:"field-service"}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t){r.value=t,r.validate&&r.validate()}}),t(this),this.initValue=e,this.options=i}return Object.defineProperty(r.prototype,"initValue",{get:function(){return this._initValue},set:function(e){this._initValue=e,this._value=e,this.validate&&this.validate()},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"value",{get:function(){return this._value},set:function(e){this._value=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"error",{get:function(){return this._error},set:function(e){this._error=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isValid",{get:function(){return!this._error},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isInit",{get:function(){return null!==(t=this.value)&&"object"==typeof t?e(this.value,this._initValue):this._value===this._initValue;var t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"props",{get:function(){var e,t=this,r={value:this.value,error:this.error,disabled:this.disabled};return(null===(e=this.options)||void 0===e?void 0:e.onError)&&(r=i(i({},r),{onError:function(e){t.error=t.error||(null==e?void 0:e.toString())}})),i(i({},r),{onChange:this.onChange})},enumerable:!1,configurable:!0}),r}(),u=function(e){a=e.validation.validate},l=function(){if(!a)throw new Error("You must define configureForm to configure mobx-form")},s=function(){function e(e){var i=this;Object.defineProperty(this,"_touched",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_error",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_initValue",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_value",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"add",{enumerable:!0,configurable:!0,writable:!0,value:function(e){i.value.push(e),i._validate()}}),Object.defineProperty(this,"removeByIndex",{enumerable:!0,configurable:!0,writable:!0,value:function(e){i.value.splice(e,1),i._validate()}}),Object.defineProperty(this,"_validate",{enumerable:!0,configurable:!0,writable:!0,value:function(){var e;i.value.forEach((function(e){return e.formService.validate()})),null===(e=i.validate)||void 0===e||e.call(i)}}),t(this),this.initValue=e||[]}return Object.defineProperty(e.prototype,"initValue",{get:function(){return this._initValue},set:function(e){this._initValue=e,this._value=e,this._touched=!1,this._validate()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){this._value=e,this._touched=!0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=e,e?this.value.forEach((function(e){return e.formService.disable()})):this.value.forEach((function(e){return e.formService.enable()}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"error",{get:function(){return this._error},set:function(e){this._error=e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isValid",{get:function(){return!this._error&&this.value.every((function(e){return e.formService.isValid}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isTouched",{get:function(){return this._touched||this.value.some((function(e){return e.formService.isTouched}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isInit",{get:function(){return!this.isTouched},enumerable:!1,configurable:!0}),e}(),c=function(){function e(e,i){var u=this;Object.defineProperty(this,"fields",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validationSchema",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:function(){return r(u,void 0,void 0,(function(){var e,t;return n(this,(function(i){switch(i.label){case 0:return e=this.getValues(),[4,null==a?void 0:a(e,this.validationSchema)];case 1:return(t=i.sent())&&0!=Object.keys(t||[]).length?this.setErrors(t):this.resetErrors(),[2]}}))}))}}),Object.defineProperty(this,"setValidationSchema",{enumerable:!0,configurable:!0,writable:!0,value:function(e){u.validationSchema=e}}),Object.defineProperty(this,"getValues",{enumerable:!0,configurable:!0,writable:!0,value:function(){for(var e={},t=0,i=u.keys;t<i.length;t++){var r=i[t];e[r]=u.getValue(u.fields[r])}return e}}),Object.defineProperty(this,"getValue",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(e instanceof o||e instanceof s)return null==e?void 0:e.value;if("object"==typeof e){for(var t={},i=0,r=Object.keys(e);i<r.length;i++){var n=r[i];t[n]=u.getValue(null==e?void 0:e[n])}return t}return e}}),Object.defineProperty(this,"setFieldsByThis",{enumerable:!0,configurable:!0,writable:!0,value:function(e){var t={};Object.keys(e).forEach((function(i){(e[i]&&e[i]instanceof o||e[i]instanceof s)&&(t[i]=e[i])})),u.fields=t,u.setValidationToFields()}}),Object.defineProperty(this,"bypassFields",{enumerable:!0,configurable:!0,writable:!0,value:function(e,t,i){e instanceof o||e instanceof s?t(e,i):"object"==typeof e&&Object.keys(e||{}).forEach((function(r){u.bypassFields(null==e?void 0:e[r],t,null==i?void 0:i[r])}))}}),Object.defineProperty(this,"setValidationToFields",{enumerable:!0,configurable:!0,writable:!0,value:function(){u.bypassFields(u.fields,(function(e){return e.validate=u.validate}))}}),Object.defineProperty(this,"setInitValues",{enumerable:!0,configurable:!0,writable:!0,value:function(e){u.bypassFields(u.fields,(function(e,t){return e.initValue=t}),e)}}),Object.defineProperty(this,"setValues",{enumerable:!0,configurable:!0,writable:!0,value:function(e){u.bypassFields(u.fields,(function(e,t){return e.value=t}),e)}}),Object.defineProperty(this,"resetErrors",{enumerable:!0,configurable:!0,writable:!0,value:function(){u.bypassFields(u.fields,(function(e){return e.error=void 0}))}}),Object.defineProperty(this,"setValuesAsInit",{enumerable:!0,configurable:!0,writable:!0,value:function(){u.bypassFields(u.fields,(function(e){return e.initValue=e.value}))}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:function(){u.bypassFields(u.fields,(function(e){return e.value=e.initValue})),u.validate()}}),Object.defineProperty(this,"disable",{enumerable:!0,configurable:!0,writable:!0,value:function(){u.bypassFields(u.fields,(function(e){return e.disabled=!0}))}}),Object.defineProperty(this,"enable",{enumerable:!0,configurable:!0,writable:!0,value:function(){u.bypassFields(u.fields,(function(e){return e.disabled=!1}))}}),l(),t(this),this.fields=e,this.validationSchema=i,this.setValidationToFields()}return Object.defineProperty(e.prototype,"keys",{get:function(){return Object.keys(this.fields)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isValid",{get:function(){var e=!0;return this.bypassFields(this.fields,(function(t){t.isValid||(e=!1)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isTouched",{get:function(){var e=!1;return this.bypassFields(this.fields,(function(t){t.isInit||(e=!0)})),e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"canBeSubmitted",{get:function(){return this.isTouched&&this.isValid},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"setErrors",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.bypassFields(this.fields,(function(e,t){e.error=t}),e)}}),e}();export{o as FieldService,c as FormService,l as _checkConfiguration,u as configureForm,a as validate};
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { FormService } from "form-service";
1
2
  import { FieldService } from "./field-service";
2
3
  export type FormValues<Type> = Type extends FieldService<unknown> ? Type['value'] : {
3
4
  -readonly [Property in keyof Type]: FormValues<Type[Property]>;
@@ -5,3 +6,15 @@ export type FormValues<Type> = Type extends FieldService<unknown> ? Type['value'
5
6
  export type FormErrors<Type> = Type extends FieldService<unknown> ? Type['error'] : {
6
7
  -readonly [Property in keyof Type]: FormErrors<Type[Property]>;
7
8
  };
9
+ export interface IField {
10
+ value: unknown;
11
+ error?: string;
12
+ disabled: boolean;
13
+ isValid: boolean;
14
+ isInit: boolean;
15
+ validate?(): Promise<void>;
16
+ }
17
+ export type FormServiceValuesType = Record<string, FieldService<unknown> | Record<string, unknown>>;
18
+ export interface IFormable<T extends FormServiceValuesType = FormServiceValuesType> {
19
+ formService: FormService<T>;
20
+ }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "type": "module",
3
3
  "name": "@mobx-ecosystem/mobx-form",
4
4
  "private": false,
5
- "version": "2.3.24",
5
+ "version": "2.4.0",
6
6
  "description": "provides the ability to use forms with validation in MobX stores",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.js",