@seamapi/nextlove-sdk-generator 1.19.1 → 1.19.3
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 +2 -3
- package/lib/generate-php-sdk/generate-php-sdk.js.map +1 -1
- package/lib/generate-python-sdk/generate-python-sdk.js +3 -4
- package/lib/generate-python-sdk/generate-python-sdk.js.map +1 -1
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js +3 -4
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js.map +1 -1
- package/lib/openapi/get-sdk-group-metadata.d.ts +6 -0
- package/lib/openapi/get-sdk-group-metadata.js +16 -0
- package/lib/openapi/get-sdk-group-metadata.js.map +1 -0
- package/package.json +1 -1
- package/src/lib/generate-php-sdk/generate-php-sdk.ts +5 -3
- package/src/lib/generate-python-sdk/generate-python-sdk.ts +5 -4
- package/src/lib/generate-ruby-sdk/generate-ruby-sdk.ts +5 -4
- package/src/lib/openapi/get-sdk-group-metadata.ts +28 -0
|
@@ -18,6 +18,7 @@ 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";
|
|
21
22
|
export const generatePhpSDK = async (options = {}) => {
|
|
22
23
|
const openapi = await resolveOpenapiSpec(options);
|
|
23
24
|
const routes = getFilteredRoutes(openapi);
|
|
@@ -71,9 +72,7 @@ export const generatePhpSDK = async (options = {}) => {
|
|
|
71
72
|
for (const route of routes) {
|
|
72
73
|
if (!route.post || !route.post["x-fern-sdk-group-name"])
|
|
73
74
|
continue;
|
|
74
|
-
const
|
|
75
|
-
const [base_resource] = group_names;
|
|
76
|
-
const namespace = group_names.join("_");
|
|
75
|
+
const { namespace, base_resource } = getSdkGroupMetadata(route.post["x-fern-sdk-group-name"]);
|
|
77
76
|
const client_name = pascalCase(namespace);
|
|
78
77
|
if (!clients[client_name]) {
|
|
79
78
|
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,6 +12,7 @@ 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";
|
|
15
16
|
export const generatePythonSDK = async (options = {}) => {
|
|
16
17
|
const openapi = await resolveOpenapiSpec(options);
|
|
17
18
|
const routes = getFilteredRoutes(openapi);
|
|
@@ -35,12 +36,10 @@ export const generatePythonSDK = async (options = {}) => {
|
|
|
35
36
|
continue;
|
|
36
37
|
if (ignored_endpoint_paths.includes(route.path))
|
|
37
38
|
continue;
|
|
38
|
-
const group_names =
|
|
39
|
-
const [base_resource] = group_names;
|
|
40
|
-
const namespace = group_names.join("_");
|
|
39
|
+
const { group_names, namespace, base_resource } = getSdkGroupMetadata(route.post["x-fern-sdk-group-name"]);
|
|
41
40
|
const class_name = pascalCase(namespace);
|
|
42
41
|
if (!class_map[class_name]) {
|
|
43
|
-
namespaces.push(
|
|
42
|
+
namespaces.push(group_names);
|
|
44
43
|
processClass(namespace);
|
|
45
44
|
}
|
|
46
45
|
/*
|
|
@@ -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,6 +14,7 @@ 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";
|
|
17
18
|
export const generateRubySDK = async (options = {}) => {
|
|
18
19
|
const openapi = await resolveOpenapiSpec(options);
|
|
19
20
|
const routes = getFilteredRoutes(openapi);
|
|
@@ -59,10 +60,8 @@ export const generateRubySDK = async (options = {}) => {
|
|
|
59
60
|
continue;
|
|
60
61
|
if (ignored_endpoint_paths.includes(route.path))
|
|
61
62
|
continue;
|
|
62
|
-
const
|
|
63
|
-
const
|
|
64
|
-
const namespace = group_names.join("_");
|
|
65
|
-
const client_name = pascalCase(group_names.join("_"));
|
|
63
|
+
const { namespace, base_resource } = getSdkGroupMetadata(route.post["x-fern-sdk-group-name"]);
|
|
64
|
+
const client_name = pascalCase(namespace);
|
|
66
65
|
if (!clients[client_name])
|
|
67
66
|
processClient(namespace);
|
|
68
67
|
/*
|
|
@@ -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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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/package.json
CHANGED
|
@@ -19,6 +19,7 @@ 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"
|
|
22
23
|
|
|
23
24
|
export const generatePhpSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
24
25
|
const openapi = await resolveOpenapiSpec(options)
|
|
@@ -97,9 +98,10 @@ export const generatePhpSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
97
98
|
for (const route of routes) {
|
|
98
99
|
if (!route.post || !route.post["x-fern-sdk-group-name"]) continue
|
|
99
100
|
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
const { namespace, base_resource } = getSdkGroupMetadata(
|
|
102
|
+
route.post["x-fern-sdk-group-name"]
|
|
103
|
+
)
|
|
104
|
+
|
|
103
105
|
const client_name = pascalCase(namespace)
|
|
104
106
|
|
|
105
107
|
if (!clients[client_name]) {
|
|
@@ -16,6 +16,7 @@ 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"
|
|
19
20
|
|
|
20
21
|
export const generatePythonSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
21
22
|
const openapi = await resolveOpenapiSpec(options)
|
|
@@ -48,13 +49,13 @@ export const generatePythonSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
48
49
|
if (!route.post["x-fern-sdk-group-name"]) continue
|
|
49
50
|
if (ignored_endpoint_paths.includes(route.path)) continue
|
|
50
51
|
|
|
51
|
-
const group_names =
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
const { group_names, namespace, base_resource } = getSdkGroupMetadata(
|
|
53
|
+
route.post["x-fern-sdk-group-name"]
|
|
54
|
+
)
|
|
54
55
|
const class_name = pascalCase(namespace)
|
|
55
56
|
|
|
56
57
|
if (!class_map[class_name]) {
|
|
57
|
-
namespaces.push(
|
|
58
|
+
namespaces.push(group_names)
|
|
58
59
|
|
|
59
60
|
processClass(namespace)
|
|
60
61
|
}
|
|
@@ -15,6 +15,7 @@ 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"
|
|
18
19
|
|
|
19
20
|
export const generateRubySDK = async (options: SdkGeneratorOptions = {}) => {
|
|
20
21
|
const openapi = await resolveOpenapiSpec(options)
|
|
@@ -78,10 +79,10 @@ export const generateRubySDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
78
79
|
if (!route.post) continue
|
|
79
80
|
if (!route.post["x-fern-sdk-group-name"]) continue
|
|
80
81
|
if (ignored_endpoint_paths.includes(route.path)) continue
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const client_name = pascalCase(
|
|
82
|
+
const { namespace, base_resource } = getSdkGroupMetadata(
|
|
83
|
+
route.post["x-fern-sdk-group-name"]
|
|
84
|
+
)
|
|
85
|
+
const client_name = pascalCase(namespace)
|
|
85
86
|
|
|
86
87
|
if (!clients[client_name]) processClient(namespace)
|
|
87
88
|
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
}
|