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.
Files changed (77) hide show
  1. package/dist/KodzeroToValidnoParser.d.ts +46 -0
  2. package/dist/KodzeroToValidnoParser.d.ts.map +1 -0
  3. package/dist/KodzeroToValidnoParser.js +306 -0
  4. package/dist/index.d.ts +3 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +2 -0
  7. package/dist/kz-schema-factory/FieldValidator.d.ts +18 -0
  8. package/dist/kz-schema-factory/FieldValidator.d.ts.map +1 -0
  9. package/dist/kz-schema-factory/FieldValidator.js +153 -0
  10. package/dist/kz-schema-factory/SchemaFactory.d.ts +46 -0
  11. package/dist/kz-schema-factory/SchemaFactory.d.ts.map +1 -0
  12. package/dist/kz-schema-factory/SchemaFactory.js +115 -0
  13. package/dist/kz-schema-factory/fields-to-types/number.d.ts +12 -0
  14. package/dist/kz-schema-factory/fields-to-types/number.d.ts.map +1 -0
  15. package/dist/kz-schema-factory/fields-to-types/number.js +41 -0
  16. package/dist/kz-schema-factory/fields-to-types/select.d.ts +12 -0
  17. package/dist/kz-schema-factory/fields-to-types/select.d.ts.map +1 -0
  18. package/dist/kz-schema-factory/fields-to-types/select.js +44 -0
  19. package/dist/kz-schema-factory/fields-to-types/string.d.ts +12 -0
  20. package/dist/kz-schema-factory/fields-to-types/string.d.ts.map +1 -0
  21. package/dist/kz-schema-factory/fields-to-types/string.js +47 -0
  22. package/dist/kz-schema-factory/fields-to-types/url.d.ts +12 -0
  23. package/dist/kz-schema-factory/fields-to-types/url.d.ts.map +1 -0
  24. package/dist/kz-schema-factory/fields-to-types/url.js +45 -0
  25. package/dist/kz-schema-factory/types-constructors/autofieldCreatedAt.d.ts +4 -0
  26. package/dist/kz-schema-factory/types-constructors/autofieldCreatedAt.d.ts.map +1 -0
  27. package/dist/kz-schema-factory/types-constructors/autofieldCreatedAt.js +15 -0
  28. package/dist/kz-schema-factory/types-constructors/autofieldId.d.ts +4 -0
  29. package/dist/kz-schema-factory/types-constructors/autofieldId.d.ts.map +1 -0
  30. package/dist/kz-schema-factory/types-constructors/autofieldId.js +16 -0
  31. package/dist/kz-schema-factory/types-constructors/autofieldUpdatedAt.d.ts +4 -0
  32. package/dist/kz-schema-factory/types-constructors/autofieldUpdatedAt.d.ts.map +1 -0
  33. package/dist/kz-schema-factory/types-constructors/autofieldUpdatedAt.js +15 -0
  34. package/dist/kz-schema-factory/types-constructors/boolean.d.ts +12 -0
  35. package/dist/kz-schema-factory/types-constructors/boolean.d.ts.map +1 -0
  36. package/dist/kz-schema-factory/types-constructors/boolean.js +30 -0
  37. package/dist/kz-schema-factory/types-constructors/date.d.ts +12 -0
  38. package/dist/kz-schema-factory/types-constructors/date.d.ts.map +1 -0
  39. package/dist/kz-schema-factory/types-constructors/date.js +43 -0
  40. package/dist/kz-schema-factory/types-constructors/email.d.ts +12 -0
  41. package/dist/kz-schema-factory/types-constructors/email.d.ts.map +1 -0
  42. package/dist/kz-schema-factory/types-constructors/email.js +45 -0
  43. package/dist/kz-schema-factory/types-constructors/json.d.ts +12 -0
  44. package/dist/kz-schema-factory/types-constructors/json.d.ts.map +1 -0
  45. package/dist/kz-schema-factory/types-constructors/json.js +39 -0
  46. package/dist/kz-schema-factory/types-constructors/number.d.ts +12 -0
  47. package/dist/kz-schema-factory/types-constructors/number.d.ts.map +1 -0
  48. package/dist/kz-schema-factory/types-constructors/number.js +41 -0
  49. package/dist/kz-schema-factory/types-constructors/select.d.ts +12 -0
  50. package/dist/kz-schema-factory/types-constructors/select.d.ts.map +1 -0
  51. package/dist/kz-schema-factory/types-constructors/select.js +44 -0
  52. package/dist/kz-schema-factory/types-constructors/string.d.ts +12 -0
  53. package/dist/kz-schema-factory/types-constructors/string.d.ts.map +1 -0
  54. package/dist/kz-schema-factory/types-constructors/string.js +47 -0
  55. package/dist/kz-schema-factory/types-constructors/url.d.ts +12 -0
  56. package/dist/kz-schema-factory/types-constructors/url.d.ts.map +1 -0
  57. package/dist/kz-schema-factory/types-constructors/url.js +45 -0
  58. package/dist/kz-schema-factory/types.d.ts +60 -0
  59. package/dist/kz-schema-factory/types.d.ts.map +1 -0
  60. package/dist/kz-schema-factory/types.js +1 -0
  61. package/dist/tsconfig.tsbuildinfo +1 -0
  62. package/dist/types/table-fields.d.ts +7 -0
  63. package/dist/types/table-fields.d.ts.map +1 -0
  64. package/dist/types/table-fields.js +1 -0
  65. package/dist/types/table-types-specs.d.ts +39 -0
  66. package/dist/types/table-types-specs.d.ts.map +1 -0
  67. package/dist/types/table-types-specs.js +1 -0
  68. package/dist/utils/generate-secret.d.ts +3 -0
  69. package/dist/utils/generate-secret.d.ts.map +1 -0
  70. package/dist/utils/generate-secret.js +9 -0
  71. package/dist/utils/is-valid-json.d.ts +3 -0
  72. package/dist/utils/is-valid-json.d.ts.map +1 -0
  73. package/dist/utils/is-valid-json.js +16 -0
  74. package/dist/utils/validate-input.d.ts +4 -0
  75. package/dist/utils/validate-input.d.ts.map +1 -0
  76. package/dist/utils/validate-input.js +7 -0
  77. 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,7 @@
1
+ export interface TableFieldItem<S = Record<string, unknown>> {
2
+ key: string;
3
+ type: string;
4
+ title: string;
5
+ specs: S;
6
+ }
7
+ //# sourceMappingURL=table-fields.d.ts.map
@@ -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,3 @@
1
+ declare const generateSecret: (length?: number) => string;
2
+ export default generateSecret;
3
+ //# sourceMappingURL=generate-secret.d.ts.map
@@ -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,3 @@
1
+ declare const isValidJSON: (str: unknown) => boolean;
2
+ export default isValidJSON;
3
+ //# sourceMappingURL=is-valid-json.d.ts.map
@@ -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,4 @@
1
+ import type Schema from 'validno';
2
+ declare const validateInput: (schema: InstanceType<typeof Schema>, settings: unknown) => void;
3
+ export default validateInput;
4
+ //# sourceMappingURL=validate-input.d.ts.map
@@ -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"}
@@ -0,0 +1,7 @@
1
+ const validateInput = (schema, settings) => {
2
+ const validation = schema.validate(settings);
3
+ if (!validation.ok) {
4
+ throw new Error(`Invalid settings for TableFieldNumber: ${validation.errors}`);
5
+ }
6
+ };
7
+ export default validateInput;
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
+ }