@platforma-open/milaboratories.software-ptabler.schema 1.11.1 → 1.11.2
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/expressions.d.ts +21 -6
- package/package.json +1 -1
- package/src/expressions.ts +23 -6
package/dist/expressions.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DataType } from './common';
|
|
2
|
-
export type Expression = ComparisonExpression | BinaryArithmeticExpression | UnaryArithmeticExpression | CastExpression | BooleanLogicExpression | NotExpression | NullCheckExpression | StringJoinExpression | HashExpression | ColumnReferenceExpression | ConstantValueExpression | RankExpression | CumsumExpression | ExtendedUnaryStringExpression | StringDistanceExpression | FuzzyStringFilterExpression | WhenThenOtherwiseExpression | SubstringExpression | StringReplaceExpression | StringContainsExpression | StringStartsWithExpression | StringEndsWithExpression | StringContainsAnyExpression | StringCountMatchesExpression | StringExtractExpression | MinMaxExpression |
|
|
2
|
+
export type Expression = ComparisonExpression | BinaryArithmeticExpression | UnaryArithmeticExpression | CastExpression | BooleanLogicExpression | NotExpression | NullCheckExpression | StringJoinExpression | HashExpression | ColumnReferenceExpression | ConstantValueExpression | RankExpression | CumsumExpression | ExtendedUnaryStringExpression | StringDistanceExpression | FuzzyStringFilterExpression | WhenThenOtherwiseExpression | SubstringExpression | StringReplaceExpression | StringContainsExpression | StringStartsWithExpression | StringEndsWithExpression | StringContainsAnyExpression | StringCountMatchesExpression | StringExtractExpression | MinMaxExpression | FillNullExpression | FillNaNExpression | WindowExpression | StructFieldExpression;
|
|
3
3
|
/** Represents all possible expression types in the system. */
|
|
4
4
|
export type ComparisonOperator = 'gt' | 'ge' | 'eq' | 'lt' | 'le' | 'neq';
|
|
5
5
|
/** Defines a comparison operation between two expressions. */
|
|
@@ -374,20 +374,35 @@ export interface MinMaxExpression {
|
|
|
374
374
|
operands: Expression[];
|
|
375
375
|
}
|
|
376
376
|
/**
|
|
377
|
-
* Represents a fill
|
|
377
|
+
* Represents a fill null operation.
|
|
378
378
|
* If the 'input' expression evaluates to null, the 'fillValue' expression is used.
|
|
379
379
|
* Otherwise, the 'input' expression's value is used.
|
|
380
380
|
* This is a convenience shortcut for a common pattern often implemented with
|
|
381
|
-
* conditional expressions (e.g., when(
|
|
381
|
+
* conditional expressions (e.g., when(is_null(input), fillValue).otherwise(input)).
|
|
382
382
|
*/
|
|
383
|
-
export interface
|
|
384
|
-
/** The type of operation, always '
|
|
385
|
-
type: '
|
|
383
|
+
export interface FillNullExpression {
|
|
384
|
+
/** The type of operation, always 'fill_null'. */
|
|
385
|
+
type: 'fill_null';
|
|
386
386
|
/** The primary expression to evaluate. */
|
|
387
387
|
input: Expression;
|
|
388
388
|
/** The expression whose value is used if 'input' is null. */
|
|
389
389
|
fillValue: Expression;
|
|
390
390
|
}
|
|
391
|
+
/**
|
|
392
|
+
* Represents a fill NaN operation.
|
|
393
|
+
* If the 'input' expression evaluates to NaN, the 'fillValue' expression is used.
|
|
394
|
+
* Otherwise, the 'input' expression's value is used.
|
|
395
|
+
* This is a convenience shortcut for a common pattern often implemented with
|
|
396
|
+
* conditional expressions (e.g., when(is_nan(input), fillValue).otherwise(input)).
|
|
397
|
+
*/
|
|
398
|
+
export interface FillNaNExpression {
|
|
399
|
+
/** The type of operation, always 'fill_nan'. */
|
|
400
|
+
type: 'fill_nan';
|
|
401
|
+
/** The primary expression to evaluate. */
|
|
402
|
+
input: Expression;
|
|
403
|
+
/** The expression whose value is used if 'input' is NaN. */
|
|
404
|
+
fillValue: Expression;
|
|
405
|
+
}
|
|
391
406
|
/**
|
|
392
407
|
* Defines standard aggregation functions that can be used in window expressions.
|
|
393
408
|
*/
|
package/package.json
CHANGED
package/src/expressions.ts
CHANGED
|
@@ -27,7 +27,8 @@ export type Expression =
|
|
|
27
27
|
| StringCountMatchesExpression
|
|
28
28
|
| StringExtractExpression
|
|
29
29
|
| MinMaxExpression
|
|
30
|
-
|
|
|
30
|
+
| FillNullExpression
|
|
31
|
+
| FillNaNExpression
|
|
31
32
|
| WindowExpression
|
|
32
33
|
| StructFieldExpression;
|
|
33
34
|
|
|
@@ -470,21 +471,37 @@ export interface MinMaxExpression {
|
|
|
470
471
|
}
|
|
471
472
|
|
|
472
473
|
/**
|
|
473
|
-
* Represents a fill
|
|
474
|
+
* Represents a fill null operation.
|
|
474
475
|
* If the 'input' expression evaluates to null, the 'fillValue' expression is used.
|
|
475
476
|
* Otherwise, the 'input' expression's value is used.
|
|
476
477
|
* This is a convenience shortcut for a common pattern often implemented with
|
|
477
|
-
* conditional expressions (e.g., when(
|
|
478
|
+
* conditional expressions (e.g., when(is_null(input), fillValue).otherwise(input)).
|
|
478
479
|
*/
|
|
479
|
-
export interface
|
|
480
|
-
/** The type of operation, always '
|
|
481
|
-
type: '
|
|
480
|
+
export interface FillNullExpression {
|
|
481
|
+
/** The type of operation, always 'fill_null'. */
|
|
482
|
+
type: 'fill_null';
|
|
482
483
|
/** The primary expression to evaluate. */
|
|
483
484
|
input: Expression;
|
|
484
485
|
/** The expression whose value is used if 'input' is null. */
|
|
485
486
|
fillValue: Expression;
|
|
486
487
|
}
|
|
487
488
|
|
|
489
|
+
/**
|
|
490
|
+
* Represents a fill NaN operation.
|
|
491
|
+
* If the 'input' expression evaluates to NaN, the 'fillValue' expression is used.
|
|
492
|
+
* Otherwise, the 'input' expression's value is used.
|
|
493
|
+
* This is a convenience shortcut for a common pattern often implemented with
|
|
494
|
+
* conditional expressions (e.g., when(is_nan(input), fillValue).otherwise(input)).
|
|
495
|
+
*/
|
|
496
|
+
export interface FillNaNExpression {
|
|
497
|
+
/** The type of operation, always 'fill_nan'. */
|
|
498
|
+
type: 'fill_nan';
|
|
499
|
+
/** The primary expression to evaluate. */
|
|
500
|
+
input: Expression;
|
|
501
|
+
/** The expression whose value is used if 'input' is NaN. */
|
|
502
|
+
fillValue: Expression;
|
|
503
|
+
}
|
|
504
|
+
|
|
488
505
|
/**
|
|
489
506
|
* Defines standard aggregation functions that can be used in window expressions.
|
|
490
507
|
*/
|