feature-form 0.0.52 → 0.0.53

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 +1 @@
1
- "use strict";var d=require("@blgc/utils"),r=require("feature-state"),F=require("validation-adapter"),t=require("../types/form-field.js"),_=require("./create-form-field-validation-context.js"),M=require("./create-status.js"),m=(o,u,a)=>new Promise((n,l)=>{var h=e=>{try{s(a.next(e))}catch(i){l(i)}},c=e=>{try{s(a.throw(e))}catch(i){l(i)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(h,c);s((a=a.apply(o,u)).next())});function S(o,u){const{key:a,validator:n=F.createValidator([]),editable:l=!0,reValidateMode:h=d.bitwiseFlag(t.FormFieldReValidateMode.OnBlur),validateMode:c=d.bitwiseFlag(t.FormFieldValidateMode.OnSubmit),collectErrorMode:s="firstError",notifyOnStatusChange:e=!0}=u,i=r.createState(o),V={_config:{editable:l,validateMode:c,reValidateMode:h,collectErrorMode:s},_intialValue:d.deepCopy(i._v),_validator:n,key:a,isTouched:r.createState(!1),isSubmitted:r.createState(!1),isSubmitting:r.createState(!1),isValidating:r.createState(!1),status:M.createStatus({type:"UNVALIDATED"}),validate(){return m(this,null,function*(){const f=_.createFormFieldValidationContext(this);return this.isValidating.set(!0),yield this._validator.validate(f),this.isValidating.set(!1),this.status._nextValue==null?this.status.set({type:"VALID"}):this.status.set(this.status._nextValue),this.status._nextValue=void 0,this.status.get().type==="VALID"})},isValid(){return this.status.get().type==="VALID"},blur(){(this.isSubmitted.get()&&this._config.reValidateMode.has(t.FormFieldReValidateMode.OnBlur)||!this.isSubmitted.get()&&(this._config.validateMode.has(t.FormFieldValidateMode.OnBlur)||this._config.validateMode.has(t.FormFieldValidateMode.OnTouched)&&!this.isTouched.get()))&&this.validate(),this.isTouched.set(!0)},reset(){this.set(this._intialValue,{listenerContext:{source:"form-field_reset"}}),this.isTouched.set(!1),this.isSubmitted.set(!1),this.isSubmitting.set(!1),this.status.set({type:"UNVALIDATED"})}},g=Object.assign(i,V);return g._features.push("form-field"),d.withNew(Object.assign(g,{_new(f){f&&this.status.listen(v=>{i._notify({listenerContext:{source:"form-field_status-change",status:v.value}})},{key:"form-field_status-change"}),this.listen(()=>m(this,null,function*(){(this.isSubmitted.get()&&this._config.reValidateMode.has(t.FormFieldReValidateMode.OnChange)||!this.isSubmitted.get()&&this._config.validateMode.has(t.FormFieldValidateMode.OnChange)||this._config.validateMode.has(t.FormFieldValidateMode.OnTouched)&&this.isTouched.get())&&(yield this.validate())}),{key:"form-field_validate"})}}),e)}exports.createFormField=S;
1
+ "use strict";var d=require("@blgc/utils"),r=require("feature-state"),F=require("validation-adapter"),t=require("../types/form-field.js"),_=require("./create-form-field-validation-context.js"),M=require("./create-status.js"),m=(o,u,a)=>new Promise((n,l)=>{var h=e=>{try{s(a.next(e))}catch(i){l(i)}},c=e=>{try{s(a.throw(e))}catch(i){l(i)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(h,c);s((a=a.apply(o,u)).next())});function y(o,u){const{key:a,validator:n=F.createValidator([]),editable:l=!0,reValidateMode:h=d.bitwiseFlag(t.FormFieldReValidateMode.OnBlur),validateMode:c=d.bitwiseFlag(t.FormFieldValidateMode.OnSubmit),collectErrorMode:s="firstError",notifyOnStatusChange:e=!0}=u,i=r.createState(o,{queue:"async"}),v={_config:{editable:l,validateMode:c,reValidateMode:h,collectErrorMode:s},_intialValue:d.deepCopy(i._v),_validator:n,key:a,isTouched:r.createState(!1),isSubmitted:r.createState(!1),isSubmitting:r.createState(!1),isValidating:r.createState(!1),status:M.createStatus({type:"UNVALIDATED"}),validate(){return m(this,null,function*(){const f=_.createFormFieldValidationContext(this);return this.isValidating.set(!0),yield this._validator.validate(f),this.isValidating.set(!1),this.status._nextValue==null?this.status.set({type:"VALID"}):this.status.set(this.status._nextValue),this.status._nextValue=void 0,this.status.get().type==="VALID"})},isValid(){return this.status.get().type==="VALID"},blur(){(this.isSubmitted.get()&&this._config.reValidateMode.has(t.FormFieldReValidateMode.OnBlur)||!this.isSubmitted.get()&&(this._config.validateMode.has(t.FormFieldValidateMode.OnBlur)||this._config.validateMode.has(t.FormFieldValidateMode.OnTouched)&&!this.isTouched.get()))&&this.validate(),this.isTouched.set(!0)},reset(){this.set(this._intialValue,{listenerContext:{source:"form-field_reset"}}),this.isTouched.set(!1),this.isSubmitted.set(!1),this.isSubmitting.set(!1),this.status.set({type:"UNVALIDATED"})}},g=Object.assign(i,v);return g._features.push("form-field"),d.withNew(Object.assign(g,{_new(f){f&&this.status.listen(V=>{i._notify({listenerContext:{source:"form-field_status-change",status:V.value}})},{key:"form-field_status-change"}),this.listen(()=>m(this,null,function*(){(this.isSubmitted.get()&&this._config.reValidateMode.has(t.FormFieldReValidateMode.OnChange)||!this.isSubmitted.get()&&this._config.validateMode.has(t.FormFieldValidateMode.OnChange)||this._config.validateMode.has(t.FormFieldValidateMode.OnTouched)&&this.isTouched.get())&&(yield this.validate())}),{key:"form-field_validate"})}}),e)}exports.createFormField=y;
@@ -1 +1 @@
1
- "use strict";var u=require("feature-state");function i(s){const a=u.createState(s),t=Object.assign(a,{_nextValue:void 0,registerNextError(e){var r;((r=this._nextValue)==null?void 0:r.type)==="INVALID"?this._nextValue.errors.push(e):this._nextValue={type:"INVALID",errors:[e]}}});return t._features.push("form-field-status"),t}exports.createStatus=i;
1
+ "use strict";var u=require("feature-state");function i(s){const a=u.createState(s,{queue:"async"}),e=Object.assign(a,{_nextValue:void 0,registerNextError(t){var r;((r=this._nextValue)==null?void 0:r.type)==="INVALID"?this._nextValue.errors.push(t):this._nextValue={type:"INVALID",errors:[t]}}});return e._features.push("form-field-status"),e}exports.createStatus=i;
@@ -1 +1 @@
1
- import{bitwiseFlag as g,deepCopy as p,withNew as y}from"@blgc/utils";import{createState as a}from"feature-state";import{createValidator as b}from"validation-adapter";import{FormFieldReValidateMode as c,FormFieldValidateMode as o}from"../types/form-field.js";import{createFormFieldValidationContext as M}from"./create-form-field-validation-context.js";import{createStatus as S}from"./create-status.js";var V=(r,d,i)=>new Promise((n,l)=>{var u=t=>{try{s(i.next(t))}catch(e){l(e)}},h=t=>{try{s(i.throw(t))}catch(e){l(e)}},s=t=>t.done?n(t.value):Promise.resolve(t.value).then(u,h);s((i=i.apply(r,d)).next())});function O(r,d){const{key:i,validator:n=b([]),editable:l=!0,reValidateMode:u=g(c.OnBlur),validateMode:h=g(o.OnSubmit),collectErrorMode:s="firstError",notifyOnStatusChange:t=!0}=d,e=a(r),v={_config:{editable:l,validateMode:h,reValidateMode:u,collectErrorMode:s},_intialValue:p(e._v),_validator:n,key:i,isTouched:a(!1),isSubmitted:a(!1),isSubmitting:a(!1),isValidating:a(!1),status:S({type:"UNVALIDATED"}),validate(){return V(this,null,function*(){const f=M(this);return this.isValidating.set(!0),yield this._validator.validate(f),this.isValidating.set(!1),this.status._nextValue==null?this.status.set({type:"VALID"}):this.status.set(this.status._nextValue),this.status._nextValue=void 0,this.status.get().type==="VALID"})},isValid(){return this.status.get().type==="VALID"},blur(){(this.isSubmitted.get()&&this._config.reValidateMode.has(c.OnBlur)||!this.isSubmitted.get()&&(this._config.validateMode.has(o.OnBlur)||this._config.validateMode.has(o.OnTouched)&&!this.isTouched.get()))&&this.validate(),this.isTouched.set(!0)},reset(){this.set(this._intialValue,{listenerContext:{source:"form-field_reset"}}),this.isTouched.set(!1),this.isSubmitted.set(!1),this.isSubmitting.set(!1),this.status.set({type:"UNVALIDATED"})}},m=Object.assign(e,v);return m._features.push("form-field"),y(Object.assign(m,{_new(f){f&&this.status.listen(_=>{e._notify({listenerContext:{source:"form-field_status-change",status:_.value}})},{key:"form-field_status-change"}),this.listen(()=>V(this,null,function*(){(this.isSubmitted.get()&&this._config.reValidateMode.has(c.OnChange)||!this.isSubmitted.get()&&this._config.validateMode.has(o.OnChange)||this._config.validateMode.has(o.OnTouched)&&this.isTouched.get())&&(yield this.validate())}),{key:"form-field_validate"})}}),t)}export{O as createFormField};
1
+ import{bitwiseFlag as g,deepCopy as y,withNew as p}from"@blgc/utils";import{createState as a}from"feature-state";import{createValidator as b}from"validation-adapter";import{FormFieldReValidateMode as f,FormFieldValidateMode as o}from"../types/form-field.js";import{createFormFieldValidationContext as M}from"./create-form-field-validation-context.js";import{createStatus as S}from"./create-status.js";var v=(r,d,i)=>new Promise((n,l)=>{var u=t=>{try{s(i.next(t))}catch(e){l(e)}},h=t=>{try{s(i.throw(t))}catch(e){l(e)}},s=t=>t.done?n(t.value):Promise.resolve(t.value).then(u,h);s((i=i.apply(r,d)).next())});function O(r,d){const{key:i,validator:n=b([]),editable:l=!0,reValidateMode:u=g(f.OnBlur),validateMode:h=g(o.OnSubmit),collectErrorMode:s="firstError",notifyOnStatusChange:t=!0}=d,e=a(r,{queue:"async"}),V={_config:{editable:l,validateMode:h,reValidateMode:u,collectErrorMode:s},_intialValue:y(e._v),_validator:n,key:i,isTouched:a(!1),isSubmitted:a(!1),isSubmitting:a(!1),isValidating:a(!1),status:S({type:"UNVALIDATED"}),validate(){return v(this,null,function*(){const c=M(this);return this.isValidating.set(!0),yield this._validator.validate(c),this.isValidating.set(!1),this.status._nextValue==null?this.status.set({type:"VALID"}):this.status.set(this.status._nextValue),this.status._nextValue=void 0,this.status.get().type==="VALID"})},isValid(){return this.status.get().type==="VALID"},blur(){(this.isSubmitted.get()&&this._config.reValidateMode.has(f.OnBlur)||!this.isSubmitted.get()&&(this._config.validateMode.has(o.OnBlur)||this._config.validateMode.has(o.OnTouched)&&!this.isTouched.get()))&&this.validate(),this.isTouched.set(!0)},reset(){this.set(this._intialValue,{listenerContext:{source:"form-field_reset"}}),this.isTouched.set(!1),this.isSubmitted.set(!1),this.isSubmitting.set(!1),this.status.set({type:"UNVALIDATED"})}},m=Object.assign(e,V);return m._features.push("form-field"),p(Object.assign(m,{_new(c){c&&this.status.listen(_=>{e._notify({listenerContext:{source:"form-field_status-change",status:_.value}})},{key:"form-field_status-change"}),this.listen(()=>v(this,null,function*(){(this.isSubmitted.get()&&this._config.reValidateMode.has(f.OnChange)||!this.isSubmitted.get()&&this._config.validateMode.has(o.OnChange)||this._config.validateMode.has(o.OnTouched)&&this.isTouched.get())&&(yield this.validate())}),{key:"form-field_validate"})}}),t)}export{O as createFormField};
@@ -1 +1 @@
1
- import{createState as u}from"feature-state";function o(s){const a=u(s),t=Object.assign(a,{_nextValue:void 0,registerNextError(e){var r;((r=this._nextValue)==null?void 0:r.type)==="INVALID"?this._nextValue.errors.push(e):this._nextValue={type:"INVALID",errors:[e]}}});return t._features.push("form-field-status"),t}export{o as createStatus};
1
+ import{createState as u}from"feature-state";function n(s){const a=u(s,{queue:"async"}),e=Object.assign(a,{_nextValue:void 0,registerNextError(t){var r;((r=this._nextValue)==null?void 0:r.type)==="INVALID"?this._nextValue.errors.push(t):this._nextValue={type:"INVALID",errors:[t]}}});return e._features.push("form-field-status"),e}export{n as createStatus};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "feature-form",
3
- "version": "0.0.52",
3
+ "version": "0.0.53",
4
4
  "private": false,
5
5
  "description": "Straightforward, typesafe, and feature-based form library for ReactJs",
6
6
  "keywords": [],
@@ -23,15 +23,15 @@
23
23
  "README.md"
24
24
  ],
25
25
  "dependencies": {
26
- "feature-state": "0.0.59",
27
- "@blgc/types": "0.0.19",
28
26
  "@blgc/utils": "0.0.59",
27
+ "@blgc/types": "0.0.19",
28
+ "feature-state": "0.0.62",
29
29
  "validation-adapter": "0.0.25"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^24.3.0",
33
- "@blgc/config": "0.0.37",
34
- "rollup-presets": "0.0.23"
33
+ "@blgc/config": "0.0.38",
34
+ "rollup-presets": "0.0.24"
35
35
  },
36
36
  "size-limit": [
37
37
  {