58 Commits

Author SHA1 Message Date
wing328
e1e5ac4d37 Merge remote-tracking branch 'origin/master' into 2.3.0 2017-05-17 22:00:06 +08:00
wing328
0a67696de8 Merge branch 'empty_classes' of https://github.com/bbdouglas/swagger-codegen into bbdouglas-empty_classes 2017-05-16 17:51:42 +08:00
wing328
68864a2eea [JavaScript] Minor fix to JS doc and add swagger-codegen version to the file header (#5623)
* fix JS doc using instance instead of default

* update JS header with codegen version

* roll back change in swagger codegen version in pom.xml
2017-05-12 16:49:20 +08:00
Benjamin Douglas
07ba1eb6f8 Fixup generation of Javascript samples
The generation code was ignoring top-level aliases for any language config that
contained "java", which included "javascript", a completely different language.

Changed this to be those configs based on the JavaAbstractGenerator class.
2017-04-17 17:50:01 -07:00
Benjamin Douglas
9058099e5b Add alias type definitions for Java
When a spec defines a Model at the top level that is a non-aggretate type (such
as string, number or boolean), it essentially represents an alias for the simple
type. For example, the following spec snippet creates an alias of the boolean
type that for all intents and purposes acts just like a regular boolean.

    definitions:
      JustABoolean:
        type: boolean

This can be modeled in some languages through built-in mechanisms, such as
typedefs in C++. Java, however, just not have a clean way of representing this.

This change introduces an internal mechanism for representing aliases. It
maintains a map in DefaultCodegen that tracks these types of definitions, and
wherever it sees the "JustABoolean" type in the spec, it generates code that
uses the built-in "Boolean" instead.

This functionality currenlty only applies to Java, but could be extended to
other languages later.

The change adds a few examples of this to the fake endpoint spec for testing,
which means all of the samples change as well.
2017-04-17 12:58:31 -07:00
Paŭlo Ebermann
36d1406493 Update samples for javascript + javascript-promise. (#5241) 2017-03-30 23:04:49 +08:00
Julien Dupouy
e50e653e3d Binary support for javascript client (#5194) 2017-03-26 22:53:35 +08:00
wing328
3be04e8a18 update JS petstore client 2017-01-25 16:08:22 +08:00
keysolutions
933cc1ce9a Enum constructFromObject should return value (#4613)
When constructing an enum through constructFromObject the original value provided by the API response should be returned rather than extracting the value from the enum name. This resolves an issue where the constructed value is undefined when the name and value are not equivalent.
2017-01-23 16:45:38 +08:00
Albert Morlan
ccb3385081 Set embedded templates directory when generating Javascript code (#4585) 2017-01-19 18:07:58 +08:00
Kevin Locke
df0c54d043 Support the empty string as an enumeration value (#4450)
When a string enumeration has the empty string as one of its available
values, the generated code for many languages is invalid because the
empty string can not be used as an identifier.  As with numbers and
symbols, provide a mapping to an English name which can be used as a
replacement.  In this case, "empty" for the empty string/empty value.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2017-01-06 19:30:47 +08:00
Jordan Yaker
5a2ec03549 fix(javascript): added check to see if the parsed response is really empty. 2016-11-19 15:06:36 -05:00
wing328
90512e6326 Remove Apache license from API client generators (#4197)
* remove php apache license

* remove apache license from C#

* remove apache license in objc code

* remove license from swift 3 code

* remove apache license from perl code

* remove license from scala code

* remove license from ts, go, android, cpp, scala

* remove license from java api client

* restore clojure petstore files

* remove license from travis file

* clean up apache-related terms in php, ruby, python mustache tempaltes

* remove license from JS API cilent
2016-11-16 21:44:49 +08:00
keysolutions
ab9ea5b2c3 Add constructFromObject to Javascript enum generation. (#4120)
* Add constructFromObject to Javascript enum generation.

Generated code calls constructFromObject on enum types, but enum did not define the necessary function. Returns the value of the enum.

* Update Petstore JS API client
2016-11-05 23:14:48 +08:00
wing328
0a5cd19e97 update JS test cases 2016-08-12 10:30:33 +08:00
wing328
7a245e3189 [JavaScript] add enum tests cases for JS generator (java) (#3546)
* add enum tests cases for JS generator (java)

* fix typo quote
2016-08-08 18:52:24 +08:00
delenius
8a8e9432e1 Generate type annotations in JS model constructors
Fixes #3207
2016-06-29 13:53:33 -07:00
wing328
8e43f7c2f6 add new JS files 2016-06-29 22:09:27 +08:00
wing328
73e6626e15 comment out array of enum test case, fix JS enum partial template 2016-06-29 21:40:22 +08:00
wing328
aec2f4e27c better code injection handling for js 2016-06-29 21:18:35 +08:00
wing328
8085e11063 add license header to JS cient, update sample 2016-06-15 01:18:04 +08:00
wing328
9f3b8bab2b add travis.yml for JS api client 2016-06-15 00:03:11 +08:00
wing328
a566b086cf add new files for JS client 2016-05-29 20:54:43 +08:00
wing328
a27cda68ce update nodejs/ts package license to use Apache-2.0 2016-05-29 18:08:32 +08:00
xhh
020a9fcdc0 Fix enum model docs for JS and Java clients 2016-05-06 18:41:15 +08:00
xhh
3dbab1b893 JavaScript client: fix exporting of outer enum model 2016-05-06 17:45:03 +08:00
wing328
acb34e3db0 better JS enum class support 2016-05-03 11:21:17 +08:00
wing328
d35e30d578 better enum support for JS 2016-05-03 11:21:17 +08:00
wing328
ab7b73ca21 update js samples 2016-05-01 12:09:23 +08:00
wing328
2d5cc50bd1 Merge branch 'master' of https://github.com/demonfiddler/swagger-codegen into demonfiddler-master
Conflicts:
	samples/client/petstore/javascript-promise/README.md
	samples/client/petstore/javascript-promise/docs/PetApi.md
	samples/client/petstore/javascript-promise/docs/StoreApi.md
	samples/client/petstore/javascript-promise/src/api/PetApi.js
	samples/client/petstore/javascript-promise/src/index.js
	samples/client/petstore/javascript/README.md
	samples/client/petstore/javascript/docs/PetApi.md
	samples/client/petstore/javascript/docs/StoreApi.md
	samples/client/petstore/javascript/src/api/PetApi.js
	samples/client/petstore/javascript/src/index.js
2016-05-01 12:05:49 +08:00
wing328
0e1f1606cd update js code gen to handle different type, format 2016-04-11 22:20:30 +08:00
demonfiddler
77638bc21d Merge https://github.com/swagger-api/swagger-codegen 2016-03-31 14:38:15 +01:00
wing328
f23031fc96 add new files for JS 2016-03-30 21:54:38 +08:00
demonfiddler
14ceb4bf84 Fix, tests for Issue#2240 "Support invokerPackage configuration option" 2016-03-25 16:36:06 +00:00
wing328
eb5c689fac update js sample 2016-03-24 19:54:25 +08:00
demonfiddler
3082702429 [JavaScript] Recommission integration tests for Issue#2258. 2016-03-18 18:49:17 +00:00
xhh
4100a8537b Display parameter's default value for operations
Done for Java clients (default, jersey2, okhttp-gson), Ruby client and
JavaScript client.
2016-03-17 16:22:36 +08:00
xhh
90bd843be6 JavaScript: add auto-generated documentation in Markdown 2016-03-16 19:42:27 +08:00
wing328
a529d9dfe0 push new git_push and .gitinore file 2016-03-12 18:01:53 +08:00
wing328
637bdd2f50 add git_push and gitignore to most client generators 2016-03-12 17:35:25 +08:00
xhh
dfe57bfd6b JS client: remove "undefined" from model dependency arguments
Closes #2279
2016-03-07 15:57:13 +08:00
xhh
8d964cff52 Handle arbitrary object in JS client
Closes #2165

Other changes:

* Update JS client of the Petstore sample
* Add test cases for getPetByIdInObject and getInventoryInObject
2016-03-04 18:40:03 +08:00
delenius
067d0a9318 Remove toJson method from JS client
Also regenerates the petstore samples.
2016-03-01 07:41:31 -08:00
xhh
baf5d2895e JS client: support optional parameters with object syntax
Closes #2027
2016-02-24 20:55:46 +08:00
delenius
079addb6db More fine-grained fix
Instead of just ignoring default values in the generated
model constructors, we modify the generator code in Java.
The template checks for null before outputting a default value.
2016-02-18 11:12:01 -08:00
delenius
59931ef0f7 Correct exporting of enum classes
Fixes #2102.
2016-02-15 07:46:14 -08:00
wing328
a159998293 Merge pull request #2115 from delenius/enums
Use objects for enums, not constructor functions
2016-02-15 10:29:34 +08:00
delenius
fa2333717a Use static model factory methods
The `constructFromObject` factory methods should be class methods
(or "static" methods), not instance methods.

With this commit, ApiClient no longer calls the model constructors
directly. Instead, it calls the new static factory method to get the
new instance. If there is no data on the top level, null is returned.

It is still possible for users to call the model constructors
directly, of course.
2016-02-12 07:54:04 -08:00
delenius
86154f87c3 Use objects for enums, not constructor functions
Fixes #2101.
2016-02-12 07:53:51 -08:00
delenius
c7766457bd Don't set missing optional params in models
Fixes #2103.

In the constructFromObject methods, we were always setting all the
parameters, including optional ones that were missing in the `data`
object. Because of the `convertToType` calls, this had the effect
of producing the *strings* `"undefined"` or `"null"` as property
values on the constructed object! This obviously leads to difficult
bugs.

This commit makes sure that we first check that the data field
exists in the data object. Note that both `null` and `undefined`
values will be skipped.
2016-02-10 17:18:31 -08:00