@liminalfunctions/framework 1.0.7 → 1.0.9
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/code_generation/utils/type_from_zod.js +4 -5
- package/dist/code_generation/utils/type_from_zod.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/mongoose_from_zod.d.ts +1 -3
- package/dist/utils/mongoose_from_zod.js +18 -6
- package/dist/utils/mongoose_from_zod.js.map +1 -1
- package/dist/utils/pretty_print_zod.js +4 -5
- package/dist/utils/pretty_print_zod.js.map +1 -1
- package/dist/utils/query_validator_from_zod.js +8 -8
- package/dist/utils/query_validator_from_zod.js.map +1 -1
- package/package.json +1 -1
- package/src/code_generation/utils/type_from_zod.ts +4 -5
- package/src/index.ts +1 -1
- package/src/utils/mongoose_from_zod.ts +19 -8
- package/src/utils/pretty_print_zod.ts +4 -5
- package/src/utils/query_validator_from_zod.ts +11 -9
- package/test/tmp/dist/Brief_News_Category.d.ts +16 -0
- package/test/tmp/dist/Brief_News_Category.js +85 -0
- package/test/tmp/dist/Brief_News_Category.js.map +1 -0
- package/test/tmp/dist/Client.d.ts +19 -0
- package/test/tmp/dist/Client.js +97 -0
- package/test/tmp/dist/Client.js.map +1 -0
- package/test/tmp/dist/Institution.d.ts +18 -0
- package/test/tmp/dist/Institution.js +94 -0
- package/test/tmp/dist/Institution.js.map +1 -0
- package/test/tmp/dist/Project.d.ts +16 -0
- package/test/tmp/dist/Project.js +85 -0
- package/test/tmp/dist/Project.js.map +1 -0
- package/test/tmp/dist/index.d.ts +4 -0
- package/test/tmp/dist/index.js +14 -0
- package/test/tmp/dist/index.js.map +1 -0
- package/test/tmp/dist/types/brief_news_category.d.ts +7 -0
- package/test/tmp/dist/types/brief_news_category.js +2 -0
- package/test/tmp/dist/types/brief_news_category.js.map +1 -0
- package/test/tmp/dist/types/brief_news_category_post.d.ts +7 -0
- package/test/tmp/dist/types/brief_news_category_post.js +2 -0
- package/test/tmp/dist/types/brief_news_category_post.js.map +1 -0
- package/test/tmp/dist/types/brief_news_category_put.d.ts +7 -0
- package/test/tmp/dist/types/brief_news_category_put.js +2 -0
- package/test/tmp/dist/types/brief_news_category_put.js.map +1 -0
- package/test/tmp/dist/types/brief_news_category_query.d.ts +26 -0
- package/test/tmp/dist/types/brief_news_category_query.js +2 -0
- package/test/tmp/dist/types/brief_news_category_query.js.map +1 -0
- package/test/tmp/dist/types/client.d.ts +5 -0
- package/test/tmp/dist/types/client.js +2 -0
- package/test/tmp/dist/types/client.js.map +1 -0
- package/test/tmp/dist/types/client_post.d.ts +5 -0
- package/test/tmp/dist/types/client_post.js +2 -0
- package/test/tmp/dist/types/client_post.js.map +1 -0
- package/test/tmp/dist/types/client_put.d.ts +5 -0
- package/test/tmp/dist/types/client_put.js +2 -0
- package/test/tmp/dist/types/client_put.js.map +1 -0
- package/test/tmp/dist/types/client_query.d.ts +18 -0
- package/test/tmp/dist/types/client_query.js +2 -0
- package/test/tmp/dist/types/client_query.js.map +1 -0
- package/test/tmp/dist/types/institution.d.ts +4 -0
- package/test/tmp/dist/types/institution.js +2 -0
- package/test/tmp/dist/types/institution.js.map +1 -0
- package/test/tmp/dist/types/institution_post.d.ts +4 -0
- package/test/tmp/dist/types/institution_post.js +2 -0
- package/test/tmp/dist/types/institution_post.js.map +1 -0
- package/test/tmp/dist/types/institution_put.d.ts +4 -0
- package/test/tmp/dist/types/institution_put.js +2 -0
- package/test/tmp/dist/types/institution_put.js.map +1 -0
- package/test/tmp/dist/types/institution_query.d.ts +14 -0
- package/test/tmp/dist/types/institution_query.js +2 -0
- package/test/tmp/dist/types/institution_query.js.map +1 -0
- package/test/tmp/dist/types/project.d.ts +7 -0
- package/test/tmp/dist/types/project.js +2 -0
- package/test/tmp/dist/types/project.js.map +1 -0
- package/test/tmp/dist/types/project_post.d.ts +7 -0
- package/test/tmp/dist/types/project_post.js +2 -0
- package/test/tmp/dist/types/project_post.js.map +1 -0
- package/test/tmp/dist/types/project_put.d.ts +7 -0
- package/test/tmp/dist/types/project_put.js +2 -0
- package/test/tmp/dist/types/project_put.js.map +1 -0
- package/test/tmp/dist/types/project_query.d.ts +27 -0
- package/test/tmp/dist/types/project_query.js +2 -0
- package/test/tmp/dist/types/project_query.js.map +1 -0
- package/test/tmp/dist/utils/utils.d.ts +11 -0
- package/test/tmp/dist/utils/utils.js +13 -0
- package/test/tmp/dist/utils/utils.js.map +1 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Schema } from "mongoose";
|
|
2
|
-
import { magic_values } from "../../utils/mongoose_from_zod.js";
|
|
3
2
|
import { indent } from "./tab_indent.js";
|
|
4
3
|
export function type_from_zod(zod_definition, indent_level) {
|
|
5
4
|
if (!zod_definition._zod) {
|
|
@@ -34,15 +33,15 @@ export function type_from_zod(zod_definition, indent_level) {
|
|
|
34
33
|
return type_from_zod(zod_definition._zod.def.innerType, indent_level);
|
|
35
34
|
case "custom":
|
|
36
35
|
let result = [];
|
|
37
|
-
if (!
|
|
36
|
+
if (!zod_definition.meta()) {
|
|
38
37
|
throw new Error(`could not find custom parser in the magic value dictionary for type_from_zod`);
|
|
39
38
|
}
|
|
40
|
-
let {
|
|
41
|
-
if (
|
|
39
|
+
let { framework_override_type } = zod_definition.meta();
|
|
40
|
+
if (framework_override_type === 'mongodb_id') {
|
|
42
41
|
result = ['string'];
|
|
43
42
|
}
|
|
44
43
|
else {
|
|
45
|
-
throw new Error(`could not find custom parser for ${
|
|
44
|
+
throw new Error(`could not find custom parser for ${framework_override_type} in the magic value dictionary`);
|
|
46
45
|
}
|
|
47
46
|
return result;
|
|
48
47
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type_from_zod.js","sourceRoot":"","sources":["../../../src/code_generation/utils/type_from_zod.ts"],"names":[],"mappings":"AACA,OAAiB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"type_from_zod.js","sourceRoot":"","sources":["../../../src/code_generation/utils/type_from_zod.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { F_Collection_Registry } from './F_Collection_Registry.js';
|
|
2
2
|
export { F_Collection } from './F_Collection.js';
|
|
3
3
|
export { compile } from './F_Compile.js';
|
|
4
|
-
export { z_mongodb_id } from './utils/mongoose_from_zod.js';
|
|
4
|
+
export { z_mongodb_id, z_mongodb_id_optional } from './utils/mongoose_from_zod.js';
|
|
5
5
|
export { pretty_print as pretty_print_zod } from './utils/pretty_print_zod.js';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { F_Collection_Registry } from './F_Collection_Registry.js';
|
|
2
2
|
export { F_Collection } from './F_Collection.js';
|
|
3
3
|
export { compile } from './F_Compile.js';
|
|
4
|
-
export { z_mongodb_id } from './utils/mongoose_from_zod.js';
|
|
4
|
+
export { z_mongodb_id, z_mongodb_id_optional } from './utils/mongoose_from_zod.js';
|
|
5
5
|
export { pretty_print as pretty_print_zod } from './utils/pretty_print_zod.js';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AAClF,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { z } from "zod/v4";
|
|
2
2
|
import mongoose from "mongoose";
|
|
3
|
-
export declare const magic_values: z.core.$ZodRegistry<{
|
|
4
|
-
override_type: string;
|
|
5
|
-
}, z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
|
|
6
3
|
export declare const z_mongodb_id: z.ZodCustom<string, string>;
|
|
4
|
+
export declare const z_mongodb_id_optional: z.ZodCustom<string, string>;
|
|
7
5
|
export declare function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType): mongoose.Model<T, {}, {}, {}, mongoose.IfAny<T, any, mongoose.Document<unknown, {}, T, {}, {}> & (mongoose.Require_id<T> extends infer T_1 ? T_1 extends mongoose.Require_id<T> ? T_1 extends {
|
|
8
6
|
__v?: infer U;
|
|
9
7
|
} ? T_1 : T_1 & {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod/v4";
|
|
2
2
|
import mongoose, { Schema } from "mongoose";
|
|
3
|
-
export const magic_values = z.registry();
|
|
4
3
|
const underlying_mongodb_id_validator = z.string().length(24);
|
|
4
|
+
const underlying_mongodb_id_validator_optional = underlying_mongodb_id_validator.optional();
|
|
5
5
|
export const z_mongodb_id = z.custom((val) => {
|
|
6
6
|
if (!val) {
|
|
7
7
|
return false;
|
|
@@ -16,7 +16,19 @@ export const z_mongodb_id = z.custom((val) => {
|
|
|
16
16
|
}).meta({
|
|
17
17
|
"type": "string",
|
|
18
18
|
"format": "string",
|
|
19
|
-
}).
|
|
19
|
+
}).meta({ framework_override_type: 'mongodb_id' });
|
|
20
|
+
export const z_mongodb_id_optional = z.custom((val) => {
|
|
21
|
+
let parsed = underlying_mongodb_id_validator_optional.safeParse(val);
|
|
22
|
+
if (!parsed.success) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
}).meta({
|
|
29
|
+
"type": "string",
|
|
30
|
+
"format": "string",
|
|
31
|
+
}).meta({ framework_override_type: 'mongodb_id' });
|
|
20
32
|
export function mongoose_from_zod(schema_name, zod_definition) {
|
|
21
33
|
let mongoose_schema = schema_from_zod(zod_definition);
|
|
22
34
|
return mongoose.model(schema_name, mongoose_schema);
|
|
@@ -88,15 +100,15 @@ export function schema_entry_from_zod(zod_definition, loop_detector = new Set())
|
|
|
88
100
|
case "readonly":
|
|
89
101
|
throw new Error(`Zod type not yet supported: ${zod_definition._zod.def.type});`);
|
|
90
102
|
case "custom":
|
|
91
|
-
if (!
|
|
103
|
+
if (!zod_definition.meta()) {
|
|
92
104
|
throw new Error(`could not find custom parser in the magic value dictionary`);
|
|
93
105
|
}
|
|
94
|
-
let {
|
|
95
|
-
if (
|
|
106
|
+
let { framework_override_type } = zod_definition.meta();
|
|
107
|
+
if (framework_override_type === 'mongodb_id') {
|
|
96
108
|
result = parse_mongodb_id(zod_definition._zod.def);
|
|
97
109
|
}
|
|
98
110
|
else {
|
|
99
|
-
throw new Error(`could not find custom parser for ${
|
|
111
|
+
throw new Error(`could not find custom parser for ${framework_override_type} in the magic value dictionary`);
|
|
100
112
|
}
|
|
101
113
|
result.required = !zod_definition.safeParse(undefined).success;
|
|
102
114
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongoose_from_zod.js","sourceRoot":"","sources":["../../src/utils/mongoose_from_zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"mongoose_from_zod.js","sourceRoot":"","sources":["../../src/utils/mongoose_from_zod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { magic_values } from "./mongoose_from_zod.js";
|
|
2
1
|
export function pretty_print(zod_definition) {
|
|
3
2
|
console.log(parse_object(zod_definition._zod.def, new Set()));
|
|
4
3
|
}
|
|
@@ -22,15 +21,15 @@ function parse_any(zod_definition, loop_detector = new Set()) {
|
|
|
22
21
|
case "union":
|
|
23
22
|
return parse_union(zod_definition._zod.def);
|
|
24
23
|
case "custom":
|
|
25
|
-
if (!
|
|
24
|
+
if (!zod_definition.meta()) {
|
|
26
25
|
throw new Error(`could not find custom parser in the magic value dictionary`);
|
|
27
26
|
}
|
|
28
|
-
let {
|
|
29
|
-
if (
|
|
27
|
+
let { framework_override_type } = zod_definition.meta();
|
|
28
|
+
if (framework_override_type === 'mongodb_id') {
|
|
30
29
|
return 'mongodb_id';
|
|
31
30
|
}
|
|
32
31
|
else {
|
|
33
|
-
throw new Error(`could not find custom parser for ${
|
|
32
|
+
throw new Error(`could not find custom parser for ${framework_override_type} in the magic value dictionary`);
|
|
34
33
|
}
|
|
35
34
|
case "default":
|
|
36
35
|
return parse_any(zod_definition._zod.def.innerType, loop_detector);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pretty_print_zod.js","sourceRoot":"","sources":["../../src/utils/pretty_print_zod.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pretty_print_zod.js","sourceRoot":"","sources":["../../src/utils/pretty_print_zod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod/v4";
|
|
2
|
-
import {
|
|
2
|
+
import { z_mongodb_id } from "./mongoose_from_zod.js";
|
|
3
3
|
export function query_validator_from_zod(zod_definition, mode = 'server') {
|
|
4
4
|
let retval = {
|
|
5
5
|
limit: z.coerce.number().int().optional(),
|
|
@@ -33,15 +33,15 @@ function parse_any(zod_definition, prefix, loop_detector = new Set(), mode = 'se
|
|
|
33
33
|
case "union":
|
|
34
34
|
return parse_union(zod_definition._zod.def, prefix, mode);
|
|
35
35
|
case "custom":
|
|
36
|
-
if (!
|
|
36
|
+
if (!zod_definition.meta()) {
|
|
37
37
|
throw new Error(`could not find custom parser in the magic value dictionary`);
|
|
38
38
|
}
|
|
39
|
-
let {
|
|
40
|
-
if (
|
|
39
|
+
let { framework_override_type } = zod_definition.meta();
|
|
40
|
+
if (framework_override_type === 'mongodb_id') {
|
|
41
41
|
return parse_mongodb_id(prefix, mode);
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
throw new Error(`could not find custom parser for ${
|
|
44
|
+
throw new Error(`could not find custom parser for ${framework_override_type} in the magic value dictionary`);
|
|
45
45
|
}
|
|
46
46
|
case "default":
|
|
47
47
|
return parse_any(zod_definition._zod.def.innerType, prefix, loop_detector, mode);
|
|
@@ -55,11 +55,11 @@ function parse_array(def, prefix, loop_detector, mode) {
|
|
|
55
55
|
return parse_any(def.element, prefix, loop_detector, mode).filter(ele => ele.path == prefix);
|
|
56
56
|
}
|
|
57
57
|
else if (def.element._zod.def.type === 'custom') {
|
|
58
|
-
if (!
|
|
58
|
+
if (!def.element.meta()) {
|
|
59
59
|
return [];
|
|
60
60
|
}
|
|
61
|
-
let {
|
|
62
|
-
if (
|
|
61
|
+
let { framework_override_type } = def.element.meta();
|
|
62
|
+
if (framework_override_type === 'mongodb_id') {
|
|
63
63
|
return parse_mongodb_id(prefix, mode).filter(ele => ele.path == prefix);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query_validator_from_zod.js","sourceRoot":"","sources":["../../src/utils/query_validator_from_zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"query_validator_from_zod.js","sourceRoot":"","sources":["../../src/utils/query_validator_from_zod.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { z, ZodType } from "zod/v4"
|
|
2
2
|
import mongoose, { Schema } from "mongoose";
|
|
3
|
-
import { magic_values } from "../../utils/mongoose_from_zod.js"
|
|
4
3
|
import { indent } from "./tab_indent.js"
|
|
5
4
|
|
|
6
5
|
/*export function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType) {
|
|
@@ -56,15 +55,15 @@ export function type_from_zod(zod_definition: z.ZodType, indent_level: number):
|
|
|
56
55
|
return type_from_zod((zod_definition._zod.def as z.core.$ZodDefaultDef).innerType as ZodType, indent_level);
|
|
57
56
|
case "custom":
|
|
58
57
|
let result = [];
|
|
59
|
-
if(!
|
|
58
|
+
if(!zod_definition.meta()) {
|
|
60
59
|
throw new Error(`could not find custom parser in the magic value dictionary for type_from_zod`)
|
|
61
60
|
}
|
|
62
|
-
let {
|
|
61
|
+
let { framework_override_type } = zod_definition.meta();
|
|
63
62
|
|
|
64
|
-
if(
|
|
63
|
+
if(framework_override_type === 'mongodb_id'){
|
|
65
64
|
result = ['string'];
|
|
66
65
|
} else {
|
|
67
|
-
throw new Error(`could not find custom parser for ${
|
|
66
|
+
throw new Error(`could not find custom parser for ${framework_override_type} in the magic value dictionary`)
|
|
68
67
|
}
|
|
69
68
|
|
|
70
69
|
return result;
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { F_Collection_Registry } from './F_Collection_Registry.js'
|
|
2
2
|
export { F_Collection } from './F_Collection.js'
|
|
3
3
|
export { compile } from './F_Compile.js';
|
|
4
|
-
export { z_mongodb_id } from './utils/mongoose_from_zod.js'
|
|
4
|
+
export { z_mongodb_id, z_mongodb_id_optional } from './utils/mongoose_from_zod.js'
|
|
5
5
|
export { pretty_print as pretty_print_zod } from './utils/pretty_print_zod.js'
|
|
6
6
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { z } from "zod/v4"
|
|
2
2
|
import mongoose, { Schema } from "mongoose";
|
|
3
3
|
|
|
4
|
-
export const magic_values = z.registry<{ override_type: string }>();
|
|
5
|
-
|
|
6
4
|
//export const z_mongodb_id = z.string().length(24).describe('F_Mongodb_ID');
|
|
7
5
|
//export const mongodb_id = () => z_mongodb_id;
|
|
8
6
|
const underlying_mongodb_id_validator = z.string().length(24);
|
|
7
|
+
const underlying_mongodb_id_validator_optional = underlying_mongodb_id_validator.optional();
|
|
8
|
+
|
|
9
9
|
export const z_mongodb_id = z.custom<string>((val) => {
|
|
10
10
|
if(!val){ return false; }
|
|
11
11
|
let parsed = underlying_mongodb_id_validator.safeParse(val);
|
|
@@ -17,8 +17,19 @@ export const z_mongodb_id = z.custom<string>((val) => {
|
|
|
17
17
|
}).meta({
|
|
18
18
|
"type": "string",
|
|
19
19
|
"format": "string",
|
|
20
|
-
}).
|
|
21
|
-
|
|
20
|
+
}).meta({framework_override_type: 'mongodb_id'});
|
|
21
|
+
|
|
22
|
+
export const z_mongodb_id_optional = z.custom<string>((val) => {
|
|
23
|
+
let parsed = underlying_mongodb_id_validator_optional.safeParse(val);
|
|
24
|
+
if (!parsed.success) {
|
|
25
|
+
return false;
|
|
26
|
+
} else {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
}).meta({
|
|
30
|
+
"type": "string",
|
|
31
|
+
"format": "string",
|
|
32
|
+
}).meta({framework_override_type: 'mongodb_id'});
|
|
22
33
|
|
|
23
34
|
export function mongoose_from_zod<T>(schema_name: string, zod_definition: z.core.$ZodType) {
|
|
24
35
|
let mongoose_schema = schema_from_zod(zod_definition);
|
|
@@ -96,15 +107,15 @@ export function schema_entry_from_zod(zod_definition: z.ZodType, loop_detector:
|
|
|
96
107
|
case "readonly":
|
|
97
108
|
throw new Error(`Zod type not yet supported: ${zod_definition._zod.def.type});`)
|
|
98
109
|
case "custom":
|
|
99
|
-
if(!
|
|
110
|
+
if(!zod_definition.meta()) {
|
|
100
111
|
throw new Error(`could not find custom parser in the magic value dictionary`)
|
|
101
112
|
}
|
|
102
|
-
let {
|
|
113
|
+
let { framework_override_type } = zod_definition.meta();
|
|
103
114
|
|
|
104
|
-
if(
|
|
115
|
+
if(framework_override_type === 'mongodb_id'){
|
|
105
116
|
result = parse_mongodb_id(zod_definition._zod.def as z.core.$ZodCustomDef)
|
|
106
117
|
} else {
|
|
107
|
-
throw new Error(`could not find custom parser for ${
|
|
118
|
+
throw new Error(`could not find custom parser for ${framework_override_type} in the magic value dictionary`)
|
|
108
119
|
}
|
|
109
120
|
|
|
110
121
|
result.required = !zod_definition.safeParse(undefined).success;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { z } from "zod/v4"
|
|
2
|
-
import { magic_values } from "./mongoose_from_zod.js";
|
|
3
2
|
|
|
4
3
|
export function pretty_print(zod_definition: z.ZodObject){
|
|
5
4
|
console.log(parse_object(zod_definition._zod.def, new Set()));
|
|
@@ -25,15 +24,15 @@ function parse_any(zod_definition: z.ZodType, loop_detector: Set<any> = new Set(
|
|
|
25
24
|
case "union":
|
|
26
25
|
return parse_union(zod_definition._zod.def as z.core.$ZodUnionDef,)
|
|
27
26
|
case "custom":
|
|
28
|
-
if(!
|
|
27
|
+
if(!zod_definition.meta()) {
|
|
29
28
|
throw new Error(`could not find custom parser in the magic value dictionary`)
|
|
30
29
|
}
|
|
31
|
-
let {
|
|
30
|
+
let { framework_override_type } = zod_definition.meta();
|
|
32
31
|
|
|
33
|
-
if(
|
|
32
|
+
if(framework_override_type === 'mongodb_id'){
|
|
34
33
|
return 'mongodb_id';
|
|
35
34
|
} else {
|
|
36
|
-
throw new Error(`could not find custom parser for ${
|
|
35
|
+
throw new Error(`could not find custom parser for ${framework_override_type} in the magic value dictionary`)
|
|
37
36
|
}
|
|
38
37
|
case "default":
|
|
39
38
|
//@ts-ignore
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod/v4"
|
|
2
2
|
import { $ZodLooseShape } from "zod/v4/core";
|
|
3
|
-
import {
|
|
3
|
+
import { z_mongodb_id } from "./mongoose_from_zod.js";
|
|
4
4
|
|
|
5
5
|
type type_filters = {
|
|
6
6
|
path: string,
|
|
@@ -45,15 +45,15 @@ function parse_any(zod_definition: z.ZodTypeAny, prefix: string, loop_detector:
|
|
|
45
45
|
case "union":
|
|
46
46
|
return parse_union(zod_definition._zod.def as z.core.$ZodUnionDef, prefix, mode)
|
|
47
47
|
case "custom":
|
|
48
|
-
if(!
|
|
48
|
+
if(!zod_definition.meta()) {
|
|
49
49
|
throw new Error(`could not find custom parser in the magic value dictionary`)
|
|
50
50
|
}
|
|
51
|
-
let {
|
|
51
|
+
let { framework_override_type } = zod_definition.meta();
|
|
52
52
|
|
|
53
|
-
if(
|
|
53
|
+
if(framework_override_type === 'mongodb_id'){
|
|
54
54
|
return parse_mongodb_id(prefix, mode);
|
|
55
55
|
} else {
|
|
56
|
-
throw new Error(`could not find custom parser for ${
|
|
56
|
+
throw new Error(`could not find custom parser for ${framework_override_type} in the magic value dictionary`)
|
|
57
57
|
}
|
|
58
58
|
case "default":
|
|
59
59
|
//@ts-ignore
|
|
@@ -67,14 +67,16 @@ function parse_array(def: z.core.$ZodArrayDef, prefix: string, loop_detector: Se
|
|
|
67
67
|
let simple_children = ['enum', 'string', 'number', 'int', 'boolean']
|
|
68
68
|
if(simple_children.includes(def.element._zod.def.type)) {
|
|
69
69
|
//@ts-ignore
|
|
70
|
-
return parse_any(def.element, prefix, loop_detector, mode).filter(ele => ele.path == prefix)
|
|
70
|
+
return parse_any(def.element, prefix, loop_detector, mode).filter(ele => ele.path == prefix);
|
|
71
71
|
} else if(def.element._zod.def.type === 'custom'){
|
|
72
|
-
|
|
72
|
+
//@ts-ignore
|
|
73
|
+
if(!def.element.meta()) {
|
|
73
74
|
return [];
|
|
74
75
|
}
|
|
75
|
-
|
|
76
|
+
//@ts-ignore
|
|
77
|
+
let { framework_override_type } = def.element.meta();
|
|
76
78
|
|
|
77
|
-
if(
|
|
79
|
+
if(framework_override_type === 'mongodb_id'){
|
|
78
80
|
return parse_mongodb_id(prefix, mode).filter(ele => ele.path == prefix);
|
|
79
81
|
}
|
|
80
82
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { brief_news_category } from "./types/brief_news_category.js";
|
|
2
|
+
import { brief_news_category_query } from "./types/brief_news_category_query.js";
|
|
3
|
+
import { brief_news_category_put } from "./types/brief_news_category_put.js";
|
|
4
|
+
import { brief_news_category_post } from "./types/brief_news_category_post.js";
|
|
5
|
+
export declare class Collection_Brief_News_Category {
|
|
6
|
+
path: string[];
|
|
7
|
+
get_auth: () => Promise<any>;
|
|
8
|
+
constructor(path: string[], get_auth: () => Promise<any>);
|
|
9
|
+
query(query: brief_news_category_query): Promise<brief_news_category[]>;
|
|
10
|
+
post(document: brief_news_category_post): Promise<brief_news_category>;
|
|
11
|
+
document(document_id: string): {
|
|
12
|
+
get(): Promise<brief_news_category>;
|
|
13
|
+
put(update: brief_news_category_put): Promise<brief_news_category>;
|
|
14
|
+
remove(): Promise<brief_news_category>;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import ky from "ky";
|
|
2
|
+
import { encode_search_params } from "./utils/utils.js";
|
|
3
|
+
export class Collection_Brief_News_Category {
|
|
4
|
+
path;
|
|
5
|
+
get_auth;
|
|
6
|
+
constructor(path, get_auth) {
|
|
7
|
+
this.path = path;
|
|
8
|
+
this.get_auth = get_auth;
|
|
9
|
+
}
|
|
10
|
+
async query(query) {
|
|
11
|
+
try {
|
|
12
|
+
let result = await ky.get(this.path.join('/'), {
|
|
13
|
+
headers: {
|
|
14
|
+
authorization: await this.get_auth()
|
|
15
|
+
},
|
|
16
|
+
searchParams: encode_search_params(query)
|
|
17
|
+
}).json();
|
|
18
|
+
return result.data;
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
return Promise.reject(err);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async post(document) {
|
|
25
|
+
try {
|
|
26
|
+
let result = await ky.post(this.path.join('/'), {
|
|
27
|
+
headers: {
|
|
28
|
+
authorization: await this.get_auth()
|
|
29
|
+
},
|
|
30
|
+
json: document
|
|
31
|
+
}).json();
|
|
32
|
+
return result.data;
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
return Promise.reject(err);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
document(document_id) {
|
|
39
|
+
let path = this.path;
|
|
40
|
+
let get_auth = this.get_auth;
|
|
41
|
+
return {
|
|
42
|
+
async get() {
|
|
43
|
+
try {
|
|
44
|
+
let result = await ky.get([...path, document_id].join('/'), {
|
|
45
|
+
headers: {
|
|
46
|
+
authorization: await get_auth()
|
|
47
|
+
},
|
|
48
|
+
}).json();
|
|
49
|
+
return result.data;
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
return Promise.reject(err);
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
async put(update) {
|
|
56
|
+
try {
|
|
57
|
+
let result = await ky.put([...path, document_id].join('/'), {
|
|
58
|
+
headers: {
|
|
59
|
+
authorization: await get_auth()
|
|
60
|
+
},
|
|
61
|
+
json: update
|
|
62
|
+
}).json();
|
|
63
|
+
return result.data;
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
return Promise.reject(err);
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
async remove() {
|
|
70
|
+
try {
|
|
71
|
+
let result = await ky.delete([...path, document_id].join('/'), {
|
|
72
|
+
headers: {
|
|
73
|
+
authorization: await get_auth()
|
|
74
|
+
},
|
|
75
|
+
}).json();
|
|
76
|
+
return result.data;
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
return Promise.reject(err);
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=Brief_News_Category.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Brief_News_Category.js","sourceRoot":"","sources":["../src/Brief_News_Category.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Collection_Project } from "./Project.js";
|
|
2
|
+
import { Collection_Brief_News_Category } from "./Brief_News_Category.js";
|
|
3
|
+
import { client } from "./types/client.js";
|
|
4
|
+
import { client_query } from "./types/client_query.js";
|
|
5
|
+
import { client_put } from "./types/client_put.js";
|
|
6
|
+
import { client_post } from "./types/client_post.js";
|
|
7
|
+
export declare class Collection_Client {
|
|
8
|
+
path: string[];
|
|
9
|
+
get_auth: () => Promise<any>;
|
|
10
|
+
constructor(path: string[], get_auth: () => Promise<any>);
|
|
11
|
+
query(query: client_query): Promise<client[]>;
|
|
12
|
+
post(document: client_post): Promise<client>;
|
|
13
|
+
document(document_id: string): {
|
|
14
|
+
get(): Promise<client>;
|
|
15
|
+
put(update: client_put): Promise<client>;
|
|
16
|
+
remove(): Promise<client>;
|
|
17
|
+
collection(collection_id: "project" | "brief_news_category"): Collection_Brief_News_Category | Collection_Project;
|
|
18
|
+
};
|
|
19
|
+
}
|