@based/schema 2.6.0 → 2.7.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/dist/src/compat/newToOld.d.ts +2 -2
- package/dist/src/compat/newToOld.js +172 -29
- package/dist/src/compat/oldToNew.d.ts +1 -1
- package/dist/src/compat/oldToNew.js +200 -25
- package/dist/src/display/number.d.ts +2 -1
- package/dist/src/display/number.js +10 -0
- package/dist/src/display/string.d.ts +3 -1
- package/dist/src/display/string.js +5 -0
- package/dist/src/display/timestamp.d.ts +3 -1
- package/dist/src/display/timestamp.js +9 -0
- package/dist/src/error.d.ts +3 -1
- package/dist/src/error.js +2 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/types.d.ts +4 -3
- package/dist/src/types.js +74 -0
- package/dist/src/validateSchema/basedSchemaTypeValidator.d.ts +3 -0
- package/dist/src/validateSchema/basedSchemaTypeValidator.js +45 -0
- package/dist/src/validateSchema/fieldValidators.d.ts +27 -0
- package/dist/src/validateSchema/fieldValidators.js +360 -0
- package/dist/src/validateSchema/index.d.ts +17 -0
- package/dist/src/validateSchema/index.js +109 -0
- package/dist/src/validateSchema/utils.d.ts +25 -0
- package/dist/src/validateSchema/utils.js +61 -0
- package/dist/test/compat.js +19 -3
- package/dist/test/data/newSchemas.d.ts +2 -2
- package/dist/test/data/newSchemas.js +241 -0
- package/dist/test/data/oldSchemas.js +122 -122
- package/dist/test/validateSchema/basic.js +94 -0
- package/dist/test/validateSchema/fields.d.ts +1 -0
- package/dist/test/validateSchema/fields.js +436 -0
- package/dist/test/validateSchema/languages.d.ts +1 -0
- package/dist/test/validateSchema/languages.js +124 -0
- package/dist/test/validateSchema/realWorld.d.ts +1 -0
- package/dist/test/validateSchema/realWorld.js +13 -0
- package/package.json +4 -3
- package/dist/src/validateSchema.d.ts +0 -4
- package/dist/src/validateSchema.js +0 -35
- package/dist/test/validateSchema.js +0 -38
- /package/dist/test/{validateSchema.d.ts → validateSchema/basic.d.ts} +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { BasedSchema } from '../types.js';
|
|
2
1
|
import { BasedOldSchema } from './oldSchemaType.js';
|
|
3
|
-
|
|
2
|
+
import { BasedSchemaPartial } from '../types.js';
|
|
3
|
+
export declare const convertNewToOld: (schema: BasedSchemaPartial) => Partial<BasedOldSchema>;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
// import { BasedSchema } from '../types.js'
|
|
2
|
+
// import { BasedOldSchema } from './oldSchemaType.js'
|
|
1
3
|
const metaChecker = (field) => {
|
|
2
4
|
return (field === 'validation' ||
|
|
3
|
-
field === 'format' ||
|
|
5
|
+
// field === 'format' ||
|
|
4
6
|
field === 'index' ||
|
|
5
7
|
field === 'description' ||
|
|
6
8
|
field === 'title' ||
|
|
@@ -30,47 +32,188 @@ const metaChecker = (field) => {
|
|
|
30
32
|
field === 'maximum' ||
|
|
31
33
|
field === 'exclusiveMaximum' ||
|
|
32
34
|
field === 'exclusiveMinimum' ||
|
|
33
|
-
field === '$delete'
|
|
35
|
+
field === '$delete' ||
|
|
36
|
+
field === 'display');
|
|
34
37
|
};
|
|
35
38
|
const excludedFields = (field) => {
|
|
36
39
|
return field === 'language' || field === 'translations' || field === '$defs';
|
|
37
40
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
const DEFAULT_FIELDS = {
|
|
42
|
+
// id: { type: 'string' },
|
|
43
|
+
// createdAt: { type: 'timestamp' },
|
|
44
|
+
// updatedAt: { type: 'timestamp' },
|
|
45
|
+
// type: { type: 'string' },
|
|
46
|
+
// parents: { type: 'references' },
|
|
47
|
+
// children: { type: 'references' },
|
|
48
|
+
// ancestors: { type: 'references' },
|
|
49
|
+
// descendants: { type: 'references' },
|
|
50
|
+
// aliases: {
|
|
51
|
+
// type: 'set',
|
|
52
|
+
// items: { type: 'string' },
|
|
53
|
+
// },
|
|
54
|
+
};
|
|
55
|
+
const metaParser = (obj) => {
|
|
56
|
+
const tmp = {};
|
|
57
|
+
for (const i in obj) {
|
|
58
|
+
if (metaChecker(i)) {
|
|
59
|
+
if (i === 'title') {
|
|
60
|
+
tmp.name = obj[i];
|
|
45
61
|
}
|
|
46
|
-
else if (
|
|
47
|
-
|
|
62
|
+
else if (obj[i] === 'bytes') {
|
|
63
|
+
tmp.format = obj[i];
|
|
48
64
|
}
|
|
49
65
|
else {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
66
|
+
tmp[i] = obj[i];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return Object.keys(tmp).length > 0 ? { meta: tmp } : null;
|
|
71
|
+
};
|
|
72
|
+
const migrateField = (field) => {
|
|
73
|
+
if (field?.type === 'object') {
|
|
74
|
+
return {
|
|
75
|
+
...metaParser(field),
|
|
76
|
+
type: 'object',
|
|
77
|
+
properties: migrateFields(field.properties, true),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
else if (field?.type === 'json') {
|
|
81
|
+
return {
|
|
82
|
+
...field,
|
|
83
|
+
...metaParser(field),
|
|
84
|
+
type: 'json',
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
else if (field?.type === 'array') {
|
|
88
|
+
const values = migrateField(field.values);
|
|
89
|
+
if (!values) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
...metaParser(field),
|
|
94
|
+
type: 'array',
|
|
95
|
+
items: values,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
else if (field?.type === 'set') {
|
|
99
|
+
return {
|
|
100
|
+
...metaParser(field),
|
|
101
|
+
type: 'set',
|
|
102
|
+
items: migrateField(field.items),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
else if (field?.type === 'record') {
|
|
106
|
+
return {
|
|
107
|
+
...metaParser(field),
|
|
108
|
+
type: 'record',
|
|
109
|
+
values: migrateField(field.values),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
else if (field?.type === 'reference' || field?.type === 'references') {
|
|
113
|
+
return {
|
|
114
|
+
...metaParser(field),
|
|
115
|
+
type: field?.type,
|
|
116
|
+
...(field.bidirectional ? { bidirectional: field.bidirectional } : null),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
else if (field?.type === 'integer') {
|
|
120
|
+
return {
|
|
121
|
+
...metaParser(field),
|
|
122
|
+
type: 'int',
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
else if (field?.format === 'strongPassword') {
|
|
126
|
+
return { ...metaParser(field), type: 'digest' };
|
|
127
|
+
}
|
|
128
|
+
else if (field?.format === 'basedId') {
|
|
129
|
+
return { ...metaParser(field), type: 'id' };
|
|
130
|
+
}
|
|
131
|
+
else if (field?.format === 'URL') {
|
|
132
|
+
return { ...metaParser(field), type: 'url' };
|
|
133
|
+
}
|
|
134
|
+
else if (field?.format === 'email') {
|
|
135
|
+
return {
|
|
136
|
+
...metaParser(field),
|
|
137
|
+
type: 'email',
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
else if (field?.format === 'mobilePhone') {
|
|
141
|
+
return {
|
|
142
|
+
...metaParser(field),
|
|
143
|
+
type: 'phone',
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
else if (field?.format === 'latLong') {
|
|
147
|
+
return {
|
|
148
|
+
...metaParser(field),
|
|
149
|
+
type: 'geo',
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
return { ...metaParser(field), type: field?.type };
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
const migrateFields = (oldFields, recursing = false) => {
|
|
157
|
+
const result = {};
|
|
158
|
+
if (oldFields) {
|
|
159
|
+
for (const key in oldFields) {
|
|
160
|
+
if (oldFields.hasOwnProperty(key)) {
|
|
161
|
+
if (!recursing && Object.keys(DEFAULT_FIELDS).includes(key)) {
|
|
162
|
+
continue;
|
|
61
163
|
}
|
|
164
|
+
const field = migrateField(oldFields[key]);
|
|
165
|
+
if (!field) {
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
result[key] = field;
|
|
62
169
|
}
|
|
63
170
|
}
|
|
171
|
+
}
|
|
172
|
+
return result;
|
|
173
|
+
};
|
|
174
|
+
const migrateTypes = (oldSchema) => {
|
|
175
|
+
const result = {
|
|
176
|
+
types: {},
|
|
64
177
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
178
|
+
for (const key in oldSchema.types) {
|
|
179
|
+
if (oldSchema.types.hasOwnProperty(key)) {
|
|
180
|
+
const type = oldSchema.types[key];
|
|
181
|
+
result.types[key] = {
|
|
182
|
+
...metaParser(type),
|
|
183
|
+
prefix: type.prefix,
|
|
184
|
+
fields: migrateFields(type.fields),
|
|
185
|
+
};
|
|
71
186
|
}
|
|
72
187
|
}
|
|
73
|
-
|
|
188
|
+
return result;
|
|
189
|
+
};
|
|
190
|
+
const convertRoot = (schema) => {
|
|
191
|
+
const result = {
|
|
192
|
+
fields: {},
|
|
193
|
+
...metaParser(schema.root),
|
|
194
|
+
...(schema.root?.prefix ? { prefix: schema.root.prefix } : null),
|
|
195
|
+
};
|
|
196
|
+
for (const i in schema.root?.fields) {
|
|
197
|
+
const field = schema.root?.fields[i];
|
|
198
|
+
result.fields[i] = {
|
|
199
|
+
...metaParser(field),
|
|
200
|
+
...migrateField(field),
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
return result;
|
|
204
|
+
};
|
|
205
|
+
export const convertNewToOld = (schema) => {
|
|
206
|
+
const tmpSchema = migrateTypes(schema);
|
|
207
|
+
tmpSchema.prefixToTypeMapping = schema.prefixToTypeMapping;
|
|
208
|
+
tmpSchema.languages = [];
|
|
209
|
+
if (schema.language) {
|
|
210
|
+
tmpSchema.languages.push(schema.language);
|
|
211
|
+
}
|
|
212
|
+
if (schema.translations) {
|
|
213
|
+
tmpSchema.languages.push(...schema.translations);
|
|
214
|
+
}
|
|
215
|
+
tmpSchema.rootType = convertRoot(schema);
|
|
216
|
+
delete tmpSchema.root;
|
|
74
217
|
return tmpSchema;
|
|
75
218
|
};
|
|
76
219
|
//# sourceMappingURL=newToOld.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { BasedSchema } from '../types.js';
|
|
2
2
|
import { BasedOldSchema } from './oldSchemaType.js';
|
|
3
|
-
export declare const convertOldToNew: (oldSchema: BasedOldSchema) => BasedSchema;
|
|
3
|
+
export declare const convertOldToNew: (oldSchema: Partial<BasedOldSchema>) => BasedSchema;
|
|
@@ -1,35 +1,210 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
const DEFAULT_FIELDS = {
|
|
2
|
+
// id: { type: 'string' },
|
|
3
|
+
// createdAt: { type: 'timestamp' },
|
|
4
|
+
// updatedAt: { type: 'timestamp' },
|
|
5
|
+
// type: { type: 'string' },
|
|
6
|
+
// parents: { type: 'references' },
|
|
7
|
+
// children: { type: 'references' },
|
|
8
|
+
// ancestors: { type: 'references' },
|
|
9
|
+
// descendants: { type: 'references' },
|
|
10
|
+
// aliases: {
|
|
11
|
+
// type: 'set',
|
|
12
|
+
// items: { type: 'string' },
|
|
13
|
+
// },
|
|
14
|
+
};
|
|
15
|
+
const metaParser = (obj) => {
|
|
16
|
+
const metaObj = obj?.meta;
|
|
17
|
+
const tmp = {};
|
|
18
|
+
for (const i in metaObj) {
|
|
19
|
+
if (i === 'name') {
|
|
20
|
+
tmp.title = metaObj[i];
|
|
21
|
+
}
|
|
22
|
+
else if (i === 'validation' ||
|
|
23
|
+
i === 'progress' ||
|
|
24
|
+
i === 'format' ||
|
|
25
|
+
i === 'ui') {
|
|
26
|
+
if (metaObj[i] === 'url') {
|
|
27
|
+
// tmp.format = 'URL'
|
|
28
|
+
}
|
|
29
|
+
if ((metaObj[i] === 'bytes' && obj.type === 'number') ||
|
|
30
|
+
metaObj.type === 'float') {
|
|
31
|
+
tmp.display = 'bytes';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
tmp[i] = metaObj[i];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return tmp;
|
|
39
|
+
};
|
|
40
|
+
const migrateField = (oldField) => {
|
|
41
|
+
switch (oldField.type) {
|
|
42
|
+
case 'object':
|
|
43
|
+
return {
|
|
44
|
+
...metaParser(oldField),
|
|
45
|
+
type: 'object',
|
|
46
|
+
properties: migrateFields(oldField.properties, true),
|
|
47
|
+
};
|
|
48
|
+
case 'json':
|
|
49
|
+
return {
|
|
50
|
+
...oldField,
|
|
51
|
+
...metaParser(oldField),
|
|
52
|
+
type: 'json',
|
|
53
|
+
};
|
|
54
|
+
case 'array':
|
|
55
|
+
const values = migrateField(oldField.items);
|
|
56
|
+
if (!values) {
|
|
57
|
+
return null;
|
|
8
58
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
59
|
+
return {
|
|
60
|
+
...metaParser(oldField),
|
|
61
|
+
type: 'array',
|
|
62
|
+
values,
|
|
63
|
+
};
|
|
64
|
+
case 'set':
|
|
65
|
+
return {
|
|
66
|
+
...metaParser(oldField),
|
|
67
|
+
type: 'set',
|
|
68
|
+
items: migrateField(oldField.items),
|
|
69
|
+
};
|
|
70
|
+
case 'record':
|
|
71
|
+
return {
|
|
72
|
+
...metaParser(oldField),
|
|
73
|
+
type: 'record',
|
|
74
|
+
values: migrateField(oldField.values),
|
|
75
|
+
};
|
|
76
|
+
case 'reference':
|
|
77
|
+
case 'references':
|
|
78
|
+
return {
|
|
79
|
+
...metaParser(oldField),
|
|
80
|
+
type: oldField.type,
|
|
81
|
+
...(oldField.bidirectional
|
|
82
|
+
? { bidirectional: oldField.bidirectional }
|
|
83
|
+
: null),
|
|
84
|
+
};
|
|
85
|
+
case 'float':
|
|
86
|
+
return {
|
|
87
|
+
...metaParser(oldField),
|
|
88
|
+
type: 'number',
|
|
89
|
+
};
|
|
90
|
+
case 'int':
|
|
91
|
+
return {
|
|
92
|
+
...metaParser(oldField),
|
|
93
|
+
type: 'integer',
|
|
94
|
+
};
|
|
95
|
+
case 'digest':
|
|
96
|
+
return {
|
|
97
|
+
...metaParser(oldField),
|
|
98
|
+
format: 'strongPassword',
|
|
99
|
+
type: 'string',
|
|
100
|
+
};
|
|
101
|
+
case 'id':
|
|
102
|
+
return {
|
|
103
|
+
format: 'basedId',
|
|
104
|
+
...metaParser(oldField),
|
|
105
|
+
type: 'string',
|
|
106
|
+
};
|
|
107
|
+
case 'url':
|
|
108
|
+
return {
|
|
109
|
+
...metaParser(oldField),
|
|
110
|
+
format: 'URL',
|
|
111
|
+
type: 'string',
|
|
112
|
+
};
|
|
113
|
+
case 'email':
|
|
114
|
+
return {
|
|
115
|
+
format: 'email',
|
|
116
|
+
...metaParser(oldField),
|
|
117
|
+
type: 'string',
|
|
118
|
+
};
|
|
119
|
+
case 'phone':
|
|
120
|
+
return {
|
|
121
|
+
...metaParser(oldField),
|
|
122
|
+
format: 'mobilePhone',
|
|
123
|
+
type: 'string',
|
|
124
|
+
};
|
|
125
|
+
case 'geo':
|
|
126
|
+
return {
|
|
127
|
+
...metaParser(oldField),
|
|
128
|
+
format: 'latLong',
|
|
129
|
+
type: 'string',
|
|
130
|
+
};
|
|
131
|
+
case 'type':
|
|
132
|
+
return {
|
|
133
|
+
...metaParser(oldField),
|
|
134
|
+
type: 'string',
|
|
135
|
+
};
|
|
136
|
+
case 'number':
|
|
137
|
+
return {
|
|
138
|
+
...metaParser(oldField),
|
|
139
|
+
type: 'number',
|
|
140
|
+
};
|
|
141
|
+
default:
|
|
142
|
+
return {
|
|
143
|
+
...metaParser(oldField),
|
|
144
|
+
type: oldField.type,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const migrateFields = (oldFields, recursing = false) => {
|
|
149
|
+
const result = {};
|
|
150
|
+
if (oldFields) {
|
|
151
|
+
for (const key in oldFields) {
|
|
152
|
+
if (true) {
|
|
153
|
+
if (!recursing && Object.keys(DEFAULT_FIELDS).includes(key)) {
|
|
154
|
+
continue;
|
|
20
155
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
156
|
+
const field = migrateField(oldFields[key]);
|
|
157
|
+
if (!field) {
|
|
158
|
+
continue;
|
|
24
159
|
}
|
|
160
|
+
result[key] = field;
|
|
25
161
|
}
|
|
26
|
-
else if (i !== 'meta') {
|
|
27
|
-
target[i] = source[i];
|
|
28
|
-
}
|
|
29
162
|
}
|
|
163
|
+
}
|
|
164
|
+
return result;
|
|
165
|
+
};
|
|
166
|
+
const migrateTypes = (oldSchema) => {
|
|
167
|
+
const result = {
|
|
168
|
+
types: {},
|
|
169
|
+
};
|
|
170
|
+
for (const key in oldSchema.types) {
|
|
171
|
+
if (oldSchema.types.hasOwnProperty(key)) {
|
|
172
|
+
const type = oldSchema.types[key];
|
|
173
|
+
result.types[key] = {
|
|
174
|
+
...metaParser(type),
|
|
175
|
+
prefix: type.prefix,
|
|
176
|
+
fields: migrateFields(type.fields),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return result;
|
|
181
|
+
};
|
|
182
|
+
const convertRoot = (oldSchema) => {
|
|
183
|
+
const result = {
|
|
184
|
+
fields: {},
|
|
185
|
+
...metaParser(oldSchema.rootType?.meta),
|
|
186
|
+
...(oldSchema.rootType?.prefix
|
|
187
|
+
? { prefix: oldSchema.rootType.prefix }
|
|
188
|
+
: null),
|
|
30
189
|
};
|
|
31
|
-
|
|
190
|
+
for (const i in oldSchema.rootType?.fields) {
|
|
191
|
+
const field = oldSchema.rootType?.fields[i];
|
|
192
|
+
result.fields[i] = {
|
|
193
|
+
...metaParser(field?.meta),
|
|
194
|
+
...migrateField(field),
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
return result;
|
|
198
|
+
};
|
|
199
|
+
export const convertOldToNew = (oldSchema) => {
|
|
200
|
+
const tempSchema = migrateTypes(oldSchema);
|
|
32
201
|
tempSchema.$defs = {};
|
|
202
|
+
tempSchema.language = oldSchema.languages[0];
|
|
203
|
+
tempSchema.prefixToTypeMapping = oldSchema.prefixToTypeMapping;
|
|
204
|
+
tempSchema.translations = oldSchema.languages.filter((_, i) => i !== 0);
|
|
205
|
+
tempSchema.root = convertRoot(oldSchema);
|
|
206
|
+
delete tempSchema.rootType;
|
|
207
|
+
delete tempSchema.sha;
|
|
33
208
|
return tempSchema;
|
|
34
209
|
};
|
|
35
210
|
//# sourceMappingURL=oldToNew.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare const basedSchemaNumberFormats: readonly [any, "short", "human", "ratio", "bytes", "euro", "dollar", "pound"];
|
|
2
|
+
export type NumberFormat = (typeof basedSchemaNumberFormats)[number] | `round-${number}`;
|
|
2
3
|
declare const parseNumber: (nr: number | string, format?: NumberFormat) => string | number;
|
|
3
4
|
export default parseNumber;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare const basedSchemaDisplayFormats: readonly ["lowercase", "uppercase", "capitalize"];
|
|
2
|
+
export type basedSchemaDisplayFormat = (typeof basedSchemaDisplayFormats)[number];
|
|
3
|
+
export type StringFormat = basedSchemaDisplayFormat;
|
|
2
4
|
declare const parseString: (value?: string, format?: StringFormat) => string;
|
|
3
5
|
export default parseString;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare const basedSchemaDateFormats: readonly [any, "date", "date-time", "date-time-text", "human", "time", "time-precise"];
|
|
2
|
+
export type BasedSchemaDateFormat = (typeof basedSchemaDateFormats)[number];
|
|
3
|
+
export type DateFormat = BasedSchemaDateFormat;
|
|
2
4
|
declare const _default: (nr: number | string, format?: DateFormat) => string | number;
|
|
3
5
|
export default _default;
|
package/dist/src/error.d.ts
CHANGED
|
@@ -15,5 +15,7 @@ export declare enum ParseError {
|
|
|
15
15
|
'noLanguageFound' = 13,
|
|
16
16
|
'cannotDeleteNodeFromModify' = 14,
|
|
17
17
|
'nestedModifyObjectNotAllowed' = 15,
|
|
18
|
-
'infinityNotSupported' = 16
|
|
18
|
+
'infinityNotSupported' = 16,
|
|
19
|
+
'invalidSchemaFormat' = 17,
|
|
20
|
+
'invalidProperty' = 18
|
|
19
21
|
}
|
package/dist/src/error.js
CHANGED
|
@@ -17,5 +17,7 @@ export var ParseError;
|
|
|
17
17
|
ParseError[ParseError["cannotDeleteNodeFromModify"] = 14] = "cannotDeleteNodeFromModify";
|
|
18
18
|
ParseError[ParseError["nestedModifyObjectNotAllowed"] = 15] = "nestedModifyObjectNotAllowed";
|
|
19
19
|
ParseError[ParseError["infinityNotSupported"] = 16] = "infinityNotSupported";
|
|
20
|
+
ParseError[ParseError["invalidSchemaFormat"] = 17] = "invalidSchemaFormat";
|
|
21
|
+
ParseError[ParseError["invalidProperty"] = 18] = "invalidProperty";
|
|
20
22
|
})(ParseError || (ParseError = {}));
|
|
21
23
|
//# sourceMappingURL=error.js.map
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.js
CHANGED
package/dist/src/types.d.ts
CHANGED
|
@@ -43,23 +43,25 @@ export type BasedSchemaFieldShared = {
|
|
|
43
43
|
};
|
|
44
44
|
$delete?: boolean;
|
|
45
45
|
};
|
|
46
|
+
export declare const basedSchemaStringFormatValues: readonly ["email", "URL", "MACAddress", "IP", "IPRange", "FQDN", "IBAN", "BIC", "alpha", "alphaLocales", "alphanumeric", "alphanumericLocales", "passportNumber", "port", "lowercase", "uppercase", "ascii", "semVer", "surrogatePair", "IMEI", "hexadecimal", "octal", "hexColor", "rgbColor", "HSL", "ISRC", "MD5", "JWT", "UUID", "luhnNumber", "creditCard", "identityCard", "EAN", "ISIN", "ISBN", "ISSN", "mobilePhone", "mobilePhoneLocales", "postalCode", "postalCodeLocales", "ethereumAddress", "currency", "btcAddress", "ISO6391", "ISO8601", "RFC3339", "ISO31661Alpha2", "ISO31661Alpha3", "ISO4217", "base32", "base58", "base64", "dataURI", "magnetURI", "mimeType", "latLong", "slug", "strongPassword", "taxID", "licensePlate", "VAT", "code", "typescript", "javascript", "python", "rust", "css", "html", "json", "markdown", "clike", "basedId"];
|
|
46
47
|
export type BasedSchemaStringShared = {
|
|
47
48
|
minLength?: number;
|
|
48
49
|
maxLength?: number;
|
|
49
50
|
contentMediaEncoding?: string;
|
|
50
51
|
contentMediaType?: BasedSchemaContentMediaType;
|
|
51
52
|
pattern?: BasedSchemaPattern;
|
|
52
|
-
format?:
|
|
53
|
+
format?: (typeof basedSchemaStringFormatValues)[number];
|
|
53
54
|
display?: StringFormat;
|
|
54
55
|
multiline?: boolean;
|
|
55
56
|
};
|
|
56
|
-
type
|
|
57
|
+
export type BasedSchemaNumberDefaults = {
|
|
57
58
|
multipleOf?: number;
|
|
58
59
|
minimum?: number;
|
|
59
60
|
maximum?: number;
|
|
60
61
|
exclusiveMaximum?: boolean;
|
|
61
62
|
exclusiveMinimum?: boolean;
|
|
62
63
|
};
|
|
64
|
+
export type NumberDefaults = BasedSchemaNumberDefaults;
|
|
63
65
|
export type BasedNumberDisplay = NumberFormat;
|
|
64
66
|
export type BasedTimestampDisplay = DateFormat;
|
|
65
67
|
export type BasedSchemaFieldString = {
|
|
@@ -209,4 +211,3 @@ export type BasedSchemaCollectProps = ArgsClass<BasedSetTarget> & {
|
|
|
209
211
|
typeSchema: BasedSchemaType;
|
|
210
212
|
};
|
|
211
213
|
};
|
|
212
|
-
export {};
|