Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ function createRollupConfig({ min } = {}) {
module: 'ES2015',
sourceMap: true,
// Use the esm d.ts
declaration: false
declaration: true
}
// include: include,
// exclude: exclude || []
Expand Down
27 changes: 27 additions & 0 deletions dist/aggregate.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { DataTransformOption, DimensionLoose, DimensionName, ExternalDataTransform } from './types';
export interface AggregateTransformOption extends DataTransformOption {
type: 'ecSimpleTransform:aggregate';
config: {
resultDimensions: {
name: DimensionName;
from: DimensionLoose;
method: AggregateMethodLoose;
}[];
groupBy: DimensionLoose;
};
}
declare const METHOD_INTERNAL: {
readonly SUM: true;
readonly COUNT: true;
readonly FIRST: true;
readonly AVERAGE: true;
readonly Q1: true;
readonly Q2: true;
readonly Q3: true;
readonly MIN: true;
readonly MAX: true;
};
declare type AggregateMethodLoose = AggregateMethodInternal | 'sum' | 'count' | 'first' | 'average' | 'Q1' | 'Q2' | 'Q3' | 'median' | 'min' | 'max';
declare type AggregateMethodInternal = keyof typeof METHOD_INTERNAL;
export declare const transform: ExternalDataTransform<AggregateTransformOption>;
export {};
9 changes: 9 additions & 0 deletions dist/id.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { DataTransformOption, DimensionIndex, DimensionName, ExternalDataTransform } from './types';
export interface IdTransformOption extends DataTransformOption {
type: 'ecSimpleTransform:id';
config: {
dimensionIndex: DimensionIndex;
dimensionName: DimensionName;
};
}
export declare const transform: ExternalDataTransform<IdTransformOption>;
2 changes: 2 additions & 0 deletions dist/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export { transform as id } from './id';
export { transform as aggregate } from './aggregate';
73 changes: 73 additions & 0 deletions dist/types.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
export declare type Dictionary<T> = {
[key: string]: T;
};
export declare type DimensionIndex = number;
export declare type DimensionName = string;
export declare type DimensionIndexLoose = DimensionIndex | string;
export declare type DimensionLoose = DimensionName | DimensionIndexLoose;
export declare type DataTransformType = string;
export declare type DataTransformConfig = unknown;
export declare type ParsedValue = ParsedValueNumeric | OrdinalRawValue;
export declare type ParsedValueNumeric = number | OrdinalNumber;
export declare type OrdinalRawValue = string | number;
export declare type OrdinalNumber = number;
export declare const SOURCE_FORMAT_ORIGINAL: "original";
export declare const SOURCE_FORMAT_ARRAY_ROWS: "arrayRows";
export declare const SOURCE_FORMAT_OBJECT_ROWS: "objectRows";
export declare const SOURCE_FORMAT_KEYED_COLUMNS: "keyedColumns";
export declare const SOURCE_FORMAT_TYPED_ARRAY: "typedArray";
export declare const SOURCE_FORMAT_UNKNOWN: "unknown";
export declare type SourceFormat = typeof SOURCE_FORMAT_ORIGINAL | typeof SOURCE_FORMAT_ARRAY_ROWS | typeof SOURCE_FORMAT_OBJECT_ROWS | typeof SOURCE_FORMAT_KEYED_COLUMNS | typeof SOURCE_FORMAT_TYPED_ARRAY | typeof SOURCE_FORMAT_UNKNOWN;
declare const dataCtors: {
float: Float64ArrayConstructor | ArrayConstructor;
int: ArrayConstructor | Int32ArrayConstructor;
ordinal: ArrayConstructor;
number: ArrayConstructor;
time: ArrayConstructor;
};
export declare type ListDimensionType = keyof typeof dataCtors;
export declare type DimensionDefinition = {
type?: ListDimensionType;
name?: DimensionName;
displayName?: string;
};
export declare type DimensionDefinitionLoose = DimensionDefinition['name'] | DimensionDefinition;
export interface DataTransformOption {
type: DataTransformType;
config: DataTransformConfig;
print?: boolean;
}
export declare type OptionDataValue = string | number | Date;
export declare type OptionSourceDataArrayRows<VAL extends OptionDataValue = OptionDataValue> = Array<Array<VAL>>;
export declare type OptionSourceDataObjectRows<VAL extends OptionDataValue = OptionDataValue> = Array<Dictionary<VAL>>;
export interface ExternalDataTransform<TO extends DataTransformOption = DataTransformOption> {
type: string;
__isBuiltIn?: boolean;
transform: (param: ExternalDataTransformParam<TO>) => ExternalDataTransformResultItem | ExternalDataTransformResultItem[];
}
interface ExternalDataTransformParam<TO extends DataTransformOption = DataTransformOption> {
upstream: ExternalSource;
upstreamList: ExternalSource[];
config: TO['config'];
}
export interface ExternalDataTransformResultItem {
data: OptionSourceDataArrayRows | OptionSourceDataObjectRows;
dimensions?: DimensionDefinitionLoose[];
}
export declare type DataTransformDataItem = ExternalDataTransformResultItem['data'][number];
export interface ExternalDimensionDefinition extends Partial<DimensionDefinition> {
index: DimensionIndex;
}
export interface ExternalSource {
sourceFormat: SourceFormat;
getRawDataItem(dataIndex: number): number;
getRawDataItem(dataIndex: number): DataTransformDataItem;
cloneRawData(): OptionSourceDataArrayRows | OptionSourceDataObjectRows;
getDimensionInfo(dim: DimensionLoose): ExternalDimensionDefinition;
cloneAllDimensionInfo(): ExternalDimensionDefinition[];
count(): number;
retrieveValue(dataIndex: number, dimIndex: DimensionIndex): OptionDataValue;
retrieveValueFromItem(dataItem: DataTransformDataItem, dimIndex: DimensionIndex): OptionDataValue;
convertValue(rawVal: unknown, dimInfo: ExternalDimensionDefinition): ParsedValue;
}
export {};
3 changes: 3 additions & 0 deletions dist/util.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export declare function assert(condition: any, message?: string): void;
export declare function hasOwn(own: object, prop: string): boolean;
export declare function quantile(ascArr: number[], p: number): number;
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"description": "Some simple data transforms for Apache ECharts 5",
"license": "Apache-2.0",
"main": "dist/ecSimpleTransform.js",
"types": "dist/index.d.ts",
"jsdelivr": "dist/ecSimpleTransform.min.js",
"repository": {
"type": "git",
Expand Down