@seamapi/nextlove-sdk-generator 1.19.3 → 1.19.6
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-php-sdk/generate-php-sdk.js +3 -2
- package/lib/generate-php-sdk/generate-php-sdk.js.map +1 -1
- package/lib/generate-python-sdk/generate-python-sdk.js +4 -3
- package/lib/generate-python-sdk/generate-python-sdk.js.map +1 -1
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js +4 -3
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js.map +1 -1
- package/lib/openapi/get-filtered-routes.js +7 -1
- package/lib/openapi/get-filtered-routes.js.map +1 -1
- package/lib/openapi/get-parameter-and-response-schema.d.ts +9 -0
- package/lib/openapi/get-parameter-and-response-schema.js +10 -1
- package/lib/openapi/get-parameter-and-response-schema.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/generate-php-sdk/generate-php-sdk.ts +3 -5
- package/src/lib/generate-python-sdk/generate-python-sdk.ts +4 -5
- package/src/lib/generate-ruby-sdk/generate-ruby-sdk.ts +4 -5
- package/src/lib/openapi/get-filtered-routes.ts +9 -1
- package/src/lib/openapi/get-parameter-and-response-schema.ts +9 -1
- package/lib/openapi/get-sdk-group-metadata.d.ts +0 -6
- package/lib/openapi/get-sdk-group-metadata.js +0 -16
- package/lib/openapi/get-sdk-group-metadata.js.map +0 -1
- package/src/lib/openapi/get-sdk-group-metadata.ts +0 -28
|
@@ -18,7 +18,6 @@ import PaginatorTemplate from "./templates/Paginator.php.template.js";
|
|
|
18
18
|
import mapParentToChildResources from "../../lib/openapi/map-parent-to-children-resource.js";
|
|
19
19
|
import resolveOpenapiSpec from "../../lib/openapi/resolve-openapi-spec.js";
|
|
20
20
|
import { loadExceptionTemplates } from "./utils/load-exception-templates.js";
|
|
21
|
-
import { getSdkGroupMetadata } from "../../lib/openapi/get-sdk-group-metadata.js";
|
|
22
21
|
export const generatePhpSDK = async (options = {}) => {
|
|
23
22
|
const openapi = await resolveOpenapiSpec(options);
|
|
24
23
|
const routes = getFilteredRoutes(openapi);
|
|
@@ -72,7 +71,9 @@ export const generatePhpSDK = async (options = {}) => {
|
|
|
72
71
|
for (const route of routes) {
|
|
73
72
|
if (!route.post || !route.post["x-fern-sdk-group-name"])
|
|
74
73
|
continue;
|
|
75
|
-
const
|
|
74
|
+
const group_names = [...route.post["x-fern-sdk-group-name"]];
|
|
75
|
+
const [base_resource] = group_names;
|
|
76
|
+
const namespace = group_names.join("_");
|
|
76
77
|
const client_name = pascalCase(namespace);
|
|
77
78
|
if (!clients[client_name]) {
|
|
78
79
|
processClient(namespace);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-php-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-php-sdk/generate-php-sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAA;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,SAAS,EAA4B,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAA;AAClG,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,oBAAoB,MAAM,uCAAuC,CAAA;AACxE,OAAO,iBAAiB,MAAM,mCAAmC,CAAA;AACjE,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AACpE,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,iBAAiB,MAAM,oCAAoC,CAAA;AAClE,OAAO,sBAAsB,MAAM,4CAA4C,CAAA;AAC/E,OAAO,iBAAiB,MAAM,uCAAuC,CAAA;AACrE,OAAO,yBAAyB,MAAM,gDAAgD,CAAA;AACtF,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"generate-php-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-php-sdk/generate-php-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,6 @@ import resolveOpenapiSpec from "../../lib/openapi/resolve-openapi-spec.js";
|
|
|
12
12
|
import { getFilteredRoutes } from "../../lib/openapi/get-filtered-routes.js";
|
|
13
13
|
import { convertCustomResourceName } from "../../lib/custom-resource-name-conversions.js";
|
|
14
14
|
import { deepFlattenOneOfAndAllOfSchema } from "../../lib/openapi/deep-flatten-one-of-and-all-of-schema.js";
|
|
15
|
-
import { getSdkGroupMetadata } from "../../lib/openapi/get-sdk-group-metadata.js";
|
|
16
15
|
export const generatePythonSDK = async (options = {}) => {
|
|
17
16
|
const openapi = await resolveOpenapiSpec(options);
|
|
18
17
|
const routes = getFilteredRoutes(openapi);
|
|
@@ -36,10 +35,12 @@ export const generatePythonSDK = async (options = {}) => {
|
|
|
36
35
|
continue;
|
|
37
36
|
if (ignored_endpoint_paths.includes(route.path))
|
|
38
37
|
continue;
|
|
39
|
-
const
|
|
38
|
+
const group_names = [...route.post["x-fern-sdk-group-name"]];
|
|
39
|
+
const [base_resource] = group_names;
|
|
40
|
+
const namespace = group_names.join("_");
|
|
40
41
|
const class_name = pascalCase(namespace);
|
|
41
42
|
if (!class_map[class_name]) {
|
|
42
|
-
namespaces.push(
|
|
43
|
+
namespaces.push(route.post["x-fern-sdk-group-name"]);
|
|
43
44
|
processClass(namespace);
|
|
44
45
|
}
|
|
45
46
|
/*
|
|
@@ -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,EACL,6CAA6C,EAC7C,sBAAsB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAA;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sDAAsD,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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"}
|
|
@@ -14,7 +14,6 @@ import resolveOpenapiSpec from "../../lib/openapi/resolve-openapi-spec.js";
|
|
|
14
14
|
import { getFilteredRoutes } from "../../lib/openapi/get-filtered-routes.js";
|
|
15
15
|
import { generateEntityImportsTemplate } from "./lib/get-entity-imports-template.js";
|
|
16
16
|
import { convertCustomResourceName } from "../../lib/custom-resource-name-conversions.js";
|
|
17
|
-
import { getSdkGroupMetadata } from "../../lib/openapi/get-sdk-group-metadata.js";
|
|
18
17
|
export const generateRubySDK = async (options = {}) => {
|
|
19
18
|
const openapi = await resolveOpenapiSpec(options);
|
|
20
19
|
const routes = getFilteredRoutes(openapi);
|
|
@@ -60,8 +59,10 @@ export const generateRubySDK = async (options = {}) => {
|
|
|
60
59
|
continue;
|
|
61
60
|
if (ignored_endpoint_paths.includes(route.path))
|
|
62
61
|
continue;
|
|
63
|
-
const
|
|
64
|
-
const
|
|
62
|
+
const group_names = [...route.post["x-fern-sdk-group-name"]];
|
|
63
|
+
const [base_resource] = group_names;
|
|
64
|
+
const namespace = group_names.join("_");
|
|
65
|
+
const client_name = pascalCase(group_names.join("_"));
|
|
65
66
|
if (!clients[client_name])
|
|
66
67
|
processClient(namespace);
|
|
67
68
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-ruby-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-ruby-sdk/generate-ruby-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,kBAAkB,MAAM,8CAA8C,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAA;AAChG,OAAO,wBAAwB,MAAM,2CAA2C,CAAA;AAChF,OAAO,0BAA0B,MAAM,6CAA6C,CAAA;AACpF,OAAO,iCAAiC,MAAM,oDAAoD,CAAA;AAClG,OAAO,mCAAmC,MAAM,sDAAsD,CAAA;AACtG,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,yBAAyB,MAAM,gDAAgD,CAAA;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAA;
|
|
1
|
+
{"version":3,"file":"generate-ruby-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-ruby-sdk/generate-ruby-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export function getFilteredRoutes(openapi) {
|
|
2
2
|
return Object.entries(openapi.paths)
|
|
3
|
-
.filter(([
|
|
3
|
+
.filter(([, pathSchema]) => {
|
|
4
|
+
const post = pathSchema.post;
|
|
5
|
+
const summary = post.summary;
|
|
6
|
+
const isDocumented = post?.["x-undocumented"] == null;
|
|
7
|
+
const isSeamInternalRoute = summary.startsWith("/seam/");
|
|
8
|
+
return isDocumented && !isSeamInternalRoute;
|
|
9
|
+
})
|
|
4
10
|
.map(([path, route]) => ({ path, ...route }));
|
|
5
11
|
}
|
|
6
12
|
//# sourceMappingURL=get-filtered-routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-filtered-routes.js","sourceRoot":"","sources":["../../src/lib/openapi/get-filtered-routes.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,OAAsB;IACtD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"get-filtered-routes.js","sourceRoot":"","sources":["../../src/lib/openapi/get-filtered-routes.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,OAAsB;IACtD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,MAAM,YAAY,GAAG,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAA;QACrD,MAAM,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAExD,OAAO,YAAY,IAAI,CAAC,mBAAmB,CAAA;IAC7C,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;AACjD,CAAC"}
|
|
@@ -6,6 +6,15 @@ export declare const getParameterAndResponseSchema: (route: Route) => {
|
|
|
6
6
|
parameter_schema?: never;
|
|
7
7
|
response_schema?: never;
|
|
8
8
|
res_return_schema?: never;
|
|
9
|
+
} | {
|
|
10
|
+
response_obj_type: string;
|
|
11
|
+
response_arr_type: undefined;
|
|
12
|
+
parameter_schema: ObjSchema;
|
|
13
|
+
nullable: boolean;
|
|
14
|
+
response_schema: ObjSchema | {
|
|
15
|
+
oneOf: ObjSchema[];
|
|
16
|
+
};
|
|
17
|
+
res_return_schema?: never;
|
|
9
18
|
} | {
|
|
10
19
|
response_obj_type: undefined;
|
|
11
20
|
response_arr_type: undefined;
|
|
@@ -22,7 +22,16 @@ export const getParameterAndResponseSchema = (route) => {
|
|
|
22
22
|
const res_return_schema = response_schema.properties[route.post["x-response-key"] ?? ""];
|
|
23
23
|
const response_obj_ref = res_return_schema?.$ref;
|
|
24
24
|
const response_arr_ref = res_return_schema?.items?.$ref;
|
|
25
|
-
if (
|
|
25
|
+
if (route.post["x-response-key"] === "batch") {
|
|
26
|
+
return {
|
|
27
|
+
response_obj_type: route.post["x-response-key"],
|
|
28
|
+
response_arr_type: undefined,
|
|
29
|
+
parameter_schema,
|
|
30
|
+
nullable,
|
|
31
|
+
response_schema,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
else if (!response_obj_ref && !response_arr_ref) {
|
|
26
35
|
return {
|
|
27
36
|
response_obj_type: undefined,
|
|
28
37
|
response_arr_type: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-parameter-and-response-schema.js","sourceRoot":"","sources":["../../src/lib/openapi/get-parameter-and-response-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAA;AAE3F,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,KAAY,EAAE,EAAE;IAC5D,MAAM,eAAe,GACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAEpE,MAAM,QAAQ,GAAG,CAAC,CAChB,eAAe;QACf,UAAU,IAAI,eAAe;QAC7B,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CACvE,CAAA;IAED,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,EAAE,QAAQ,EAAE,CAAA;KACpB;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG;YACvB,OAAO,EAAE;gBACP,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;aACnE;SACK,CAAA;KACT;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE;QACzD,OAAO,EAAE,QAAQ,EAAE,CAAA;KACpB;IAED,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAC1D,CAAA;IAED,MAAM,iBAAiB,GAAI,eAAuB,CAAC,UAAU,CAC3D,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CACnC,CAAA;IAED,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,IAAI,CAAA;IAChD,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAA;IAEvD,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,EAAE;
|
|
1
|
+
{"version":3,"file":"get-parameter-and-response-schema.js","sourceRoot":"","sources":["../../src/lib/openapi/get-parameter-and-response-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAA;AAE3F,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,KAAY,EAAE,EAAE;IAC5D,MAAM,eAAe,GACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAEpE,MAAM,QAAQ,GAAG,CAAC,CAChB,eAAe;QACf,UAAU,IAAI,eAAe;QAC7B,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CACvE,CAAA;IAED,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,EAAE,QAAQ,EAAE,CAAA;KACpB;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG;YACvB,OAAO,EAAE;gBACP,kBAAkB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;aACnE;SACK,CAAA;KACT;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE;QACzD,OAAO,EAAE,QAAQ,EAAE,CAAA;KACpB;IAED,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAC1D,CAAA;IAED,MAAM,iBAAiB,GAAI,eAAuB,CAAC,UAAU,CAC3D,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CACnC,CAAA;IAED,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,IAAI,CAAA;IAChD,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAA;IAEvD,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,OAAO,EAAE;QAC5C,OAAO;YACL,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC/C,iBAAiB,EAAE,SAAS;YAC5B,gBAAgB;YAChB,QAAQ;YACR,eAAe;SAChB,CAAA;KACF;SAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,EAAE;QACjD,OAAO;YACL,iBAAiB,EAAE,SAAS;YAC5B,iBAAiB,EAAE,SAAS;YAC5B,gBAAgB;YAChB,QAAQ;YACR,eAAe;SAChB,CAAA;KACF;SAAM;QACL,OAAO;YACL,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;YACtD,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;YACtD,gBAAgB;YAChB,iBAAiB,EAAE,iBAA0C;YAC7D,QAAQ;YACR,eAAe;SAChB,CAAA;KACF;AACH,CAAC,CAAA;AAED,SAAS,sBAAsB,CAC7B,MAOK;IAEL,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IAEjD,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CACpD,gBAAgB,CAAC,UAAU,CAC5B,EAAE;QACD,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,IAAI,WAAW,EAAE;YACpD,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC;gBACrC,8BAA8B,CAAC,WAAW,CAAC,CAAA;SAC9C;KACF;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -19,7 +19,6 @@ import PaginatorTemplate from "./templates/Paginator.php.template.js"
|
|
|
19
19
|
import mapParentToChildResources from "lib/openapi/map-parent-to-children-resource.js"
|
|
20
20
|
import resolveOpenapiSpec from "lib/openapi/resolve-openapi-spec.js"
|
|
21
21
|
import { loadExceptionTemplates } from "./utils/load-exception-templates.js"
|
|
22
|
-
import { getSdkGroupMetadata } from "lib/openapi/get-sdk-group-metadata.js"
|
|
23
22
|
|
|
24
23
|
export const generatePhpSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
25
24
|
const openapi = await resolveOpenapiSpec(options)
|
|
@@ -98,10 +97,9 @@ export const generatePhpSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
98
97
|
for (const route of routes) {
|
|
99
98
|
if (!route.post || !route.post["x-fern-sdk-group-name"]) continue
|
|
100
99
|
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
)
|
|
104
|
-
|
|
100
|
+
const group_names = [...route.post["x-fern-sdk-group-name"]]
|
|
101
|
+
const [base_resource] = group_names
|
|
102
|
+
const namespace = group_names.join("_")
|
|
105
103
|
const client_name = pascalCase(namespace)
|
|
106
104
|
|
|
107
105
|
if (!clients[client_name]) {
|
|
@@ -16,7 +16,6 @@ import resolveOpenapiSpec from "lib/openapi/resolve-openapi-spec.js"
|
|
|
16
16
|
import { getFilteredRoutes } from "lib/openapi/get-filtered-routes.js"
|
|
17
17
|
import { convertCustomResourceName } from "lib/custom-resource-name-conversions.js"
|
|
18
18
|
import { deepFlattenOneOfAndAllOfSchema } from "lib/openapi/deep-flatten-one-of-and-all-of-schema.js"
|
|
19
|
-
import { getSdkGroupMetadata } from "lib/openapi/get-sdk-group-metadata.js"
|
|
20
19
|
|
|
21
20
|
export const generatePythonSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
22
21
|
const openapi = await resolveOpenapiSpec(options)
|
|
@@ -49,13 +48,13 @@ export const generatePythonSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
49
48
|
if (!route.post["x-fern-sdk-group-name"]) continue
|
|
50
49
|
if (ignored_endpoint_paths.includes(route.path)) continue
|
|
51
50
|
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
)
|
|
51
|
+
const group_names = [...route.post["x-fern-sdk-group-name"]]
|
|
52
|
+
const [base_resource] = group_names
|
|
53
|
+
const namespace = group_names.join("_")
|
|
55
54
|
const class_name = pascalCase(namespace)
|
|
56
55
|
|
|
57
56
|
if (!class_map[class_name]) {
|
|
58
|
-
namespaces.push(
|
|
57
|
+
namespaces.push(route.post["x-fern-sdk-group-name"])
|
|
59
58
|
|
|
60
59
|
processClass(namespace)
|
|
61
60
|
}
|
|
@@ -15,7 +15,6 @@ import resolveOpenapiSpec from "lib/openapi/resolve-openapi-spec.js"
|
|
|
15
15
|
import { getFilteredRoutes } from "lib/openapi/get-filtered-routes.js"
|
|
16
16
|
import { generateEntityImportsTemplate } from "./lib/get-entity-imports-template.js"
|
|
17
17
|
import { convertCustomResourceName } from "lib/custom-resource-name-conversions.js"
|
|
18
|
-
import { getSdkGroupMetadata } from "lib/openapi/get-sdk-group-metadata.js"
|
|
19
18
|
|
|
20
19
|
export const generateRubySDK = async (options: SdkGeneratorOptions = {}) => {
|
|
21
20
|
const openapi = await resolveOpenapiSpec(options)
|
|
@@ -79,10 +78,10 @@ export const generateRubySDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
79
78
|
if (!route.post) continue
|
|
80
79
|
if (!route.post["x-fern-sdk-group-name"]) continue
|
|
81
80
|
if (ignored_endpoint_paths.includes(route.path)) continue
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
)
|
|
85
|
-
const client_name = pascalCase(
|
|
81
|
+
const group_names = [...route.post["x-fern-sdk-group-name"]]
|
|
82
|
+
const [base_resource] = group_names
|
|
83
|
+
const namespace = group_names.join("_")
|
|
84
|
+
const client_name = pascalCase(group_names.join("_"))
|
|
86
85
|
|
|
87
86
|
if (!clients[client_name]) processClient(namespace)
|
|
88
87
|
|
|
@@ -2,6 +2,14 @@ import type { Route, OpenAPISchema } from "lib/types.js"
|
|
|
2
2
|
|
|
3
3
|
export function getFilteredRoutes(openapi: OpenAPISchema): Route[] {
|
|
4
4
|
return Object.entries(openapi.paths)
|
|
5
|
-
.filter(([
|
|
5
|
+
.filter(([, pathSchema]) => {
|
|
6
|
+
const post = pathSchema.post
|
|
7
|
+
const summary = post.summary
|
|
8
|
+
|
|
9
|
+
const isDocumented = post?.["x-undocumented"] == null
|
|
10
|
+
const isSeamInternalRoute = summary.startsWith("/seam/")
|
|
11
|
+
|
|
12
|
+
return isDocumented && !isSeamInternalRoute
|
|
13
|
+
})
|
|
6
14
|
.map(([path, route]) => ({ path, ...route }))
|
|
7
15
|
}
|
|
@@ -39,7 +39,15 @@ export const getParameterAndResponseSchema = (route: Route) => {
|
|
|
39
39
|
const response_obj_ref = res_return_schema?.$ref
|
|
40
40
|
const response_arr_ref = res_return_schema?.items?.$ref
|
|
41
41
|
|
|
42
|
-
if (
|
|
42
|
+
if (route.post["x-response-key"] === "batch") {
|
|
43
|
+
return {
|
|
44
|
+
response_obj_type: route.post["x-response-key"],
|
|
45
|
+
response_arr_type: undefined,
|
|
46
|
+
parameter_schema,
|
|
47
|
+
nullable,
|
|
48
|
+
response_schema,
|
|
49
|
+
}
|
|
50
|
+
} else if (!response_obj_ref && !response_arr_ref) {
|
|
43
51
|
return {
|
|
44
52
|
response_obj_type: undefined,
|
|
45
53
|
response_arr_type: undefined,
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export const getSdkGroupMetadata = (groupNames) => {
|
|
2
|
-
const normalized_group_names = [...groupNames];
|
|
3
|
-
const [raw_base_resource, secondary_group] = normalized_group_names;
|
|
4
|
-
const base_resource = raw_base_resource === "seam" && secondary_group
|
|
5
|
-
? secondary_group
|
|
6
|
-
: raw_base_resource;
|
|
7
|
-
const metadata = {
|
|
8
|
-
group_names: normalized_group_names,
|
|
9
|
-
namespace: normalized_group_names.join("_"),
|
|
10
|
-
};
|
|
11
|
-
if (base_resource) {
|
|
12
|
-
metadata.base_resource = base_resource;
|
|
13
|
-
}
|
|
14
|
-
return metadata;
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=get-sdk-group-metadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-sdk-group-metadata.js","sourceRoot":"","sources":["../../src/lib/openapi/get-sdk-group-metadata.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,UAA6B,EACP,EAAE;IACxB,MAAM,sBAAsB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAA;IAC9C,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAAG,sBAAsB,CAAA;IAEnE,MAAM,aAAa,GACjB,iBAAiB,KAAK,MAAM,IAAI,eAAe;QAC7C,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,iBAAiB,CAAA;IAEvB,MAAM,QAAQ,GAAyB;QACrC,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC;KAC5C,CAAA;IAED,IAAI,aAAa,EAAE;QACjB,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAA;KACvC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export type FernSdkGroupMetadata = {
|
|
2
|
-
group_names: string[]
|
|
3
|
-
namespace: string
|
|
4
|
-
base_resource?: string
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export const getSdkGroupMetadata = (
|
|
8
|
-
groupNames: readonly string[]
|
|
9
|
-
): FernSdkGroupMetadata => {
|
|
10
|
-
const normalized_group_names = [...groupNames]
|
|
11
|
-
const [raw_base_resource, secondary_group] = normalized_group_names
|
|
12
|
-
|
|
13
|
-
const base_resource =
|
|
14
|
-
raw_base_resource === "seam" && secondary_group
|
|
15
|
-
? secondary_group
|
|
16
|
-
: raw_base_resource
|
|
17
|
-
|
|
18
|
-
const metadata: FernSdkGroupMetadata = {
|
|
19
|
-
group_names: normalized_group_names,
|
|
20
|
-
namespace: normalized_group_names.join("_"),
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if (base_resource) {
|
|
24
|
-
metadata.base_resource = base_resource
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return metadata
|
|
28
|
-
}
|