UNPKG

api

Version:

Magical SDK generation from an OpenAPI definition 🪄

78 lines • 2.89 kB
import { SupportedLanguages } from './codegen/factory.js'; const lockfileApiSchema = { type: 'object', required: ['createdAt', 'identifier', 'installerVersion', 'integrity'], properties: { createdAt: { type: 'string', format: 'date-time', description: 'The date that this SDK was installed.', examples: ['2023-10-19T20:35:39.268Z'], }, identifier: { type: 'string', description: "A unique identifier of the API. This'll be used to do imports on `@api/<identifier>` and also where the SDK code will be located in `.api/apis/<identifier>`", examples: ['petstore'], }, installerVersion: { type: 'string', description: 'The version of `api` that was used to install this SDK.', examples: ['7.0.0'], }, integrity: { type: 'string', description: 'An integrity hash that will be used to determine on `npx api update` calls if the API has changed since the SDK was last generated.', examples: ['sha512-otRF5TLMeDczSJlrmWLNDHLfmXg+C98oa/I/X2WWycwngh+a6WsbnjTbfwKGRU5DFbagOn2qX2SRvtBGOBRVGg=='], }, language: { type: 'string', description: 'The language that this SDK was generated for.', default: SupportedLanguages.JS, enum: Object.values(SupportedLanguages), }, private: { type: 'boolean', description: 'Was this SDK installed as a private, unpublished, package to the filesystem?', }, source: { type: 'string', description: 'The original source that was used to generate the SDK with.', examples: [ 'https://raw.githubusercontent.com/readmeio/oas-examples/main/3.0/json/petstore-simple.json', './petstore.json', '@developers/v2.0#nysezql0wwo236', ], }, updatedAt: { type: 'string', format: 'date-time', description: 'The date that this SDK was last rebuilt or updated.', examples: ['2023-10-19T20:35:39.268Z'], }, }, additionalProperties: false, }; export const lockfileSchema = { $schema: 'http://json-schema.org/draft-07/schema#', title: 'api storage lockfile', description: 'See https://api.readme.dev/docs', type: 'object', required: ['apis'], additionalProperties: false, properties: { $schema: { type: 'string', }, apis: { type: 'array', description: 'The list of installed APIs', items: { $ref: '#/definitions/api', }, }, }, definitions: { api: lockfileApiSchema, }, }; //# sourceMappingURL=lockfileSchema.js.map