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 1c14c0e753aa..d5387dc2225d 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 2310731ef450..cea31ae46af4 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 ce06f6ac52ab..da82de5383e8 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 49e860f339d4..fe0a118df502 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 49e860f339d4..fe0a118df502 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 ce06f6ac52ab..da82de5383e8 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) {