@seamapi/nextlove-sdk-generator 1.7.12 → 1.8.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.
- package/lib/generate-python-sdk/generate-python-sdk.d.ts +2 -1
- package/lib/generate-python-sdk/generate-python-sdk.js +3 -5
- package/lib/generate-python-sdk/generate-python-sdk.js.map +1 -1
- package/lib/generate-ruby-sdk/generate-ruby-sdk.d.ts +2 -1
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js +3 -5
- package/lib/generate-ruby-sdk/generate-ruby-sdk.js.map +1 -1
- package/lib/openapi/resolve-openapi-spec.d.ts +4 -0
- package/lib/openapi/resolve-openapi-spec.js +40 -0
- package/lib/openapi/resolve-openapi-spec.js.map +1 -0
- package/lib/types.d.ts +4 -0
- package/package.json +2 -1
- package/src/lib/generate-python-sdk/generate-python-sdk.ts +5 -7
- package/src/lib/generate-ruby-sdk/generate-ruby-sdk.ts +5 -7
- package/src/lib/openapi/resolve-openapi-spec.ts +57 -0
- package/src/lib/types.ts +5 -0
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { SdkGeneratorOptions } from "../../lib/types.js";
|
|
2
|
+
export declare const generatePythonSDK: (options?: SdkGeneratorOptions) => Promise<Record<string, string>>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import axios from "axios";
|
|
2
1
|
import { ClassFile } from "./class-file.js";
|
|
3
2
|
import { pascalCase } from "change-case";
|
|
4
3
|
import { flattenObjSchema } from "../../lib/openapi/index.js";
|
|
@@ -20,10 +19,9 @@ import { getParameterAndResponseSchema } from "../../lib/openapi/get-parameter-a
|
|
|
20
19
|
import mapParentToChildResources from "../../lib/openapi/map-parent-to-children-resource.js";
|
|
21
20
|
import { deepFlattenOneOfAndAllOfSchema } from "../../lib/generate-php-sdk/utils/deep-flatten-one-of-and-all-of-schema.js";
|
|
22
21
|
import { endpoints_returning_deprecated_action_attempt, ignored_endpoint_paths, } from "../../lib/endpoint-rules.js";
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
.then((res) => res.data);
|
|
22
|
+
import resolveOpenapiSpec from "../../lib/openapi/resolve-openapi-spec.js";
|
|
23
|
+
export const generatePythonSDK = async (options = {}) => {
|
|
24
|
+
const openapi = await resolveOpenapiSpec(options);
|
|
27
25
|
const routes = Object.entries(openapi.paths).map(([path, v]) => ({
|
|
28
26
|
path,
|
|
29
27
|
...v,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-python-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-python-sdk/generate-python-sdk.ts"],"names":[],"mappings":"
|
|
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 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { SdkGeneratorOptions } from "../../lib/types.js";
|
|
2
|
+
export declare const generateRubySDK: (options?: SdkGeneratorOptions) => Promise<Record<string, string>>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import axios from "axios";
|
|
2
1
|
import { flattenObjSchema } from "../../lib/index.js";
|
|
3
2
|
import resourceRbTemplate from "./templates/snippets/resource.rb.template.js";
|
|
4
3
|
import { pascalCase } from "change-case";
|
|
@@ -25,10 +24,9 @@ import resource_errors_supportRbTemplate from "./templates/resource_errors_suppo
|
|
|
25
24
|
import resource_warnings_supportRbTemplate from "./templates/resource_warnings_support.rb.template.js";
|
|
26
25
|
import mapParentToChildResources from "../../lib/openapi/map-parent-to-children-resource.js";
|
|
27
26
|
import { ignored_endpoint_paths } from "../../lib/endpoint-rules.js";
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
.then((res) => res.data);
|
|
27
|
+
import resolveOpenapiSpec from "../../lib/openapi/resolve-openapi-spec.js";
|
|
28
|
+
export const generateRubySDK = async (options = {}) => {
|
|
29
|
+
const openapi = await resolveOpenapiSpec(options);
|
|
32
30
|
const routes = Object.entries(openapi.paths).map(([path, v]) => ({
|
|
33
31
|
path,
|
|
34
32
|
...v,
|
|
@@ -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,
|
|
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,40 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
export const resolveOpenapiSpec = async (options = {}) => {
|
|
4
|
+
const { openApiSpecObject, openApiSpecPath } = options;
|
|
5
|
+
if (openApiSpecObject) {
|
|
6
|
+
return openApiSpecObject;
|
|
7
|
+
}
|
|
8
|
+
if (openApiSpecPath) {
|
|
9
|
+
try {
|
|
10
|
+
const specContent = await readFile(openApiSpecPath, { encoding: "utf-8" });
|
|
11
|
+
return JSON.parse(specContent);
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
const errorMessage = error instanceof Error ? error.message : "An unknown error occurred";
|
|
15
|
+
throw new Error(`Failed to read OpenAPI spec from ${openApiSpecPath}: ${errorMessage}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const openapiUrl = "https://connect.getseam.com/openapi.json";
|
|
19
|
+
try {
|
|
20
|
+
const openapi = await axios
|
|
21
|
+
.get(openapiUrl)
|
|
22
|
+
.then((res) => res.data);
|
|
23
|
+
return openapi;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
let errorMessage = "An unknown error occurred";
|
|
27
|
+
if (axios.isAxiosError(error)) {
|
|
28
|
+
errorMessage = error.message;
|
|
29
|
+
if (error.response) {
|
|
30
|
+
errorMessage += `, Response: ${error.response.status}, ${error.response.data}`;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else if (error instanceof Error) {
|
|
34
|
+
errorMessage = error.message;
|
|
35
|
+
}
|
|
36
|
+
throw new Error(`Failed to fetch OpenAPI spec from ${openapiUrl}: ${errorMessage}`);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export default resolveOpenapiSpec;
|
|
40
|
+
//# sourceMappingURL=resolve-openapi-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-openapi-spec.js","sourceRoot":"","sources":["../../src/lib/openapi/resolve-openapi-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAK3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,UAAmB,EAAE,EACG,EAAE;IAC1B,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;IAEtD,IAAI,iBAAiB,EAAE;QACrB,OAAO,iBAAiB,CAAA;KACzB;IACD,IAAI,eAAe,EAAE;QACnB,IAAI;YACF,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;YAE1E,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;SAC/B;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAA;YAEtE,MAAM,IAAI,KAAK,CACb,oCAAoC,eAAe,KAAK,YAAY,EAAE,CACvE,CAAA;SACF;KACF;IAED,MAAM,UAAU,GAAG,0CAA0C,CAAA;IAE7D,IAAI;QACF,MAAM,OAAO,GAAkB,MAAM,KAAK;aACvC,GAAG,CAAC,UAAU,CAAC;aACf,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE1B,OAAO,OAAO,CAAA;KACf;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,YAAY,GAAG,2BAA2B,CAAA;QAE9C,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC7B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAA;YAE5B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,YAAY,IAAI,eAAe,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;aAC/E;SACF;aAAM,IAAI,KAAK,YAAY,KAAK,EAAE;YACjC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAA;SAC7B;QAED,MAAM,IAAI,KAAK,CACb,qCAAqC,UAAU,KAAK,YAAY,EAAE,CACnE,CAAA;KACF;AACH,CAAC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
|
package/lib/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seamapi/nextlove-sdk-generator",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "Utilities for building NextLove SDK Generators",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
"eslint-plugin-simple-import-sort": "^10.0.0",
|
|
90
90
|
"eslint-plugin-unused-imports": "^3.0.0",
|
|
91
91
|
"make-vfs": "^1.0.8",
|
|
92
|
+
"nock": "^13.5.4",
|
|
92
93
|
"prettier": "^3.0.3",
|
|
93
94
|
"shx": "^0.3.4",
|
|
94
95
|
"tsc-alias": "^1.8.2",
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { ObjSchema, OpenAPISchema, Route } from "lib/types.js"
|
|
1
|
+
import type { ObjSchema, Route, SdkGeneratorOptions } from "lib/types.js"
|
|
3
2
|
import { ClassFile } from "./class-file.js"
|
|
4
3
|
import { pascalCase } from "change-case"
|
|
5
4
|
import { flattenObjSchema } from "lib/openapi/index.js"
|
|
@@ -24,17 +23,16 @@ import {
|
|
|
24
23
|
endpoints_returning_deprecated_action_attempt,
|
|
25
24
|
ignored_endpoint_paths,
|
|
26
25
|
} from "lib/endpoint-rules.js"
|
|
26
|
+
import resolveOpenapiSpec from "lib/openapi/resolve-openapi-spec.js"
|
|
27
27
|
|
|
28
|
-
export const generatePythonSDK = async () => {
|
|
29
|
-
const openapi
|
|
30
|
-
.get("https://connect.getseam.com/openapi.json")
|
|
31
|
-
.then((res) => res.data)
|
|
28
|
+
export const generatePythonSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
29
|
+
const openapi = await resolveOpenapiSpec(options)
|
|
32
30
|
const routes: Route[] = Object.entries(openapi.paths).map(([path, v]) => ({
|
|
33
31
|
path,
|
|
34
32
|
...v,
|
|
35
33
|
}))
|
|
36
34
|
|
|
37
|
-
const fs:
|
|
35
|
+
const fs: Record<string, string> = {}
|
|
38
36
|
const class_map: Record<string, ClassFile> = {}
|
|
39
37
|
const namespaces: string[][] = []
|
|
40
38
|
const parent_to_child_resources_map = mapParentToChildResources(routes)
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import axios from "axios"
|
|
2
1
|
import { flattenObjSchema } from "lib/index.js"
|
|
3
|
-
import type { ObjSchema,
|
|
2
|
+
import type { ObjSchema, Route, SdkGeneratorOptions } from "lib/types.js"
|
|
4
3
|
import resourceRbTemplate from "./templates/snippets/resource.rb.template.js"
|
|
5
4
|
import { pascalCase } from "change-case"
|
|
6
5
|
import { RubyClient } from "./ruby-client.js"
|
|
@@ -26,17 +25,16 @@ import resource_errors_supportRbTemplate from "./templates/resource_errors_suppo
|
|
|
26
25
|
import resource_warnings_supportRbTemplate from "./templates/resource_warnings_support.rb.template.js"
|
|
27
26
|
import mapParentToChildResources from "lib/openapi/map-parent-to-children-resource.js"
|
|
28
27
|
import { ignored_endpoint_paths } from "lib/endpoint-rules.js"
|
|
28
|
+
import resolveOpenapiSpec from "lib/openapi/resolve-openapi-spec.js"
|
|
29
29
|
|
|
30
|
-
export const generateRubySDK = async () => {
|
|
31
|
-
const openapi
|
|
32
|
-
.get("https://connect.getseam.com/openapi.json")
|
|
33
|
-
.then((res) => res.data)
|
|
30
|
+
export const generateRubySDK = async (options: SdkGeneratorOptions = {}) => {
|
|
31
|
+
const openapi = await resolveOpenapiSpec(options)
|
|
34
32
|
const routes: Route[] = Object.entries(openapi.paths).map(([path, v]) => ({
|
|
35
33
|
path,
|
|
36
34
|
...v,
|
|
37
35
|
}))
|
|
38
36
|
|
|
39
|
-
const fs:
|
|
37
|
+
const fs: Record<string, string> = {}
|
|
40
38
|
|
|
41
39
|
fs["README.md"] = readmeMdTemplate()
|
|
42
40
|
fs["Rakefile"] = rakefileTemplate()
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import axios from "axios"
|
|
2
|
+
import { readFile } from "node:fs/promises"
|
|
3
|
+
import type { OpenAPISchema, SdkGeneratorOptions } from "lib/types.js"
|
|
4
|
+
|
|
5
|
+
type Options = SdkGeneratorOptions
|
|
6
|
+
|
|
7
|
+
export const resolveOpenapiSpec = async (
|
|
8
|
+
options: Options = {}
|
|
9
|
+
): Promise<OpenAPISchema> => {
|
|
10
|
+
const { openApiSpecObject, openApiSpecPath } = options
|
|
11
|
+
|
|
12
|
+
if (openApiSpecObject) {
|
|
13
|
+
return openApiSpecObject
|
|
14
|
+
}
|
|
15
|
+
if (openApiSpecPath) {
|
|
16
|
+
try {
|
|
17
|
+
const specContent = await readFile(openApiSpecPath, { encoding: "utf-8" })
|
|
18
|
+
|
|
19
|
+
return JSON.parse(specContent)
|
|
20
|
+
} catch (error) {
|
|
21
|
+
const errorMessage =
|
|
22
|
+
error instanceof Error ? error.message : "An unknown error occurred"
|
|
23
|
+
|
|
24
|
+
throw new Error(
|
|
25
|
+
`Failed to read OpenAPI spec from ${openApiSpecPath}: ${errorMessage}`
|
|
26
|
+
)
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const openapiUrl = "https://connect.getseam.com/openapi.json"
|
|
31
|
+
|
|
32
|
+
try {
|
|
33
|
+
const openapi: OpenAPISchema = await axios
|
|
34
|
+
.get(openapiUrl)
|
|
35
|
+
.then((res) => res.data)
|
|
36
|
+
|
|
37
|
+
return openapi
|
|
38
|
+
} catch (error) {
|
|
39
|
+
let errorMessage = "An unknown error occurred"
|
|
40
|
+
|
|
41
|
+
if (axios.isAxiosError(error)) {
|
|
42
|
+
errorMessage = error.message
|
|
43
|
+
|
|
44
|
+
if (error.response) {
|
|
45
|
+
errorMessage += `, Response: ${error.response.status}, ${error.response.data}`
|
|
46
|
+
}
|
|
47
|
+
} else if (error instanceof Error) {
|
|
48
|
+
errorMessage = error.message
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
throw new Error(
|
|
52
|
+
`Failed to fetch OpenAPI spec from ${openapiUrl}: ${errorMessage}`
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export default resolveOpenapiSpec
|