@mobx-ecosystem/mobx-form 2.3.15 → 2.3.17

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.
@@ -1,9 +1,8 @@
1
1
  import { FieldService } from './field-service';
2
- export declare class FormService<T extends Record<string, FieldService<unknown>>> {
2
+ export declare class FormService<T extends Record<string, FieldService<unknown> | Record<string, unknown>>> {
3
3
  fields: T;
4
4
  validationSchema?: unknown;
5
5
  constructor(fields: T, validationSchema?: unknown);
6
- private setValidationToFields;
7
6
  /***
8
7
  * Validate the form
9
8
  *
@@ -37,27 +36,29 @@ export declare class FormService<T extends Record<string, FieldService<unknown>>
37
36
  * Set fields by this
38
37
  */
39
38
  setFieldsByThis: (obj: any) => void;
40
- /**
41
- * Set object to values by form service keys
42
- */
43
- setValues: (obj: Record<string, unknown>) => void;
39
+ private bypassFields;
40
+ private setValidationToFields;
44
41
  /**
45
42
  * Set object to init values by form service keys
46
43
  */
47
- setInitValues: (obj: Record<string, unknown>) => void;
44
+ setInitValues: (values: Record<string, unknown>) => void;
48
45
  /**
49
- * Set field values to init values
50
- */
51
- setValuesAsInit: () => void;
46
+ * Set object to values by form service keys
47
+ */
48
+ setValues: (values: Record<string, unknown>) => void;
52
49
  /**
53
50
  * Set field errors to undefined
54
51
  */
55
- resetErrors: (fields: any) => void;
52
+ resetErrors: () => void;
56
53
  /**
57
54
  * Set errors for fields
58
55
  * @param errors object of string which provides errors for fields
59
56
  */
60
- setErrors(fields: any, error: any): void;
57
+ setErrors(error: any): void;
58
+ /**
59
+ * Set field values to init values
60
+ */
61
+ setValuesAsInit: () => void;
61
62
  /**
62
63
  * Reset fields to their own initial values
63
64
  */
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{isEqual as e}from"lodash";import{makeAutoObservable as t,runInAction as r}from"mobx";var i=function(){return i=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},i.apply(this,arguments)};function n(e,t,r,i){return new(r||(r=Promise))((function(n,o){function a(e){try{u(i.next(e))}catch(e){o(e)}}function l(e){try{u(i.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,l)}u((i=i.apply(e,t||[])).next())}))}function o(e,t){var r,i,n,o,a={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(l){return function(u){return function(l){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(a=0)),a;)try{if(r=1,i&&(n=2&l[0]?i.return:l[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,l[1])).done)return n;switch(i=0,n&&(l=[2&l[0],n.value]),l[0]){case 0:case 1:n=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,i=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(n=a.trys,(n=n.length>0&&n[n.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!n||l[1]>n[0]&&l[1]<n[3])){a.label=l[1];break}if(6===l[0]&&a.label<n[1]){a.label=n[1],n=l;break}if(n&&a.label<n[2]){a.label=n[2],a.ops.push(l);break}n[2]&&a.ops.pop(),a.trys.pop();continue}l=t.call(e,a)}catch(e){l=[6,e],i=0}finally{r=n=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,u])}}}var a,l=function(){function r(e,r){var i=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){i.value=t,i.validate&&i.validate()}}),t(this),this.initValue=e,this.options=r}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},s=function(){if(!a)throw new Error("You must define configureForm to configure mobx-form")},f=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,"setValidationToFields",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e instanceof l?("string"!=typeof e.value&&u.setValidationToFields(e.value),e.validate=u.validate):"object"==typeof e&&Object.keys(e||{}).forEach((function(t){u.setValidationToFields(null==e?void 0:e[t])}))}}),Object.defineProperty(this,"validate",{enumerable:!0,configurable:!0,writable:!0,value:function(){return n(u,void 0,void 0,(function(){var e,t;return o(this,(function(r){switch(r.label){case 0:return e=this.getValues(),[4,null==a?void 0:a(e,this.validationSchema)];case 1:return(t=r.sent())&&0!=Object.keys(t||[]).length?this.setErrors(this.fields,t):this.resetErrors(this.fields),[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={},r=0,i=u.keys;r<i.length;r++){var n=i[r];t[n]=u.getValue(null===(e=u.fields[n])||void 0===e?void 0:e.value)}return t}}),Object.defineProperty(this,"getValue",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(e){if(e instanceof l)return u.getValue(null==e?void 0:e.value);if("object"==typeof e){for(var t={},r=0,i=Object.keys(e);r<i.length;r++){var n=i[r];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(r){e[r]&&e[r]instanceof l&&(t[r]=e[r])})),u.fields=t,u.keys.forEach((function(e){r((function(){u.fields[e].validate=u.validate}))}))}}),Object.defineProperty(this,"setValues",{enumerable:!0,configurable:!0,writable:!0,value:function(e){u.keys.forEach((function(t){return u.fields[t].value=e[t]}))}}),Object.defineProperty(this,"setInitValues",{enumerable:!0,configurable:!0,writable:!0,value:function(e){u.keys.forEach((function(t){return u.fields[t].initValue=e[t]}))}}),Object.defineProperty(this,"setValuesAsInit",{enumerable:!0,configurable:!0,writable:!0,value:function(){u.keys.forEach((function(e){u.fields[e].initValue=u.fields[e].value}))}}),Object.defineProperty(this,"resetErrors",{enumerable:!0,configurable:!0,writable:!0,value:function(e){e instanceof l?("string"!=typeof e.value&&u.resetErrors(e.value),e.error=void 0):"object"==typeof e&&Object.keys(e||{}).forEach((function(t){u.resetErrors(null==e?void 0:e[t])}))}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:function(){u.keys.forEach((function(e){return u.fields[e].value=u.fields[e].initValue})),u.validate()}}),Object.defineProperty(this,"disable",{enumerable:!0,configurable:!0,writable:!0,value:function(){u.keys.forEach((function(e){return u.fields[e].disabled=!0}))}}),Object.defineProperty(this,"enable",{enumerable:!0,configurable:!0,writable:!0,value:function(){u.keys.forEach((function(e){return u.fields[e].disabled=!1}))}}),s(),t(this),this.fields=e,this.validationSchema=i,this.setValidationToFields(this.fields)}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=this;return this.keys.every((function(t){return e.fields[t].isValid}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isTouched",{get:function(){var e=this;return this.keys.some((function(t){return!e.fields[t].isInit}))},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,t){var r=this;e instanceof l?("string"!=typeof e.value&&this.setErrors(e.value,t),e.error=t):"object"==typeof e&&Object.keys(e||{}).forEach((function(i){r.setErrors(null==e?void 0:e[i],null==t?void 0:t[i])}))}}),e}();export{l as FieldService,f as FormService,s as _checkConfiguration,u 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{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={},i=0,r=l.keys;i<r.length;i++){var n=r[i];t[n]=l.getValue(null===(e=l.fields[n])||void 0===e?void 0:e.value)}return t}}),Object.defineProperty(this,"getValue",{enumerable:!0,configurable:!0,writable:!0,value:function(e){if(e){if(e instanceof o)return l.getValue(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=String(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=String(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){return e.error=String(t)}),e)}}),e}();export{o as FieldService,s as FormService,u as _checkConfiguration,l as configureForm,a as validate};
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.15",
5
+ "version": "2.3.17",
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",