@effect-app/vue 0.20.4 → 0.21.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @effect-app/vue
2
2
 
3
+ ## 0.21.1
4
+
5
+ ### Patch Changes
6
+
7
+ - fix form out on null
8
+ - Updated dependencies
9
+ - @effect-app/vue@0.21.1
10
+
11
+ ## 0.21.0
12
+
13
+ ### Minor Changes
14
+
15
+ - d01ada27: Improve validation error display
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies [00d34a69]
20
+ - Updated dependencies [d01ada27]
21
+ - @effect-app/schema@0.21.0
22
+ - @effect-app/vue@0.21.0
23
+ - @effect-app/prelude@0.22.5
24
+
3
25
  ## 0.20.4
4
26
 
5
27
  ### Patch Changes
package/_cjs/form.cjs CHANGED
@@ -18,7 +18,7 @@ function convertIn(v) {
18
18
  return v === null ? "" : v;
19
19
  }
20
20
  function convertOut(v, set) {
21
- v = v.trim();
21
+ v = v == null ? v : v.trim();
22
22
  return set(v === "" ? null : v);
23
23
  }
24
24
  function buildFieldInfoFromProps(props) {
@@ -33,9 +33,13 @@ function buildFieldInfo(propOrSchema, fieldKey) {
33
33
  const metadata = (0, _schema.getMetadataFromSchemaOrProp)(propOrSchema);
34
34
  const schema = (0, _schema.isSchema)(propOrSchema) ? propOrSchema : propOrSchema._schema;
35
35
  const parse = _schema.Parser.for(schema);
36
+ function renderError(e) {
37
+ const err = (0, _schema.drawError)(e);
38
+ return `The entered value is not a valid ${(0, _vue.capitalize)(fieldKey.toString())} (${err.slice(err.indexOf("expected"))})`;
39
+ }
36
40
  const info = {
37
41
  type: "text",
38
- rules: [v => !metadata.required || v !== "" || "The field cannot be empty", v => v === "" || metadata.minLength === undefined || v.length >= metadata.minLength || `The field requires at least ${metadata.minLength} characters`, v => v === "" || metadata.maxLength === undefined || v.length <= metadata.maxLength || `The field cannot have more than ${metadata.maxLength} characters`, v => tsplus_module_4.pipe(parse(v === "" ? null : v), _schema.These.result, _ => tsplus_module_3.match(_, () => `The entered value is not a valid ${(0, _vue.capitalize)(fieldKey.toString())}`, ([_, optErr]) => tsplus_module_2.isSome(optErr) ? `The entered value is not a valid ${(0, _vue.capitalize)(fieldKey.toString())}` : true))],
42
+ rules: [v => !metadata.required || v !== "" || "The field cannot be empty", v => v === "" || metadata.minLength === undefined || v.length >= metadata.minLength || `The field requires at least ${metadata.minLength} characters`, v => v === "" || metadata.maxLength === undefined || v.length <= metadata.maxLength || `The field cannot have more than ${metadata.maxLength} characters`, v => tsplus_module_4.pipe(parse(v === "" ? null : v), _schema.These.result, _ => tsplus_module_3.match(_, renderError, ([_, optErr]) => tsplus_module_2.isSome(optErr) ? renderError(optErr.value) : true))],
39
43
  metadata
40
44
  };
41
45
  return info;
package/_cjs/form.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"form.cjs","names":["_schema","require","_vue","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","convertIn","v","convertOut","trim","buildFieldInfoFromProps","props","tsplus_module_1","RecordKeys","object$","reduce","prev","cur","buildFieldInfo","f","Symbol","PhantomTypeParameter","propOrSchema","fieldKey","metadata","getMetadataFromSchemaOrProp","schema","isSchema","parse","Parser","for","info","type","rules","required","minLength","undefined","length","maxLength","tsplus_module_4","pipe","These","result","_","tsplus_module_3","match","capitalize","toString","optErr","tsplus_module_2","isSome"],"sources":["../_src/form.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"form.cjs","names":["_schema","require","_vue","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","convertIn","v","convertOut","trim","buildFieldInfoFromProps","props","tsplus_module_1","RecordKeys","object$","reduce","prev","cur","buildFieldInfo","f","Symbol","PhantomTypeParameter","propOrSchema","fieldKey","metadata","getMetadataFromSchemaOrProp","schema","isSchema","parse","Parser","for","renderError","e","err","drawError","capitalize","toString","slice","indexOf","info","type","rules","required","minLength","undefined","length","maxLength","tsplus_module_4","pipe","These","result","_","tsplus_module_3","match","optErr","tsplus_module_2","isSome","value"],"sources":["../_src/form.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AASA,IAAAC,IAAA,GAAAD,OAAA;AAAgC,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAI,wBAAAC,GAAA,EAAAL,WAAA,SAAAA,WAAA,IAAAK,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAT,wBAAA,CAAAC,WAAA,OAAAQ,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAE1B,SAAUW,SAASA,CAACC,CAAgB;EACxC,OAAOA,CAAC,KAAK,IAAI,GAAG,EAAE,GAAGA,CAAC;AAC5B;AAEM,SAAUC,UAAUA,CAACD,CAAgB,EAAEF,GAA+B;EAC1EE,CAAC,GAAGA,CAAC,IAAI,IAAI,GAAGA,CAAC,GAAGA,CAAC,CAACE,IAAI,EAAE;EAC5B,OAAOJ,GAAG,CAACE,CAAC,KAAK,EAAE,GAAG,IAAI,GAAGA,CAAC,CAAC;AACjC;AAEM,SAAUG,uBAAuBA,CACrCC,KAAY;EAEZ,OAAOC,eAAA,CAAAC,UAAA,CAAAD,eAAA,CAAAE,OAAA,CAAAH,KAAK,GAASI,MAAM,CACzB,CAACC,IAAI,EAAEC,GAAG,KAAI;IACZD,IAAI,CAACC,GAAG,CAAC,GAAGC,cAAc,CAACP,KAAK,CAACM,GAAG,CAAgB,EAAEA,GAAG,CAAC;IAC1D,OAAOD,IAAI;EACb,CAAC,EACD,EAKC,CACF;AACH;AAQA,MAAMG,CAAC,GAAGC,MAAM,EAAE;AAClB,MAAeC,oBAAoB;AAiBnC,SAASH,cAAcA,CACrBI,YAAqC,EACrCC,QAAqB;EAErB,MAAMC,QAAQ,GAAG,IAAAC,mCAA2B,EAACH,YAAY,CAAC;EAC1D,MAAMI,MAAM,GAAG,IAAAC,gBAAQ,EAACL,YAAY,CAAC,GAAGA,YAAY,GAAGA,YAAY,CAAC1C,OAAO;EAC3E,MAAMgD,KAAK,GAAGC,cAAM,CAACC,GAAG,CAACJ,MAAM,CAAC;EAEhC,SAASK,WAAWA,CAACC,CAAM;IACzB,MAAMC,GAAG,GAAG,IAAAC,iBAAS,EAACF,CAAC,CAAC;IACxB,OAAO,oCACL,IAAAG,eAAU,EACRZ,QAAQ,CAACa,QAAQ,EAAE,CAEvB,KAAKH,GAAG,CAACI,KAAK,CAACJ,GAAG,CAACK,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG;EAC5C;EAEA,MAAMC,IAAI,GAAG;IACXC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAE,CACJlC,CAAS,IAAK,CAACiB,QAAQ,CAACkB,QAAQ,IAAInC,CAAC,KAAK,EAAE,IAAI,2BAA2B,EAC3EA,CAAS,IACRA,CAAC,KAAK,EAAE,IACRiB,QAAQ,CAACmB,SAAS,KAAKC,SAAS,IAChCrC,CAAC,CAACsC,MAAM,IAAIrB,QAAQ,CAACmB,SAAS,IAC9B,+BAA+BnB,QAAQ,CAACmB,SAAS,aAAa,EAC/DpC,CAAS,IACRA,CAAC,KAAK,EAAE,IACRiB,QAAQ,CAACsB,SAAS,KAAKF,SAAS,IAChCrC,CAAC,CAACsC,MAAM,IAAIrB,QAAQ,CAACsB,SAAS,IAC9B,mCAAmCtB,QAAQ,CAACsB,SAAS,aAAa,EACnEvC,CAAU,IACTwC,eAAA,CAAAC,IAAI,CACFpB,KAAK,CAACrB,CAAC,KAAK,EAAE,GAAG,IAAI,GAAGA,CAAC,CAAC,EAC1B0C,aAAK,CAACC,MAAM,EACZC,CAAC,IACCC,eAAA,CAAAC,KAAA,CAAAF,CAAC,EACCpB,WAAW,EACX,CAAC,CAACoB,CAAC,EAAEG,MAAM,CAAC,KACVC,eAAA,CAAAC,MAAA,CAAAF,MAAM,CAAS,GACXvB,WAAW,CAACuB,MAAM,CAACG,KAAK,CAAC,GACzB,IAAI,CACX,CACJ,CACJ;IACDjC;GACD;EAED,OAAOe,IAAW;AACpB"}
package/_src/form.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { getMetadataFromSchemaOrProp, isSchema, Parser, These } from "@effect-app/prelude/schema"
1
+ import { drawError, getMetadataFromSchemaOrProp, isSchema, Parser, These } from "@effect-app/prelude/schema"
2
2
  import type {
3
3
  AnyProperty,
4
4
  EncodedOf,
@@ -13,8 +13,8 @@ export function convertIn(v: string | null) {
13
13
  return v === null ? "" : v
14
14
  }
15
15
 
16
- export function convertOut(v: string, set: (v: string | null) => void) {
17
- v = v.trim()
16
+ export function convertOut(v: string | null, set: (v: string | null) => void) {
17
+ v = v == null ? v : v.trim()
18
18
  return set(v === "" ? null : v)
19
19
  }
20
20
 
@@ -67,6 +67,15 @@ function buildFieldInfo(
67
67
  const schema = isSchema(propOrSchema) ? propOrSchema : propOrSchema._schema
68
68
  const parse = Parser.for(schema)
69
69
 
70
+ function renderError(e: any) {
71
+ const err = drawError(e)
72
+ return `The entered value is not a valid ${
73
+ capitalize(
74
+ fieldKey.toString()
75
+ )
76
+ } (${err.slice(err.indexOf("expected"))})`
77
+ }
78
+
70
79
  const info = {
71
80
  type: "text", // TODO: various types
72
81
  rules: [
@@ -87,19 +96,10 @@ function buildFieldInfo(
87
96
  These.result,
88
97
  _ =>
89
98
  _.match(
90
- () =>
91
- `The entered value is not a valid ${
92
- capitalize(
93
- fieldKey.toString()
94
- )
95
- }`,
99
+ renderError,
96
100
  ([_, optErr]) =>
97
101
  optErr.isSome()
98
- ? `The entered value is not a valid ${
99
- capitalize(
100
- fieldKey.toString()
101
- )
102
- }`
102
+ ? renderError(optErr.value)
103
103
  : true
104
104
  )
105
105
  )
package/dist/form.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { EncodedOf, ParsedShapeOfCustom, Property, PropertyRecord } from "@effect-app/prelude/schema";
2
2
  export declare function convertIn(v: string | null): string;
3
- export declare function convertOut(v: string, set: (v: string | null) => void): void;
3
+ export declare function convertOut(v: string | null, set: (v: string | null) => void): void;
4
4
  export declare function buildFieldInfoFromProps<Props extends PropertyRecord>(props: Props): { [K in keyof Props]: FieldInfo<EncodedOf<GetSchemaFromProp<Props[K]>>, ParsedShapeOfCustom<GetSchemaFromProp<Props[K]>>>; };
5
5
  export interface FieldMetadata {
6
6
  minLength: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../_src/form.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,cAAc,EAEf,MAAM,4BAA4B,CAAA;AAGnC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,UAEzC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,QAGpE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,SAAS,cAAc,EAClE,KAAK,EAAE,KAAK,gIAcb;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,QAAA,MAAM,CAAC,eAAW,CAAA;AAClB,uBAAe,oBAAoB,CACjC,UAAU,SAAS,MAAM,GAAG,EAC5B,gBAAgB;IAEhB,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE;QAC7B,QAAQ,EAAE,KAAK,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB;KAC1E,CAAA;CACF;AACD,MAAM,WAAW,SAAS,CAAC,GAAG,EAAE,IAAI,CAAE,SAAQ,oBAAoB,CAAC,OAAO,CAAC,EAAE;IAAE,EAAE,EAAE,GAAG,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC;IAClG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC,EAAE,CAAA;IAC1C,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GACtE,KAAK,CAAA"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../_src/form.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,cAAc,EAEf,MAAM,4BAA4B,CAAA;AAGnC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,UAEzC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,QAG3E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,SAAS,cAAc,EAClE,KAAK,EAAE,KAAK,gIAcb;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,QAAA,MAAM,CAAC,eAAW,CAAA;AAClB,uBAAe,oBAAoB,CACjC,UAAU,SAAS,MAAM,GAAG,EAC5B,gBAAgB;IAEhB,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE;QAC7B,QAAQ,EAAE,KAAK,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB;KAC1E,CAAA;CACF;AACD,MAAM,WAAW,SAAS,CAAC,GAAG,EAAE,IAAI,CAAE,SAAQ,oBAAoB,CAAC,OAAO,CAAC,EAAE;IAAE,EAAE,EAAE,GAAG,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC;IAClG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC,EAAE,CAAA;IAC1C,QAAQ,EAAE,aAAa,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GACtE,KAAK,CAAA"}
package/dist/form.js CHANGED
@@ -2,13 +2,13 @@ import * as tsplus_module_1 from "@effect-app/prelude/utils";
2
2
  import * as tsplus_module_2 from "@effect/data/Option";
3
3
  import * as tsplus_module_3 from "@effect/data/Either";
4
4
  import * as tsplus_module_4 from "@effect-app/core/Function";
5
- import { getMetadataFromSchemaOrProp, isSchema, Parser, These } from "@effect-app/prelude/schema";
5
+ import { drawError, getMetadataFromSchemaOrProp, isSchema, Parser, These } from "@effect-app/prelude/schema";
6
6
  import { capitalize } from "vue";
7
7
  export function convertIn(v) {
8
8
  return v === null ? "" : v;
9
9
  }
10
10
  export function convertOut(v, set) {
11
- v = v.trim();
11
+ v = v == null ? v : v.trim();
12
12
  return set(v === "" ? null : v);
13
13
  }
14
14
  export function buildFieldInfoFromProps(props) {
@@ -24,6 +24,10 @@ function buildFieldInfo(propOrSchema, fieldKey) {
24
24
  const metadata = getMetadataFromSchemaOrProp(propOrSchema);
25
25
  const schema = isSchema(propOrSchema) ? propOrSchema : propOrSchema._schema;
26
26
  const parse = Parser.for(schema);
27
+ function renderError(e) {
28
+ const err = drawError(e);
29
+ return `The entered value is not a valid ${capitalize(fieldKey.toString())} (${err.slice(err.indexOf("expected"))})`;
30
+ }
27
31
  const info = {
28
32
  type: "text",
29
33
  rules: [
@@ -36,12 +40,12 @@ function buildFieldInfo(propOrSchema, fieldKey) {
36
40
  metadata.maxLength === undefined ||
37
41
  v.length <= metadata.maxLength ||
38
42
  `The field cannot have more than ${metadata.maxLength} characters`,
39
- (v) => tsplus_module_4.pipe(parse(v === "" ? null : v), These.result, _ => tsplus_module_3.match(_, () => `The entered value is not a valid ${capitalize(fieldKey.toString())}`, ([_, optErr]) => tsplus_module_2.isSome(optErr)
40
- ? `The entered value is not a valid ${capitalize(fieldKey.toString())}`
43
+ (v) => tsplus_module_4.pipe(parse(v === "" ? null : v), These.result, _ => tsplus_module_3.match(_, renderError, ([_, optErr]) => tsplus_module_2.isSome(optErr)
44
+ ? renderError(optErr.value)
41
45
  : true))
42
46
  ],
43
47
  metadata
44
48
  };
45
49
  return info;
46
50
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFTakcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQTtBQUVoQyxNQUFNLFVBQVUsU0FBUyxDQUFDLENBQWdCO0lBQ3hDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDNUIsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsQ0FBUyxFQUFFLEdBQStCO0lBQ25FLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDWixPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pDLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLEtBQVk7SUFFWixPQUFPLG1EQUFBLEtBQUssR0FBUyxNQUFNLENBQ3pCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzFELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQyxFQUNELEVBS0MsQ0FDRixDQUFBO0FBQ0gsQ0FBQztBQVFELE1BQU0sQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFBO0FBQ2xCLE1BQWUsb0JBQW9CO0NBT2xDO0FBVUQsU0FBUyxjQUFjLENBQ3JCLFlBQXFDLEVBQ3JDLFFBQXFCO0lBRXJCLE1BQU0sUUFBUSxHQUFHLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQzFELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFBO0lBQzNFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFaEMsTUFBTSxJQUFJLEdBQUc7UUFDWCxJQUFJLEVBQUUsTUFBTTtRQUNaLEtBQUssRUFBRTtZQUNMLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSwyQkFBMkI7WUFDNUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUNaLENBQUMsS0FBSyxFQUFFO2dCQUNSLFFBQVEsQ0FBQyxTQUFTLEtBQUssU0FBUztnQkFDaEMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsU0FBUztnQkFDOUIsK0JBQStCLFFBQVEsQ0FBQyxTQUFTLGFBQWE7WUFDaEUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUNaLENBQUMsS0FBSyxFQUFFO2dCQUNSLFFBQVEsQ0FBQyxTQUFTLEtBQUssU0FBUztnQkFDaEMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsU0FBUztnQkFDOUIsbUNBQW1DLFFBQVEsQ0FBQyxTQUFTLGFBQWE7WUFDcEUsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUNiLGdCQUFBLElBQUksQ0FDRixLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDMUIsS0FBSyxDQUFDLE1BQU0sRUFDWixDQUFDLENBQUMsRUFBRSxDQUNGLHNCQUFBLENBQUMsRUFDQyxHQUFHLEVBQUUsQ0FDSCxvQ0FDRSxVQUFVLENBQ1IsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUV2QixFQUFFLEVBQ0osQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQ2QsdUJBQUEsTUFBTSxDQUFTO2dCQUNiLENBQUMsQ0FBQyxvQ0FDQSxVQUFVLENBQ1IsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUV2QixFQUFFO2dCQUNGLENBQUMsQ0FBQyxJQUFJLENBQ1gsQ0FDSjtTQUNKO1FBQ0QsUUFBUTtLQUNULENBQUE7SUFFRCxPQUFPLElBQVcsQ0FBQTtBQUNwQixDQUFDIn0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBUzVHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFFaEMsTUFBTSxVQUFVLFNBQVMsQ0FBQyxDQUFnQjtJQUN4QyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLENBQWdCLEVBQUUsR0FBK0I7SUFDMUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzVCLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDakMsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsS0FBWTtJQUVaLE9BQU8sbURBQUEsS0FBSyxHQUFTLE1BQU0sQ0FDekIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDMUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLEVBQ0QsRUFLQyxDQUNGLENBQUE7QUFDSCxDQUFDO0FBUUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUE7QUFDbEIsTUFBZSxvQkFBb0I7Q0FPbEM7QUFVRCxTQUFTLGNBQWMsQ0FDckIsWUFBcUMsRUFDckMsUUFBcUI7SUFFckIsTUFBTSxRQUFRLEdBQUcsMkJBQTJCLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDMUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUE7SUFDM0UsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUVoQyxTQUFTLFdBQVcsQ0FBQyxDQUFNO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4QixPQUFPLG9DQUNMLFVBQVUsQ0FDUixRQUFRLENBQUMsUUFBUSxFQUFFLENBRXZCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUc7UUFDWCxJQUFJLEVBQUUsTUFBTTtRQUNaLEtBQUssRUFBRTtZQUNMLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSwyQkFBMkI7WUFDNUUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUNaLENBQUMsS0FBSyxFQUFFO2dCQUNSLFFBQVEsQ0FBQyxTQUFTLEtBQUssU0FBUztnQkFDaEMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsU0FBUztnQkFDOUIsK0JBQStCLFFBQVEsQ0FBQyxTQUFTLGFBQWE7WUFDaEUsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUNaLENBQUMsS0FBSyxFQUFFO2dCQUNSLFFBQVEsQ0FBQyxTQUFTLEtBQUssU0FBUztnQkFDaEMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsU0FBUztnQkFDOUIsbUNBQW1DLFFBQVEsQ0FBQyxTQUFTLGFBQWE7WUFDcEUsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUNiLGdCQUFBLElBQUksQ0FDRixLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDMUIsS0FBSyxDQUFDLE1BQU0sRUFDWixDQUFDLENBQUMsRUFBRSxDQUNGLHNCQUFBLENBQUMsRUFDQyxXQUFXLEVBQ1gsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQ2QsdUJBQUEsTUFBTSxDQUFTO2dCQUNiLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLElBQUksQ0FDWCxDQUNKO1NBQ0o7UUFDRCxRQUFRO0tBQ1QsQ0FBQTtJQUVELE9BQU8sSUFBVyxDQUFBO0FBQ3BCLENBQUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/vue",
3
- "version": "0.20.4",
3
+ "version": "0.21.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -10,10 +10,10 @@
10
10
  "query-string": "^8.1.0",
11
11
  "swrv": "^1.0.3",
12
12
  "vue": "^3.2.47",
13
- "@effect-app/prelude": "0.22.4",
14
- "@effect-app/vue": "0.20.4",
13
+ "@effect-app/prelude": "0.22.5",
14
+ "@effect-app/vue": "0.21.1",
15
15
  "@effect-app/core": "0.29.1",
16
- "@effect-app/schema": "0.20.1"
16
+ "@effect-app/schema": "0.21.0"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@rollup/pluginutils": "^5.0.2",