@milaboratories/pl-model-common 1.14.0 → 1.14.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/pl-model-common",
3
- "version": "1.14.0",
3
+ "version": "1.14.1",
4
4
  "description": "Platforma SDK Model",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -22,7 +22,7 @@
22
22
  "@milaboratories/pl-error-like": "1.12.1"
23
23
  },
24
24
  "devDependencies": {
25
- "eslint": "^9.23.0",
25
+ "eslint": "^9.25.1",
26
26
  "typescript": "~5.5.4",
27
27
  "vite": "^5.4.11",
28
28
  "vitest": "^2.1.8",
@@ -2,6 +2,8 @@ import type { PTableColumnId, PTableColumnSpec } from './table_common';
2
2
  import type { PTableVector } from './data_types';
3
3
  import type { PObjectId } from '../../pool';
4
4
  import { assertNever } from '../../util';
5
+ import type { PColumn } from './spec/spec';
6
+ import type { PColumnValues } from './data_info';
5
7
 
6
8
  /** Defines a terminal column node in the join request tree */
7
9
  export interface ColumnJoinEntry<Col> {
@@ -42,6 +44,15 @@ export interface SlicedColumnJoinEntry<Col> {
42
44
  readonly axisFilters: ConstantAxisFilter[];
43
45
  }
44
46
 
47
+ /** Defines a terminal column node in the join request tree */
48
+ export interface InlineColumnJoinEntry {
49
+ /** Node type discriminator */
50
+ readonly type: 'inlineColumn';
51
+
52
+ /** Column definition */
53
+ readonly column: PColumn<PColumnValues>;
54
+ }
55
+
45
56
  /**
46
57
  * Defines a join request tree node that will output only records present in
47
58
  * all child nodes ({@link entries}).
@@ -100,6 +111,7 @@ export interface OuterJoin<Col> {
100
111
  export type JoinEntry<Col> =
101
112
  | ColumnJoinEntry<Col>
102
113
  | SlicedColumnJoinEntry<Col>
114
+ | InlineColumnJoinEntry
103
115
  | InnerJoin<Col>
104
116
  | FullJoin<Col>
105
117
  | OuterJoin<Col>;
@@ -364,6 +376,8 @@ export function mapJoinEntry<C1, C2>(
364
376
  newId: entry.newId,
365
377
  axisFilters: entry.axisFilters,
366
378
  };
379
+ case 'inlineColumn':
380
+ return entry;
367
381
  case 'inner':
368
382
  case 'full':
369
383
  return {
package/src/pool/spec.ts CHANGED
@@ -88,6 +88,8 @@ export function extractAllColumns<D>(entry: JoinEntry<PColumn<D>>): PColumn<D>[]
88
88
  case 'slicedColumn':
89
89
  columns.set(entry.column.id, entry.column);
90
90
  return;
91
+ case 'inlineColumn':
92
+ return;
91
93
  case 'full':
92
94
  case 'inner':
93
95
  for (const e of entry.entries) addAllColumns(e);