From 6531e3c363abc06e96ed7325bbd1b272407e56e2 Mon Sep 17 00:00:00 2001 From: Leo Horie Date: Tue, 23 Aug 2016 13:23:41 -0400 Subject: [PATCH] expose parse/build querystring --- index.js | 4 +++ mithril.js | 4 ++- mithril.min.js | 68 +++++++++++++++++++++++++------------------------- 3 files changed, 41 insertions(+), 35 deletions(-) diff --git a/index.js b/index.js index 9e290d80..84e06db6 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,8 @@ var m = require("./render/hyperscript") var renderService = require("./render") var requestService = require("./request") var redrawService = require("./redraw") +var parseQueryString = require("./querystring/parse") +var buildQueryString = require("./querystring/build") requestService.setCompletionCallback(redrawService.publish) @@ -16,6 +18,8 @@ m.render = renderService.render m.redraw = redrawService.publish m.request = requestService.request m.jsonp = requestService.jsonp +m.parseQueryString = parseQueryString +m.buildQueryString = buildQueryString m.version = "bleeding-edge" module.exports = m diff --git a/mithril.js b/mithril.js index 4974e591..84b2f8b6 100644 --- a/mithril.js +++ b/mithril.js @@ -924,7 +924,6 @@ var redrawService = function() { } return {subscribe: callbacks.push.bind(callbacks), unsubscribe: unsubscribe, publish: publish} }() -requestService.setCompletionCallback(redrawService.publish) var parseQueryString = function(string) { if (string === "" || string == null) return {} if (string.charAt(0) === "?") string = string.slice(1) @@ -962,6 +961,7 @@ var parseQueryString = function(string) { } return data } +requestService.setCompletionCallback(redrawService.publish) var coreRouter = function($window) { var supportsPushState = typeof $window.history.pushState === "function" var callAsync = typeof setImmediate === "function" ? setImmediate : setTimeout @@ -1149,6 +1149,8 @@ m.render = renderService.render m.redraw = redrawService.publish m.request = requestService.request m.jsonp = requestService.jsonp +m.parseQueryString = parseQueryString +m.buildQueryString = buildQueryString m.version = "1.0.0" if (typeof module !== "undefined") module["exports"] = m else window.m = m diff --git a/mithril.min.js b/mithril.min.js index 108951f9..00fa3427 100644 --- a/mithril.min.js +++ b/mithril.min.js @@ -1,41 +1,41 @@ -new function(){function u(b,d,r,g,n,k){return{tag:b,key:d,attrs:r,children:g,text:n,dom:k,domSize:void 0,state:{},events:void 0,instance:void 0,skip:!1}}u.normalize=function(b){return b instanceof Array?u("[",void 0,void 0,u.normalizeChildren(b),void 0,void 0):null!=b&&"object"!==typeof b?u("#",void 0,void 0,b,void 0,void 0):b};u.normalizeChildren=function(b){for(var d=0;d=t&&A>=B;){var h=a[t],v=f[B];if(h===v)t++,B++;else if(null!=h&&null!=v&&h.key===v.key)t++,B++,k(c,h,v,e,l(a,t,b),q,p),q&&h.tag===v.tag&&w(c,m(h),b);else if(h=a[g],h===v)g--,B++;else if(null!=h&&null!=v&&h.key===v.key)k(c,h,v,e,l(a,g+1,b),q,p),B=t&&A>=B;){h=a[g];v=f[A];if(h===v)g--;else if(null!=h&&null!=v&&h.key===v.key)k(c,h,v,e,l(a,g+1,b),q,p),q&&h.tag===v.tag&&w(c,m(h),b), -null!=h.dom&&(b=h.dom),g--;else{if(!n){n=a;var h=g,x={},u;for(u=0;ub.indexOf("?")?"?":"&";b+=p+g}return b}function n(b){try{return""!==b?JSON.parse(b):null}catch(d){throw Error(b);}}function k(b){return b.responseText}function m(b,d){if("function"===typeof b)if(d instanceof Array)for(var g=0;gb.indexOf("?")?"?":"&";b+=p+g}return b}function n(b){try{return""!==b?JSON.parse(b):null}catch(d){throw Error(b);}}function k(b){return b.responseText}function m(b,d){if("function"===typeof b)if(d instanceof Array)for(var g=0;gp.status)d(m(e.type, -b));else{var g=Error(p.responseText),h;for(h in b)g[h]=b[h];d.error(g)}}catch(w){d.error(w)}"function"===typeof y&&y()}};h?p.send(e.data):p.send();return d},jsonp:function(e){var d=l();void 0!==e.initialValue&&d(e.initialValue);var h=e.callbackName||"_mithril_"+Math.round(1E16*Math.random())+"_"+w++,p=b.document.createElement("script");b[h]=function(g){p.parentNode.removeChild(p);d(m(e.type,g));"function"===typeof y&&y();delete b[h]};p.onerror=function(){p.parentNode.removeChild(p);d.error(Error("JSONP request failed")); -"function"===typeof y&&y();delete b[h]};null==e.data&&(e.data={});e.url=r(e.url,e.data);e.data[e.callbackKey||"callback"]=h;p.src=g(e.url,e.data);b.document.documentElement.appendChild(p);return d},setCompletionCallback:function(b){y=b}}}(window,console.error.bind(console)),D=function(){var b=[];return{subscribe:b.push.bind(b),unsubscribe:function(d){d=b.indexOf(d);-1