@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 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}'.`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@malloydata/malloy",
3
- "version": "0.0.95",
3
+ "version": "0.0.96-dev231025173405",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",