Skip to content

Commit

Permalink
Merge pull request #31 from Kanaries/bugfix
Browse files Browse the repository at this point in the history
fix: issue#30, semanticType runtime error
  • Loading branch information
ObservedObserver authored Jun 17, 2020
2 parents a3511d2 + 80d6402 commit 61996c3
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 14 deletions.
11 changes: 4 additions & 7 deletions packages/frontend/src/queries/featureVis.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { Specification, FieldType } from "visual-insights/src/commonTypes";
import { Specification } from "visual-insights/src/commonTypes";
import { geomTypeMap, DataField } from './index';
import { inferFieldSemanticTypeWithDict, inferFieldTypeWithDict } from "./utils";

export function featureVis(query: Specification, fields: DataField[]) {
console.log({ query, fields })
Expand All @@ -9,12 +10,8 @@ export function featureVis(query: Specification, fields: DataField[]) {
fieldTypeDict[field.name] = field
}

function getFieldSemanticType(field: string): FieldType {
return fieldTypeDict[field] ? fieldTypeDict[field].semanticType : "nominal";
}
function getFieldType(field: string): DataField['type'] {
return fieldTypeDict[field] ? fieldTypeDict[field].type : 'dimension'
}
const getFieldSemanticType = (field: string) => inferFieldSemanticTypeWithDict(field, fieldTypeDict);
const getFieldType = (field: string) => inferFieldTypeWithDict(field, fieldTypeDict);

function shouldFieldAggregate(
field: string,
Expand Down
11 changes: 4 additions & 7 deletions packages/frontend/src/queries/targetVis.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
import { Specification, FieldType } from "visual-insights/src/commonTypes";
import { Specification } from "visual-insights/src/commonTypes";
import { geomTypeMap, DataField } from './index';
import { inferFieldSemanticTypeWithDict, inferFieldTypeWithDict } from './utils';

export function targetVis(query: Specification, fields: DataField[]) {
let fieldTypeDict: {[key: string]: DataField} = {};
for (let field of fields) {
fieldTypeDict[field.name] = field
}

function getFieldSemanticType(field: string): FieldType {
return fieldTypeDict[field].semanticType || "nominal";
}
function getFieldType(field: string): DataField['type'] {
return fieldTypeDict[field].type || 'dimension'
}
const getFieldSemanticType = (field: string) => inferFieldSemanticTypeWithDict(field, fieldTypeDict);
const getFieldType = (field: string) => inferFieldTypeWithDict(field, fieldTypeDict);

function shouldFieldAggregate(
field: string,
Expand Down
12 changes: 12 additions & 0 deletions packages/frontend/src/queries/utils.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { FieldType } from "visual-insights/src/commonTypes";
import { DataField } from "./index";
interface FieldTypeDictonary {
[key: string]: DataField
}
export function inferFieldSemanticTypeWithDict(field: string, fieldTypeDict: FieldTypeDictonary): FieldType {
return fieldTypeDict[field] ? fieldTypeDict[field].semanticType : "nominal";
}

export function inferFieldTypeWithDict(field: string, fieldTypeDict: FieldTypeDictonary): DataField["type"] {
return fieldTypeDict[field] ? fieldTypeDict[field].type : "dimension";
}

0 comments on commit 61996c3

Please sign in to comment.