@malloydata/malloy 0.0.95 → 0.0.96-dev231025173405
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/malloy.d.ts +13 -13
- package/dist/malloy.js +36 -36
- package/package.json +1 -1
package/dist/malloy.d.ts
CHANGED
|
@@ -1122,8 +1122,10 @@ export declare class Result extends PreparedResult {
|
|
|
1122
1122
|
export type DataColumn = DataArray | DataRecord | DataString | DataBoolean | DataNumber | DataDate | DataTimestamp | DataNull | DataBytes | DataJSON | DataUnsupported;
|
|
1123
1123
|
export type DataArrayOrRecord = DataArray | DataRecord;
|
|
1124
1124
|
declare abstract class Data<T> {
|
|
1125
|
+
readonly parent: DataArrayOrRecord | undefined;
|
|
1126
|
+
readonly parentRecord: DataRecord | undefined;
|
|
1125
1127
|
protected _field: Field | Explore;
|
|
1126
|
-
constructor(field: Field | Explore);
|
|
1128
|
+
constructor(field: Field | Explore, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1127
1129
|
get field(): Field | Explore;
|
|
1128
1130
|
abstract get value(): T;
|
|
1129
1131
|
isString(): this is DataString;
|
|
@@ -1151,7 +1153,7 @@ declare abstract class Data<T> {
|
|
|
1151
1153
|
declare abstract class ScalarData<T> extends Data<T> {
|
|
1152
1154
|
protected _value: T;
|
|
1153
1155
|
protected _field: AtomicField;
|
|
1154
|
-
constructor(value: T, field: AtomicField);
|
|
1156
|
+
constructor(value: T, field: AtomicField, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1155
1157
|
get value(): T;
|
|
1156
1158
|
get field(): AtomicField;
|
|
1157
1159
|
abstract get key(): string;
|
|
@@ -1160,42 +1162,42 @@ declare abstract class ScalarData<T> extends Data<T> {
|
|
|
1160
1162
|
}
|
|
1161
1163
|
declare class DataString extends ScalarData<string> {
|
|
1162
1164
|
protected _field: StringField;
|
|
1163
|
-
constructor(value: string, field: StringField);
|
|
1165
|
+
constructor(value: string, field: StringField, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1164
1166
|
get field(): StringField;
|
|
1165
1167
|
get key(): string;
|
|
1166
1168
|
compareTo(other: ScalarData<string>): number;
|
|
1167
1169
|
}
|
|
1168
1170
|
declare class DataUnsupported extends ScalarData<unknown> {
|
|
1169
1171
|
protected _field: UnsupportedField;
|
|
1170
|
-
constructor(value: unknown, field: UnsupportedField);
|
|
1172
|
+
constructor(value: unknown, field: UnsupportedField, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1171
1173
|
get field(): UnsupportedField;
|
|
1172
1174
|
get key(): string;
|
|
1173
1175
|
compareTo(_other: ScalarData<unknown>): number;
|
|
1174
1176
|
}
|
|
1175
1177
|
declare class DataBoolean extends ScalarData<boolean> {
|
|
1176
1178
|
protected _field: BooleanField;
|
|
1177
|
-
constructor(value: boolean, field: BooleanField);
|
|
1179
|
+
constructor(value: boolean, field: BooleanField, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1178
1180
|
get field(): BooleanField;
|
|
1179
1181
|
get key(): string;
|
|
1180
1182
|
compareTo(other: ScalarData<boolean>): 0 | 1 | -1;
|
|
1181
1183
|
}
|
|
1182
1184
|
declare class DataJSON extends ScalarData<string> {
|
|
1183
1185
|
protected _field: JSONField;
|
|
1184
|
-
constructor(value: string, field: JSONField);
|
|
1186
|
+
constructor(value: string, field: JSONField, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1185
1187
|
get field(): JSONField;
|
|
1186
1188
|
get key(): string;
|
|
1187
1189
|
compareTo(other: ScalarData<string>): 0 | 1 | -1;
|
|
1188
1190
|
}
|
|
1189
1191
|
declare class DataNumber extends ScalarData<number> {
|
|
1190
1192
|
protected _field: NumberField;
|
|
1191
|
-
constructor(value: number, field: NumberField);
|
|
1193
|
+
constructor(value: number, field: NumberField, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1192
1194
|
get field(): NumberField;
|
|
1193
1195
|
get key(): string;
|
|
1194
1196
|
compareTo(other: ScalarData<number>): 0 | 1 | -1;
|
|
1195
1197
|
}
|
|
1196
1198
|
declare class DataTimestamp extends ScalarData<Date> {
|
|
1197
1199
|
protected _field: TimestampField;
|
|
1198
|
-
constructor(value: Date, field: TimestampField);
|
|
1200
|
+
constructor(value: Date, field: TimestampField, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1199
1201
|
get value(): Date;
|
|
1200
1202
|
get field(): TimestampField;
|
|
1201
1203
|
get key(): string;
|
|
@@ -1203,7 +1205,7 @@ declare class DataTimestamp extends ScalarData<Date> {
|
|
|
1203
1205
|
}
|
|
1204
1206
|
declare class DataDate extends ScalarData<Date> {
|
|
1205
1207
|
protected _field: DateField;
|
|
1206
|
-
constructor(value: Date, field: DateField);
|
|
1208
|
+
constructor(value: Date, field: DateField, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1207
1209
|
get value(): Date;
|
|
1208
1210
|
get field(): DateField;
|
|
1209
1211
|
get key(): string;
|
|
@@ -1218,10 +1220,9 @@ declare class DataNull extends Data<null> {
|
|
|
1218
1220
|
get key(): string;
|
|
1219
1221
|
}
|
|
1220
1222
|
export declare class DataArray extends Data<QueryData> implements Iterable<DataRecord> {
|
|
1221
|
-
readonly parent: DataArrayOrRecord | undefined;
|
|
1222
1223
|
private queryData;
|
|
1223
1224
|
protected _field: Explore;
|
|
1224
|
-
constructor(queryData: QueryData, field: Explore, parent: DataArrayOrRecord | undefined);
|
|
1225
|
+
constructor(queryData: QueryData, field: Explore, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1225
1226
|
/**
|
|
1226
1227
|
* @return The `Explore` that describes the structure of this data.
|
|
1227
1228
|
*/
|
|
@@ -1240,11 +1241,10 @@ export declare class DataArray extends Data<QueryData> implements Iterable<DataR
|
|
|
1240
1241
|
export declare class DataRecord extends Data<{
|
|
1241
1242
|
[fieldName: string]: DataColumn;
|
|
1242
1243
|
}> {
|
|
1243
|
-
readonly parent: DataArrayOrRecord | undefined;
|
|
1244
1244
|
private queryDataRow;
|
|
1245
1245
|
protected _field: Explore;
|
|
1246
1246
|
readonly index: number | undefined;
|
|
1247
|
-
constructor(queryDataRow: QueryDataRow, index: number | undefined, field: Explore, parent: DataArrayOrRecord | undefined);
|
|
1247
|
+
constructor(queryDataRow: QueryDataRow, index: number | undefined, field: Explore, parent: DataArrayOrRecord | undefined, parentRecord: DataRecord | undefined);
|
|
1248
1248
|
toObject(): QueryDataRow;
|
|
1249
1249
|
path(...path: (number | string)[]): DataColumn;
|
|
1250
1250
|
cell(fieldOrName: string | Field): DataColumn;
|
package/dist/malloy.js
CHANGED
|
@@ -282,7 +282,7 @@ class Malloy {
|
|
|
282
282
|
}
|
|
283
283
|
let index = 0;
|
|
284
284
|
for await (const row of connection.runSQLStream(sql, options)) {
|
|
285
|
-
yield new DataRecord(row, index, resultExplore, undefined);
|
|
285
|
+
yield new DataRecord(row, index, resultExplore, undefined, undefined);
|
|
286
286
|
index += 1;
|
|
287
287
|
}
|
|
288
288
|
}
|
|
@@ -2195,7 +2195,7 @@ class Result extends PreparedResult {
|
|
|
2195
2195
|
* @return The result data.
|
|
2196
2196
|
*/
|
|
2197
2197
|
get data() {
|
|
2198
|
-
return new DataArray(this.inner.result, this.resultExplore, undefined);
|
|
2198
|
+
return new DataArray(this.inner.result, this.resultExplore, undefined, undefined);
|
|
2199
2199
|
}
|
|
2200
2200
|
get totalRows() {
|
|
2201
2201
|
return this.inner.totalRows;
|
|
@@ -2212,7 +2212,9 @@ class Result extends PreparedResult {
|
|
|
2212
2212
|
}
|
|
2213
2213
|
exports.Result = Result;
|
|
2214
2214
|
class Data {
|
|
2215
|
-
constructor(field) {
|
|
2215
|
+
constructor(field, parent, parentRecord) {
|
|
2216
|
+
this.parent = parent;
|
|
2217
|
+
this.parentRecord = parentRecord;
|
|
2216
2218
|
this._field = field;
|
|
2217
2219
|
}
|
|
2218
2220
|
get field() {
|
|
@@ -2313,8 +2315,8 @@ class Data {
|
|
|
2313
2315
|
}
|
|
2314
2316
|
}
|
|
2315
2317
|
class ScalarData extends Data {
|
|
2316
|
-
constructor(value, field) {
|
|
2317
|
-
super(field);
|
|
2318
|
+
constructor(value, field, parent, parentRecord) {
|
|
2319
|
+
super(field, parent, parentRecord);
|
|
2318
2320
|
this._value = value;
|
|
2319
2321
|
this._field = field;
|
|
2320
2322
|
}
|
|
@@ -2329,8 +2331,8 @@ class ScalarData extends Data {
|
|
|
2329
2331
|
}
|
|
2330
2332
|
}
|
|
2331
2333
|
class DataString extends ScalarData {
|
|
2332
|
-
constructor(value, field) {
|
|
2333
|
-
super(value, field);
|
|
2334
|
+
constructor(value, field, parent, parentRecord) {
|
|
2335
|
+
super(value, field, parent, parentRecord);
|
|
2334
2336
|
this._field = field;
|
|
2335
2337
|
}
|
|
2336
2338
|
get field() {
|
|
@@ -2346,8 +2348,8 @@ class DataString extends ScalarData {
|
|
|
2346
2348
|
}
|
|
2347
2349
|
}
|
|
2348
2350
|
class DataUnsupported extends ScalarData {
|
|
2349
|
-
constructor(value, field) {
|
|
2350
|
-
super(value, field);
|
|
2351
|
+
constructor(value, field, parent, parentRecord) {
|
|
2352
|
+
super(value, field, parent, parentRecord);
|
|
2351
2353
|
this._field = field;
|
|
2352
2354
|
}
|
|
2353
2355
|
get field() {
|
|
@@ -2361,8 +2363,8 @@ class DataUnsupported extends ScalarData {
|
|
|
2361
2363
|
}
|
|
2362
2364
|
}
|
|
2363
2365
|
class DataBoolean extends ScalarData {
|
|
2364
|
-
constructor(value, field) {
|
|
2365
|
-
super(value, field);
|
|
2366
|
+
constructor(value, field, parent, parentRecord) {
|
|
2367
|
+
super(value, field, parent, parentRecord);
|
|
2366
2368
|
this._field = field;
|
|
2367
2369
|
}
|
|
2368
2370
|
get field() {
|
|
@@ -2382,8 +2384,8 @@ class DataBoolean extends ScalarData {
|
|
|
2382
2384
|
}
|
|
2383
2385
|
}
|
|
2384
2386
|
class DataJSON extends ScalarData {
|
|
2385
|
-
constructor(value, field) {
|
|
2386
|
-
super(value, field);
|
|
2387
|
+
constructor(value, field, parent, parentRecord) {
|
|
2388
|
+
super(value, field, parent, parentRecord);
|
|
2387
2389
|
this._field = field;
|
|
2388
2390
|
}
|
|
2389
2391
|
get field() {
|
|
@@ -2407,8 +2409,8 @@ class DataJSON extends ScalarData {
|
|
|
2407
2409
|
}
|
|
2408
2410
|
}
|
|
2409
2411
|
class DataNumber extends ScalarData {
|
|
2410
|
-
constructor(value, field) {
|
|
2411
|
-
super(value, field);
|
|
2412
|
+
constructor(value, field, parent, parentRecord) {
|
|
2413
|
+
super(value, field, parent, parentRecord);
|
|
2412
2414
|
this._field = field;
|
|
2413
2415
|
}
|
|
2414
2416
|
get field() {
|
|
@@ -2457,8 +2459,8 @@ function valueToDate(value) {
|
|
|
2457
2459
|
}
|
|
2458
2460
|
}
|
|
2459
2461
|
class DataTimestamp extends ScalarData {
|
|
2460
|
-
constructor(value, field) {
|
|
2461
|
-
super(value, field);
|
|
2462
|
+
constructor(value, field, parent, parentRecord) {
|
|
2463
|
+
super(value, field, parent, parentRecord);
|
|
2462
2464
|
this._field = field;
|
|
2463
2465
|
}
|
|
2464
2466
|
get value() {
|
|
@@ -2481,8 +2483,8 @@ class DataTimestamp extends ScalarData {
|
|
|
2481
2483
|
}
|
|
2482
2484
|
}
|
|
2483
2485
|
class DataDate extends ScalarData {
|
|
2484
|
-
constructor(value, field) {
|
|
2485
|
-
super(value, field);
|
|
2486
|
+
constructor(value, field, parent, parentRecord) {
|
|
2487
|
+
super(value, field, parent, parentRecord);
|
|
2486
2488
|
this._field = field;
|
|
2487
2489
|
}
|
|
2488
2490
|
get value() {
|
|
@@ -2531,9 +2533,8 @@ class DataNull extends Data {
|
|
|
2531
2533
|
}
|
|
2532
2534
|
}
|
|
2533
2535
|
class DataArray extends Data {
|
|
2534
|
-
constructor(queryData, field, parent) {
|
|
2535
|
-
super(field);
|
|
2536
|
-
this.parent = parent;
|
|
2536
|
+
constructor(queryData, field, parent, parentRecord) {
|
|
2537
|
+
super(field, parent, parentRecord);
|
|
2537
2538
|
this.queryData = queryData;
|
|
2538
2539
|
this._field = field;
|
|
2539
2540
|
}
|
|
@@ -2553,7 +2554,7 @@ class DataArray extends Data {
|
|
|
2553
2554
|
return getPath(this, path);
|
|
2554
2555
|
}
|
|
2555
2556
|
row(index) {
|
|
2556
|
-
return new DataRecord(this.queryData[index], index, this.field, this);
|
|
2557
|
+
return new DataRecord(this.queryData[index], index, this.field, this, this.parentRecord);
|
|
2557
2558
|
}
|
|
2558
2559
|
get rowCount() {
|
|
2559
2560
|
return this.queryData.length;
|
|
@@ -2595,9 +2596,8 @@ function getPath(data, path) {
|
|
|
2595
2596
|
return data;
|
|
2596
2597
|
}
|
|
2597
2598
|
class DataRecord extends Data {
|
|
2598
|
-
constructor(queryDataRow, index, field, parent) {
|
|
2599
|
-
super(field);
|
|
2600
|
-
this.parent = parent;
|
|
2599
|
+
constructor(queryDataRow, index, field, parent, parentRecord) {
|
|
2600
|
+
super(field, parent, parentRecord);
|
|
2601
2601
|
this.queryDataRow = queryDataRow;
|
|
2602
2602
|
this._field = field;
|
|
2603
2603
|
this.index = index;
|
|
@@ -2613,37 +2613,37 @@ class DataRecord extends Data {
|
|
|
2613
2613
|
const field = this._field.getFieldByName(fieldName);
|
|
2614
2614
|
const value = this.queryDataRow[fieldName];
|
|
2615
2615
|
if (value === null) {
|
|
2616
|
-
return new DataNull(field);
|
|
2616
|
+
return new DataNull(field, this, this);
|
|
2617
2617
|
}
|
|
2618
2618
|
if (field.isAtomicField()) {
|
|
2619
2619
|
if (field.isBoolean()) {
|
|
2620
|
-
return new DataBoolean(value, field);
|
|
2620
|
+
return new DataBoolean(value, field, this, this);
|
|
2621
2621
|
}
|
|
2622
2622
|
else if (field.isDate()) {
|
|
2623
|
-
return new DataDate(value, field);
|
|
2623
|
+
return new DataDate(value, field, this, this);
|
|
2624
2624
|
}
|
|
2625
2625
|
else if (field.isJSON()) {
|
|
2626
|
-
return new DataJSON(value, field);
|
|
2626
|
+
return new DataJSON(value, field, this, this);
|
|
2627
2627
|
}
|
|
2628
2628
|
else if (field.isTimestamp()) {
|
|
2629
|
-
return new DataTimestamp(value, field);
|
|
2629
|
+
return new DataTimestamp(value, field, this, this);
|
|
2630
2630
|
}
|
|
2631
2631
|
else if (field.isNumber()) {
|
|
2632
|
-
return new DataNumber(value, field);
|
|
2632
|
+
return new DataNumber(value, field, this, this);
|
|
2633
2633
|
}
|
|
2634
2634
|
else if (field.isString()) {
|
|
2635
|
-
return new DataString(value, field);
|
|
2635
|
+
return new DataString(value, field, this, this);
|
|
2636
2636
|
}
|
|
2637
2637
|
else if (field.isUnsupported()) {
|
|
2638
|
-
return new DataUnsupported(value, field);
|
|
2638
|
+
return new DataUnsupported(value, field, this, this);
|
|
2639
2639
|
}
|
|
2640
2640
|
}
|
|
2641
2641
|
else if (field.isExploreField()) {
|
|
2642
2642
|
if (Array.isArray(value)) {
|
|
2643
|
-
return new DataArray(value, field, this);
|
|
2643
|
+
return new DataArray(value, field, this, this);
|
|
2644
2644
|
}
|
|
2645
2645
|
else {
|
|
2646
|
-
return new DataRecord(value, undefined, field, this);
|
|
2646
|
+
return new DataRecord(value, undefined, field, this, this);
|
|
2647
2647
|
}
|
|
2648
2648
|
}
|
|
2649
2649
|
throw new Error(`Internal Error: could not construct data column for field '${fieldName}'.`);
|