forked from loafle/openapi-generator-original
* Combine javascript and javascript-apollo generator functionality * Combine javascript and javascript-apollo templates * update configs * deprecate javascript-apollo generator * bonus magic string deletion ✨ * update samples * update generator docs * fix: include .babelrc in apollo generation * update samples * update samples * rename javascript-apollo to javascript-apollo-deprecated * fix javascript apollo library template Apollo library now uses the partial_model_generic template file from the ES6 library, as it includes many fixes and improvements (including handling models with ill-named attributes) * update samples * Create javascript-apollo-deprecated.md * Updated javascript generator template's gitignore Updates .gitignore with that from https://github.com/github/gitignore/blob/main/Node.gitignore Main reason for the update is to ignore the 'dist' folder with compiled files by default. * javascript generator: merge api_test template files The only difference is that Apollo is not designed for browser, so having a "if(browser)" check is useless, but doesn't hurt. * update docs * cleanup * avoid possible config clash * update javascript-apollo sample * update javascript-es6 sample I kept the pom.xml from before * update javascript-promise-es6 sample kept pom.xml * update samples
9.1 KiB
9.1 KiB
title |
---|
Documentation for the javascript-apollo-deprecated Generator |
METADATA
Property | Value | Notes |
---|---|---|
generator name | javascript-apollo-deprecated | pass this to the generate command after -g |
generator stability | DEPRECATED | |
generator type | CLIENT | |
generator language | Javascript | |
generator default templating engine | mustache | |
helpTxt | Generates a JavaScript client library (beta) using Apollo RESTDatasource. |
CONFIG OPTIONS
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to configuration docs for more details.
Option | Description | Values | Default |
---|---|---|---|
allowUnicodeIdentifiers | boolean, toggles whether unicode identifiers are allowed in names or not, default is false | false | |
apiPackage | package for generated api classes | null | |
disallowAdditionalPropertiesIfNotPresent | If false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default. |
|
true |
emitJSDoc | generate JSDoc comments | true | |
emitModelMethods | generate getters and setters for model properties | false | |
ensureUniqueParams | Whether to ensure parameter names are unique in an operation (rename parameters that are not). | true | |
enumUnknownDefaultCase | If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case. |
|
false |
hideGenerationTimestamp | Hides the generation timestamp when files are generated. | true | |
invokerPackage | root package for generated code | null | |
legacyDiscriminatorBehavior | Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C#have this enabled by default). |
|
true |
licenseName | name of the license the project uses (Default: using info.license.name) | null | |
modelPackage | package for generated models | null | |
modelPropertyNaming | Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name | camelCase | |
moduleName | module name for AMD, Node or globals (Default: generated from <projectName>) | null | |
npmRepository | Use this property to set an url your private npmRepo in the package.json | null | |
prependFormOrBodyParameters | Add form or body parameters to the beginning of the parameter list. | false | |
projectDescription | description of the project (Default: using info.description or "Client library of <projectName>") | null | |
projectName | name of the project (Default: generated from info.title or "openapi-js-client") | null | |
projectVersion | version of the project (Default: using info.version or "1.0.0") | null | |
sortModelPropertiesByRequiredFlag | Sort model properties to place required parameters before optional parameters. | true | |
sortParamsByRequiredFlag | Sort method arguments to place required parameters before optional parameters. | true | |
sourceFolder | source folder for generated code | src | |
useInheritance | use JavaScript prototype chains & delegation for inheritance | true | |
usePromises | use Promises as return values from the client API, instead of superagent callbacks | false |
IMPORT MAPPING
Type/Alias | Imports |
---|
INSTANTIATION TYPES
Type/Alias | Instantiated By |
---|---|
array | Array |
list | Array |
map | Object |
set | Array |
LANGUAGE PRIMITIVES
- Array
- Blob
- Boolean
- Date
- File
- Number
- Object
- String
RESERVED WORDS
- Array
- Date
- Infinity
- Math
- NaN
- Number
- Object
- String
- abstract
- arguments
- boolean
- break
- byte
- case
- catch
- char
- class
- const
- continue
- debugger
- default
- delete
- do
- double
- else
- enum
- eval
- export
- extends
- false
- final
- finally
- float
- for
- function
- goto
- hasOwnProperty
- if
- implements
- import
- in
- instanceof
- int
- interface
- isFinite
- isNaN
- isPrototypeOf
- let
- long
- native
- new
- null
- package
- private
- protected
- prototype
- public
- return
- short
- static
- super
- switch
- synchronized
- this
- throw
- throws
- toString
- transient
- true
- try
- typeof
- undefined
- valueOf
- var
- void
- volatile
- while
- with
- yield
FEATURE SET
Client Modification Feature
Name | Supported | Defined By |
---|---|---|
BasePath | ✗ | ToolingExtension |
Authorizations | ✗ | ToolingExtension |
UserAgent | ✗ | ToolingExtension |
MockServer | ✗ | ToolingExtension |
Data Type Feature
Name | Supported | Defined By |
---|---|---|
Custom | ✗ | OAS2,OAS3 |
Int32 | ✓ | OAS2,OAS3 |
Int64 | ✓ | OAS2,OAS3 |
Float | ✓ | OAS2,OAS3 |
Double | ✓ | OAS2,OAS3 |
Decimal | ✓ | ToolingExtension |
String | ✓ | OAS2,OAS3 |
Byte | ✓ | OAS2,OAS3 |
Binary | ✓ | OAS2,OAS3 |
Boolean | ✓ | OAS2,OAS3 |
Date | ✓ | OAS2,OAS3 |
DateTime | ✓ | OAS2,OAS3 |
Password | ✓ | OAS2,OAS3 |
File | ✓ | OAS2 |
Uuid | ✗ | |
Array | ✓ | OAS2,OAS3 |
Null | ✗ | OAS3 |
AnyType | ✗ | OAS2,OAS3 |
Object | ✓ | OAS2,OAS3 |
Maps | ✓ | ToolingExtension |
CollectionFormat | ✓ | OAS2 |
CollectionFormatMulti | ✓ | OAS2 |
Enum | ✓ | OAS2,OAS3 |
ArrayOfEnum | ✓ | ToolingExtension |
ArrayOfModel | ✓ | ToolingExtension |
ArrayOfCollectionOfPrimitives | ✓ | ToolingExtension |
ArrayOfCollectionOfModel | ✓ | ToolingExtension |
ArrayOfCollectionOfEnum | ✓ | ToolingExtension |
MapOfEnum | ✓ | ToolingExtension |
MapOfModel | ✓ | ToolingExtension |
MapOfCollectionOfPrimitives | ✓ | ToolingExtension |
MapOfCollectionOfModel | ✓ | ToolingExtension |
MapOfCollectionOfEnum | ✓ | ToolingExtension |
Documentation Feature
Name | Supported | Defined By |
---|---|---|
Readme | ✓ | ToolingExtension |
Model | ✓ | ToolingExtension |
Api | ✓ | ToolingExtension |
Global Feature
Name | Supported | Defined By |
---|---|---|
Host | ✓ | OAS2,OAS3 |
BasePath | ✓ | OAS2,OAS3 |
Info | ✓ | OAS2,OAS3 |
Schemes | ✗ | OAS2,OAS3 |
PartialSchemes | ✓ | OAS2,OAS3 |
Consumes | ✓ | OAS2 |
Produces | ✓ | OAS2 |
ExternalDocumentation | ✓ | OAS2,OAS3 |
Examples | ✓ | OAS2,OAS3 |
XMLStructureDefinitions | ✗ | OAS2,OAS3 |
MultiServer | ✗ | OAS3 |
ParameterizedServer | ✗ | OAS3 |
ParameterStyling | ✗ | OAS3 |
Callbacks | ✓ | OAS3 |
LinkObjects | ✗ | OAS3 |
Parameter Feature
Name | Supported | Defined By |
---|---|---|
Path | ✓ | OAS2,OAS3 |
Query | ✓ | OAS2,OAS3 |
Header | ✓ | OAS2,OAS3 |
Body | ✓ | OAS2 |
FormUnencoded | ✓ | OAS2 |
FormMultipart | ✓ | OAS2 |
Cookie | ✓ | OAS3 |
Schema Support Feature
Name | Supported | Defined By |
---|---|---|
Simple | ✓ | OAS2,OAS3 |
Composite | ✓ | OAS2,OAS3 |
Polymorphism | ✓ | OAS2,OAS3 |
Union | ✗ | OAS3 |
allOf | ✗ | OAS2,OAS3 |
anyOf | ✗ | OAS3 |
oneOf | ✗ | OAS3 |
not | ✗ | OAS3 |
Security Feature
Name | Supported | Defined By |
---|---|---|
BasicAuth | ✓ | OAS2,OAS3 |
ApiKey | ✓ | OAS2,OAS3 |
OpenIDConnect | ✗ | OAS3 |
BearerToken | ✓ | OAS3 |
OAuth2_Implicit | ✓ | OAS2,OAS3 |
OAuth2_Password | ✓ | OAS2,OAS3 |
OAuth2_ClientCredentials | ✓ | OAS2,OAS3 |
OAuth2_AuthorizationCode | ✓ | OAS2,OAS3 |
Wire Format Feature
Name | Supported | Defined By |
---|---|---|
JSON | ✓ | OAS2,OAS3 |
XML | ✓ | OAS2,OAS3 |
PROTOBUF | ✗ | ToolingExtension |
Custom | ✗ | OAS2,OAS3 |