Skip to content

Commit

Permalink
feat(MarkBase): change the name from MarkBase to Mark (fixed #4672)
Browse files Browse the repository at this point in the history
  • Loading branch information
pepper-nice committed Feb 23, 2023
1 parent d93fc47 commit 5a56c9e
Show file tree
Hide file tree
Showing 20 changed files with 65 additions and 62 deletions.
4 changes: 2 additions & 2 deletions src/api/composition/facetCircle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import {
ArrayAttribute,
ObjectAttribute,
} from '../types';
import { mark, Mark } from '../mark';
import { mark, MarkNode } from '../mark';
import { Composition, Base } from './index';

type FacetCircleSpec = Concrete<FacetCircleComposition>;

export interface FacetCircle extends Composition, Mark {
export interface FacetCircle extends Composition, MarkNode {
data: ValueAttribute<FacetCircleSpec['data'], FacetCircle>;
transform: ArrayAttribute<FacetCircleSpec['transform'], FacetCircle>;
encode: ObjectAttribute<FacetCircleSpec['encode'], FacetCircle>;
Expand Down
4 changes: 2 additions & 2 deletions src/api/composition/facetRect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import {
ArrayAttribute,
ObjectAttribute,
} from '../types';
import { mark, Mark } from '../mark';
import { mark, MarkNode } from '../mark';
import { Composition, Base } from './index';

type FacetRectSpec = Concrete<FacetRectComposition>;

export interface FacetRect extends Composition, Mark {
export interface FacetRect extends Composition, MarkNode {
data: ValueAttribute<FacetRectSpec['data'], FacetRect>;
transform: ArrayAttribute<FacetRectSpec['transform'], FacetRect>;
encode: ObjectAttribute<FacetRectSpec['encode'], FacetRect>;
Expand Down
4 changes: 2 additions & 2 deletions src/api/composition/geoPath.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import {
ArrayAttribute,
Concrete,
} from '../types';
import { mark, Mark } from '../mark';
import { mark, MarkNode } from '../mark';
import { Composition, Base } from './index';

type GeoPathSpec = Concrete<GeoPathComposition>;

export interface GeoPath extends Mark, Composition {
export interface GeoPath extends MarkNode, Composition {
data: ValueAttribute<GeoPathSpec['data'], GeoPath>;
coordinate: ValueAttribute<GeoPathSpec['coordinate'], GeoPath>;
interaction: ObjectAttribute<GeoPathSpec['interaction'], GeoPath>;
Expand Down
4 changes: 2 additions & 2 deletions src/api/composition/geoView.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import {
ArrayAttribute,
Concrete,
} from '../types';
import { mark, Mark } from '../mark';
import { mark, MarkNode } from '../mark';
import { Composition, Base } from './index';

type GeoViewSpec = Concrete<GeoViewComposition>;

export interface GeoView extends Mark, Composition {
export interface GeoView extends MarkNode, Composition {
data: ValueAttribute<GeoViewSpec['data'], GeoView>;
key: ValueAttribute<GeoViewSpec['key'], GeoView>;
coordinate: ArrayAttribute<GeoViewSpec['coordinate'], GeoView>;
Expand Down
4 changes: 2 additions & 2 deletions src/api/composition/repeatMatrix.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import {
ArrayAttribute,
ObjectAttribute,
} from '../types';
import { mark, Mark } from '../mark';
import { mark, MarkNode } from '../mark';
import { Composition, Base } from './index';

type RepeatMatrixSpec = Concrete<RepeatMatrixComposition>;

export interface RepeatMatrix extends Composition, Mark {
export interface RepeatMatrix extends Composition, MarkNode {
data: ValueAttribute<RepeatMatrixSpec['data'], RepeatMatrix>;
transform: ArrayAttribute<RepeatMatrixSpec['transform'], RepeatMatrix>;
encode: ObjectAttribute<RepeatMatrixSpec['encode'], RepeatMatrix>;
Expand Down
4 changes: 2 additions & 2 deletions src/api/composition/spaceFlex.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { SpaceFlexComposition } from '../../spec';
import { defineProps, nodeProps } from '../props';
import { ValueAttribute, Concrete } from '../types';
import { mark, Mark } from '../mark';
import { mark, MarkNode } from '../mark';
import { Composition, Base } from './index';

type SpaceFlexSpec = Concrete<SpaceFlexComposition>;

export interface SpaceFlex extends Composition, Mark {
export interface SpaceFlex extends Composition, MarkNode {
data: ValueAttribute<SpaceFlexSpec['data'], SpaceFlex>;
}

Expand Down
4 changes: 2 additions & 2 deletions src/api/composition/spaceLayer.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { SpaceLayerComposition } from '../../spec';
import { defineProps, nodeProps } from '../props';
import { ValueAttribute, Concrete } from '../types';
import { mark, Mark } from '../mark';
import { mark, MarkNode } from '../mark';
import { Composition, Base } from './index';

type SpaceLayerSpec = Concrete<SpaceLayerComposition>;

export interface SpaceLayer extends Composition, Mark {
export interface SpaceLayer extends Composition, MarkNode {
data: ValueAttribute<SpaceLayerSpec['data'], SpaceLayer>;
}

Expand Down
4 changes: 2 additions & 2 deletions src/api/composition/timingKeyframe.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { TimingKeyframeComposition } from '../../spec';
import { defineProps, nodeProps } from '../props';
import { Concrete } from '../types';
import { mark, Mark } from '../mark';
import { mark, MarkNode } from '../mark';
import { Composition, Base } from './index';

type TimingKeyframeSpec = Concrete<TimingKeyframeComposition>;

export interface TimingKeyframe extends Composition, Mark {}
export interface TimingKeyframe extends Composition, MarkNode {}

@defineProps([...nodeProps(mark)])
export class TimingKeyframe extends Base<TimingKeyframeSpec> {
Expand Down
4 changes: 2 additions & 2 deletions src/api/composition/view.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ import {
ArrayAttribute,
Concrete,
} from '../types';
import { mark, Mark } from '../mark';
import { mark, MarkNode } from '../mark';
import { Base } from './base';

type ViewSpec = Concrete<ViewComposition>;

export interface View extends Mark {
export interface View extends MarkNode {
data: ValueAttribute<ViewSpec['data'], View>;
coordinate: ArrayAttribute<ViewSpec['coordinate'], View>;
interaction: ObjectAttribute<ViewSpec['interaction'], View>;
Expand Down
1 change: 1 addition & 0 deletions src/api/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
export { Chart } from './chart';
export { Mark } from './mark';
export { register } from './library';
2 changes: 1 addition & 1 deletion src/api/mark/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { DisplayObject } from '@antv/g';
import { Node } from '../node';
import { G2MarkState, Scale } from '../../runtime';

export class MarkBase<
export class Mark<
Value extends Record<string, any> = Record<string, any>,
ParentValue extends Record<string, any> = Record<string, any>,
ChildValue extends Record<string, any> = Record<string, any>,
Expand Down
4 changes: 3 additions & 1 deletion src/api/mark/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ import {
WordCloud,
} from './mark';

export interface Mark {
export { Mark } from './base';

export interface MarkNode {
interval(): Interval;
rect(): Rect;
point(): Point;
Expand Down
54 changes: 27 additions & 27 deletions src/api/mark/mark.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import {
} from '../../spec';
import { NodePropertyDescriptor, defineProps } from '../props';
import { Concrete } from '../types';
import { MarkBase } from './base';
import { Mark } from './base';
import { API } from './types';

export interface Interval extends API<Concrete<IntervalGeometry>, Interval> {
Expand Down Expand Up @@ -152,182 +152,182 @@ export const props: NodePropertyDescriptor[] = [
];

@defineProps(props)
export class Interval extends MarkBase<IntervalGeometry> {
export class Interval extends Mark<IntervalGeometry> {
constructor() {
super({}, 'interval');
}
}

@defineProps(props)
export class Rect extends MarkBase<RectGeometry> {
export class Rect extends Mark<RectGeometry> {
constructor() {
super({}, 'rect');
}
}

@defineProps(props)
export class Point extends MarkBase<PointGeometry> {
export class Point extends Mark<PointGeometry> {
constructor() {
super({}, 'point');
}
}

@defineProps(props)
export class Area extends MarkBase<AreaGeometry> {
export class Area extends Mark<AreaGeometry> {
constructor() {
super({}, 'area');
}
}

@defineProps(props)
export class Line extends MarkBase<LineGeometry> {
export class Line extends Mark<LineGeometry> {
constructor() {
super({}, 'line');
}
}

@defineProps(props)
export class Cell extends MarkBase<CellGeometry> {
export class Cell extends Mark<CellGeometry> {
constructor() {
super({}, 'cell');
}
}

@defineProps(props)
export class Vector extends MarkBase<VectorGeometry> {
export class Vector extends Mark<VectorGeometry> {
constructor() {
super({}, 'vector');
}
}

@defineProps(props)
export class Link extends MarkBase<LinkGeometry> {
export class Link extends Mark<LinkGeometry> {
constructor() {
super({}, 'link');
}
}

@defineProps(props)
export class Polygon extends MarkBase<PolygonGeometry> {
export class Polygon extends Mark<PolygonGeometry> {
constructor() {
super({}, 'polygon');
}
}

@defineProps(props)
export class Image extends MarkBase<ImageGeometry> {
export class Image extends Mark<ImageGeometry> {
constructor() {
super({}, 'image');
}
}

@defineProps(props)
export class Text extends MarkBase<TextGeometry> {
export class Text extends Mark<TextGeometry> {
constructor() {
super({}, 'text');
}
}

@defineProps(props)
export class Box extends MarkBase<BoxGeometry> {
export class Box extends Mark<BoxGeometry> {
constructor() {
super({}, 'box');
}
}

@defineProps(props)
export class LineX extends MarkBase<LineXMark> {
export class LineX extends Mark<LineXMark> {
constructor() {
super({}, 'lineX');
}
}

@defineProps(props)
export class LineY extends MarkBase<LineYMark> {
export class LineY extends Mark<LineYMark> {
constructor() {
super({}, 'lineY');
}
}

@defineProps(props)
export class Range extends MarkBase<RangeMark> {
export class Range extends Mark<RangeMark> {
constructor() {
super({}, 'range');
}
}

@defineProps(props)
export class RangeX extends MarkBase<RangeXMark> {
export class RangeX extends Mark<RangeXMark> {
constructor() {
super({}, 'rangeX');
}
}

@defineProps(props)
export class RangeY extends MarkBase<RangeYMark> {
export class RangeY extends Mark<RangeYMark> {
constructor() {
super({}, 'rangeY');
}
}

@defineProps(props)
export class Connector extends MarkBase<ConnectorMark> {
export class Connector extends Mark<ConnectorMark> {
constructor() {
super({}, 'connector');
}
}

@defineProps(props)
export class Shape extends MarkBase<ShapeMark> {
export class Shape extends Mark<ShapeMark> {
constructor() {
super({}, 'shape');
}
}

@defineProps([...props, { name: 'layout', type: 'value' }])
export class Sankey extends MarkBase<SankeyMark> {
export class Sankey extends Mark<SankeyMark> {
constructor() {
super({}, 'sankey');
}
}

@defineProps([...props, { name: 'layout', type: 'value' }])
export class Treemap extends MarkBase<ConnectorMark> {
export class Treemap extends Mark<ConnectorMark> {
constructor() {
super({}, 'treemap');
}
}

@defineProps(props)
export class Boxplot extends MarkBase<Boxplot> {
export class Boxplot extends Mark<Boxplot> {
constructor() {
super({}, 'boxplot');
}
}

@defineProps([...props, { name: 'layout', type: 'value' }])
export class Pack extends MarkBase<Pack> {
export class Pack extends Mark<Pack> {
constructor() {
super({}, 'pack');
}
}

@defineProps([...props, { name: 'layout', type: 'value' }])
export class ForceGraph extends MarkBase<ForceGraph> {
export class ForceGraph extends Mark<ForceGraph> {
constructor() {
super({}, 'forceGraph');
}
}

@defineProps([...props, { name: 'layout', type: 'value' }])
export class Tree extends MarkBase<Tree> {
export class Tree extends Mark<Tree> {
constructor() {
super({}, 'tree');
}
}

@defineProps([...props, { name: 'layout', type: 'object' }])
export class WordCloud extends MarkBase<WordCloud> {
export class WordCloud extends Mark<WordCloud> {
constructor() {
super({}, 'wordCloud');
}
Expand Down
2 changes: 1 addition & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export * from './runtime';
export { createLibrary } from './stdlib';
export { Chart, register } from './api';
export { Chart, Mark, register } from './api';
export type { G2Spec } from './spec';
4 changes: 2 additions & 2 deletions src/mark/image.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Mark, MarkComponent as MC, Vector2 } from '../runtime';
import { IMark, MarkComponent as MC, Vector2 } from '../runtime';
import { ImageGeometry } from '../spec';
import {
baseGeometryChannels,
Expand All @@ -13,7 +13,7 @@ export type ImageOptions = Omit<ImageGeometry, 'type'>;

export const Image: MC<ImageOptions> = (options) => {
const { cartesian } = options;
if (cartesian) return visualMark as Mark;
if (cartesian) return visualMark as IMark;
return (index, scale, value, coordinate) => {
const { x: X, y: Y } = value;
const offset = createBandOffset(scale, value, options);
Expand Down

0 comments on commit 5a56c9e

Please sign in to comment.