@furystack/rest 8.0.41 → 8.1.0
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/CHANGELOG.md +77 -0
- package/README.md +37 -1
- package/esm/api-endpoint-schema.d.ts +47 -2
- package/esm/api-endpoint-schema.d.ts.map +1 -1
- package/esm/index.d.ts +4 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +4 -1
- package/esm/index.js.map +1 -1
- package/esm/openapi-document.d.ts +303 -0
- package/esm/openapi-document.d.ts.map +1 -0
- package/esm/openapi-document.js +2 -0
- package/esm/openapi-document.js.map +1 -0
- package/esm/openapi-resolve-refs.d.ts +20 -0
- package/esm/openapi-resolve-refs.d.ts.map +1 -0
- package/esm/openapi-resolve-refs.js +68 -0
- package/esm/openapi-resolve-refs.js.map +1 -0
- package/esm/openapi-resolve-refs.spec.d.ts +2 -0
- package/esm/openapi-resolve-refs.spec.d.ts.map +1 -0
- package/esm/openapi-resolve-refs.spec.js +294 -0
- package/esm/openapi-resolve-refs.spec.js.map +1 -0
- package/esm/openapi-to-rest-api.d.ts +197 -0
- package/esm/openapi-to-rest-api.d.ts.map +1 -0
- package/esm/openapi-to-rest-api.js +2 -0
- package/esm/openapi-to-rest-api.js.map +1 -0
- package/esm/openapi-to-rest-api.spec.d.ts +2 -0
- package/esm/openapi-to-rest-api.spec.d.ts.map +1 -0
- package/esm/openapi-to-rest-api.spec.js +665 -0
- package/esm/openapi-to-rest-api.spec.js.map +1 -0
- package/esm/openapi-to-schema.d.ts +24 -0
- package/esm/openapi-to-schema.d.ts.map +1 -0
- package/esm/openapi-to-schema.js +145 -0
- package/esm/openapi-to-schema.js.map +1 -0
- package/esm/openapi-to-schema.spec.d.ts +2 -0
- package/esm/openapi-to-schema.spec.d.ts.map +1 -0
- package/esm/openapi-to-schema.spec.js +610 -0
- package/esm/openapi-to-schema.spec.js.map +1 -0
- package/esm/rest-api.d.ts +21 -4
- package/esm/rest-api.d.ts.map +1 -1
- package/esm/swagger-document.d.ts +2 -195
- package/esm/swagger-document.d.ts.map +1 -1
- package/esm/swagger-document.js +2 -1
- package/esm/swagger-document.js.map +1 -1
- package/package.json +4 -4
- package/src/api-endpoint-schema.ts +56 -3
- package/src/index.ts +4 -1
- package/src/openapi-document.ts +328 -0
- package/src/openapi-resolve-refs.spec.ts +324 -0
- package/src/openapi-resolve-refs.ts +71 -0
- package/src/openapi-to-rest-api.spec.ts +823 -0
- package/src/openapi-to-rest-api.ts +263 -0
- package/src/openapi-to-schema.spec.ts +707 -0
- package/src/openapi-to-schema.ts +163 -0
- package/src/rest-api.ts +26 -5
- package/src/swagger-document.ts +2 -220
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi-to-rest-api.spec.js","sourceRoot":"","sources":["../src/openapi-to-rest-api.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ApiEndpointSchema } from './api-endpoint-schema.js';
|
|
2
|
+
import type { OpenApiDocument } from './openapi-document.js';
|
|
3
|
+
/**
|
|
4
|
+
* Converts an OpenAPI `{param}` path format to FuryStack `:param` format.
|
|
5
|
+
*
|
|
6
|
+
* @param path - The OpenAPI path (e.g. `/users/{id}`)
|
|
7
|
+
* @returns The FuryStack path (e.g. `/users/:id`)
|
|
8
|
+
*/
|
|
9
|
+
export declare const convertOpenApiPathToFuryStack: (path: string) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Converts an OpenAPI 3.x document to a FuryStack `ApiEndpointSchema`.
|
|
12
|
+
*
|
|
13
|
+
* This enables consuming external OpenAPI documents with FuryStack's runtime pipeline.
|
|
14
|
+
* Preserves operation-level metadata (tags, deprecated, summary, description) and
|
|
15
|
+
* document-level metadata (servers, tags, contact, license, securitySchemes).
|
|
16
|
+
*
|
|
17
|
+
* **Important:** If the document contains `$ref` pointers, call `resolveOpenApiRefs(doc)`
|
|
18
|
+
* first to inline them. This function does not resolve `$ref` on its own.
|
|
19
|
+
*
|
|
20
|
+
* @param doc - The OpenAPI document to convert
|
|
21
|
+
* @returns An ApiEndpointSchema that can be used with FuryStack's API tools
|
|
22
|
+
*/
|
|
23
|
+
export declare const openApiToSchema: (doc: OpenApiDocument) => ApiEndpointSchema;
|
|
24
|
+
//# sourceMappingURL=openapi-to-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi-to-schema.d.ts","sourceRoot":"","sources":["../src/openapi-to-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEtF,OAAO,KAAK,EAAE,eAAe,EAAoD,MAAM,uBAAuB,CAAA;AAO9G;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,KAAG,MAA8C,CAAA;AA0F3G;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,eAAe,KAAG,iBA4CtD,CAAA"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
const HTTP_METHODS = ['get', 'put', 'post', 'delete', 'patch', 'head', 'options', 'trace'];
|
|
2
|
+
const isReferenceObject = (obj) => typeof obj === 'object' && obj !== null && '$ref' in obj;
|
|
3
|
+
/**
|
|
4
|
+
* Converts an OpenAPI `{param}` path format to FuryStack `:param` format.
|
|
5
|
+
*
|
|
6
|
+
* @param path - The OpenAPI path (e.g. `/users/{id}`)
|
|
7
|
+
* @returns The FuryStack path (e.g. `/users/:id`)
|
|
8
|
+
*/
|
|
9
|
+
export const convertOpenApiPathToFuryStack = (path) => path.replace(/\{([^{}]+)\}/g, ':$1');
|
|
10
|
+
const extractResponseSchema = (operation) => {
|
|
11
|
+
for (const statusCode of ['200', '201', '2XX', 'default']) {
|
|
12
|
+
const response = operation.responses?.[statusCode];
|
|
13
|
+
if (!response || isReferenceObject(response))
|
|
14
|
+
continue;
|
|
15
|
+
const jsonContent = response.content?.['application/json'];
|
|
16
|
+
if (jsonContent?.schema)
|
|
17
|
+
return jsonContent.schema;
|
|
18
|
+
}
|
|
19
|
+
return undefined;
|
|
20
|
+
};
|
|
21
|
+
const extractSchemaName = (operation, method, path) => {
|
|
22
|
+
if (operation.operationId)
|
|
23
|
+
return operation.operationId;
|
|
24
|
+
const cleanPath = path
|
|
25
|
+
.replace(/\{([^{}]+)\}/g, '$1')
|
|
26
|
+
.replace(/\//g, '_')
|
|
27
|
+
.replace(/^_/, '');
|
|
28
|
+
return `${method}_${cleanPath}`;
|
|
29
|
+
};
|
|
30
|
+
const isOperationAuthenticated = (operation, docSecurity) => {
|
|
31
|
+
if (operation.security !== undefined) {
|
|
32
|
+
return operation.security.length > 0;
|
|
33
|
+
}
|
|
34
|
+
if (docSecurity !== undefined) {
|
|
35
|
+
return docSecurity.length > 0;
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
};
|
|
39
|
+
const extractSecuritySchemeNames = (operation, docSecurity) => {
|
|
40
|
+
const security = operation.security !== undefined ? operation.security : docSecurity;
|
|
41
|
+
if (!security || security.length === 0)
|
|
42
|
+
return undefined;
|
|
43
|
+
const names = security.flatMap((req) => Object.keys(req));
|
|
44
|
+
return names.length > 0 ? names : undefined;
|
|
45
|
+
};
|
|
46
|
+
const extractDocumentMetadata = (doc) => {
|
|
47
|
+
const metadata = {};
|
|
48
|
+
let hasMetadata = false;
|
|
49
|
+
if (doc.info.summary) {
|
|
50
|
+
metadata.summary = doc.info.summary;
|
|
51
|
+
hasMetadata = true;
|
|
52
|
+
}
|
|
53
|
+
if (doc.info.termsOfService) {
|
|
54
|
+
metadata.termsOfService = doc.info.termsOfService;
|
|
55
|
+
hasMetadata = true;
|
|
56
|
+
}
|
|
57
|
+
if (doc.info.contact) {
|
|
58
|
+
metadata.contact = doc.info.contact;
|
|
59
|
+
hasMetadata = true;
|
|
60
|
+
}
|
|
61
|
+
if (doc.info.license) {
|
|
62
|
+
metadata.license = doc.info.license;
|
|
63
|
+
hasMetadata = true;
|
|
64
|
+
}
|
|
65
|
+
if (doc.servers?.length) {
|
|
66
|
+
metadata.servers = doc.servers;
|
|
67
|
+
hasMetadata = true;
|
|
68
|
+
}
|
|
69
|
+
if (doc.tags?.length) {
|
|
70
|
+
metadata.tags = doc.tags;
|
|
71
|
+
hasMetadata = true;
|
|
72
|
+
}
|
|
73
|
+
if (doc.externalDocs) {
|
|
74
|
+
metadata.externalDocs = doc.externalDocs;
|
|
75
|
+
hasMetadata = true;
|
|
76
|
+
}
|
|
77
|
+
const schemes = doc.components?.securitySchemes;
|
|
78
|
+
if (schemes) {
|
|
79
|
+
const resolved = {};
|
|
80
|
+
for (const [name, scheme] of Object.entries(schemes)) {
|
|
81
|
+
if (!isReferenceObject(scheme)) {
|
|
82
|
+
resolved[name] = scheme;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (Object.keys(resolved).length > 0) {
|
|
86
|
+
metadata.securitySchemes = resolved;
|
|
87
|
+
hasMetadata = true;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return hasMetadata ? metadata : undefined;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Converts an OpenAPI 3.x document to a FuryStack `ApiEndpointSchema`.
|
|
94
|
+
*
|
|
95
|
+
* This enables consuming external OpenAPI documents with FuryStack's runtime pipeline.
|
|
96
|
+
* Preserves operation-level metadata (tags, deprecated, summary, description) and
|
|
97
|
+
* document-level metadata (servers, tags, contact, license, securitySchemes).
|
|
98
|
+
*
|
|
99
|
+
* **Important:** If the document contains `$ref` pointers, call `resolveOpenApiRefs(doc)`
|
|
100
|
+
* first to inline them. This function does not resolve `$ref` on its own.
|
|
101
|
+
*
|
|
102
|
+
* @param doc - The OpenAPI document to convert
|
|
103
|
+
* @returns An ApiEndpointSchema that can be used with FuryStack's API tools
|
|
104
|
+
*/
|
|
105
|
+
export const openApiToSchema = (doc) => {
|
|
106
|
+
const endpoints = {};
|
|
107
|
+
if (doc.paths) {
|
|
108
|
+
for (const [openApiPath, pathItemOrRef] of Object.entries(doc.paths)) {
|
|
109
|
+
if (isReferenceObject(pathItemOrRef))
|
|
110
|
+
continue;
|
|
111
|
+
const pathItem = pathItemOrRef;
|
|
112
|
+
const furyStackPath = convertOpenApiPathToFuryStack(openApiPath);
|
|
113
|
+
for (const method of HTTP_METHODS) {
|
|
114
|
+
const operation = pathItem[method];
|
|
115
|
+
if (!operation)
|
|
116
|
+
continue;
|
|
117
|
+
const upperMethod = method.toUpperCase();
|
|
118
|
+
const methodEndpoints = endpoints[upperMethod] ?? {};
|
|
119
|
+
endpoints[upperMethod] = methodEndpoints;
|
|
120
|
+
const responseSchema = extractResponseSchema(operation);
|
|
121
|
+
const schemaName = extractSchemaName(operation, method, openApiPath);
|
|
122
|
+
const securitySchemeNames = extractSecuritySchemeNames(operation, doc.security);
|
|
123
|
+
methodEndpoints[furyStackPath] = {
|
|
124
|
+
path: furyStackPath,
|
|
125
|
+
schema: responseSchema ?? {},
|
|
126
|
+
schemaName,
|
|
127
|
+
isAuthenticated: isOperationAuthenticated(operation, doc.security),
|
|
128
|
+
...(securitySchemeNames ? { securitySchemes: securitySchemeNames } : {}),
|
|
129
|
+
...(operation.tags?.length ? { tags: operation.tags } : {}),
|
|
130
|
+
...(operation.deprecated ? { deprecated: true } : {}),
|
|
131
|
+
...(operation.summary ? { summary: operation.summary } : {}),
|
|
132
|
+
...(operation.description ? { description: operation.description } : {}),
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return {
|
|
138
|
+
name: doc.info.title,
|
|
139
|
+
description: doc.info.description ?? '',
|
|
140
|
+
version: doc.info.version,
|
|
141
|
+
metadata: extractDocumentMetadata(doc),
|
|
142
|
+
endpoints,
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
//# sourceMappingURL=openapi-to-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi-to-schema.js","sourceRoot":"","sources":["../src/openapi-to-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi-to-schema.spec.d.ts","sourceRoot":"","sources":["../src/openapi-to-schema.spec.ts"],"names":[],"mappings":""}
|