Sha256: 8b1ccf061e199c586a8870780e2782f51f4990928a71c0ee85e091d76830340f

Contents?: true

Size: 788 Bytes

Versions: 7

Compression:

Stored size: 788 Bytes

Contents

/*
---

name: Object

description: Object with normalized query string serialization

license: MIT-style license.

extends: Core/Object

...
*/

Object.extend({
	toQueryString: function(object, base){
		var queryString = [];
		var serialize = function(value, key, multiple){
			if (base) key = base + '[' + key + ']';
			if (multiple == true) key += '[]';
			var result;
			switch (typeOf(value)){
				case 'object': result = Object.toQueryString(value, key); break;
				case 'array':
					for (var i = 0, j = value.length; i < j; i++) serialize(value[i], key, true);
				break;
				default: result = key + '=' + encodeURIComponent(value);
			}
			if (value != null && result != null) queryString.push(result);
		};
		Object.each(object, serialize);
		return queryString.join('&');
	}
});

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
lsd_rails-0.1.6 Packages/mootools-ext/Source/Types/Object.js
lsd_rails-0.1.5 Packages/mootools-ext/Source/Types/Object.js
lsd_rails-0.1.4 Packages/mootools-ext/Source/Types/Object.js
lsd_rails-0.1.3 Packages/mootools-ext/Source/Types/Object.js
lsd_rails-0.1.2 Packages/mootools-ext/Source/Types/Object.js
lsd_rails-0.1.1 Packages/mootools-ext/Source/Types/Object.js
lsd_rails-0.1 Packages/mootools-ext/Source/Types/Object.js