-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrekord-ajax.min.js.map
1 lines (1 loc) · 13.4 KB
/
rekord-ajax.min.js.map
1
{"version":3,"sources":["rekord-ajax.min.js"],"names":["root","factory","define","amd","Rekord","module","exports","global","require","this","undefined","Rest","database","RestFactory","api","Rekord_rest","call","ajax","xhr","options","send","data","buildURL","db","model","$key","win","window","copy","noop","transfer","format","isFormatInput","isEmpty","isNumber","isObject","isString","rest","XHR","XMLHttpRequest","XDR","XDomainRequest","clearTimeout","setTimeout","prototype","removeTrailingSlash","x","charAt","length","substring","Ajax","all","success","failure","execute","get","create","encoded","update","remove","query","url","method","encode","params","prefix","p","str","hasOwnProperty","k","v","push","encodeURIComponent","join","extraOptions","offlineValue","debug","Debugs","REST","forceOffline","aborted","timeoutTimer","headers","cors","useXDR","vars","paramString","queryIndex","indexOf","adjustOptions","onReadyStateChange","readyState","onLoaded","getBody","body","response","responseType","responseText","responseXML","JSON","parse","e","status","onError","onTimeout","abort","stringify","onreadystatechange","onload","onerror","onprogress","ontimeout","open","username","password","withCredentials","timeout","setRequestHeader","key","Rests","setRest","RestClass"],"mappings":"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","file":"rekord-ajax.min.js","sourcesContent":["/* rekord-ajax 1.5.6 - A dependency free AJAX implementation of Rekord.rest by Philip Diffenderfer */\n// UMD (Universal Module Definition)\n(function (root, factory)\n{\n if (typeof define === 'function' && define.amd) // jshint ignore:line\n {\n // AMD. Register as an anonymous module.\n define(['rekord'], function(Rekord) { // jshint ignore:line\n return factory(root, Rekord);\n });\n }\n else if (typeof module === 'object' && module.exports) // jshint ignore:line\n {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory(global, require('rekord')); // jshint ignore:line\n }\n else\n {\n // Browser globals (root is window)\n root.Rekord = factory(root, root.Rekord);\n }\n}(this, function(global, Rekord, undefined)\n{\n\n var win = typeof window !== 'undefined' ? window : global; // jshint ignore:line\n\n var copy = Rekord.copy;\n var noop = Rekord.noop;\n var transfer = Rekord.transfer;\n var format = Rekord.format;\n var isFormatInput = Rekord.isFormatInput;\n var isEmpty = Rekord.isEmpty;\n var isNumber = Rekord.isNumber;\n var isObject = Rekord.isObject;\n var isString = Rekord.isString;\n var Rekord_rest = Rekord.rest;\n\n var XHR = win.XMLHttpRequest || noop;\n var XDR = 'withCredentials' in (new XHR()) ? XHR : win.XDomainRequest;\n\n var clearTimeout = win.clearTimeout;\n var setTimeout = win.setTimeout;\n\n function Rest(database)\n {\n this.database = database;\n }\n\n Rest.prototype =\n {\n removeTrailingSlash: function(x)\n {\n return x.charAt(x.length - 1) === '/' ? x.substring(0, x.length - 1) : x;\n },\n buildURL: function(model)\n {\n return this.removeTrailingSlash( Rekord.Ajax.buildURL( this.database, model ) );\n },\n all: function( options, success, failure )\n {\n this.execute( 'GET', null, undefined, this.buildURL(), options, success, failure, [] );\n },\n get: function( model, options, success, failure )\n {\n this.execute( 'GET', model, undefined, this.buildURL( model ), options, success, failure );\n },\n create: function( model, encoded, options, success, failure )\n {\n this.execute( 'POST', model, encoded, this.buildURL(), options, success, failure, {} );\n },\n update: function( model, encoded, options, success, failure )\n {\n this.execute( 'PUT', model, encoded, this.buildURL( model ), options, success, failure, {} );\n },\n remove: function( model, options, success, failure )\n {\n this.execute( 'DELETE', model, undefined, this.buildURL( model ), options, success, failure, {} );\n },\n query: function( url, data, options, success, failure )\n {\n var method = isEmpty( data ) ? 'GET' : 'POST';\n\n this.execute( method, null, data, url, options, success, failure );\n },\n encode: function(params, prefix)\n {\n var str = [], p;\n\n for (var p in params)\n {\n if ( params.hasOwnProperty( p ) )\n {\n var k = prefix ? prefix + '[' + p + ']' : p;\n var v = params[ p ];\n\n str.push( isObject( v ) ? this.encode(v, k) : win.encodeURIComponent( k ) + '=' + win.encodeURIComponent( v ) );\n }\n }\n\n return str.join('&');\n },\n execute: function( method, model, data, url, extraOptions, success, failure, offlineValue )\n {\n Rekord.debug( Rekord.Debugs.REST, this, method, url, data );\n\n if ( Rekord.forceOffline )\n {\n failure( offlineValue, 0 );\n }\n else\n {\n var aborted;\n var timeoutTimer;\n var options = copy( Rekord.Ajax.options );\n\n if ( isObject( extraOptions ) )\n {\n transfer( extraOptions, options );\n }\n\n var headers = options.headers = options.headers || {};\n var xhr = options.cors || options.useXDR ? new XDR() : new XHR();\n var vars = transfer( Rekord.Ajax.vars, transfer( model, {} ) );\n\n options.method = method;\n options.url = url;\n options.data = data;\n\n if ( isObject( extraOptions ) )\n {\n transfer( extraOptions, options );\n\n if ( isObject( extraOptions.params ) )\n {\n var paramString = this.encode( extraOptions.params );\n var queryIndex = options.url.indexOf('?');\n\n options.url += queryIndex === -1 ? '?' : '&';\n options.url += paramString;\n }\n\n if ( isObject( extraOptions.vars ) )\n {\n transfer( extraOptions.vars, vars );\n }\n }\n\n Rekord.Ajax.adjustOptions( options, this.database, method, model, data, url, vars, extraOptions, success, failure );\n\n if ( isFormatInput( options.url ) )\n {\n options.url = format( options.url, vars );\n }\n\n var onReadyStateChange = function()\n {\n if (xhr.readyState === 4)\n {\n onLoaded();\n }\n };\n\n var getBody = function()\n {\n var body;\n\n if ( xhr.response )\n {\n body = xhr.response;\n }\n else if ( xhr.responseType === \"text\" || !xhr.responseType )\n {\n body = xhr.responseText || xhr.responseXML;\n }\n\n try\n {\n body = JSON.parse( body );\n }\n catch (e) {}\n\n return body;\n };\n\n var onLoaded = function()\n {\n if ( aborted )\n {\n return;\n }\n\n var status = (options.useXDR && xhr.status === undefined ? 200 : (xhr.status === 1223 ? 204 : xhr.status)) || 0;\n var response = getBody();\n\n if ( status !== 0 )\n {\n success( response );\n }\n else\n {\n failure( response, 0 );\n }\n\n success = noop;\n failure = noop;\n clearTimeout( timeoutTimer );\n };\n\n var onError = function()\n {\n failure( null, 0 );\n failure = noop;\n success = noop;\n clearTimeout( timeoutTimer );\n };\n\n var onTimeout = function()\n {\n aborted = true;\n xhr.abort('timeout');\n onError();\n };\n\n headers['Accept'] = 'application/json'; // jshint ignore:line\n\n if ( method !== \"GET\" && method !== \"HEAD\" )\n {\n headers['Content-Type'] = 'application/json';\n options.data = JSON.stringify( options.data );\n }\n\n xhr.onreadystatechange = onReadyStateChange;\n xhr.onload = onLoaded;\n xhr.onerror = onError;\n xhr.onprogress = function() {};\n xhr.ontimeout = onError;\n xhr.open( options.method, options.url, true, options.username, options.password );\n xhr.withCredentials = !!options.withCredentials;\n\n if ( isNumber( options.timeout ) && options.timeout > 0 )\n {\n timeoutTimer = setTimeout( onTimeout, options.timeout );\n }\n\n if (xhr.setRequestHeader)\n {\n for( var key in headers )\n {\n if( headers.hasOwnProperty( key ) )\n {\n xhr.setRequestHeader( key, headers[ key ] );\n }\n }\n }\n\n Rekord.Ajax.ajax( xhr, options );\n }\n }\n };\n\n function RestFactory(database)\n {\n if ( !database.api )\n {\n return Rekord_rest.call( this, database );\n }\n\n return new Rest( database );\n }\n\n function ajax(xhr, options)\n {\n xhr.send( options.data );\n }\n\n function buildURL(db, model)\n {\n return model ? db.api + model.$key() : db.api;\n }\n\n Rekord.Rests.Ajax = RestFactory;\n Rekord.setRest( RestFactory, true );\n\n Rekord.Ajax =\n {\n rest: RestFactory,\n options: {},\n vars: {},\n adjustOptions: noop,\n ajax: ajax,\n buildURL: buildURL,\n RestClass: Rest\n };\n\n return Rekord;\n\n}));\n"],"sourceRoot":"/source/"}