@sqlanvil/cli 1.14.0 → 1.15.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 (3) hide show
  1. package/bundle.js +2475 -1214
  2. package/package.json +1 -1
  3. package/worker_bundle.js +1330 -173
package/worker_bundle.js CHANGED
@@ -1221,6 +1221,7 @@ const sqlanvil = $root.sqlanvil = (() => {
1221
1221
  * @property {number|null} [port] ConnectionConfig port
1222
1222
  * @property {string|null} [database] ConnectionConfig database
1223
1223
  * @property {string|null} [defaultSchema] ConnectionConfig defaultSchema
1224
+ * @property {string|null} [mode] ConnectionConfig mode
1224
1225
  */
1225
1226
 
1226
1227
  /**
@@ -1310,6 +1311,14 @@ const sqlanvil = $root.sqlanvil = (() => {
1310
1311
  */
1311
1312
  ConnectionConfig.prototype.defaultSchema = "";
1312
1313
 
1314
+ /**
1315
+ * ConnectionConfig mode.
1316
+ * @member {string} mode
1317
+ * @memberof sqlanvil.ConnectionConfig
1318
+ * @instance
1319
+ */
1320
+ ConnectionConfig.prototype.mode = "";
1321
+
1313
1322
  /**
1314
1323
  * Creates a new ConnectionConfig instance using the specified properties.
1315
1324
  * @function create
@@ -1352,6 +1361,8 @@ const sqlanvil = $root.sqlanvil = (() => {
1352
1361
  writer.uint32(/* id 8, wireType 2 =*/66).string(message.defaultSchema);
1353
1362
  if (message.billingProject != null && Object.hasOwnProperty.call(message, "billingProject"))
1354
1363
  writer.uint32(/* id 9, wireType 2 =*/74).string(message.billingProject);
1364
+ if (message.mode != null && Object.hasOwnProperty.call(message, "mode"))
1365
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.mode);
1355
1366
  return writer;
1356
1367
  };
1357
1368
 
@@ -1428,6 +1439,10 @@ const sqlanvil = $root.sqlanvil = (() => {
1428
1439
  message.defaultSchema = reader.string();
1429
1440
  break;
1430
1441
  }
1442
+ case 10: {
1443
+ message.mode = reader.string();
1444
+ break;
1445
+ }
1431
1446
  default:
1432
1447
  reader.skipType(tag & 7, long);
1433
1448
  break;
@@ -1494,6 +1509,9 @@ const sqlanvil = $root.sqlanvil = (() => {
1494
1509
  if (message.defaultSchema != null && message.hasOwnProperty("defaultSchema"))
1495
1510
  if (!$util.isString(message.defaultSchema))
1496
1511
  return "defaultSchema: string expected";
1512
+ if (message.mode != null && message.hasOwnProperty("mode"))
1513
+ if (!$util.isString(message.mode))
1514
+ return "mode: string expected";
1497
1515
  return null;
1498
1516
  };
1499
1517
 
@@ -1531,6 +1549,8 @@ const sqlanvil = $root.sqlanvil = (() => {
1531
1549
  message.database = String(object.database);
1532
1550
  if (object.defaultSchema != null)
1533
1551
  message.defaultSchema = String(object.defaultSchema);
1552
+ if (object.mode != null)
1553
+ message.mode = String(object.mode);
1534
1554
  return message;
1535
1555
  };
1536
1556
 
@@ -1557,6 +1577,7 @@ const sqlanvil = $root.sqlanvil = (() => {
1557
1577
  object.database = "";
1558
1578
  object.defaultSchema = "";
1559
1579
  object.billingProject = "";
1580
+ object.mode = "";
1560
1581
  }
1561
1582
  if (message.platform != null && message.hasOwnProperty("platform"))
1562
1583
  object.platform = message.platform;
@@ -1576,6 +1597,8 @@ const sqlanvil = $root.sqlanvil = (() => {
1576
1597
  object.defaultSchema = message.defaultSchema;
1577
1598
  if (message.billingProject != null && message.hasOwnProperty("billingProject"))
1578
1599
  object.billingProject = message.billingProject;
1600
+ if (message.mode != null && message.hasOwnProperty("mode"))
1601
+ object.mode = message.mode;
1579
1602
  return object;
1580
1603
  };
1581
1604
 
@@ -26328,6 +26351,668 @@ const sqlanvil = $root.sqlanvil = (() => {
26328
26351
  return Import;
26329
26352
  })();
26330
26353
 
26354
+ sqlanvil.Extract = (function() {
26355
+
26356
+ /**
26357
+ * Properties of an Extract.
26358
+ * @memberof sqlanvil
26359
+ * @interface IExtract
26360
+ * @property {sqlanvil.ITarget|null} [target] Extract target
26361
+ * @property {sqlanvil.ITarget|null} [canonicalTarget] Extract canonicalTarget
26362
+ * @property {Array.<sqlanvil.ITarget>|null} [dependencyTargets] Extract dependencyTargets
26363
+ * @property {sqlanvil.ActionHermeticity|null} [hermeticity] Extract hermeticity
26364
+ * @property {boolean|null} [disabled] Extract disabled
26365
+ * @property {Array.<string>|null} [tags] Extract tags
26366
+ * @property {sqlanvil.IActionDescriptor|null} [actionDescriptor] Extract actionDescriptor
26367
+ * @property {string|null} [connectionName] Extract connectionName
26368
+ * @property {string|null} [platform] Extract platform
26369
+ * @property {string|null} [project] Extract project
26370
+ * @property {string|null} [dataset] Extract dataset
26371
+ * @property {string|null} [sourceName] Extract sourceName
26372
+ * @property {string|null} [billingProject] Extract billingProject
26373
+ * @property {Object.<string,string>|null} [columnTypes] Extract columnTypes
26374
+ * @property {string|null} [fileName] Extract fileName
26375
+ */
26376
+
26377
+ /**
26378
+ * Constructs a new Extract.
26379
+ * @memberof sqlanvil
26380
+ * @classdesc Represents an Extract.
26381
+ * @implements IExtract
26382
+ * @constructor
26383
+ * @param {sqlanvil.IExtract=} [properties] Properties to set
26384
+ */
26385
+ function Extract(properties) {
26386
+ this.dependencyTargets = [];
26387
+ this.tags = [];
26388
+ this.columnTypes = {};
26389
+ if (properties)
26390
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
26391
+ if (properties[keys[i]] != null && keys[i] !== "__proto__")
26392
+ this[keys[i]] = properties[keys[i]];
26393
+ }
26394
+
26395
+ /**
26396
+ * Extract target.
26397
+ * @member {sqlanvil.ITarget|null|undefined} target
26398
+ * @memberof sqlanvil.Extract
26399
+ * @instance
26400
+ */
26401
+ Extract.prototype.target = null;
26402
+
26403
+ /**
26404
+ * Extract canonicalTarget.
26405
+ * @member {sqlanvil.ITarget|null|undefined} canonicalTarget
26406
+ * @memberof sqlanvil.Extract
26407
+ * @instance
26408
+ */
26409
+ Extract.prototype.canonicalTarget = null;
26410
+
26411
+ /**
26412
+ * Extract dependencyTargets.
26413
+ * @member {Array.<sqlanvil.ITarget>} dependencyTargets
26414
+ * @memberof sqlanvil.Extract
26415
+ * @instance
26416
+ */
26417
+ Extract.prototype.dependencyTargets = $util.emptyArray;
26418
+
26419
+ /**
26420
+ * Extract hermeticity.
26421
+ * @member {sqlanvil.ActionHermeticity} hermeticity
26422
+ * @memberof sqlanvil.Extract
26423
+ * @instance
26424
+ */
26425
+ Extract.prototype.hermeticity = 0;
26426
+
26427
+ /**
26428
+ * Extract disabled.
26429
+ * @member {boolean} disabled
26430
+ * @memberof sqlanvil.Extract
26431
+ * @instance
26432
+ */
26433
+ Extract.prototype.disabled = false;
26434
+
26435
+ /**
26436
+ * Extract tags.
26437
+ * @member {Array.<string>} tags
26438
+ * @memberof sqlanvil.Extract
26439
+ * @instance
26440
+ */
26441
+ Extract.prototype.tags = $util.emptyArray;
26442
+
26443
+ /**
26444
+ * Extract actionDescriptor.
26445
+ * @member {sqlanvil.IActionDescriptor|null|undefined} actionDescriptor
26446
+ * @memberof sqlanvil.Extract
26447
+ * @instance
26448
+ */
26449
+ Extract.prototype.actionDescriptor = null;
26450
+
26451
+ /**
26452
+ * Extract connectionName.
26453
+ * @member {string} connectionName
26454
+ * @memberof sqlanvil.Extract
26455
+ * @instance
26456
+ */
26457
+ Extract.prototype.connectionName = "";
26458
+
26459
+ /**
26460
+ * Extract platform.
26461
+ * @member {string} platform
26462
+ * @memberof sqlanvil.Extract
26463
+ * @instance
26464
+ */
26465
+ Extract.prototype.platform = "";
26466
+
26467
+ /**
26468
+ * Extract project.
26469
+ * @member {string} project
26470
+ * @memberof sqlanvil.Extract
26471
+ * @instance
26472
+ */
26473
+ Extract.prototype.project = "";
26474
+
26475
+ /**
26476
+ * Extract dataset.
26477
+ * @member {string} dataset
26478
+ * @memberof sqlanvil.Extract
26479
+ * @instance
26480
+ */
26481
+ Extract.prototype.dataset = "";
26482
+
26483
+ /**
26484
+ * Extract sourceName.
26485
+ * @member {string} sourceName
26486
+ * @memberof sqlanvil.Extract
26487
+ * @instance
26488
+ */
26489
+ Extract.prototype.sourceName = "";
26490
+
26491
+ /**
26492
+ * Extract billingProject.
26493
+ * @member {string} billingProject
26494
+ * @memberof sqlanvil.Extract
26495
+ * @instance
26496
+ */
26497
+ Extract.prototype.billingProject = "";
26498
+
26499
+ /**
26500
+ * Extract columnTypes.
26501
+ * @member {Object.<string,string>} columnTypes
26502
+ * @memberof sqlanvil.Extract
26503
+ * @instance
26504
+ */
26505
+ Extract.prototype.columnTypes = $util.emptyObject;
26506
+
26507
+ /**
26508
+ * Extract fileName.
26509
+ * @member {string} fileName
26510
+ * @memberof sqlanvil.Extract
26511
+ * @instance
26512
+ */
26513
+ Extract.prototype.fileName = "";
26514
+
26515
+ /**
26516
+ * Creates a new Extract instance using the specified properties.
26517
+ * @function create
26518
+ * @memberof sqlanvil.Extract
26519
+ * @static
26520
+ * @param {sqlanvil.IExtract=} [properties] Properties to set
26521
+ * @returns {sqlanvil.Extract} Extract instance
26522
+ */
26523
+ Extract.create = function create(properties) {
26524
+ return new Extract(properties);
26525
+ };
26526
+
26527
+ /**
26528
+ * Encodes the specified Extract message. Does not implicitly {@link sqlanvil.Extract.verify|verify} messages.
26529
+ * @function encode
26530
+ * @memberof sqlanvil.Extract
26531
+ * @static
26532
+ * @param {sqlanvil.IExtract} message Extract message or plain object to encode
26533
+ * @param {$protobuf.Writer} [writer] Writer to encode to
26534
+ * @returns {$protobuf.Writer} Writer
26535
+ */
26536
+ Extract.encode = function encode(message, writer) {
26537
+ if (!writer)
26538
+ writer = $Writer.create();
26539
+ if (message.target != null && Object.hasOwnProperty.call(message, "target"))
26540
+ $root.sqlanvil.Target.encode(message.target, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
26541
+ if (message.canonicalTarget != null && Object.hasOwnProperty.call(message, "canonicalTarget"))
26542
+ $root.sqlanvil.Target.encode(message.canonicalTarget, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
26543
+ if (message.dependencyTargets != null && message.dependencyTargets.length)
26544
+ for (let i = 0; i < message.dependencyTargets.length; ++i)
26545
+ $root.sqlanvil.Target.encode(message.dependencyTargets[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
26546
+ if (message.hermeticity != null && Object.hasOwnProperty.call(message, "hermeticity"))
26547
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.hermeticity);
26548
+ if (message.disabled != null && Object.hasOwnProperty.call(message, "disabled"))
26549
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.disabled);
26550
+ if (message.tags != null && message.tags.length)
26551
+ for (let i = 0; i < message.tags.length; ++i)
26552
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.tags[i]);
26553
+ if (message.actionDescriptor != null && Object.hasOwnProperty.call(message, "actionDescriptor"))
26554
+ $root.sqlanvil.ActionDescriptor.encode(message.actionDescriptor, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
26555
+ if (message.connectionName != null && Object.hasOwnProperty.call(message, "connectionName"))
26556
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.connectionName);
26557
+ if (message.platform != null && Object.hasOwnProperty.call(message, "platform"))
26558
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.platform);
26559
+ if (message.project != null && Object.hasOwnProperty.call(message, "project"))
26560
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.project);
26561
+ if (message.dataset != null && Object.hasOwnProperty.call(message, "dataset"))
26562
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.dataset);
26563
+ if (message.sourceName != null && Object.hasOwnProperty.call(message, "sourceName"))
26564
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.sourceName);
26565
+ if (message.billingProject != null && Object.hasOwnProperty.call(message, "billingProject"))
26566
+ writer.uint32(/* id 13, wireType 2 =*/106).string(message.billingProject);
26567
+ if (message.columnTypes != null && Object.hasOwnProperty.call(message, "columnTypes"))
26568
+ for (let keys = Object.keys(message.columnTypes), i = 0; i < keys.length; ++i)
26569
+ writer.uint32(/* id 14, wireType 2 =*/114).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.columnTypes[keys[i]]).ldelim();
26570
+ if (message.fileName != null && Object.hasOwnProperty.call(message, "fileName"))
26571
+ writer.uint32(/* id 15, wireType 2 =*/122).string(message.fileName);
26572
+ return writer;
26573
+ };
26574
+
26575
+ /**
26576
+ * Encodes the specified Extract message, length delimited. Does not implicitly {@link sqlanvil.Extract.verify|verify} messages.
26577
+ * @function encodeDelimited
26578
+ * @memberof sqlanvil.Extract
26579
+ * @static
26580
+ * @param {sqlanvil.IExtract} message Extract message or plain object to encode
26581
+ * @param {$protobuf.Writer} [writer] Writer to encode to
26582
+ * @returns {$protobuf.Writer} Writer
26583
+ */
26584
+ Extract.encodeDelimited = function encodeDelimited(message, writer) {
26585
+ return this.encode(message, writer).ldelim();
26586
+ };
26587
+
26588
+ /**
26589
+ * Decodes an Extract message from the specified reader or buffer.
26590
+ * @function decode
26591
+ * @memberof sqlanvil.Extract
26592
+ * @static
26593
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
26594
+ * @param {number} [length] Message length if known beforehand
26595
+ * @returns {sqlanvil.Extract} Extract
26596
+ * @throws {Error} If the payload is not a reader or valid buffer
26597
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
26598
+ */
26599
+ Extract.decode = function decode(reader, length, error, long) {
26600
+ if (!(reader instanceof $Reader))
26601
+ reader = $Reader.create(reader);
26602
+ if (long === undefined)
26603
+ long = 0;
26604
+ if (long > $Reader.recursionLimit)
26605
+ throw Error("maximum nesting depth exceeded");
26606
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sqlanvil.Extract(), key, value;
26607
+ while (reader.pos < end) {
26608
+ let tag = reader.uint32();
26609
+ if (tag === error)
26610
+ break;
26611
+ switch (tag >>> 3) {
26612
+ case 1: {
26613
+ message.target = $root.sqlanvil.Target.decode(reader, reader.uint32(), undefined, long + 1);
26614
+ break;
26615
+ }
26616
+ case 2: {
26617
+ message.canonicalTarget = $root.sqlanvil.Target.decode(reader, reader.uint32(), undefined, long + 1);
26618
+ break;
26619
+ }
26620
+ case 3: {
26621
+ if (!(message.dependencyTargets && message.dependencyTargets.length))
26622
+ message.dependencyTargets = [];
26623
+ message.dependencyTargets.push($root.sqlanvil.Target.decode(reader, reader.uint32(), undefined, long + 1));
26624
+ break;
26625
+ }
26626
+ case 4: {
26627
+ message.hermeticity = reader.int32();
26628
+ break;
26629
+ }
26630
+ case 5: {
26631
+ message.disabled = reader.bool();
26632
+ break;
26633
+ }
26634
+ case 6: {
26635
+ if (!(message.tags && message.tags.length))
26636
+ message.tags = [];
26637
+ message.tags.push(reader.string());
26638
+ break;
26639
+ }
26640
+ case 7: {
26641
+ message.actionDescriptor = $root.sqlanvil.ActionDescriptor.decode(reader, reader.uint32(), undefined, long + 1);
26642
+ break;
26643
+ }
26644
+ case 8: {
26645
+ message.connectionName = reader.string();
26646
+ break;
26647
+ }
26648
+ case 9: {
26649
+ message.platform = reader.string();
26650
+ break;
26651
+ }
26652
+ case 10: {
26653
+ message.project = reader.string();
26654
+ break;
26655
+ }
26656
+ case 11: {
26657
+ message.dataset = reader.string();
26658
+ break;
26659
+ }
26660
+ case 12: {
26661
+ message.sourceName = reader.string();
26662
+ break;
26663
+ }
26664
+ case 13: {
26665
+ message.billingProject = reader.string();
26666
+ break;
26667
+ }
26668
+ case 14: {
26669
+ if (message.columnTypes === $util.emptyObject)
26670
+ message.columnTypes = {};
26671
+ let end2 = reader.uint32() + reader.pos;
26672
+ key = "";
26673
+ value = "";
26674
+ while (reader.pos < end2) {
26675
+ let tag2 = reader.uint32();
26676
+ switch (tag2 >>> 3) {
26677
+ case 1:
26678
+ key = reader.string();
26679
+ break;
26680
+ case 2:
26681
+ value = reader.string();
26682
+ break;
26683
+ default:
26684
+ reader.skipType(tag2 & 7, long);
26685
+ break;
26686
+ }
26687
+ }
26688
+ if (key === "__proto__")
26689
+ $util.makeProp(message.columnTypes, key);
26690
+ message.columnTypes[key] = value;
26691
+ break;
26692
+ }
26693
+ case 15: {
26694
+ message.fileName = reader.string();
26695
+ break;
26696
+ }
26697
+ default:
26698
+ reader.skipType(tag & 7, long);
26699
+ break;
26700
+ }
26701
+ }
26702
+ return message;
26703
+ };
26704
+
26705
+ /**
26706
+ * Decodes an Extract message from the specified reader or buffer, length delimited.
26707
+ * @function decodeDelimited
26708
+ * @memberof sqlanvil.Extract
26709
+ * @static
26710
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
26711
+ * @returns {sqlanvil.Extract} Extract
26712
+ * @throws {Error} If the payload is not a reader or valid buffer
26713
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
26714
+ */
26715
+ Extract.decodeDelimited = function decodeDelimited(reader) {
26716
+ if (!(reader instanceof $Reader))
26717
+ reader = new $Reader(reader);
26718
+ return this.decode(reader, reader.uint32());
26719
+ };
26720
+
26721
+ /**
26722
+ * Verifies an Extract message.
26723
+ * @function verify
26724
+ * @memberof sqlanvil.Extract
26725
+ * @static
26726
+ * @param {Object.<string,*>} message Plain object to verify
26727
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
26728
+ */
26729
+ Extract.verify = function verify(message, long) {
26730
+ if (typeof message !== "object" || message === null)
26731
+ return "object expected";
26732
+ if (long === undefined)
26733
+ long = 0;
26734
+ if (long > $util.recursionLimit)
26735
+ return "maximum nesting depth exceeded";
26736
+ if (message.target != null && message.hasOwnProperty("target")) {
26737
+ let error = $root.sqlanvil.Target.verify(message.target, long + 1);
26738
+ if (error)
26739
+ return "target." + error;
26740
+ }
26741
+ if (message.canonicalTarget != null && message.hasOwnProperty("canonicalTarget")) {
26742
+ let error = $root.sqlanvil.Target.verify(message.canonicalTarget, long + 1);
26743
+ if (error)
26744
+ return "canonicalTarget." + error;
26745
+ }
26746
+ if (message.dependencyTargets != null && message.hasOwnProperty("dependencyTargets")) {
26747
+ if (!Array.isArray(message.dependencyTargets))
26748
+ return "dependencyTargets: array expected";
26749
+ for (let i = 0; i < message.dependencyTargets.length; ++i) {
26750
+ let error = $root.sqlanvil.Target.verify(message.dependencyTargets[i], long + 1);
26751
+ if (error)
26752
+ return "dependencyTargets." + error;
26753
+ }
26754
+ }
26755
+ if (message.hermeticity != null && message.hasOwnProperty("hermeticity"))
26756
+ switch (message.hermeticity) {
26757
+ default:
26758
+ return "hermeticity: enum value expected";
26759
+ case 0:
26760
+ case 1:
26761
+ case 2:
26762
+ break;
26763
+ }
26764
+ if (message.disabled != null && message.hasOwnProperty("disabled"))
26765
+ if (typeof message.disabled !== "boolean")
26766
+ return "disabled: boolean expected";
26767
+ if (message.tags != null && message.hasOwnProperty("tags")) {
26768
+ if (!Array.isArray(message.tags))
26769
+ return "tags: array expected";
26770
+ for (let i = 0; i < message.tags.length; ++i)
26771
+ if (!$util.isString(message.tags[i]))
26772
+ return "tags: string[] expected";
26773
+ }
26774
+ if (message.actionDescriptor != null && message.hasOwnProperty("actionDescriptor")) {
26775
+ let error = $root.sqlanvil.ActionDescriptor.verify(message.actionDescriptor, long + 1);
26776
+ if (error)
26777
+ return "actionDescriptor." + error;
26778
+ }
26779
+ if (message.connectionName != null && message.hasOwnProperty("connectionName"))
26780
+ if (!$util.isString(message.connectionName))
26781
+ return "connectionName: string expected";
26782
+ if (message.platform != null && message.hasOwnProperty("platform"))
26783
+ if (!$util.isString(message.platform))
26784
+ return "platform: string expected";
26785
+ if (message.project != null && message.hasOwnProperty("project"))
26786
+ if (!$util.isString(message.project))
26787
+ return "project: string expected";
26788
+ if (message.dataset != null && message.hasOwnProperty("dataset"))
26789
+ if (!$util.isString(message.dataset))
26790
+ return "dataset: string expected";
26791
+ if (message.sourceName != null && message.hasOwnProperty("sourceName"))
26792
+ if (!$util.isString(message.sourceName))
26793
+ return "sourceName: string expected";
26794
+ if (message.billingProject != null && message.hasOwnProperty("billingProject"))
26795
+ if (!$util.isString(message.billingProject))
26796
+ return "billingProject: string expected";
26797
+ if (message.columnTypes != null && message.hasOwnProperty("columnTypes")) {
26798
+ if (!$util.isObject(message.columnTypes))
26799
+ return "columnTypes: object expected";
26800
+ let key = Object.keys(message.columnTypes);
26801
+ for (let i = 0; i < key.length; ++i)
26802
+ if (!$util.isString(message.columnTypes[key[i]]))
26803
+ return "columnTypes: string{k:string} expected";
26804
+ }
26805
+ if (message.fileName != null && message.hasOwnProperty("fileName"))
26806
+ if (!$util.isString(message.fileName))
26807
+ return "fileName: string expected";
26808
+ return null;
26809
+ };
26810
+
26811
+ /**
26812
+ * Creates an Extract message from a plain object. Also converts values to their respective internal types.
26813
+ * @function fromObject
26814
+ * @memberof sqlanvil.Extract
26815
+ * @static
26816
+ * @param {Object.<string,*>} object Plain object
26817
+ * @returns {sqlanvil.Extract} Extract
26818
+ */
26819
+ Extract.fromObject = function fromObject(object, long) {
26820
+ if (object instanceof $root.sqlanvil.Extract)
26821
+ return object;
26822
+ if (long === undefined)
26823
+ long = 0;
26824
+ if (long > $util.recursionLimit)
26825
+ throw Error("maximum nesting depth exceeded");
26826
+ let message = new $root.sqlanvil.Extract();
26827
+ if (object.target != null) {
26828
+ if (typeof object.target !== "object")
26829
+ throw TypeError(".sqlanvil.Extract.target: object expected");
26830
+ message.target = $root.sqlanvil.Target.fromObject(object.target, long + 1);
26831
+ }
26832
+ if (object.canonicalTarget != null) {
26833
+ if (typeof object.canonicalTarget !== "object")
26834
+ throw TypeError(".sqlanvil.Extract.canonicalTarget: object expected");
26835
+ message.canonicalTarget = $root.sqlanvil.Target.fromObject(object.canonicalTarget, long + 1);
26836
+ }
26837
+ if (object.dependencyTargets) {
26838
+ if (!Array.isArray(object.dependencyTargets))
26839
+ throw TypeError(".sqlanvil.Extract.dependencyTargets: array expected");
26840
+ message.dependencyTargets = [];
26841
+ for (let i = 0; i < object.dependencyTargets.length; ++i) {
26842
+ if (typeof object.dependencyTargets[i] !== "object")
26843
+ throw TypeError(".sqlanvil.Extract.dependencyTargets: object expected");
26844
+ message.dependencyTargets[i] = $root.sqlanvil.Target.fromObject(object.dependencyTargets[i], long + 1);
26845
+ }
26846
+ }
26847
+ switch (object.hermeticity) {
26848
+ default:
26849
+ if (typeof object.hermeticity === "number") {
26850
+ message.hermeticity = object.hermeticity;
26851
+ break;
26852
+ }
26853
+ break;
26854
+ case "UNKNOWN":
26855
+ case 0:
26856
+ message.hermeticity = 0;
26857
+ break;
26858
+ case "HERMETIC":
26859
+ case 1:
26860
+ message.hermeticity = 1;
26861
+ break;
26862
+ case "NON_HERMETIC":
26863
+ case 2:
26864
+ message.hermeticity = 2;
26865
+ break;
26866
+ }
26867
+ if (object.disabled != null)
26868
+ message.disabled = Boolean(object.disabled);
26869
+ if (object.tags) {
26870
+ if (!Array.isArray(object.tags))
26871
+ throw TypeError(".sqlanvil.Extract.tags: array expected");
26872
+ message.tags = [];
26873
+ for (let i = 0; i < object.tags.length; ++i)
26874
+ message.tags[i] = String(object.tags[i]);
26875
+ }
26876
+ if (object.actionDescriptor != null) {
26877
+ if (typeof object.actionDescriptor !== "object")
26878
+ throw TypeError(".sqlanvil.Extract.actionDescriptor: object expected");
26879
+ message.actionDescriptor = $root.sqlanvil.ActionDescriptor.fromObject(object.actionDescriptor, long + 1);
26880
+ }
26881
+ if (object.connectionName != null)
26882
+ message.connectionName = String(object.connectionName);
26883
+ if (object.platform != null)
26884
+ message.platform = String(object.platform);
26885
+ if (object.project != null)
26886
+ message.project = String(object.project);
26887
+ if (object.dataset != null)
26888
+ message.dataset = String(object.dataset);
26889
+ if (object.sourceName != null)
26890
+ message.sourceName = String(object.sourceName);
26891
+ if (object.billingProject != null)
26892
+ message.billingProject = String(object.billingProject);
26893
+ if (object.columnTypes) {
26894
+ if (typeof object.columnTypes !== "object")
26895
+ throw TypeError(".sqlanvil.Extract.columnTypes: object expected");
26896
+ message.columnTypes = {};
26897
+ for (let keys = Object.keys(object.columnTypes), i = 0; i < keys.length; ++i) {
26898
+ if (keys[i] === "__proto__")
26899
+ $util.makeProp(message.columnTypes, keys[i]);
26900
+ message.columnTypes[keys[i]] = String(object.columnTypes[keys[i]]);
26901
+ }
26902
+ }
26903
+ if (object.fileName != null)
26904
+ message.fileName = String(object.fileName);
26905
+ return message;
26906
+ };
26907
+
26908
+ /**
26909
+ * Creates a plain object from an Extract message. Also converts values to other types if specified.
26910
+ * @function toObject
26911
+ * @memberof sqlanvil.Extract
26912
+ * @static
26913
+ * @param {sqlanvil.Extract} message Extract
26914
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
26915
+ * @returns {Object.<string,*>} Plain object
26916
+ */
26917
+ Extract.toObject = function toObject(message, options) {
26918
+ if (!options)
26919
+ options = {};
26920
+ let object = {};
26921
+ if (options.arrays || options.defaults) {
26922
+ object.dependencyTargets = [];
26923
+ object.tags = [];
26924
+ }
26925
+ if (options.objects || options.defaults)
26926
+ object.columnTypes = {};
26927
+ if (options.defaults) {
26928
+ object.target = null;
26929
+ object.canonicalTarget = null;
26930
+ object.hermeticity = options.enums === String ? "UNKNOWN" : 0;
26931
+ object.disabled = false;
26932
+ object.actionDescriptor = null;
26933
+ object.connectionName = "";
26934
+ object.platform = "";
26935
+ object.project = "";
26936
+ object.dataset = "";
26937
+ object.sourceName = "";
26938
+ object.billingProject = "";
26939
+ object.fileName = "";
26940
+ }
26941
+ if (message.target != null && message.hasOwnProperty("target"))
26942
+ object.target = $root.sqlanvil.Target.toObject(message.target, options);
26943
+ if (message.canonicalTarget != null && message.hasOwnProperty("canonicalTarget"))
26944
+ object.canonicalTarget = $root.sqlanvil.Target.toObject(message.canonicalTarget, options);
26945
+ if (message.dependencyTargets && message.dependencyTargets.length) {
26946
+ object.dependencyTargets = [];
26947
+ for (let j = 0; j < message.dependencyTargets.length; ++j)
26948
+ object.dependencyTargets[j] = $root.sqlanvil.Target.toObject(message.dependencyTargets[j], options);
26949
+ }
26950
+ if (message.hermeticity != null && message.hasOwnProperty("hermeticity"))
26951
+ object.hermeticity = options.enums === String ? $root.sqlanvil.ActionHermeticity[message.hermeticity] === undefined ? message.hermeticity : $root.sqlanvil.ActionHermeticity[message.hermeticity] : message.hermeticity;
26952
+ if (message.disabled != null && message.hasOwnProperty("disabled"))
26953
+ object.disabled = message.disabled;
26954
+ if (message.tags && message.tags.length) {
26955
+ object.tags = [];
26956
+ for (let j = 0; j < message.tags.length; ++j)
26957
+ object.tags[j] = message.tags[j];
26958
+ }
26959
+ if (message.actionDescriptor != null && message.hasOwnProperty("actionDescriptor"))
26960
+ object.actionDescriptor = $root.sqlanvil.ActionDescriptor.toObject(message.actionDescriptor, options);
26961
+ if (message.connectionName != null && message.hasOwnProperty("connectionName"))
26962
+ object.connectionName = message.connectionName;
26963
+ if (message.platform != null && message.hasOwnProperty("platform"))
26964
+ object.platform = message.platform;
26965
+ if (message.project != null && message.hasOwnProperty("project"))
26966
+ object.project = message.project;
26967
+ if (message.dataset != null && message.hasOwnProperty("dataset"))
26968
+ object.dataset = message.dataset;
26969
+ if (message.sourceName != null && message.hasOwnProperty("sourceName"))
26970
+ object.sourceName = message.sourceName;
26971
+ if (message.billingProject != null && message.hasOwnProperty("billingProject"))
26972
+ object.billingProject = message.billingProject;
26973
+ let keys2;
26974
+ if (message.columnTypes && (keys2 = Object.keys(message.columnTypes)).length) {
26975
+ object.columnTypes = {};
26976
+ for (let j = 0; j < keys2.length; ++j) {
26977
+ if (keys2[j] === "__proto__")
26978
+ $util.makeProp(object.columnTypes, keys2[j]);
26979
+ object.columnTypes[keys2[j]] = message.columnTypes[keys2[j]];
26980
+ }
26981
+ }
26982
+ if (message.fileName != null && message.hasOwnProperty("fileName"))
26983
+ object.fileName = message.fileName;
26984
+ return object;
26985
+ };
26986
+
26987
+ /**
26988
+ * Converts this Extract to JSON.
26989
+ * @function toJSON
26990
+ * @memberof sqlanvil.Extract
26991
+ * @instance
26992
+ * @returns {Object.<string,*>} JSON object
26993
+ */
26994
+ Extract.prototype.toJSON = function toJSON() {
26995
+ return this.constructor.toObject(this, $protobuf__namespace.util.toJSONOptions);
26996
+ };
26997
+
26998
+ /**
26999
+ * Gets the default type url for Extract
27000
+ * @function getTypeUrl
27001
+ * @memberof sqlanvil.Extract
27002
+ * @static
27003
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
27004
+ * @returns {string} The default type url
27005
+ */
27006
+ Extract.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
27007
+ if (typeUrlPrefix === undefined) {
27008
+ typeUrlPrefix = "type.googleapis.com";
27009
+ }
27010
+ return typeUrlPrefix + "/sqlanvil.Extract";
27011
+ };
27012
+
27013
+ return Extract;
27014
+ })();
27015
+
26331
27016
  sqlanvil.Assertion = (function() {
26332
27017
 
26333
27018
  /**
@@ -30304,6 +30989,7 @@ const sqlanvil = $root.sqlanvil = (() => {
30304
30989
  * @property {Array.<sqlanvil.IDataPreparation>|null} [dataPreparations] CompiledGraph dataPreparations
30305
30990
  * @property {Array.<sqlanvil.IExport>|null} [exports] CompiledGraph exports
30306
30991
  * @property {Array.<sqlanvil.IImport>|null} [imports] CompiledGraph imports
30992
+ * @property {Array.<sqlanvil.IExtract>|null} [extracts] CompiledGraph extracts
30307
30993
  * @property {sqlanvil.IGraphErrors|null} [graphErrors] CompiledGraph graphErrors
30308
30994
  * @property {string|null} [sqlanvilCoreVersion] CompiledGraph sqlanvilCoreVersion
30309
30995
  * @property {Array.<sqlanvil.ITarget>|null} [targets] CompiledGraph targets
@@ -30328,6 +31014,7 @@ const sqlanvil = $root.sqlanvil = (() => {
30328
31014
  this.dataPreparations = [];
30329
31015
  this.exports = [];
30330
31016
  this.imports = [];
31017
+ this.extracts = [];
30331
31018
  this.targets = [];
30332
31019
  if (properties)
30333
31020
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
@@ -30415,6 +31102,14 @@ const sqlanvil = $root.sqlanvil = (() => {
30415
31102
  */
30416
31103
  CompiledGraph.prototype.imports = $util.emptyArray;
30417
31104
 
31105
+ /**
31106
+ * CompiledGraph extracts.
31107
+ * @member {Array.<sqlanvil.IExtract>} extracts
31108
+ * @memberof sqlanvil.CompiledGraph
31109
+ * @instance
31110
+ */
31111
+ CompiledGraph.prototype.extracts = $util.emptyArray;
31112
+
30418
31113
  /**
30419
31114
  * CompiledGraph graphErrors.
30420
31115
  * @member {sqlanvil.IGraphErrors|null|undefined} graphErrors
@@ -30509,6 +31204,9 @@ const sqlanvil = $root.sqlanvil = (() => {
30509
31204
  if (message.imports != null && message.imports.length)
30510
31205
  for (let i = 0; i < message.imports.length; ++i)
30511
31206
  $root.sqlanvil.Import.encode(message.imports[i], writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim();
31207
+ if (message.extracts != null && message.extracts.length)
31208
+ for (let i = 0; i < message.extracts.length; ++i)
31209
+ $root.sqlanvil.Extract.encode(message.extracts[i], writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim();
30512
31210
  return writer;
30513
31211
  };
30514
31212
 
@@ -30607,6 +31305,12 @@ const sqlanvil = $root.sqlanvil = (() => {
30607
31305
  message.imports.push($root.sqlanvil.Import.decode(reader, reader.uint32(), undefined, long + 1));
30608
31306
  break;
30609
31307
  }
31308
+ case 17: {
31309
+ if (!(message.extracts && message.extracts.length))
31310
+ message.extracts = [];
31311
+ message.extracts.push($root.sqlanvil.Extract.decode(reader, reader.uint32(), undefined, long + 1));
31312
+ break;
31313
+ }
30610
31314
  case 7: {
30611
31315
  message.graphErrors = $root.sqlanvil.GraphErrors.decode(reader, reader.uint32(), undefined, long + 1);
30612
31316
  break;
@@ -30750,6 +31454,15 @@ const sqlanvil = $root.sqlanvil = (() => {
30750
31454
  return "imports." + error;
30751
31455
  }
30752
31456
  }
31457
+ if (message.extracts != null && message.hasOwnProperty("extracts")) {
31458
+ if (!Array.isArray(message.extracts))
31459
+ return "extracts: array expected";
31460
+ for (let i = 0; i < message.extracts.length; ++i) {
31461
+ let error = $root.sqlanvil.Extract.verify(message.extracts[i], long + 1);
31462
+ if (error)
31463
+ return "extracts." + error;
31464
+ }
31465
+ }
30753
31466
  if (message.graphErrors != null && message.hasOwnProperty("graphErrors")) {
30754
31467
  let error = $root.sqlanvil.GraphErrors.verify(message.graphErrors, long + 1);
30755
31468
  if (error)
@@ -30886,6 +31599,16 @@ const sqlanvil = $root.sqlanvil = (() => {
30886
31599
  message.imports[i] = $root.sqlanvil.Import.fromObject(object.imports[i], long + 1);
30887
31600
  }
30888
31601
  }
31602
+ if (object.extracts) {
31603
+ if (!Array.isArray(object.extracts))
31604
+ throw TypeError(".sqlanvil.CompiledGraph.extracts: array expected");
31605
+ message.extracts = [];
31606
+ for (let i = 0; i < object.extracts.length; ++i) {
31607
+ if (typeof object.extracts[i] !== "object")
31608
+ throw TypeError(".sqlanvil.CompiledGraph.extracts: object expected");
31609
+ message.extracts[i] = $root.sqlanvil.Extract.fromObject(object.extracts[i], long + 1);
31610
+ }
31611
+ }
30889
31612
  if (object.graphErrors != null) {
30890
31613
  if (typeof object.graphErrors !== "object")
30891
31614
  throw TypeError(".sqlanvil.CompiledGraph.graphErrors: object expected");
@@ -30935,6 +31658,7 @@ const sqlanvil = $root.sqlanvil = (() => {
30935
31658
  object.dataPreparations = [];
30936
31659
  object.exports = [];
30937
31660
  object.imports = [];
31661
+ object.extracts = [];
30938
31662
  }
30939
31663
  if (options.defaults) {
30940
31664
  object.projectConfig = null;
@@ -31000,6 +31724,11 @@ const sqlanvil = $root.sqlanvil = (() => {
31000
31724
  for (let j = 0; j < message.imports.length; ++j)
31001
31725
  object.imports[j] = $root.sqlanvil.Import.toObject(message.imports[j], options);
31002
31726
  }
31727
+ if (message.extracts && message.extracts.length) {
31728
+ object.extracts = [];
31729
+ for (let j = 0; j < message.extracts.length; ++j)
31730
+ object.extracts[j] = $root.sqlanvil.Extract.toObject(message.extracts[j], options);
31731
+ }
31003
31732
  return object;
31004
31733
  };
31005
31734
 
@@ -35623,39 +36352,383 @@ const sqlanvil = $root.sqlanvil = (() => {
35623
36352
  };
35624
36353
 
35625
36354
  /**
35626
- * Decodes an ExportSpec message from the specified reader or buffer, length delimited.
36355
+ * Decodes an ExportSpec message from the specified reader or buffer, length delimited.
36356
+ * @function decodeDelimited
36357
+ * @memberof sqlanvil.ExportSpec
36358
+ * @static
36359
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
36360
+ * @returns {sqlanvil.ExportSpec} ExportSpec
36361
+ * @throws {Error} If the payload is not a reader or valid buffer
36362
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
36363
+ */
36364
+ ExportSpec.decodeDelimited = function decodeDelimited(reader) {
36365
+ if (!(reader instanceof $Reader))
36366
+ reader = new $Reader(reader);
36367
+ return this.decode(reader, reader.uint32());
36368
+ };
36369
+
36370
+ /**
36371
+ * Verifies an ExportSpec message.
36372
+ * @function verify
36373
+ * @memberof sqlanvil.ExportSpec
36374
+ * @static
36375
+ * @param {Object.<string,*>} message Plain object to verify
36376
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
36377
+ */
36378
+ ExportSpec.verify = function verify(message, long) {
36379
+ if (typeof message !== "object" || message === null)
36380
+ return "object expected";
36381
+ if (long === undefined)
36382
+ long = 0;
36383
+ if (long > $util.recursionLimit)
36384
+ return "maximum nesting depth exceeded";
36385
+ if (message.query != null && message.hasOwnProperty("query"))
36386
+ if (!$util.isString(message.query))
36387
+ return "query: string expected";
36388
+ if (message.location != null && message.hasOwnProperty("location"))
36389
+ if (!$util.isString(message.location))
36390
+ return "location: string expected";
36391
+ if (message.format != null && message.hasOwnProperty("format"))
36392
+ if (!$util.isString(message.format))
36393
+ return "format: string expected";
36394
+ if (message.overwrite != null && message.hasOwnProperty("overwrite"))
36395
+ if (typeof message.overwrite !== "boolean")
36396
+ return "overwrite: boolean expected";
36397
+ if (message.filename != null && message.hasOwnProperty("filename"))
36398
+ if (!$util.isString(message.filename))
36399
+ return "filename: string expected";
36400
+ if (message.options != null && message.hasOwnProperty("options")) {
36401
+ if (!$util.isObject(message.options))
36402
+ return "options: object expected";
36403
+ let key = Object.keys(message.options);
36404
+ for (let i = 0; i < key.length; ++i)
36405
+ if (!$util.isString(message.options[key[i]]))
36406
+ return "options: string{k:string} expected";
36407
+ }
36408
+ return null;
36409
+ };
36410
+
36411
+ /**
36412
+ * Creates an ExportSpec message from a plain object. Also converts values to their respective internal types.
36413
+ * @function fromObject
36414
+ * @memberof sqlanvil.ExportSpec
36415
+ * @static
36416
+ * @param {Object.<string,*>} object Plain object
36417
+ * @returns {sqlanvil.ExportSpec} ExportSpec
36418
+ */
36419
+ ExportSpec.fromObject = function fromObject(object, long) {
36420
+ if (object instanceof $root.sqlanvil.ExportSpec)
36421
+ return object;
36422
+ if (long === undefined)
36423
+ long = 0;
36424
+ if (long > $util.recursionLimit)
36425
+ throw Error("maximum nesting depth exceeded");
36426
+ let message = new $root.sqlanvil.ExportSpec();
36427
+ if (object.query != null)
36428
+ message.query = String(object.query);
36429
+ if (object.location != null)
36430
+ message.location = String(object.location);
36431
+ if (object.format != null)
36432
+ message.format = String(object.format);
36433
+ if (object.overwrite != null)
36434
+ message.overwrite = Boolean(object.overwrite);
36435
+ if (object.filename != null)
36436
+ message.filename = String(object.filename);
36437
+ if (object.options) {
36438
+ if (typeof object.options !== "object")
36439
+ throw TypeError(".sqlanvil.ExportSpec.options: object expected");
36440
+ message.options = {};
36441
+ for (let keys = Object.keys(object.options), i = 0; i < keys.length; ++i) {
36442
+ if (keys[i] === "__proto__")
36443
+ $util.makeProp(message.options, keys[i]);
36444
+ message.options[keys[i]] = String(object.options[keys[i]]);
36445
+ }
36446
+ }
36447
+ return message;
36448
+ };
36449
+
36450
+ /**
36451
+ * Creates a plain object from an ExportSpec message. Also converts values to other types if specified.
36452
+ * @function toObject
36453
+ * @memberof sqlanvil.ExportSpec
36454
+ * @static
36455
+ * @param {sqlanvil.ExportSpec} message ExportSpec
36456
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
36457
+ * @returns {Object.<string,*>} Plain object
36458
+ */
36459
+ ExportSpec.toObject = function toObject(message, options) {
36460
+ if (!options)
36461
+ options = {};
36462
+ let object = {};
36463
+ if (options.objects || options.defaults)
36464
+ object.options = {};
36465
+ if (options.defaults) {
36466
+ object.query = "";
36467
+ object.location = "";
36468
+ object.format = "";
36469
+ object.overwrite = false;
36470
+ object.filename = "";
36471
+ }
36472
+ if (message.query != null && message.hasOwnProperty("query"))
36473
+ object.query = message.query;
36474
+ if (message.location != null && message.hasOwnProperty("location"))
36475
+ object.location = message.location;
36476
+ if (message.format != null && message.hasOwnProperty("format"))
36477
+ object.format = message.format;
36478
+ if (message.overwrite != null && message.hasOwnProperty("overwrite"))
36479
+ object.overwrite = message.overwrite;
36480
+ if (message.filename != null && message.hasOwnProperty("filename"))
36481
+ object.filename = message.filename;
36482
+ let keys2;
36483
+ if (message.options && (keys2 = Object.keys(message.options)).length) {
36484
+ object.options = {};
36485
+ for (let j = 0; j < keys2.length; ++j) {
36486
+ if (keys2[j] === "__proto__")
36487
+ $util.makeProp(object.options, keys2[j]);
36488
+ object.options[keys2[j]] = message.options[keys2[j]];
36489
+ }
36490
+ }
36491
+ return object;
36492
+ };
36493
+
36494
+ /**
36495
+ * Converts this ExportSpec to JSON.
36496
+ * @function toJSON
36497
+ * @memberof sqlanvil.ExportSpec
36498
+ * @instance
36499
+ * @returns {Object.<string,*>} JSON object
36500
+ */
36501
+ ExportSpec.prototype.toJSON = function toJSON() {
36502
+ return this.constructor.toObject(this, $protobuf__namespace.util.toJSONOptions);
36503
+ };
36504
+
36505
+ /**
36506
+ * Gets the default type url for ExportSpec
36507
+ * @function getTypeUrl
36508
+ * @memberof sqlanvil.ExportSpec
36509
+ * @static
36510
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
36511
+ * @returns {string} The default type url
36512
+ */
36513
+ ExportSpec.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
36514
+ if (typeUrlPrefix === undefined) {
36515
+ typeUrlPrefix = "type.googleapis.com";
36516
+ }
36517
+ return typeUrlPrefix + "/sqlanvil.ExportSpec";
36518
+ };
36519
+
36520
+ return ExportSpec;
36521
+ })();
36522
+
36523
+ sqlanvil.ImportSpec = (function() {
36524
+
36525
+ /**
36526
+ * Properties of an ImportSpec.
36527
+ * @memberof sqlanvil
36528
+ * @interface IImportSpec
36529
+ * @property {string|null} [location] ImportSpec location
36530
+ * @property {string|null} [format] ImportSpec format
36531
+ * @property {boolean|null} [overwrite] ImportSpec overwrite
36532
+ * @property {Object.<string,string>|null} [options] ImportSpec options
36533
+ */
36534
+
36535
+ /**
36536
+ * Constructs a new ImportSpec.
36537
+ * @memberof sqlanvil
36538
+ * @classdesc Represents an ImportSpec.
36539
+ * @implements IImportSpec
36540
+ * @constructor
36541
+ * @param {sqlanvil.IImportSpec=} [properties] Properties to set
36542
+ */
36543
+ function ImportSpec(properties) {
36544
+ this.options = {};
36545
+ if (properties)
36546
+ for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
36547
+ if (properties[keys[i]] != null && keys[i] !== "__proto__")
36548
+ this[keys[i]] = properties[keys[i]];
36549
+ }
36550
+
36551
+ /**
36552
+ * ImportSpec location.
36553
+ * @member {string} location
36554
+ * @memberof sqlanvil.ImportSpec
36555
+ * @instance
36556
+ */
36557
+ ImportSpec.prototype.location = "";
36558
+
36559
+ /**
36560
+ * ImportSpec format.
36561
+ * @member {string} format
36562
+ * @memberof sqlanvil.ImportSpec
36563
+ * @instance
36564
+ */
36565
+ ImportSpec.prototype.format = "";
36566
+
36567
+ /**
36568
+ * ImportSpec overwrite.
36569
+ * @member {boolean} overwrite
36570
+ * @memberof sqlanvil.ImportSpec
36571
+ * @instance
36572
+ */
36573
+ ImportSpec.prototype.overwrite = false;
36574
+
36575
+ /**
36576
+ * ImportSpec options.
36577
+ * @member {Object.<string,string>} options
36578
+ * @memberof sqlanvil.ImportSpec
36579
+ * @instance
36580
+ */
36581
+ ImportSpec.prototype.options = $util.emptyObject;
36582
+
36583
+ /**
36584
+ * Creates a new ImportSpec instance using the specified properties.
36585
+ * @function create
36586
+ * @memberof sqlanvil.ImportSpec
36587
+ * @static
36588
+ * @param {sqlanvil.IImportSpec=} [properties] Properties to set
36589
+ * @returns {sqlanvil.ImportSpec} ImportSpec instance
36590
+ */
36591
+ ImportSpec.create = function create(properties) {
36592
+ return new ImportSpec(properties);
36593
+ };
36594
+
36595
+ /**
36596
+ * Encodes the specified ImportSpec message. Does not implicitly {@link sqlanvil.ImportSpec.verify|verify} messages.
36597
+ * @function encode
36598
+ * @memberof sqlanvil.ImportSpec
36599
+ * @static
36600
+ * @param {sqlanvil.IImportSpec} message ImportSpec message or plain object to encode
36601
+ * @param {$protobuf.Writer} [writer] Writer to encode to
36602
+ * @returns {$protobuf.Writer} Writer
36603
+ */
36604
+ ImportSpec.encode = function encode(message, writer) {
36605
+ if (!writer)
36606
+ writer = $Writer.create();
36607
+ if (message.location != null && Object.hasOwnProperty.call(message, "location"))
36608
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.location);
36609
+ if (message.format != null && Object.hasOwnProperty.call(message, "format"))
36610
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.format);
36611
+ if (message.overwrite != null && Object.hasOwnProperty.call(message, "overwrite"))
36612
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.overwrite);
36613
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
36614
+ for (let keys = Object.keys(message.options), i = 0; i < keys.length; ++i)
36615
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.options[keys[i]]).ldelim();
36616
+ return writer;
36617
+ };
36618
+
36619
+ /**
36620
+ * Encodes the specified ImportSpec message, length delimited. Does not implicitly {@link sqlanvil.ImportSpec.verify|verify} messages.
36621
+ * @function encodeDelimited
36622
+ * @memberof sqlanvil.ImportSpec
36623
+ * @static
36624
+ * @param {sqlanvil.IImportSpec} message ImportSpec message or plain object to encode
36625
+ * @param {$protobuf.Writer} [writer] Writer to encode to
36626
+ * @returns {$protobuf.Writer} Writer
36627
+ */
36628
+ ImportSpec.encodeDelimited = function encodeDelimited(message, writer) {
36629
+ return this.encode(message, writer).ldelim();
36630
+ };
36631
+
36632
+ /**
36633
+ * Decodes an ImportSpec message from the specified reader or buffer.
36634
+ * @function decode
36635
+ * @memberof sqlanvil.ImportSpec
36636
+ * @static
36637
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
36638
+ * @param {number} [length] Message length if known beforehand
36639
+ * @returns {sqlanvil.ImportSpec} ImportSpec
36640
+ * @throws {Error} If the payload is not a reader or valid buffer
36641
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
36642
+ */
36643
+ ImportSpec.decode = function decode(reader, length, error, long) {
36644
+ if (!(reader instanceof $Reader))
36645
+ reader = $Reader.create(reader);
36646
+ if (long === undefined)
36647
+ long = 0;
36648
+ if (long > $Reader.recursionLimit)
36649
+ throw Error("maximum nesting depth exceeded");
36650
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sqlanvil.ImportSpec(), key, value;
36651
+ while (reader.pos < end) {
36652
+ let tag = reader.uint32();
36653
+ if (tag === error)
36654
+ break;
36655
+ switch (tag >>> 3) {
36656
+ case 1: {
36657
+ message.location = reader.string();
36658
+ break;
36659
+ }
36660
+ case 2: {
36661
+ message.format = reader.string();
36662
+ break;
36663
+ }
36664
+ case 3: {
36665
+ message.overwrite = reader.bool();
36666
+ break;
36667
+ }
36668
+ case 4: {
36669
+ if (message.options === $util.emptyObject)
36670
+ message.options = {};
36671
+ let end2 = reader.uint32() + reader.pos;
36672
+ key = "";
36673
+ value = "";
36674
+ while (reader.pos < end2) {
36675
+ let tag2 = reader.uint32();
36676
+ switch (tag2 >>> 3) {
36677
+ case 1:
36678
+ key = reader.string();
36679
+ break;
36680
+ case 2:
36681
+ value = reader.string();
36682
+ break;
36683
+ default:
36684
+ reader.skipType(tag2 & 7, long);
36685
+ break;
36686
+ }
36687
+ }
36688
+ if (key === "__proto__")
36689
+ $util.makeProp(message.options, key);
36690
+ message.options[key] = value;
36691
+ break;
36692
+ }
36693
+ default:
36694
+ reader.skipType(tag & 7, long);
36695
+ break;
36696
+ }
36697
+ }
36698
+ return message;
36699
+ };
36700
+
36701
+ /**
36702
+ * Decodes an ImportSpec message from the specified reader or buffer, length delimited.
35627
36703
  * @function decodeDelimited
35628
- * @memberof sqlanvil.ExportSpec
36704
+ * @memberof sqlanvil.ImportSpec
35629
36705
  * @static
35630
36706
  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
35631
- * @returns {sqlanvil.ExportSpec} ExportSpec
36707
+ * @returns {sqlanvil.ImportSpec} ImportSpec
35632
36708
  * @throws {Error} If the payload is not a reader or valid buffer
35633
36709
  * @throws {$protobuf.util.ProtocolError} If required fields are missing
35634
36710
  */
35635
- ExportSpec.decodeDelimited = function decodeDelimited(reader) {
36711
+ ImportSpec.decodeDelimited = function decodeDelimited(reader) {
35636
36712
  if (!(reader instanceof $Reader))
35637
36713
  reader = new $Reader(reader);
35638
36714
  return this.decode(reader, reader.uint32());
35639
36715
  };
35640
36716
 
35641
36717
  /**
35642
- * Verifies an ExportSpec message.
36718
+ * Verifies an ImportSpec message.
35643
36719
  * @function verify
35644
- * @memberof sqlanvil.ExportSpec
36720
+ * @memberof sqlanvil.ImportSpec
35645
36721
  * @static
35646
36722
  * @param {Object.<string,*>} message Plain object to verify
35647
36723
  * @returns {string|null} `null` if valid, otherwise the reason why it is not
35648
36724
  */
35649
- ExportSpec.verify = function verify(message, long) {
36725
+ ImportSpec.verify = function verify(message, long) {
35650
36726
  if (typeof message !== "object" || message === null)
35651
36727
  return "object expected";
35652
36728
  if (long === undefined)
35653
36729
  long = 0;
35654
36730
  if (long > $util.recursionLimit)
35655
36731
  return "maximum nesting depth exceeded";
35656
- if (message.query != null && message.hasOwnProperty("query"))
35657
- if (!$util.isString(message.query))
35658
- return "query: string expected";
35659
36732
  if (message.location != null && message.hasOwnProperty("location"))
35660
36733
  if (!$util.isString(message.location))
35661
36734
  return "location: string expected";
@@ -35665,9 +36738,6 @@ const sqlanvil = $root.sqlanvil = (() => {
35665
36738
  if (message.overwrite != null && message.hasOwnProperty("overwrite"))
35666
36739
  if (typeof message.overwrite !== "boolean")
35667
36740
  return "overwrite: boolean expected";
35668
- if (message.filename != null && message.hasOwnProperty("filename"))
35669
- if (!$util.isString(message.filename))
35670
- return "filename: string expected";
35671
36741
  if (message.options != null && message.hasOwnProperty("options")) {
35672
36742
  if (!$util.isObject(message.options))
35673
36743
  return "options: object expected";
@@ -35680,34 +36750,30 @@ const sqlanvil = $root.sqlanvil = (() => {
35680
36750
  };
35681
36751
 
35682
36752
  /**
35683
- * Creates an ExportSpec message from a plain object. Also converts values to their respective internal types.
36753
+ * Creates an ImportSpec message from a plain object. Also converts values to their respective internal types.
35684
36754
  * @function fromObject
35685
- * @memberof sqlanvil.ExportSpec
36755
+ * @memberof sqlanvil.ImportSpec
35686
36756
  * @static
35687
36757
  * @param {Object.<string,*>} object Plain object
35688
- * @returns {sqlanvil.ExportSpec} ExportSpec
36758
+ * @returns {sqlanvil.ImportSpec} ImportSpec
35689
36759
  */
35690
- ExportSpec.fromObject = function fromObject(object, long) {
35691
- if (object instanceof $root.sqlanvil.ExportSpec)
36760
+ ImportSpec.fromObject = function fromObject(object, long) {
36761
+ if (object instanceof $root.sqlanvil.ImportSpec)
35692
36762
  return object;
35693
36763
  if (long === undefined)
35694
36764
  long = 0;
35695
36765
  if (long > $util.recursionLimit)
35696
36766
  throw Error("maximum nesting depth exceeded");
35697
- let message = new $root.sqlanvil.ExportSpec();
35698
- if (object.query != null)
35699
- message.query = String(object.query);
36767
+ let message = new $root.sqlanvil.ImportSpec();
35700
36768
  if (object.location != null)
35701
36769
  message.location = String(object.location);
35702
36770
  if (object.format != null)
35703
36771
  message.format = String(object.format);
35704
36772
  if (object.overwrite != null)
35705
36773
  message.overwrite = Boolean(object.overwrite);
35706
- if (object.filename != null)
35707
- message.filename = String(object.filename);
35708
36774
  if (object.options) {
35709
36775
  if (typeof object.options !== "object")
35710
- throw TypeError(".sqlanvil.ExportSpec.options: object expected");
36776
+ throw TypeError(".sqlanvil.ImportSpec.options: object expected");
35711
36777
  message.options = {};
35712
36778
  for (let keys = Object.keys(object.options), i = 0; i < keys.length; ++i) {
35713
36779
  if (keys[i] === "__proto__")
@@ -35719,37 +36785,31 @@ const sqlanvil = $root.sqlanvil = (() => {
35719
36785
  };
35720
36786
 
35721
36787
  /**
35722
- * Creates a plain object from an ExportSpec message. Also converts values to other types if specified.
36788
+ * Creates a plain object from an ImportSpec message. Also converts values to other types if specified.
35723
36789
  * @function toObject
35724
- * @memberof sqlanvil.ExportSpec
36790
+ * @memberof sqlanvil.ImportSpec
35725
36791
  * @static
35726
- * @param {sqlanvil.ExportSpec} message ExportSpec
36792
+ * @param {sqlanvil.ImportSpec} message ImportSpec
35727
36793
  * @param {$protobuf.IConversionOptions} [options] Conversion options
35728
36794
  * @returns {Object.<string,*>} Plain object
35729
36795
  */
35730
- ExportSpec.toObject = function toObject(message, options) {
36796
+ ImportSpec.toObject = function toObject(message, options) {
35731
36797
  if (!options)
35732
36798
  options = {};
35733
36799
  let object = {};
35734
36800
  if (options.objects || options.defaults)
35735
36801
  object.options = {};
35736
36802
  if (options.defaults) {
35737
- object.query = "";
35738
36803
  object.location = "";
35739
36804
  object.format = "";
35740
36805
  object.overwrite = false;
35741
- object.filename = "";
35742
36806
  }
35743
- if (message.query != null && message.hasOwnProperty("query"))
35744
- object.query = message.query;
35745
36807
  if (message.location != null && message.hasOwnProperty("location"))
35746
36808
  object.location = message.location;
35747
36809
  if (message.format != null && message.hasOwnProperty("format"))
35748
36810
  object.format = message.format;
35749
36811
  if (message.overwrite != null && message.hasOwnProperty("overwrite"))
35750
36812
  object.overwrite = message.overwrite;
35751
- if (message.filename != null && message.hasOwnProperty("filename"))
35752
- object.filename = message.filename;
35753
36813
  let keys2;
35754
36814
  if (message.options && (keys2 = Object.keys(message.options)).length) {
35755
36815
  object.options = {};
@@ -35763,56 +36823,59 @@ const sqlanvil = $root.sqlanvil = (() => {
35763
36823
  };
35764
36824
 
35765
36825
  /**
35766
- * Converts this ExportSpec to JSON.
36826
+ * Converts this ImportSpec to JSON.
35767
36827
  * @function toJSON
35768
- * @memberof sqlanvil.ExportSpec
36828
+ * @memberof sqlanvil.ImportSpec
35769
36829
  * @instance
35770
36830
  * @returns {Object.<string,*>} JSON object
35771
36831
  */
35772
- ExportSpec.prototype.toJSON = function toJSON() {
36832
+ ImportSpec.prototype.toJSON = function toJSON() {
35773
36833
  return this.constructor.toObject(this, $protobuf__namespace.util.toJSONOptions);
35774
36834
  };
35775
36835
 
35776
36836
  /**
35777
- * Gets the default type url for ExportSpec
36837
+ * Gets the default type url for ImportSpec
35778
36838
  * @function getTypeUrl
35779
- * @memberof sqlanvil.ExportSpec
36839
+ * @memberof sqlanvil.ImportSpec
35780
36840
  * @static
35781
36841
  * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
35782
36842
  * @returns {string} The default type url
35783
36843
  */
35784
- ExportSpec.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
36844
+ ImportSpec.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
35785
36845
  if (typeUrlPrefix === undefined) {
35786
36846
  typeUrlPrefix = "type.googleapis.com";
35787
36847
  }
35788
- return typeUrlPrefix + "/sqlanvil.ExportSpec";
36848
+ return typeUrlPrefix + "/sqlanvil.ImportSpec";
35789
36849
  };
35790
36850
 
35791
- return ExportSpec;
36851
+ return ImportSpec;
35792
36852
  })();
35793
36853
 
35794
- sqlanvil.ImportSpec = (function() {
36854
+ sqlanvil.ExtractSpec = (function() {
35795
36855
 
35796
36856
  /**
35797
- * Properties of an ImportSpec.
36857
+ * Properties of an ExtractSpec.
35798
36858
  * @memberof sqlanvil
35799
- * @interface IImportSpec
35800
- * @property {string|null} [location] ImportSpec location
35801
- * @property {string|null} [format] ImportSpec format
35802
- * @property {boolean|null} [overwrite] ImportSpec overwrite
35803
- * @property {Object.<string,string>|null} [options] ImportSpec options
36859
+ * @interface IExtractSpec
36860
+ * @property {string|null} [connectionName] ExtractSpec connectionName
36861
+ * @property {string|null} [platform] ExtractSpec platform
36862
+ * @property {string|null} [project] ExtractSpec project
36863
+ * @property {string|null} [dataset] ExtractSpec dataset
36864
+ * @property {string|null} [sourceName] ExtractSpec sourceName
36865
+ * @property {string|null} [billingProject] ExtractSpec billingProject
36866
+ * @property {Object.<string,string>|null} [columnTypes] ExtractSpec columnTypes
35804
36867
  */
35805
36868
 
35806
36869
  /**
35807
- * Constructs a new ImportSpec.
36870
+ * Constructs a new ExtractSpec.
35808
36871
  * @memberof sqlanvil
35809
- * @classdesc Represents an ImportSpec.
35810
- * @implements IImportSpec
36872
+ * @classdesc Represents an ExtractSpec.
36873
+ * @implements IExtractSpec
35811
36874
  * @constructor
35812
- * @param {sqlanvil.IImportSpec=} [properties] Properties to set
36875
+ * @param {sqlanvil.IExtractSpec=} [properties] Properties to set
35813
36876
  */
35814
- function ImportSpec(properties) {
35815
- this.options = {};
36877
+ function ExtractSpec(properties) {
36878
+ this.columnTypes = {};
35816
36879
  if (properties)
35817
36880
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
35818
36881
  if (properties[keys[i]] != null && keys[i] !== "__proto__")
@@ -35820,125 +36883,167 @@ const sqlanvil = $root.sqlanvil = (() => {
35820
36883
  }
35821
36884
 
35822
36885
  /**
35823
- * ImportSpec location.
35824
- * @member {string} location
35825
- * @memberof sqlanvil.ImportSpec
36886
+ * ExtractSpec connectionName.
36887
+ * @member {string} connectionName
36888
+ * @memberof sqlanvil.ExtractSpec
35826
36889
  * @instance
35827
36890
  */
35828
- ImportSpec.prototype.location = "";
36891
+ ExtractSpec.prototype.connectionName = "";
35829
36892
 
35830
36893
  /**
35831
- * ImportSpec format.
35832
- * @member {string} format
35833
- * @memberof sqlanvil.ImportSpec
36894
+ * ExtractSpec platform.
36895
+ * @member {string} platform
36896
+ * @memberof sqlanvil.ExtractSpec
35834
36897
  * @instance
35835
36898
  */
35836
- ImportSpec.prototype.format = "";
36899
+ ExtractSpec.prototype.platform = "";
35837
36900
 
35838
36901
  /**
35839
- * ImportSpec overwrite.
35840
- * @member {boolean} overwrite
35841
- * @memberof sqlanvil.ImportSpec
36902
+ * ExtractSpec project.
36903
+ * @member {string} project
36904
+ * @memberof sqlanvil.ExtractSpec
35842
36905
  * @instance
35843
36906
  */
35844
- ImportSpec.prototype.overwrite = false;
36907
+ ExtractSpec.prototype.project = "";
35845
36908
 
35846
36909
  /**
35847
- * ImportSpec options.
35848
- * @member {Object.<string,string>} options
35849
- * @memberof sqlanvil.ImportSpec
36910
+ * ExtractSpec dataset.
36911
+ * @member {string} dataset
36912
+ * @memberof sqlanvil.ExtractSpec
35850
36913
  * @instance
35851
36914
  */
35852
- ImportSpec.prototype.options = $util.emptyObject;
36915
+ ExtractSpec.prototype.dataset = "";
35853
36916
 
35854
36917
  /**
35855
- * Creates a new ImportSpec instance using the specified properties.
36918
+ * ExtractSpec sourceName.
36919
+ * @member {string} sourceName
36920
+ * @memberof sqlanvil.ExtractSpec
36921
+ * @instance
36922
+ */
36923
+ ExtractSpec.prototype.sourceName = "";
36924
+
36925
+ /**
36926
+ * ExtractSpec billingProject.
36927
+ * @member {string} billingProject
36928
+ * @memberof sqlanvil.ExtractSpec
36929
+ * @instance
36930
+ */
36931
+ ExtractSpec.prototype.billingProject = "";
36932
+
36933
+ /**
36934
+ * ExtractSpec columnTypes.
36935
+ * @member {Object.<string,string>} columnTypes
36936
+ * @memberof sqlanvil.ExtractSpec
36937
+ * @instance
36938
+ */
36939
+ ExtractSpec.prototype.columnTypes = $util.emptyObject;
36940
+
36941
+ /**
36942
+ * Creates a new ExtractSpec instance using the specified properties.
35856
36943
  * @function create
35857
- * @memberof sqlanvil.ImportSpec
36944
+ * @memberof sqlanvil.ExtractSpec
35858
36945
  * @static
35859
- * @param {sqlanvil.IImportSpec=} [properties] Properties to set
35860
- * @returns {sqlanvil.ImportSpec} ImportSpec instance
36946
+ * @param {sqlanvil.IExtractSpec=} [properties] Properties to set
36947
+ * @returns {sqlanvil.ExtractSpec} ExtractSpec instance
35861
36948
  */
35862
- ImportSpec.create = function create(properties) {
35863
- return new ImportSpec(properties);
36949
+ ExtractSpec.create = function create(properties) {
36950
+ return new ExtractSpec(properties);
35864
36951
  };
35865
36952
 
35866
36953
  /**
35867
- * Encodes the specified ImportSpec message. Does not implicitly {@link sqlanvil.ImportSpec.verify|verify} messages.
36954
+ * Encodes the specified ExtractSpec message. Does not implicitly {@link sqlanvil.ExtractSpec.verify|verify} messages.
35868
36955
  * @function encode
35869
- * @memberof sqlanvil.ImportSpec
36956
+ * @memberof sqlanvil.ExtractSpec
35870
36957
  * @static
35871
- * @param {sqlanvil.IImportSpec} message ImportSpec message or plain object to encode
36958
+ * @param {sqlanvil.IExtractSpec} message ExtractSpec message or plain object to encode
35872
36959
  * @param {$protobuf.Writer} [writer] Writer to encode to
35873
36960
  * @returns {$protobuf.Writer} Writer
35874
36961
  */
35875
- ImportSpec.encode = function encode(message, writer) {
36962
+ ExtractSpec.encode = function encode(message, writer) {
35876
36963
  if (!writer)
35877
36964
  writer = $Writer.create();
35878
- if (message.location != null && Object.hasOwnProperty.call(message, "location"))
35879
- writer.uint32(/* id 1, wireType 2 =*/10).string(message.location);
35880
- if (message.format != null && Object.hasOwnProperty.call(message, "format"))
35881
- writer.uint32(/* id 2, wireType 2 =*/18).string(message.format);
35882
- if (message.overwrite != null && Object.hasOwnProperty.call(message, "overwrite"))
35883
- writer.uint32(/* id 3, wireType 0 =*/24).bool(message.overwrite);
35884
- if (message.options != null && Object.hasOwnProperty.call(message, "options"))
35885
- for (let keys = Object.keys(message.options), i = 0; i < keys.length; ++i)
35886
- writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.options[keys[i]]).ldelim();
36965
+ if (message.connectionName != null && Object.hasOwnProperty.call(message, "connectionName"))
36966
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.connectionName);
36967
+ if (message.platform != null && Object.hasOwnProperty.call(message, "platform"))
36968
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.platform);
36969
+ if (message.project != null && Object.hasOwnProperty.call(message, "project"))
36970
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.project);
36971
+ if (message.dataset != null && Object.hasOwnProperty.call(message, "dataset"))
36972
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.dataset);
36973
+ if (message.sourceName != null && Object.hasOwnProperty.call(message, "sourceName"))
36974
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.sourceName);
36975
+ if (message.billingProject != null && Object.hasOwnProperty.call(message, "billingProject"))
36976
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.billingProject);
36977
+ if (message.columnTypes != null && Object.hasOwnProperty.call(message, "columnTypes"))
36978
+ for (let keys = Object.keys(message.columnTypes), i = 0; i < keys.length; ++i)
36979
+ writer.uint32(/* id 7, wireType 2 =*/58).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.columnTypes[keys[i]]).ldelim();
35887
36980
  return writer;
35888
36981
  };
35889
36982
 
35890
36983
  /**
35891
- * Encodes the specified ImportSpec message, length delimited. Does not implicitly {@link sqlanvil.ImportSpec.verify|verify} messages.
36984
+ * Encodes the specified ExtractSpec message, length delimited. Does not implicitly {@link sqlanvil.ExtractSpec.verify|verify} messages.
35892
36985
  * @function encodeDelimited
35893
- * @memberof sqlanvil.ImportSpec
36986
+ * @memberof sqlanvil.ExtractSpec
35894
36987
  * @static
35895
- * @param {sqlanvil.IImportSpec} message ImportSpec message or plain object to encode
36988
+ * @param {sqlanvil.IExtractSpec} message ExtractSpec message or plain object to encode
35896
36989
  * @param {$protobuf.Writer} [writer] Writer to encode to
35897
36990
  * @returns {$protobuf.Writer} Writer
35898
36991
  */
35899
- ImportSpec.encodeDelimited = function encodeDelimited(message, writer) {
36992
+ ExtractSpec.encodeDelimited = function encodeDelimited(message, writer) {
35900
36993
  return this.encode(message, writer).ldelim();
35901
36994
  };
35902
36995
 
35903
36996
  /**
35904
- * Decodes an ImportSpec message from the specified reader or buffer.
36997
+ * Decodes an ExtractSpec message from the specified reader or buffer.
35905
36998
  * @function decode
35906
- * @memberof sqlanvil.ImportSpec
36999
+ * @memberof sqlanvil.ExtractSpec
35907
37000
  * @static
35908
37001
  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
35909
37002
  * @param {number} [length] Message length if known beforehand
35910
- * @returns {sqlanvil.ImportSpec} ImportSpec
37003
+ * @returns {sqlanvil.ExtractSpec} ExtractSpec
35911
37004
  * @throws {Error} If the payload is not a reader or valid buffer
35912
37005
  * @throws {$protobuf.util.ProtocolError} If required fields are missing
35913
37006
  */
35914
- ImportSpec.decode = function decode(reader, length, error, long) {
37007
+ ExtractSpec.decode = function decode(reader, length, error, long) {
35915
37008
  if (!(reader instanceof $Reader))
35916
37009
  reader = $Reader.create(reader);
35917
37010
  if (long === undefined)
35918
37011
  long = 0;
35919
37012
  if (long > $Reader.recursionLimit)
35920
37013
  throw Error("maximum nesting depth exceeded");
35921
- let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sqlanvil.ImportSpec(), key, value;
37014
+ let end = length === undefined ? reader.len : reader.pos + length, message = new $root.sqlanvil.ExtractSpec(), key, value;
35922
37015
  while (reader.pos < end) {
35923
37016
  let tag = reader.uint32();
35924
37017
  if (tag === error)
35925
37018
  break;
35926
37019
  switch (tag >>> 3) {
35927
37020
  case 1: {
35928
- message.location = reader.string();
37021
+ message.connectionName = reader.string();
35929
37022
  break;
35930
37023
  }
35931
37024
  case 2: {
35932
- message.format = reader.string();
37025
+ message.platform = reader.string();
35933
37026
  break;
35934
37027
  }
35935
37028
  case 3: {
35936
- message.overwrite = reader.bool();
37029
+ message.project = reader.string();
35937
37030
  break;
35938
37031
  }
35939
37032
  case 4: {
35940
- if (message.options === $util.emptyObject)
35941
- message.options = {};
37033
+ message.dataset = reader.string();
37034
+ break;
37035
+ }
37036
+ case 5: {
37037
+ message.sourceName = reader.string();
37038
+ break;
37039
+ }
37040
+ case 6: {
37041
+ message.billingProject = reader.string();
37042
+ break;
37043
+ }
37044
+ case 7: {
37045
+ if (message.columnTypes === $util.emptyObject)
37046
+ message.columnTypes = {};
35942
37047
  let end2 = reader.uint32() + reader.pos;
35943
37048
  key = "";
35944
37049
  value = "";
@@ -35957,8 +37062,8 @@ const sqlanvil = $root.sqlanvil = (() => {
35957
37062
  }
35958
37063
  }
35959
37064
  if (key === "__proto__")
35960
- $util.makeProp(message.options, key);
35961
- message.options[key] = value;
37065
+ $util.makeProp(message.columnTypes, key);
37066
+ message.columnTypes[key] = value;
35962
37067
  break;
35963
37068
  }
35964
37069
  default:
@@ -35970,156 +37075,180 @@ const sqlanvil = $root.sqlanvil = (() => {
35970
37075
  };
35971
37076
 
35972
37077
  /**
35973
- * Decodes an ImportSpec message from the specified reader or buffer, length delimited.
37078
+ * Decodes an ExtractSpec message from the specified reader or buffer, length delimited.
35974
37079
  * @function decodeDelimited
35975
- * @memberof sqlanvil.ImportSpec
37080
+ * @memberof sqlanvil.ExtractSpec
35976
37081
  * @static
35977
37082
  * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
35978
- * @returns {sqlanvil.ImportSpec} ImportSpec
37083
+ * @returns {sqlanvil.ExtractSpec} ExtractSpec
35979
37084
  * @throws {Error} If the payload is not a reader or valid buffer
35980
37085
  * @throws {$protobuf.util.ProtocolError} If required fields are missing
35981
37086
  */
35982
- ImportSpec.decodeDelimited = function decodeDelimited(reader) {
37087
+ ExtractSpec.decodeDelimited = function decodeDelimited(reader) {
35983
37088
  if (!(reader instanceof $Reader))
35984
37089
  reader = new $Reader(reader);
35985
37090
  return this.decode(reader, reader.uint32());
35986
37091
  };
35987
37092
 
35988
37093
  /**
35989
- * Verifies an ImportSpec message.
37094
+ * Verifies an ExtractSpec message.
35990
37095
  * @function verify
35991
- * @memberof sqlanvil.ImportSpec
37096
+ * @memberof sqlanvil.ExtractSpec
35992
37097
  * @static
35993
37098
  * @param {Object.<string,*>} message Plain object to verify
35994
37099
  * @returns {string|null} `null` if valid, otherwise the reason why it is not
35995
37100
  */
35996
- ImportSpec.verify = function verify(message, long) {
37101
+ ExtractSpec.verify = function verify(message, long) {
35997
37102
  if (typeof message !== "object" || message === null)
35998
37103
  return "object expected";
35999
37104
  if (long === undefined)
36000
37105
  long = 0;
36001
37106
  if (long > $util.recursionLimit)
36002
37107
  return "maximum nesting depth exceeded";
36003
- if (message.location != null && message.hasOwnProperty("location"))
36004
- if (!$util.isString(message.location))
36005
- return "location: string expected";
36006
- if (message.format != null && message.hasOwnProperty("format"))
36007
- if (!$util.isString(message.format))
36008
- return "format: string expected";
36009
- if (message.overwrite != null && message.hasOwnProperty("overwrite"))
36010
- if (typeof message.overwrite !== "boolean")
36011
- return "overwrite: boolean expected";
36012
- if (message.options != null && message.hasOwnProperty("options")) {
36013
- if (!$util.isObject(message.options))
36014
- return "options: object expected";
36015
- let key = Object.keys(message.options);
37108
+ if (message.connectionName != null && message.hasOwnProperty("connectionName"))
37109
+ if (!$util.isString(message.connectionName))
37110
+ return "connectionName: string expected";
37111
+ if (message.platform != null && message.hasOwnProperty("platform"))
37112
+ if (!$util.isString(message.platform))
37113
+ return "platform: string expected";
37114
+ if (message.project != null && message.hasOwnProperty("project"))
37115
+ if (!$util.isString(message.project))
37116
+ return "project: string expected";
37117
+ if (message.dataset != null && message.hasOwnProperty("dataset"))
37118
+ if (!$util.isString(message.dataset))
37119
+ return "dataset: string expected";
37120
+ if (message.sourceName != null && message.hasOwnProperty("sourceName"))
37121
+ if (!$util.isString(message.sourceName))
37122
+ return "sourceName: string expected";
37123
+ if (message.billingProject != null && message.hasOwnProperty("billingProject"))
37124
+ if (!$util.isString(message.billingProject))
37125
+ return "billingProject: string expected";
37126
+ if (message.columnTypes != null && message.hasOwnProperty("columnTypes")) {
37127
+ if (!$util.isObject(message.columnTypes))
37128
+ return "columnTypes: object expected";
37129
+ let key = Object.keys(message.columnTypes);
36016
37130
  for (let i = 0; i < key.length; ++i)
36017
- if (!$util.isString(message.options[key[i]]))
36018
- return "options: string{k:string} expected";
37131
+ if (!$util.isString(message.columnTypes[key[i]]))
37132
+ return "columnTypes: string{k:string} expected";
36019
37133
  }
36020
37134
  return null;
36021
37135
  };
36022
37136
 
36023
37137
  /**
36024
- * Creates an ImportSpec message from a plain object. Also converts values to their respective internal types.
37138
+ * Creates an ExtractSpec message from a plain object. Also converts values to their respective internal types.
36025
37139
  * @function fromObject
36026
- * @memberof sqlanvil.ImportSpec
37140
+ * @memberof sqlanvil.ExtractSpec
36027
37141
  * @static
36028
37142
  * @param {Object.<string,*>} object Plain object
36029
- * @returns {sqlanvil.ImportSpec} ImportSpec
37143
+ * @returns {sqlanvil.ExtractSpec} ExtractSpec
36030
37144
  */
36031
- ImportSpec.fromObject = function fromObject(object, long) {
36032
- if (object instanceof $root.sqlanvil.ImportSpec)
37145
+ ExtractSpec.fromObject = function fromObject(object, long) {
37146
+ if (object instanceof $root.sqlanvil.ExtractSpec)
36033
37147
  return object;
36034
37148
  if (long === undefined)
36035
37149
  long = 0;
36036
37150
  if (long > $util.recursionLimit)
36037
37151
  throw Error("maximum nesting depth exceeded");
36038
- let message = new $root.sqlanvil.ImportSpec();
36039
- if (object.location != null)
36040
- message.location = String(object.location);
36041
- if (object.format != null)
36042
- message.format = String(object.format);
36043
- if (object.overwrite != null)
36044
- message.overwrite = Boolean(object.overwrite);
36045
- if (object.options) {
36046
- if (typeof object.options !== "object")
36047
- throw TypeError(".sqlanvil.ImportSpec.options: object expected");
36048
- message.options = {};
36049
- for (let keys = Object.keys(object.options), i = 0; i < keys.length; ++i) {
37152
+ let message = new $root.sqlanvil.ExtractSpec();
37153
+ if (object.connectionName != null)
37154
+ message.connectionName = String(object.connectionName);
37155
+ if (object.platform != null)
37156
+ message.platform = String(object.platform);
37157
+ if (object.project != null)
37158
+ message.project = String(object.project);
37159
+ if (object.dataset != null)
37160
+ message.dataset = String(object.dataset);
37161
+ if (object.sourceName != null)
37162
+ message.sourceName = String(object.sourceName);
37163
+ if (object.billingProject != null)
37164
+ message.billingProject = String(object.billingProject);
37165
+ if (object.columnTypes) {
37166
+ if (typeof object.columnTypes !== "object")
37167
+ throw TypeError(".sqlanvil.ExtractSpec.columnTypes: object expected");
37168
+ message.columnTypes = {};
37169
+ for (let keys = Object.keys(object.columnTypes), i = 0; i < keys.length; ++i) {
36050
37170
  if (keys[i] === "__proto__")
36051
- $util.makeProp(message.options, keys[i]);
36052
- message.options[keys[i]] = String(object.options[keys[i]]);
37171
+ $util.makeProp(message.columnTypes, keys[i]);
37172
+ message.columnTypes[keys[i]] = String(object.columnTypes[keys[i]]);
36053
37173
  }
36054
37174
  }
36055
37175
  return message;
36056
37176
  };
36057
37177
 
36058
37178
  /**
36059
- * Creates a plain object from an ImportSpec message. Also converts values to other types if specified.
37179
+ * Creates a plain object from an ExtractSpec message. Also converts values to other types if specified.
36060
37180
  * @function toObject
36061
- * @memberof sqlanvil.ImportSpec
37181
+ * @memberof sqlanvil.ExtractSpec
36062
37182
  * @static
36063
- * @param {sqlanvil.ImportSpec} message ImportSpec
37183
+ * @param {sqlanvil.ExtractSpec} message ExtractSpec
36064
37184
  * @param {$protobuf.IConversionOptions} [options] Conversion options
36065
37185
  * @returns {Object.<string,*>} Plain object
36066
37186
  */
36067
- ImportSpec.toObject = function toObject(message, options) {
37187
+ ExtractSpec.toObject = function toObject(message, options) {
36068
37188
  if (!options)
36069
37189
  options = {};
36070
37190
  let object = {};
36071
37191
  if (options.objects || options.defaults)
36072
- object.options = {};
37192
+ object.columnTypes = {};
36073
37193
  if (options.defaults) {
36074
- object.location = "";
36075
- object.format = "";
36076
- object.overwrite = false;
37194
+ object.connectionName = "";
37195
+ object.platform = "";
37196
+ object.project = "";
37197
+ object.dataset = "";
37198
+ object.sourceName = "";
37199
+ object.billingProject = "";
36077
37200
  }
36078
- if (message.location != null && message.hasOwnProperty("location"))
36079
- object.location = message.location;
36080
- if (message.format != null && message.hasOwnProperty("format"))
36081
- object.format = message.format;
36082
- if (message.overwrite != null && message.hasOwnProperty("overwrite"))
36083
- object.overwrite = message.overwrite;
37201
+ if (message.connectionName != null && message.hasOwnProperty("connectionName"))
37202
+ object.connectionName = message.connectionName;
37203
+ if (message.platform != null && message.hasOwnProperty("platform"))
37204
+ object.platform = message.platform;
37205
+ if (message.project != null && message.hasOwnProperty("project"))
37206
+ object.project = message.project;
37207
+ if (message.dataset != null && message.hasOwnProperty("dataset"))
37208
+ object.dataset = message.dataset;
37209
+ if (message.sourceName != null && message.hasOwnProperty("sourceName"))
37210
+ object.sourceName = message.sourceName;
37211
+ if (message.billingProject != null && message.hasOwnProperty("billingProject"))
37212
+ object.billingProject = message.billingProject;
36084
37213
  let keys2;
36085
- if (message.options && (keys2 = Object.keys(message.options)).length) {
36086
- object.options = {};
37214
+ if (message.columnTypes && (keys2 = Object.keys(message.columnTypes)).length) {
37215
+ object.columnTypes = {};
36087
37216
  for (let j = 0; j < keys2.length; ++j) {
36088
37217
  if (keys2[j] === "__proto__")
36089
- $util.makeProp(object.options, keys2[j]);
36090
- object.options[keys2[j]] = message.options[keys2[j]];
37218
+ $util.makeProp(object.columnTypes, keys2[j]);
37219
+ object.columnTypes[keys2[j]] = message.columnTypes[keys2[j]];
36091
37220
  }
36092
37221
  }
36093
37222
  return object;
36094
37223
  };
36095
37224
 
36096
37225
  /**
36097
- * Converts this ImportSpec to JSON.
37226
+ * Converts this ExtractSpec to JSON.
36098
37227
  * @function toJSON
36099
- * @memberof sqlanvil.ImportSpec
37228
+ * @memberof sqlanvil.ExtractSpec
36100
37229
  * @instance
36101
37230
  * @returns {Object.<string,*>} JSON object
36102
37231
  */
36103
- ImportSpec.prototype.toJSON = function toJSON() {
37232
+ ExtractSpec.prototype.toJSON = function toJSON() {
36104
37233
  return this.constructor.toObject(this, $protobuf__namespace.util.toJSONOptions);
36105
37234
  };
36106
37235
 
36107
37236
  /**
36108
- * Gets the default type url for ImportSpec
37237
+ * Gets the default type url for ExtractSpec
36109
37238
  * @function getTypeUrl
36110
- * @memberof sqlanvil.ImportSpec
37239
+ * @memberof sqlanvil.ExtractSpec
36111
37240
  * @static
36112
37241
  * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
36113
37242
  * @returns {string} The default type url
36114
37243
  */
36115
- ImportSpec.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
37244
+ ExtractSpec.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
36116
37245
  if (typeUrlPrefix === undefined) {
36117
37246
  typeUrlPrefix = "type.googleapis.com";
36118
37247
  }
36119
- return typeUrlPrefix + "/sqlanvil.ImportSpec";
37248
+ return typeUrlPrefix + "/sqlanvil.ExtractSpec";
36120
37249
  };
36121
37250
 
36122
- return ImportSpec;
37251
+ return ExtractSpec;
36123
37252
  })();
36124
37253
 
36125
37254
  sqlanvil.ExecutionAction = (function() {
@@ -36139,6 +37268,7 @@ const sqlanvil = $root.sqlanvil = (() => {
36139
37268
  * @property {string|null} [jitCode] ExecutionAction jitCode
36140
37269
  * @property {sqlanvil.IExportSpec|null} ["export"] ExecutionAction export
36141
37270
  * @property {sqlanvil.IImportSpec|null} ["import"] ExecutionAction import
37271
+ * @property {sqlanvil.IExtractSpec|null} [extract] ExecutionAction extract
36142
37272
  */
36143
37273
 
36144
37274
  /**
@@ -36246,6 +37376,14 @@ const sqlanvil = $root.sqlanvil = (() => {
36246
37376
  */
36247
37377
  ExecutionAction.prototype["import"] = null;
36248
37378
 
37379
+ /**
37380
+ * ExecutionAction extract.
37381
+ * @member {sqlanvil.IExtractSpec|null|undefined} extract
37382
+ * @memberof sqlanvil.ExecutionAction
37383
+ * @instance
37384
+ */
37385
+ ExecutionAction.prototype.extract = null;
37386
+
36249
37387
  /**
36250
37388
  * Creates a new ExecutionAction instance using the specified properties.
36251
37389
  * @function create
@@ -36294,6 +37432,8 @@ const sqlanvil = $root.sqlanvil = (() => {
36294
37432
  $root.sqlanvil.ExportSpec.encode(message["export"], writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
36295
37433
  if (message["import"] != null && Object.hasOwnProperty.call(message, "import"))
36296
37434
  $root.sqlanvil.ImportSpec.encode(message["import"], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();
37435
+ if (message.extract != null && Object.hasOwnProperty.call(message, "extract"))
37436
+ $root.sqlanvil.ExtractSpec.encode(message.extract, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim();
36297
37437
  return writer;
36298
37438
  };
36299
37439
 
@@ -36382,6 +37522,10 @@ const sqlanvil = $root.sqlanvil = (() => {
36382
37522
  message["import"] = $root.sqlanvil.ImportSpec.decode(reader, reader.uint32(), undefined, long + 1);
36383
37523
  break;
36384
37524
  }
37525
+ case 15: {
37526
+ message.extract = $root.sqlanvil.ExtractSpec.decode(reader, reader.uint32(), undefined, long + 1);
37527
+ break;
37528
+ }
36385
37529
  default:
36386
37530
  reader.skipType(tag & 7, long);
36387
37531
  break;
@@ -36480,6 +37624,11 @@ const sqlanvil = $root.sqlanvil = (() => {
36480
37624
  if (error)
36481
37625
  return "import." + error;
36482
37626
  }
37627
+ if (message.extract != null && message.hasOwnProperty("extract")) {
37628
+ let error = $root.sqlanvil.ExtractSpec.verify(message.extract, long + 1);
37629
+ if (error)
37630
+ return "extract." + error;
37631
+ }
36483
37632
  return null;
36484
37633
  };
36485
37634
 
@@ -36567,6 +37716,11 @@ const sqlanvil = $root.sqlanvil = (() => {
36567
37716
  throw TypeError(".sqlanvil.ExecutionAction.import: object expected");
36568
37717
  message["import"] = $root.sqlanvil.ImportSpec.fromObject(object["import"], long + 1);
36569
37718
  }
37719
+ if (object.extract != null) {
37720
+ if (typeof object.extract !== "object")
37721
+ throw TypeError(".sqlanvil.ExecutionAction.extract: object expected");
37722
+ message.extract = $root.sqlanvil.ExtractSpec.fromObject(object.extract, long + 1);
37723
+ }
36570
37724
  return message;
36571
37725
  };
36572
37726
 
@@ -36597,6 +37751,7 @@ const sqlanvil = $root.sqlanvil = (() => {
36597
37751
  object.jitCode = "";
36598
37752
  object["export"] = null;
36599
37753
  object["import"] = null;
37754
+ object.extract = null;
36600
37755
  }
36601
37756
  if (message.tasks && message.tasks.length) {
36602
37757
  object.tasks = [];
@@ -36626,6 +37781,8 @@ const sqlanvil = $root.sqlanvil = (() => {
36626
37781
  object["export"] = $root.sqlanvil.ExportSpec.toObject(message["export"], options);
36627
37782
  if (message["import"] != null && message.hasOwnProperty("import"))
36628
37783
  object["import"] = $root.sqlanvil.ImportSpec.toObject(message["import"], options);
37784
+ if (message.extract != null && message.hasOwnProperty("extract"))
37785
+ object.extract = $root.sqlanvil.ExtractSpec.toObject(message.extract, options);
36629
37786
  return object;
36630
37787
  };
36631
37788