@milaboratories/pl-model-common 1.11.4 → 1.13.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 (46) hide show
  1. package/dist/drivers/pframe/data_info.d.ts +169 -0
  2. package/dist/drivers/pframe/data_info.d.ts.map +1 -0
  3. package/dist/drivers/pframe/{data.d.ts → data_types.d.ts} +1 -7
  4. package/dist/drivers/pframe/data_types.d.ts.map +1 -0
  5. package/dist/drivers/pframe/driver.d.ts +1 -1
  6. package/dist/drivers/pframe/driver.d.ts.map +1 -1
  7. package/dist/drivers/pframe/index.d.ts +2 -1
  8. package/dist/drivers/pframe/index.d.ts.map +1 -1
  9. package/dist/drivers/pframe/spec/{anchored_id.d.ts → anchored.d.ts} +20 -13
  10. package/dist/drivers/pframe/spec/anchored.d.ts.map +1 -0
  11. package/dist/drivers/pframe/spec/filtered_column.d.ts +31 -0
  12. package/dist/drivers/pframe/spec/filtered_column.d.ts.map +1 -0
  13. package/dist/drivers/pframe/spec/ids.d.ts +24 -0
  14. package/dist/drivers/pframe/spec/ids.d.ts.map +1 -0
  15. package/dist/drivers/pframe/spec/index.d.ts +3 -1
  16. package/dist/drivers/pframe/spec/index.d.ts.map +1 -1
  17. package/dist/drivers/pframe/spec/selectors.d.ts +3 -3
  18. package/dist/drivers/pframe/spec/selectors.d.ts.map +1 -1
  19. package/dist/drivers/pframe/spec/spec.d.ts +2 -0
  20. package/dist/drivers/pframe/spec/spec.d.ts.map +1 -1
  21. package/dist/drivers/pframe/table.d.ts +1 -1
  22. package/dist/drivers/pframe/table.d.ts.map +1 -1
  23. package/dist/drivers/pframe/table_calculate.d.ts +1 -1
  24. package/dist/drivers/pframe/table_calculate.d.ts.map +1 -1
  25. package/dist/drivers/pframe/unique_values.d.ts +1 -1
  26. package/dist/drivers/pframe/unique_values.d.ts.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.mjs +383 -191
  30. package/dist/index.mjs.map +1 -1
  31. package/package.json +3 -3
  32. package/src/drivers/pframe/data_info.ts +430 -0
  33. package/src/drivers/pframe/{data.ts → data_types.ts} +0 -7
  34. package/src/drivers/pframe/driver.ts +1 -1
  35. package/src/drivers/pframe/index.ts +2 -1
  36. package/src/drivers/pframe/spec/{anchored_id.ts → anchored.ts} +63 -21
  37. package/src/drivers/pframe/spec/filtered_column.ts +39 -0
  38. package/src/drivers/pframe/spec/ids.ts +31 -0
  39. package/src/drivers/pframe/spec/index.ts +3 -1
  40. package/src/drivers/pframe/spec/selectors.ts +4 -3
  41. package/src/drivers/pframe/spec/spec.ts +6 -0
  42. package/src/drivers/pframe/table.ts +1 -1
  43. package/src/drivers/pframe/table_calculate.ts +1 -1
  44. package/src/drivers/pframe/unique_values.ts +1 -1
  45. package/dist/drivers/pframe/data.d.ts.map +0 -1
  46. package/dist/drivers/pframe/spec/anchored_id.d.ts.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { isPColumnSpec, type PObjectSpec } from '../../../pool';
2
+ import type { AxisFilterByIdx, FilteredPColumn } from './filtered_column';
2
3
  import type { AxisId, PColumnSpec, ValueType } from './spec';
3
4
  import { getAxisId } from './spec';
4
5
 
@@ -88,7 +89,7 @@ export type AnchoredColumnMatchStrategy = 'expectSingle' | 'expectMultiple' | 't
88
89
  * Matcher for PColumns in an anchored context
89
90
  * Supports partial matching on axes, allowing for flexible column discovery
90
91
  */
91
- export interface APColumnSelector {
92
+ export interface AnchoredPColumnSelector {
92
93
  /** Optional name of the column to match; can't be used together with namePattern */
93
94
  name?: string;
94
95
  /** Optional regexp pattern for column name matching; can't be used together with name */
@@ -115,7 +116,7 @@ export interface APColumnSelector {
115
116
  /**
116
117
  * Matcher for PColumns in a non-anchored context
117
118
  */
118
- export interface PColumnSelector extends APColumnSelector {
119
+ export interface PColumnSelector extends AnchoredPColumnSelector {
119
120
  domainAnchor?: never;
120
121
  domain?: Record<string, string>;
121
122
  axes?: AxisSelector[];
@@ -125,7 +126,7 @@ export interface PColumnSelector extends APColumnSelector {
125
126
  * Strict identifier for PColumns in an anchored context
126
127
  * Unlike APColumnMatcher, this requires exact matches on domain and axes
127
128
  */
128
- export interface APColumnId extends APColumnSelector {
129
+ export interface AnchoredPColumnId extends AnchoredPColumnSelector {
129
130
  /** Name is required for exact column identification */
130
131
  name: string;
131
132
  /** No namePattern in ID */
@@ -1,4 +1,5 @@
1
1
  import type { PObject, PObjectId, PObjectSpec } from '../../../pool';
2
+ import canonicalize from 'canonicalize';
2
3
 
3
4
  /** PFrame columns and axes within them may store one of these types. */
4
5
  export type ValueType = 'Int' | 'Long' | 'Float' | 'Double' | 'String' | 'Bytes';
@@ -151,6 +152,11 @@ export function getAxesId(spec: AxesSpec): AxesId {
151
152
  return spec.map(getAxisId);
152
153
  }
153
154
 
155
+ /** Canonicalizes axis id */
156
+ export function canonicalizeAxisId(id: AxisId): string {
157
+ return canonicalize(getAxisId(id))!;
158
+ }
159
+
154
160
  /** Returns true if all domains from query are found in target */
155
161
  function matchDomain(query?: Record<string, string>, target?: Record<string, string>) {
156
162
  if (query === undefined) return target === undefined;
@@ -1,5 +1,5 @@
1
1
  import type { PTableColumnSpec } from './table_common';
2
- import type { PTableShape, PTableVector, TableRange } from './data';
2
+ import type { PTableShape, PTableVector, TableRange } from './data_types';
3
3
 
4
4
  /**
5
5
  * Table view.
@@ -1,5 +1,5 @@
1
1
  import type { PTableColumnId, PTableColumnSpec } from './table_common';
2
- import type { PTableVector } from './data';
2
+ import type { PTableVector } from './data_types';
3
3
  import { assertNever } from '../../util';
4
4
 
5
5
  /** Defines a terminal column node in the join request tree */
@@ -1,6 +1,6 @@
1
1
  import type { AxisId } from './spec/spec';
2
2
  import type { PTableRecordFilter } from './table_calculate';
3
- import type { PTableVector } from './data';
3
+ import type { PTableVector } from './data_types';
4
4
  import type { PObjectId } from '../../pool';
5
5
 
6
6
  /** Calculate set of unique values for a specific axis for the filtered set of records */
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/drivers/pframe/data.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"anchored_id.d.ts","sourceRoot":"","sources":["../../../../src/drivers/pframe/spec/anchored_id.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,KAAK,EAAoD,UAAU,EAAE,gBAAgB,EAAgB,eAAe,EAAE,MAAM,aAAa,CAAC;AACjJ,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAkBjD,yGAAyG;AACzG,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;AAEvE;;;GAGG;AACH,qBAAa,eAAe;IAiBd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhBpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;IAC9D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAC9C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAEhE;;;OAGG;gBAC0B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IAwBjE;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU;IA6CrC;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB;CAIvD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAqC/G"}