frictionless-ckan-mapper-js
Version:
This is JS version of [Frictionless CKAN Mapper](https://github.com/frictionlessdata/frictionless-ckan-mapper).
2 lines • 7.77 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.frictionlessCkanMapper=t():e.frictionlessCkanMapper=t()}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){var n=r(1),i=n.packageCkanToFrictionless,o=n.resourceCkanToFrictionless,a=r(2),u=a.packageFrictionlessToCkan,l=a.resourceFrictionlessToCkan;e.exports={packageFrictionlessToCkan:u,resourceFrictionlessToCkan:l,packageCkanToFrictionless:i,resourceCkanToFrictionless:o}},function(e,t){function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{n||null==u.return||u.return()}finally{if(i)throw o}}return r}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return n(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var i={size:"bytes",mimetype:"mediatype",url:"path"},o=["position","datastore_active","state"],a=["state","isopen","num_resources","num_tags","organization","author","author_email","maintainer","maintainer_email","license_id","license_title","license_url","tags"],u={notes:"description",url:"homepage"},l=function(e){var t={};return Object.entries(e).map((function(e){var n=r(e,2),a=n[0],u=n[1];if(!(o.indexOf(a)>-1)&&null!==u){if("string"==typeof u&&("{"===(u=u.trimLeft().trimRight())[0]||"["===u[0]))try{u=JSON.parse(u)}catch(e){}var l=function(e){var t=i[e];return t||e}(a);t[l]=u}})),t};e.exports={packageCkanToFrictionless:function(e){var t={},n=e.extras,i=e.maintainer,o=e.author,s=[];if(!e.contributors&&(o||i)){if(o){var c={title:o,role:"author"};e.author_email&&(c.email=e.author_email),s.push(c)}if(i){var f={title:i,role:"maintainer"};e.maintainer_email&&(f.email=e.maintainer_email),s.push(f)}t.contributors=s}Object.entries(e).map((function(e){var i=r(e,2),o=i[0],s=i[1];if("extras"!==o){if("resources"===o)return t.resources=s.map((function(e){return l(e)}));if("tags"===o&&s.length)return t.keywords=s.map((function(e){return e.name}));if(!(a.indexOf(o)>-1)&&null!==s){var c=function(e){var t=u[e];return t||e}(o);t[c]=s}}else n.map((function(e){var r=e.key,n=e.value;try{n=JSON.parse(n)}catch(e){}t[r]=n}))}));var m=e.license_id,p=e.license_title,y=e.license_url;return(m||p||y)&&!t.licenses&&(t.licenses=[{}]),m&&(t.licenses[0].name=m),p&&(t.licenses[0].title=p),y&&(t.licenses[0].path=y),t},resourceCkanToFrictionless:l}},function(e,t){function r(e){return(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})(e)}function n(e,t){var r;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(r=o(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,l=!1;return{s:function(){r=e[Symbol.iterator]()},n:function(){var e=r.next();return u=e.done,e},e:function(e){l=!0,a=e},f:function(){try{u||null==r.return||r.return()}finally{if(l)throw a}}}}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{n||null==u.return||u.return()}finally{if(i)throw o}}return r}(e,t)||o(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"==typeof e)return a(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var u=["author","author_email","creator_user_id","groups","id","license_id","license_title","license_url","maintainer","maintainer_email","metadata_created","metadata_modified","name","notes","owner_org","private","relationships_as_object","relationships_as_subject","revision_id","resources","state","tags","tracking_summary","title","type","url","version"],l={bytes:"size",mediatype:"mimetype",path:"url"},s={description:"notes",homepage:"url"},c=["extras"],f=function(e){var t={};return Object.entries(e).map((function(e){var r=i(e,2),n=r[0],o=r[1],a=function(e){var t=l[e];return t||e}(n);t[a]=o})),t};e.exports={packageFrictionlessToCkan:function(e){var t={};return Object.entries(e).map((function(e){var o=i(e,2),a=o[0],l=o[1];if("resources"===a)return t.resources=l.map((function(e){return f(e)}));if("licenses"===a&&l&&l.length){var m=l[0],p=m.title,y=m.path,d=m.name;if(p&&(t.license_title=p),y&&(t.license_url=y),d&&(t.license_id=d),1===l.length)return}var v=l;if("contributors"===a&&v&&v.length){var b,h=n(v);try{for(h.s();!(b=h.n()).done;){var g=b.value,_=g.title,S=g.email,k=g.role;if(!k||"author"===k){t.author=_,t.author_email=S;break}}}catch(e){h.e(e)}finally{h.f()}var j,x=n(v);try{for(x.s();!(j=x.n()).done;){var O=j.value,T=O.title,w=O.email;if("maintainer"===O.role){t.maintainer=T,t.maintainer_email=w;break}}}catch(e){x.e(e)}finally{x.f()}if(v){if(1===v.length&&(!v[0].role||"author"===v[0].role||"maintainer"===v[0].role))return;if(2===v.length){var C=0,A=0;if(v.map((function(e){var t=e.role;"authors"===t&&C++,"maintainer"===t&&A++})),C<2&&A<2)return}}}if("keywords"==a)return t.tags=l.map((function(e){return{name:e}}));var F=function(e){var t=s[e];return t||e}(a);if(u.indexOf(F)<0&&c.indexOf(F)<0)return t.extras=t.extras||[],"object"===r(l)&&(l=JSON.stringify(l)),t.extras.push({key:a,value:l});t[F]=l})),t},resourceFrictionlessToCkan:f}}])}));
//# sourceMappingURL=frictionless-ckan-mapper.umd.js.map