@effect-app/vue 0.43.0 → 0.45.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.
- package/CHANGELOG.md +25 -0
- package/_cjs/form.cjs +60 -4
- package/_cjs/form.cjs.map +1 -1
- package/_src/form.ts +51 -11
- package/dist/form.d.ts +20 -1
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +46 -8
- package/package.json +11 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @effect-app/vue
|
|
2
2
|
|
|
3
|
+
## 0.45.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Add validation message customization
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
- @effect-app/vue@0.45.0
|
|
13
|
+
|
|
14
|
+
## 0.44.0
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- Update packages
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- Updated dependencies
|
|
23
|
+
- @effect-app/core@0.52.0
|
|
24
|
+
- @effect-app/prelude@0.52.0
|
|
25
|
+
- @effect-app/schema@0.46.0
|
|
26
|
+
- @effect-app/vue@0.44.0
|
|
27
|
+
|
|
3
28
|
## 0.43.0
|
|
4
29
|
|
|
5
30
|
### Minor Changes
|
package/_cjs/form.cjs
CHANGED
|
@@ -3,15 +3,18 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.ValidationMessage = void 0;
|
|
6
7
|
exports.buildFieldInfoFromProps = buildFieldInfoFromProps;
|
|
7
8
|
exports.convertIn = convertIn;
|
|
8
9
|
exports.convertOut = convertOut;
|
|
9
10
|
exports.convertOutInt = convertOutInt;
|
|
11
|
+
exports.translate = exports.customSchemaErrors = void 0;
|
|
10
12
|
var tsplus_module_1 = _interopRequireWildcard(require("@effect-app/prelude/utils"));
|
|
11
13
|
var tsplus_module_2 = _interopRequireWildcard(require("@effect/data/Option"));
|
|
12
14
|
var tsplus_module_3 = _interopRequireWildcard(require("@effect/data/Either"));
|
|
13
15
|
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/Function"));
|
|
14
16
|
var _schema = require("@effect-app/prelude/schema");
|
|
17
|
+
var _intl = require("@formatjs/intl");
|
|
15
18
|
var _vue = require("vue");
|
|
16
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -34,21 +37,74 @@ function buildFieldInfoFromProps(props) {
|
|
|
34
37
|
}
|
|
35
38
|
const f = Symbol();
|
|
36
39
|
class PhantomTypeParameter {}
|
|
40
|
+
const defaultIntl = (0, _intl.createIntl)({
|
|
41
|
+
locale: "en"
|
|
42
|
+
});
|
|
43
|
+
const translate = (0, _vue.ref)(defaultIntl.formatMessage.bind(defaultIntl));
|
|
44
|
+
exports.translate = translate;
|
|
45
|
+
const customSchemaErrors = (0, _vue.ref)(new Map());
|
|
46
|
+
exports.customSchemaErrors = customSchemaErrors;
|
|
47
|
+
class ValidationMessage {
|
|
48
|
+
constructor(message, internal) {
|
|
49
|
+
this.message = message;
|
|
50
|
+
this.internal = internal;
|
|
51
|
+
}
|
|
52
|
+
toString() {
|
|
53
|
+
return this.message;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.ValidationMessage = ValidationMessage;
|
|
37
57
|
function buildFieldInfo(propOrSchema, fieldKey) {
|
|
38
58
|
const metadata = (0, _schema.getMetadataFromSchemaOrProp)(propOrSchema);
|
|
39
59
|
const schema = (0, _schema.isSchema)(propOrSchema) ? propOrSchema : propOrSchema._schema;
|
|
40
60
|
const parse = _schema.Parser.for(schema);
|
|
41
61
|
function renderError(e) {
|
|
42
62
|
const err = (0, _schema.drawError)(e);
|
|
43
|
-
|
|
63
|
+
const custom = customSchemaErrors.value.get(schema);
|
|
64
|
+
return custom ? custom(err, e) : translate.value({
|
|
65
|
+
defaultMessage: "The entered value is not a valid {type}: {message}",
|
|
66
|
+
id: "validation.not_a_valid"
|
|
67
|
+
}, {
|
|
68
|
+
type: translate.value({
|
|
69
|
+
defaultMessage: (0, _vue.capitalize)(fieldKey.toString()),
|
|
70
|
+
id: `fieldNames.${String(fieldKey)}`
|
|
71
|
+
}),
|
|
72
|
+
message: err.slice(err.indexOf("expected")) // TODO: this is not translated.
|
|
73
|
+
});
|
|
44
74
|
}
|
|
45
|
-
|
|
46
|
-
const
|
|
75
|
+
|
|
76
|
+
const stringRules = [v => v === null || metadata.minLength === undefined || v.length >= metadata.minLength || translate.value({
|
|
77
|
+
defaultMessage: "The field requires at least {minLength} characters",
|
|
78
|
+
id: "validation.string.minLength"
|
|
79
|
+
}, {
|
|
80
|
+
minLength: metadata.minLength
|
|
81
|
+
}), v => v === null || metadata.maxLength === undefined || v.length <= metadata.maxLength || translate.value({
|
|
82
|
+
defaultMessage: "The field cannot have more than {maxLength} characters",
|
|
83
|
+
id: "validation.string.maxLength"
|
|
84
|
+
}, {
|
|
85
|
+
maxLength: metadata.maxLength
|
|
86
|
+
})];
|
|
87
|
+
const numberRules = [v => v === null || metadata.minimum === undefined || metadata.minimumExclusive && v > metadata.minimum || !metadata.minimumExclusive && v >= metadata.minimum || translate.value({
|
|
88
|
+
defaultMessage: "The value should be {isExclusive, select, true {larger than} other {at least}} {minimum}",
|
|
89
|
+
id: "validation.number.min"
|
|
90
|
+
}, {
|
|
91
|
+
isExclusive: metadata.minimumExclusive,
|
|
92
|
+
minimum: metadata.minimum
|
|
93
|
+
}), v => v === null || metadata.maximum === undefined || metadata.maximumExclusive && v > metadata.maximum || !metadata.maximumExclusive && v >= metadata.maximum || translate.value({
|
|
94
|
+
defaultMessage: "The value should be {isExclusive, select, true {smaller than} other {at most}} {maximum}",
|
|
95
|
+
id: "validation.number.max"
|
|
96
|
+
}, {
|
|
97
|
+
isExclusive: metadata.maximumExclusive,
|
|
98
|
+
maximum: metadata.maximum
|
|
99
|
+
})];
|
|
47
100
|
const parseRule = tsplus_module_4.flow(parse, _schema.These.result, _ => tsplus_module_3.match(_, renderError, ([_, optErr]) => tsplus_module_2.isSome(optErr) ? renderError(optErr.value) : true));
|
|
48
101
|
const rules = [...(metadata.type === "text" ? stringRules : numberRules), parseRule];
|
|
49
102
|
const info = {
|
|
50
103
|
type: metadata.type,
|
|
51
|
-
rules: [v => !metadata.required || v !== "" ||
|
|
104
|
+
rules: [v => !metadata.required || v !== "" || translate.value({
|
|
105
|
+
defaultMessage: "The field cannot be empty",
|
|
106
|
+
id: "validation.empty"
|
|
107
|
+
}), v => {
|
|
52
108
|
const converted = convertOutInt(v, metadata.type);
|
|
53
109
|
for (const r of rules) {
|
|
54
110
|
const res = r(converted);
|
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","type","convertOutInt","trim","c","parseFloat","parseInt","convertOut","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","
|
|
1
|
+
{"version":3,"file":"form.cjs","names":["_schema","require","_intl","_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","type","convertOutInt","trim","c","parseFloat","parseInt","convertOut","buildFieldInfoFromProps","props","tsplus_module_1","RecordKeys","object$","reduce","prev","cur","buildFieldInfo","f","Symbol","PhantomTypeParameter","defaultIntl","createIntl","locale","translate","ref","formatMessage","bind","exports","customSchemaErrors","Map","ValidationMessage","constructor","message","internal","toString","propOrSchema","fieldKey","metadata","getMetadataFromSchemaOrProp","schema","isSchema","parse","Parser","for","renderError","e","err","drawError","custom","value","defaultMessage","id","capitalize","String","slice","indexOf","stringRules","minLength","undefined","length","maxLength","numberRules","minimum","minimumExclusive","isExclusive","maximum","maximumExclusive","parseRule","tsplus_module_4","flow","These","result","_","tsplus_module_3","match","optErr","tsplus_module_2","isSome","rules","info","required","converted","r","res"],"sources":["../_src/form.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/_src/form.ts
CHANGED
|
@@ -7,7 +7,8 @@ import type {
|
|
|
7
7
|
PropertyRecord,
|
|
8
8
|
SchemaAny
|
|
9
9
|
} from "@effect-app/prelude/schema"
|
|
10
|
-
import {
|
|
10
|
+
import { createIntl, type IntlFormatters } from "@formatjs/intl"
|
|
11
|
+
import { capitalize, ref } from "vue"
|
|
11
12
|
|
|
12
13
|
export function convertIn(v: string | null, type?: "text" | "float" | "int") {
|
|
13
14
|
return v === null ? "" : type === "text" ? v : `${v}`
|
|
@@ -64,6 +65,20 @@ export interface FieldInfo<Tin, Tout> extends PhantomTypeParameter<typeof f, { i
|
|
|
64
65
|
type GetSchemaFromProp<T> = T extends Property<infer S, any, any, any> ? S
|
|
65
66
|
: never
|
|
66
67
|
|
|
68
|
+
const defaultIntl = createIntl({ locale: "en" })
|
|
69
|
+
export const translate = ref<IntlFormatters["formatMessage"]>(defaultIntl.formatMessage.bind(defaultIntl))
|
|
70
|
+
export const customSchemaErrors = ref<Map<SchemaAny, (message: string, e: unknown) => string>>(new Map())
|
|
71
|
+
|
|
72
|
+
export class ValidationMessage {
|
|
73
|
+
constructor(
|
|
74
|
+
public readonly message: string,
|
|
75
|
+
public readonly internal: { type: string; message: string; schema: SchemaAny }
|
|
76
|
+
) {}
|
|
77
|
+
toString() {
|
|
78
|
+
return this.message
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
67
82
|
function buildFieldInfo(
|
|
68
83
|
propOrSchema: AnyProperty | SchemaAny,
|
|
69
84
|
fieldKey: PropertyKey
|
|
@@ -74,11 +89,17 @@ function buildFieldInfo(
|
|
|
74
89
|
|
|
75
90
|
function renderError(e: any) {
|
|
76
91
|
const err = drawError(e)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
92
|
+
const custom = customSchemaErrors.value.get(schema)
|
|
93
|
+
return custom ? custom(err, e) : translate.value(
|
|
94
|
+
{ defaultMessage: "The entered value is not a valid {type}: {message}", id: "validation.not_a_valid" },
|
|
95
|
+
{
|
|
96
|
+
type: translate.value({
|
|
97
|
+
defaultMessage: capitalize(fieldKey.toString()),
|
|
98
|
+
id: `fieldNames.${String(fieldKey)}`
|
|
99
|
+
}),
|
|
100
|
+
message: err.slice(err.indexOf("expected")) // TODO: this is not translated.
|
|
101
|
+
}
|
|
102
|
+
)
|
|
82
103
|
}
|
|
83
104
|
|
|
84
105
|
const stringRules = [
|
|
@@ -86,12 +107,22 @@ function buildFieldInfo(
|
|
|
86
107
|
v === null
|
|
87
108
|
|| metadata.minLength === undefined
|
|
88
109
|
|| v.length >= metadata.minLength
|
|
89
|
-
||
|
|
110
|
+
|| translate.value({
|
|
111
|
+
defaultMessage: "The field requires at least {minLength} characters",
|
|
112
|
+
id: "validation.string.minLength"
|
|
113
|
+
}, {
|
|
114
|
+
minLength: metadata.minLength
|
|
115
|
+
}),
|
|
90
116
|
(v: string | null) =>
|
|
91
117
|
v === null
|
|
92
118
|
|| metadata.maxLength === undefined
|
|
93
119
|
|| v.length <= metadata.maxLength
|
|
94
|
-
||
|
|
120
|
+
|| translate.value({
|
|
121
|
+
defaultMessage: "The field cannot have more than {maxLength} characters",
|
|
122
|
+
id: "validation.string.maxLength"
|
|
123
|
+
}, {
|
|
124
|
+
maxLength: metadata.maxLength
|
|
125
|
+
})
|
|
95
126
|
]
|
|
96
127
|
|
|
97
128
|
const numberRules = [
|
|
@@ -100,13 +131,19 @@ function buildFieldInfo(
|
|
|
100
131
|
|| metadata.minimum === undefined
|
|
101
132
|
|| metadata.minimumExclusive && v > metadata.minimum
|
|
102
133
|
|| !metadata.minimumExclusive && v >= metadata.minimum
|
|
103
|
-
||
|
|
134
|
+
|| translate.value({
|
|
135
|
+
defaultMessage: "The value should be {isExclusive, select, true {larger than} other {at least}} {minimum}",
|
|
136
|
+
id: "validation.number.min"
|
|
137
|
+
}, { isExclusive: metadata.minimumExclusive, minimum: metadata.minimum }),
|
|
104
138
|
(v: number | null) =>
|
|
105
139
|
v === null
|
|
106
140
|
|| metadata.maximum === undefined
|
|
107
141
|
|| metadata.maximumExclusive && v > metadata.maximum
|
|
108
142
|
|| !metadata.maximumExclusive && v >= metadata.maximum
|
|
109
|
-
||
|
|
143
|
+
|| translate.value({
|
|
144
|
+
defaultMessage: "The value should be {isExclusive, select, true {smaller than} other {at most}} {maximum}",
|
|
145
|
+
id: "validation.number.max"
|
|
146
|
+
}, { isExclusive: metadata.maximumExclusive, maximum: metadata.maximum })
|
|
110
147
|
]
|
|
111
148
|
|
|
112
149
|
const parseRule = flow(
|
|
@@ -133,7 +170,10 @@ function buildFieldInfo(
|
|
|
133
170
|
const info = {
|
|
134
171
|
type: metadata.type,
|
|
135
172
|
rules: [
|
|
136
|
-
(v: string) =>
|
|
173
|
+
(v: string) =>
|
|
174
|
+
!metadata.required
|
|
175
|
+
|| v !== ""
|
|
176
|
+
|| translate.value({ defaultMessage: "The field cannot be empty", id: "validation.empty" }),
|
|
137
177
|
(v: string) => {
|
|
138
178
|
const converted = convertOutInt(v, metadata.type)
|
|
139
179
|
|
package/dist/form.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EncodedOf, ParsedShapeOfCustom, Property, PropertyRecord } from "@effect-app/prelude/schema";
|
|
1
|
+
import type { EncodedOf, ParsedShapeOfCustom, Property, PropertyRecord, SchemaAny } from "@effect-app/prelude/schema";
|
|
2
2
|
export declare function convertIn(v: string | null, type?: "text" | "float" | "int"): string;
|
|
3
3
|
export declare function convertOutInt(v: string, type?: "text" | "float" | "int"): string | number | null;
|
|
4
4
|
export declare function convertOut(v: string, set: (v: unknown | null) => void, type?: "text" | "float" | "int"): void;
|
|
@@ -23,5 +23,24 @@ export interface FieldInfo<Tin, Tout> extends PhantomTypeParameter<typeof f, {
|
|
|
23
23
|
type: "text" | "float" | "int";
|
|
24
24
|
}
|
|
25
25
|
type GetSchemaFromProp<T> = T extends Property<infer S, any, any, any> ? S : never;
|
|
26
|
+
export declare const translate: import("vue").Ref<{
|
|
27
|
+
(descriptor: import("@formatjs/intl").MessageDescriptor, values?: Record<string, import("intl-messageformat").PrimitiveType | import("intl-messageformat").FormatXMLElementFn<string, string>> | undefined, opts?: import("intl-messageformat").Options | undefined): string;
|
|
28
|
+
<T extends unknown>(descriptor: import("@formatjs/intl").MessageDescriptor, values?: Record<string, import("intl-messageformat").PrimitiveType | T | import("intl-messageformat").FormatXMLElementFn<T>> | undefined, opts?: import("intl-messageformat").Options | undefined): string | T | (string | T)[];
|
|
29
|
+
}>;
|
|
30
|
+
export declare const customSchemaErrors: import("vue").Ref<Map<SchemaAny, (message: string, e: unknown) => string>>;
|
|
31
|
+
export declare class ValidationMessage {
|
|
32
|
+
readonly message: string;
|
|
33
|
+
readonly internal: {
|
|
34
|
+
type: string;
|
|
35
|
+
message: string;
|
|
36
|
+
schema: SchemaAny;
|
|
37
|
+
};
|
|
38
|
+
constructor(message: string, internal: {
|
|
39
|
+
type: string;
|
|
40
|
+
message: string;
|
|
41
|
+
schema: SchemaAny;
|
|
42
|
+
});
|
|
43
|
+
toString(): string;
|
|
44
|
+
}
|
|
26
45
|
export {};
|
|
27
46
|
//# sourceMappingURL=form.d.ts.map
|
package/dist/form.d.ts.map
CHANGED
|
@@ -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,
|
|
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,EACd,SAAS,EACV,MAAM,4BAA4B,CAAA;AAInC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,UAE1E;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,0BAIvE;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,QAEtG;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,GAAG,OAAO,GAAG,KAAK,CAAA;CAC/B;AAED,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GACtE,KAAK,CAAA;AAGT,eAAO,MAAM,SAAS;;;EAAoF,CAAA;AAC1G,eAAO,MAAM,kBAAkB,6CAAgC,MAAM,KAAK,OAAO,KAAK,MAAM,EAAa,CAAA;AAEzG,qBAAa,iBAAiB;aAEV,OAAO,EAAE,MAAM;aACf,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE;gBAD9D,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE;IAEhF,QAAQ;CAGT"}
|
package/dist/form.js
CHANGED
|
@@ -3,7 +3,8 @@ 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
5
|
import { drawError, getMetadataFromSchemaOrProp, isSchema, Parser, These } from "@effect-app/prelude/schema";
|
|
6
|
-
import {
|
|
6
|
+
import { createIntl } from "@formatjs/intl";
|
|
7
|
+
import { capitalize, ref } from "vue";
|
|
7
8
|
export function convertIn(v, type) {
|
|
8
9
|
return v === null ? "" : type === "text" ? v : `${v}`;
|
|
9
10
|
}
|
|
@@ -24,35 +25,70 @@ export function buildFieldInfoFromProps(props) {
|
|
|
24
25
|
const f = Symbol();
|
|
25
26
|
class PhantomTypeParameter {
|
|
26
27
|
}
|
|
28
|
+
const defaultIntl = createIntl({ locale: "en" });
|
|
29
|
+
export const translate = ref(defaultIntl.formatMessage.bind(defaultIntl));
|
|
30
|
+
export const customSchemaErrors = ref(new Map());
|
|
31
|
+
export class ValidationMessage {
|
|
32
|
+
constructor(message, internal) {
|
|
33
|
+
this.message = message;
|
|
34
|
+
this.internal = internal;
|
|
35
|
+
}
|
|
36
|
+
toString() {
|
|
37
|
+
return this.message;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
27
40
|
function buildFieldInfo(propOrSchema, fieldKey) {
|
|
28
41
|
const metadata = getMetadataFromSchemaOrProp(propOrSchema);
|
|
29
42
|
const schema = isSchema(propOrSchema) ? propOrSchema : propOrSchema._schema;
|
|
30
43
|
const parse = Parser.for(schema);
|
|
31
44
|
function renderError(e) {
|
|
32
45
|
const err = drawError(e);
|
|
33
|
-
|
|
46
|
+
const custom = customSchemaErrors.value.get(schema);
|
|
47
|
+
return custom ? custom(err, e) : translate.value({ defaultMessage: "The entered value is not a valid {type}: {message}", id: "validation.not_a_valid" }, {
|
|
48
|
+
type: translate.value({
|
|
49
|
+
defaultMessage: capitalize(fieldKey.toString()),
|
|
50
|
+
id: `fieldNames.${String(fieldKey)}`
|
|
51
|
+
}),
|
|
52
|
+
message: err.slice(err.indexOf("expected")) // TODO: this is not translated.
|
|
53
|
+
});
|
|
34
54
|
}
|
|
35
55
|
const stringRules = [
|
|
36
56
|
(v) => v === null
|
|
37
57
|
|| metadata.minLength === undefined
|
|
38
58
|
|| v.length >= metadata.minLength
|
|
39
|
-
||
|
|
59
|
+
|| translate.value({
|
|
60
|
+
defaultMessage: "The field requires at least {minLength} characters",
|
|
61
|
+
id: "validation.string.minLength"
|
|
62
|
+
}, {
|
|
63
|
+
minLength: metadata.minLength
|
|
64
|
+
}),
|
|
40
65
|
(v) => v === null
|
|
41
66
|
|| metadata.maxLength === undefined
|
|
42
67
|
|| v.length <= metadata.maxLength
|
|
43
|
-
||
|
|
68
|
+
|| translate.value({
|
|
69
|
+
defaultMessage: "The field cannot have more than {maxLength} characters",
|
|
70
|
+
id: "validation.string.maxLength"
|
|
71
|
+
}, {
|
|
72
|
+
maxLength: metadata.maxLength
|
|
73
|
+
})
|
|
44
74
|
];
|
|
45
75
|
const numberRules = [
|
|
46
76
|
(v) => v === null
|
|
47
77
|
|| metadata.minimum === undefined
|
|
48
78
|
|| metadata.minimumExclusive && v > metadata.minimum
|
|
49
79
|
|| !metadata.minimumExclusive && v >= metadata.minimum
|
|
50
|
-
||
|
|
80
|
+
|| translate.value({
|
|
81
|
+
defaultMessage: "The value should be {isExclusive, select, true {larger than} other {at least}} {minimum}",
|
|
82
|
+
id: "validation.number.min"
|
|
83
|
+
}, { isExclusive: metadata.minimumExclusive, minimum: metadata.minimum }),
|
|
51
84
|
(v) => v === null
|
|
52
85
|
|| metadata.maximum === undefined
|
|
53
86
|
|| metadata.maximumExclusive && v > metadata.maximum
|
|
54
87
|
|| !metadata.maximumExclusive && v >= metadata.maximum
|
|
55
|
-
||
|
|
88
|
+
|| translate.value({
|
|
89
|
+
defaultMessage: "The value should be {isExclusive, select, true {smaller than} other {at most}} {maximum}",
|
|
90
|
+
id: "validation.number.max"
|
|
91
|
+
}, { isExclusive: metadata.maximumExclusive, maximum: metadata.maximum })
|
|
56
92
|
];
|
|
57
93
|
const parseRule = tsplus_module_4.flow(parse, These.result, (_) => tsplus_module_3.match(_, renderError, ([_, optErr]) => tsplus_module_2.isSome(optErr)
|
|
58
94
|
? renderError(optErr.value)
|
|
@@ -66,7 +102,9 @@ function buildFieldInfo(propOrSchema, fieldKey) {
|
|
|
66
102
|
const info = {
|
|
67
103
|
type: metadata.type,
|
|
68
104
|
rules: [
|
|
69
|
-
(v) => !metadata.required
|
|
105
|
+
(v) => !metadata.required
|
|
106
|
+
|| v !== ""
|
|
107
|
+
|| translate.value({ defaultMessage: "The field cannot be empty", id: "validation.empty" }),
|
|
70
108
|
(v) => {
|
|
71
109
|
const converted = convertOutInt(v, metadata.type);
|
|
72
110
|
for (const r of rules) {
|
|
@@ -82,4 +120,4 @@ function buildFieldInfo(propOrSchema, fieldKey) {
|
|
|
82
120
|
};
|
|
83
121
|
return info;
|
|
84
122
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBUzVHLE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFFckMsTUFBTSxVQUFVLFNBQVMsQ0FBQyxDQUFnQixFQUFFLElBQStCO0lBQ3pFLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUE7QUFDdkQsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsQ0FBUyxFQUFFLElBQStCO0lBQ3RFLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM1QixNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDL0YsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxDQUFTLEVBQUUsR0FBZ0MsRUFBRSxJQUErQjtJQUNyRyxPQUFPLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDcEMsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FDckMsS0FBWTtJQUVaLE9BQU8sbURBQUEsS0FBSyxHQUFTLE1BQU0sQ0FDekIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDMUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLEVBQ0QsRUFLQyxDQUNGLENBQUE7QUFDSCxDQUFDO0FBUUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUE7QUFDbEIsTUFBZSxvQkFBb0I7Q0FPbEM7QUFVRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUNoRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFrQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO0FBQzFHLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBMEQsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBRXpHLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDa0IsT0FBZSxFQUNmLFFBQThEO1FBRDlELFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFzRDtJQUM3RSxDQUFDO0lBQ0osUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0NBQ0Y7QUFFRCxTQUFTLGNBQWMsQ0FDckIsWUFBcUMsRUFDckMsUUFBcUI7SUFFckIsTUFBTSxRQUFRLEdBQUcsMkJBQTJCLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDMUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUE7SUFDM0UsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUVoQyxTQUFTLFdBQVcsQ0FBQyxDQUFNO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN4QixNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ25ELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUM5QyxFQUFFLGNBQWMsRUFBRSxvREFBb0QsRUFBRSxFQUFFLEVBQUUsd0JBQXdCLEVBQUUsRUFDdEc7WUFDRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFDcEIsY0FBYyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQy9DLEVBQUUsRUFBRSxjQUFjLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTthQUNyQyxDQUFDO1lBQ0YsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztTQUM3RSxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUc7UUFDbEIsQ0FBQyxDQUFnQixFQUFFLEVBQUUsQ0FDbkIsQ0FBQyxLQUFLLElBQUk7ZUFDUCxRQUFRLENBQUMsU0FBUyxLQUFLLFNBQVM7ZUFDaEMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsU0FBUztlQUM5QixTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUNqQixjQUFjLEVBQUUsb0RBQW9EO2dCQUNwRSxFQUFFLEVBQUUsNkJBQTZCO2FBQ2xDLEVBQUU7Z0JBQ0QsU0FBUyxFQUFFLFFBQVEsQ0FBQyxTQUFTO2FBQzlCLENBQUM7UUFDSixDQUFDLENBQWdCLEVBQUUsRUFBRSxDQUNuQixDQUFDLEtBQUssSUFBSTtlQUNQLFFBQVEsQ0FBQyxTQUFTLEtBQUssU0FBUztlQUNoQyxDQUFDLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxTQUFTO2VBQzlCLFNBQVMsQ0FBQyxLQUFLLENBQUM7Z0JBQ2pCLGNBQWMsRUFBRSx3REFBd0Q7Z0JBQ3hFLEVBQUUsRUFBRSw2QkFBNkI7YUFDbEMsRUFBRTtnQkFDRCxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7YUFDOUIsQ0FBQztLQUNMLENBQUE7SUFFRCxNQUFNLFdBQVcsR0FBRztRQUNsQixDQUFDLENBQWdCLEVBQUUsRUFBRSxDQUNuQixDQUFDLEtBQUssSUFBSTtlQUNQLFFBQVEsQ0FBQyxPQUFPLEtBQUssU0FBUztlQUM5QixRQUFRLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxPQUFPO2VBQ2pELENBQUMsUUFBUSxDQUFDLGdCQUFnQixJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTztlQUNuRCxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUNqQixjQUFjLEVBQUUsMEZBQTBGO2dCQUMxRyxFQUFFLEVBQUUsdUJBQXVCO2FBQzVCLEVBQUUsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0UsQ0FBQyxDQUFnQixFQUFFLEVBQUUsQ0FDbkIsQ0FBQyxLQUFLLElBQUk7ZUFDUCxRQUFRLENBQUMsT0FBTyxLQUFLLFNBQVM7ZUFDOUIsUUFBUSxDQUFDLGdCQUFnQixJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsT0FBTztlQUNqRCxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU87ZUFDbkQsU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFDakIsY0FBYyxFQUFFLDBGQUEwRjtnQkFDMUcsRUFBRSxFQUFFLHVCQUF1QjthQUM1QixFQUFFLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQzVFLENBQUE7SUFFRCxNQUFNLFNBQVMsR0FBRyxnQkFBQSxJQUFJLENBQ3BCLEtBQUssRUFDTCxLQUFLLENBQUMsTUFBTSxFQUNaLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixzQkFBQSxDQUFDLEVBQ0MsV0FBVyxFQUNYLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUNkLHVCQUFBLE1BQU0sQ0FBUztRQUNiLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQUMsSUFBSSxDQUNYLENBQ0osQ0FBQTtJQUdELE1BQU0sS0FBSyxHQUFrQjtRQUMzQixHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNO1lBQzFCLENBQUMsQ0FBQyxXQUFXO1lBQ2IsQ0FBQyxDQUFDLFdBQVcsQ0FBa0I7UUFDakMsU0FBd0I7S0FDekIsQ0FBQTtJQUVELE1BQU0sSUFBSSxHQUFHO1FBQ1gsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1FBQ25CLEtBQUssRUFBRTtZQUNMLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FDWixDQUFDLFFBQVEsQ0FBQyxRQUFRO21CQUNmLENBQUMsS0FBSyxFQUFFO21CQUNSLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxjQUFjLEVBQUUsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUM7WUFDN0YsQ0FBQyxDQUFTLEVBQUUsRUFBRTtnQkFDWixNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFFakQsS0FBSyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUU7b0JBQ3JCLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtvQkFDeEIsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO3dCQUNoQixPQUFPLEdBQUcsQ0FBQTtxQkFDWDtpQkFDRjtnQkFFRCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUM7U0FDRjtRQUNELFFBQVE7S0FDVCxDQUFBO0lBRUQsT0FBTyxJQUFXLENBQUE7QUFDcEIsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@effect/data": "^0.12.2",
|
|
8
|
-
"@effect/io": "^0.25.
|
|
8
|
+
"@effect/io": "^0.25.8",
|
|
9
9
|
"@fp-ts/optic": "^0.7.0",
|
|
10
|
+
"@formatjs/intl": "^2.7.2",
|
|
10
11
|
"query-string": "^8.1.0",
|
|
11
12
|
"swrv": "^1.0.3",
|
|
12
13
|
"vue": "^3.2.47",
|
|
13
|
-
"@effect-app/prelude": "0.
|
|
14
|
-
"@effect-app/vue": "0.
|
|
15
|
-
"@effect-app/schema": "0.
|
|
16
|
-
"@effect-app/core": "0.
|
|
14
|
+
"@effect-app/prelude": "0.52.0",
|
|
15
|
+
"@effect-app/vue": "0.45.0",
|
|
16
|
+
"@effect-app/schema": "0.46.0",
|
|
17
|
+
"@effect-app/core": "0.52.0"
|
|
17
18
|
},
|
|
18
19
|
"devDependencies": {
|
|
19
20
|
"@rollup/pluginutils": "^5.0.2",
|
|
20
|
-
"@babel/cli": "^7.21.
|
|
21
|
-
"@types/node": "~
|
|
21
|
+
"@babel/cli": "^7.21.5",
|
|
22
|
+
"@types/node": "~20.1.0",
|
|
22
23
|
"json5": "^2.2.3",
|
|
23
24
|
"ts-node": "^10.9.1",
|
|
24
25
|
"typescript": "https://cdn.jsdelivr.net/npm/@tsplus/installer@0.0.176/compiler/typescript.tgz",
|
|
25
|
-
"vite": "^4.3.
|
|
26
|
-
"vitest": "^0.
|
|
26
|
+
"vite": "^4.3.5",
|
|
27
|
+
"vitest": "^0.31.0",
|
|
27
28
|
"vue": "^3.2.47",
|
|
28
29
|
"@effect-app/compiler": "0.26.0"
|
|
29
30
|
},
|