df-script 1.8.0 → 2.0.0

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.
Files changed (64) hide show
  1. package/README.md +153 -203
  2. package/dist/api.d.ts +41 -36
  3. package/dist/columnExpressions/ColumnExpr.d.ts +5 -8
  4. package/dist/columnExpressions/ExprBase.d.ts +7 -0
  5. package/dist/columnExpressions/constants.d.ts +1 -0
  6. package/dist/columnExpressions/functions/all.d.ts +13 -13
  7. package/dist/columnExpressions/functions/coalesce.d.ts +2 -2
  8. package/dist/columnExpressions/functions/duration.d.ts +16 -21
  9. package/dist/columnExpressions/functions/element.d.ts +10 -10
  10. package/dist/columnExpressions/functions/exclude.d.ts +14 -14
  11. package/dist/columnExpressions/functions/implode.d.ts +7 -7
  12. package/dist/columnExpressions/functions/lit.d.ts +9 -9
  13. package/dist/columnExpressions/functions/seqRange.d.ts +69 -0
  14. package/dist/columnExpressions/functions/struct.d.ts +6 -6
  15. package/dist/columnExpressions/functions/when.d.ts +31 -32
  16. package/dist/columnExpressions/index.d.ts +4 -7
  17. package/dist/columnExpressions/mixins/AggregationExpr.d.ts +672 -141
  18. package/dist/columnExpressions/mixins/ArithmeticExpr.d.ts +701 -327
  19. package/dist/columnExpressions/mixins/ArrayExpr.d.ts +543 -231
  20. package/dist/columnExpressions/mixins/ComparisonExpr.d.ts +398 -201
  21. package/dist/columnExpressions/mixins/LogicalExpr.d.ts +59 -29
  22. package/dist/columnExpressions/mixins/ManipulationExpr.d.ts +23 -9
  23. package/dist/columnExpressions/mixins/StandardExpr.d.ts +3234 -0
  24. package/dist/columnExpressions/mixins/StringExpr.d.ts +1299 -396
  25. package/dist/columnExpressions/mixins/StructExpr.d.ts +72 -30
  26. package/dist/columnExpressions/mixins/TemporalExpr.d.ts +518 -212
  27. package/dist/columnExpressions/mixins/WindowExpr.d.ts +270 -102
  28. package/dist/columnExpressions/typeInference.d.ts +13 -0
  29. package/dist/columnExpressions/types.d.ts +6 -1
  30. package/dist/columnExpressions/utils.d.ts +16 -0
  31. package/dist/constants.d.ts +38 -0
  32. package/dist/dataframe/dataframe.d.ts +755 -608
  33. package/dist/dataframe/grouped/grouped.d.ts +24 -6
  34. package/dist/dataframe/grouped.d.ts +70 -0
  35. package/dist/dataframe/index.d.ts +1 -1
  36. package/dist/dataframe/lazy.d.ts +37 -0
  37. package/dist/dataframe/types.d.ts +46 -22
  38. package/dist/dataframe/utils.d.ts +10 -4
  39. package/dist/datatypes/index.d.ts +11 -4
  40. package/dist/expressions.js +1 -0
  41. package/dist/expressions.mjs +1 -0
  42. package/dist/functions/concat.d.ts +68 -16
  43. package/dist/functions/index.d.ts +2 -2
  44. package/dist/functions/readCsv.d.ts +35 -0
  45. package/dist/functions/readJson.d.ts +33 -0
  46. package/dist/index.js +5 -6
  47. package/dist/index.mjs +5 -6
  48. package/dist/types.d.ts +148 -7
  49. package/dist/utils/array.d.ts +54 -18
  50. package/dist/utils/binary.d.ts +6 -2
  51. package/dist/utils/csv.d.ts +4 -1
  52. package/dist/utils/date.d.ts +3 -19
  53. package/dist/utils/duration.d.ts +7 -5
  54. package/dist/utils/json.d.ts +56 -2
  55. package/dist/utils/number.d.ts +5 -2
  56. package/dist/utils/object.d.ts +7 -12
  57. package/dist/utils/string.d.ts +83 -2
  58. package/dist/utils/table.d.ts +76 -0
  59. package/dist/utils.js +4 -0
  60. package/dist/utils.mjs +4 -0
  61. package/package.json +29 -8
  62. package/dist/assets/index-DBhGK6Tp.css +0 -1
  63. package/dist/assets/index-DEJEV_tU.js +0 -195
  64. package/dist/index.html +0 -17
@@ -1,64 +1,92 @@
1
1
  import { ExprBase } from "../ExprBase";
2
- import type { IntoExpr, IExpr } from "../../types";
2
+ import type { IntoExpr } from "../../types";
3
3
  /**
4
4
  * @namespace $df.col.struct
5
5
  * @category ColumnExpression
6
6
  * @syntax $df.col(<column_name>).struct.{symbol}(...)
7
7
  */
8
8
  export declare class StructExprNamespace {
9
- expr: IExpr;
10
- constructor(expr: IExpr);
9
+ expr: any;
10
+ constructor(expr: any);
11
11
  /**
12
12
  * Extracts a sub-field property value from nested objects/struct columns.
13
13
  * @param name Name of the field key to extract.
14
14
  * @returns ColumnExpression
15
15
  * @example
16
- * >>> const df = $df.data({ user: [{ name: "Alice", id: 1 }] })
17
- * >>> df.with_columns($df.col("user").struct.field("name").alias("user_name"))
16
+ * >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
17
+ * >>> df
18
+ * shape: (1, 1)
19
+ * ┌────────────────────────────────┐
20
+ * │ user │
21
+ * ├────────────────────────────────┤
22
+ * │ { name: "Alice", age: 30 } │
23
+ * └────────────────────────────────┘
24
+ * >>> df.withColumns($df.col("user").struct.field("name").alias("user_name"))
18
25
  * shape: (1, 2)
19
- * ┌─────────────────────────┬───────────┐
20
- * │ user │ user_name │
21
- * ├─────────────────────────┼───────────┤
22
- * │ { name: "Alice", id: 1 }│ Alice │
23
- * └─────────────────────────┴───────────┘
26
+ * ┌───────────────────────────┬───────────┐
27
+ * │ user │ user_name │
28
+ * ├───────────────────────────┼───────────┤
29
+ * │ { name: "Alice", id: 1 } │ Alice │
30
+ * └───────────────────────────┴───────────┘
24
31
  */
25
- field(name: string): IExpr;
32
+ field(name: string): any;
26
33
  /**
27
34
  * Renames existing field keys inside structured object columns.
28
35
  * @param mapping Key-value map of current field names to new field names.
29
36
  * @returns ColumnExpression
30
37
  * @example
31
- * >>> const df = $df.data({ user: [{ first: "Alice" }] })
32
- * >>> df.with_columns($df.col("user").struct.rename_fields({ first: "first_name" }).alias("user_renamed"))
38
+ * >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
39
+ * >>> df
40
+ * shape: (1, 1)
41
+ * ┌────────────────────────────────┐
42
+ * │ user │
43
+ * ├────────────────────────────────┤
44
+ * │ { name: "Alice", age: 30 } │
45
+ * └────────────────────────────────┘
46
+ * >>> df.withColumns($df.col("user").struct.renameFields({ name: "first_name" }).alias("user_renamed"))
33
47
  * shape: (1, 2)
34
- * ┌───────────────────┬─────────────────────────┐
35
- * │ user │ user_renamed
36
- * ├───────────────────┼─────────────────────────┤
37
- * │ { first: "Alice" }│ { first_name: "Alice" } │
38
- * └───────────────────┴─────────────────────────┘
48
+ * ┌───────────────────────────┬────────────────────────────────┐
49
+ * │ user │ user_renamed
50
+ * ├───────────────────────────┼────────────────────────────────┤
51
+ * │ { name: "Alice", id: 1 } │ { id: 1, first_name: "Alice" } │
52
+ * └───────────────────────────┴────────────────────────────────┘
39
53
  */
40
- rename_fields(mapping: Record<string, string>): IExpr;
54
+ renameFields(mapping: Record<string, string>): any;
41
55
  /**
42
56
  * Inserts or updates fields inside structured object columns.
43
57
  * @param fields Expressions or field map defining new or updated fields.
44
58
  * @returns ColumnExpression
45
59
  * @throws {Error} If expressions passed without an alias or name.
46
60
  * @example
47
- * >>> const df = $df.data({ user: [{ name: "Alice" }], age: [30] })
48
- * >>> df.with_columns($df.col("user").struct.with_fields({ user_age: $df.col("age") }).alias("updated_user"))
49
- * shape: (1, 3)
50
- * ┌─────────────────┬─────┬───────────────────────────────┐
51
- * │ user age │ updated_user │
52
- * ├─────────────────┼─────┼───────────────────────────────┤
53
- * │ { name: "Alice"}│ 30 │ { name: "Alice", user_age: 30}│
54
- * └─────────────────┴─────┴───────────────────────────────┘
61
+ * >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
62
+ * >>> df
63
+ * shape: (1, 1)
64
+ * ┌────────────────────────────────┐
65
+ * │ user
66
+ * ├────────────────────────────────┤
67
+ * │ { name: "Alice", age: 30 }
68
+ * └────────────────────────────────┘
69
+ * >>> df.withColumns($df.col("user").struct.withFields({ is_active: $df.lit(true) }).alias("updated_user"))
70
+ * shape: (1, 2)
71
+ * ┌──────────────────────────────┬───────────────────────────────────────────┐
72
+ * │ user │ updated_user │
73
+ * ├──────────────────────────────┼───────────────────────────────────────────┤
74
+ * │ { name: "Alice", age: 30 } │ { name: "Alice", age: 30, is_active: true }│
75
+ * └──────────────────────────────┴───────────────────────────────────────────┘
55
76
  */
56
- with_fields(fields: IntoExpr[] | Record<string, IntoExpr>): IExpr;
77
+ withFields(fields: IntoExpr[] | Record<string, IntoExpr>): any;
57
78
  /**
58
79
  * Expands nested struct attributes into distinct columns in the DataFrame schema.
59
80
  * @returns ColumnExpression
60
81
  * @example
61
- * >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
82
+ * >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
83
+ * >>> df
84
+ * shape: (1, 1)
85
+ * ┌────────────────────────────────┐
86
+ * │ user │
87
+ * ├────────────────────────────────┤
88
+ * │ { name: "Alice", age: 30 } │
89
+ * └────────────────────────────────┘
62
90
  * >>> df.select($df.col("user").struct.unnest())
63
91
  * shape: (1, 2)
64
92
  * ┌───────┬─────┐
@@ -67,7 +95,7 @@ export declare class StructExprNamespace {
67
95
  * │ Alice │ 30 │
68
96
  * └───────┴─────┘
69
97
  */
70
- unnest(): IExpr;
98
+ unnest(): any;
71
99
  }
72
100
  export interface StructExprNamespace {
73
101
  [key: string]: any;
@@ -80,7 +108,21 @@ export declare class StructExpr extends ExprBase {
80
108
  * @syntax $df.col(<column_name>).struct
81
109
  * @returns StructExprNamespace
82
110
  * @example
111
+ * >>> const df = $df.data({ user: [{ name: "Alice", age: 30 }] })
112
+ * >>> df
113
+ * shape: (1, 1)
114
+ * ┌────────────────────────────────┐
115
+ * │ user │
116
+ * ├────────────────────────────────┤
117
+ * │ { name: "Alice", age: 30 } │
118
+ * └────────────────────────────────┘
83
119
  * >>> df.select($df.col("user").struct.field("name"))
120
+ * shape: (1, 1)
121
+ * ┌─────────┐
122
+ * │ name │
123
+ * ├─────────┤
124
+ * │ "Alice" │
125
+ * └─────────┘
84
126
  */
85
127
  get struct(): StructExprNamespace;
86
128
  }