@kokimoki/app 0.4.0 → 0.4.2
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/dist/fields.d.ts +24 -1
- package/dist/fields.js +40 -0
- package/package.json +1 -1
package/dist/fields.d.ts
CHANGED
|
@@ -8,6 +8,13 @@ export declare abstract class Field<T> {
|
|
|
8
8
|
abstract get value(): T;
|
|
9
9
|
abstract get schema(): any;
|
|
10
10
|
}
|
|
11
|
+
export declare class ConstField<T extends string> extends Field<string extends T ? never : T> {
|
|
12
|
+
value: string extends T ? never : T;
|
|
13
|
+
constructor(value: string extends T ? never : T, options?: FieldOptions);
|
|
14
|
+
get schema(): {
|
|
15
|
+
const: string extends T ? never : T;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
11
18
|
export declare class ImageField extends Field<string> {
|
|
12
19
|
value: string;
|
|
13
20
|
constructor(value: string, options?: FieldOptions);
|
|
@@ -24,6 +31,14 @@ export declare class TextField extends Field<string> {
|
|
|
24
31
|
default: string;
|
|
25
32
|
};
|
|
26
33
|
}
|
|
34
|
+
export declare class EnumField<T extends Record<string, string>> extends Field<keyof T> {
|
|
35
|
+
enumValues: T;
|
|
36
|
+
value: keyof T;
|
|
37
|
+
constructor(enumValues: T, value: keyof T, options?: FieldOptions);
|
|
38
|
+
get schema(): {
|
|
39
|
+
enum: T;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
27
42
|
export declare class IntegerField extends Field<number> {
|
|
28
43
|
value: number;
|
|
29
44
|
constructor(value: number, options?: FieldOptions);
|
|
@@ -32,7 +47,7 @@ export declare class IntegerField extends Field<number> {
|
|
|
32
47
|
default: number;
|
|
33
48
|
};
|
|
34
49
|
}
|
|
35
|
-
export declare class FormGroup<T extends Record<string, any
|
|
50
|
+
export declare class FormGroup<T extends Record<string, Field<any>>> extends Field<{
|
|
36
51
|
[key in keyof T]: Field<T>["value"];
|
|
37
52
|
}> {
|
|
38
53
|
fields: T;
|
|
@@ -55,5 +70,13 @@ export declare class FormArray<T> extends Field<T[]> {
|
|
|
55
70
|
default: T[];
|
|
56
71
|
};
|
|
57
72
|
}
|
|
73
|
+
export declare class OneOfField<T extends Field<any>> extends Field<T["value"]> {
|
|
74
|
+
fields: T[];
|
|
75
|
+
value: T["value"];
|
|
76
|
+
constructor(fields: T[], value: T["value"], options?: FieldOptions);
|
|
77
|
+
get schema(): {
|
|
78
|
+
oneOf: any[];
|
|
79
|
+
};
|
|
80
|
+
}
|
|
58
81
|
export declare class Form<T extends Record<string, Field<any>>> extends FormGroup<T> {
|
|
59
82
|
}
|
package/dist/fields.js
CHANGED
|
@@ -7,6 +7,18 @@ export class Field {
|
|
|
7
7
|
this.options = options;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
+
export class ConstField extends Field {
|
|
11
|
+
value;
|
|
12
|
+
constructor(value, options = defaultFieldOptions) {
|
|
13
|
+
super(options);
|
|
14
|
+
this.value = value;
|
|
15
|
+
}
|
|
16
|
+
get schema() {
|
|
17
|
+
return {
|
|
18
|
+
const: this.value,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
10
22
|
export class ImageField extends Field {
|
|
11
23
|
value;
|
|
12
24
|
constructor(value, options = defaultFieldOptions) {
|
|
@@ -33,6 +45,20 @@ export class TextField extends Field {
|
|
|
33
45
|
};
|
|
34
46
|
}
|
|
35
47
|
}
|
|
48
|
+
export class EnumField extends Field {
|
|
49
|
+
enumValues;
|
|
50
|
+
value;
|
|
51
|
+
constructor(enumValues, value, options = defaultFieldOptions) {
|
|
52
|
+
super(options);
|
|
53
|
+
this.enumValues = enumValues;
|
|
54
|
+
this.value = value;
|
|
55
|
+
}
|
|
56
|
+
get schema() {
|
|
57
|
+
return {
|
|
58
|
+
enum: this.enumValues,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
36
62
|
export class IntegerField extends Field {
|
|
37
63
|
value;
|
|
38
64
|
constructor(value, options = defaultFieldOptions) {
|
|
@@ -85,5 +111,19 @@ export class FormArray extends Field {
|
|
|
85
111
|
};
|
|
86
112
|
}
|
|
87
113
|
}
|
|
114
|
+
export class OneOfField extends Field {
|
|
115
|
+
fields;
|
|
116
|
+
value;
|
|
117
|
+
constructor(fields, value, options = { optional: false }) {
|
|
118
|
+
super(options);
|
|
119
|
+
this.fields = fields;
|
|
120
|
+
this.value = value;
|
|
121
|
+
}
|
|
122
|
+
get schema() {
|
|
123
|
+
return {
|
|
124
|
+
oneOf: this.fields.map((field) => field.schema),
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
}
|
|
88
128
|
export class Form extends FormGroup {
|
|
89
129
|
}
|