interlanguage-checker/MediawikiJS.js

2 lines
1.2 KiB
JavaScript

/*! MediawikiJS v0.1.0 | MIT License | github.com/brettz9/mediawiki-js */(function(){'use strict';var JSONP=(function(global){var id=0,ns='MediaWikiJS',prefix='__JSONP__',document=global.document,documentElement=document.documentElement;return function(uri,callback){var src=prefix+id++,script=document.createElement('script'),JSONPResponse=function(){try{delete global[ns][src]}catch(e){global[ns][src]=null}documentElement.removeChild(script);callback.apply(this,arguments)};global[ns][src]=JSONPResponse;documentElement.insertBefore(script,documentElement.lastChild).src=uri+(uri.indexOf('?')>-1?'&':'?')+'callback='+ns+'.'+src}}(window));function MediaWikiJS(opts,argObj,cb){if(!(this instanceof MediaWikiJS)){return new MediaWikiJS(opts,argObj,cb)}if(typeof opts==='string'){this.baseURL=opts}else{this.apiPath=opts.apiPath;this.baseURL=opts.baseURL}if(!this.apiPath){this.apiPath='/w/api.php'}if(argObj){this.send(argObj,cb)}}MediaWikiJS.prototype.send=function MediaWikiJS__send(argObj,cb){cb=cb||function(){};var uri,arg,args='';for(arg in argObj){if(argObj.hasOwnProperty(arg)){args+='&'+arg+'='+encodeURIComponent(argObj[arg])}}uri=this.baseURL+this.apiPath+'?format=json'+args;JSONP(uri,cb)};window.MediaWikiJS=MediaWikiJS}());