PageSourceSearch

https://mupa.gob.pa/wp-content/plugins/wp-event-manager/assets/js/jquery-deserialize/jquery.deserialize.js

js mupa.gob.pa collected 2026-09-24 08:58:48 UTC 4,518 bytes, 142 lines download raw bytes

1/**��
2 * @author Kyle Florence <kyle[dot]florence[at]gmail[dot]com>��
3 * @website https://github.com/kflorence/jquery-deserialize/��
4 * @version 1.2.1��
5 *��
6 * Dual licensed under the MIT and GPLv2 licenses.��
7 */��
8(function( jQuery, undefined ) {��
9��
10var push = Array.prototype.push,��
11    rcheck = /^(?:radio|checkbox)$/i,��
12    rplus = /\+/g,��
13    rselect = /^(?:option|select-one|select-multiple)$/i,��
14    rvalue = /^(?:button|color|date|datetime|datetime-local|email|hidden|month|number|password|range|reset|search|submit|tel|text|textarea|time|url|week)$/i;��
15��
16function getElements( elements ) {��
17    return elements.map(function() {��
18            return this.elements ? jQuery.makeArray( this.elements ) : this;��
19        }).filter( ":input:not(:disabled)" ).get();��
20}��
21��
22function getElementsByName( elements ) {��
23    var current,��
24        elementsByName = {};��
25��
26    jQuery.each( elements, function( i, element ) {��
27        current = elementsByName[ element.name ];��
28        elementsByName[ element.name ] = current === undefined ? element :��
29            ( jQuery.isArray( current ) ? current.concat( element ) : [ current, element ] );��
30    });��
31��
32    return elementsByName;��
33}��
34��
35jQuery.fn.deserialize = function( data, options ) {��
36    var i, length,��
37        elements = getElements( this ),��
38        normalized = [];��
39��
40    if ( !data || !elements.length ) {��
41        return this;��
42    }��
43��
44    if ( jQuery.isArray( data ) ) {��
45        normalized = data;��
46��
47    } else if ( jQuery.isPlainObject( data ) ) {��
48        var key, value;��
49��
50        for ( key in data ) {��
51            jQuery.isArray( value = data[ key ] ) ?��
52                push.apply( normalized, jQuery.map( value, function( v ) {��
53                    return { name: key, value: v };��
54                })) : push.call( normalized, { name: key, value: value } );��
55        }��
56��
57    } else if ( typeof data === "string" ) {��
58        var parts;��
59��
60        data = data.split( "&" );��
61��
62        for ( i = 0, length = data.length; i < length; i++ ) {��
63            parts =  data[ i ].split( "=" );��
64            push.call( normalized, {��
65                name: decodeURIComponent( parts[ 0 ].replace( rplus, "%20" ) ),��
66                value: decodeURIComponent( parts[ 1 ].replace( rplus, "%20" ) )��
67            });��
68        }��
69    }��
70��
71    if ( !( length = normalized.length ) ) {��
72        return this;��
73    }��
74��
75    var current, element, j, len, name, property, type, value,��
76        change = jQuery.noop,��
77        complete = jQuery.noop,��
78        names = {};��
79��
80    options = options || {};��
81    elements = getElementsByName( elements );��
82��
83    // Backwards compatible with old arguments: data, callback��
84    if ( jQuery.isFunction( options ) ) {��
85        complete = options;��
86��
87    } else {��
88        change = jQuery.isFunction( options.change ) ? options.change : change;��
89        complete = jQuery.isFunction( options.complete ) ? options.complete : complete;��
90    }��
91��
92    for ( i = 0; i < length; i++ ) {��
93        current = normalized[ i ];��
94��
95        name = current.name;��
96        value = current.value;��
97��
98        if ( !( element = elements[ name ] ) ) {��
99            continue;��
100        }��
101��
102        type = ( len = element.length ) ? element[ 0 ] : element;��
103        type = ( type.type || type.nodeName ).toLowerCase();��
104        property = null;��
105��
106        if ( rvalue.test( type ) ) {��
107            if ( len ) {��
108                j = names[ name ];��
109                element = element[ names[ name ] = ( j == undefined ) ? 0 : ++j ];��
110            }��
111��
112            change.call( element, ( element.value = value ) );��
113��
114        } else if ( rcheck.test( type ) ) {��
115            property = "checked";��
116��
117        } else if ( rselect.test( type ) ) {��
118            property = "selected";��
119        }��
120��
121        if ( property ) {��
122            if ( !len ) {��
123                element = [ element ];��
124                len = 1;��
125            }��
126��
127            for ( j = 0; j < len; j++ ) {��
128                current = element[ j ];��
129��
130                if ( current.value == value ) {��
131                    change.call( current, ( current[ property ] = true ) && value );��
132                }��
133            }��
134        }��
135    }��
136��
137    complete.call( this );��
138��
139    return this;��
140};��
141��
142})( jQuery );

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.