kodzero-schema-parser 0.0.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/KodzeroToValidnoParser.d.ts +46 -0
- package/dist/KodzeroToValidnoParser.d.ts.map +1 -0
- package/dist/KodzeroToValidnoParser.js +306 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/kz-schema-factory/FieldValidator.d.ts +18 -0
- package/dist/kz-schema-factory/FieldValidator.d.ts.map +1 -0
- package/dist/kz-schema-factory/FieldValidator.js +153 -0
- package/dist/kz-schema-factory/SchemaFactory.d.ts +46 -0
- package/dist/kz-schema-factory/SchemaFactory.d.ts.map +1 -0
- package/dist/kz-schema-factory/SchemaFactory.js +115 -0
- package/dist/kz-schema-factory/fields-to-types/number.d.ts +12 -0
- package/dist/kz-schema-factory/fields-to-types/number.d.ts.map +1 -0
- package/dist/kz-schema-factory/fields-to-types/number.js +41 -0
- package/dist/kz-schema-factory/fields-to-types/select.d.ts +12 -0
- package/dist/kz-schema-factory/fields-to-types/select.d.ts.map +1 -0
- package/dist/kz-schema-factory/fields-to-types/select.js +44 -0
- package/dist/kz-schema-factory/fields-to-types/string.d.ts +12 -0
- package/dist/kz-schema-factory/fields-to-types/string.d.ts.map +1 -0
- package/dist/kz-schema-factory/fields-to-types/string.js +47 -0
- package/dist/kz-schema-factory/fields-to-types/url.d.ts +12 -0
- package/dist/kz-schema-factory/fields-to-types/url.d.ts.map +1 -0
- package/dist/kz-schema-factory/fields-to-types/url.js +45 -0
- package/dist/kz-schema-factory/types-constructors/autofieldCreatedAt.d.ts +4 -0
- package/dist/kz-schema-factory/types-constructors/autofieldCreatedAt.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/autofieldCreatedAt.js +15 -0
- package/dist/kz-schema-factory/types-constructors/autofieldId.d.ts +4 -0
- package/dist/kz-schema-factory/types-constructors/autofieldId.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/autofieldId.js +16 -0
- package/dist/kz-schema-factory/types-constructors/autofieldUpdatedAt.d.ts +4 -0
- package/dist/kz-schema-factory/types-constructors/autofieldUpdatedAt.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/autofieldUpdatedAt.js +15 -0
- package/dist/kz-schema-factory/types-constructors/boolean.d.ts +12 -0
- package/dist/kz-schema-factory/types-constructors/boolean.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/boolean.js +30 -0
- package/dist/kz-schema-factory/types-constructors/date.d.ts +12 -0
- package/dist/kz-schema-factory/types-constructors/date.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/date.js +43 -0
- package/dist/kz-schema-factory/types-constructors/email.d.ts +12 -0
- package/dist/kz-schema-factory/types-constructors/email.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/email.js +45 -0
- package/dist/kz-schema-factory/types-constructors/json.d.ts +12 -0
- package/dist/kz-schema-factory/types-constructors/json.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/json.js +39 -0
- package/dist/kz-schema-factory/types-constructors/number.d.ts +12 -0
- package/dist/kz-schema-factory/types-constructors/number.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/number.js +41 -0
- package/dist/kz-schema-factory/types-constructors/select.d.ts +12 -0
- package/dist/kz-schema-factory/types-constructors/select.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/select.js +44 -0
- package/dist/kz-schema-factory/types-constructors/string.d.ts +12 -0
- package/dist/kz-schema-factory/types-constructors/string.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/string.js +47 -0
- package/dist/kz-schema-factory/types-constructors/url.d.ts +12 -0
- package/dist/kz-schema-factory/types-constructors/url.d.ts.map +1 -0
- package/dist/kz-schema-factory/types-constructors/url.js +45 -0
- package/dist/kz-schema-factory/types.d.ts +60 -0
- package/dist/kz-schema-factory/types.d.ts.map +1 -0
- package/dist/kz-schema-factory/types.js +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/table-fields.d.ts +7 -0
- package/dist/types/table-fields.d.ts.map +1 -0
- package/dist/types/table-fields.js +1 -0
- package/dist/types/table-types-specs.d.ts +39 -0
- package/dist/types/table-types-specs.d.ts.map +1 -0
- package/dist/types/table-types-specs.js +1 -0
- package/dist/utils/generate-secret.d.ts +3 -0
- package/dist/utils/generate-secret.d.ts.map +1 -0
- package/dist/utils/generate-secret.js +9 -0
- package/dist/utils/is-valid-json.d.ts +3 -0
- package/dist/utils/is-valid-json.d.ts.map +1 -0
- package/dist/utils/is-valid-json.js +16 -0
- package/dist/utils/validate-input.d.ts +4 -0
- package/dist/utils/validate-input.d.ts.map +1 -0
- package/dist/utils/validate-input.js +7 -0
- package/package.json +53 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import Schema from 'validno';
|
|
2
|
+
import validateInput from '../../utils/validate-input.js';
|
|
3
|
+
var Constants;
|
|
4
|
+
(function (Constants) {
|
|
5
|
+
Constants["Name"] = "json";
|
|
6
|
+
Constants["Title"] = "JSON";
|
|
7
|
+
})(Constants || (Constants = {}));
|
|
8
|
+
const defaultSpecs = () => {
|
|
9
|
+
return {
|
|
10
|
+
maxSize: 10 * 1024 * 1024,
|
|
11
|
+
mayBeEmpty: true,
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export const jsonSpecsSchema = new Schema({
|
|
15
|
+
maxSize: {
|
|
16
|
+
type: Number,
|
|
17
|
+
rules: {
|
|
18
|
+
min: 0,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
mayBeEmpty: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
required: false,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
class TableFieldJson {
|
|
27
|
+
constructor(key, settings = defaultSpecs()) {
|
|
28
|
+
const combinedSettings = Object.assign(Object.assign({}, defaultSpecs()), settings);
|
|
29
|
+
validateInput(jsonSpecsSchema, combinedSettings);
|
|
30
|
+
this.key = key;
|
|
31
|
+
this.type = Constants.Name;
|
|
32
|
+
this.title = Constants.Title;
|
|
33
|
+
this.specs = {
|
|
34
|
+
maxSize: combinedSettings.maxSize,
|
|
35
|
+
mayBeEmpty: combinedSettings.mayBeEmpty,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export default TableFieldJson;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Schema from 'validno';
|
|
2
|
+
import type { NumberSpecs, TableFieldItem } from '../types.js';
|
|
3
|
+
export declare const numberSpecsSchema: Schema;
|
|
4
|
+
declare class TableFieldNumber implements TableFieldItem<NumberSpecs> {
|
|
5
|
+
key: string;
|
|
6
|
+
type: string;
|
|
7
|
+
title: string;
|
|
8
|
+
specs: NumberSpecs;
|
|
9
|
+
constructor(key: string, settings?: Partial<NumberSpecs>);
|
|
10
|
+
}
|
|
11
|
+
export default TableFieldNumber;
|
|
12
|
+
//# sourceMappingURL=number.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../src/kz-schema-factory/types-constructors/number.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAgB9D,eAAO,MAAM,iBAAiB,QAW5B,CAAA;AAEF,cAAM,gBAAiB,YAAW,cAAc,CAAC,WAAW,CAAC;IAC3D,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;gBAEN,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAO,CAAC,WAAW,CAAkB;CAazE;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import Schema from 'validno';
|
|
2
|
+
import validateInput from '../../utils/validate-input.js';
|
|
3
|
+
var Constants;
|
|
4
|
+
(function (Constants) {
|
|
5
|
+
Constants["Name"] = "number";
|
|
6
|
+
Constants["Title"] = "\u0427\u0438\u0441\u043B\u043E";
|
|
7
|
+
})(Constants || (Constants = {}));
|
|
8
|
+
const defaultSpecs = () => {
|
|
9
|
+
return {
|
|
10
|
+
min: -Infinity,
|
|
11
|
+
max: Infinity,
|
|
12
|
+
mayBeEmpty: true,
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export const numberSpecsSchema = new Schema({
|
|
16
|
+
min: {
|
|
17
|
+
type: [Number, null],
|
|
18
|
+
},
|
|
19
|
+
max: {
|
|
20
|
+
type: [Number, null],
|
|
21
|
+
},
|
|
22
|
+
mayBeEmpty: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
required: false,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
class TableFieldNumber {
|
|
28
|
+
constructor(key, settings = defaultSpecs()) {
|
|
29
|
+
const combinedSettings = Object.assign(Object.assign({}, defaultSpecs()), settings);
|
|
30
|
+
validateInput(numberSpecsSchema, combinedSettings);
|
|
31
|
+
this.key = key;
|
|
32
|
+
this.type = Constants.Name;
|
|
33
|
+
this.title = Constants.Title;
|
|
34
|
+
this.specs = {
|
|
35
|
+
min: combinedSettings.min,
|
|
36
|
+
max: combinedSettings.max,
|
|
37
|
+
mayBeEmpty: combinedSettings.mayBeEmpty,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export default TableFieldNumber;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Schema from 'validno';
|
|
2
|
+
import type { SelectSpecs, TableFieldItem } from '../types.js';
|
|
3
|
+
export declare const selectSpecsSchema: Schema;
|
|
4
|
+
declare class TableFieldSelect implements TableFieldItem<SelectSpecs> {
|
|
5
|
+
key: string;
|
|
6
|
+
type: string;
|
|
7
|
+
title: string;
|
|
8
|
+
specs: SelectSpecs;
|
|
9
|
+
constructor(key: string, settings?: Partial<SelectSpecs>);
|
|
10
|
+
}
|
|
11
|
+
export default TableFieldSelect;
|
|
12
|
+
//# sourceMappingURL=select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/kz-schema-factory/types-constructors/select.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAgB9D,eAAO,MAAM,iBAAiB,QAc5B,CAAA;AAEF,cAAM,gBAAiB,YAAW,cAAc,CAAC,WAAW,CAAC;IAC3D,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;gBAEN,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAO,CAAC,WAAW,CAAkB;CAazE;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import Schema from 'validno';
|
|
2
|
+
import validateInput from '../../utils/validate-input.js';
|
|
3
|
+
var Constants;
|
|
4
|
+
(function (Constants) {
|
|
5
|
+
Constants["Name"] = "select";
|
|
6
|
+
Constants["Title"] = "\u0421\u043F\u0438\u0441\u043E\u043A";
|
|
7
|
+
})(Constants || (Constants = {}));
|
|
8
|
+
const defaultSpecs = () => {
|
|
9
|
+
return {
|
|
10
|
+
multiple: false,
|
|
11
|
+
mayBeEmpty: true,
|
|
12
|
+
allowedValues: [],
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export const selectSpecsSchema = new Schema({
|
|
16
|
+
allowedValues: {
|
|
17
|
+
type: Array,
|
|
18
|
+
eachType: String,
|
|
19
|
+
required: false,
|
|
20
|
+
},
|
|
21
|
+
multiple: {
|
|
22
|
+
type: Boolean,
|
|
23
|
+
required: false,
|
|
24
|
+
},
|
|
25
|
+
mayBeEmpty: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
required: false,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
class TableFieldSelect {
|
|
31
|
+
constructor(key, settings = defaultSpecs()) {
|
|
32
|
+
const settingsCombined = Object.assign(Object.assign({}, defaultSpecs()), settings);
|
|
33
|
+
validateInput(selectSpecsSchema, settingsCombined);
|
|
34
|
+
this.key = key;
|
|
35
|
+
this.type = Constants.Name;
|
|
36
|
+
this.title = Constants.Title;
|
|
37
|
+
this.specs = {
|
|
38
|
+
allowedValues: settingsCombined.allowedValues,
|
|
39
|
+
multiple: settingsCombined.multiple,
|
|
40
|
+
mayBeEmpty: settingsCombined.mayBeEmpty,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export default TableFieldSelect;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Schema from 'validno';
|
|
2
|
+
import type { StringSpecs, TableFieldItem } from '../types.js';
|
|
3
|
+
export declare const stringSpecsSchema: Schema;
|
|
4
|
+
declare class TableFieldString implements TableFieldItem<StringSpecs> {
|
|
5
|
+
key: string;
|
|
6
|
+
type: string;
|
|
7
|
+
title: string;
|
|
8
|
+
specs: StringSpecs;
|
|
9
|
+
constructor(key: string, settings?: Partial<StringSpecs>);
|
|
10
|
+
}
|
|
11
|
+
export default TableFieldString;
|
|
12
|
+
//# sourceMappingURL=string.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/kz-schema-factory/types-constructors/string.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAiB9D,eAAO,MAAM,iBAAiB,QAe5B,CAAA;AAEF,cAAM,gBAAiB,YAAW,cAAc,CAAC,WAAW,CAAC;IAC3D,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;gBAEN,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAO,CAAC,WAAW,CAAkB;CAezE;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import Schema from 'validno';
|
|
2
|
+
import validateInput from '../../utils/validate-input.js';
|
|
3
|
+
var Constants;
|
|
4
|
+
(function (Constants) {
|
|
5
|
+
Constants["Name"] = "string";
|
|
6
|
+
Constants["Title"] = "\u0422\u0435\u043A\u0441\u0442";
|
|
7
|
+
})(Constants || (Constants = {}));
|
|
8
|
+
const defaultSpecs = () => {
|
|
9
|
+
return {
|
|
10
|
+
lengthMin: null,
|
|
11
|
+
lengthMax: null,
|
|
12
|
+
mayBeEmpty: true,
|
|
13
|
+
pattern: null,
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export const stringSpecsSchema = new Schema({
|
|
17
|
+
lengthMin: {
|
|
18
|
+
type: [Number, null],
|
|
19
|
+
},
|
|
20
|
+
lengthMax: {
|
|
21
|
+
type: [Number, null],
|
|
22
|
+
},
|
|
23
|
+
mayBeEmpty: {
|
|
24
|
+
type: Boolean,
|
|
25
|
+
required: false,
|
|
26
|
+
},
|
|
27
|
+
pattern: {
|
|
28
|
+
type: [String, null],
|
|
29
|
+
required: false,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
class TableFieldString {
|
|
33
|
+
constructor(key, settings = defaultSpecs()) {
|
|
34
|
+
const settingsCombined = Object.assign(Object.assign({}, defaultSpecs()), settings);
|
|
35
|
+
validateInput(stringSpecsSchema, settingsCombined);
|
|
36
|
+
this.key = key;
|
|
37
|
+
this.type = Constants.Name;
|
|
38
|
+
this.title = Constants.Title;
|
|
39
|
+
this.specs = {
|
|
40
|
+
lengthMin: settingsCombined.lengthMin,
|
|
41
|
+
lengthMax: settingsCombined.lengthMax,
|
|
42
|
+
pattern: settingsCombined.pattern,
|
|
43
|
+
mayBeEmpty: settingsCombined.mayBeEmpty,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export default TableFieldString;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Schema from 'validno';
|
|
2
|
+
import type { TableFieldItem, UrlSpecs } from '../types.js';
|
|
3
|
+
export declare const urlSpecsSchema: Schema;
|
|
4
|
+
declare class TableFieldUrl implements TableFieldItem<UrlSpecs> {
|
|
5
|
+
key: string;
|
|
6
|
+
type: string;
|
|
7
|
+
title: string;
|
|
8
|
+
specs: UrlSpecs;
|
|
9
|
+
constructor(key: string, settings?: Partial<UrlSpecs>);
|
|
10
|
+
}
|
|
11
|
+
export default TableFieldUrl;
|
|
12
|
+
//# sourceMappingURL=url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/kz-schema-factory/types-constructors/url.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAgB3D,eAAO,MAAM,cAAc,QAezB,CAAA;AAEF,cAAM,aAAc,YAAW,cAAc,CAAC,QAAQ,CAAC;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,QAAQ,CAAA;gBAEH,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAO,CAAC,QAAQ,CAAkB;CAatE;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import Schema from 'validno';
|
|
2
|
+
import validateInput from '../../utils/validate-input.js';
|
|
3
|
+
var Constants;
|
|
4
|
+
(function (Constants) {
|
|
5
|
+
Constants["Name"] = "url";
|
|
6
|
+
Constants["Title"] = "URL";
|
|
7
|
+
})(Constants || (Constants = {}));
|
|
8
|
+
const defaultSpecs = () => {
|
|
9
|
+
return {
|
|
10
|
+
allowedDomains: [],
|
|
11
|
+
exceptDomains: [],
|
|
12
|
+
mayBeEmpty: true,
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export const urlSpecsSchema = new Schema({
|
|
16
|
+
allowedDomains: {
|
|
17
|
+
type: Array,
|
|
18
|
+
eachType: String,
|
|
19
|
+
required: false,
|
|
20
|
+
},
|
|
21
|
+
exceptDomains: {
|
|
22
|
+
type: Array,
|
|
23
|
+
eachType: String,
|
|
24
|
+
required: false,
|
|
25
|
+
},
|
|
26
|
+
mayBeEmpty: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
required: false,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
class TableFieldUrl {
|
|
32
|
+
constructor(key, settings = defaultSpecs()) {
|
|
33
|
+
const settingsCombined = Object.assign(Object.assign({}, defaultSpecs()), settings);
|
|
34
|
+
validateInput(urlSpecsSchema, settingsCombined);
|
|
35
|
+
this.key = key;
|
|
36
|
+
this.type = Constants.Name;
|
|
37
|
+
this.title = Constants.Title;
|
|
38
|
+
this.specs = {
|
|
39
|
+
allowedDomains: settingsCombined.allowedDomains,
|
|
40
|
+
exceptDomains: settingsCombined.exceptDomains,
|
|
41
|
+
mayBeEmpty: settingsCombined.mayBeEmpty,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export default TableFieldUrl;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import TableFieldBoolean from './types-constructors/boolean.js';
|
|
2
|
+
import TableFieldDate from './types-constructors/date.js';
|
|
3
|
+
import TableFieldEmail from './types-constructors/email.js';
|
|
4
|
+
import TableFieldJson from './types-constructors/json.js';
|
|
5
|
+
import TableFieldNumber from './types-constructors/number.js';
|
|
6
|
+
import TableFieldSelect from './types-constructors/select.js';
|
|
7
|
+
import TableFieldString from './types-constructors/string.js';
|
|
8
|
+
import TableFieldUrl from './types-constructors/url.js';
|
|
9
|
+
export type TableField<T = Record<string, unknown>> = {
|
|
10
|
+
id: string;
|
|
11
|
+
order: number;
|
|
12
|
+
isAuto?: boolean;
|
|
13
|
+
item: T;
|
|
14
|
+
};
|
|
15
|
+
export type TableFieldAny = TableFieldBoolean | TableFieldDate | TableFieldEmail | TableFieldJson | TableFieldNumber | TableFieldSelect | TableFieldString | TableFieldUrl;
|
|
16
|
+
export interface TableFieldItem<Specs = Record<string, unknown>> {
|
|
17
|
+
key: string;
|
|
18
|
+
type: string;
|
|
19
|
+
title: string;
|
|
20
|
+
specs: Specs;
|
|
21
|
+
}
|
|
22
|
+
export interface BooleanSpecs {
|
|
23
|
+
onlyTrue: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface DateSpecs {
|
|
26
|
+
min: Date | null;
|
|
27
|
+
max: Date | null;
|
|
28
|
+
mayBeEmpty: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface EmailSpecs {
|
|
31
|
+
allowedDomains: string[];
|
|
32
|
+
exceptDomains: string[];
|
|
33
|
+
mayBeEmpty: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface JsonSpecs {
|
|
36
|
+
maxSize: number;
|
|
37
|
+
mayBeEmpty: boolean;
|
|
38
|
+
}
|
|
39
|
+
export interface NumberSpecs {
|
|
40
|
+
min: number;
|
|
41
|
+
max: number;
|
|
42
|
+
mayBeEmpty: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface SelectSpecs {
|
|
45
|
+
allowedValues: string[];
|
|
46
|
+
multiple: boolean;
|
|
47
|
+
mayBeEmpty: boolean;
|
|
48
|
+
}
|
|
49
|
+
export interface StringSpecs {
|
|
50
|
+
lengthMin: number | null;
|
|
51
|
+
lengthMax: number | null;
|
|
52
|
+
mayBeEmpty: boolean;
|
|
53
|
+
pattern: string | null;
|
|
54
|
+
}
|
|
55
|
+
export interface UrlSpecs {
|
|
56
|
+
allowedDomains: string[];
|
|
57
|
+
exceptDomains: string[];
|
|
58
|
+
mayBeEmpty: boolean;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kz-schema-factory/types.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,iCAAiC,CAAA;AAC/D,OAAO,cAAc,MAAM,8BAA8B,CAAA;AACzD,OAAO,eAAe,MAAM,+BAA+B,CAAA;AAC3D,OAAO,cAAc,MAAM,8BAA8B,CAAA;AACzD,OAAO,gBAAgB,MAAM,gCAAgC,CAAA;AAC7D,OAAO,gBAAgB,MAAM,gCAAgC,CAAA;AAC7D,OAAO,gBAAgB,MAAM,gCAAgC,CAAA;AAC7D,OAAO,aAAa,MAAM,6BAA6B,CAAA;AAEvD,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACpD,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,CAAC,CAAA;CACR,CAAA;AAED,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,cAAc,GACd,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,CAAA;AAEjB,MAAM,WAAW,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;CACb;AAGD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAA;IAChB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,EAAE,OAAO,CAAA;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["../src/kodzerotovalidnoparser.ts","../src/index.ts","../src/kz-schema-factory/fieldvalidator.ts","../src/kz-schema-factory/schemafactory.ts","../src/kz-schema-factory/types.ts","../src/kz-schema-factory/fields-to-types/number.ts","../src/kz-schema-factory/fields-to-types/select.ts","../src/kz-schema-factory/fields-to-types/string.ts","../src/kz-schema-factory/fields-to-types/url.ts","../src/kz-schema-factory/types-constructors/autofieldcreatedat.ts","../src/kz-schema-factory/types-constructors/autofieldid.ts","../src/kz-schema-factory/types-constructors/autofieldupdatedat.ts","../src/kz-schema-factory/types-constructors/boolean.ts","../src/kz-schema-factory/types-constructors/date.ts","../src/kz-schema-factory/types-constructors/email.ts","../src/kz-schema-factory/types-constructors/json.ts","../src/kz-schema-factory/types-constructors/number.ts","../src/kz-schema-factory/types-constructors/select.ts","../src/kz-schema-factory/types-constructors/string.ts","../src/kz-schema-factory/types-constructors/url.ts","../src/types/table-fields.ts","../src/types/table-types-specs.ts","../src/utils/generate-secret.ts","../src/utils/is-valid-json.ts","../src/utils/validate-input.ts"],"version":"5.9.3"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-fields.d.ts","sourceRoot":"","sources":["../../src/types/table-fields.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACzD,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,CAAC,CAAA;CACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export interface BooleanSpecs {
|
|
2
|
+
onlyTrue: boolean;
|
|
3
|
+
}
|
|
4
|
+
export interface DateSpecs {
|
|
5
|
+
min: Date | null;
|
|
6
|
+
max: Date | null;
|
|
7
|
+
mayBeEmpty: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface EmailSpecs {
|
|
10
|
+
allowedDomains: string[];
|
|
11
|
+
exceptDomains: string[];
|
|
12
|
+
mayBeEmpty: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface JsonSpecs {
|
|
15
|
+
maxSize: number;
|
|
16
|
+
mayBeEmpty: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface NumberSpecs {
|
|
19
|
+
min: number;
|
|
20
|
+
max: number;
|
|
21
|
+
mayBeEmpty: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface SelectSpecs {
|
|
24
|
+
allowedValues: string[];
|
|
25
|
+
multiple: boolean;
|
|
26
|
+
mayBeEmpty: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface StringSpecs {
|
|
29
|
+
lengthMin: number | null;
|
|
30
|
+
lengthMax: number | null;
|
|
31
|
+
mayBeEmpty: boolean;
|
|
32
|
+
pattern: string | null;
|
|
33
|
+
}
|
|
34
|
+
export interface UrlSpecs {
|
|
35
|
+
allowedDomains: string[];
|
|
36
|
+
exceptDomains: string[];
|
|
37
|
+
mayBeEmpty: boolean;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=table-types-specs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-types-specs.d.ts","sourceRoot":"","sources":["../../src/types/table-types-specs.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAA;IAChB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,EAAE,OAAO,CAAA;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-secret.d.ts","sourceRoot":"","sources":["../../src/utils/generate-secret.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,cAAc,GAAI,SAAQ,MAAW,KAAG,MAO7C,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const generateSecret = (length = 32) => {
|
|
2
|
+
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
3
|
+
let secret = '';
|
|
4
|
+
for (let i = 0; i < length; i++) {
|
|
5
|
+
secret += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
6
|
+
}
|
|
7
|
+
return secret;
|
|
8
|
+
};
|
|
9
|
+
export default generateSecret;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-valid-json.d.ts","sourceRoot":"","sources":["../../src/utils/is-valid-json.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,WAAW,GAAI,KAAK,OAAO,KAAG,OAanC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const isValidJSON = (str) => {
|
|
2
|
+
if (typeof str !== 'string') {
|
|
3
|
+
return false;
|
|
4
|
+
}
|
|
5
|
+
else if (str.trim() === '') {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
try {
|
|
9
|
+
JSON.parse(str);
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
catch (_a) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
export default isValidJSON;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-input.d.ts","sourceRoot":"","sources":["../../src/utils/validate-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,SAAS,CAAA;AAEjC,QAAA,MAAM,aAAa,GAAI,QAAQ,YAAY,CAAC,OAAO,MAAM,CAAC,EAAE,UAAU,OAAO,SAM5E,CAAA;AAED,eAAe,aAAa,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "kodzero-schema-parser",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"tsc": "tsc -b src/",
|
|
10
|
+
"tsc-watch": "tsc --b --watch src/",
|
|
11
|
+
"tscw": "tsc --b --watch src/",
|
|
12
|
+
"dev": "nodemon dist/dev.js",
|
|
13
|
+
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
|
|
14
|
+
"prepublishOnly": "npm run tsc"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist/**/*",
|
|
18
|
+
"README.md"
|
|
19
|
+
],
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"import": "./dist/index.js",
|
|
23
|
+
"types": "./dist/index.d.ts"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"author": "lesha2r",
|
|
27
|
+
"license": "ISC",
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"validno": "^0.4.3"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"ts-node": "^10.9.1",
|
|
33
|
+
"ts-node-dev": "^2.0.0",
|
|
34
|
+
"@jest/globals": "^29.7.0",
|
|
35
|
+
"@types/jest": "^29.5.13",
|
|
36
|
+
"@types/node": "^18.14.2",
|
|
37
|
+
"eslint": "^8.14.0",
|
|
38
|
+
"jest": "^29.7.0",
|
|
39
|
+
"mongodb": "^6.19.0",
|
|
40
|
+
"ts-jest": "^29.4.6"
|
|
41
|
+
},
|
|
42
|
+
"directories": {
|
|
43
|
+
"test": "tests"
|
|
44
|
+
},
|
|
45
|
+
"repository": {
|
|
46
|
+
"type": "git",
|
|
47
|
+
"url": "git+https://github.com/lesha2r/kodzero-schema-parser.git"
|
|
48
|
+
},
|
|
49
|
+
"bugs": {
|
|
50
|
+
"url": "https://github.com/lesha2r/kodzero-schema-parser/issues"
|
|
51
|
+
},
|
|
52
|
+
"homepage": "https://github.com/lesha2r/kodzero-schema-parser#readme"
|
|
53
|
+
}
|