@bfra.me/api-core 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +11 -0
- package/LICENSE +18 -0
- package/README.md +18 -0
- package/dist/chunk-7NM3WYHE.js +32 -0
- package/dist/chunk-7NM3WYHE.js.map +1 -0
- package/dist/chunk-7QVYU63E.js +7 -0
- package/dist/chunk-7QVYU63E.js.map +1 -0
- package/dist/chunk-HKKQOEV3.js +786 -0
- package/dist/chunk-HKKQOEV3.js.map +1 -0
- package/dist/errors/fetchError.d.ts +13 -0
- package/dist/errors/fetchError.js +8 -0
- package/dist/errors/fetchError.js.map +1 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.js +105 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/index.d.ts +59 -0
- package/dist/lib/index.js +16 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/types.d.ts +22 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -0
- package/eslint.config.ts +25 -0
- package/package.json +67 -0
- package/src/errors/fetchError.ts +29 -0
- package/src/index.ts +134 -0
- package/src/lib/getJSONSchemaDefaults.ts +77 -0
- package/src/lib/index.ts +7 -0
- package/src/lib/parseResponse.ts +28 -0
- package/src/lib/prepareAuth.ts +107 -0
- package/src/lib/prepareParams.ts +439 -0
- package/src/lib/prepareServer.ts +52 -0
- package/src/types.ts +28 -0
- package/test-utils/CHANGELOG.md +11 -0
- package/test-utils/datasets/real-world-apis.json +8507 -0
- package/test-utils/datasets/refresh-dataset +336 -0
- package/test-utils/definitions/alby.json +5391 -0
- package/test-utils/definitions/auth-quirks.json +62 -0
- package/test-utils/definitions/basiq.json +104 -0
- package/test-utils/definitions/metrotransit.json +318 -0
- package/test-utils/definitions/nested-defaults.json +107 -0
- package/test-utils/definitions/operationid-quirks.json +36 -0
- package/test-utils/definitions/optional-payload.json +57 -0
- package/test-utils/definitions/payloads.json +58 -0
- package/test-utils/definitions/response-title-quirks.json +77 -0
- package/test-utils/definitions/simple.json +291 -0
- package/test-utils/fetch-mock.ts +81 -0
- package/test-utils/fixtures/hello.jp.txt +1 -0
- package/test-utils/fixtures/hello.txt +1 -0
- package/test-utils/fixtures/owlbert-shrub.png +0 -0
- package/test-utils/fixtures/owlbert.png +0 -0
- package/test-utils/index.ts +2 -0
- package/test-utils/load-spec.ts +8 -0
- package/test-utils/node_modules/.bin/tsc +17 -0
- package/test-utils/node_modules/.bin/tsserver +17 -0
- package/test-utils/package.json +20 -0
- package/test-utils/sdks/README.md +3 -0
- package/test-utils/sdks/alby/README.md +23 -0
- package/test-utils/sdks/alby/package.json +55 -0
- package/test-utils/sdks/alby/src/index.ts +18 -0
- package/test-utils/sdks/alby/src/schemas/AmqpExternalRulePatch.ts +92 -0
- package/test-utils/sdks/alby/src/schemas/AmqpExternalRulePost.ts +93 -0
- package/test-utils/sdks/alby/src/schemas/AmqpExternalRuleResponse.ts +143 -0
- package/test-utils/sdks/alby/src/schemas/AmqpRulePatch.ts +76 -0
- package/test-utils/sdks/alby/src/schemas/AmqpRulePost.ts +85 -0
- package/test-utils/sdks/alby/src/schemas/AmqpRuleResponse.ts +124 -0
- package/test-utils/sdks/alby/src/schemas/AppPatch.ts +68 -0
- package/test-utils/sdks/alby/src/schemas/AppPkcs12.ts +22 -0
- package/test-utils/sdks/alby/src/schemas/AppPost.ts +71 -0
- package/test-utils/sdks/alby/src/schemas/AppResponse.ts +69 -0
- package/test-utils/sdks/alby/src/schemas/AwsAccessKeys.ts +28 -0
- package/test-utils/sdks/alby/src/schemas/AwsAccessKeysResponse.ts +20 -0
- package/test-utils/sdks/alby/src/schemas/AwsAssumeRole.ts +23 -0
- package/test-utils/sdks/alby/src/schemas/AwsKinesisRulePatch.ts +90 -0
- package/test-utils/sdks/alby/src/schemas/AwsKinesisRulePost.ts +103 -0
- package/test-utils/sdks/alby/src/schemas/AwsKinesisRuleResponse.ts +142 -0
- package/test-utils/sdks/alby/src/schemas/AwsLambdaRulePatch.ts +90 -0
- package/test-utils/sdks/alby/src/schemas/AwsLambdaRulePost.ts +90 -0
- package/test-utils/sdks/alby/src/schemas/AwsLambdaRuleResponse.ts +132 -0
- package/test-utils/sdks/alby/src/schemas/AwsSqsRulePatch.ts +86 -0
- package/test-utils/sdks/alby/src/schemas/AwsSqsRulePost.ts +98 -0
- package/test-utils/sdks/alby/src/schemas/AwsSqsRuleResponse.ts +137 -0
- package/test-utils/sdks/alby/src/schemas/AzureFunctionRulePatch.ts +96 -0
- package/test-utils/sdks/alby/src/schemas/AzureFunctionRulePost.ts +106 -0
- package/test-utils/sdks/alby/src/schemas/AzureFunctionRuleResponse.ts +145 -0
- package/test-utils/sdks/alby/src/schemas/CloudflareWorkerRulePatch.ts +74 -0
- package/test-utils/sdks/alby/src/schemas/CloudflareWorkerRulePost.ts +83 -0
- package/test-utils/sdks/alby/src/schemas/CloudflareWorkerRuleResponse.ts +125 -0
- package/test-utils/sdks/alby/src/schemas/DeleteAppsAppIdNamespacesNamespaceId.ts +26 -0
- package/test-utils/sdks/alby/src/schemas/DeleteAppsAppIdQueuesQueueId.ts +26 -0
- package/test-utils/sdks/alby/src/schemas/DeleteAppsAppIdRulesRuleId.ts +26 -0
- package/test-utils/sdks/alby/src/schemas/DeleteAppsId.ts +20 -0
- package/test-utils/sdks/alby/src/schemas/Error.ts +39 -0
- package/test-utils/sdks/alby/src/schemas/GetAccountsAccountIdApps.ts +29 -0
- package/test-utils/sdks/alby/src/schemas/GetAppsAppIdKeys.ts +29 -0
- package/test-utils/sdks/alby/src/schemas/GetAppsAppIdNamespaces.ts +29 -0
- package/test-utils/sdks/alby/src/schemas/GetAppsAppIdQueues.ts +29 -0
- package/test-utils/sdks/alby/src/schemas/GetAppsAppIdRules.ts +29 -0
- package/test-utils/sdks/alby/src/schemas/GetAppsAppIdRulesRuleId.ts +26 -0
- package/test-utils/sdks/alby/src/schemas/GoogleCloudFunctionRulePatch.ts +100 -0
- package/test-utils/sdks/alby/src/schemas/GoogleCloudFunctionRulePost.ts +100 -0
- package/test-utils/sdks/alby/src/schemas/GoogleCloudFunctionRuleResponse.ts +150 -0
- package/test-utils/sdks/alby/src/schemas/HttpRulePatch.ts +89 -0
- package/test-utils/sdks/alby/src/schemas/HttpRulePost.ts +100 -0
- package/test-utils/sdks/alby/src/schemas/HttpRuleResponse.ts +138 -0
- package/test-utils/sdks/alby/src/schemas/IftttRulePatch.ts +59 -0
- package/test-utils/sdks/alby/src/schemas/IftttRulePost.ts +62 -0
- package/test-utils/sdks/alby/src/schemas/IftttRuleResponse.ts +101 -0
- package/test-utils/sdks/alby/src/schemas/KeyPatch.ts +34 -0
- package/test-utils/sdks/alby/src/schemas/KeyPost.ts +39 -0
- package/test-utils/sdks/alby/src/schemas/KeyResponse.ts +63 -0
- package/test-utils/sdks/alby/src/schemas/Me.ts +98 -0
- package/test-utils/sdks/alby/src/schemas/NamespacePatch.ts +49 -0
- package/test-utils/sdks/alby/src/schemas/NamespacePost.ts +59 -0
- package/test-utils/sdks/alby/src/schemas/NamespaceResponse.ts +70 -0
- package/test-utils/sdks/alby/src/schemas/PatchAppsAppIdKeysKeyId.ts +26 -0
- package/test-utils/sdks/alby/src/schemas/PatchAppsAppIdNamespacesNamespaceId.ts +26 -0
- package/test-utils/sdks/alby/src/schemas/PatchAppsAppIdRulesRuleId.ts +26 -0
- package/test-utils/sdks/alby/src/schemas/PatchAppsId.ts +20 -0
- package/test-utils/sdks/alby/src/schemas/PostAccountsAccountIdApps.ts +20 -0
- package/test-utils/sdks/alby/src/schemas/PostAppsAppIdKeys.ts +20 -0
- package/test-utils/sdks/alby/src/schemas/PostAppsAppIdKeysKeyIdRevoke.ts +26 -0
- package/test-utils/sdks/alby/src/schemas/PostAppsAppIdNamespaces.ts +20 -0
- package/test-utils/sdks/alby/src/schemas/PostAppsAppIdQueues.ts +20 -0
- package/test-utils/sdks/alby/src/schemas/PostAppsAppIdRules.ts +20 -0
- package/test-utils/sdks/alby/src/schemas/PostAppsIdPkcs12.ts +20 -0
- package/test-utils/sdks/alby/src/schemas/Queue.ts +43 -0
- package/test-utils/sdks/alby/src/schemas/QueueResponse.ts +185 -0
- package/test-utils/sdks/alby/src/schemas/RulePatch.ts +46 -0
- package/test-utils/sdks/alby/src/schemas/RulePost.ts +49 -0
- package/test-utils/sdks/alby/src/schemas/RuleResponse.ts +46 -0
- package/test-utils/sdks/alby/src/schemas/RuleSource.ts +30 -0
- package/test-utils/sdks/alby/src/schemas/UnsupportedRuleResponse.ts +98 -0
- package/test-utils/sdks/alby/src/schemas/ZapierRulePatch.ts +74 -0
- package/test-utils/sdks/alby/src/schemas/ZapierRulePost.ts +83 -0
- package/test-utils/sdks/alby/src/schemas/ZapierRuleResponse.ts +122 -0
- package/test-utils/sdks/alby/src/schemas.ts +77 -0
- package/test-utils/sdks/alby/src/sdk.ts +381 -0
- package/test-utils/sdks/alby/src/types.ts +84 -0
- package/test-utils/sdks/alby/tsconfig.json +12 -0
- package/test-utils/sdks/metrotransit/README.md +22 -0
- package/test-utils/sdks/metrotransit/package.json +55 -0
- package/test-utils/sdks/metrotransit/src/index.ts +12 -0
- package/test-utils/sdks/metrotransit/src/schemas/Agency.ts +19 -0
- package/test-utils/sdks/metrotransit/src/schemas/AlertMessage.ts +18 -0
- package/test-utils/sdks/metrotransit/src/schemas/Departure.ts +78 -0
- package/test-utils/sdks/metrotransit/src/schemas/Direction.ts +19 -0
- package/test-utils/sdks/metrotransit/src/schemas/GetNextripAgencies.ts +12 -0
- package/test-utils/sdks/metrotransit/src/schemas/GetNextripDirectionsRouteId.ts +28 -0
- package/test-utils/sdks/metrotransit/src/schemas/GetNextripRouteIdDirectionIdPlaceCode.ts +30 -0
- package/test-utils/sdks/metrotransit/src/schemas/GetNextripRoutes.ts +12 -0
- package/test-utils/sdks/metrotransit/src/schemas/GetNextripStopId.ts +20 -0
- package/test-utils/sdks/metrotransit/src/schemas/GetNextripStopsRouteIdDirectionId.ts +34 -0
- package/test-utils/sdks/metrotransit/src/schemas/GetNextripVehiclesRouteId.ts +28 -0
- package/test-utils/sdks/metrotransit/src/schemas/NexTripResult.ts +34 -0
- package/test-utils/sdks/metrotransit/src/schemas/Place.ts +21 -0
- package/test-utils/sdks/metrotransit/src/schemas/ProblemDetails.ts +40 -0
- package/test-utils/sdks/metrotransit/src/schemas/Route.ts +25 -0
- package/test-utils/sdks/metrotransit/src/schemas/Stop.ts +27 -0
- package/test-utils/sdks/metrotransit/src/schemas/Vehicle.ts +61 -0
- package/test-utils/sdks/metrotransit/src/schemas.ts +18 -0
- package/test-utils/sdks/metrotransit/src/sdk.ts +107 -0
- package/test-utils/sdks/metrotransit/src/types.ts +23 -0
- package/test-utils/sdks/metrotransit/tsconfig.json +12 -0
- package/test-utils/sdks/operationid-quirks/README.md +22 -0
- package/test-utils/sdks/operationid-quirks/package.json +50 -0
- package/test-utils/sdks/operationid-quirks/src/index.ts +9 -0
- package/test-utils/sdks/operationid-quirks/src/sdk.ts +107 -0
- package/test-utils/sdks/operationid-quirks/tsconfig.json +12 -0
- package/test-utils/sdks/optional-payload/README.md +14 -0
- package/test-utils/sdks/optional-payload/package.json +55 -0
- package/test-utils/sdks/optional-payload/src/index.ts +9 -0
- package/test-utils/sdks/optional-payload/src/schemas/UpdatePetWithForm.ts +35 -0
- package/test-utils/sdks/optional-payload/src/schemas.ts +2 -0
- package/test-utils/sdks/optional-payload/src/sdk.ts +82 -0
- package/test-utils/sdks/optional-payload/src/types.ts +5 -0
- package/test-utils/sdks/optional-payload/tsconfig.json +12 -0
- package/test-utils/sdks/petstore/LICENSE +97 -0
- package/test-utils/sdks/petstore/README.md +23 -0
- package/test-utils/sdks/petstore/package.json +56 -0
- package/test-utils/sdks/petstore/src/index.ts +17 -0
- package/test-utils/sdks/petstore/src/schemas/ApiResponse.ts +18 -0
- package/test-utils/sdks/petstore/src/schemas/Category.ts +15 -0
- package/test-utils/sdks/petstore/src/schemas/CreateUsersWithArrayInput.ts +10 -0
- package/test-utils/sdks/petstore/src/schemas/CreateUsersWithListInput.ts +10 -0
- package/test-utils/sdks/petstore/src/schemas/DeleteOrder.ts +22 -0
- package/test-utils/sdks/petstore/src/schemas/DeletePet.ts +31 -0
- package/test-utils/sdks/petstore/src/schemas/DeleteUser.ts +20 -0
- package/test-utils/sdks/petstore/src/schemas/FindPetsByStatus.ts +38 -0
- package/test-utils/sdks/petstore/src/schemas/FindPetsByTags.ts +32 -0
- package/test-utils/sdks/petstore/src/schemas/GetInventory.ts +13 -0
- package/test-utils/sdks/petstore/src/schemas/GetOrderById.ts +23 -0
- package/test-utils/sdks/petstore/src/schemas/GetPetById.ts +21 -0
- package/test-utils/sdks/petstore/src/schemas/GetUserByName.ts +20 -0
- package/test-utils/sdks/petstore/src/schemas/LoginUser.ts +32 -0
- package/test-utils/sdks/petstore/src/schemas/Order.ts +37 -0
- package/test-utils/sdks/petstore/src/schemas/Pet.ts +53 -0
- package/test-utils/sdks/petstore/src/schemas/Tag.ts +15 -0
- package/test-utils/sdks/petstore/src/schemas/UpdatePetWithForm.ts +35 -0
- package/test-utils/sdks/petstore/src/schemas/UpdateUser.ts +20 -0
- package/test-utils/sdks/petstore/src/schemas/UploadFile.ts +36 -0
- package/test-utils/sdks/petstore/src/schemas/User.ts +35 -0
- package/test-utils/sdks/petstore/src/schemas.ts +22 -0
- package/test-utils/sdks/petstore/src/sdk.ts +248 -0
- package/test-utils/sdks/petstore/src/types.ts +29 -0
- package/test-utils/sdks/petstore/tsconfig.json +12 -0
- package/test-utils/sdks/readme/README.md +23 -0
- package/test-utils/sdks/readme/package.json +55 -0
- package/test-utils/sdks/readme/src/index.ts +13 -0
- package/test-utils/sdks/readme/src/schemas/Apply.ts +61 -0
- package/test-utils/sdks/readme/src/schemas/Category.ts +24 -0
- package/test-utils/sdks/readme/src/schemas/Changelog.ts +36 -0
- package/test-utils/sdks/readme/src/schemas/CondensedProjectData.ts +25 -0
- package/test-utils/sdks/readme/src/schemas/CreateCategory.ts +21 -0
- package/test-utils/sdks/readme/src/schemas/CreateCustomPage.ts +22 -0
- package/test-utils/sdks/readme/src/schemas/CreateDoc.ts +40 -0
- package/test-utils/sdks/readme/src/schemas/CreateVersion.ts +33 -0
- package/test-utils/sdks/readme/src/schemas/CustomPage.ts +33 -0
- package/test-utils/sdks/readme/src/schemas/DeleteApiSpecification.ts +39 -0
- package/test-utils/sdks/readme/src/schemas/DeleteCategory.ts +37 -0
- package/test-utils/sdks/readme/src/schemas/DeleteChangelog.ts +20 -0
- package/test-utils/sdks/readme/src/schemas/DeleteCustomPage.ts +39 -0
- package/test-utils/sdks/readme/src/schemas/DeleteDoc.ts +53 -0
- package/test-utils/sdks/readme/src/schemas/DeleteVersion.ts +42 -0
- package/test-utils/sdks/readme/src/schemas/DocSchemaPost.ts +135 -0
- package/test-utils/sdks/readme/src/schemas/DocSchemaPut.ts +62 -0
- package/test-utils/sdks/readme/src/schemas/DocSchemaResponse.ts +54 -0
- package/test-utils/sdks/readme/src/schemas/ErrorApikeyEmpty.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorApikeyMismatch.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorApikeyNotfound.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorCategoryInvalid.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorCategoryNotfound.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorCustompageInvalid.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorCustompageNotfound.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorDocInvalid.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorDocNotfound.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorRegistryNotfound.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorSpecFileEmpty.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorSpecIdDuplicate.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorSpecIdInvalid.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorSpecInvalid.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorSpecInvalidSchema.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorSpecNotfound.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorSpecTimeout.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorSpecVersionNotfound.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorVersionCantDemoteStable.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorVersionCantRemoveStable.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorVersionDuplicate.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorVersionEmpty.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorVersionForkEmpty.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorVersionForkNotfound.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/ErrorVersionNotfound.ts +49 -0
- package/test-utils/sdks/readme/src/schemas/GetApiRegistry.ts +27 -0
- package/test-utils/sdks/readme/src/schemas/GetApiSchema.ts +10 -0
- package/test-utils/sdks/readme/src/schemas/GetApiSpecification.ts +74 -0
- package/test-utils/sdks/readme/src/schemas/GetCategories.ts +57 -0
- package/test-utils/sdks/readme/src/schemas/GetCategory.ts +37 -0
- package/test-utils/sdks/readme/src/schemas/GetCategoryDocs.ts +37 -0
- package/test-utils/sdks/readme/src/schemas/GetChangelog.ts +20 -0
- package/test-utils/sdks/readme/src/schemas/GetChangelogs.ts +43 -0
- package/test-utils/sdks/readme/src/schemas/GetCustomPage.ts +39 -0
- package/test-utils/sdks/readme/src/schemas/GetCustomPages.ts +60 -0
- package/test-utils/sdks/readme/src/schemas/GetDoc.ts +53 -0
- package/test-utils/sdks/readme/src/schemas/GetOpenRoles.ts +12 -0
- package/test-utils/sdks/readme/src/schemas/GetProductionDoc.ts +53 -0
- package/test-utils/sdks/readme/src/schemas/GetProject.ts +22 -0
- package/test-utils/sdks/readme/src/schemas/GetVersion.ts +42 -0
- package/test-utils/sdks/readme/src/schemas/GetVersions.ts +22 -0
- package/test-utils/sdks/readme/src/schemas/JobOpening.ts +52 -0
- package/test-utils/sdks/readme/src/schemas/SearchDocs.ts +53 -0
- package/test-utils/sdks/readme/src/schemas/UpdateApiSpecification.ts +67 -0
- package/test-utils/sdks/readme/src/schemas/UpdateCategory.ts +37 -0
- package/test-utils/sdks/readme/src/schemas/UpdateChangelog.ts +20 -0
- package/test-utils/sdks/readme/src/schemas/UpdateCustomPage.ts +39 -0
- package/test-utils/sdks/readme/src/schemas/UpdateDoc.ts +53 -0
- package/test-utils/sdks/readme/src/schemas/UpdateVersion.ts +42 -0
- package/test-utils/sdks/readme/src/schemas/UploadApiSpecification.ts +64 -0
- package/test-utils/sdks/readme/src/schemas/Version.ts +40 -0
- package/test-utils/sdks/readme/src/schemas.ts +70 -0
- package/test-utils/sdks/readme/src/sdk.ts +477 -0
- package/test-utils/sdks/readme/src/types.ts +120 -0
- package/test-utils/sdks/readme/tsconfig.json +12 -0
- package/test-utils/sdks/response-title-quirks/README.md +14 -0
- package/test-utils/sdks/response-title-quirks/package.json +55 -0
- package/test-utils/sdks/response-title-quirks/src/index.ts +9 -0
- package/test-utils/sdks/response-title-quirks/src/schemas/GetAnything.ts +60 -0
- package/test-utils/sdks/response-title-quirks/src/schemas.ts +2 -0
- package/test-utils/sdks/response-title-quirks/src/sdk.ts +76 -0
- package/test-utils/sdks/response-title-quirks/src/types.ts +5 -0
- package/test-utils/sdks/response-title-quirks/tsconfig.json +12 -0
- package/test-utils/sdks/simple/README.md +14 -0
- package/test-utils/sdks/simple/package.json +55 -0
- package/test-utils/sdks/simple/src/index.ts +10 -0
- package/test-utils/sdks/simple/src/schemas/Category.ts +15 -0
- package/test-utils/sdks/simple/src/schemas/FindPetsByStatus.ts +38 -0
- package/test-utils/sdks/simple/src/schemas/Pet.ts +53 -0
- package/test-utils/sdks/simple/src/schemas/Tag.ts +15 -0
- package/test-utils/sdks/simple/src/schemas.ts +5 -0
- package/test-utils/sdks/simple/src/sdk.ts +81 -0
- package/test-utils/sdks/simple/src/types.ts +8 -0
- package/test-utils/sdks/simple/tsconfig.json +12 -0
- package/test-utils/sdks/star-trek/README.md +22 -0
- package/test-utils/sdks/star-trek/package.json +55 -0
- package/test-utils/sdks/star-trek/src/index.ts +9 -0
- package/test-utils/sdks/star-trek/src/schemas/AnimalBase.ts +41 -0
- package/test-utils/sdks/star-trek/src/schemas/AnimalBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/AnimalFull.ts +41 -0
- package/test-utils/sdks/star-trek/src/schemas/AnimalFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/AstronomicalObjectBase.ts +27 -0
- package/test-utils/sdks/star-trek/src/schemas/AstronomicalObjectBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/AstronomicalObjectFull.ts +32 -0
- package/test-utils/sdks/star-trek/src/schemas/AstronomicalObjectFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/AstronomicalObjectHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/AstronomicalObjectType.ts +36 -0
- package/test-utils/sdks/star-trek/src/schemas/BloodType.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/BookBase.ts +120 -0
- package/test-utils/sdks/star-trek/src/schemas/BookBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/BookCollectionBase.ts +51 -0
- package/test-utils/sdks/star-trek/src/schemas/BookCollectionBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/BookCollectionFull.ts +98 -0
- package/test-utils/sdks/star-trek/src/schemas/BookCollectionFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/BookFull.ts +182 -0
- package/test-utils/sdks/star-trek/src/schemas/BookFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/BookSeriesBase.ts +57 -0
- package/test-utils/sdks/star-trek/src/schemas/BookSeriesBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/BookSeriesFull.ts +81 -0
- package/test-utils/sdks/star-trek/src/schemas/BookSeriesFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/CharacterBase.ts +104 -0
- package/test-utils/sdks/star-trek/src/schemas/CharacterBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/CharacterFull.ts +152 -0
- package/test-utils/sdks/star-trek/src/schemas/CharacterFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/CharacterHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/CharacterRelation.ts +17 -0
- package/test-utils/sdks/star-trek/src/schemas/CharacterSpecies.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicCollectionBase.ts +71 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicCollectionBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicCollectionFull.ts +123 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicCollectionFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicSeriesBase.ts +75 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicSeriesBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicSeriesFull.ts +99 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicSeriesFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicStripBase.ts +61 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicStripBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicStripFull.ts +85 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicStripFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicsBase.ts +75 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicsBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicsFull.ts +127 -0
- package/test-utils/sdks/star-trek/src/schemas/ComicsFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/CompanyBase.ts +89 -0
- package/test-utils/sdks/star-trek/src/schemas/CompanyBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/CompanyFull.ts +89 -0
- package/test-utils/sdks/star-trek/src/schemas/CompanyFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/CompanyHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/ConflictBase.ts +49 -0
- package/test-utils/sdks/star-trek/src/schemas/ConflictBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/ConflictFull.ts +78 -0
- package/test-utils/sdks/star-trek/src/schemas/ConflictFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/ContentLanguage.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/ContentRating.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/ContentRatingSystem.ts +35 -0
- package/test-utils/sdks/star-trek/src/schemas/Country.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/ElementBase.ts +61 -0
- package/test-utils/sdks/star-trek/src/schemas/ElementBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/ElementFull.ts +61 -0
- package/test-utils/sdks/star-trek/src/schemas/ElementFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/EpisodeBase.ts +82 -0
- package/test-utils/sdks/star-trek/src/schemas/EpisodeBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/EpisodeFull.ts +125 -0
- package/test-utils/sdks/star-trek/src/schemas/EpisodeFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/Error.ts +17 -0
- package/test-utils/sdks/star-trek/src/schemas/FoodBase.ts +61 -0
- package/test-utils/sdks/star-trek/src/schemas/FoodBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/FoodFull.ts +61 -0
- package/test-utils/sdks/star-trek/src/schemas/FoodFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/Gender.ts +11 -0
- package/test-utils/sdks/star-trek/src/schemas/Genre.ts +17 -0
- package/test-utils/sdks/star-trek/src/schemas/GetAnimal.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetAnimalSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetAstronomicalobject.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetAstronomicalobjectSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetBook.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetBookSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetBookcollection.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetBookcollectionSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetBookseries.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetBookseriesSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetCharacter.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetCharacterSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetComiccollection.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetComiccollectionSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetComics.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetComicsSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetComicseries.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetComicseriesSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetComicstrip.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetComicstripSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetCompany.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetCompanySearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetConflict.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetConflictSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetElement.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetElementSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetEpisode.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetEpisodeSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetFood.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetFoodSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetLiterature.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetLiteratureSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetLocation.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetLocationSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetMagazine.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetMagazineSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetMagazineseries.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetMagazineseriesSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetMaterial.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetMaterialSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetMedicalcondition.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetMedicalconditionSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetMovie.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetMovieSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetOccupation.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetOccupationSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetOrganization.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetOrganizationSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetPerformer.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetPerformerSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSeason.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSeasonSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSeries.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSeriesSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSoundtrack.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSoundtrackSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSpacecraft.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSpacecraftSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSpacecraftclass.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSpacecraftclassSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSpecies.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetSpeciesSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetStaff.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetStaffSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetTechnology.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetTechnologySearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetTitle.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetTitleSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetTradingcard.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetTradingcardSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetTradingcarddeck.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetTradingcarddeckSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetTradingcardset.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetTradingcardsetSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetVideogame.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetVideogameSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetVideorelease.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetVideoreleaseSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/GetWeapon.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/GetWeaponSearch.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/LiteratureBase.ts +45 -0
- package/test-utils/sdks/star-trek/src/schemas/LiteratureBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/LiteratureFull.ts +45 -0
- package/test-utils/sdks/star-trek/src/schemas/LiteratureFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/LocationBase.ts +113 -0
- package/test-utils/sdks/star-trek/src/schemas/LocationBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/LocationFull.ts +113 -0
- package/test-utils/sdks/star-trek/src/schemas/LocationFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/MagazineBase.ts +53 -0
- package/test-utils/sdks/star-trek/src/schemas/MagazineBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/MagazineFull.ts +72 -0
- package/test-utils/sdks/star-trek/src/schemas/MagazineFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/MagazineSeriesBase.ts +41 -0
- package/test-utils/sdks/star-trek/src/schemas/MagazineSeriesBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/MagazineSeriesFull.ts +60 -0
- package/test-utils/sdks/star-trek/src/schemas/MagazineSeriesFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/MaritalStatus.ts +17 -0
- package/test-utils/sdks/star-trek/src/schemas/MaterialBase.ts +61 -0
- package/test-utils/sdks/star-trek/src/schemas/MaterialBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/MaterialFull.ts +61 -0
- package/test-utils/sdks/star-trek/src/schemas/MaterialFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/MedicalConditionBase.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/MedicalConditionBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/MedicalConditionFull.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/MedicalConditionFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/MovieBase.ts +87 -0
- package/test-utils/sdks/star-trek/src/schemas/MovieBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/MovieFull.ts +139 -0
- package/test-utils/sdks/star-trek/src/schemas/MovieFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/OccupationBase.ts +33 -0
- package/test-utils/sdks/star-trek/src/schemas/OccupationBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/OccupationFull.ts +40 -0
- package/test-utils/sdks/star-trek/src/schemas/OccupationFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/OrganizationBase.ts +69 -0
- package/test-utils/sdks/star-trek/src/schemas/OrganizationBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/OrganizationFull.ts +76 -0
- package/test-utils/sdks/star-trek/src/schemas/OrganizationFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/OrganizationHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/PerformerBase.ts +98 -0
- package/test-utils/sdks/star-trek/src/schemas/PerformerBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/PerformerFull.ts +136 -0
- package/test-utils/sdks/star-trek/src/schemas/PerformerFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/Platform.ts +17 -0
- package/test-utils/sdks/star-trek/src/schemas/PostAnimalSearch.ts +65 -0
- package/test-utils/sdks/star-trek/src/schemas/PostAstronomicalobjectSearch.ts +53 -0
- package/test-utils/sdks/star-trek/src/schemas/PostBookSearch.ts +141 -0
- package/test-utils/sdks/star-trek/src/schemas/PostBookcollectionSearch.ts +85 -0
- package/test-utils/sdks/star-trek/src/schemas/PostBookseriesSearch.ts +83 -0
- package/test-utils/sdks/star-trek/src/schemas/PostCharacterSearch.ts +69 -0
- package/test-utils/sdks/star-trek/src/schemas/PostComiccollectionSearch.ts +89 -0
- package/test-utils/sdks/star-trek/src/schemas/PostComicsSearch.ts +93 -0
- package/test-utils/sdks/star-trek/src/schemas/PostComicseriesSearch.ts +93 -0
- package/test-utils/sdks/star-trek/src/schemas/PostComicstripSearch.ts +75 -0
- package/test-utils/sdks/star-trek/src/schemas/PostCompanySearch.ts +113 -0
- package/test-utils/sdks/star-trek/src/schemas/PostConflictSearch.ts +75 -0
- package/test-utils/sdks/star-trek/src/schemas/PostElementSearch.ts +77 -0
- package/test-utils/sdks/star-trek/src/schemas/PostEpisodeSearch.ts +113 -0
- package/test-utils/sdks/star-trek/src/schemas/PostFoodSearch.ts +85 -0
- package/test-utils/sdks/star-trek/src/schemas/PostLiteratureSearch.ts +69 -0
- package/test-utils/sdks/star-trek/src/schemas/PostLocationSearch.ts +137 -0
- package/test-utils/sdks/star-trek/src/schemas/PostMagazineSearch.ts +65 -0
- package/test-utils/sdks/star-trek/src/schemas/PostMagazineseriesSearch.ts +65 -0
- package/test-utils/sdks/star-trek/src/schemas/PostMaterialSearch.ts +85 -0
- package/test-utils/sdks/star-trek/src/schemas/PostMedicalconditionSearch.ts +49 -0
- package/test-utils/sdks/star-trek/src/schemas/PostMovieSearch.ts +75 -0
- package/test-utils/sdks/star-trek/src/schemas/PostOccupationSearch.ts +57 -0
- package/test-utils/sdks/star-trek/src/schemas/PostOrganizationSearch.ts +93 -0
- package/test-utils/sdks/star-trek/src/schemas/PostPerformerSearch.ts +133 -0
- package/test-utils/sdks/star-trek/src/schemas/PostSeasonSearch.ts +65 -0
- package/test-utils/sdks/star-trek/src/schemas/PostSeriesSearch.ts +89 -0
- package/test-utils/sdks/star-trek/src/schemas/PostSoundtrackSearch.ts +65 -0
- package/test-utils/sdks/star-trek/src/schemas/PostSpacecraftSearch.ts +45 -0
- package/test-utils/sdks/star-trek/src/schemas/PostSpacecraftclassSearch.ts +53 -0
- package/test-utils/sdks/star-trek/src/schemas/PostSpeciesSearch.ts +93 -0
- package/test-utils/sdks/star-trek/src/schemas/PostStaffSearch.ts +301 -0
- package/test-utils/sdks/star-trek/src/schemas/PostTechnologySearch.ts +125 -0
- package/test-utils/sdks/star-trek/src/schemas/PostTitleSearch.ts +65 -0
- package/test-utils/sdks/star-trek/src/schemas/PostTradingcardSearch.ts +53 -0
- package/test-utils/sdks/star-trek/src/schemas/PostTradingcarddeckSearch.ts +49 -0
- package/test-utils/sdks/star-trek/src/schemas/PostTradingcardsetSearch.ts +119 -0
- package/test-utils/sdks/star-trek/src/schemas/PostVideogameSearch.ts +55 -0
- package/test-utils/sdks/star-trek/src/schemas/PostVideoreleaseSearch.ts +65 -0
- package/test-utils/sdks/star-trek/src/schemas/PostWeaponSearch.ts +73 -0
- package/test-utils/sdks/star-trek/src/schemas/ProductionRunUnit.ts +11 -0
- package/test-utils/sdks/star-trek/src/schemas/Reference.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/ReferenceType.ts +11 -0
- package/test-utils/sdks/star-trek/src/schemas/ResponsePage.ts +42 -0
- package/test-utils/sdks/star-trek/src/schemas/ResponseSort.ts +16 -0
- package/test-utils/sdks/star-trek/src/schemas/ResponseSortClause.ts +25 -0
- package/test-utils/sdks/star-trek/src/schemas/ResponseSortDirection.ts +11 -0
- package/test-utils/sdks/star-trek/src/schemas/SeasonBase.ts +32 -0
- package/test-utils/sdks/star-trek/src/schemas/SeasonBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/SeasonFull.ts +38 -0
- package/test-utils/sdks/star-trek/src/schemas/SeasonFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/SeasonHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/SeriesBase.ts +60 -0
- package/test-utils/sdks/star-trek/src/schemas/SeriesBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/SeriesFull.ts +72 -0
- package/test-utils/sdks/star-trek/src/schemas/SeriesFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/SeriesHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/SoundtrackBase.ts +30 -0
- package/test-utils/sdks/star-trek/src/schemas/SoundtrackBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/SoundtrackFull.ts +59 -0
- package/test-utils/sdks/star-trek/src/schemas/SoundtrackFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/SpacecraftBase.ts +39 -0
- package/test-utils/sdks/star-trek/src/schemas/SpacecraftBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/SpacecraftClassBase.ts +48 -0
- package/test-utils/sdks/star-trek/src/schemas/SpacecraftClassBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/SpacecraftClassFull.ts +60 -0
- package/test-utils/sdks/star-trek/src/schemas/SpacecraftClassFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/SpacecraftClassHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/SpacecraftFull.ts +45 -0
- package/test-utils/sdks/star-trek/src/schemas/SpacecraftFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/SpacecraftType.ts +17 -0
- package/test-utils/sdks/star-trek/src/schemas/SpeciesBase.ts +73 -0
- package/test-utils/sdks/star-trek/src/schemas/SpeciesBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/SpeciesFull.ts +79 -0
- package/test-utils/sdks/star-trek/src/schemas/SpeciesFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/SpeciesHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/StaffBase.ts +266 -0
- package/test-utils/sdks/star-trek/src/schemas/StaffBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/StaffFull.ts +323 -0
- package/test-utils/sdks/star-trek/src/schemas/StaffFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/StaffHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/TechnologyBase.ts +101 -0
- package/test-utils/sdks/star-trek/src/schemas/TechnologyBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/TechnologyFull.ts +101 -0
- package/test-utils/sdks/star-trek/src/schemas/TechnologyFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/TitleBase.ts +41 -0
- package/test-utils/sdks/star-trek/src/schemas/TitleBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/TitleFull.ts +48 -0
- package/test-utils/sdks/star-trek/src/schemas/TitleFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardBase.ts +38 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardDeckBase.ts +28 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardDeckBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardDeckFull.ts +34 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardDeckFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardDeckHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardFull.ts +38 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardSetBase.ts +62 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardSetBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardSetFull.ts +86 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardSetFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/TradingCardSetHeader.ts +21 -0
- package/test-utils/sdks/star-trek/src/schemas/VideoGameBase.ts +48 -0
- package/test-utils/sdks/star-trek/src/schemas/VideoGameBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/VideoGameFull.ts +84 -0
- package/test-utils/sdks/star-trek/src/schemas/VideoGameFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/VideoReleaseBase.ts +127 -0
- package/test-utils/sdks/star-trek/src/schemas/VideoReleaseBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/VideoReleaseFormat.ts +23 -0
- package/test-utils/sdks/star-trek/src/schemas/VideoReleaseFull.ts +155 -0
- package/test-utils/sdks/star-trek/src/schemas/VideoReleaseFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas/WeaponBase.ts +49 -0
- package/test-utils/sdks/star-trek/src/schemas/WeaponBaseResponse.ts +20 -0
- package/test-utils/sdks/star-trek/src/schemas/WeaponFull.ts +49 -0
- package/test-utils/sdks/star-trek/src/schemas/WeaponFullResponse.ts +12 -0
- package/test-utils/sdks/star-trek/src/schemas.ts +314 -0
- package/test-utils/sdks/star-trek/src/sdk.ts +1032 -0
- package/test-utils/sdks/star-trek/src/types.ts +490 -0
- package/test-utils/sdks/star-trek/tsconfig.json +12 -0
- package/test-utils/tsconfig.json +9 -0
- package/tsconfig.eslint.json +8 -0
- package/tsconfig.json +9 -0
- package/tsup.config.ts +31 -0
package/src/index.ts
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
import type {ConfigOptions} from './types.js'
|
2
|
+
import type {AuthForHAR, DataForHAR} from '@readme/oas-to-har/lib/types'
|
3
|
+
import type {Har} from 'har-format'
|
4
|
+
import type {Operation} from 'oas/operation'
|
5
|
+
import type {HttpMethods, OASDocument} from 'oas/types'
|
6
|
+
|
7
|
+
import oasToHar from '@readme/oas-to-har'
|
8
|
+
import fetchHar from 'fetch-har'
|
9
|
+
import Oas from 'oas'
|
10
|
+
|
11
|
+
import FetchError from './errors/fetchError.js'
|
12
|
+
import {parseResponse, prepareAuth, prepareParams, prepareServer} from './lib/index.js'
|
13
|
+
|
14
|
+
export default class APICore {
|
15
|
+
spec!: Oas
|
16
|
+
|
17
|
+
private auth: (number | string)[] = []
|
18
|
+
|
19
|
+
private server:
|
20
|
+
| false
|
21
|
+
| {
|
22
|
+
url: string
|
23
|
+
variables?: Record<string, number | string>
|
24
|
+
} = false
|
25
|
+
|
26
|
+
private config: ConfigOptions = {}
|
27
|
+
|
28
|
+
private userAgent!: string
|
29
|
+
|
30
|
+
constructor(definition?: OASDocument | Record<string, unknown>, userAgent?: string) {
|
31
|
+
if (definition) this.spec = Oas.init(definition)
|
32
|
+
if (userAgent) this.userAgent = userAgent
|
33
|
+
}
|
34
|
+
|
35
|
+
setSpec(spec: Oas) {
|
36
|
+
this.spec = spec
|
37
|
+
}
|
38
|
+
|
39
|
+
setConfig(config: ConfigOptions) {
|
40
|
+
this.config = config
|
41
|
+
return this
|
42
|
+
}
|
43
|
+
|
44
|
+
setUserAgent(userAgent: string) {
|
45
|
+
this.userAgent = userAgent
|
46
|
+
return this
|
47
|
+
}
|
48
|
+
|
49
|
+
setAuth(...values: number[] | string[]) {
|
50
|
+
this.auth = values
|
51
|
+
return this
|
52
|
+
}
|
53
|
+
|
54
|
+
setServer(url: string, variables: Record<string, number | string> = {}) {
|
55
|
+
this.server = {url, variables}
|
56
|
+
return this
|
57
|
+
}
|
58
|
+
|
59
|
+
async fetch<HTTPStatus extends number = number>(
|
60
|
+
path: string,
|
61
|
+
method: HttpMethods,
|
62
|
+
body?: unknown,
|
63
|
+
metadata?: Record<string, unknown>,
|
64
|
+
) {
|
65
|
+
const operation = this.spec.operation(path, method)
|
66
|
+
|
67
|
+
return this.fetchOperation<HTTPStatus>(operation, body, metadata)
|
68
|
+
}
|
69
|
+
|
70
|
+
/**
|
71
|
+
* Retrieve a HAR for a given HTTP request.
|
72
|
+
*
|
73
|
+
* @internal
|
74
|
+
*/
|
75
|
+
getHARForRequest(operation: Operation, data: DataForHAR, auth: AuthForHAR) {
|
76
|
+
return oasToHar(this.spec, operation, data, auth)
|
77
|
+
}
|
78
|
+
|
79
|
+
async fetchOperation<HTTPStatus extends number = number>(
|
80
|
+
operation: Operation,
|
81
|
+
body?: unknown,
|
82
|
+
metadata?: Record<string, unknown>,
|
83
|
+
) {
|
84
|
+
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
85
|
+
return prepareParams(operation, body, metadata).then(params => {
|
86
|
+
const data = {...params}
|
87
|
+
|
88
|
+
// If `sdk.server()` has been issued data then we need to do some extra work to figure out
|
89
|
+
// how to use that supplied server, and also handle any server variables that were sent
|
90
|
+
// alongside it.
|
91
|
+
if (this.server) {
|
92
|
+
const preparedServer = prepareServer(this.spec, this.server.url, this.server.variables)
|
93
|
+
if (preparedServer) {
|
94
|
+
data.server = preparedServer
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
const har = this.getHARForRequest(operation, data, prepareAuth(this.auth, operation))
|
99
|
+
|
100
|
+
let timeoutSignal: NodeJS.Timeout
|
101
|
+
const init: RequestInit = {}
|
102
|
+
if (this.config.timeout) {
|
103
|
+
const controller = new AbortController()
|
104
|
+
timeoutSignal = setTimeout(() => controller.abort(), this.config.timeout)
|
105
|
+
init.signal = controller.signal
|
106
|
+
}
|
107
|
+
|
108
|
+
return fetchHar(har as Har, {
|
109
|
+
files: data.files || {},
|
110
|
+
init,
|
111
|
+
userAgent: this.userAgent,
|
112
|
+
})
|
113
|
+
.then(async (res: Response) => {
|
114
|
+
const parsed = await parseResponse<HTTPStatus>(res)
|
115
|
+
|
116
|
+
if (res.status >= 400 && res.status <= 599) {
|
117
|
+
throw new FetchError<typeof parsed.status, typeof parsed.data>(
|
118
|
+
parsed.status,
|
119
|
+
parsed.data,
|
120
|
+
parsed.headers,
|
121
|
+
parsed.res,
|
122
|
+
)
|
123
|
+
}
|
124
|
+
|
125
|
+
return parsed
|
126
|
+
})
|
127
|
+
.finally(() => {
|
128
|
+
if (this.config.timeout) {
|
129
|
+
clearTimeout(timeoutSignal)
|
130
|
+
}
|
131
|
+
})
|
132
|
+
})
|
133
|
+
}
|
134
|
+
}
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import type {SchemaWrapper} from 'oas/operation/get-parameters-as-json-schema'
|
2
|
+
import type {SchemaObject} from 'oas/types'
|
3
|
+
|
4
|
+
import traverse from 'json-schema-traverse'
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Run through a JSON Schema object and compose up an object containing default data for any schema
|
8
|
+
* property that is required and also has a defined default.
|
9
|
+
*
|
10
|
+
* Code partially adapted from the `json-schema-default` package but modified to only return
|
11
|
+
* defaults of required properties.
|
12
|
+
*
|
13
|
+
* @todo This is a good candidate to be moved into a core `oas` library method.
|
14
|
+
* @see {@link https://github.com/mdornseif/json-schema-default}
|
15
|
+
*/
|
16
|
+
export default function getJSONSchemaDefaults(jsonSchemas: SchemaWrapper[]) {
|
17
|
+
return jsonSchemas
|
18
|
+
.map(({type: payloadType, schema: jsonSchema}) => {
|
19
|
+
const defaults: Record<string, unknown> = {}
|
20
|
+
traverse(
|
21
|
+
jsonSchema,
|
22
|
+
(
|
23
|
+
schema: SchemaObject,
|
24
|
+
pointer: string,
|
25
|
+
_rootSchema: SchemaObject,
|
26
|
+
parentPointer?: string,
|
27
|
+
_parentKeyword?: string,
|
28
|
+
parentSchema?: SchemaObject,
|
29
|
+
indexProperty?: number | string,
|
30
|
+
) => {
|
31
|
+
if (!pointer.startsWith('/properties/')) {
|
32
|
+
return
|
33
|
+
}
|
34
|
+
|
35
|
+
if (
|
36
|
+
Array.isArray(parentSchema?.required) &&
|
37
|
+
parentSchema?.required.includes(String(indexProperty))
|
38
|
+
) {
|
39
|
+
if (schema.type === 'object' && indexProperty) {
|
40
|
+
defaults[indexProperty] = {}
|
41
|
+
}
|
42
|
+
|
43
|
+
let destination = defaults
|
44
|
+
if (parentPointer) {
|
45
|
+
// To map nested objects correct we need to pick apart the parent pointer.
|
46
|
+
parentPointer
|
47
|
+
.replace(/\/properties/g, '')
|
48
|
+
.split('/')
|
49
|
+
.forEach((subSchema: string) => {
|
50
|
+
if (subSchema === '') {
|
51
|
+
return
|
52
|
+
}
|
53
|
+
|
54
|
+
destination = (destination?.[subSchema] as Record<string, unknown>) || {}
|
55
|
+
})
|
56
|
+
}
|
57
|
+
|
58
|
+
if (schema.default !== undefined) {
|
59
|
+
if (indexProperty !== undefined) {
|
60
|
+
destination[indexProperty] = schema.default
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
},
|
65
|
+
)
|
66
|
+
|
67
|
+
if (!Object.keys(defaults).length) {
|
68
|
+
return {}
|
69
|
+
}
|
70
|
+
|
71
|
+
return {
|
72
|
+
// @todo should we filter out empty and undefined objects from here with `remove-undefined-objects`?
|
73
|
+
[payloadType]: defaults,
|
74
|
+
}
|
75
|
+
})
|
76
|
+
.reduce((prev, next) => Object.assign(prev, next))
|
77
|
+
}
|
package/src/lib/index.ts
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
import getJSONSchemaDefaults from './getJSONSchemaDefaults.js'
|
2
|
+
import parseResponse from './parseResponse.js'
|
3
|
+
import prepareAuth from './prepareAuth.js'
|
4
|
+
import prepareParams from './prepareParams.js'
|
5
|
+
import prepareServer from './prepareServer.js'
|
6
|
+
|
7
|
+
export {getJSONSchemaDefaults, parseResponse, prepareAuth, prepareParams, prepareServer}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import {matchesMimeType} from 'oas/utils'
|
2
|
+
|
3
|
+
export default async function parseResponse<HTTPStatus extends number = number>(
|
4
|
+
response: Response,
|
5
|
+
) {
|
6
|
+
const contentType = response.headers.get('Content-Type')
|
7
|
+
const isJSON =
|
8
|
+
contentType && (matchesMimeType.json(contentType) || matchesMimeType.wildcard(contentType))
|
9
|
+
|
10
|
+
const responseBody = await response.clone().text()
|
11
|
+
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
13
|
+
let data: any = responseBody
|
14
|
+
if (isJSON) {
|
15
|
+
try {
|
16
|
+
data = JSON.parse(responseBody)
|
17
|
+
} catch (e) {
|
18
|
+
// If our JSON parsing failed then we can just return plaintext instead.
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
return {
|
23
|
+
data,
|
24
|
+
status: response.status as HTTPStatus,
|
25
|
+
headers: response.headers,
|
26
|
+
res: response,
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,107 @@
|
|
1
|
+
/* eslint-disable no-underscore-dangle */
|
2
|
+
import type {AuthForHAR} from '@readme/oas-to-har/lib/types'
|
3
|
+
import type {Operation} from 'oas/operation'
|
4
|
+
import type {KeyedSecuritySchemeObject} from 'oas/types'
|
5
|
+
|
6
|
+
export default function prepareAuth(authKey: (number | string)[], operation: Operation) {
|
7
|
+
if (authKey.length === 0) {
|
8
|
+
return {}
|
9
|
+
}
|
10
|
+
|
11
|
+
const preparedAuth: AuthForHAR = {}
|
12
|
+
|
13
|
+
const security = operation.getSecurity()
|
14
|
+
if (security.length === 0) {
|
15
|
+
// If there's no auth configured on this operation, don't prepare anything (even if it was
|
16
|
+
// supplied by the user).
|
17
|
+
return {}
|
18
|
+
}
|
19
|
+
|
20
|
+
// Does this operation require multiple forms of auth?
|
21
|
+
if (security.every(s => Object.keys(s).length > 1)) {
|
22
|
+
throw new Error(
|
23
|
+
"Sorry, this operation currently requires multiple forms of authentication which this library doesn't yet support.",
|
24
|
+
)
|
25
|
+
}
|
26
|
+
|
27
|
+
// Since we can only handle single auth security configurations, let's pull those out. This code
|
28
|
+
// is a bit opaque but `security` here may look like `[{ basic: [] }, { oauth2: [], basic: []}]`
|
29
|
+
// and are filtering it down to only single-auth requirements of `[{ basic: [] }]`.
|
30
|
+
const usableSecurity = security
|
31
|
+
.map(s => {
|
32
|
+
return Object.keys(s).length === 1 ? s : false
|
33
|
+
})
|
34
|
+
.filter(Boolean)
|
35
|
+
|
36
|
+
const usableSecuritySchemes = usableSecurity
|
37
|
+
.map(s => Object.keys(s))
|
38
|
+
.reduce((prev, next) => prev.concat(next), [])
|
39
|
+
const preparedSecurity = operation.prepareSecurity()
|
40
|
+
|
41
|
+
// If we have two auth tokens present let's look for Basic Auth in their configuration.
|
42
|
+
if (authKey.length >= 2) {
|
43
|
+
// If this operation doesn't support HTTP Basic auth but we have two tokens, that's a paddlin.
|
44
|
+
if (!('Basic' in preparedSecurity)) {
|
45
|
+
throw new Error(
|
46
|
+
'Multiple auth tokens were supplied for this endpoint but only a single token is needed.',
|
47
|
+
)
|
48
|
+
}
|
49
|
+
|
50
|
+
// If we have two auth keys for Basic Auth but Basic isn't a usable security scheme (maybe it's
|
51
|
+
// part of an AND or auth configuration -- which we don't support) then we need to error out.
|
52
|
+
const schemes = preparedSecurity.Basic.filter(s => usableSecuritySchemes.includes(s._key))
|
53
|
+
if (!schemes.length) {
|
54
|
+
throw new Error(
|
55
|
+
'Credentials for Basic Authentication were supplied but this operation requires another form of auth in that case, which this library does not yet support. This operation does, however, allow supplying a single auth token.',
|
56
|
+
)
|
57
|
+
}
|
58
|
+
|
59
|
+
const scheme = schemes.shift() as KeyedSecuritySchemeObject
|
60
|
+
preparedAuth[scheme._key] = {
|
61
|
+
user: String(authKey[0]),
|
62
|
+
pass: authKey.length === 2 ? String(authKey[1]) : '',
|
63
|
+
}
|
64
|
+
|
65
|
+
return preparedAuth
|
66
|
+
}
|
67
|
+
|
68
|
+
// If we know we don't need to use HTTP Basic auth because we have a username+password then we
|
69
|
+
// can pick the first usable security scheme available and try to use that. This might not always
|
70
|
+
// be the auth scheme that the user wants, but we don't have any other way for the user to tell
|
71
|
+
// us what they want with the current `sdk.auth()` API.
|
72
|
+
const usableScheme = usableSecuritySchemes[0]
|
73
|
+
const schemes = Object.entries(preparedSecurity)
|
74
|
+
.map(([, ps]) => ps.filter(s => usableScheme === s._key))
|
75
|
+
.reduce((prev, next) => prev.concat(next), [])
|
76
|
+
|
77
|
+
const scheme = schemes.shift() as KeyedSecuritySchemeObject
|
78
|
+
switch (scheme.type) {
|
79
|
+
case 'http':
|
80
|
+
if (scheme.scheme === 'basic') {
|
81
|
+
preparedAuth[scheme._key] = {
|
82
|
+
user: String(authKey[0]),
|
83
|
+
pass: authKey.length === 2 ? String(authKey[1]) : '',
|
84
|
+
}
|
85
|
+
} else if (scheme.scheme === 'bearer') {
|
86
|
+
preparedAuth[scheme._key] = String(authKey[0])
|
87
|
+
}
|
88
|
+
break
|
89
|
+
|
90
|
+
case 'oauth2':
|
91
|
+
preparedAuth[scheme._key] = String(authKey[0])
|
92
|
+
break
|
93
|
+
|
94
|
+
case 'apiKey':
|
95
|
+
if (scheme.in === 'query' || scheme.in === 'header' || scheme.in === 'cookie') {
|
96
|
+
preparedAuth[scheme._key] = String(authKey[0])
|
97
|
+
}
|
98
|
+
break
|
99
|
+
|
100
|
+
default:
|
101
|
+
throw new Error(
|
102
|
+
`Sorry, this API currently uses a security scheme, ${scheme.type}, which this library doesn't yet support.`,
|
103
|
+
)
|
104
|
+
}
|
105
|
+
|
106
|
+
return preparedAuth
|
107
|
+
}
|