0.7.1 • Published 2 months ago

@openapi-generator-plus/typescript-fetch-client-generator2 v0.7.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 months ago

Strongly-typed TypeScript Fetch Browser API generator for OpenAPI Generator Plus

An OpenAPI Generator Plus template for a TypeScript API client using Fetch in a Browser with support for multiple strongly-typed responses.

This client generator supercedes the typescript-fetch-client-generator

For an API client to use in Node applications, see typescript-fetch-node-client-generator.

Using

See the OpenAPI Generator Plus documentation for how to use generator templates.

Config file

The available config file properties are:

Project layout

PropertyTypeDescriptionDefault
relativeSourceOutputPathstringThe path to output generated source code, relative to the output path../ or ./src if npm is specified.

Code style

PropertyTypeDescriptionDefault
constantStyle"allCapsSnake"\|"allCaps"\|"camelCase"\|"pascalCase"The style to use for constant naming."pascalCase"
dateApproach"native"\|"string"\|"blind-date"Whether to use string for date and time and Date for date-time, or just string, or whether to use blind-date for dates and times.native
legacyUnnamespacedModelSupportbooleanGenerate unnamespaced versions of the models.false
includePolyfillsbooleanInclude polyfills for features that browsers might not support or support well.true

blind-date

The blind-date library provides some typesafety for dates and times as strings in TypeScript. You can configure the generated code using blind-date:

PropertyTypeDescriptionDefault
blindDateBlindDateConfigConfiguration for blind-date.undefined

BlindDateConfig

PropertyTypeDescriptionDefault
dateTimeImplementationstringThe date-time implementation to use; either OffsetDateTimeString or LocalDateTimeString.OffsetDateTimeString

TypeScript

A tsconfig.json file will be output if you specify any of the TypeScript config options.

PropertyTypeDescriptionDefault
typescriptTypeScriptConfigConfiguration for the tsconfig.json file.undefined

TypeScriptConfig

PropertyTypeDescriptionDefault
targetstringThe ECMAScript target version.ES5
libstring[]An array of libs to use in tsconfig.jsonThe appropriate lib for the target + 'DOM'

Packaging

PropertyTypeDescriptionDefault
npmNpmConfigConfiguration for generating an npm package.jsonundefined

NpmConfig

PropertyTypeDescriptionDefault
namestringThe package nametypescript-fetch-api
versionstringThe package version0.0.1
repositorystringThe URL to the package repositoryundefined

Overrides

PropertyTypeDescriptionDefault
customTemplatesstringThe path to a directory containing custom Handlebars templates, relative to the config file. See Customising below.undefined

Customising

This generator supports a customTemplates config file property to specify a directory containing Handlebars templates that will be used to override built-in templates.

Any custom template will have the original template available as a partial named by prefixing the template name with original, and then upper-casing the first letter, e.g. originalModelEnum.

Some of the templates in the generator are designed to support overriding for custom requirements. Please inspect the templates in the templates directory.