@milaboratories/pl-model-middle-layer 1.7.44 → 1.7.45

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.
@@ -2,7 +2,7 @@ import { FindColumnsRequest, FindColumnsResponse } from './find_columns';
2
2
  import { DeleteColumnFromColumnsRequest, DeleteColumnFromColumnsResponse } from './delete_column';
3
3
  import { PColumnInfo, PColumnSpec, PObjectId, UniqueValuesRequest, UniqueValuesResponse } from '@milaboratories/pl-model-common';
4
4
  import { CreateTableRequestV3 } from './create_table';
5
- import { PTableV5 } from './table';
5
+ import { PTableV5, PTableV6 } from './table';
6
6
  /** Read interface exposed by PFrames library */
7
7
  export interface PFrameReadAPIV7 {
8
8
  /**
@@ -27,4 +27,28 @@ export interface PFrameReadAPIV7 {
27
27
  signal?: AbortSignal;
28
28
  }): Promise<UniqueValuesResponse>;
29
29
  }
30
+ /** Read interface exposed by PFrames library */
31
+ export interface PFrameReadAPIV8 {
32
+ /**
33
+ * Finds columns given filtering criteria on column name, annotations etc.
34
+ * and a set of qualified axes specs to find only columns with compatible
35
+ * axes spec.
36
+ *
37
+ * Only column specs are used, this method will work even for columns
38
+ * with no assigned data.
39
+ * */
40
+ findColumns(request: FindColumnsRequest): Promise<FindColumnsResponse>;
41
+ /** To be reviewed in the future */
42
+ deleteColumn(request: DeleteColumnFromColumnsRequest): Promise<DeleteColumnFromColumnsResponse>;
43
+ /** Retrieve single column spec */
44
+ getColumnSpec(columnId: PObjectId): Promise<PColumnSpec>;
45
+ /** Retrieve information about all columns currently added to the PFrame */
46
+ listColumns(): Promise<PColumnInfo[]>;
47
+ /** Calculates data for the table and returns an object to access it */
48
+ createTable(request: CreateTableRequestV3): PTableV6;
49
+ /** Calculate set of unique values for a specific axis for the filtered set of records */
50
+ getUniqueValues(request: UniqueValuesRequest, ops?: {
51
+ signal?: AbortSignal;
52
+ }): Promise<UniqueValuesResponse>;
53
+ }
30
54
  //# sourceMappingURL=api_read.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api_read.d.ts","sourceRoot":"","sources":["../../../src/pframe/internal_api/api_read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B;;;;;;;SAOK;IACL,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEvE,mCAAmC;IACnC,YAAY,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAEhG,kCAAkC;IAClC,aAAa,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD,2EAA2E;IAC3E,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtC,uEAAuE;IACvE,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAAC;IAErD,yFAAyF;IACzF,eAAe,CACb,OAAO,EAAE,mBAAmB,EAC5B,GAAG,CAAC,EAAE;QACJ,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClC"}
1
+ {"version":3,"file":"api_read.d.ts","sourceRoot":"","sources":["../../../src/pframe/internal_api/api_read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7C,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B;;;;;;;SAOK;IACL,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEvE,mCAAmC;IACnC,YAAY,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAEhG,kCAAkC;IAClC,aAAa,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD,2EAA2E;IAC3E,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtC,uEAAuE;IACvE,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAAC;IAErD,yFAAyF;IACzF,eAAe,CACb,OAAO,EAAE,mBAAmB,EAC5B,GAAG,CAAC,EAAE;QACJ,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClC;AAED,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B;;;;;;;SAOK;IACL,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEvE,mCAAmC;IACnC,YAAY,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAEhG,kCAAkC;IAClC,aAAa,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD,2EAA2E;IAC3E,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAEtC,uEAAuE;IACvE,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,QAAQ,CAAC;IAErD,yFAAyF;IACzF,eAAe,CACb,OAAO,EAAE,mBAAmB,EAC5B,GAAG,CAAC,EAAE;QACJ,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClC"}
@@ -1,6 +1,8 @@
1
1
  import { PFrameFactoryAPI } from './api_factory';
2
- import { PFrameReadAPIV7 } from './api_read';
2
+ import { PFrameReadAPIV7, PFrameReadAPIV8 } from './api_read';
3
3
  export type Logger = (level: 'info' | 'warn' | 'error', message: string) => void;
4
4
  export interface PFrameV7 extends PFrameFactoryAPI, PFrameReadAPIV7 {
5
5
  }
6
+ export interface PFrameV8 extends PFrameFactoryAPI, PFrameReadAPIV8 {
7
+ }
6
8
  //# sourceMappingURL=pframe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pframe.d.ts","sourceRoot":"","sources":["../../../src/pframe/internal_api/pframe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,MAAM,GAAG,CACnB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;AAEV,MAAM,WAAW,QAAS,SAAQ,gBAAgB,EAAE,eAAe;CAAG"}
1
+ {"version":3,"file":"pframe.d.ts","sourceRoot":"","sources":["../../../src/pframe/internal_api/pframe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,MAAM,MAAM,GAAG,CACnB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;AAEV,MAAM,WAAW,QAAS,SAAQ,gBAAgB,EAAE,eAAe;CAAG;AAEtE,MAAM,WAAW,QAAS,SAAQ,gBAAgB,EAAE,eAAe;CAAG"}
@@ -45,4 +45,58 @@ export interface PTableV5 {
45
45
  /** Deallocates all underlying resources */
46
46
  dispose(): void;
47
47
  }
48
+ /**
49
+ * Table view returned as a result of create table operation.
50
+ *
51
+ * PTable can be thought as having a composite primary key, consisting of axes,
52
+ * and a set of data columns derived from PColumn values.
53
+ * */
54
+ export interface PTableV6 {
55
+ /**
56
+ * Returns ordered array of table axes specs (primary key "columns" in SQL
57
+ * terms) and data column specs (regular "columns" in SQL terms).
58
+ *
59
+ * Data for a specific table column can be retrieved using unified indexing
60
+ * corresponding to elements in this array.
61
+ *
62
+ * Axes are always listed first.
63
+ * */
64
+ getSpec(): PTableColumnSpec[];
65
+ /** Transforms unified column identifiers into unified indices of columns. */
66
+ getColumnIndices(columnIds: PTableColumnId[]): number[];
67
+ /**
68
+ * Get PTable disk footprint in bytes
69
+ * Warning: This call materializes the join.
70
+ */
71
+ getFootprint(ops?: {
72
+ withPredecessors?: boolean;
73
+ signal?: AbortSignal;
74
+ }): Promise<number>;
75
+ /**
76
+ * Unified table shape
77
+ * Warning: This call materializes the join.
78
+ */
79
+ getShape(ops?: {
80
+ signal?: AbortSignal;
81
+ }): Promise<PTableShape>;
82
+ /**
83
+ * Retrieve the data from the table. To retrieve only data required, it can be
84
+ * sliced both horizontally ({@link columnIndices}) and vertically
85
+ * ({@link range}).
86
+ * This call materializes the join.
87
+ *
88
+ * @param columnIndices unified indices of columns to be retrieved
89
+ * @param range optionally limit the range of records to retrieve
90
+ * */
91
+ getData(columnIndices: number[], ops?: {
92
+ range?: TableRange;
93
+ signal?: AbortSignal;
94
+ }): Promise<PTableVector[]>;
95
+ /** Filters the table and returns new PTable instance */
96
+ filter(request: PTableRecordFilter[]): PTableV6;
97
+ /** Sorts the table and returns new PTable instance. */
98
+ sort(request: PTableSorting[]): PTableV6;
99
+ /** Deallocates all underlying resources */
100
+ dispose(): void;
101
+ }
48
102
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/pframe/internal_api/table.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC;;;;;KAKK;AACL,MAAM,WAAW,QAAQ;IACvB;;;;;;;;SAQK;IACL,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAE9B,6EAA6E;IAC7E,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAExD;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzB;;;;;;;;SAQK;IACL,OAAO,CACL,aAAa,EAAE,MAAM,EAAE,EACvB,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE3B,wDAAwD;IACxD,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,QAAQ,CAAC;IAEhD,uDAAuD;IACvD,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;IAEzC,2CAA2C;IAC3C,OAAO,IAAI,IAAI,CAAC;CACjB"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/pframe/internal_api/table.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC;;;;;KAKK;AACL,MAAM,WAAW,QAAQ;IACvB;;;;;;;;SAQK;IACL,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAE9B,6EAA6E;IAC7E,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAExD;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzB;;;;;;;;SAQK;IACL,OAAO,CACL,aAAa,EAAE,MAAM,EAAE,EACvB,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE3B,wDAAwD;IACxD,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,QAAQ,CAAC;IAEhD,uDAAuD;IACvD,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;IAEzC,2CAA2C;IAC3C,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;KAKK;AACL,MAAM,WAAW,QAAQ;IACvB;;;;;;;;SAQK;IACL,OAAO,IAAI,gBAAgB,EAAE,CAAC;IAE9B,6EAA6E;IAC7E,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAExD;;;OAGG;IACH,YAAY,CAAC,GAAG,CAAC,EAAE;QACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzB;;;;;;;;SAQK;IACL,OAAO,CACL,aAAa,EAAE,MAAM,EAAE,EACvB,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE3B,wDAAwD;IACxD,MAAM,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,QAAQ,CAAC;IAEhD,uDAAuD;IACvD,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC;IAEzC,2CAA2C;IAC3C,OAAO,IAAI,IAAI,CAAC;CACjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/pl-model-middle-layer",
3
- "version": "1.7.44",
3
+ "version": "1.7.45",
4
4
  "description": "Common model between middle layer and non-block UI code",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -8,7 +8,7 @@ import {
8
8
  UniqueValuesResponse
9
9
  } from '@milaboratories/pl-model-common';
10
10
  import { CreateTableRequestV3 } from './create_table';
11
- import { PTableV5 } from './table';
11
+ import { PTableV5, PTableV6 } from './table';
12
12
 
13
13
  /** Read interface exposed by PFrames library */
14
14
  export interface PFrameReadAPIV7 {
@@ -42,3 +42,36 @@ export interface PFrameReadAPIV7 {
42
42
  }
43
43
  ): Promise<UniqueValuesResponse>;
44
44
  }
45
+
46
+ /** Read interface exposed by PFrames library */
47
+ export interface PFrameReadAPIV8 {
48
+ /**
49
+ * Finds columns given filtering criteria on column name, annotations etc.
50
+ * and a set of qualified axes specs to find only columns with compatible
51
+ * axes spec.
52
+ *
53
+ * Only column specs are used, this method will work even for columns
54
+ * with no assigned data.
55
+ * */
56
+ findColumns(request: FindColumnsRequest): Promise<FindColumnsResponse>;
57
+
58
+ /** To be reviewed in the future */
59
+ deleteColumn(request: DeleteColumnFromColumnsRequest): Promise<DeleteColumnFromColumnsResponse>;
60
+
61
+ /** Retrieve single column spec */
62
+ getColumnSpec(columnId: PObjectId): Promise<PColumnSpec>;
63
+
64
+ /** Retrieve information about all columns currently added to the PFrame */
65
+ listColumns(): Promise<PColumnInfo[]>;
66
+
67
+ /** Calculates data for the table and returns an object to access it */
68
+ createTable(request: CreateTableRequestV3): PTableV6;
69
+
70
+ /** Calculate set of unique values for a specific axis for the filtered set of records */
71
+ getUniqueValues(
72
+ request: UniqueValuesRequest,
73
+ ops?: {
74
+ signal?: AbortSignal,
75
+ }
76
+ ): Promise<UniqueValuesResponse>;
77
+ }
@@ -1,5 +1,5 @@
1
1
  import type { PFrameFactoryAPI } from './api_factory';
2
- import type { PFrameReadAPIV7 } from './api_read';
2
+ import type { PFrameReadAPIV7, PFrameReadAPIV8 } from './api_read';
3
3
 
4
4
  export type Logger = (
5
5
  level: 'info' | 'warn' | 'error',
@@ -7,3 +7,5 @@ export type Logger = (
7
7
  ) => void;
8
8
 
9
9
  export interface PFrameV7 extends PFrameFactoryAPI, PFrameReadAPIV7 {}
10
+
11
+ export interface PFrameV8 extends PFrameFactoryAPI, PFrameReadAPIV8 {}
@@ -63,3 +63,68 @@ export interface PTableV5 {
63
63
  /** Deallocates all underlying resources */
64
64
  dispose(): void;
65
65
  }
66
+
67
+ /**
68
+ * Table view returned as a result of create table operation.
69
+ *
70
+ * PTable can be thought as having a composite primary key, consisting of axes,
71
+ * and a set of data columns derived from PColumn values.
72
+ * */
73
+ export interface PTableV6 {
74
+ /**
75
+ * Returns ordered array of table axes specs (primary key "columns" in SQL
76
+ * terms) and data column specs (regular "columns" in SQL terms).
77
+ *
78
+ * Data for a specific table column can be retrieved using unified indexing
79
+ * corresponding to elements in this array.
80
+ *
81
+ * Axes are always listed first.
82
+ * */
83
+ getSpec(): PTableColumnSpec[];
84
+
85
+ /** Transforms unified column identifiers into unified indices of columns. */
86
+ getColumnIndices(columnIds: PTableColumnId[]): number[];
87
+
88
+ /**
89
+ * Get PTable disk footprint in bytes
90
+ * Warning: This call materializes the join.
91
+ */
92
+ getFootprint(ops?: {
93
+ withPredecessors?: boolean,
94
+ signal?: AbortSignal,
95
+ }): Promise<number>;
96
+
97
+ /**
98
+ * Unified table shape
99
+ * Warning: This call materializes the join.
100
+ */
101
+ getShape(ops?: {
102
+ signal?: AbortSignal,
103
+ }): Promise<PTableShape>;
104
+
105
+ /**
106
+ * Retrieve the data from the table. To retrieve only data required, it can be
107
+ * sliced both horizontally ({@link columnIndices}) and vertically
108
+ * ({@link range}).
109
+ * This call materializes the join.
110
+ *
111
+ * @param columnIndices unified indices of columns to be retrieved
112
+ * @param range optionally limit the range of records to retrieve
113
+ * */
114
+ getData(
115
+ columnIndices: number[],
116
+ ops?: {
117
+ range?: TableRange,
118
+ signal?: AbortSignal,
119
+ },
120
+ ): Promise<PTableVector[]>;
121
+
122
+ /** Filters the table and returns new PTable instance */
123
+ filter(request: PTableRecordFilter[]): PTableV6;
124
+
125
+ /** Sorts the table and returns new PTable instance. */
126
+ sort(request: PTableSorting[]): PTableV6;
127
+
128
+ /** Deallocates all underlying resources */
129
+ dispose(): void;
130
+ }