@seamapi/nextlove-sdk-generator 1.13.2 → 1.13.4
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/lib/generate-python-sdk/generate-python-sdk.d.ts +1 -0
- package/lib/generate-python-sdk/generate-python-sdk.js +16 -7
- package/lib/generate-python-sdk/generate-python-sdk.js.map +1 -1
- package/lib/generate-python-sdk/templates/abstract-routes.template.js +4 -1
- package/lib/generate-python-sdk/templates/abstract-routes.template.js.map +1 -1
- package/lib/generate-python-sdk/templates/routes.py.template.js +3 -2
- package/lib/generate-python-sdk/templates/routes.py.template.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/generate-python-sdk/generate-python-sdk.ts +19 -7
- package/src/lib/generate-python-sdk/templates/abstract-routes.template.ts +6 -1
- package/src/lib/generate-python-sdk/templates/routes.py.template.ts +8 -2
|
@@ -26,7 +26,8 @@ export const generatePythonSDK = async (options = {}) => {
|
|
|
26
26
|
namespace: child_resource,
|
|
27
27
|
}));
|
|
28
28
|
const pascal_resource_name = pascalCase(resource_name);
|
|
29
|
-
|
|
29
|
+
const class_name = pascalCase(convertCustomResourceNamespace(resource_name));
|
|
30
|
+
class_map[pascal_resource_name] = new ClassFile(class_name, resource_name, child_class_identifiers);
|
|
30
31
|
};
|
|
31
32
|
for (const route of routes) {
|
|
32
33
|
if (!route.post)
|
|
@@ -102,7 +103,7 @@ export const generatePythonSDK = async (options = {}) => {
|
|
|
102
103
|
"",
|
|
103
104
|
...Object.entries(openapi.components.schemas)
|
|
104
105
|
.map(([schema_name, schema]) => [schema_name, flattenObjSchema(schema)])
|
|
105
|
-
.map(([schema_name, schema]) => resourceDataclassTemplate(pascalCase(schema_name), Object.entries(schema.properties).map(([name, property_schema]) => ({
|
|
106
|
+
.map(([schema_name, schema]) => resourceDataclassTemplate(pascalCase(convertCustomResourceName(schema_name)), Object.entries(schema.properties).map(([name, property_schema]) => ({
|
|
106
107
|
name,
|
|
107
108
|
type: mapPythonType(property_schema),
|
|
108
109
|
})))),
|
|
@@ -124,12 +125,20 @@ function determineReturnResource({ route_path, response_arr_type, response_obj_t
|
|
|
124
125
|
if (endpoints_returning_deprecated_action_attempt.includes(route_path)) {
|
|
125
126
|
return "None";
|
|
126
127
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return
|
|
128
|
+
const response_type = response_obj_type || response_arr_type;
|
|
129
|
+
if (response_type) {
|
|
130
|
+
const converted_response_type = convertCustomResourceName(response_type);
|
|
131
|
+
const formatted_response_type = pascalCase(converted_response_type);
|
|
132
|
+
return response_obj_type
|
|
133
|
+
? formatted_response_type
|
|
134
|
+
: `List[${formatted_response_type}]`;
|
|
132
135
|
}
|
|
133
136
|
return "None";
|
|
134
137
|
}
|
|
138
|
+
export function convertCustomResourceNamespace(resource_name) {
|
|
139
|
+
return resource_name === "events" ? "seam_events" : resource_name;
|
|
140
|
+
}
|
|
141
|
+
function convertCustomResourceName(response_type) {
|
|
142
|
+
return response_type === "event" ? "seam_event" : response_type;
|
|
143
|
+
}
|
|
135
144
|
//# sourceMappingURL=generate-python-sdk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-python-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/generate-python-sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,sBAAsB,MAAM,yCAAyC,CAAA;AAC5E,OAAO,yBAAyB,MAAM,4CAA4C,CAAA;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAA;AAChG,OAAO,yBAAyB,MAAM,gDAAgD,CAAA;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qEAAqE,CAAA;AACpH,OAAO,EACL,6CAA6C,EAC7C,sBAAsB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,UAA+B,EAAE,EAAE,EAAE;IAC3E,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACjD,MAAM,MAAM,GAAY,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI;QACJ,GAAG,CAAC;KACL,CAAC,CAAC,CAAA;IAEH,MAAM,EAAE,GAA2B,EAAE,CAAA;IACrC,MAAM,SAAS,GAA8B,EAAE,CAAA;IAC/C,MAAM,UAAU,GAAe,EAAE,CAAA;IACjC,MAAM,6BAA6B,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAEvE,MAAM,YAAY,GAAG,CAAC,aAAqB,EAAE,EAAE;QAC7C,MAAM,uBAAuB,GAAG,CAC9B,6BAA6B,CAAC,aAAa,CAAC,IAAI,EAAE,CACnD,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACzB,UAAU,EAAE,UAAU,CAAC,GAAG,aAAa,IAAI,cAAc,EAAE,CAAC;YAC5D,SAAS,EAAE,cAAc;SAC1B,CAAC,CAAC,CAAA;QACH,MAAM,oBAAoB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"generate-python-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/generate-python-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { pascalCase } from "change-case";
|
|
2
|
+
import { convertCustomResourceNamespace } from "../generate-python-sdk.js";
|
|
2
3
|
export default (namespaces) => `@dataclass
|
|
3
4
|
class AbstractRoutes(abc.ABC):
|
|
4
|
-
${namespaces
|
|
5
|
+
${namespaces
|
|
6
|
+
.map((ns) => ` ${ns}: Abstract${pascalCase(convertCustomResourceNamespace(ns))}`)
|
|
7
|
+
.join("\n")}
|
|
5
8
|
`;
|
|
6
9
|
//# sourceMappingURL=abstract-routes.template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-routes.template.js","sourceRoot":"","sources":["../../../src/lib/generate-python-sdk/templates/abstract-routes.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"abstract-routes.template.js","sourceRoot":"","sources":["../../../src/lib/generate-python-sdk/templates/abstract-routes.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAE1E,eAAe,CAAC,UAAoB,EAAE,EAAE,CAAC;;EAEvC,UAAU;KACT,GAAG,CACF,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,UAAU,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,EAAE,CAC7E;KACA,IAAI,CAAC,IAAI,CAAC;CACZ,CAAA"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { pascalCase } from "change-case";
|
|
2
|
+
import { convertCustomResourceNamespace } from "../generate-python-sdk.js";
|
|
2
3
|
export default (namespaces) => [
|
|
3
4
|
`from typing import Any, Dict`,
|
|
4
5
|
`from ..client import SeamHttpClient`,
|
|
5
6
|
`from .models import AbstractRoutes`,
|
|
6
|
-
...namespaces.map((ns) => `from .${ns} import ${pascalCase(ns)}`),
|
|
7
|
+
...namespaces.map((ns) => `from .${ns} import ${pascalCase(convertCustomResourceNamespace(ns))}`),
|
|
7
8
|
``,
|
|
8
9
|
`class Routes(AbstractRoutes):`,
|
|
9
10
|
` def __init__(self, client: SeamHttpClient, defaults: Dict[str, Any]):`,
|
|
10
|
-
...namespaces.map((ns) => ` self.${ns} = ${pascalCase(ns)}(client=client, defaults=defaults)`),
|
|
11
|
+
...namespaces.map((ns) => ` self.${ns} = ${pascalCase(convertCustomResourceNamespace(ns))}(client=client, defaults=defaults)`),
|
|
11
12
|
].join("\n");
|
|
12
13
|
//# sourceMappingURL=routes.py.template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.py.template.js","sourceRoot":"","sources":["../../../src/lib/generate-python-sdk/templates/routes.py.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,eAAe,CAAC,UAAoB,EAAE,EAAE,CACtC;IACE,8BAA8B;IAC9B,qCAAqC;IACrC,oCAAoC;IACpC,GAAG,UAAU,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"routes.py.template.js","sourceRoot":"","sources":["../../../src/lib/generate-python-sdk/templates/routes.py.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC1E,eAAe,CAAC,UAAoB,EAAE,EAAE,CACtC;IACE,8BAA8B;IAC9B,qCAAqC;IACrC,oCAAoC;IACpC,GAAG,UAAU,CAAC,GAAG,CACf,CAAC,EAAE,EAAE,EAAE,CACL,SAAS,EAAE,WAAW,UAAU,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,EAAE,CACzE;IACD,EAAE;IACF,+BAA+B;IAC/B,yEAAyE;IACzE,GAAG,UAAU,CAAC,GAAG,CACf,CAAC,EAAE,EAAE,EAAE,CACL,YAAY,EAAE,MAAM,UAAU,CAC5B,8BAA8B,CAAC,EAAE,CAAC,CACnC,oCAAoC,CACxC;CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -35,9 +35,10 @@ export const generatePythonSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
35
35
|
namespace: child_resource,
|
|
36
36
|
}))
|
|
37
37
|
const pascal_resource_name = pascalCase(resource_name)
|
|
38
|
+
const class_name = pascalCase(convertCustomResourceNamespace(resource_name))
|
|
38
39
|
|
|
39
40
|
class_map[pascal_resource_name] = new ClassFile(
|
|
40
|
-
|
|
41
|
+
class_name,
|
|
41
42
|
resource_name,
|
|
42
43
|
child_class_identifiers
|
|
43
44
|
)
|
|
@@ -139,7 +140,7 @@ export const generatePythonSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
139
140
|
)
|
|
140
141
|
.map(([schema_name, schema]) =>
|
|
141
142
|
resourceDataclassTemplate(
|
|
142
|
-
pascalCase(schema_name),
|
|
143
|
+
pascalCase(convertCustomResourceName(schema_name)),
|
|
143
144
|
Object.entries(schema.properties).map(([name, property_schema]) => ({
|
|
144
145
|
name,
|
|
145
146
|
type: mapPythonType(property_schema as any),
|
|
@@ -178,13 +179,24 @@ function determineReturnResource({
|
|
|
178
179
|
return "None"
|
|
179
180
|
}
|
|
180
181
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
182
|
+
const response_type = response_obj_type || response_arr_type
|
|
183
|
+
|
|
184
|
+
if (response_type) {
|
|
185
|
+
const converted_response_type = convertCustomResourceName(response_type)
|
|
186
|
+
const formatted_response_type = pascalCase(converted_response_type)
|
|
184
187
|
|
|
185
|
-
|
|
186
|
-
|
|
188
|
+
return response_obj_type
|
|
189
|
+
? formatted_response_type
|
|
190
|
+
: `List[${formatted_response_type}]`
|
|
187
191
|
}
|
|
188
192
|
|
|
189
193
|
return "None"
|
|
190
194
|
}
|
|
195
|
+
|
|
196
|
+
export function convertCustomResourceNamespace(resource_name: string): string {
|
|
197
|
+
return resource_name === "events" ? "seam_events" : resource_name
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
function convertCustomResourceName(response_type: string): string {
|
|
201
|
+
return response_type === "event" ? "seam_event" : response_type
|
|
202
|
+
}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { pascalCase } from "change-case"
|
|
2
|
+
import { convertCustomResourceNamespace } from "../generate-python-sdk.js"
|
|
2
3
|
|
|
3
4
|
export default (namespaces: string[]) => `@dataclass
|
|
4
5
|
class AbstractRoutes(abc.ABC):
|
|
5
|
-
${namespaces
|
|
6
|
+
${namespaces
|
|
7
|
+
.map(
|
|
8
|
+
(ns) => ` ${ns}: Abstract${pascalCase(convertCustomResourceNamespace(ns))}`
|
|
9
|
+
)
|
|
10
|
+
.join("\n")}
|
|
6
11
|
`
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { pascalCase } from "change-case"
|
|
2
|
+
import { convertCustomResourceNamespace } from "../generate-python-sdk.js"
|
|
2
3
|
export default (namespaces: string[]) =>
|
|
3
4
|
[
|
|
4
5
|
`from typing import Any, Dict`,
|
|
5
6
|
`from ..client import SeamHttpClient`,
|
|
6
7
|
`from .models import AbstractRoutes`,
|
|
7
|
-
...namespaces.map(
|
|
8
|
+
...namespaces.map(
|
|
9
|
+
(ns) =>
|
|
10
|
+
`from .${ns} import ${pascalCase(convertCustomResourceNamespace(ns))}`
|
|
11
|
+
),
|
|
8
12
|
``,
|
|
9
13
|
`class Routes(AbstractRoutes):`,
|
|
10
14
|
` def __init__(self, client: SeamHttpClient, defaults: Dict[str, Any]):`,
|
|
11
15
|
...namespaces.map(
|
|
12
16
|
(ns) =>
|
|
13
|
-
` self.${ns} = ${pascalCase(
|
|
17
|
+
` self.${ns} = ${pascalCase(
|
|
18
|
+
convertCustomResourceNamespace(ns)
|
|
19
|
+
)}(client=client, defaults=defaults)`
|
|
14
20
|
),
|
|
15
21
|
].join("\n")
|