diff --git a/modules/swagger-codegen/src/main/resources/Javascript-es6/ApiClient.mustache b/modules/swagger-codegen/src/main/resources/Javascript-es6/ApiClient.mustache
index 03ad8290070..785945752b5 100644
--- a/modules/swagger-codegen/src/main/resources/Javascript-es6/ApiClient.mustache
+++ b/modules/swagger-codegen/src/main/resources/Javascript-es6/ApiClient.mustache
@@ -160,9 +160,15 @@ export default class ApiClient {
*/
{{/emitJSDoc}}
isFileParam(param) {
- // fs.ReadStream in Node.js (but not in runtime like browserify)
- if (typeof window === 'undefined' && typeof require === 'function' && require('fs') && param instanceof require('fs').ReadStream) {
- return true;
+ // fs.ReadStream in Node.js and Electron (but not in runtime like browserify)
+ if (typeof require === 'function') {
+ let fs;
+ try {
+ fs = require('fs');
+ } catch (err) {}
+ if (fs && fs.ReadStream && param instanceof fs.ReadStream) {
+ return true;
+ }
}
// Buffer in Node.js
diff --git a/modules/swagger-codegen/src/main/resources/Javascript/ApiClient.mustache b/modules/swagger-codegen/src/main/resources/Javascript/ApiClient.mustache
index 3b7e524b71a..a78f20a1b92 100644
--- a/modules/swagger-codegen/src/main/resources/Javascript/ApiClient.mustache
+++ b/modules/swagger-codegen/src/main/resources/Javascript/ApiClient.mustache
@@ -168,12 +168,15 @@
* @returns {Boolean} true
if param
represents a file.
*/
{{/emitJSDoc}} exports.prototype.isFileParam = function(param) {
- // fs.ReadStream in Node.js (but not in runtime like browserify)
- if (typeof window === 'undefined' &&
- typeof require === 'function' &&
- require('fs') &&
- param instanceof require('fs').ReadStream) {
- return true;
+ // fs.ReadStream in Node.js and Electron (but not in runtime like browserify)
+ if (typeof require === 'function') {
+ var fs;
+ try {
+ fs = require('fs');
+ } catch (err) {}
+ if (fs && fs.ReadStream && param instanceof fs.ReadStream) {
+ return true;
+ }
}
// Buffer in Node.js
if (typeof Buffer === 'function' && param instanceof Buffer) {
diff --git a/samples/client/petstore/javascript-es6/src/ApiClient.js b/samples/client/petstore/javascript-es6/src/ApiClient.js
index baf8ea96af2..5abc81c7dba 100644
--- a/samples/client/petstore/javascript-es6/src/ApiClient.js
+++ b/samples/client/petstore/javascript-es6/src/ApiClient.js
@@ -174,12 +174,15 @@
* @returns {Boolean} true
if param
represents a file.
*/
exports.prototype.isFileParam = function(param) {
- // fs.ReadStream in Node.js (but not in runtime like browserify)
- if (typeof window === 'undefined' &&
- typeof require === 'function' &&
- require('fs') &&
- param instanceof require('fs').ReadStream) {
- return true;
+ // fs.ReadStream in Node.js and Electron (but not in runtime like browserify)
+ if (typeof require === 'function') {
+ var fs;
+ try {
+ fs = require('fs');
+ } catch (err) {}
+ if (fs && fs.ReadStream && param instanceof fs.ReadStream) {
+ return true;
+ }
}
// Buffer in Node.js
if (typeof Buffer === 'function' && param instanceof Buffer) {
diff --git a/samples/client/petstore/javascript-promise-es6/src/ApiClient.js b/samples/client/petstore/javascript-promise-es6/src/ApiClient.js
index d45a7796037..76e1384fdb1 100644
--- a/samples/client/petstore/javascript-promise-es6/src/ApiClient.js
+++ b/samples/client/petstore/javascript-promise-es6/src/ApiClient.js
@@ -174,12 +174,15 @@
* @returns {Boolean} true
if param
represents a file.
*/
exports.prototype.isFileParam = function(param) {
- // fs.ReadStream in Node.js (but not in runtime like browserify)
- if (typeof window === 'undefined' &&
- typeof require === 'function' &&
- require('fs') &&
- param instanceof require('fs').ReadStream) {
- return true;
+ // fs.ReadStream in Node.js and Electron (but not in runtime like browserify)
+ if (typeof require === 'function') {
+ var fs;
+ try {
+ fs = require('fs');
+ } catch (err) {}
+ if (fs && fs.ReadStream && param instanceof fs.ReadStream) {
+ return true;
+ }
}
// Buffer in Node.js
if (typeof Buffer === 'function' && param instanceof Buffer) {
diff --git a/samples/client/petstore/javascript-promise/src/ApiClient.js b/samples/client/petstore/javascript-promise/src/ApiClient.js
index d45a7796037..76e1384fdb1 100644
--- a/samples/client/petstore/javascript-promise/src/ApiClient.js
+++ b/samples/client/petstore/javascript-promise/src/ApiClient.js
@@ -174,12 +174,15 @@
* @returns {Boolean} true
if param
represents a file.
*/
exports.prototype.isFileParam = function(param) {
- // fs.ReadStream in Node.js (but not in runtime like browserify)
- if (typeof window === 'undefined' &&
- typeof require === 'function' &&
- require('fs') &&
- param instanceof require('fs').ReadStream) {
- return true;
+ // fs.ReadStream in Node.js and Electron (but not in runtime like browserify)
+ if (typeof require === 'function') {
+ var fs;
+ try {
+ fs = require('fs');
+ } catch (err) {}
+ if (fs && fs.ReadStream && param instanceof fs.ReadStream) {
+ return true;
+ }
}
// Buffer in Node.js
if (typeof Buffer === 'function' && param instanceof Buffer) {
diff --git a/samples/client/petstore/javascript/src/ApiClient.js b/samples/client/petstore/javascript/src/ApiClient.js
index baf8ea96af2..5abc81c7dba 100644
--- a/samples/client/petstore/javascript/src/ApiClient.js
+++ b/samples/client/petstore/javascript/src/ApiClient.js
@@ -174,12 +174,15 @@
* @returns {Boolean} true
if param
represents a file.
*/
exports.prototype.isFileParam = function(param) {
- // fs.ReadStream in Node.js (but not in runtime like browserify)
- if (typeof window === 'undefined' &&
- typeof require === 'function' &&
- require('fs') &&
- param instanceof require('fs').ReadStream) {
- return true;
+ // fs.ReadStream in Node.js and Electron (but not in runtime like browserify)
+ if (typeof require === 'function') {
+ var fs;
+ try {
+ fs = require('fs');
+ } catch (err) {}
+ if (fs && fs.ReadStream && param instanceof fs.ReadStream) {
+ return true;
+ }
}
// Buffer in Node.js
if (typeof Buffer === 'function' && param instanceof Buffer) {