@carto/airship-api
Advanced tools
Comparing version 3.0.0-alpha2 to 3.0.0-alpha3
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AsApi=t():e.AsApi=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),n.d(t,"execute",(function(){return r})),n.d(t,"AggregationTypes",(function(){return a})),n.d(t,"FilterTypes",(function(){return i})),n.d(t,"getCategories",(function(){return l})),n.d(t,"getValue",(function(){return d})),n.d(t,"getFilterCondition",(function(){return c})),n.d(t,"getConditionFromViewPort",(function(){return s})),n.d(t,"getFilteredQuery",(function(){return u}));const r=async(e,t)=>{let n;console.log("BBB");try{const r=function(e,t){const n=o("api_key",t.apiKey),r=o("client",t.username),a=[n,r],i=o("q",e),c=function(e,t){return`${function(e){let t=e.serverUrlTemplate.replace("{user}",e.username);t.endsWith("/")||(t+="/");return t}(t)+"api/v2/sql"}?${e.join("&")}`}(a,t),s=`${c}&${i}`;if(s.length<2048)return function(e){return new Request(e,{method:"GET",headers:{Accept:"application/json"}})}(s);return function(e,t){return new Request(e,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:t})}(c,i)}(e,t);n=await fetch(r)}catch(e){throw new Error("Failed to connect to SQL API: "+e)}const r=await n.json();return n.ok||function({response:e,data:t,credentials:n}){switch(e.status){case 401:throw new Error(`Unauthorized access to SQL API: invalid combination of user ('${n.username}') and apiKey ('${n.apiKey}')`);case 403:throw new Error(`Unauthorized access to dataset: the provided apiKey('${n.apiKey}') doesn't provide access to the requested data`);default:throw new Error(""+JSON.stringify(t.error))}}({response:n,data:r,credentials:t}),r.rows};function o(e,t){return`${e}=${encodeURIComponent(t)}`}const a=Object.freeze({COUNT:"count",AVG:"avg",MIN:"min",MAX:"max",SUM:"sum"}),i=Object.freeze({IN:"in"}),c=(e={})=>{const t=[];return Object.entries(e).forEach(([e,n])=>{Object.entries(n).forEach(([n,r])=>{switch(n){case"in":t.push(`${e} ${n}(${r.map(e=>`'${e}'`).join(",")})`);break;default:throw new Error("Not valid operator has provided: "+n)}})}),t.length?"WHERE "+t.join(" AND "):""},s=e=>`ST_Intersects(\n the_geom_webmercator,\n ST_Transform(ST_MakeEnvelope(${e.join(",")}, 4326), 3857)\n )`,u=({data:e,filters:t})=>`\n SELECT *\n FROM (${e}) as q\n ${c(t)}\n `,l=e=>{const{data:t,credentials:n,column:o,operation:a,"operation-column":i,filters:u,viewport:l}=e;if(Array.isArray(t))throw new Error("Array is not a valid type to get categories");let d=l&&`SELECT * FROM (${t}) as q WHERE ${s(l)}`||t;return d=`WITH all_categories as (\n SELECT ${o} as category\n FROM (${d}) as q\n GROUP BY category\n ),\n categories as (\n SELECT ${o} as category, ${a}(${i}) as value\n FROM (${d}) as q\n ${c(u)}\n GROUP BY category\n ORDER BY value DESC\n )\n SELECT a.category, b.value\n FROM all_categories a\n LEFT JOIN categories b ON a.category=b.category;`,r(d,n)},d=e=>{const{data:t,credentials:n,operation:o,"operation-column":a,filters:i,viewport:u}=e;if(Array.isArray(t))throw new Error("Array is not a valid type to get categories");let l=u&&`SELECT * FROM (${t}) as q WHERE ${s(u)}`||t;return l=`\n SELECT ${o}(${a}) as value\n FROM (${l}) as q\n ${c(i)}\n `,r(l,n)}}])})); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AsApi=t():e.AsApi=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),n.d(t,"execute",(function(){return r})),n.d(t,"AggregationTypes",(function(){return a})),n.d(t,"FilterTypes",(function(){return i})),n.d(t,"getCategories",(function(){return l})),n.d(t,"getValue",(function(){return d})),n.d(t,"getFilterCondition",(function(){return c})),n.d(t,"getConditionFromViewPort",(function(){return s})),n.d(t,"getFilteredQuery",(function(){return u}));const r=async(e,t)=>{let n;try{const r=function(e,t){const n=o("api_key",t.apiKey),r=o("client",t.username),a=[n,r],i=o("q",e),c=function(e,t){return`${function(e){let t=e.serverUrlTemplate.replace("{user}",e.username);t.endsWith("/")||(t+="/");return t}(t)+"api/v2/sql"}?${e.join("&")}`}(a,t),s=`${c}&${i}`;if(s.length<2048)return function(e){return new Request(e,{method:"GET",headers:{Accept:"application/json"}})}(s);return function(e,t){return new Request(e,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:t})}(c,i)}(e,t);n=await fetch(r)}catch(e){throw new Error("Failed to connect to SQL API: "+e)}const r=await n.json();return n.ok||function({response:e,data:t,credentials:n}){switch(e.status){case 401:throw new Error(`Unauthorized access to SQL API: invalid combination of user ('${n.username}') and apiKey ('${n.apiKey}')`);case 403:throw new Error(`Unauthorized access to dataset: the provided apiKey('${n.apiKey}') doesn't provide access to the requested data`);default:throw new Error(""+JSON.stringify(t.error))}}({response:n,data:r,credentials:t}),r.rows};function o(e,t){return`${e}=${encodeURIComponent(t)}`}const a=Object.freeze({COUNT:"count",AVG:"avg",MIN:"min",MAX:"max",SUM:"sum"}),i=Object.freeze({IN:"in"}),c=(e={})=>{const t=[];return Object.entries(e).forEach(([e,n])=>{Object.entries(n).forEach(([n,r])=>{switch(n){case"in":t.push(`${e} ${n}(${r.map(e=>`'${e}'`).join(",")})`);break;default:throw new Error("Not valid operator has provided: "+n)}})}),t.length?"WHERE "+t.join(" AND "):""},s=e=>`ST_Intersects(\n the_geom_webmercator,\n ST_Transform(ST_MakeEnvelope(${e.join(",")}, 4326), 3857)\n )`,u=({data:e,filters:t})=>`\n SELECT *\n FROM (${e}) as q\n ${c(t)}\n `,l=e=>{const{data:t,credentials:n,column:o,operation:a,"operation-column":i,filters:u,viewport:l}=e;if(Array.isArray(t))throw new Error("Array is not a valid type to get categories");let d=l&&`SELECT * FROM (${t}) as q WHERE ${s(l)}`||t;return d=`WITH all_categories as (\n SELECT ${o} as category\n FROM (${d}) as q\n GROUP BY category\n ),\n categories as (\n SELECT ${o} as category, ${a}(${i}) as value\n FROM (${d}) as q\n ${c(u)}\n GROUP BY category\n )\n SELECT a.category, b.value\n FROM all_categories a\n LEFT JOIN categories b ON a.category=b.category\n ORDER BY value DESC NULLS LAST;`,r(d,n)},d=e=>{const{data:t,credentials:n,operation:o,"operation-column":a,filters:i,viewport:u}=e;if(Array.isArray(t))throw new Error("Array is not a valid type to get categories");let l=u&&`SELECT * FROM (${t}) as q WHERE ${s(u)}`||t;return l=`\n SELECT ${o}(${a}) as value\n FROM (${l}) as q\n ${c(i)}\n `,r(l,n)}}])})); |
{ | ||
"name": "@carto/airship-api", | ||
"version": "3.0.0-alpha2", | ||
"version": "3.0.0-alpha3", | ||
"description": "Airship UI components for react", | ||
@@ -5,0 +5,0 @@ "main": "dist/asapi.js", |
@@ -34,9 +34,9 @@ import { execute } from '../SQL'; | ||
GROUP BY category | ||
ORDER BY value DESC | ||
) | ||
SELECT a.category, b.value | ||
FROM all_categories a | ||
LEFT JOIN categories b ON a.category=b.category;`; | ||
LEFT JOIN categories b ON a.category=b.category | ||
ORDER BY value DESC NULLS LAST;`; | ||
return execute(query, credentials); | ||
}; |
@@ -7,4 +7,2 @@ const DEFAULT_USER_COMPONENT_IN_URL = '{user}'; | ||
console.log('BBB'); | ||
try { | ||
@@ -11,0 +9,0 @@ const request = createRequest(query, credentials); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
11404
228