wikidata-sdk
Advanced tools
Comparing version 5.16.2 to 6.0.0
{ | ||
"name": "wikidata-sdk", | ||
"version": "5.16.2", | ||
"version": "6.0.0", | ||
"homepage": "https://github.com/maxlath/wikidata-sdk", | ||
@@ -5,0 +5,0 @@ "authors": [ |
# CHANGELOG | ||
*versions follow [SemVer](http://semver.org)* | ||
## 6.0.0 - 2019-03-17 | ||
**BREAKING CHANGE** | ||
* swapping `wdk.simplify.qualifier` and `wdk.simplify.qualifiers` that were mistakenly inverted (fixed [#47](https://github.com/maxlath/wikidata-sdk/issues/47)) ((([ed0e7a4](https://github.com/maxlath/wikidata-sdk/commit/ed0e7a4)))) | ||
* Make [`wdk.simplifySparqlResults`](https://github.com/maxlath/wikidata-sdk/blob/master/docs/simplify_sparql_results.md) consistently outputs an array of objects, unless the option `minimize` is set to `true`, in which case direct, requests with a single variable will return an array of those variables values (([ddba9e2](https://github.com/maxlath/wikidata-sdk/commit/ddba9e2))). The easy migration from `v5.x.x` is to replace `wdk.simplifySparqlResults(results)` by `wdk.simplifySparqlResults(results, { minimize: true })` (This doesn't affect requests with several variables `SELECT`ed) | ||
## 5.16.0 - 2019-03-13 | ||
@@ -5,0 +10,0 @@ * [`searchEntities`](https://github.com/maxlath/wikidata-sdk/blob/master/docs/search_entities.md): accept a `type` parameter |
@@ -213,3 +213,4 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.wdk = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ | ||
var simplifyEntity = require('./simplify_entity'); | ||
var _require = require('./simplify_entity'), | ||
simplifyEntity = _require.simplifyEntity; | ||
@@ -349,9 +350,7 @@ module.exports = { | ||
var datatype, datavalue, isQualifierSnak, isReferenceSnak; | ||
var value, datatype, datavalue, snaktype, isQualifierSnak, isReferenceSnak; | ||
if (mainsnak) { | ||
datatype = mainsnak.datatype; | ||
datavalue = mainsnak.datavalue; | ||
if (!datavalue) { | ||
if (mainsnak.snaktype === 'somevalue') return options.somevalueValue;else return options.novalueValue; | ||
} | ||
snaktype = mainsnak.snaktype; | ||
} else { | ||
@@ -361,2 +360,3 @@ // Qualifiers have no mainsnak, and define datatype, datavalue on claim | ||
datatype = claim.datatype; | ||
snaktype = claim.snaktype; | ||
// Duck typing the sub-snak type | ||
@@ -366,3 +366,7 @@ if (claim.hash) isQualifierSnak = true;else isReferenceSnak = true; | ||
var value = parseClaim(datatype, datavalue, options, claim.id); | ||
if (datavalue) { | ||
value = parseClaim(datatype, datavalue, options, claim.id); | ||
} else { | ||
if (snaktype === 'somevalue') value = options.somevalueValue;else if (snaktype === 'novalue') value = options.novalueValue;else throw new Error('no datavalue or special snaktype found'); | ||
} | ||
@@ -539,2 +543,4 @@ // Qualifiers should not attempt to keep sub-qualifiers or references | ||
module.exports = function (input) { | ||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
if (typeof input === 'string') input = JSON.parse(input); | ||
@@ -546,3 +552,3 @@ | ||
if (vars.length === 1) { | ||
if (vars.length === 1 && options.minimize === true) { | ||
var varName = vars[0]; | ||
@@ -971,5 +977,5 @@ return results.map(function (result) { | ||
wdk.simplify.claims = claimsSimplifiers.simplifyClaims; | ||
wdk.simplify.qualifier = claimsSimplifiers.simplifyQualifiers; | ||
wdk.simplify.qualifier = claimsSimplifiers.simplifyQualifier; | ||
wdk.simplify.propertyQualifiers = claimsSimplifiers.simplifyPropertyQualifiers; | ||
wdk.simplify.qualifiers = claimsSimplifiers.simplifyQualifier; | ||
wdk.simplify.qualifiers = claimsSimplifiers.simplifyQualifiers; | ||
@@ -976,0 +982,0 @@ wdk.simplify.sitelinks = require('../lib/helpers/simplify_sitelinks'); |
@@ -1,1 +0,1 @@ | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).wdk=e()}}(function(){return function s(o,a,u){function l(t,e){if(!a[t]){if(!o[t]){var i="function"==typeof require&&require;if(!e&&i)return i(t,!0);if(c)return c(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var n=a[t]={exports:{}};o[t][0].call(n.exports,function(e){return l(o[t][1][e]||e)},n,n.exports,s,o,a,u)}return a[t].exports}for(var c="function"==typeof require&&require,e=0;e<u.length;e++)l(u[e]);return l}({1:[function(e,t,i){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=e("./wikidata_time_to_date_object"),s={isNumericId:function(e){return/^[1-9][0-9]*$/.test(e)},isEntityId:function(e){return/^(Q|P)[1-9][0-9]*$/.test(e)},isItemId:function(e){return/^Q[1-9][0-9]*$/.test(e)},isPropertyId:function(e){return/^P[1-9][0-9]*$/.test(e)},isGuid:function(e){return/^(Q|P|L)\d+\$[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)},getNumericId:function(e){if(!s.isEntityId(e))throw new Error("invalid wikidata id: "+e);return e.replace(/Q|P/,"")}};s.wikidataTimeToDateObject=r;var o=function(e){return function(t){try{return e(t)}catch(e){return(t=t.time||t).replace("-00-00","-01-01")}}};s.wikidataTimeToEpochTime=o(function(e){return r(e).getTime()}),s.wikidataTimeToISOString=o(function(e){return r(e).toISOString()}),s.wikidataTimeToSimpleDay=o(function(e){if("object"===(void 0===e?"undefined":n(e))){var t=e,i=t.time,r=t.precision;e=9===r?i.replace("-01-01T","-00-00T"):10===r?i.replace("-01T","-00T"):i}return e.split("T")[0].replace(/^\+/,"").replace(/^(-?)0+/,"$1").replace(/-00$/,"").replace(/-00$/,"")}),s.getImageUrl=function(e,t){var i="https://commons.wikimedia.org/wiki/Special:FilePath/"+e;return"number"==typeof t&&(i+="?width="+t),i},t.exports=s},{"./wikidata_time_to_date_object":11}],2:[function(e,t,i){"use strict";var r=e("./helpers"),n=r.wikidataTimeToISOString,s=r.wikidataTimeToEpochTime,o=r.wikidataTimeToSimpleDay,a=function(e){return e.value},u=function(e,t){return c(e,t.entityPrefix)},l={item:"Q",lexeme:"L",property:"P"},c=function(e,t){var i=e.value,r=i.id||l[i["entity-type"]]+i["numeric-id"];return"string"==typeof t?t+":"+r:r},f=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"iso";return p[e]},p={iso:n,epoch:s,"simple-day":o,none:function(e){return e.time||e}},m={string:a,commonsMedia:a,url:a,"external-id":a,math:a,monolingualtext:function(e,t){return t.keepRichValues?e.value:e.value.text},"wikibase-item":u,"wikibase-lexeme":u,"wikibase-property":u,time:function(e,t){return f(t.timeConverter)(e.value)},quantity:function(e,t){var i=e.value,r=parseFloat(i.amount);return t.keepRichValues?{amount:parseFloat(i.amount),unit:i.unit.replace("http://www.wikidata.org/entity/",""),upperBound:parseFloat(i.upperBound),lowerBound:parseFloat(i.lowerBound)}:r},"globe-coordinate":function(e){return[e.value.latitude,e.value.longitude]},"geo-shape":a,"tabular-data":a};t.exports={parsers:m,parse:function(t,e,i,r){if(!t)return console.error("invalid claim",r),null;try{return m[t](e,i)}catch(e){throw"parsers[datatype] is not a function"===e.message&&(e.message=t+" claim parser isn't implemented\n Claim id: "+r+"\n Please report to https://github.com/maxlath/wikidata-sdk/issues"),e}}}},{"./helpers":1}],3:[function(e,t,i){"use strict";var r=e("./simplify_entity");t.exports={wd:{entities:function(e){var t=(e=e.body||e).entities;return Object.keys(t).forEach(function(e){t[e]=r(t[e])}),t}}}},{"./simplify_entity":5}],4:[function(e,t,i){"use strict";var r=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],r=!0,n=!1,s=void 0;try{for(var o,a=e[Symbol.iterator]();!(r=(o=a.next()).done)&&(i.push(o.value),!t||i.length!==t);r=!0);}catch(e){n=!0,s=e}finally{try{!r&&a.return&&a.return()}finally{if(n)throw s}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},b=e("./parse_claim").parse,u=e("../utils/utils").uniq,w=function(e){for(var t=arguments.length,i=Array(1<t?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];var n=k(i).propertyPrefix,s={};for(var o in e){var a=e[o];n&&(o=n+":"+o),s[o]=l.apply(void 0,[a].concat(i))}return s},l=function(e){for(var t=arguments.length,i=Array(1<t?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];if(null==e||0===e.length)return[];var n=k(i),s=n.keepNonTruthy,o=n.areSubSnaks;return s||o||(e=c(e)),(e=e.map(function(e){return p.apply(void 0,[e].concat(i))}).filter(f))[0]&&"object"!==a(e[0])?u(e):e},n=function(e,t){var i=t.rank;return e[i]||(e[i]=[]),e[i].push(t),e},c=function(e){var t=e.reduce(n,{});return t.preferred||t.normal||[]},f=function(e){return void 0!==e},p=function(e){for(var t=arguments.length,i=Array(1<t?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];var n,s,o,a,u=i=k(i),l=u.keepQualifiers,c=u.keepReferences,f=u.keepIds,p=u.keepHashes,m=u.keepTypes,y=e.mainsnak;if(y){if(n=y.datatype,!(s=y.datavalue))return"somevalue"===y.snaktype?i.somevalueValue:i.novalueValue}else s=e.datavalue,n=e.datatype,e.hash?o=!0:a=!0;var d=b(n,s,i,e.id);if(o){if(!p&&!m)return d;var v={value:d};return p&&(v.hash=e.hash),m&&(v.type=n),v}if(a)return m?{type:n,value:d}:d;if(!(l||c||f||m))return d;var h={value:d};m&&(h.type=n);var g=_(i);return g.keepHashes=p,l&&(h.qualifiers=w(e.qualifiers,g)),c&&(e.references=e.references||[],h.references=e.references.map(function(e){var t=w(e.snaks,g);return p?{snaks:t,hash:e.hash}:t})),f&&(h.id=e.id),h},k=function(e){if(null==e)return{};if(e[0]&&"object"===a(e[0]))return e[0];var t=r(e,3);return{entityPrefix:t[0],propertyPrefix:t[1],keepQualifiers:t[2]}},_=function(e){return Object.assign({},e,{areSubSnaks:!0})};t.exports={simplifyClaims:w,simplifyPropertyClaims:l,simplifyClaim:p,truthyClaims:function(t){var i={};return Object.keys(t).forEach(function(e){i[e]=c(t[e])}),i},truthyPropertyClaims:c,simplifyQualifiers:function(e,t){return w(e,_(t))},simplifyPropertyQualifiers:function(e,t){return l(e,_(t))},simplifyQualifier:p}},{"../utils/utils":22,"./parse_claim":2}],5:[function(e,t,i){"use strict";var r=e("./simplify_claims").simplifyClaims,n=e("./simplify_text_attributes"),s=e("./simplify_sitelinks"),o=function(e,t){var i={id:e.id,type:e.type,modified:e.modified};return a(e,i,"labels"),a(e,i,"descriptions"),a(e,i,"aliases"),null!=e.claims&&(i.claims=r(e.claims,t)),null!=e.sitelinks&&(i.sitelinks=s(e.sitelinks,t)),i},a=function(e,t,i){null!=e[i]&&(t[i]=n[i](e[i]))};t.exports={simplifyEntity:o,simplifyEntities:function(r){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},s=n.entityPrefix;return Object.keys(r).reduce(function(e,t){var i=r[t];return s&&(t=s+":"+t),e[t]=o(i,n),e},{})}}},{"./simplify_claims":4,"./simplify_sitelinks":6,"./simplify_text_attributes":8}],6:[function(e,t,i){"use strict";var s=e("./sitelinks_helpers").getSitelinkUrl;t.exports=function(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).addUrl;return Object.keys(e).reduce(r(e,t),{})};var r=function(r,n){return function(e,t){var i=r[t].title;return e[t]=n?{title:i,url:s(t,i)}:i,e}}},{"./sitelinks_helpers":9}],7:[function(e,t,i){"use strict";t.exports=function(e){"string"==typeof e&&(e=JSON.parse(e));var t=e.head.vars,i=e.results.bindings;if(1===t.length){var r=t[0];return i.map(function(e){return h(e[r])}).filter(function(e){return null!=e})}var n=c(t),s=n.richVars,o=n.standaloneVars;return i.map(y(s,o))};var h=function(e){if(e){var t=e.datatype;return t=t&&t.replace("http://www.w3.org/2001/XMLSchema#",""),(r[e.type]||s(t))(e)}},r={uri:function(e){return u(e.value)},bnode:function(){return null}},n=function(e){return parseFloat(e.value)},s=function(e){return e=e&&e.replace("http://www.w3.org/2001/XMLSchema#",""),o[e]||a},o={decimal:n,integer:n,float:n,double:n,boolean:function(e){return"true"===e.value}},a=function(e){return e.value},u=function(e){return e.startsWith("http://www.wikidata.org/entity/statement/")?l(e):e.replace("http://www.wikidata.org/entity/","").replace("http://www.wikidata.org/prop/direct/","")},l=function(e){var t=(e=e.replace("http://www.wikidata.org/entity/statement/","")).split("-");return t[0]+"$"+t.slice(1).join("-")},c=function(e){return e.reduce(f(e),{richVars:[],standaloneVars:[]})},f=function(r){return function(e,t){if(r.some(m(t)))return e.richVars.push(t),e;if(!p.test(t))return e.standaloneVars.push(t),e;var i=t.replace(p,"$1").replace(/Alt$/,"");return r.includes(i)||e.standaloneVars.push(t),e}},p=/^(\w+)(Label|Description|AltLabel)$/,m=function(t){return function(e){return t+"Label"===e||(t+"Description"===e||t+"AltLabel"===e)}},y=function(d,v){return function(e){var t={},i=!0,r=!1,n=void 0;try{for(var s,o=d[Symbol.iterator]();!(i=(s=o.next()).done);i=!0){var a=s.value,u=h(e[a]);null!=u&&(t[a]={value:u},g(e,a,"label",t[a]),g(e,a,"description",t[a]),g(e,a,"aliases",t[a]))}}catch(e){r=!0,n=e}finally{try{!i&&o.return&&o.return()}finally{if(r)throw n}}var l=!0,c=!1,f=void 0;try{for(var p,m=v[Symbol.iterator]();!(l=(p=m.next()).done);l=!0){var y=p.value;t[y]=h(e[y])}}catch(e){c=!0,f=e}finally{try{!l&&m.return&&m.return()}finally{if(c)throw f}}return t}},g=function(e,t,i,r){var n=e[t+d[i]];null!=n&&(r[i]=n.value)},d={label:"Label",description:"Description",aliases:"AltLabel"}},{}],8:[function(e,t,i){"use strict";var r=function(t){return function(e){return Object.keys(e).reduce(n(e,t),{})}},n=function(r,n){return function(e,t){var i=r[t];return e[t]=n?i.map(s):i.value,e}},s=function(e){return e.value},o=r(!1);t.exports={labels:o,descriptions:o,aliases:r(!0)}},{}],9:[function(e,t,i){"use strict";var a=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],r=!0,n=!1,s=void 0;try{for(var o,a=e[Symbol.iterator]();!(r=(o=a.next()).done)&&(i.push(o.value),!t||i.length!==t);r=!0);}catch(e){n=!0,s=e}finally{try{!r&&a.return&&a.return()}finally{if(n)throw s}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},r=e("../utils/utils"),s=r.fixedEncodeURIComponent,o=r.replaceSpaceByUnderscores,u=r.isPlainObject,n=e("./helpers").isPropertyId,l="https://www.wikidata.org/wiki/",c=e("./sitelinks_languages"),f=function(t){return function(e){return"https://"+t+".wikimedia.org/wiki/"+e}},p={commons:f("commons"),mediawiki:function(e){return"https://www.mediawiki.org/wiki/"+e},meta:f("meta"),species:f("species"),wikidata:function(e){return n(e)?l+"Property:"+e:""+l+e}},m=function(e){var t=y[e];if(t)return{lang:"en",project:t};var i=e.split("wik"),r=a(i,3),n=r[0],s=r[1];if(null!=r[2])throw new Error("invalid sitelink: "+e);if(-1===c.indexOf(n))throw new Error("sitelink lang not found: "+n);var o=d[s];if(!o)throw new Error("sitelink project not found: "+o);return{lang:n,project:o}},y={commonswiki:"commons",mediawikiwiki:"mediawiki",metawiki:"meta",specieswiki:"specieswiki",wikidatawiki:"wikidata"},d={i:"wikipedia",isource:"wikisource",iquote:"wikiquote",tionary:"wiktionary",ibooks:"wikibooks",iversity:"wikiversity",ivoyage:"wikivoyage",inews:"wikinews"};t.exports={getSitelinkUrl:function(e,t){if(u(e)&&(t=e.title,e=e.site),!e)throw new Error("missing a site");if(!t)throw new Error("missing a title");var i=e.replace(/wiki$/,""),r=p[i]||p[e];if(r)return r(t);var n=m(e);return"https://"+n.lang+"."+n.project+".org/wiki/"+(t=s(o(t)))},getSitelinkData:m,isSitelinkKey:function(e){try{return m(e),!0}catch(e){return!1}}}},{"../utils/utils":22,"./helpers":1,"./sitelinks_languages":10}],10:[function(e,t,i){"use strict";t.exports=["aa","ab","af","ak","als","am","ang","an","ar","ast","as","av","ay","az","ba","be","bg","bh","bi","bm","bn","bo","br","bs","ca","chr","ch","co","cr","csb","cs","cv","cy","da","de","dv","dz","el","en","eo","es","et","eu","fa","fi","fj","fo","fr","fy","ga","gd","gl","gn","got","gu","gv","ha","he","hif","hi","hr","hsb","ht","hu","hy","ia","id","ie","ik","io","is","it","iu","ja","jbo","jv","ka","kk","kl","km","kn","ko","kr","ks","ku","kw","ky","la","lb","li","ln","lo","lt","lv","mg","mh","mi","mk","ml","mn","mo","mr","ms","mt","my","nah","na","nds","ne","nl","nn","no","oc","om","or","pa","pi","pl","pms","pnb","ps","pt","qu","rm","rn","roa_rup","ro","ru","rw","sah","sa","scn","sc","sd","se","sg","sh","simple","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tpi","tr","ts","tt","tw","ug","uk","ur","uz","vec","vi","vo","wa","wo","xh","yi","yo","yue","za","zh_min_nan","zh","zu","ace","arc","arz","bar","bat_smg","bcl","be_x_old","bjn","bpy","bug","bxr","cbk_zam","cdo","ce","ceb","cho","chy","ckb","crh","cu","diq","dsb","ee","eml","ext","ff","fiu_vro","frp","frr","fur","gag","gan","glk","hak","haw","ho","hz","ig","ii","ilo","kaa","kab","kbd","kg","ki","kj","koi","krc","ksh","kv","lad","lbe","lez","lg","lij","lmo","ltg","mai","map_bms","mdf","mhr","min","mrj","mus","mwl","myv","mzn","nap","nds_nl","new","ng","nov","nrm","nso","nv","ny","os","pag","pam","pap","pcd","pdc","pfl","pih","pnt","rmy","roa_tara","rue","sco","srn","stq","szl","tet","tum","ty","tyv","udm","ve","vep","vls","war","wuu","xal","xmf","zea","zh_classical","zh_yue","lrc","gom","azb","ady","jam","tcy","olo","dty","atj","kbp","din","gor","inh","lfn","sat","shn"]},{}],11:[function(e,t,i){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.exports=function(e){"object"===(void 0===e?"undefined":n(e))&&(e=e.time);var t=e[0],i=e.slice(1),r=s(t,i);return"Invalid Date"===r.toString()?a(t,i):r};var s=function(e,t){return"-"===e?o(t):r(t)},r=function(e){return new Date(e)},o=function(e){var t,i=e.split("-")[0];return t=4===i.length?"-00"+e:5===i.length?"-0"+e:"-"+e,new Date(t)},a=function(e,t){var i=t.split("T")[0].split("-")[0];return s(e,i)}},{}],12:[function(e,t,i){"use strict";var r=t.exports={};r.searchEntities=e("./queries/search_entities"),r.getEntities=e("./queries/get_entities"),r.getManyEntities=e("./queries/get_many_entities"),r.sparqlQuery=e("./queries/sparql_query"),r.getReverseClaims=e("./queries/get_reverse_claims"),r.getRevisions=e("./queries/get_revisions"),r.getEntitiesFromSitelinks=e("./queries/get_entities_from_sitelinks"),r.getWikidataIdsFromSitelinks=r.getEntitiesFromSitelinks,r.parse=e("./helpers/parse_responses");var n=e("./helpers/simplify_claims"),s=e("./helpers/simplify_sparql_results");r.simplify=e("../lib/helpers/simplify_text_attributes");var o=e("../lib/helpers/simplify_entity"),a=o.simplifyEntity,u=o.simplifyEntities;r.simplify.entity=a,r.simplify.entities=u,r.simplify.claim=n.simplifyClaim,r.simplify.propertyClaims=n.simplifyPropertyClaims,r.simplify.claims=n.simplifyClaims,r.simplify.qualifier=n.simplifyQualifiers,r.simplify.propertyQualifiers=n.simplifyPropertyQualifiers,r.simplify.qualifiers=n.simplifyQualifier,r.simplify.sitelinks=e("../lib/helpers/simplify_sitelinks"),r.simplify.sparqlResults=s,r.simplifySparqlResults=e("./helpers/simplify_sparql_results"),Object.assign(r,n),r.getWikidataIdsFromWikipediaTitles=r.getWikidataIdsFromSitelinks;var l=e("../lib/helpers/helpers"),c=e("../lib/helpers/sitelinks_helpers");Object.assign(r,l,c)},{"../lib/helpers/helpers":1,"../lib/helpers/simplify_entity":5,"../lib/helpers/simplify_sitelinks":6,"../lib/helpers/simplify_text_attributes":8,"../lib/helpers/sitelinks_helpers":9,"./helpers/parse_responses":3,"./helpers/simplify_claims":4,"./helpers/simplify_sparql_results":7,"./queries/get_entities":13,"./queries/get_entities_from_sitelinks":14,"./queries/get_many_entities":15,"./queries/get_reverse_claims":16,"./queries/get_revisions":17,"./queries/search_entities":18,"./queries/sparql_query":19}],13:[function(e,t,i){"use strict";var o=e("../utils/build_url"),r=e("../utils/utils"),a=r.isPlainObject,u=r.forceArray,l=r.shortLang;t.exports=function(e,t,i,r){if(a(e)){var n=e;e=n.ids,t=n.languages,i=n.props,r=n.format}if(r=r||"json",!(e&&0<e.length))throw new Error("no id provided");50<(e=u(e)).length&&console.warn("getEntities accepts 50 ids max to match Wikidata API limitations:\n this request won't get all the desired entities.\n You can use getManyEntities instead to generate several request urls\n to work around this limitation");var s={action:"wbgetentities",ids:e.join("|"),format:r};return t&&(t=u(t).map(l),s.languages=t.join("|")),i&&0<i.length&&(s.props=u(i).join("|")),o(s)}},{"../utils/build_url":20,"../utils/utils":22}],14:[function(e,t,i){"use strict";var a=e("../utils/build_url"),r=e("../utils/utils"),u=r.isPlainObject,l=r.forceArray,c=r.shortLang;t.exports=function(e,t,i,r,n){if(u(e)){var s=e;e=s.titles,t=s.sites,i=s.languages,r=s.props,n=s.format}if(n=n||"json",!(e&&0<e.length))throw new Error("no title provided");t&&0<t.length||(t=["enwiki"]),e=l(e),t=l(t).map(f),r=l(r);var o={action:"wbgetentities",titles:e.join("|"),sites:t.join("|"),format:n};return 1===t.length&&1===e.length&&(o.normalize=!0),i&&(i=l(i).map(c),o.languages=i.join("|")),r&&0<r.length&&(o.props=r.join("|")),a(o)};var f=function(e){return 2===e.length?e+"wiki":e}},{"../utils/build_url":20,"../utils/utils":22}],15:[function(e,t,i){"use strict";var s=e("./get_entities"),o=e("../utils/utils").isPlainObject;t.exports=function(e,t,i,r){if(o(e)){var n=e;e=n.ids,t=n.languages,i=n.props,r=n.format}if(!(e instanceof Array))throw new Error("getManyEntities expects an array of ids");return a(e).map(function(e){return s(e,t,i,r)})};var a=function(e){for(var t=[];0<e.length;){var i=e.slice(0,50);e=e.slice(50),t.push(i)}return t}},{"../utils/utils":22,"./get_entities":13}],16:[function(e,t,i){"use strict";var r=e("../helpers/helpers"),a=e("./sparql_query");function u(e){return r.isItemId(e)?e="wd:"+e:"string"==typeof e&&(e="'"+e+"'"),e}function l(e,t,i,r){return"?subject "+e+" "+t+" .\n "+i}function c(e,t,i,r){return"?subject "+e+" ?value .\n FILTER (lcase(?value) = "+t.toLowerCase()+")\n "+i}t.exports=function(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},r=i.limit,n=i.caseInsensitive,s=i.keepProperties?"":"FILTER NOT EXISTS { ?subject rdf:type wikibase:Property . } ",o="SELECT DISTINCT ?subject WHERE { "+function(e,t,i,r){if(!(e instanceof Array))return t(i,u(e),r);return"{ "+e.map(u).map(function(e){return t(i,e,r)}).join("} UNION {")+" }"}(t,n?c:l,e=e instanceof Array?e.map(f).join("|"):f(e),s)+" }";return r&&(o+=" LIMIT "+r),a(o)};var f=function(e){return"wdt:"+e}},{"../helpers/helpers":1,"./sparql_query":19}],17:[function(e,t,i){"use strict";var n=e("../utils/build_url"),s=e("../utils/utils").forceArray;t.exports=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},i=1===(e=s(e)).length,r={action:"query",prop:"revisions"};return r.titles=e.join("|"),r.format=t.format||"json",i&&(r.rvlimit=t.limit||"max"),i&&t.start&&(r.rvstart=o(t.start)),i&&t.end&&(r.rvend=o(t.end)),n(r)};var o=function(e){return"number"==typeof e&&e<r?e:Math.trunc(new Date(e).getTime()/1e3)},r=new Date("2000-01-01").getTime()},{"../utils/build_url":20,"../utils/utils":22}],18:[function(e,t,i){"use strict";var a=e("../utils/build_url"),u=e("../utils/utils").isPlainObject,l=["item","property","lexeme","form","sense"];t.exports=function(e,t,i,r,n){var s;if(u(e)){var o=e;e=o.search,t=o.language,i=o.limit,r=o.format,n=o.uselang,s=o.type}if(!(e&&0<e.length))throw new Error("search can't be empty");if(t=t||"en",n=n||t,i=i||"20",r=r||"json",s=s||"item",!l.includes(s))throw new Error("invalid type: "+s);return a({action:"wbsearchentities",search:e,language:t,limit:i,format:r,uselang:n,type:s})}},{"../utils/build_url":20,"../utils/utils":22}],19:[function(e,t,i){"use strict";var r=e("../utils/utils").fixedEncodeURIComponent;t.exports=function(e){return"https://query.wikidata.org/sparql?format=json&query="+r(e)}},{"../utils/utils":22}],20:[function(e,t,i){"use strict";var r="undefined"!=typeof location&&"undefined"!=typeof document,n=e(r?"./querystring_lite":"querystring");t.exports=function(e){return r&&(e.origin="*"),"https://www.wikidata.org/w/api.php?"+n.stringify(e)}},{"./querystring_lite":21,querystring:25}],21:[function(e,t,i){"use strict";t.exports={stringify:function(e){var t="";for(var i in e){var r=e[i];r&&(t+="&"+i+"="+r)}return t=t.slice(1),encodeURI?encodeURI(t):t}}},{}],22:[function(e,t,i){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.exports={shortLang:function(e){return e.toLowerCase().split(/[^a-z]/)[0]},forceArray:function(e){return"string"==typeof e&&(e=[e]),e||[]},isPlainObject:function(e){return!(!e||"object"!==(void 0===e?"undefined":r(e))||e instanceof Array)},fixedEncodeURIComponent:function(e){return encodeURIComponent(e).replace(/[!'()*]/g,n)},replaceSpaceByUnderscores:function(e){return e.replace(/\s/g,"_")},uniq:function(e){return Array.from(new Set(e))}};var n=function(e){return"%"+e.charCodeAt(0).toString(16)}},{}],23:[function(e,t,i){"use strict";t.exports=function(e,t,i,r){t=t||"&",i=i||"=";var n={};if("string"!=typeof e||0===e.length)return n;var s=/\+/g;e=e.split(t);var o=1e3;r&&"number"==typeof r.maxKeys&&(o=r.maxKeys);var a,u,l=e.length;0<o&&o<l&&(l=o);for(var c=0;c<l;++c){var f,p,m,y,d=e[c].replace(s,"%20"),v=d.indexOf(i);0<=v?(f=d.substr(0,v),p=d.substr(v+1)):(f=d,p=""),m=decodeURIComponent(f),y=decodeURIComponent(p),a=n,u=m,Object.prototype.hasOwnProperty.call(a,u)?h(n[m])?n[m].push(y):n[m]=[n[m],y]:n[m]=y}return n};var h=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],24:[function(e,t,i){"use strict";var s=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=function(i,r,n,e){return r=r||"&",n=n||"=",null===i&&(i=void 0),"object"==typeof i?a(u(i),function(e){var t=encodeURIComponent(s(e))+n;return o(i[e])?a(i[e],function(e){return t+encodeURIComponent(s(e))}).join(r):t+encodeURIComponent(s(i[e]))}).join(r):e?encodeURIComponent(s(e))+n+encodeURIComponent(s(i)):""};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function a(e,t){if(e.map)return e.map(t);for(var i=[],r=0;r<e.length;r++)i.push(t(e[r],r));return i}var u=Object.keys||function(e){var t=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.push(i);return t}},{}],25:[function(e,t,i){"use strict";i.decode=i.parse=e("./decode"),i.encode=i.stringify=e("./encode")},{"./decode":23,"./encode":24}]},{},[12])(12)}); | ||
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).wdk=e()}}(function(){return function s(o,a,u){function l(t,e){if(!a[t]){if(!o[t]){var i="function"==typeof require&&require;if(!e&&i)return i(t,!0);if(c)return c(t,!0);var r=new Error("Cannot find module '"+t+"'");throw r.code="MODULE_NOT_FOUND",r}var n=a[t]={exports:{}};o[t][0].call(n.exports,function(e){return l(o[t][1][e]||e)},n,n.exports,s,o,a,u)}return a[t].exports}for(var c="function"==typeof require&&require,e=0;e<u.length;e++)l(u[e]);return l}({1:[function(e,t,i){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=e("./wikidata_time_to_date_object"),s={isNumericId:function(e){return/^[1-9][0-9]*$/.test(e)},isEntityId:function(e){return/^(Q|P)[1-9][0-9]*$/.test(e)},isItemId:function(e){return/^Q[1-9][0-9]*$/.test(e)},isPropertyId:function(e){return/^P[1-9][0-9]*$/.test(e)},isGuid:function(e){return/^(Q|P|L)\d+\$[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)},getNumericId:function(e){if(!s.isEntityId(e))throw new Error("invalid wikidata id: "+e);return e.replace(/Q|P/,"")}};s.wikidataTimeToDateObject=r;var o=function(e){return function(t){try{return e(t)}catch(e){return(t=t.time||t).replace("-00-00","-01-01")}}};s.wikidataTimeToEpochTime=o(function(e){return r(e).getTime()}),s.wikidataTimeToISOString=o(function(e){return r(e).toISOString()}),s.wikidataTimeToSimpleDay=o(function(e){if("object"===(void 0===e?"undefined":n(e))){var t=e,i=t.time,r=t.precision;e=9===r?i.replace("-01-01T","-00-00T"):10===r?i.replace("-01T","-00T"):i}return e.split("T")[0].replace(/^\+/,"").replace(/^(-?)0+/,"$1").replace(/-00$/,"").replace(/-00$/,"")}),s.getImageUrl=function(e,t){var i="https://commons.wikimedia.org/wiki/Special:FilePath/"+e;return"number"==typeof t&&(i+="?width="+t),i},t.exports=s},{"./wikidata_time_to_date_object":11}],2:[function(e,t,i){"use strict";var r=e("./helpers"),n=r.wikidataTimeToISOString,s=r.wikidataTimeToEpochTime,o=r.wikidataTimeToSimpleDay,a=function(e){return e.value},u=function(e,t){return c(e,t.entityPrefix)},l={item:"Q",lexeme:"L",property:"P"},c=function(e,t){var i=e.value,r=i.id||l[i["entity-type"]]+i["numeric-id"];return"string"==typeof t?t+":"+r:r},f=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"iso";return p[e]},p={iso:n,epoch:s,"simple-day":o,none:function(e){return e.time||e}},m={string:a,commonsMedia:a,url:a,"external-id":a,math:a,monolingualtext:function(e,t){return t.keepRichValues?e.value:e.value.text},"wikibase-item":u,"wikibase-lexeme":u,"wikibase-property":u,time:function(e,t){return f(t.timeConverter)(e.value)},quantity:function(e,t){var i=e.value,r=parseFloat(i.amount);return t.keepRichValues?{amount:parseFloat(i.amount),unit:i.unit.replace("http://www.wikidata.org/entity/",""),upperBound:parseFloat(i.upperBound),lowerBound:parseFloat(i.lowerBound)}:r},"globe-coordinate":function(e){return[e.value.latitude,e.value.longitude]},"geo-shape":a,"tabular-data":a};t.exports={parsers:m,parse:function(t,e,i,r){if(!t)return console.error("invalid claim",r),null;try{return m[t](e,i)}catch(e){throw"parsers[datatype] is not a function"===e.message&&(e.message=t+" claim parser isn't implemented\n Claim id: "+r+"\n Please report to https://github.com/maxlath/wikidata-sdk/issues"),e}}}},{"./helpers":1}],3:[function(e,t,i){"use strict";var r=e("./simplify_entity").simplifyEntity;t.exports={wd:{entities:function(e){var t=(e=e.body||e).entities;return Object.keys(t).forEach(function(e){t[e]=r(t[e])}),t}}}},{"./simplify_entity":5}],4:[function(e,t,i){"use strict";var r=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],r=!0,n=!1,s=void 0;try{for(var o,a=e[Symbol.iterator]();!(r=(o=a.next()).done)&&(i.push(o.value),!t||i.length!==t);r=!0);}catch(e){n=!0,s=e}finally{try{!r&&a.return&&a.return()}finally{if(n)throw s}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w=e("./parse_claim").parse,u=e("../utils/utils").uniq,k=function(e){for(var t=arguments.length,i=Array(1<t?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];var n=_(i).propertyPrefix,s={};for(var o in e){var a=e[o];n&&(o=n+":"+o),s[o]=l.apply(void 0,[a].concat(i))}return s},l=function(e){for(var t=arguments.length,i=Array(1<t?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];if(null==e||0===e.length)return[];var n=_(i),s=n.keepNonTruthy,o=n.areSubSnaks;return s||o||(e=c(e)),(e=e.map(function(e){return p.apply(void 0,[e].concat(i))}).filter(f))[0]&&"object"!==a(e[0])?u(e):e},n=function(e,t){var i=t.rank;return e[i]||(e[i]=[]),e[i].push(t),e},c=function(e){var t=e.reduce(n,{});return t.preferred||t.normal||[]},f=function(e){return void 0!==e},p=function(e){for(var t=arguments.length,i=Array(1<t?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];var n,s,o,a,u,l,c=i=_(i),f=c.keepQualifiers,p=c.keepReferences,m=c.keepIds,y=c.keepHashes,d=c.keepTypes,v=e.mainsnak;if(v?(s=v.datatype,o=v.datavalue,a=v.snaktype):(o=e.datavalue,s=e.datatype,a=e.snaktype,e.hash?u=!0:l=!0),o)n=w(s,o,i,e.id);else if("somevalue"===a)n=i.somevalueValue;else{if("novalue"!==a)throw new Error("no datavalue or special snaktype found");n=i.novalueValue}if(u){if(!y&&!d)return n;var h={value:n};return y&&(h.hash=e.hash),d&&(h.type=s),h}if(l)return d?{type:s,value:n}:n;if(!(f||p||m||d))return n;var g={value:n};d&&(g.type=s);var b=j(i);return b.keepHashes=y,f&&(g.qualifiers=k(e.qualifiers,b)),p&&(e.references=e.references||[],g.references=e.references.map(function(e){var t=k(e.snaks,b);return y?{snaks:t,hash:e.hash}:t})),m&&(g.id=e.id),g},_=function(e){if(null==e)return{};if(e[0]&&"object"===a(e[0]))return e[0];var t=r(e,3);return{entityPrefix:t[0],propertyPrefix:t[1],keepQualifiers:t[2]}},j=function(e){return Object.assign({},e,{areSubSnaks:!0})};t.exports={simplifyClaims:k,simplifyPropertyClaims:l,simplifyClaim:p,truthyClaims:function(t){var i={};return Object.keys(t).forEach(function(e){i[e]=c(t[e])}),i},truthyPropertyClaims:c,simplifyQualifiers:function(e,t){return k(e,j(t))},simplifyPropertyQualifiers:function(e,t){return l(e,j(t))},simplifyQualifier:p}},{"../utils/utils":22,"./parse_claim":2}],5:[function(e,t,i){"use strict";var r=e("./simplify_claims").simplifyClaims,n=e("./simplify_text_attributes"),s=e("./simplify_sitelinks"),o=function(e,t){var i={id:e.id,type:e.type,modified:e.modified};return a(e,i,"labels"),a(e,i,"descriptions"),a(e,i,"aliases"),null!=e.claims&&(i.claims=r(e.claims,t)),null!=e.sitelinks&&(i.sitelinks=s(e.sitelinks,t)),i},a=function(e,t,i){null!=e[i]&&(t[i]=n[i](e[i]))};t.exports={simplifyEntity:o,simplifyEntities:function(r){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},s=n.entityPrefix;return Object.keys(r).reduce(function(e,t){var i=r[t];return s&&(t=s+":"+t),e[t]=o(i,n),e},{})}}},{"./simplify_claims":4,"./simplify_sitelinks":6,"./simplify_text_attributes":8}],6:[function(e,t,i){"use strict";var s=e("./sitelinks_helpers").getSitelinkUrl;t.exports=function(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).addUrl;return Object.keys(e).reduce(r(e,t),{})};var r=function(r,n){return function(e,t){var i=r[t].title;return e[t]=n?{title:i,url:s(t,i)}:i,e}}},{"./sitelinks_helpers":9}],7:[function(e,t,i){"use strict";t.exports=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};"string"==typeof e&&(e=JSON.parse(e));var i=e.head.vars,r=e.results.bindings;if(1===i.length&&!0===t.minimize){var n=i[0];return r.map(function(e){return h(e[n])}).filter(function(e){return null!=e})}var s=c(i),o=s.richVars,a=s.standaloneVars;return r.map(y(o,a))};var h=function(e){if(e){var t=e.datatype;return t=t&&t.replace("http://www.w3.org/2001/XMLSchema#",""),(r[e.type]||s(t))(e)}},r={uri:function(e){return u(e.value)},bnode:function(){return null}},n=function(e){return parseFloat(e.value)},s=function(e){return e=e&&e.replace("http://www.w3.org/2001/XMLSchema#",""),o[e]||a},o={decimal:n,integer:n,float:n,double:n,boolean:function(e){return"true"===e.value}},a=function(e){return e.value},u=function(e){return e.startsWith("http://www.wikidata.org/entity/statement/")?l(e):e.replace("http://www.wikidata.org/entity/","").replace("http://www.wikidata.org/prop/direct/","")},l=function(e){var t=(e=e.replace("http://www.wikidata.org/entity/statement/","")).split("-");return t[0]+"$"+t.slice(1).join("-")},c=function(e){return e.reduce(f(e),{richVars:[],standaloneVars:[]})},f=function(r){return function(e,t){if(r.some(m(t)))return e.richVars.push(t),e;if(!p.test(t))return e.standaloneVars.push(t),e;var i=t.replace(p,"$1").replace(/Alt$/,"");return r.includes(i)||e.standaloneVars.push(t),e}},p=/^(\w+)(Label|Description|AltLabel)$/,m=function(t){return function(e){return t+"Label"===e||(t+"Description"===e||t+"AltLabel"===e)}},y=function(d,v){return function(e){var t={},i=!0,r=!1,n=void 0;try{for(var s,o=d[Symbol.iterator]();!(i=(s=o.next()).done);i=!0){var a=s.value,u=h(e[a]);null!=u&&(t[a]={value:u},g(e,a,"label",t[a]),g(e,a,"description",t[a]),g(e,a,"aliases",t[a]))}}catch(e){r=!0,n=e}finally{try{!i&&o.return&&o.return()}finally{if(r)throw n}}var l=!0,c=!1,f=void 0;try{for(var p,m=v[Symbol.iterator]();!(l=(p=m.next()).done);l=!0){var y=p.value;t[y]=h(e[y])}}catch(e){c=!0,f=e}finally{try{!l&&m.return&&m.return()}finally{if(c)throw f}}return t}},g=function(e,t,i,r){var n=e[t+d[i]];null!=n&&(r[i]=n.value)},d={label:"Label",description:"Description",aliases:"AltLabel"}},{}],8:[function(e,t,i){"use strict";var r=function(t){return function(e){return Object.keys(e).reduce(n(e,t),{})}},n=function(r,n){return function(e,t){var i=r[t];return e[t]=n?i.map(s):i.value,e}},s=function(e){return e.value},o=r(!1);t.exports={labels:o,descriptions:o,aliases:r(!0)}},{}],9:[function(e,t,i){"use strict";var a=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],r=!0,n=!1,s=void 0;try{for(var o,a=e[Symbol.iterator]();!(r=(o=a.next()).done)&&(i.push(o.value),!t||i.length!==t);r=!0);}catch(e){n=!0,s=e}finally{try{!r&&a.return&&a.return()}finally{if(n)throw s}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},r=e("../utils/utils"),s=r.fixedEncodeURIComponent,o=r.replaceSpaceByUnderscores,u=r.isPlainObject,n=e("./helpers").isPropertyId,l="https://www.wikidata.org/wiki/",c=e("./sitelinks_languages"),f=function(t){return function(e){return"https://"+t+".wikimedia.org/wiki/"+e}},p={commons:f("commons"),mediawiki:function(e){return"https://www.mediawiki.org/wiki/"+e},meta:f("meta"),species:f("species"),wikidata:function(e){return n(e)?l+"Property:"+e:""+l+e}},m=function(e){var t=y[e];if(t)return{lang:"en",project:t};var i=e.split("wik"),r=a(i,3),n=r[0],s=r[1];if(null!=r[2])throw new Error("invalid sitelink: "+e);if(-1===c.indexOf(n))throw new Error("sitelink lang not found: "+n);var o=d[s];if(!o)throw new Error("sitelink project not found: "+o);return{lang:n,project:o}},y={commonswiki:"commons",mediawikiwiki:"mediawiki",metawiki:"meta",specieswiki:"specieswiki",wikidatawiki:"wikidata"},d={i:"wikipedia",isource:"wikisource",iquote:"wikiquote",tionary:"wiktionary",ibooks:"wikibooks",iversity:"wikiversity",ivoyage:"wikivoyage",inews:"wikinews"};t.exports={getSitelinkUrl:function(e,t){if(u(e)&&(t=e.title,e=e.site),!e)throw new Error("missing a site");if(!t)throw new Error("missing a title");var i=e.replace(/wiki$/,""),r=p[i]||p[e];if(r)return r(t);var n=m(e);return"https://"+n.lang+"."+n.project+".org/wiki/"+(t=s(o(t)))},getSitelinkData:m,isSitelinkKey:function(e){try{return m(e),!0}catch(e){return!1}}}},{"../utils/utils":22,"./helpers":1,"./sitelinks_languages":10}],10:[function(e,t,i){"use strict";t.exports=["aa","ab","af","ak","als","am","ang","an","ar","ast","as","av","ay","az","ba","be","bg","bh","bi","bm","bn","bo","br","bs","ca","chr","ch","co","cr","csb","cs","cv","cy","da","de","dv","dz","el","en","eo","es","et","eu","fa","fi","fj","fo","fr","fy","ga","gd","gl","gn","got","gu","gv","ha","he","hif","hi","hr","hsb","ht","hu","hy","ia","id","ie","ik","io","is","it","iu","ja","jbo","jv","ka","kk","kl","km","kn","ko","kr","ks","ku","kw","ky","la","lb","li","ln","lo","lt","lv","mg","mh","mi","mk","ml","mn","mo","mr","ms","mt","my","nah","na","nds","ne","nl","nn","no","oc","om","or","pa","pi","pl","pms","pnb","ps","pt","qu","rm","rn","roa_rup","ro","ru","rw","sah","sa","scn","sc","sd","se","sg","sh","simple","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tpi","tr","ts","tt","tw","ug","uk","ur","uz","vec","vi","vo","wa","wo","xh","yi","yo","yue","za","zh_min_nan","zh","zu","ace","arc","arz","bar","bat_smg","bcl","be_x_old","bjn","bpy","bug","bxr","cbk_zam","cdo","ce","ceb","cho","chy","ckb","crh","cu","diq","dsb","ee","eml","ext","ff","fiu_vro","frp","frr","fur","gag","gan","glk","hak","haw","ho","hz","ig","ii","ilo","kaa","kab","kbd","kg","ki","kj","koi","krc","ksh","kv","lad","lbe","lez","lg","lij","lmo","ltg","mai","map_bms","mdf","mhr","min","mrj","mus","mwl","myv","mzn","nap","nds_nl","new","ng","nov","nrm","nso","nv","ny","os","pag","pam","pap","pcd","pdc","pfl","pih","pnt","rmy","roa_tara","rue","sco","srn","stq","szl","tet","tum","ty","tyv","udm","ve","vep","vls","war","wuu","xal","xmf","zea","zh_classical","zh_yue","lrc","gom","azb","ady","jam","tcy","olo","dty","atj","kbp","din","gor","inh","lfn","sat","shn"]},{}],11:[function(e,t,i){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.exports=function(e){"object"===(void 0===e?"undefined":n(e))&&(e=e.time);var t=e[0],i=e.slice(1),r=s(t,i);return"Invalid Date"===r.toString()?a(t,i):r};var s=function(e,t){return"-"===e?o(t):r(t)},r=function(e){return new Date(e)},o=function(e){var t,i=e.split("-")[0];return t=4===i.length?"-00"+e:5===i.length?"-0"+e:"-"+e,new Date(t)},a=function(e,t){var i=t.split("T")[0].split("-")[0];return s(e,i)}},{}],12:[function(e,t,i){"use strict";var r=t.exports={};r.searchEntities=e("./queries/search_entities"),r.getEntities=e("./queries/get_entities"),r.getManyEntities=e("./queries/get_many_entities"),r.sparqlQuery=e("./queries/sparql_query"),r.getReverseClaims=e("./queries/get_reverse_claims"),r.getRevisions=e("./queries/get_revisions"),r.getEntitiesFromSitelinks=e("./queries/get_entities_from_sitelinks"),r.getWikidataIdsFromSitelinks=r.getEntitiesFromSitelinks,r.parse=e("./helpers/parse_responses");var n=e("./helpers/simplify_claims"),s=e("./helpers/simplify_sparql_results");r.simplify=e("../lib/helpers/simplify_text_attributes");var o=e("../lib/helpers/simplify_entity"),a=o.simplifyEntity,u=o.simplifyEntities;r.simplify.entity=a,r.simplify.entities=u,r.simplify.claim=n.simplifyClaim,r.simplify.propertyClaims=n.simplifyPropertyClaims,r.simplify.claims=n.simplifyClaims,r.simplify.qualifier=n.simplifyQualifier,r.simplify.propertyQualifiers=n.simplifyPropertyQualifiers,r.simplify.qualifiers=n.simplifyQualifiers,r.simplify.sitelinks=e("../lib/helpers/simplify_sitelinks"),r.simplify.sparqlResults=s,r.simplifySparqlResults=e("./helpers/simplify_sparql_results"),Object.assign(r,n),r.getWikidataIdsFromWikipediaTitles=r.getWikidataIdsFromSitelinks;var l=e("../lib/helpers/helpers"),c=e("../lib/helpers/sitelinks_helpers");Object.assign(r,l,c)},{"../lib/helpers/helpers":1,"../lib/helpers/simplify_entity":5,"../lib/helpers/simplify_sitelinks":6,"../lib/helpers/simplify_text_attributes":8,"../lib/helpers/sitelinks_helpers":9,"./helpers/parse_responses":3,"./helpers/simplify_claims":4,"./helpers/simplify_sparql_results":7,"./queries/get_entities":13,"./queries/get_entities_from_sitelinks":14,"./queries/get_many_entities":15,"./queries/get_reverse_claims":16,"./queries/get_revisions":17,"./queries/search_entities":18,"./queries/sparql_query":19}],13:[function(e,t,i){"use strict";var o=e("../utils/build_url"),r=e("../utils/utils"),a=r.isPlainObject,u=r.forceArray,l=r.shortLang;t.exports=function(e,t,i,r){if(a(e)){var n=e;e=n.ids,t=n.languages,i=n.props,r=n.format}if(r=r||"json",!(e&&0<e.length))throw new Error("no id provided");50<(e=u(e)).length&&console.warn("getEntities accepts 50 ids max to match Wikidata API limitations:\n this request won't get all the desired entities.\n You can use getManyEntities instead to generate several request urls\n to work around this limitation");var s={action:"wbgetentities",ids:e.join("|"),format:r};return t&&(t=u(t).map(l),s.languages=t.join("|")),i&&0<i.length&&(s.props=u(i).join("|")),o(s)}},{"../utils/build_url":20,"../utils/utils":22}],14:[function(e,t,i){"use strict";var a=e("../utils/build_url"),r=e("../utils/utils"),u=r.isPlainObject,l=r.forceArray,c=r.shortLang;t.exports=function(e,t,i,r,n){if(u(e)){var s=e;e=s.titles,t=s.sites,i=s.languages,r=s.props,n=s.format}if(n=n||"json",!(e&&0<e.length))throw new Error("no title provided");t&&0<t.length||(t=["enwiki"]),e=l(e),t=l(t).map(f),r=l(r);var o={action:"wbgetentities",titles:e.join("|"),sites:t.join("|"),format:n};return 1===t.length&&1===e.length&&(o.normalize=!0),i&&(i=l(i).map(c),o.languages=i.join("|")),r&&0<r.length&&(o.props=r.join("|")),a(o)};var f=function(e){return 2===e.length?e+"wiki":e}},{"../utils/build_url":20,"../utils/utils":22}],15:[function(e,t,i){"use strict";var s=e("./get_entities"),o=e("../utils/utils").isPlainObject;t.exports=function(e,t,i,r){if(o(e)){var n=e;e=n.ids,t=n.languages,i=n.props,r=n.format}if(!(e instanceof Array))throw new Error("getManyEntities expects an array of ids");return a(e).map(function(e){return s(e,t,i,r)})};var a=function(e){for(var t=[];0<e.length;){var i=e.slice(0,50);e=e.slice(50),t.push(i)}return t}},{"../utils/utils":22,"./get_entities":13}],16:[function(e,t,i){"use strict";var r=e("../helpers/helpers"),a=e("./sparql_query");function u(e){return r.isItemId(e)?e="wd:"+e:"string"==typeof e&&(e="'"+e+"'"),e}function l(e,t,i,r){return"?subject "+e+" "+t+" .\n "+i}function c(e,t,i,r){return"?subject "+e+" ?value .\n FILTER (lcase(?value) = "+t.toLowerCase()+")\n "+i}t.exports=function(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},r=i.limit,n=i.caseInsensitive,s=i.keepProperties?"":"FILTER NOT EXISTS { ?subject rdf:type wikibase:Property . } ",o="SELECT DISTINCT ?subject WHERE { "+function(e,t,i,r){if(!(e instanceof Array))return t(i,u(e),r);return"{ "+e.map(u).map(function(e){return t(i,e,r)}).join("} UNION {")+" }"}(t,n?c:l,e=e instanceof Array?e.map(f).join("|"):f(e),s)+" }";return r&&(o+=" LIMIT "+r),a(o)};var f=function(e){return"wdt:"+e}},{"../helpers/helpers":1,"./sparql_query":19}],17:[function(e,t,i){"use strict";var n=e("../utils/build_url"),s=e("../utils/utils").forceArray;t.exports=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},i=1===(e=s(e)).length,r={action:"query",prop:"revisions"};return r.titles=e.join("|"),r.format=t.format||"json",i&&(r.rvlimit=t.limit||"max"),i&&t.start&&(r.rvstart=o(t.start)),i&&t.end&&(r.rvend=o(t.end)),n(r)};var o=function(e){return"number"==typeof e&&e<r?e:Math.trunc(new Date(e).getTime()/1e3)},r=new Date("2000-01-01").getTime()},{"../utils/build_url":20,"../utils/utils":22}],18:[function(e,t,i){"use strict";var a=e("../utils/build_url"),u=e("../utils/utils").isPlainObject,l=["item","property","lexeme","form","sense"];t.exports=function(e,t,i,r,n){var s;if(u(e)){var o=e;e=o.search,t=o.language,i=o.limit,r=o.format,n=o.uselang,s=o.type}if(!(e&&0<e.length))throw new Error("search can't be empty");if(t=t||"en",n=n||t,i=i||"20",r=r||"json",s=s||"item",!l.includes(s))throw new Error("invalid type: "+s);return a({action:"wbsearchentities",search:e,language:t,limit:i,format:r,uselang:n,type:s})}},{"../utils/build_url":20,"../utils/utils":22}],19:[function(e,t,i){"use strict";var r=e("../utils/utils").fixedEncodeURIComponent;t.exports=function(e){return"https://query.wikidata.org/sparql?format=json&query="+r(e)}},{"../utils/utils":22}],20:[function(e,t,i){"use strict";var r="undefined"!=typeof location&&"undefined"!=typeof document,n=e(r?"./querystring_lite":"querystring");t.exports=function(e){return r&&(e.origin="*"),"https://www.wikidata.org/w/api.php?"+n.stringify(e)}},{"./querystring_lite":21,querystring:25}],21:[function(e,t,i){"use strict";t.exports={stringify:function(e){var t="";for(var i in e){var r=e[i];r&&(t+="&"+i+"="+r)}return t=t.slice(1),encodeURI?encodeURI(t):t}}},{}],22:[function(e,t,i){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};t.exports={shortLang:function(e){return e.toLowerCase().split(/[^a-z]/)[0]},forceArray:function(e){return"string"==typeof e&&(e=[e]),e||[]},isPlainObject:function(e){return!(!e||"object"!==(void 0===e?"undefined":r(e))||e instanceof Array)},fixedEncodeURIComponent:function(e){return encodeURIComponent(e).replace(/[!'()*]/g,n)},replaceSpaceByUnderscores:function(e){return e.replace(/\s/g,"_")},uniq:function(e){return Array.from(new Set(e))}};var n=function(e){return"%"+e.charCodeAt(0).toString(16)}},{}],23:[function(e,t,i){"use strict";t.exports=function(e,t,i,r){t=t||"&",i=i||"=";var n={};if("string"!=typeof e||0===e.length)return n;var s=/\+/g;e=e.split(t);var o=1e3;r&&"number"==typeof r.maxKeys&&(o=r.maxKeys);var a,u,l=e.length;0<o&&o<l&&(l=o);for(var c=0;c<l;++c){var f,p,m,y,d=e[c].replace(s,"%20"),v=d.indexOf(i);0<=v?(f=d.substr(0,v),p=d.substr(v+1)):(f=d,p=""),m=decodeURIComponent(f),y=decodeURIComponent(p),a=n,u=m,Object.prototype.hasOwnProperty.call(a,u)?h(n[m])?n[m].push(y):n[m]=[n[m],y]:n[m]=y}return n};var h=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],24:[function(e,t,i){"use strict";var s=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=function(i,r,n,e){return r=r||"&",n=n||"=",null===i&&(i=void 0),"object"==typeof i?a(u(i),function(e){var t=encodeURIComponent(s(e))+n;return o(i[e])?a(i[e],function(e){return t+encodeURIComponent(s(e))}).join(r):t+encodeURIComponent(s(i[e]))}).join(r):e?encodeURIComponent(s(e))+n+encodeURIComponent(s(i)):""};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function a(e,t){if(e.map)return e.map(t);for(var i=[],r=0;r<e.length;r++)i.push(t(e[r],r));return i}var u=Object.keys||function(e){var t=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.push(i);return t}},{}],25:[function(e,t,i){"use strict";i.decode=i.parse=e("./decode"),i.encode=i.stringify=e("./encode")},{"./decode":23,"./encode":24}]},{},[12])(12)}); |
@@ -131,3 +131,3 @@ # Simplify claims | ||
## simplify.qualifier | ||
## simplify.qualifiers | ||
Same interface as [simplify.claims](#simplifyclaims) but taking a qualifiers object | ||
@@ -138,3 +138,3 @@ | ||
## simplify.qualifiers | ||
## simplify.qualifier | ||
Same interface as [simplify.claim](#simplifyclaim) but taking a qualifier object | ||
@@ -141,0 +141,0 @@ |
@@ -61,6 +61,9 @@ # Simplify sparql results | ||
``` | ||
That's still hairy, because we requested 3 variables, but this gets even simpler if there is only one variable! | ||
Say instead of `"vars" : [ "author", "authorLabel", "birth" ]`, we only ask for `"vars" : [ "author" ]`, the output of `simplify.sparqlResults` will be: | ||
```json | ||
["Q3731207"] | ||
That's still hairy, because we requested 3 variables, but that can get even simpler if there is only one variable! | ||
Say instead of `"vars" : [ "author", "authorLabel", "birth" ]`, we only ask for `"vars" : [ "author" ]`: | ||
```js | ||
simplify.sparqlResults(results) | ||
// => [ { "author": "Q3731207" } ] | ||
simplify.sparqlResults(results, { minimize: true }) | ||
// => [ "Q3731207" ] | ||
``` | ||
@@ -84,1 +87,15 @@ And then to make it even more simpler, we can... hum no, that's all we got. | ||
``` | ||
## options | ||
### minimize | ||
> Default: `false` | ||
When only one variable is requested, set minimize to `true`, the simplified results will consist of an array of this variable values, instead of an array of objects. | ||
```js | ||
wdk.simplify.sparqlResults(results, { minimize: true }) | ||
// => [ "Q112983", "Q185598", "Q3879286" ] | ||
wdk.simplify.sparqlResults(results, { minimize: false }) | ||
// => [ { item: "Q112983" }, { item: "Q185598" }, { item: "Q3879286" } ] | ||
``` |
@@ -1,2 +0,2 @@ | ||
const simplifyEntity = require('./simplify_entity') | ||
const { simplifyEntity } = require('./simplify_entity') | ||
@@ -3,0 +3,0 @@ module.exports = { |
@@ -79,10 +79,7 @@ const { parse: parseClaim } = require('./parse_claim') | ||
var datatype, datavalue, isQualifierSnak, isReferenceSnak | ||
var value, datatype, datavalue, snaktype, isQualifierSnak, isReferenceSnak | ||
if (mainsnak) { | ||
datatype = mainsnak.datatype | ||
datavalue = mainsnak.datavalue | ||
if (!datavalue) { | ||
if (mainsnak.snaktype === 'somevalue') return options.somevalueValue | ||
else return options.novalueValue | ||
} | ||
snaktype = mainsnak.snaktype | ||
} else { | ||
@@ -92,2 +89,3 @@ // Qualifiers have no mainsnak, and define datatype, datavalue on claim | ||
datatype = claim.datatype | ||
snaktype = claim.snaktype | ||
// Duck typing the sub-snak type | ||
@@ -98,3 +96,9 @@ if (claim.hash) isQualifierSnak = true | ||
const value = parseClaim(datatype, datavalue, options, claim.id) | ||
if (datavalue) { | ||
value = parseClaim(datatype, datavalue, options, claim.id) | ||
} else { | ||
if (snaktype === 'somevalue') value = options.somevalueValue | ||
else if (snaktype === 'novalue') value = options.novalueValue | ||
else throw new Error('no datavalue or special snaktype found') | ||
} | ||
@@ -101,0 +105,0 @@ // Qualifiers should not attempt to keep sub-qualifiers or references |
@@ -1,2 +0,2 @@ | ||
module.exports = function (input) { | ||
module.exports = function (input, options = {}) { | ||
if (typeof input === 'string') input = JSON.parse(input) | ||
@@ -7,3 +7,3 @@ | ||
if (vars.length === 1) { | ||
if (vars.length === 1 && options.minimize === true) { | ||
const varName = vars[0] | ||
@@ -10,0 +10,0 @@ return results |
@@ -26,5 +26,5 @@ const wdk = module.exports = {} | ||
wdk.simplify.claims = claimsSimplifiers.simplifyClaims | ||
wdk.simplify.qualifier = claimsSimplifiers.simplifyQualifiers | ||
wdk.simplify.qualifier = claimsSimplifiers.simplifyQualifier | ||
wdk.simplify.propertyQualifiers = claimsSimplifiers.simplifyPropertyQualifiers | ||
wdk.simplify.qualifiers = claimsSimplifiers.simplifyQualifier | ||
wdk.simplify.qualifiers = claimsSimplifiers.simplifyQualifiers | ||
@@ -31,0 +31,0 @@ wdk.simplify.sitelinks = require('../lib/helpers/simplify_sitelinks') |
{ | ||
"name": "wikidata-sdk", | ||
"version": "5.16.2", | ||
"version": "6.0.0", | ||
"description": "A javascript tool-suite to query Wikidata and simplify its results", | ||
@@ -47,8 +47,8 @@ "main": "lib/index.js", | ||
"babelify": "^8.0.0", | ||
"browserify": "^16.2.2", | ||
"browserify": "^16.2.3", | ||
"chalk": "^2.4.1", | ||
"doctoc": "^1.3.1", | ||
"git-hooks": "^1.1.10", | ||
"jsondepth": "^1.9.0", | ||
"lodash": "^4.17.10", | ||
"jsondepth": "^1.9.2", | ||
"lodash": "^4.17.11", | ||
"mocha": "^5.1.1", | ||
@@ -55,0 +55,0 @@ "should": "^13.2.1", |
Sorry, the diff of this file is not supported yet
183650
3127
1436