databonk 0.0.2 → 0.0.4
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/README.md +116 -111
- package/build/release.d.ts +719 -0
- package/build/release.js +774 -0
- package/build/release.wasm +0 -0
- package/build/release.wasm.map +1 -0
- package/build/release.wat +22633 -0
- package/dist/dataframe.d.ts +82 -0
- package/dist/dataframe.d.ts.map +1 -0
- package/dist/dataframe.js +318 -0
- package/dist/dataframe.js.map +1 -0
- package/dist/index.d.ts +42 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -6166
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +86 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +147 -0
- package/dist/loader.js.map +1 -0
- package/dist/shared-memory.d.ts +64 -0
- package/dist/shared-memory.d.ts.map +1 -0
- package/dist/shared-memory.js +113 -0
- package/dist/shared-memory.js.map +1 -0
- package/package.json +30 -56
- package/dist/core/column.d.ts +0 -55
- package/dist/core/column.d.ts.map +0 -1
- package/dist/core/dataframe.d.ts +0 -70
- package/dist/core/dataframe.d.ts.map +0 -1
- package/dist/core/index-cache.d.ts +0 -44
- package/dist/core/index-cache.d.ts.map +0 -1
- package/dist/index.esm.js +0 -6153
- package/dist/index.esm.js.map +0 -1
- package/dist/io/csv.d.ts +0 -23
- package/dist/io/csv.d.ts.map +0 -1
- package/dist/operations/aggregation.d.ts +0 -23
- package/dist/operations/aggregation.d.ts.map +0 -1
- package/dist/operations/derive.d.ts +0 -38
- package/dist/operations/derive.d.ts.map +0 -1
- package/dist/operations/groupby.d.ts +0 -36
- package/dist/operations/groupby.d.ts.map +0 -1
- package/dist/operations/join.d.ts +0 -22
- package/dist/operations/join.d.ts.map +0 -1
- package/dist/operations/reshape.d.ts +0 -17
- package/dist/operations/reshape.d.ts.map +0 -1
- package/dist/utils/aggregation-engine.d.ts +0 -84
- package/dist/utils/aggregation-engine.d.ts.map +0 -1
- package/dist/utils/bitset.d.ts +0 -30
- package/dist/utils/bitset.d.ts.map +0 -1
- package/dist/utils/hash.d.ts +0 -79
- package/dist/utils/hash.d.ts.map +0 -1
- package/dist/utils/performance.d.ts +0 -44
- package/dist/utils/performance.d.ts.map +0 -1
- package/dist/utils/types.d.ts +0 -7
- package/dist/utils/types.d.ts.map +0 -1
- package/dist/validation/schema.d.ts +0 -73
- package/dist/validation/schema.d.ts.map +0 -1
package/dist/io/csv.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { DataFrame } from '../core/dataframe.js';
|
|
2
|
-
export interface CsvOptions {
|
|
3
|
-
delimiter?: string;
|
|
4
|
-
header?: boolean;
|
|
5
|
-
skipRows?: number;
|
|
6
|
-
inferTypes?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare class CsvReader {
|
|
9
|
-
static fromString(csvString: string, options?: CsvOptions): DataFrame;
|
|
10
|
-
static fromUrl(url: string, options?: CsvOptions): Promise<DataFrame>;
|
|
11
|
-
private static parseCsvLine;
|
|
12
|
-
private static inferValue;
|
|
13
|
-
}
|
|
14
|
-
export declare class CsvWriter {
|
|
15
|
-
static toString(df: DataFrame, options?: CsvOptions): string;
|
|
16
|
-
private static escapeValue;
|
|
17
|
-
}
|
|
18
|
-
declare module '../core/dataframe.js' {
|
|
19
|
-
interface DataFrame {
|
|
20
|
-
toCsv(options?: CsvOptions): string;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=csv.d.ts.map
|
package/dist/io/csv.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../src/io/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,SAAS;IACpB,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,SAAS;WAyC5D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAS/E,OAAO,CAAC,MAAM,CAAC,YAAY;IA+B3B,OAAO,CAAC,MAAM,CAAC,UAAU;CAe1B;AAED,qBAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,GAAE,UAAe,GAAG,MAAM;IAqBhE,OAAO,CAAC,MAAM,CAAC,WAAW;CAY3B;AAED,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,SAAS;QACjB,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;KACrC;CACF"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { DataFrame } from '../core/dataframe.js';
|
|
2
|
-
export type AggregateFunction = 'sum' | 'mean' | 'count' | 'min' | 'max' | 'std' | 'var';
|
|
3
|
-
export type AggregateSpec = Record<string, string | AggregateFunction | AggregateFunction[]>;
|
|
4
|
-
export declare class Aggregator {
|
|
5
|
-
static agg(df: DataFrame, spec: AggregateSpec): DataFrame;
|
|
6
|
-
static describe(df: DataFrame): DataFrame;
|
|
7
|
-
private static computeAggregates;
|
|
8
|
-
private static computeSingleAggregate;
|
|
9
|
-
private static computeVar;
|
|
10
|
-
private static computeStd;
|
|
11
|
-
}
|
|
12
|
-
declare module '../core/dataframe.js' {
|
|
13
|
-
interface DataFrame {
|
|
14
|
-
agg(spec: AggregateSpec): DataFrame;
|
|
15
|
-
describe(): DataFrame;
|
|
16
|
-
sum(columns?: string[]): DataFrame;
|
|
17
|
-
mean(columns?: string[]): DataFrame;
|
|
18
|
-
count(columns?: string[]): DataFrame;
|
|
19
|
-
min(columns?: string[]): DataFrame;
|
|
20
|
-
max(columns?: string[]): DataFrame;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=aggregation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aggregation.d.ts","sourceRoot":"","sources":["../../src/operations/aggregation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AACzF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAAC,CAAC;AAE7F,qBAAa,UAAU;IACrB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS;IAqBzD,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS;IAkBzC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAOhC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAqBrC,OAAO,CAAC,MAAM,CAAC,UAAU;IAoBzB,OAAO,CAAC,MAAM,CAAC,UAAU;CAG1B;AAED,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,SAAS;QACjB,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;QACpC,QAAQ,IAAI,SAAS,CAAC;QACtB,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACpC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACrC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACnC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;KACpC;CACF"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { DataFrame, RowObject } from '../core/dataframe.js';
|
|
2
|
-
import { DataType } from '../utils/types.js';
|
|
3
|
-
export type ColumnExpression<T = any> = (row: RowObject, index: number) => T;
|
|
4
|
-
export type ColumnTransform<T = any, U = any> = (value: T | null, index: number) => U;
|
|
5
|
-
export declare class ColumnDeriver {
|
|
6
|
-
static withColumn<T>(df: DataFrame, name: string, expression: ColumnExpression<T>, dataType?: DataType): DataFrame;
|
|
7
|
-
static withColumns(df: DataFrame, expressions: Record<string, ColumnExpression>): DataFrame;
|
|
8
|
-
static transform<T, U>(df: DataFrame, columnName: string, transformer: ColumnTransform<T, U>, newColumnName?: string, dataType?: DataType): DataFrame;
|
|
9
|
-
static assign(df: DataFrame, assignments: Record<string, ColumnExpression>): DataFrame;
|
|
10
|
-
static fillna<T>(df: DataFrame, columnName: string, value: T): DataFrame;
|
|
11
|
-
static dropna(df: DataFrame, columnNames?: string[]): DataFrame;
|
|
12
|
-
static replace<T>(df: DataFrame, columnName: string, oldValue: T, newValue: T): DataFrame;
|
|
13
|
-
static clip(df: DataFrame, columnName: string, lower?: number, upper?: number): DataFrame;
|
|
14
|
-
static round(df: DataFrame, columnName: string, decimals?: number): DataFrame;
|
|
15
|
-
static abs(df: DataFrame, columnName: string): DataFrame;
|
|
16
|
-
static sqrt(df: DataFrame, columnName: string): DataFrame;
|
|
17
|
-
static log(df: DataFrame, columnName: string, base?: number): DataFrame;
|
|
18
|
-
static normalize(df: DataFrame, columnName: string): DataFrame;
|
|
19
|
-
static rank(df: DataFrame, columnName: string, ascending?: boolean): DataFrame;
|
|
20
|
-
}
|
|
21
|
-
declare module '../core/dataframe.js' {
|
|
22
|
-
interface DataFrame {
|
|
23
|
-
withColumn<T>(name: string, expression: ColumnExpression<T>, dataType?: DataType): DataFrame;
|
|
24
|
-
withColumns(expressions: Record<string, ColumnExpression>): DataFrame;
|
|
25
|
-
assign(assignments: Record<string, ColumnExpression>): DataFrame;
|
|
26
|
-
fillna<T>(columnName: string, value: T): DataFrame;
|
|
27
|
-
dropna(columnNames?: string[]): DataFrame;
|
|
28
|
-
replace<T>(columnName: string, oldValue: T, newValue: T): DataFrame;
|
|
29
|
-
clip(columnName: string, lower?: number, upper?: number): DataFrame;
|
|
30
|
-
round(columnName: string, decimals?: number): DataFrame;
|
|
31
|
-
abs(columnName: string): DataFrame;
|
|
32
|
-
sqrt(columnName: string): DataFrame;
|
|
33
|
-
log(columnName: string, base?: number): DataFrame;
|
|
34
|
-
normalize(columnName: string): DataFrame;
|
|
35
|
-
rank(columnName: string, ascending?: boolean): DataFrame;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=derive.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../src/operations/derive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { DataFrame } from '../core/dataframe.js';
|
|
2
|
-
import { AggregateFunction } from './aggregation.js';
|
|
3
|
-
export declare class GroupBy {
|
|
4
|
-
private df;
|
|
5
|
-
private groupColumns;
|
|
6
|
-
private groups;
|
|
7
|
-
private groupOrder;
|
|
8
|
-
private cachedGroupCols;
|
|
9
|
-
constructor(df: DataFrame, columns: string[]);
|
|
10
|
-
private computeGroups;
|
|
11
|
-
/**
|
|
12
|
-
* Create a simple string key for a row using '||' separator.
|
|
13
|
-
*/
|
|
14
|
-
private createGroupKey;
|
|
15
|
-
/**
|
|
16
|
-
* Perform aggregation using single-pass algorithm for efficiency.
|
|
17
|
-
*/
|
|
18
|
-
agg(spec: Record<string, AggregateFunction | AggregateFunction[]>): DataFrame;
|
|
19
|
-
private computeAggregateValue;
|
|
20
|
-
private computeVar;
|
|
21
|
-
private computeStd;
|
|
22
|
-
count(): DataFrame;
|
|
23
|
-
sum(columns: string[]): DataFrame;
|
|
24
|
-
mean(columns: string[]): DataFrame;
|
|
25
|
-
min(columns: string[]): DataFrame;
|
|
26
|
-
max(columns: string[]): DataFrame;
|
|
27
|
-
first(): DataFrame;
|
|
28
|
-
last(): DataFrame;
|
|
29
|
-
size(): DataFrame;
|
|
30
|
-
}
|
|
31
|
-
declare module '../core/dataframe.js' {
|
|
32
|
-
interface DataFrame {
|
|
33
|
-
groupBy(columns: string[]): GroupBy;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=groupby.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"groupby.d.ts","sourceRoot":"","sources":["../../src/operations/groupby.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAiB,iBAAiB,EAAc,MAAM,kBAAkB,CAAC;AAShF,qBAAa,OAAO;IAClB,OAAO,CAAC,EAAE,CAAY;IACtB,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,UAAU,CAAoB;IAGtC,OAAO,CAAC,eAAe,CAAW;gBAEtB,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;IAW5C,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC,GAAG,SAAS;IAsF7E,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,UAAU;IAIlB,KAAK,IAAI,SAAS;IA4BlB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS;IAQjC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS;IAQlC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS;IAQjC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS;IAQjC,KAAK,IAAI,SAAS;IAyBlB,IAAI,IAAI,SAAS;IAyBjB,IAAI,IAAI,SAAS;CA0BlB;AAED,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,SAAS;QACjB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;KACrC;CACF"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { DataFrame } from '../core/dataframe.js';
|
|
2
|
-
export type JoinType = 'inner' | 'left' | 'right' | 'outer';
|
|
3
|
-
export declare class Joiner {
|
|
4
|
-
static join(left: DataFrame, right: DataFrame, on: string | string[], how?: JoinType, suffixes?: [string, string]): DataFrame;
|
|
5
|
-
private static validateJoinKeys;
|
|
6
|
-
private static buildHashIndex;
|
|
7
|
-
/**
|
|
8
|
-
* Create a simple string key for a row using '||' separator.
|
|
9
|
-
*/
|
|
10
|
-
private static createJoinKey;
|
|
11
|
-
private static innerJoin;
|
|
12
|
-
private static leftJoin;
|
|
13
|
-
private static rightJoin;
|
|
14
|
-
private static outerJoin;
|
|
15
|
-
private static buildJoinedDataFrame;
|
|
16
|
-
}
|
|
17
|
-
declare module '../core/dataframe.js' {
|
|
18
|
-
interface DataFrame {
|
|
19
|
-
join(other: DataFrame, on: string | string[], how?: JoinType, suffixes?: [string, string]): DataFrame;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=join.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/operations/join.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAI5D,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5D,qBAAa,MAAM;IACjB,MAAM,CAAC,IAAI,CACT,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,EACrB,GAAG,GAAE,QAAkB,EACvB,QAAQ,GAAE,CAAC,MAAM,EAAE,MAAM,CAAgB,GACxC,SAAS;IAsBZ,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAW/B,OAAO,CAAC,MAAM,CAAC,cAAc;IAqC7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B,OAAO,CAAC,MAAM,CAAC,SAAS;IAwCxB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAuCvB,OAAO,CAAC,MAAM,CAAC,SAAS;IAuCxB,OAAO,CAAC,MAAM,CAAC,SAAS;IAoDxB,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA+CpC;AAED,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,SAAS;QACjB,IAAI,CACF,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,EACrB,GAAG,CAAC,EAAE,QAAQ,EACd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,SAAS,CAAC;KACd;CACF"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { DataFrame } from '../core/dataframe.js';
|
|
2
|
-
import { AggregateFunction } from './aggregation.js';
|
|
3
|
-
export declare class Reshaper {
|
|
4
|
-
static pivot(df: DataFrame, index: string[], columns: string, values: string, aggFunc?: AggregateFunction): DataFrame;
|
|
5
|
-
static melt(df: DataFrame, id_vars?: string[], value_vars?: string[], var_name?: string, value_name?: string): DataFrame;
|
|
6
|
-
static transpose(df: DataFrame): DataFrame;
|
|
7
|
-
static wide_to_long(df: DataFrame, stubnames: string[], i: string[], j?: string, sep?: string): DataFrame;
|
|
8
|
-
private static computeAggregateValue;
|
|
9
|
-
}
|
|
10
|
-
declare module '../core/dataframe.js' {
|
|
11
|
-
interface DataFrame {
|
|
12
|
-
pivot(index: string[], columns: string, values: string, aggFunc?: AggregateFunction): DataFrame;
|
|
13
|
-
melt(id_vars?: string[], value_vars?: string[], var_name?: string, value_name?: string): DataFrame;
|
|
14
|
-
transpose(): DataFrame;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=reshape.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reshape.d.ts","sourceRoot":"","sources":["../../src/operations/reshape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,qBAAa,QAAQ;IACnB,MAAM,CAAC,KAAK,CACV,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAA0B,GAClC,SAAS;IAsCZ,MAAM,CAAC,IAAI,CACT,EAAE,EAAE,SAAS,EACb,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,QAAQ,GAAE,MAAmB,EAC7B,UAAU,GAAE,MAAgB,GAC3B,SAAS;IAoCZ,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS;IAiB1C,MAAM,CAAC,YAAY,CACjB,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,MAAM,EAAE,EACnB,CAAC,EAAE,MAAM,EAAE,EACX,CAAC,GAAE,MAAa,EAChB,GAAG,GAAE,MAAY,GAChB,SAAS;IA6DZ,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAgBrC;AAED,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,SAAS;QACjB,KAAK,CACH,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,iBAAiB,GAC1B,SAAS,CAAC;QACb,IAAI,CACF,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,CAAC;QACb,SAAS,IAAI,SAAS,CAAC;KACxB;CACF"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { AggregateFunction } from '../operations/aggregation.js';
|
|
2
|
-
/**
|
|
3
|
-
* StatAccumulator tracks multiple statistics in a single pass through the data.
|
|
4
|
-
* Uses Welford's online algorithm for numerically stable variance computation.
|
|
5
|
-
*/
|
|
6
|
-
export declare class StatAccumulator {
|
|
7
|
-
count: number;
|
|
8
|
-
sum: number;
|
|
9
|
-
min: number;
|
|
10
|
-
max: number;
|
|
11
|
-
private mean_;
|
|
12
|
-
private m2;
|
|
13
|
-
/**
|
|
14
|
-
* Add a single value to the accumulator.
|
|
15
|
-
* Updates all statistics in O(1) time.
|
|
16
|
-
*/
|
|
17
|
-
add(value: number): void;
|
|
18
|
-
/**
|
|
19
|
-
* Get the mean of all added values.
|
|
20
|
-
*/
|
|
21
|
-
getMean(): number;
|
|
22
|
-
/**
|
|
23
|
-
* Get the sample variance (n-1 denominator).
|
|
24
|
-
*/
|
|
25
|
-
getVariance(): number;
|
|
26
|
-
/**
|
|
27
|
-
* Get the sample standard deviation.
|
|
28
|
-
*/
|
|
29
|
-
getStd(): number;
|
|
30
|
-
/**
|
|
31
|
-
* Get a specific aggregate value by function name.
|
|
32
|
-
*/
|
|
33
|
-
getValue(fn: AggregateFunction): number;
|
|
34
|
-
/**
|
|
35
|
-
* Merge another accumulator into this one.
|
|
36
|
-
* Useful for parallel aggregation.
|
|
37
|
-
*/
|
|
38
|
-
merge(other: StatAccumulator): void;
|
|
39
|
-
/**
|
|
40
|
-
* Reset the accumulator for reuse.
|
|
41
|
-
*/
|
|
42
|
-
reset(): void;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* GroupedAccumulators manages StatAccumulators for multiple groups and columns.
|
|
46
|
-
* Enables single-pass aggregation across all groups and aggregate functions.
|
|
47
|
-
*/
|
|
48
|
-
export declare class GroupedAccumulators {
|
|
49
|
-
private accumulators;
|
|
50
|
-
private columns;
|
|
51
|
-
constructor(columns: string[]);
|
|
52
|
-
/**
|
|
53
|
-
* Get or create the accumulator for a group and column.
|
|
54
|
-
*/
|
|
55
|
-
getAccumulator(groupKey: string, columnName: string): StatAccumulator;
|
|
56
|
-
/**
|
|
57
|
-
* Add a value for a specific group and column.
|
|
58
|
-
*/
|
|
59
|
-
add(groupKey: string, columnName: string, value: number | null): void;
|
|
60
|
-
/**
|
|
61
|
-
* Get all group keys.
|
|
62
|
-
*/
|
|
63
|
-
getGroups(): string[];
|
|
64
|
-
/**
|
|
65
|
-
* Get the aggregate value for a group and column.
|
|
66
|
-
*/
|
|
67
|
-
getValue(groupKey: string, columnName: string, fn: AggregateFunction): number;
|
|
68
|
-
/**
|
|
69
|
-
* Get the count for a group (same across all columns).
|
|
70
|
-
*/
|
|
71
|
-
getGroupCount(groupKey: string): number;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* AggregationPlan represents the columns and functions to aggregate.
|
|
75
|
-
*/
|
|
76
|
-
export interface AggregationPlan {
|
|
77
|
-
columns: string[];
|
|
78
|
-
functions: Map<string, AggregateFunction[]>;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Creates an aggregation plan from a spec object.
|
|
82
|
-
*/
|
|
83
|
-
export declare function createAggregationPlan(spec: Record<string, AggregateFunction | AggregateFunction[]>): AggregationPlan;
|
|
84
|
-
//# sourceMappingURL=aggregation-engine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aggregation-engine.d.ts","sourceRoot":"","sources":["../../src/utils/aggregation-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;GAGG;AACH,qBAAa,eAAe;IAC1B,KAAK,EAAE,MAAM,CAAK;IAClB,GAAG,EAAE,MAAM,CAAK;IAChB,GAAG,EAAE,MAAM,CAAY;IACvB,GAAG,EAAE,MAAM,CAAa;IACxB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,EAAE,CAAa;IAEvB;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAcxB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,iBAAiB,GAAG,MAAM;IAqBvC;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IA2BnC;;OAEG;IACH,KAAK,IAAI,IAAI;CAQd;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAE9B,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,OAAO,CAAW;gBAEd,OAAO,EAAE,MAAM,EAAE;IAI7B;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe;IAgBrE;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAMrE;;OAEG;IACH,SAAS,IAAI,MAAM,EAAE;IAIrB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,GAAG,MAAM;IAQ7E;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAUxC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAAC,GAC5D,eAAe,CAWjB"}
|
package/dist/utils/bitset.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export declare class BitSet {
|
|
2
|
-
private data;
|
|
3
|
-
private length;
|
|
4
|
-
constructor(length: number);
|
|
5
|
-
set(index: number, value: boolean): void;
|
|
6
|
-
get(index: number): boolean;
|
|
7
|
-
size(): number;
|
|
8
|
-
count(): number;
|
|
9
|
-
private popCount;
|
|
10
|
-
/**
|
|
11
|
-
* Get a batch of null flags as a bitmask.
|
|
12
|
-
* Useful for SIMD-style batch null checking.
|
|
13
|
-
* @param startIndex The starting index (must be aligned to 32 for optimal performance)
|
|
14
|
-
* @param count Number of bits to get (max 32)
|
|
15
|
-
* @returns A number where bit i is set if index (startIndex + i) is null
|
|
16
|
-
*/
|
|
17
|
-
getNullMaskBatch(startIndex: number, count: number): number;
|
|
18
|
-
/**
|
|
19
|
-
* Check if any bit in a range is set.
|
|
20
|
-
* Faster than checking each bit individually.
|
|
21
|
-
*/
|
|
22
|
-
anySet(startIndex: number, count: number): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Get direct access to the underlying data array.
|
|
25
|
-
* @internal
|
|
26
|
-
*/
|
|
27
|
-
getDataRef(): Uint32Array;
|
|
28
|
-
[Symbol.iterator](): Iterator<boolean>;
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=bitset.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bitset.d.ts","sourceRoot":"","sources":["../../src/utils/bitset.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACjB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAK1B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAaxC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAS3B,IAAI,IAAI,MAAM;IAId,KAAK,IAAI,MAAM;IAQf,OAAO,CAAC,QAAQ;IAMhB;;;;;;OAMG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IA4B3D;;;OAGG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAmBlD;;;OAGG;IACH,UAAU,IAAI,WAAW;IAIxB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;CAKxC"}
|
package/dist/utils/hash.d.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { DataType } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* TypedHasher provides efficient hashing for different data types.
|
|
4
|
-
* Uses numeric hashing for numeric keys to avoid expensive string conversion.
|
|
5
|
-
*/
|
|
6
|
-
export declare class TypedHasher {
|
|
7
|
-
private static readonly FNV_OFFSET;
|
|
8
|
-
private static readonly FNV_PRIME;
|
|
9
|
-
private static readonly NULL_SENTINEL;
|
|
10
|
-
/**
|
|
11
|
-
* Hash a single numeric value directly without string conversion.
|
|
12
|
-
* For 32-bit integers, uses the value itself as the hash.
|
|
13
|
-
* For floats, uses bit-level hashing.
|
|
14
|
-
*/
|
|
15
|
-
static hashSingleNumeric(value: number | null): number;
|
|
16
|
-
/**
|
|
17
|
-
* Hash a float64 value using bit-level operations.
|
|
18
|
-
*/
|
|
19
|
-
private static hashFloat64;
|
|
20
|
-
/**
|
|
21
|
-
* Hash a string value using FNV-1a.
|
|
22
|
-
*/
|
|
23
|
-
static hashString(value: string | null): number;
|
|
24
|
-
/**
|
|
25
|
-
* Hash any value based on its type.
|
|
26
|
-
*/
|
|
27
|
-
static hashValue(value: any, dataType: DataType): number;
|
|
28
|
-
/**
|
|
29
|
-
* Hash a composite key (multiple columns) using FNV-1a combining.
|
|
30
|
-
*/
|
|
31
|
-
static hashCompositeKey(values: any[], types: DataType[]): number;
|
|
32
|
-
/**
|
|
33
|
-
* Create a compound key for exact matching when hash collision is possible.
|
|
34
|
-
* Returns a string representation for collision detection.
|
|
35
|
-
*/
|
|
36
|
-
static createCompoundKey(values: any[]): string;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* NumericHashMap is a hash map optimized for numeric keys.
|
|
40
|
-
* Uses open addressing with linear probing for cache-friendly access.
|
|
41
|
-
*/
|
|
42
|
-
export declare class NumericHashMap<V> {
|
|
43
|
-
private keys;
|
|
44
|
-
private values;
|
|
45
|
-
private compoundKeys;
|
|
46
|
-
private size;
|
|
47
|
-
private capacity;
|
|
48
|
-
private readonly EMPTY;
|
|
49
|
-
private readonly DELETED;
|
|
50
|
-
constructor(expectedSize?: number);
|
|
51
|
-
private nextPowerOfTwo;
|
|
52
|
-
private hash;
|
|
53
|
-
/**
|
|
54
|
-
* Set a value with both numeric hash and compound key for exact matching.
|
|
55
|
-
*/
|
|
56
|
-
set(numericKey: number, compoundKey: string, value: V): void;
|
|
57
|
-
/**
|
|
58
|
-
* Get a value by numeric hash and compound key.
|
|
59
|
-
*/
|
|
60
|
-
get(numericKey: number, compoundKey: string): V | undefined;
|
|
61
|
-
/**
|
|
62
|
-
* Check if a key exists.
|
|
63
|
-
*/
|
|
64
|
-
has(numericKey: number, compoundKey: string): boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Get or create a value.
|
|
67
|
-
*/
|
|
68
|
-
getOrCreate(numericKey: number, compoundKey: string, factory: () => V): V;
|
|
69
|
-
private resize;
|
|
70
|
-
/**
|
|
71
|
-
* Iterate over all entries.
|
|
72
|
-
*/
|
|
73
|
-
entries(): IterableIterator<[string, V]>;
|
|
74
|
-
/**
|
|
75
|
-
* Get the number of entries.
|
|
76
|
-
*/
|
|
77
|
-
getSize(): number;
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=hash.d.ts.map
|
package/dist/utils/hash.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/utils/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;;GAGG;AACH,qBAAa,WAAW;IAEtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAc;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAc;IAG/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAe;IAEpD;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAWtD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAO1B;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAW/C;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAmBxD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM;IAWjE;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM;CAGhD;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;gBAE3B,YAAY,GAAE,MAAa;IAQvC,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,IAAI;IAKZ;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAgC5D;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAkB3D;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAIrD;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;IAgCzE,OAAO,CAAC,MAAM;IAmBd;;OAEG;IACF,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAQzC;;OAEG;IACH,OAAO,IAAI,MAAM;CAGlB"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
export declare class PerformanceTimer {
|
|
2
|
-
private startTime;
|
|
3
|
-
private measurements;
|
|
4
|
-
start(): void;
|
|
5
|
-
end(label: string): number;
|
|
6
|
-
measure<T>(label: string, fn: () => T): T;
|
|
7
|
-
measureAsync<T>(label: string, fn: () => Promise<T>): Promise<T>;
|
|
8
|
-
getMeasurement(label: string): number | undefined;
|
|
9
|
-
getAllMeasurements(): Record<string, number>;
|
|
10
|
-
formatTime(ms: number): string;
|
|
11
|
-
printSummary(): void;
|
|
12
|
-
reset(): void;
|
|
13
|
-
}
|
|
14
|
-
export declare class DataGenerator {
|
|
15
|
-
private static randomInt;
|
|
16
|
-
private static randomFloat;
|
|
17
|
-
static generatePopulationData(count: number): Array<{
|
|
18
|
-
id: number;
|
|
19
|
-
population1: number;
|
|
20
|
-
population2: number;
|
|
21
|
-
population3: number;
|
|
22
|
-
}>;
|
|
23
|
-
static generateCategoryData(populationCount: number): Array<{
|
|
24
|
-
id: number;
|
|
25
|
-
category: string;
|
|
26
|
-
}>;
|
|
27
|
-
static generateLargeDataset(populationRows: number, options?: {
|
|
28
|
-
includeNulls?: boolean;
|
|
29
|
-
nullPercentage?: number;
|
|
30
|
-
skewCategories?: boolean;
|
|
31
|
-
}): {
|
|
32
|
-
populationData: ReturnType<typeof DataGenerator.generatePopulationData>;
|
|
33
|
-
categoryData: ReturnType<typeof DataGenerator.generateCategoryData>;
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
export declare class MemoryProfiler {
|
|
37
|
-
private initialMemory;
|
|
38
|
-
start(): void;
|
|
39
|
-
getMemoryUsage(): number;
|
|
40
|
-
getCurrentUsage(): number;
|
|
41
|
-
formatBytes(bytes: number): string;
|
|
42
|
-
end(): string;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=performance.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/utils/performance.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,YAAY,CAAkC;IAEtD,KAAK,IAAI,IAAI;IAIb,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAO1B,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAOnC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAOtE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjD,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAU9B,YAAY,IAAI,IAAI;IAWpB,KAAK,IAAI,IAAI;CAId;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;QAClD,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAeF,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,KAAK,CAAC;QAC1D,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAcF,MAAM,CAAC,oBAAoB,CACzB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE;QACP,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,OAAO,CAAC;KACrB,GACL;QACD,cAAc,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACxE,YAAY,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,oBAAoB,CAAC,CAAC;KACrE;CA6BF;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,aAAa,CAAa;IAElC,KAAK,IAAI,IAAI;IASb,cAAc,IAAI,MAAM;IASxB,eAAe,IAAI,MAAM;IAIzB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQlC,GAAG,IAAI,MAAM;CAId"}
|
package/dist/utils/types.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type DataType = 'int8' | 'int16' | 'int32' | 'float32' | 'float64' | 'string' | 'boolean';
|
|
2
|
-
export type TypedArrayConstructor = Int8ArrayConstructor | Int16ArrayConstructor | Int32ArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor;
|
|
3
|
-
export type TypedArrayInstance = Int8Array | Int16Array | Int32Array | Float32Array | Float64Array;
|
|
4
|
-
export declare const TYPE_CONSTRUCTORS: Record<DataType, TypedArrayConstructor | null>;
|
|
5
|
-
export declare function inferDataType(value: any): DataType;
|
|
6
|
-
export declare function inferArrayDataType(values: any[]): DataType;
|
|
7
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjG,MAAM,MAAM,qBAAqB,GAC7B,oBAAoB,GACpB,qBAAqB,GACrB,qBAAqB,GACrB,uBAAuB,GACvB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,UAAU,GACV,UAAU,GACV,YAAY,GACZ,YAAY,CAAC;AAEjB,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAQ5E,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,QAAQ,CAYlD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAqB1D"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { DataFrame } from '../core/dataframe.js';
|
|
3
|
-
export type SchemaDefinition = z.ZodRawShape;
|
|
4
|
-
export type DataFrameSchema<T extends SchemaDefinition = SchemaDefinition> = z.ZodObject<T> | z.ZodTypeAny;
|
|
5
|
-
export interface ValidationResult {
|
|
6
|
-
success: boolean;
|
|
7
|
-
errors: ValidationError[];
|
|
8
|
-
validRows: number;
|
|
9
|
-
totalRows: number;
|
|
10
|
-
}
|
|
11
|
-
export interface ValidationError {
|
|
12
|
-
row: number;
|
|
13
|
-
column: string;
|
|
14
|
-
value: any;
|
|
15
|
-
message: string;
|
|
16
|
-
}
|
|
17
|
-
export declare class SchemaValidator {
|
|
18
|
-
static define<T extends SchemaDefinition>(shape: T): DataFrameSchema<T>;
|
|
19
|
-
static validate(df: DataFrame, schema: DataFrameSchema | z.ZodTypeAny, options?: ValidationOptions): ValidationResult;
|
|
20
|
-
static validateAndTransform(df: DataFrame, schema: DataFrameSchema | z.ZodTypeAny): DataFrame;
|
|
21
|
-
static filterValid(df: DataFrame, schema: DataFrameSchema | z.ZodTypeAny): DataFrame;
|
|
22
|
-
static getInvalid(df: DataFrame, schema: DataFrameSchema | z.ZodTypeAny): DataFrame;
|
|
23
|
-
}
|
|
24
|
-
export interface ValidationOptions {
|
|
25
|
-
stopOnFirst?: boolean;
|
|
26
|
-
coerce?: boolean;
|
|
27
|
-
}
|
|
28
|
-
export declare class SchemaBuilders {
|
|
29
|
-
static numeric(min?: number, max?: number): z.ZodNumber;
|
|
30
|
-
static string(minLength?: number, maxLength?: number): z.ZodString;
|
|
31
|
-
static email(): z.ZodString;
|
|
32
|
-
static url(): z.ZodString;
|
|
33
|
-
static date(): z.ZodEffects<z.ZodUnion<[z.ZodDate, z.ZodString]>, Date, string | Date>;
|
|
34
|
-
static enum(values: [string, ...string[]]): z.ZodEnum<[string, ...string[]]>;
|
|
35
|
-
static optional<T extends z.ZodTypeAny>(schema: T): z.ZodOptional<T>;
|
|
36
|
-
static nullable<T extends z.ZodTypeAny>(schema: T): z.ZodNullable<T>;
|
|
37
|
-
static array<T extends z.ZodTypeAny>(schema: T): z.ZodArray<T>;
|
|
38
|
-
}
|
|
39
|
-
export declare const CommonSchemas: {
|
|
40
|
-
person: DataFrameSchema<{
|
|
41
|
-
name: z.ZodString;
|
|
42
|
-
age: z.ZodNumber;
|
|
43
|
-
email: z.ZodOptional<z.ZodString>;
|
|
44
|
-
}>;
|
|
45
|
-
product: DataFrameSchema<{
|
|
46
|
-
id: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
|
|
47
|
-
name: z.ZodString;
|
|
48
|
-
price: z.ZodNumber;
|
|
49
|
-
category: z.ZodString;
|
|
50
|
-
inStock: z.ZodOptional<z.ZodBoolean>;
|
|
51
|
-
}>;
|
|
52
|
-
transaction: DataFrameSchema<{
|
|
53
|
-
id: z.ZodString;
|
|
54
|
-
amount: z.ZodNumber;
|
|
55
|
-
currency: z.ZodEnum<["USD", "EUR", "GBP", "JPY"]>;
|
|
56
|
-
date: z.ZodEffects<z.ZodUnion<[z.ZodDate, z.ZodString]>, Date, string | Date>;
|
|
57
|
-
description: z.ZodOptional<z.ZodString>;
|
|
58
|
-
}>;
|
|
59
|
-
coordinate: DataFrameSchema<{
|
|
60
|
-
latitude: z.ZodNumber;
|
|
61
|
-
longitude: z.ZodNumber;
|
|
62
|
-
altitude: z.ZodOptional<z.ZodNumber>;
|
|
63
|
-
}>;
|
|
64
|
-
};
|
|
65
|
-
declare module '../core/dataframe.js' {
|
|
66
|
-
interface DataFrame {
|
|
67
|
-
validate(schema: DataFrameSchema | z.ZodTypeAny, options?: ValidationOptions): ValidationResult;
|
|
68
|
-
validateAndTransform(schema: DataFrameSchema | z.ZodTypeAny): DataFrame;
|
|
69
|
-
filterValid(schema: DataFrameSchema | z.ZodTypeAny): DataFrame;
|
|
70
|
-
getInvalid(schema: DataFrameSchema | z.ZodTypeAny): DataFrame;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/validation/schema.ts"],"names":[],"mappings":"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"}
|