rest-gen 0.16.1.1 → 0.16.1.2
raw patch · 3 files changed
+34/−12 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- files/Javascript/base.js +29/−11
- rest-gen.cabal +1/−1
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Changelog +#### 0.16.1.2++* JavaScript: Add support for webpack (and any other preprocessor that tries to import all `require` function calls)+ #### 0.16.1.1 * Haskell: Fixes a bug where client generation for end points without defined output or errors would default to parsing errors as XML even though the accept header was text/json. It now parses the response as json.
files/Javascript/base.js view
@@ -1,5 +1,15 @@-var isNodeJs = typeof module === "object" && module && typeof module.exports === "object";+// in nodejs, global is an object+// in normal browser environment, global is undefined+// in webpack, global is set to window+var isNodeJs = typeof global !== "undefined" && global.window === undefined;+var isCommonJs = typeof module === "object" && module && typeof module.exports === "object"; +// require, that the nodejs will handle, but will remain not processed by webpack and the like+var obfuscatedRequire = function (moduleName)+{+ return module["r" + "equire"](moduleName);+}+ var $apinamespace$ = function (url, secureUrl, modifyRequest) {@@ -8,11 +18,11 @@ var contextUrl = url + postfix; var secureContextUrl = (secureUrl || url.replace(/^http:/, "https:")) + postfix; - this.cookieJar = isNodeJs ? require('request').jar() : undefined;+ this.cookieJar = isNodeJs ? obfuscatedRequire('request').jar() : undefined; - if(!modifyRequest) modifyRequest = function(req) { return req; };+ if(!modifyRequest) modifyRequest = function (req) { return req; }; - var finalModifyRequest = function(req)+ var finalModifyRequest = function (req) { if (isNodeJs) req.jar = self.cookieJar; return modifyRequest(req);@@ -21,6 +31,7 @@ $apinamespace$.setContext(this, contextUrl, secureContextUrl, finalModifyRequest); }; +var jqFun; if (isNodeJs) { // Export as Node module.@@ -30,13 +41,19 @@ } else {- if (typeof define === "function" && define.amd)+ if (isCommonJs) {+ // Export as CommonJs+ module.exports = $apinamespace$;+ jqFun = function () { return require("jquery"); };+ } else if (typeof define === "function" && define.amd) { // Export as AMD. define("$apinamespace$", [], function () { return $apinamespace$; });-- else+ jqFun = function () { return window.$dollar$; };+ } else { // Export as global. window.$apinamespace$ = $apinamespace$;+ jqFun = function () { return window.$dollar$; };+ } $apinamespace$.ajaxCall = jQueryRequest; }@@ -53,13 +70,14 @@ function jQueryRequest (method, url, params, success, error, contentType, acceptHeader, data, callOpts, modifyRequest) { var q = window.Q || function (a) { return a };+ var jq = jqFun(); - var headers = $dollar$.extend(true, {}, $apinamespace$.defaultHeaders);+ var headers = jq.extend(true, {}, $apinamespace$.defaultHeaders); $apinamespace$.addObject(headers, { Accept : acceptHeader }); var callData = { type : method- , url : url + (params ? '?' + $dollar$.param(params) : '')+ , url : url + (params ? '?' + jq.param(params) : '') , cache : false , success : success || function () {} , error : error || function () {}@@ -74,7 +92,7 @@ $apinamespace$.addObject(callData, $apinamespace$.defaultAjaxOptions); $apinamespace$.addObject(callData, callOpts); - return q($dollar$.ajax(callData));+ return q(jq.ajax(callData)); } function nodeRequest (method, url, params, onSuccess, onError, contentType, acceptHeader, data, callOpts, modifyRequest)@@ -108,7 +126,7 @@ return require("q").Promise(function (resolve, reject) {- require("request")(callData, callback);+ obfuscatedRequire("request")(callData, callback); function callback (error, message, body) {
rest-gen.cabal view
@@ -1,5 +1,5 @@ name: rest-gen-version: 0.16.1.1+version: 0.16.1.2 description: Documentation and client generation from rest definition. synopsis: Documentation and client generation from rest definition. maintainer: code@silk.co