Socket
Socket
Sign inDemoInstall

@superset-ui/query

Package Overview
Dependencies
Maintainers
12
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@superset-ui/query - npm Package Compare versions

Comparing version 0.12.5 to 0.12.8

lib/buildQueryContext.d.ts.map

16

esm/buildQueryContext.js

@@ -1,1 +0,15 @@

import buildQueryObject from"./buildQueryObject";import DatasourceKey from"./DatasourceKey";var WRAP_IN_ARRAY=function(a){return[a]};export default function buildQueryContext(a,b){return void 0===b&&(b=WRAP_IN_ARRAY),{datasource:new DatasourceKey(a.datasource).toObject(),queries:b(buildQueryObject(a))}}
import buildQueryObject from './buildQueryObject';
import DatasourceKey from './DatasourceKey';
const WRAP_IN_ARRAY = baseQueryObject => [baseQueryObject];
export default function buildQueryContext(formData, buildQuery) {
if (buildQuery === void 0) {
buildQuery = WRAP_IN_ARRAY;
}
return {
datasource: new DatasourceKey(formData.datasource).toObject(),
queries: buildQuery(buildQueryObject(formData))
};
}

@@ -1,2 +0,15 @@

function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}/* eslint-disable camelcase */import{isSqlaFormData}from"./types/QueryFormData";import convertMetric from"./convertMetric";import processFilters from"./processFilters";import processMetrics from"./processMetrics";import processExtras from"./processExtras";export var DTTM_ALIAS="__timestamp";function processGranularity(a){return isSqlaFormData(a)?a.granularity_sqla:a.granularity}/**
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
/* eslint-disable camelcase */
import { isSqlaFormData } from './types/QueryFormData';
import convertMetric from './convertMetric';
import processFilters from './processFilters';
import processMetrics from './processMetrics';
import processExtras from './processExtras';
export const DTTM_ALIAS = '__timestamp';
function processGranularity(formData) {
return isSqlaFormData(formData) ? formData.granularity_sqla : formData.granularity;
}
/**
* Build the common segments of all query objects (e.g. the granularity field derived from

@@ -7,2 +20,36 @@ * either sql alchemy or druid). The segments specific to each viz type is constructed in the

* specific viz, which is a subtype of the generic formData shared among all viz types.
*/export default function buildQueryObject(a){var b=a.time_range,c=a.since,d=a.until,e=a.columns,f=void 0===e?[]:e,g=a.groupby,h=void 0===g?[]:g,i=a.order_desc,j=a.row_limit,k=a.limit,l=a.timeseries_limit_metric,m=new Set([].concat(f,h)),n=_extends({extras:processExtras(a),granularity:processGranularity(a),groupby:Array.from(m),is_timeseries:m.has(DTTM_ALIAS),metrics:processMetrics(a),order_desc:!("undefined"!=typeof i)||i,orderby:[],row_limit:+j,since:c,time_range:b,timeseries_limit:k?+k:0,timeseries_limit_metric:l?convertMetric(l):null,until:d},processFilters(a));return n}
*/
export default function buildQueryObject(formData) {
const {
time_range,
since,
until,
columns = [],
groupby = [],
order_desc,
row_limit,
limit,
timeseries_limit_metric
} = formData;
const groupbySet = new Set([...columns, ...groupby]);
const queryObject = _extends({
extras: processExtras(formData),
granularity: processGranularity(formData),
groupby: Array.from(groupbySet),
is_timeseries: groupbySet.has(DTTM_ALIAS),
metrics: processMetrics(formData),
order_desc: typeof order_desc === 'undefined' ? true : order_desc,
orderby: [],
row_limit: Number(row_limit),
since,
time_range,
timeseries_limit: limit ? Number(limit) : 0,
timeseries_limit_metric: timeseries_limit_metric ? convertMetric(timeseries_limit_metric) : null,
until
}, processFilters(formData));
return queryObject;
}

@@ -1,1 +0,36 @@

import{isBinaryAdhocFilter,isUnaryAdhocFilter}from"./types/Filter";export default function convertFilter(a){var b=a.subject;if(isUnaryAdhocFilter(a)){var c=a.operator;return{col:b,op:c}}if(isBinaryAdhocFilter(a)){var d=a.operator;return{col:b,op:d,val:a.comparator}}var e=a.operator;return{col:b,op:e,val:a.comparator}}
import { isBinaryAdhocFilter, isUnaryAdhocFilter } from './types/Filter';
export default function convertFilter(filter) {
const {
subject
} = filter;
if (isUnaryAdhocFilter(filter)) {
const {
operator
} = filter;
return {
col: subject,
op: operator
};
}
if (isBinaryAdhocFilter(filter)) {
const {
operator
} = filter;
return {
col: subject,
op: operator,
val: filter.comparator
};
}
const {
operator
} = filter;
return {
col: subject,
op: operator,
val: filter.comparator
};
}

@@ -1,4 +0,37 @@

function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}export var LABEL_MAX_LENGTH=43;function getDefaultLabel(a){var b;return b="SIMPLE"===a.expressionType?a.aggregate+"("+a.column.columnName+")":a.sqlExpression,b.length<=LABEL_MAX_LENGTH?b:b.substring(0,LABEL_MAX_LENGTH-3)+"..."}export default function convertMetric(a){var b;if("string"==typeof a)b={label:a};else{// Note we further sanitize the metric label for BigQuery datasources
// TODO: move this logic to the client once client has more info on the
// the datasource
var c=a.label||getDefaultLabel(a);b=_extends({},a,{label:c})}return b}
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
export const LABEL_MAX_LENGTH = 43;
function getDefaultLabel(metric) {
let label;
if (metric.expressionType === 'SIMPLE') {
label = metric.aggregate + "(" + metric.column.columnName + ")";
} else {
label = metric.sqlExpression;
}
return label.length <= LABEL_MAX_LENGTH ? label : label.slice(0, Math.max(0, LABEL_MAX_LENGTH - 3)) + "...";
}
export default function convertMetric(metric) {
let formattedMetric;
if (typeof metric === 'string') {
formattedMetric = {
label: metric
};
} else {
var _metric$label;
// Note we further sanitize the metric label for BigQuery datasources
// TODO: move this logic to the client once client has more info on the
// the datasource
const label = (_metric$label = metric.label) != null ? _metric$label : getDefaultLabel(metric);
formattedMetric = _extends({}, metric, {
label
});
}
return formattedMetric;
}

@@ -1,1 +0,26 @@

function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}import{DatasourceType}from"./types/Datasource";var DatasourceKey=/*#__PURE__*/function(){function a(a){_defineProperty(this,"id",void 0),_defineProperty(this,"type",void 0);var b=a.split("__"),c=b[0],d=b[1];this.id=parseInt(c,10),this.type="table"===d?DatasourceType.Table:DatasourceType.Druid}var b=a.prototype;return b.toString=function toString(){return this.id+"__"+this.type},b.toObject=function toObject(){return{id:this.id,type:this.type}},a}();export{DatasourceKey as default};
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import { DatasourceType } from './types/Datasource';
export default class DatasourceKey {
constructor(key) {
_defineProperty(this, "id", void 0);
_defineProperty(this, "type", void 0);
const [idStr, typeStr] = key.split('__');
this.id = parseInt(idStr, 10);
this.type = typeStr === 'table' ? DatasourceType.Table : DatasourceType.Druid;
}
toString() {
return this.id + "__" + this.type;
}
toObject() {
return {
id: this.id,
type: this.type
};
}
}

@@ -1,1 +0,10 @@

export{default as buildQueryContext}from"./buildQueryContext";export{default as buildQueryObject}from"./buildQueryObject";export{default as convertFilter}from"./convertFilter";export{default as convertMetric}from"./convertMetric";export{default as DatasourceKey}from"./DatasourceKey";export*from"./types/QueryFormData";export*from"./types/Column";export*from"./types/Datasource";export*from"./types/Metric";export*from"./types/Query";
export { default as buildQueryContext } from './buildQueryContext';
export { default as buildQueryObject } from './buildQueryObject';
export { default as convertFilter } from './convertFilter';
export { default as convertMetric } from './convertMetric';
export { default as DatasourceKey } from './DatasourceKey';
export * from './types/QueryFormData';
export * from './types/Column';
export * from './types/Datasource';
export * from './types/Metric';
export * from './types/Query';

@@ -1,1 +0,29 @@

/* eslint-disable camelcase */import{isDruidFormData}from"./types/QueryFormData";export default function processExtras(a){var b=a.where,c=void 0===b?"":b;if(isDruidFormData(a)){var d=a.druid_time_origin,e=a.having_druid;return{druid_time_origin:d,having_druid:e,where:c}}var f=a.time_grain_sqla,g=a.having;return{having:g,time_grain_sqla:f,where:c}}
/* eslint-disable camelcase */
import { isDruidFormData } from './types/QueryFormData';
export default function processExtras(formData) {
const {
where = ''
} = formData;
if (isDruidFormData(formData)) {
const {
druid_time_origin,
having_druid
} = formData;
return {
druid_time_origin,
having_druid,
where
};
}
const {
time_grain_sqla,
having
} = formData;
return {
having,
time_grain_sqla,
where
};
}

@@ -1,11 +0,59 @@

import{isSimpleAdhocFilter}from"./types/Filter";import convertFilter from"./convertFilter";/** Logic formerly in viz.py's process_query_filters */export default function processFilters(a){// TODO: Implement
// utils.convert_legacy_filters_into_adhoc(self.form_data)
// TODO: Implement
// merge_extra_filters(self.form_data)
// Split adhoc_filters into four fields according to
// (1) clause (WHERE or HAVING)
// (2) expressionType
// 2.1 SIMPLE (subject + operator + comparator)
// 2.2 SQL (freeform SQL expression))
// eslint-disable-next-line camelcase
var b=a.adhoc_filters;if(Array.isArray(b)){var c=[],d=[],e=[],f=[];return b.forEach(function(a){var b=a.clause;if(isSimpleAdhocFilter(a)){var h=convertFilter(a);"WHERE"===b?c.push(h):d.push(h)}else{var g=a.sqlExpression;"WHERE"===b?e.push(g):f.push(g)}}),{filters:c,having:f.map(function(a){return"("+a+")"}).join(" AND "),having_filters:d,where:e.map(function(a){return"("+a+")"}).join(" AND ")}}return{}}
import { isSimpleAdhocFilter } from './types/Filter';
import convertFilter from './convertFilter';
/** Logic formerly in viz.py's process_query_filters */
export default function processFilters(formData) {
// TODO: Implement
// utils.convert_legacy_filters_into_adhoc(self.form_data)
// TODO: Implement
// merge_extra_filters(self.form_data)
// Split adhoc_filters into four fields according to
// (1) clause (WHERE or HAVING)
// (2) expressionType
// 2.1 SIMPLE (subject + operator + comparator)
// 2.2 SQL (freeform SQL expression))
// eslint-disable-next-line camelcase
const {
adhoc_filters
} = formData;
if (Array.isArray(adhoc_filters)) {
const simpleWhere = [];
const simpleHaving = [];
const freeformWhere = [];
const freeformHaving = [];
adhoc_filters.forEach(filter => {
const {
clause
} = filter;
if (isSimpleAdhocFilter(filter)) {
const filterClause = convertFilter(filter);
if (clause === 'WHERE') {
simpleWhere.push(filterClause);
} else {
simpleHaving.push(filterClause);
}
} else {
const {
sqlExpression
} = filter;
if (clause === 'WHERE') {
freeformWhere.push(sqlExpression);
} else {
freeformHaving.push(sqlExpression);
}
}
});
return {
filters: simpleWhere,
having: freeformHaving.map(exp => "(" + exp + ")").join(' AND '),
having_filters: simpleHaving,
where: freeformWhere.map(exp => "(" + exp + ")").join(' AND ')
};
}
return {};
}

@@ -1,3 +0,21 @@

import{MetricKey}from"./types/Metric";import convertMetric from"./convertMetric";export default function processMetrics(a){// Use Array to maintain insertion order
// for metrics that are order sensitive
var b=[];return Object.keys(MetricKey).forEach(function(c){var d=a[MetricKey[c]];d&&(Array.isArray(d)?d.forEach(function(a){b.push(convertMetric(a))}):b.push(convertMetric(d)))}),b}
import { MetricKey } from './types/Metric';
import convertMetric from './convertMetric';
export default function processMetrics(formData) {
// Use Array to maintain insertion order
// for metrics that are order sensitive
const metrics = [];
Object.keys(MetricKey).forEach(key => {
const metric = formData[MetricKey[key]];
if (metric) {
if (Array.isArray(metric)) {
metric.forEach(m => {
metrics.push(convertMetric(m));
});
} else {
metrics.push(convertMetric(metric));
}
}
});
return metrics;
}

@@ -1,2 +0,19 @@

/* eslint-disable no-unused-vars */ /* eslint-disable import/prefer-default-export */export var ColumnType;// TODO: fill out additional fields of the Column interface
(function(a){a.DOUBLE="DOUBLE",a.FLOAT="FLOAT",a.INT="INT",a.BIGINT="BIGINT",a.LONG="LONG",a.REAL="REAL",a.NUMERIC="NUMERIC",a.DECIMAL="DECIMAL",a.MONEY="MONEY",a.DATE="DATE",a.TIME="TIME",a.DATETIME="DATETIME",a.VARCHAR="VARCHAR",a.STRING="STRING",a.CHAR="CHAR"})(ColumnType||(ColumnType={}));
export let ColumnType; // TODO: fill out additional fields of the Column interface
(function (ColumnType) {
ColumnType["DOUBLE"] = "DOUBLE";
ColumnType["FLOAT"] = "FLOAT";
ColumnType["INT"] = "INT";
ColumnType["BIGINT"] = "BIGINT";
ColumnType["LONG"] = "LONG";
ColumnType["REAL"] = "REAL";
ColumnType["NUMERIC"] = "NUMERIC";
ColumnType["DECIMAL"] = "DECIMAL";
ColumnType["MONEY"] = "MONEY";
ColumnType["DATE"] = "DATE";
ColumnType["TIME"] = "TIME";
ColumnType["DATETIME"] = "DATETIME";
ColumnType["VARCHAR"] = "VARCHAR";
ColumnType["STRING"] = "STRING";
ColumnType["CHAR"] = "CHAR";
})(ColumnType || (ColumnType = {}));

@@ -1,1 +0,7 @@

/* eslint-disable import/prefer-default-export */export var DatasourceType;/** @TODO can continue to add fields to this */(function(a){a.Table="table",a.Druid="druid"})(DatasourceType||(DatasourceType={}));
export let DatasourceType;
/** @TODO can continue to add fields to this */
(function (DatasourceType) {
DatasourceType["Table"] = "table";
DatasourceType["Druid"] = "druid";
})(DatasourceType || (DatasourceType = {}));

@@ -1,4 +0,16 @@

import{isUnaryOperator,isBinaryOperator,isSetOperator}from"./Operator";//---------------------------------------------------
import { isUnaryOperator, isBinaryOperator, isSetOperator } from './Operator';
//---------------------------------------------------
// Type guards
//---------------------------------------------------
export function isSimpleAdhocFilter(a){return"SIMPLE"===a.expressionType}export function isUnaryAdhocFilter(a){return isUnaryOperator(a.operator)}export function isBinaryAdhocFilter(a){return isBinaryOperator(a.operator)}export function isSetAdhocFilter(a){return isSetOperator(a.operator)}
export function isSimpleAdhocFilter(filter) {
return filter.expressionType === 'SIMPLE';
}
export function isUnaryAdhocFilter(filter) {
return isUnaryOperator(filter.operator);
}
export function isBinaryAdhocFilter(filter) {
return isBinaryOperator(filter.operator);
}
export function isSetAdhocFilter(filter) {
return isSetOperator(filter.operator);
}

@@ -1,3 +0,14 @@

/* eslint-disable no-unused-vars */ /* eslint-disable import/prefer-default-export */ // Note that the values of MetricKeys are lower_snake_case because they're
// Note that the values of MetricKeys are lower_snake_case because they're
// used as keys of form data jsons.
export var MetricKey;(function(a){a.METRIC="metric",a.METRICS="metrics",a.PERCENT_METRICS="percent_metrics",a.RIGHT_AXIS_METRIC="metric_2",a.SECONDARY_METRIC="secondary_metric",a.X="x",a.Y="y",a.SIZE="size"})(MetricKey||(MetricKey={}));
export let MetricKey;
(function (MetricKey) {
MetricKey["METRIC"] = "metric";
MetricKey["METRICS"] = "metrics";
MetricKey["PERCENT_METRICS"] = "percent_metrics";
MetricKey["RIGHT_AXIS_METRIC"] = "metric_2";
MetricKey["SECONDARY_METRIC"] = "secondary_metric";
MetricKey["X"] = "x";
MetricKey["Y"] = "y";
MetricKey["SIZE"] = "size";
})(MetricKey || (MetricKey = {}));

@@ -1,1 +0,28 @@

/** List of operators that do not require another operand */var UNARY_OPERATORS=["IS NOT NULL","IS NULL"],BINARY_OPERATORS=["=","!=",">","<",">=","<=","like","regex"],SET_OPERATORS=["in","not in"],unaryOperatorSet=new Set(UNARY_OPERATORS);/** List of operators that require another operand that is a single value */export function isUnaryOperator(a){return unaryOperatorSet.has(a)}var binaryOperatorSet=new Set(BINARY_OPERATORS);export function isBinaryOperator(a){return binaryOperatorSet.has(a)}var setOperatorSet=new Set(SET_OPERATORS);export function isSetOperator(a){return setOperatorSet.has(a)}
/** List of operators that do not require another operand */
const UNARY_OPERATORS = ['IS NOT NULL', 'IS NULL'];
/** List of operators that require another operand that is a single value */
const BINARY_OPERATORS = ['=', '!=', '>', '<', '>=', '<=', 'like', 'regex'];
/** List of operators that require another operand that is a set */
const SET_OPERATORS = ['in', 'not in']; //---------------------------------------------------
// Derived types
//---------------------------------------------------
/** An operator that does not require another operand */
//---------------------------------------------------
// Type guards
//---------------------------------------------------
const unaryOperatorSet = new Set(UNARY_OPERATORS);
export function isUnaryOperator(operator) {
return unaryOperatorSet.has(operator);
}
const binaryOperatorSet = new Set(BINARY_OPERATORS);
export function isBinaryOperator(operator) {
return binaryOperatorSet.has(operator);
}
const setOperatorSet = new Set(SET_OPERATORS);
export function isSetOperator(operator) {
return setOperatorSet.has(operator);
}

10

esm/types/QueryFormData.js

@@ -1,2 +0,3 @@

/* eslint camelcase: 0 */ /* eslint-disable import/prefer-default-export */ // FormData uses snake_cased keys.
/* eslint camelcase: 0 */
// FormData uses snake_cased keys.
// Define mapped type separately to work around a limitation of TypeScript

@@ -12,2 +13,7 @@ // https://github.com/Microsoft/TypeScript/issues/13573

//---------------------------------------------------
export function isDruidFormData(a){return"granularity"in a}export function isSqlaFormData(a){return"granularity_sqla"in a}
export function isDruidFormData(formData) {
return 'granularity' in formData;
}
export function isSqlaFormData(formData) {
return 'granularity_sqla' in formData;
}
import { QueryFormData } from './types/QueryFormData';
import { QueryContext, QueryObject } from './types/Query';
export default function buildQueryContext(formData: QueryFormData, buildQuery?: (baseQueryObject: QueryObject) => QueryObject[]): QueryContext;
//# sourceMappingURL=buildQueryContext.d.ts.map

@@ -1,1 +0,23 @@

"use strict";exports.__esModule=!0,exports.default=buildQueryContext;var _buildQueryObject=_interopRequireDefault(require("./buildQueryObject")),_DatasourceKey=_interopRequireDefault(require("./DatasourceKey"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}var WRAP_IN_ARRAY=function(a){return[a]};function buildQueryContext(a,b){return void 0===b&&(b=WRAP_IN_ARRAY),{datasource:new _DatasourceKey.default(a.datasource).toObject(),queries:b((0,_buildQueryObject.default)(a))}}
"use strict";
exports.__esModule = true;
exports.default = buildQueryContext;
var _buildQueryObject = _interopRequireDefault(require("./buildQueryObject"));
var _DatasourceKey = _interopRequireDefault(require("./DatasourceKey"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const WRAP_IN_ARRAY = baseQueryObject => [baseQueryObject];
function buildQueryContext(formData, buildQuery) {
if (buildQuery === void 0) {
buildQuery = WRAP_IN_ARRAY;
}
return {
datasource: new _DatasourceKey.default(formData.datasource).toObject(),
queries: buildQuery((0, _buildQueryObject.default)(formData))
};
}

@@ -12,1 +12,2 @@ import { QueryObject } from './types/Query';

export default function buildQueryObject<T extends QueryFormData>(formData: T): QueryObject;
//# sourceMappingURL=buildQueryObject.d.ts.map

@@ -1,2 +0,28 @@

"use strict";exports.__esModule=!0,exports.default=buildQueryObject,exports.DTTM_ALIAS=void 0;var _QueryFormData=require("./types/QueryFormData"),_convertMetric=_interopRequireDefault(require("./convertMetric")),_processFilters=_interopRequireDefault(require("./processFilters")),_processMetrics=_interopRequireDefault(require("./processMetrics")),_processExtras=_interopRequireDefault(require("./processExtras"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}var DTTM_ALIAS="__timestamp";exports.DTTM_ALIAS=DTTM_ALIAS;function processGranularity(a){return(0,_QueryFormData.isSqlaFormData)(a)?a.granularity_sqla:a.granularity}/**
"use strict";
exports.__esModule = true;
exports.default = buildQueryObject;
exports.DTTM_ALIAS = void 0;
var _QueryFormData = require("./types/QueryFormData");
var _convertMetric = _interopRequireDefault(require("./convertMetric"));
var _processFilters = _interopRequireDefault(require("./processFilters"));
var _processMetrics = _interopRequireDefault(require("./processMetrics"));
var _processExtras = _interopRequireDefault(require("./processExtras"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
const DTTM_ALIAS = '__timestamp';
exports.DTTM_ALIAS = DTTM_ALIAS;
function processGranularity(formData) {
return (0, _QueryFormData.isSqlaFormData)(formData) ? formData.granularity_sqla : formData.granularity;
}
/**
* Build the common segments of all query objects (e.g. the granularity field derived from

@@ -7,2 +33,36 @@ * either sql alchemy or druid). The segments specific to each viz type is constructed in the

* specific viz, which is a subtype of the generic formData shared among all viz types.
*/function buildQueryObject(a){var b=a.time_range,c=a.since,d=a.until,e=a.columns,f=void 0===e?[]:e,g=a.groupby,h=void 0===g?[]:g,i=a.order_desc,j=a.row_limit,k=a.limit,l=a.timeseries_limit_metric,m=new Set([].concat(f,h)),n=_extends({extras:(0,_processExtras.default)(a),granularity:processGranularity(a),groupby:Array.from(m),is_timeseries:m.has(DTTM_ALIAS),metrics:(0,_processMetrics.default)(a),order_desc:!("undefined"!=typeof i)||i,orderby:[],row_limit:+j,since:c,time_range:b,timeseries_limit:k?+k:0,timeseries_limit_metric:l?(0,_convertMetric.default)(l):null,until:d},(0,_processFilters.default)(a));return n}
*/
function buildQueryObject(formData) {
const {
time_range,
since,
until,
columns = [],
groupby = [],
order_desc,
row_limit,
limit,
timeseries_limit_metric
} = formData;
const groupbySet = new Set([...columns, ...groupby]);
const queryObject = _extends({
extras: (0, _processExtras.default)(formData),
granularity: processGranularity(formData),
groupby: Array.from(groupbySet),
is_timeseries: groupbySet.has(DTTM_ALIAS),
metrics: (0, _processMetrics.default)(formData),
order_desc: typeof order_desc === 'undefined' ? true : order_desc,
orderby: [],
row_limit: Number(row_limit),
since,
time_range,
timeseries_limit: limit ? Number(limit) : 0,
timeseries_limit_metric: timeseries_limit_metric ? (0, _convertMetric.default)(timeseries_limit_metric) : null,
until
}, (0, _processFilters.default)(formData));
return queryObject;
}
import { SimpleAdhocFilter } from './types/Filter';
import { QueryObjectFilterClause } from './types/Query';
export default function convertFilter(filter: SimpleAdhocFilter): QueryObjectFilterClause;
//# sourceMappingURL=convertFilter.d.ts.map

@@ -1,1 +0,42 @@

"use strict";var _Filter=require("./types/Filter");exports.__esModule=!0,exports.default=convertFilter;function convertFilter(a){var b=a.subject;if((0,_Filter.isUnaryAdhocFilter)(a)){var c=a.operator;return{col:b,op:c}}if((0,_Filter.isBinaryAdhocFilter)(a)){var d=a.operator;return{col:b,op:d,val:a.comparator}}var e=a.operator;return{col:b,op:e,val:a.comparator}}
"use strict";
exports.__esModule = true;
exports.default = convertFilter;
var _Filter = require("./types/Filter");
function convertFilter(filter) {
const {
subject
} = filter;
if ((0, _Filter.isUnaryAdhocFilter)(filter)) {
const {
operator
} = filter;
return {
col: subject,
op: operator
};
}
if ((0, _Filter.isBinaryAdhocFilter)(filter)) {
const {
operator
} = filter;
return {
col: subject,
op: operator,
val: filter.comparator
};
}
const {
operator
} = filter;
return {
col: subject,
op: operator,
val: filter.comparator
};
}

@@ -5,1 +5,2 @@ import { QueryFormDataMetric } from './types/QueryFormData';

export default function convertMetric(metric: QueryFormDataMetric): QueryObjectMetric;
//# sourceMappingURL=convertMetric.d.ts.map

@@ -1,4 +0,44 @@

"use strict";exports.__esModule=!0,exports.default=convertMetric,exports.LABEL_MAX_LENGTH=void 0;function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}var LABEL_MAX_LENGTH=43;exports.LABEL_MAX_LENGTH=LABEL_MAX_LENGTH;function getDefaultLabel(a){var b;return b="SIMPLE"===a.expressionType?a.aggregate+"("+a.column.columnName+")":a.sqlExpression,b.length<=LABEL_MAX_LENGTH?b:b.substring(0,LABEL_MAX_LENGTH-3)+"..."}function convertMetric(a){var b;if("string"==typeof a)b={label:a};else{// Note we further sanitize the metric label for BigQuery datasources
// TODO: move this logic to the client once client has more info on the
// the datasource
var c=a.label||getDefaultLabel(a);b=_extends({},a,{label:c})}return b}
"use strict";
exports.__esModule = true;
exports.default = convertMetric;
exports.LABEL_MAX_LENGTH = void 0;
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
const LABEL_MAX_LENGTH = 43;
exports.LABEL_MAX_LENGTH = LABEL_MAX_LENGTH;
function getDefaultLabel(metric) {
let label;
if (metric.expressionType === 'SIMPLE') {
label = metric.aggregate + "(" + metric.column.columnName + ")";
} else {
label = metric.sqlExpression;
}
return label.length <= LABEL_MAX_LENGTH ? label : label.slice(0, Math.max(0, LABEL_MAX_LENGTH - 3)) + "...";
}
function convertMetric(metric) {
let formattedMetric;
if (typeof metric === 'string') {
formattedMetric = {
label: metric
};
} else {
var _metric$label;
// Note we further sanitize the metric label for BigQuery datasources
// TODO: move this logic to the client once client has more info on the
// the datasource
const label = (_metric$label = metric.label) != null ? _metric$label : getDefaultLabel(metric);
formattedMetric = _extends({}, metric, {
label
});
}
return formattedMetric;
}

@@ -12,1 +12,2 @@ import { DatasourceType } from './types/Datasource';

}
//# sourceMappingURL=DatasourceKey.d.ts.map

@@ -1,1 +0,34 @@

"use strict";var _Datasource=require("./types/Datasource");exports.__esModule=!0,exports.default=void 0;function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}var DatasourceKey=/*#__PURE__*/function(){function a(a){_defineProperty(this,"id",void 0),_defineProperty(this,"type",void 0);var b=a.split("__"),c=b[0],d=b[1];this.id=parseInt(c,10),this.type="table"===d?_Datasource.DatasourceType.Table:_Datasource.DatasourceType.Druid}var b=a.prototype;return b.toString=function toString(){return this.id+"__"+this.type},b.toObject=function toObject(){return{id:this.id,type:this.type}},a}();exports.default=DatasourceKey;
"use strict";
exports.__esModule = true;
exports.default = void 0;
var _Datasource = require("./types/Datasource");
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
class DatasourceKey {
constructor(key) {
_defineProperty(this, "id", void 0);
_defineProperty(this, "type", void 0);
const [idStr, typeStr] = key.split('__');
this.id = parseInt(idStr, 10);
this.type = typeStr === 'table' ? _Datasource.DatasourceType.Table : _Datasource.DatasourceType.Druid;
}
toString() {
return this.id + "__" + this.type;
}
toObject() {
return {
id: this.id,
type: this.type
};
}
}
exports.default = DatasourceKey;

@@ -11,1 +11,2 @@ export { default as buildQueryContext } from './buildQueryContext';

export * from './types/Query';
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,73 @@

"use strict";var _exportNames={buildQueryContext:!0,buildQueryObject:!0,convertFilter:!0,convertMetric:!0,DatasourceKey:!0};var _buildQueryContext=_interopRequireDefault(require("./buildQueryContext"));var _buildQueryObject=_interopRequireDefault(require("./buildQueryObject"));var _convertFilter=_interopRequireDefault(require("./convertFilter"));var _convertMetric=_interopRequireDefault(require("./convertMetric"));var _DatasourceKey=_interopRequireDefault(require("./DatasourceKey"));var _QueryFormData=require("./types/QueryFormData");var _Column=require("./types/Column");var _Datasource=require("./types/Datasource");var _Metric=require("./types/Metric");var _Query=require("./types/Query");exports.__esModule=!0;exports.DatasourceKey=exports.convertMetric=exports.convertFilter=exports.buildQueryObject=exports.buildQueryContext=void 0;exports.buildQueryContext=_buildQueryContext.default;exports.buildQueryObject=_buildQueryObject.default;exports.convertFilter=_convertFilter.default;exports.convertMetric=_convertMetric.default;exports.DatasourceKey=_DatasourceKey.default;Object.keys(_QueryFormData).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(_exportNames,a)||(exports[a]=_QueryFormData[a])});Object.keys(_Column).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(_exportNames,a)||(exports[a]=_Column[a])});Object.keys(_Datasource).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(_exportNames,a)||(exports[a]=_Datasource[a])});Object.keys(_Metric).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(_exportNames,a)||(exports[a]=_Metric[a])});Object.keys(_Query).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(_exportNames,a)||(exports[a]=_Query[a])});function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}
"use strict";
exports.__esModule = true;
var _exportNames = {
buildQueryContext: true,
buildQueryObject: true,
convertFilter: true,
convertMetric: true,
DatasourceKey: true
};
exports.DatasourceKey = exports.convertMetric = exports.convertFilter = exports.buildQueryObject = exports.buildQueryContext = void 0;
var _buildQueryContext = _interopRequireDefault(require("./buildQueryContext"));
exports.buildQueryContext = _buildQueryContext.default;
var _buildQueryObject = _interopRequireDefault(require("./buildQueryObject"));
exports.buildQueryObject = _buildQueryObject.default;
var _convertFilter = _interopRequireDefault(require("./convertFilter"));
exports.convertFilter = _convertFilter.default;
var _convertMetric = _interopRequireDefault(require("./convertMetric"));
exports.convertMetric = _convertMetric.default;
var _DatasourceKey = _interopRequireDefault(require("./DatasourceKey"));
exports.DatasourceKey = _DatasourceKey.default;
var _QueryFormData = require("./types/QueryFormData");
Object.keys(_QueryFormData).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
exports[key] = _QueryFormData[key];
});
var _Column = require("./types/Column");
Object.keys(_Column).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
exports[key] = _Column[key];
});
var _Datasource = require("./types/Datasource");
Object.keys(_Datasource).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
exports[key] = _Datasource[key];
});
var _Metric = require("./types/Metric");
Object.keys(_Metric).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
exports[key] = _Metric[key];
});
var _Query = require("./types/Query");
Object.keys(_Query).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
exports[key] = _Query[key];
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
import { QueryFormData } from './types/QueryFormData';
import { QueryObjectExtras } from './types/Query';
export default function processExtras(formData: QueryFormData): QueryObjectExtras;
//# sourceMappingURL=processExtras.d.ts.map

@@ -1,1 +0,35 @@

"use strict";var _QueryFormData=require("./types/QueryFormData");exports.__esModule=!0,exports.default=processExtras;/* eslint-disable camelcase */function processExtras(a){var b=a.where,c=void 0===b?"":b;if((0,_QueryFormData.isDruidFormData)(a)){var d=a.druid_time_origin,e=a.having_druid;return{druid_time_origin:d,having_druid:e,where:c}}var f=a.time_grain_sqla,g=a.having;return{having:g,time_grain_sqla:f,where:c}}
"use strict";
exports.__esModule = true;
exports.default = processExtras;
var _QueryFormData = require("./types/QueryFormData");
/* eslint-disable camelcase */
function processExtras(formData) {
const {
where = ''
} = formData;
if ((0, _QueryFormData.isDruidFormData)(formData)) {
const {
druid_time_origin,
having_druid
} = formData;
return {
druid_time_origin,
having_druid,
where
};
}
const {
time_grain_sqla,
having
} = formData;
return {
having,
time_grain_sqla,
where
};
}

@@ -15,1 +15,2 @@ import { QueryFormData } from './types/QueryFormData';

};
//# sourceMappingURL=processFilters.d.ts.map

@@ -1,11 +0,67 @@

"use strict";exports.__esModule=!0,exports.default=processFilters;var _Filter=require("./types/Filter"),_convertFilter=_interopRequireDefault(require("./convertFilter"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}/** Logic formerly in viz.py's process_query_filters */function processFilters(a){// TODO: Implement
// utils.convert_legacy_filters_into_adhoc(self.form_data)
// TODO: Implement
// merge_extra_filters(self.form_data)
// Split adhoc_filters into four fields according to
// (1) clause (WHERE or HAVING)
// (2) expressionType
// 2.1 SIMPLE (subject + operator + comparator)
// 2.2 SQL (freeform SQL expression))
// eslint-disable-next-line camelcase
var b=a.adhoc_filters;if(Array.isArray(b)){var c=[],d=[],e=[],f=[];return b.forEach(function(a){var b=a.clause;if((0,_Filter.isSimpleAdhocFilter)(a)){var h=(0,_convertFilter.default)(a);"WHERE"===b?c.push(h):d.push(h)}else{var g=a.sqlExpression;"WHERE"===b?e.push(g):f.push(g)}}),{filters:c,having:f.map(function(a){return"("+a+")"}).join(" AND "),having_filters:d,where:e.map(function(a){return"("+a+")"}).join(" AND ")}}return{}}
"use strict";
exports.__esModule = true;
exports.default = processFilters;
var _Filter = require("./types/Filter");
var _convertFilter = _interopRequireDefault(require("./convertFilter"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** Logic formerly in viz.py's process_query_filters */
function processFilters(formData) {
// TODO: Implement
// utils.convert_legacy_filters_into_adhoc(self.form_data)
// TODO: Implement
// merge_extra_filters(self.form_data)
// Split adhoc_filters into four fields according to
// (1) clause (WHERE or HAVING)
// (2) expressionType
// 2.1 SIMPLE (subject + operator + comparator)
// 2.2 SQL (freeform SQL expression))
// eslint-disable-next-line camelcase
const {
adhoc_filters
} = formData;
if (Array.isArray(adhoc_filters)) {
const simpleWhere = [];
const simpleHaving = [];
const freeformWhere = [];
const freeformHaving = [];
adhoc_filters.forEach(filter => {
const {
clause
} = filter;
if ((0, _Filter.isSimpleAdhocFilter)(filter)) {
const filterClause = (0, _convertFilter.default)(filter);
if (clause === 'WHERE') {
simpleWhere.push(filterClause);
} else {
simpleHaving.push(filterClause);
}
} else {
const {
sqlExpression
} = filter;
if (clause === 'WHERE') {
freeformWhere.push(sqlExpression);
} else {
freeformHaving.push(sqlExpression);
}
}
});
return {
filters: simpleWhere,
having: freeformHaving.map(exp => "(" + exp + ")").join(' AND '),
having_filters: simpleHaving,
where: freeformWhere.map(exp => "(" + exp + ")").join(' AND ')
};
}
return {};
}
import { QueryFormData } from './types/QueryFormData';
import { QueryObjectMetric } from './types/Query';
export default function processMetrics(formData: QueryFormData): QueryObjectMetric[];
//# sourceMappingURL=processMetrics.d.ts.map

@@ -1,3 +0,30 @@

"use strict";exports.__esModule=!0,exports.default=processMetrics;var _Metric=require("./types/Metric"),_convertMetric=_interopRequireDefault(require("./convertMetric"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}function processMetrics(a){// Use Array to maintain insertion order
// for metrics that are order sensitive
var b=[];return Object.keys(_Metric.MetricKey).forEach(function(c){var d=a[_Metric.MetricKey[c]];d&&(Array.isArray(d)?d.forEach(function(a){b.push((0,_convertMetric.default)(a))}):b.push((0,_convertMetric.default)(d)))}),b}
"use strict";
exports.__esModule = true;
exports.default = processMetrics;
var _Metric = require("./types/Metric");
var _convertMetric = _interopRequireDefault(require("./convertMetric"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function processMetrics(formData) {
// Use Array to maintain insertion order
// for metrics that are order sensitive
const metrics = [];
Object.keys(_Metric.MetricKey).forEach(key => {
const metric = formData[_Metric.MetricKey[key]];
if (metric) {
if (Array.isArray(metric)) {
metric.forEach(m => {
metrics.push((0, _convertMetric.default)(m));
});
} else {
metrics.push((0, _convertMetric.default)(metric));
}
}
});
return metrics;
}

@@ -23,1 +23,2 @@ export declare enum ColumnType {

}
//# sourceMappingURL=Column.d.ts.map

@@ -1,2 +0,25 @@

"use strict";exports.__esModule=!0,exports.ColumnType=void 0;/* eslint-disable no-unused-vars */ /* eslint-disable import/prefer-default-export */var ColumnType;// TODO: fill out additional fields of the Column interface
exports.ColumnType=ColumnType,function(a){a.DOUBLE="DOUBLE",a.FLOAT="FLOAT",a.INT="INT",a.BIGINT="BIGINT",a.LONG="LONG",a.REAL="REAL",a.NUMERIC="NUMERIC",a.DECIMAL="DECIMAL",a.MONEY="MONEY",a.DATE="DATE",a.TIME="TIME",a.DATETIME="DATETIME",a.VARCHAR="VARCHAR",a.STRING="STRING",a.CHAR="CHAR"}(ColumnType||(exports.ColumnType=ColumnType={}));
"use strict";
exports.__esModule = true;
exports.ColumnType = void 0;
let ColumnType; // TODO: fill out additional fields of the Column interface
exports.ColumnType = ColumnType;
(function (ColumnType) {
ColumnType["DOUBLE"] = "DOUBLE";
ColumnType["FLOAT"] = "FLOAT";
ColumnType["INT"] = "INT";
ColumnType["BIGINT"] = "BIGINT";
ColumnType["LONG"] = "LONG";
ColumnType["REAL"] = "REAL";
ColumnType["NUMERIC"] = "NUMERIC";
ColumnType["DECIMAL"] = "DECIMAL";
ColumnType["MONEY"] = "MONEY";
ColumnType["DATE"] = "DATE";
ColumnType["TIME"] = "TIME";
ColumnType["DATETIME"] = "DATETIME";
ColumnType["VARCHAR"] = "VARCHAR";
ColumnType["STRING"] = "STRING";
ColumnType["CHAR"] = "CHAR";
})(ColumnType || (exports.ColumnType = ColumnType = {}));

@@ -16,1 +16,2 @@ import { Column } from './Column';

}
//# sourceMappingURL=Datasource.d.ts.map

@@ -1,1 +0,13 @@

"use strict";exports.__esModule=!0,exports.DatasourceType=void 0;/* eslint-disable import/prefer-default-export */var DatasourceType;/** @TODO can continue to add fields to this */exports.DatasourceType=DatasourceType,function(a){a.Table="table",a.Druid="druid"}(DatasourceType||(exports.DatasourceType=DatasourceType={}));
"use strict";
exports.__esModule = true;
exports.DatasourceType = void 0;
let DatasourceType;
/** @TODO can continue to add fields to this */
exports.DatasourceType = DatasourceType;
(function (DatasourceType) {
DatasourceType["Table"] = "table";
DatasourceType["Druid"] = "druid";
})(DatasourceType || (exports.DatasourceType = DatasourceType = {}));

@@ -30,1 +30,2 @@ import { UnaryOperator, BinaryOperator, SetOperator } from './Operator';

export {};
//# sourceMappingURL=Filter.d.ts.map

@@ -1,4 +0,28 @@

"use strict";var _Operator=require("./Operator");exports.__esModule=!0,exports.isSimpleAdhocFilter=isSimpleAdhocFilter,exports.isUnaryAdhocFilter=isUnaryAdhocFilter,exports.isBinaryAdhocFilter=isBinaryAdhocFilter,exports.isSetAdhocFilter=isSetAdhocFilter;//---------------------------------------------------
"use strict";
exports.__esModule = true;
exports.isSimpleAdhocFilter = isSimpleAdhocFilter;
exports.isUnaryAdhocFilter = isUnaryAdhocFilter;
exports.isBinaryAdhocFilter = isBinaryAdhocFilter;
exports.isSetAdhocFilter = isSetAdhocFilter;
var _Operator = require("./Operator");
//---------------------------------------------------
// Type guards
//---------------------------------------------------
function isSimpleAdhocFilter(a){return"SIMPLE"===a.expressionType}function isUnaryAdhocFilter(a){return(0,_Operator.isUnaryOperator)(a.operator)}function isBinaryAdhocFilter(a){return(0,_Operator.isBinaryOperator)(a.operator)}function isSetAdhocFilter(a){return(0,_Operator.isSetOperator)(a.operator)}
function isSimpleAdhocFilter(filter) {
return filter.expressionType === 'SIMPLE';
}
function isUnaryAdhocFilter(filter) {
return (0, _Operator.isUnaryOperator)(filter.operator);
}
function isBinaryAdhocFilter(filter) {
return (0, _Operator.isBinaryOperator)(filter.operator);
}
function isSetAdhocFilter(filter) {
return (0, _Operator.isSetOperator)(filter.operator);
}

@@ -27,1 +27,2 @@ import { Column } from './Column';

export {};
//# sourceMappingURL=Metric.d.ts.map

@@ -1,3 +0,19 @@

"use strict";exports.__esModule=!0,exports.MetricKey=void 0;/* eslint-disable no-unused-vars */ /* eslint-disable import/prefer-default-export */ // Note that the values of MetricKeys are lower_snake_case because they're
"use strict";
exports.__esModule = true;
exports.MetricKey = void 0;
// Note that the values of MetricKeys are lower_snake_case because they're
// used as keys of form data jsons.
var MetricKey;exports.MetricKey=MetricKey,function(a){a.METRIC="metric",a.METRICS="metrics",a.PERCENT_METRICS="percent_metrics",a.RIGHT_AXIS_METRIC="metric_2",a.SECONDARY_METRIC="secondary_metric",a.X="x",a.Y="y",a.SIZE="size"}(MetricKey||(exports.MetricKey=MetricKey={}));
let MetricKey;
exports.MetricKey = MetricKey;
(function (MetricKey) {
MetricKey["METRIC"] = "metric";
MetricKey["METRICS"] = "metrics";
MetricKey["PERCENT_METRICS"] = "percent_metrics";
MetricKey["RIGHT_AXIS_METRIC"] = "metric_2";
MetricKey["SECONDARY_METRIC"] = "secondary_metric";
MetricKey["X"] = "x";
MetricKey["Y"] = "y";
MetricKey["SIZE"] = "size";
})(MetricKey || (exports.MetricKey = MetricKey = {}));

@@ -17,1 +17,2 @@ /** List of operators that do not require another operand */

export {};
//# sourceMappingURL=Operator.d.ts.map

@@ -1,1 +0,40 @@

"use strict";exports.__esModule=!0,exports.isUnaryOperator=isUnaryOperator,exports.isBinaryOperator=isBinaryOperator,exports.isSetOperator=isSetOperator;/** List of operators that do not require another operand */var UNARY_OPERATORS=["IS NOT NULL","IS NULL"],BINARY_OPERATORS=["=","!=",">","<",">=","<=","like","regex"],SET_OPERATORS=["in","not in"],unaryOperatorSet=new Set(UNARY_OPERATORS);/** List of operators that require another operand that is a single value */function isUnaryOperator(a){return unaryOperatorSet.has(a)}var binaryOperatorSet=new Set(BINARY_OPERATORS);function isBinaryOperator(a){return binaryOperatorSet.has(a)}var setOperatorSet=new Set(SET_OPERATORS);function isSetOperator(a){return setOperatorSet.has(a)}
"use strict";
exports.__esModule = true;
exports.isUnaryOperator = isUnaryOperator;
exports.isBinaryOperator = isBinaryOperator;
exports.isSetOperator = isSetOperator;
/** List of operators that do not require another operand */
const UNARY_OPERATORS = ['IS NOT NULL', 'IS NULL'];
/** List of operators that require another operand that is a single value */
const BINARY_OPERATORS = ['=', '!=', '>', '<', '>=', '<=', 'like', 'regex'];
/** List of operators that require another operand that is a set */
const SET_OPERATORS = ['in', 'not in']; //---------------------------------------------------
// Derived types
//---------------------------------------------------
/** An operator that does not require another operand */
//---------------------------------------------------
// Type guards
//---------------------------------------------------
const unaryOperatorSet = new Set(UNARY_OPERATORS);
function isUnaryOperator(operator) {
return unaryOperatorSet.has(operator);
}
const binaryOperatorSet = new Set(BINARY_OPERATORS);
function isBinaryOperator(operator) {
return binaryOperatorSet.has(operator);
}
const setOperatorSet = new Set(SET_OPERATORS);
function isSetOperator(operator) {
return setOperatorSet.has(operator);
}

@@ -64,1 +64,2 @@ import { DatasourceType } from './Datasource';

}
//# sourceMappingURL=Query.d.ts.map

@@ -48,1 +48,2 @@ import { MetricKey, AdhocMetric } from './Metric';

export declare function isSqlaFormData(formData: QueryFormData): formData is SqlaFormData;
//# sourceMappingURL=QueryFormData.d.ts.map

@@ -1,2 +0,9 @@

"use strict";exports.__esModule=!0,exports.isDruidFormData=isDruidFormData,exports.isSqlaFormData=isSqlaFormData;/* eslint camelcase: 0 */ /* eslint-disable import/prefer-default-export */ // FormData uses snake_cased keys.
"use strict";
exports.__esModule = true;
exports.isDruidFormData = isDruidFormData;
exports.isSqlaFormData = isSqlaFormData;
/* eslint camelcase: 0 */
// FormData uses snake_cased keys.
// Define mapped type separately to work around a limitation of TypeScript

@@ -12,2 +19,8 @@ // https://github.com/Microsoft/TypeScript/issues/13573

//---------------------------------------------------
function isDruidFormData(a){return"granularity"in a}function isSqlaFormData(a){return"granularity_sqla"in a}
function isDruidFormData(formData) {
return 'granularity' in formData;
}
function isSqlaFormData(formData) {
return 'granularity_sqla' in formData;
}

@@ -7,1 +7,2 @@ export declare type TimeRange = {

};
//# sourceMappingURL=Time.d.ts.map
{
"name": "@superset-ui/query",
"version": "0.12.5",
"version": "0.12.8",
"description": "Superset UI query",

@@ -28,3 +28,3 @@ "sideEffects": false,

},
"gitHead": "5b6f4a5bd2cb70089d429c9f635f1d0fbc40973f"
"gitHead": "9bb5c471e0e3d05da38929feb00ade7d0ecdc474"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc