@visactor/vbi 0.4.16 → 0.4.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/builder/adapters/index.d.ts +1 -0
- package/dist/builder/adapters/vquery-vseed/build-vquery.d.ts +3 -0
- package/dist/builder/adapters/vquery-vseed/build-vseed.d.ts +3 -0
- package/dist/builder/adapters/vquery-vseed/index.d.ts +7 -0
- package/dist/builder/adapters/vquery-vseed/types.d.ts +4 -0
- package/dist/builder/builder.d.ts +29 -0
- package/dist/builder/features/dimensions/dim-builder.d.ts +10 -10
- package/dist/builder/features/dimensions/dim-node-builder.d.ts +4 -0
- package/dist/builder/features/dimensions/dimension-utils.d.ts +4 -0
- package/dist/builder/features/havingFilter/having-builder.d.ts +3 -3
- package/dist/builder/features/havingFilter/having-node-builder.d.ts +10 -1
- package/dist/builder/features/measures/mea-builder.d.ts +9 -9
- package/dist/builder/features/measures/mea-node-builder.d.ts +4 -0
- package/dist/builder/features/measures/measure-utils.d.ts +4 -0
- package/dist/builder/features/whereFilter/where-builder.d.ts +3 -3
- package/dist/builder/index.d.ts +3 -2
- package/dist/builder/modules/apply-update.d.ts +2 -0
- package/dist/builder/modules/build.d.ts +3 -0
- package/dist/builder/modules/encode-state-as-update.d.ts +2 -0
- package/dist/builder/modules/get-schema.d.ts +5 -0
- package/dist/builder/modules/index.d.ts +5 -0
- package/dist/builder/modules/is-empty.d.ts +2 -0
- package/dist/index.cjs +617 -399
- package/dist/index.d.ts +7 -3
- package/dist/index.js +605 -396
- package/dist/pipeline/vqueryDSL/aggregateMap.d.ts +30 -0
- package/dist/pipeline/vqueryDSL/index.d.ts +2 -3
- package/dist/pipeline/vqueryDSL/types.d.ts +2 -3
- package/dist/types/builder/VBIInterface.d.ts +5 -5
- package/dist/types/builder/adapter.d.ts +21 -0
- package/dist/types/builder/index.d.ts +1 -0
- package/dist/types/dsl/dimensions/dimensions.d.ts +2 -0
- package/dist/types/dsl/havingFilter/having.d.ts +19 -0
- package/dist/types/dsl/index.d.ts +1 -1
- package/dist/types/dsl/measures/aggregate.d.ts +14 -2
- package/dist/types/dsl/measures/measures.d.ts +28 -4
- package/dist/types/dsl/vbi/vbi.d.ts +15 -2
- package/dist/vbi/create-vbi.d.ts +15 -0
- package/dist/vbi/from/from-vbi-dsl-input.d.ts +4 -0
- package/dist/vbi/from/set-base-dsl-fields.d.ts +3 -0
- package/dist/vbi/generate-empty-dsl.d.ts +3 -0
- package/dist/vbi/normalize/ensure-having-group.d.ts +2 -0
- package/dist/vbi/normalize/ensure-where-group.d.ts +2 -0
- package/dist/vbi/normalize/ensure-y-array.d.ts +3 -0
- package/dist/vbi/normalize/to-y-map.d.ts +3 -0
- package/dist/vbi/normalize/types.d.ts +5 -0
- package/dist/vbi.d.ts +1 -0
- package/package.json +5 -5
- package/dist/builder/vbi-builder.d.ts +0 -28
- package/dist/builder/vbi.d.ts +0 -16
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './vquery-vseed';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VBIBuilderAdapters } from '../../../types';
|
|
2
|
+
import type { DefaultVBIQueryDSL, DefaultVBISeedDSL } from './types';
|
|
3
|
+
export type { DefaultVBIQueryDSL, DefaultVBISeedDSL } from './types';
|
|
4
|
+
export { buildVQueryDSL } from './build-vquery';
|
|
5
|
+
export { buildVSeedDSL } from './build-vseed';
|
|
6
|
+
export declare const defaultVBIBuilderAdapters: VBIBuilderAdapters<DefaultVBIQueryDSL, DefaultVBISeedDSL>;
|
|
7
|
+
export declare const resolveVBIBuilderAdapters: <TQueryDSL = DefaultVBIQueryDSL, TSeedDSL = DefaultVBISeedDSL>(adapters?: Partial<VBIBuilderAdapters<TQueryDSL, TSeedDSL>>) => VBIBuilderAdapters<TQueryDSL, TSeedDSL>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as Y from 'yjs';
|
|
2
|
+
import type { DefaultVBIQueryDSL, DefaultVBISeedDSL } from './adapters/vquery-vseed';
|
|
3
|
+
import { DimensionsBuilder, MeasuresBuilder, HavingFilterBuilder, WhereFilterBuilder, ChartTypeBuilder, ThemeBuilder, LocaleBuilder, LimitBuilder, UndoManager } from './features';
|
|
4
|
+
import type { VBIDSL, VBIBuilderAdapters, VBIBuilderInterface, VBIBuilderOptions } from '../types';
|
|
5
|
+
export declare class VBIBuilder<TQueryDSL = DefaultVBIQueryDSL, TSeedDSL = DefaultVBISeedDSL> implements VBIBuilderInterface<TQueryDSL, TSeedDSL> {
|
|
6
|
+
doc: Y.Doc;
|
|
7
|
+
dsl: Y.Map<any>;
|
|
8
|
+
adapters: VBIBuilderAdapters<TQueryDSL, TSeedDSL>;
|
|
9
|
+
chartType: ChartTypeBuilder;
|
|
10
|
+
measures: MeasuresBuilder;
|
|
11
|
+
dimensions: DimensionsBuilder;
|
|
12
|
+
havingFilter: HavingFilterBuilder;
|
|
13
|
+
whereFilter: WhereFilterBuilder;
|
|
14
|
+
theme: ThemeBuilder;
|
|
15
|
+
locale: LocaleBuilder;
|
|
16
|
+
limit: LimitBuilder;
|
|
17
|
+
undoManager: UndoManager;
|
|
18
|
+
constructor(doc: Y.Doc, options?: VBIBuilderOptions<TQueryDSL, TSeedDSL>);
|
|
19
|
+
applyUpdate: (update: Uint8Array, transactionOrigin?: any) => void;
|
|
20
|
+
encodeStateAsUpdate: (targetStateVector?: Uint8Array) => Uint8Array<ArrayBufferLike>;
|
|
21
|
+
buildVSeed: () => Promise<TSeedDSL>;
|
|
22
|
+
buildVQuery: () => TQueryDSL;
|
|
23
|
+
build: () => VBIDSL;
|
|
24
|
+
isEmpty: () => boolean;
|
|
25
|
+
getSchema: () => Promise<{
|
|
26
|
+
name: string;
|
|
27
|
+
type: string;
|
|
28
|
+
}[]>;
|
|
29
|
+
}
|
|
@@ -6,7 +6,7 @@ import { DimensionNodeBuilder } from './dim-node-builder';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class DimensionsBuilder {
|
|
8
8
|
private dsl;
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(doc: Y.Doc, dsl: Y.Map<any>);
|
|
10
10
|
/**
|
|
11
11
|
* @description 添加一个维度
|
|
12
12
|
* @param field - 字段名
|
|
@@ -14,21 +14,21 @@ export declare class DimensionsBuilder {
|
|
|
14
14
|
*/
|
|
15
15
|
add(field: string, callback: (node: DimensionNodeBuilder) => void): DimensionsBuilder;
|
|
16
16
|
/**
|
|
17
|
-
* @description
|
|
18
|
-
* @param
|
|
17
|
+
* @description 删除指定 ID 的维度
|
|
18
|
+
* @param id - 维度 ID
|
|
19
19
|
*/
|
|
20
|
-
remove(
|
|
20
|
+
remove(id: string): DimensionsBuilder;
|
|
21
21
|
/**
|
|
22
|
-
* @description
|
|
23
|
-
* @param
|
|
22
|
+
* @description 更新指定维度 ID 的配置
|
|
23
|
+
* @param id - 维度 ID
|
|
24
24
|
* @param callback - 回调函数
|
|
25
25
|
*/
|
|
26
|
-
update(
|
|
26
|
+
update(id: string, callback: (node: DimensionNodeBuilder) => void): DimensionsBuilder;
|
|
27
27
|
/**
|
|
28
|
-
* @description
|
|
29
|
-
* @param
|
|
28
|
+
* @description 按回调条件查找第一个维度,行为与 Array.find 一致
|
|
29
|
+
* @param predicate - 查找条件
|
|
30
30
|
*/
|
|
31
|
-
find(
|
|
31
|
+
find(predicate: (node: DimensionNodeBuilder, index: number) => boolean): DimensionNodeBuilder | undefined;
|
|
32
32
|
/**
|
|
33
33
|
* @description 获取所有维度
|
|
34
34
|
*/
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as Y from 'yjs';
|
|
2
|
+
export declare const getOrCreateDimensions: (dsl: Y.Map<any>) => Y.Array<any>;
|
|
3
|
+
export declare const normalizeDimensionNodeIds: (dimensions: Y.Array<any>) => void;
|
|
4
|
+
export declare const locateDimensionIndexById: (dimensions: Y.Array<any>, dimensionId: string) => number;
|
|
@@ -39,10 +39,10 @@ export declare class HavingFilterBuilder {
|
|
|
39
39
|
*/
|
|
40
40
|
remove(idOrIndex: string | number): HavingFilterBuilder;
|
|
41
41
|
/**
|
|
42
|
-
* @description
|
|
43
|
-
* @param
|
|
42
|
+
* @description 按回调条件查找第一个条件(过滤或分组),行为与 Array.find 一致
|
|
43
|
+
* @param predicate - 查找条件
|
|
44
44
|
*/
|
|
45
|
-
find(
|
|
45
|
+
find(predicate: (entry: HavingFilterNodeBuilder | HavingGroupBuilder, index: number) => boolean): HavingFilterNodeBuilder | HavingGroupBuilder | undefined;
|
|
46
46
|
/**
|
|
47
47
|
* @description 清空所有 Having 过滤条件
|
|
48
48
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Y from 'yjs';
|
|
2
|
-
import { VBIHavingFilter } from '../../../types';
|
|
2
|
+
import { VBIHavingFilter, VBIHavingAggregate } from '../../../types';
|
|
3
3
|
/**
|
|
4
4
|
* @description Having 过滤节点构建器,用于配置单个 Having 过滤条件
|
|
5
5
|
*/
|
|
@@ -18,6 +18,10 @@ export declare class HavingFilterNodeBuilder {
|
|
|
18
18
|
* @description 获取过滤操作符
|
|
19
19
|
*/
|
|
20
20
|
getOperator(): string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* @description 获取聚合配置
|
|
23
|
+
*/
|
|
24
|
+
getAggregate(): VBIHavingAggregate | undefined;
|
|
21
25
|
/**
|
|
22
26
|
* @description 设置过滤条件的值
|
|
23
27
|
* @param value - 过滤值
|
|
@@ -28,6 +32,11 @@ export declare class HavingFilterNodeBuilder {
|
|
|
28
32
|
* @param operator - 操作符
|
|
29
33
|
*/
|
|
30
34
|
setOperator(operator: string): this;
|
|
35
|
+
/**
|
|
36
|
+
* @description 设置聚合配置
|
|
37
|
+
* @param aggregate - 聚合配置
|
|
38
|
+
*/
|
|
39
|
+
setAggregate(aggregate: VBIHavingAggregate): this;
|
|
31
40
|
/**
|
|
32
41
|
* @description 导出为 JSON
|
|
33
42
|
*/
|
|
@@ -6,7 +6,7 @@ import { MeasureNodeBuilder } from './mea-node-builder';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class MeasuresBuilder {
|
|
8
8
|
private dsl;
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(doc: Y.Doc, dsl: Y.Map<any>);
|
|
10
10
|
/**
|
|
11
11
|
* @description 添加一个度量
|
|
12
12
|
* @param field - 字段名
|
|
@@ -14,21 +14,21 @@ export declare class MeasuresBuilder {
|
|
|
14
14
|
*/
|
|
15
15
|
add(field: string, callback: (node: MeasureNodeBuilder) => void): MeasuresBuilder;
|
|
16
16
|
/**
|
|
17
|
-
* @description
|
|
18
|
-
* @param
|
|
17
|
+
* @description 删除指定 ID 的度量
|
|
18
|
+
* @param id - 度量 ID
|
|
19
19
|
*/
|
|
20
|
-
remove(
|
|
20
|
+
remove(id: string): MeasuresBuilder;
|
|
21
21
|
/**
|
|
22
22
|
* @description 更新度量配置
|
|
23
|
-
* @param
|
|
23
|
+
* @param id - 度量 ID
|
|
24
24
|
* @param callback - 回调函数
|
|
25
25
|
*/
|
|
26
|
-
update(
|
|
26
|
+
update(id: string, callback: (node: MeasureNodeBuilder) => void): MeasuresBuilder;
|
|
27
27
|
/**
|
|
28
|
-
* @description
|
|
29
|
-
* @param
|
|
28
|
+
* @description 按回调条件查找第一个度量,行为与 Array.find 一致
|
|
29
|
+
* @param predicate - 查找条件
|
|
30
30
|
*/
|
|
31
|
-
find(
|
|
31
|
+
find(predicate: (node: MeasureNodeBuilder, index: number) => boolean): MeasureNodeBuilder | undefined;
|
|
32
32
|
/**
|
|
33
33
|
* @description 获取所有度量
|
|
34
34
|
*/
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import * as Y from 'yjs';
|
|
2
|
+
export declare const getOrCreateMeasures: (dsl: Y.Map<any>) => Y.Array<any>;
|
|
3
|
+
export declare const normalizeMeasureNodeIds: (measures: Y.Array<any>) => void;
|
|
4
|
+
export declare const locateMeasureIndexById: (measures: Y.Array<any>, measureId: string) => number;
|
|
@@ -39,10 +39,10 @@ export declare class WhereFilterBuilder {
|
|
|
39
39
|
*/
|
|
40
40
|
remove(idOrIndex: string | number): WhereFilterBuilder;
|
|
41
41
|
/**
|
|
42
|
-
* @description
|
|
43
|
-
* @param
|
|
42
|
+
* @description 按回调条件查找第一个条件(过滤或分组),行为与 Array.find 一致
|
|
43
|
+
* @param predicate - 查找条件
|
|
44
44
|
*/
|
|
45
|
-
find(
|
|
45
|
+
find(predicate: (entry: WhereFilterNodeBuilder | WhereGroupBuilder, index: number) => boolean): WhereFilterNodeBuilder | WhereGroupBuilder | undefined;
|
|
46
46
|
/**
|
|
47
47
|
* @description 清空所有 Where 过滤条件
|
|
48
48
|
*/
|
package/dist/builder/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { VBIBuilder } from './
|
|
2
|
-
export { VBI } from '
|
|
1
|
+
export { VBIBuilder } from './builder';
|
|
2
|
+
export { VBI } from '../vbi';
|
|
3
|
+
export * from './adapters';
|
|
3
4
|
export { MeasuresBuilder, DimensionsBuilder, ChartTypeBuilder, HavingFilterBuilder, WhereFilterBuilder, ThemeBuilder, LocaleBuilder, LimitBuilder, UndoManager, } from './features';
|