ts2workflows 0.1.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 (50) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +82 -0
  3. package/dist/ast/expressions.d.ts +57 -0
  4. package/dist/ast/expressions.d.ts.map +1 -0
  5. package/dist/ast/expressions.js +300 -0
  6. package/dist/ast/stepnames.d.ts +9 -0
  7. package/dist/ast/stepnames.d.ts.map +1 -0
  8. package/dist/ast/stepnames.js +268 -0
  9. package/dist/ast/steps.d.ts +176 -0
  10. package/dist/ast/steps.d.ts.map +1 -0
  11. package/dist/ast/steps.js +534 -0
  12. package/dist/ast/validation.d.ts +20 -0
  13. package/dist/ast/validation.d.ts.map +1 -0
  14. package/dist/ast/validation.js +214 -0
  15. package/dist/ast/workflows.d.ts +28 -0
  16. package/dist/ast/workflows.d.ts.map +1 -0
  17. package/dist/ast/workflows.js +74 -0
  18. package/dist/cli.d.ts +3 -0
  19. package/dist/cli.d.ts.map +1 -0
  20. package/dist/cli.js +114 -0
  21. package/dist/errors.d.ts +18 -0
  22. package/dist/errors.d.ts.map +1 -0
  23. package/dist/errors.js +12 -0
  24. package/dist/index.d.ts +3 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +2 -0
  27. package/dist/transpiler/asserts.d.ts +7 -0
  28. package/dist/transpiler/asserts.d.ts.map +1 -0
  29. package/dist/transpiler/asserts.js +11 -0
  30. package/dist/transpiler/expressions.d.ts +6 -0
  31. package/dist/transpiler/expressions.d.ts.map +1 -0
  32. package/dist/transpiler/expressions.js +223 -0
  33. package/dist/transpiler/generated/functionMetadata.d.ts +2 -0
  34. package/dist/transpiler/generated/functionMetadata.d.ts.map +1 -0
  35. package/dist/transpiler/generated/functionMetadata.js +324 -0
  36. package/dist/transpiler/index.d.ts +2 -0
  37. package/dist/transpiler/index.d.ts.map +1 -0
  38. package/dist/transpiler/index.js +74 -0
  39. package/dist/transpiler/statements.d.ts +7 -0
  40. package/dist/transpiler/statements.d.ts.map +1 -0
  41. package/dist/transpiler/statements.js +533 -0
  42. package/dist/transpiler/transformations.d.ts +28 -0
  43. package/dist/transpiler/transformations.d.ts.map +1 -0
  44. package/dist/transpiler/transformations.js +461 -0
  45. package/dist/utils.d.ts +2 -0
  46. package/dist/utils.d.ts.map +1 -0
  47. package/dist/utils.js +3 -0
  48. package/language_reference.md +771 -0
  49. package/package.json +62 -0
  50. package/types/workflowslib.d.ts +714 -0
@@ -0,0 +1,714 @@
1
+ // Type annotations for GCP Workflows expression helpers, standard library
2
+ // functions and (some) connectors
3
+
4
+ // An opaque bytes type.
5
+ // This should really be defined in the transpiler, not here.
6
+ declare const tag: unique symbol
7
+ export interface bytes {
8
+ readonly [tag]: 'bytes'
9
+ }
10
+
11
+ // GCP Workflows expression helpers
12
+
13
+ export declare function double(x: string | number): number
14
+ export declare function int(x: string | number): number
15
+ export declare function string(x: string | number | boolean): string
16
+ export declare function keys(map: Record<string, unknown>): string[]
17
+ export declare function len(
18
+ value: unknown[] | Record<string, unknown> | string,
19
+ ): number
20
+ export declare function get_type(
21
+ value:
22
+ | boolean
23
+ | number
24
+ | string
25
+ | unknown[]
26
+ | Record<string, unknown>
27
+ | null
28
+ | bytes
29
+ | undefined,
30
+ ): string
31
+
32
+ // GCP Workflows standard library functions
33
+
34
+ export declare namespace base64 {
35
+ function decode(data: bytes, padding?: boolean): string
36
+ function encode(data: string, padding?: boolean): bytes
37
+ }
38
+
39
+ export declare namespace events {
40
+ function await_callback(
41
+ callback: {
42
+ url: string
43
+ },
44
+ timeout?: number,
45
+ ): object
46
+ function create_callback_endpoint(http_callback_method: string): {
47
+ url: string
48
+ }
49
+ }
50
+
51
+ export declare namespace http {
52
+ export function default_retry(exception: unknown): void
53
+ export function default_retry_non_idempotent(exception: unknown): void
54
+ export function default_retry_predicate(exception: unknown): boolean
55
+ export function default_retry_predicate_non_idempotent(
56
+ exception: unknown,
57
+ ): boolean
58
+ function _delete(
59
+ url: string,
60
+ timeout?: number,
61
+ body?: unknown,
62
+ headers?: Record<string, string>,
63
+ query?: Record<
64
+ string,
65
+ string | number | boolean | (string | number | boolean)[]
66
+ >,
67
+ auth?: Record<string, string>,
68
+ private_service_name?: string,
69
+ ca_certificate?: string,
70
+ ): {
71
+ body: unknown
72
+ code: number
73
+ headers: Record<string, string>
74
+ }
75
+ export function get(
76
+ url: string,
77
+ timeout?: number,
78
+ headers?: Record<string, string>,
79
+ query?: Record<
80
+ string,
81
+ string | number | boolean | (string | number | boolean)[]
82
+ >,
83
+ auth?: Record<string, string>,
84
+ private_service_name?: string,
85
+ ca_certificate?: string,
86
+ ): {
87
+ body: unknown
88
+ code: number
89
+ headers: Record<string, string>
90
+ }
91
+ export function patch(
92
+ url: string,
93
+ timeout?: number,
94
+ body?: unknown,
95
+ headers?: Record<string, string>,
96
+ query?: Record<
97
+ string,
98
+ string | number | boolean | (string | number | boolean)[]
99
+ >,
100
+ auth?: Record<string, string>,
101
+ private_service_name?: string,
102
+ ca_certificate?: string,
103
+ ): {
104
+ body: unknown
105
+ code: number
106
+ headers: Record<string, string>
107
+ }
108
+ export function post(
109
+ url: string,
110
+ timeout?: number,
111
+ body?: unknown,
112
+ headers?: Record<string, string>,
113
+ query?: Record<
114
+ string,
115
+ string | number | boolean | (string | number | boolean)[]
116
+ >,
117
+ auth?: Record<string, string>,
118
+ private_service_name?: string,
119
+ ca_certificate?: string,
120
+ ): {
121
+ body: unknown
122
+ code: number
123
+ headers: Record<string, string>
124
+ }
125
+ export function put(
126
+ url: string,
127
+ timeout?: number,
128
+ body?: unknown,
129
+ headers?: Record<string, string>,
130
+ query?: Record<
131
+ string,
132
+ string | number | boolean | (string | number | boolean)[]
133
+ >,
134
+ auth?: Record<string, string>,
135
+ private_service_name?: string,
136
+ ca_certificate?: string,
137
+ ): {
138
+ body: unknown
139
+ code: number
140
+ headers: Record<string, string>
141
+ }
142
+ export function request(
143
+ method: string,
144
+ url: string,
145
+ timeout?: number,
146
+ body?: unknown,
147
+ headers?: Record<string, string>,
148
+ query?: Record<
149
+ string,
150
+ string | number | boolean | (string | number | boolean)[]
151
+ >,
152
+ auth?: Record<string, string>,
153
+ private_service_name?: string,
154
+ ca_certificate?: string,
155
+ ): {
156
+ body: unknown
157
+ code: number
158
+ headers: Record<string, string>
159
+ }
160
+ export { _delete as delete }
161
+ }
162
+
163
+ export declare namespace json {
164
+ function decode(data: bytes | string): object
165
+ function encode(
166
+ data: string | number | boolean | unknown[] | Record<string, unknown>,
167
+ indent?:
168
+ | boolean
169
+ | {
170
+ prefix?: string
171
+ indent?: string
172
+ },
173
+ ): bytes
174
+ function encode_to_string(
175
+ data: string | number | boolean | unknown[] | Record<string, unknown>,
176
+ indent?:
177
+ | boolean
178
+ | {
179
+ prefix?: string
180
+ indent?: string
181
+ },
182
+ ): string
183
+ }
184
+
185
+ export declare namespace list {
186
+ function concat<T, U>(objs: T[], val: U): (T | U)[]
187
+ function prepend<T, U>(objs: T[], val: U): (T | U)[]
188
+ }
189
+
190
+ export declare namespace map {
191
+ function _delete<T1>(map: Record<string, T1>, key: string): Record<string, T1>
192
+ export function get<T2>(map: Record<string, T2>, keys: string | string[]): T2
193
+ export function merge<S1, S2>(
194
+ first: Record<string, S1>,
195
+ second: Record<string, S2>,
196
+ ): Record<string, S1 | S2>
197
+ export function merge_nested<S3, S4>(
198
+ first: Record<string, S3>,
199
+ second: Record<string, S4>,
200
+ ): Record<string, S3 | S4>
201
+ export { _delete as delete }
202
+ }
203
+
204
+ export declare namespace math {
205
+ function abs(x: number): number
206
+ function max(x: number, y: number): number
207
+ function min(x: number, y: number): number
208
+ }
209
+
210
+ export declare namespace retry {
211
+ function always(exception: unknown): void
212
+ const default_backoff: {
213
+ initial_delay: number
214
+ max_delay: number
215
+ multiplier: number
216
+ }
217
+ function never(exception: unknown): void
218
+ }
219
+
220
+ export declare namespace sys {
221
+ function get_env(name: string, default_value?: string): string | undefined
222
+ function log(
223
+ data?: number | boolean | string | unknown[] | object,
224
+ severity?: string,
225
+ text?: number | boolean | string | unknown[] | object,
226
+ json?: object,
227
+ timeout?: number,
228
+ ): void
229
+ function now(): number
230
+ function sleep(seconds: number): void
231
+ function sleep_until(time: string): void
232
+ }
233
+
234
+ export declare namespace text {
235
+ function decode(data: bytes, charset?: string): string
236
+ function encode(text: string, charset?: string): bytes
237
+ function find_all(source: string, substr: string): number[]
238
+ function find_all_regex(
239
+ source: string,
240
+ regexp: string,
241
+ ): {
242
+ index: number
243
+ match: string
244
+ }[]
245
+ function match_regexp(source: string, regexp: string): boolean
246
+ function replace_all(source: string, substr: string, repl: string): string
247
+ function replace_all_regex(
248
+ source: string,
249
+ substr: string,
250
+ repl: string,
251
+ ): string
252
+ function split(source: string, separator: string): string[]
253
+ function substring(source: string, start: number, end: number): string
254
+ function to_lower(source: string): string
255
+ function to_upper(source: string): string
256
+ function url_decode(source: string): string
257
+ function url_encode(source: string): string
258
+ function url_encode_plus(source: string): string
259
+ }
260
+
261
+ export declare namespace time {
262
+ function format(seconds: number, timezone?: string): string
263
+ function parse(value: string): number
264
+ }
265
+
266
+ export declare namespace uuid {
267
+ function generate(): string
268
+ }
269
+
270
+ // Connectors
271
+
272
+ // Cloud Firestore API Connector
273
+ // https://cloud.google.com/workflows/docs/reference/googleapis/firestore/Overview
274
+ export declare namespace googleapis {
275
+ namespace firestore {
276
+ namespace v1 {
277
+ interface ArrayValue {
278
+ values: Value[]
279
+ }
280
+ interface BatchGetDocumentsRequest {
281
+ documents: string[]
282
+ mask?: DocumentMask
283
+ newTransaction?: TransactionOptions
284
+ readTime?: string
285
+ transaction?: string
286
+ }
287
+ interface BatchGetDocumentsResponse {
288
+ found?: Document
289
+ missing?: string
290
+ readTime: string
291
+ transaction?: string
292
+ }
293
+ interface BatchWriteRequest {
294
+ labels: Record<string, string>
295
+ writes: Write[]
296
+ }
297
+ interface BatchWriteResponse {
298
+ status: Status[]
299
+ writeResults: WriteResult[]
300
+ }
301
+ interface BeginTransactionRequest {
302
+ options?: TransactionOptions
303
+ }
304
+ interface BeginTransactionResponse {
305
+ transaction: string
306
+ }
307
+ interface CollectionSelector {
308
+ allDescendants: boolean
309
+ collectionId?: string
310
+ }
311
+ interface CommitRequest {
312
+ transaction: string
313
+ writes: Write[]
314
+ }
315
+ interface CommitResponse {
316
+ commitTime: string
317
+ writeResults: WriteResult[]
318
+ }
319
+ interface CompositeFilter {
320
+ filters: Filter[]
321
+ op: 'OPERATOR_UNSPECIFIED' | 'AND'
322
+ }
323
+ interface Cursor {
324
+ before: boolean
325
+ values: Value[]
326
+ }
327
+ interface Document {
328
+ createTime: string
329
+ fields: Record<string, Value>
330
+ name: string
331
+ updateTime: string
332
+ }
333
+ interface DocumentMask {
334
+ fieldPaths: string[]
335
+ }
336
+ interface DocumentTransform {
337
+ document: string
338
+ fieldTransforms: FieldTransform[]
339
+ }
340
+ interface FieldReference {
341
+ fieldPath: string
342
+ }
343
+ interface Filter {
344
+ compositeFilter?: CompositeFilter
345
+ fieldFilter?: FieldFilter
346
+ unaryFilter?: UnaryFilter
347
+ }
348
+ interface FieldFilter {
349
+ field: FieldReference
350
+ op:
351
+ | 'OPERATOR_UNSPECIFIED'
352
+ | 'LESS_THAN'
353
+ | 'LESS_THAN_OR_EQUAL'
354
+ | 'GREATER_THAN'
355
+ | 'GREATER_THAN_OR_EQUAL'
356
+ | 'EQUAL'
357
+ | 'NOT_EQUAL'
358
+ | 'ARRAY_CONTAINS'
359
+ | 'IN'
360
+ | 'ARRAY_CONTAINS_ANY'
361
+ | 'NOT_IN'
362
+ value: Value
363
+ }
364
+ interface FieldTransform {
365
+ appendMissingElements?: ArrayValue[]
366
+ fieldPath: string
367
+ increment?: Value
368
+ maximum?: Value
369
+ minimum?: Value
370
+ removeAllFromArray?: ArrayValue
371
+ setToServerValue?: 'SERVER_VALUE_UNSPECIFIED' | 'REQUEST_TIME'
372
+ }
373
+ interface GoogleFirestoreAdminV1ExportDocumentsRequest {
374
+ collectionIds?: string[]
375
+ outputUriPrefix: string
376
+ }
377
+ interface GoogleFirestoreAdminV1Field {
378
+ indexConfig: GoogleFirestoreAdminV1IndexConfig
379
+ name: string
380
+ }
381
+ interface GoogleFirestoreAdminV1ImportDocumentsRequest {
382
+ collectionIds?: string[]
383
+ inputUriPrefix: string
384
+ }
385
+ interface GoogleFirestoreAdminV1Index {
386
+ fields: GoogleFirestoreAdminV1IndexField[]
387
+ name?: string
388
+ queryScope:
389
+ | 'QUERY_SCOPE_UNSPECIFIED'
390
+ | 'COLLECTION'
391
+ | 'COLLECTION_GROUP'
392
+ state?: 'STATE_UNSPECIFIED' | 'CREATING' | 'READY' | 'NEEDS_REPAIR'
393
+ }
394
+ interface GoogleFirestoreAdminV1IndexConfig {
395
+ ancestorField?: string
396
+ indexes: GoogleFirestoreAdminV1Index[]
397
+ reverting?: boolean
398
+ usesAncestorConfig?: boolean
399
+ }
400
+ interface GoogleFirestoreAdminV1IndexField {
401
+ arrayConfig: 'ARRAY_CONFIG_UNSPECIFIED' | 'CONTAINS'
402
+ fieldPath: string
403
+ order: 'ORDER_UNSPECIFIED' | 'ASCENDING' | 'DESCENDING'
404
+ }
405
+ interface GoogleFirestoreAdminV1ListFieldsResponse {
406
+ fields: GoogleFirestoreAdminV1Field[]
407
+ nextPageToken?: string
408
+ }
409
+ interface GoogleFirestoreAdminV1ListIndexesResponse {
410
+ indexes: GoogleFirestoreAdminV1Index[]
411
+ nextPageToken?: string
412
+ }
413
+ interface GoogleLongrunningOperation {
414
+ done: boolean
415
+ error?: Status
416
+ metadata?: Record<string, unknown>
417
+ name: string
418
+ response: Record<string, unknown>
419
+ }
420
+ interface GoogleLongrunningListOperationsResponse {
421
+ nextPageToken?: string
422
+ operations: GoogleLongrunningOperation[]
423
+ }
424
+ interface LatLng {
425
+ latitude: number
426
+ longitude: number
427
+ }
428
+ interface ListLocationsResponse {
429
+ locations: Location[]
430
+ nextPageToken: string
431
+ }
432
+ interface Location {
433
+ displayName: string
434
+ labels: Record<string, string>
435
+ locationId: string
436
+ metadata?: Record<string, unknown>
437
+ name: string
438
+ }
439
+ interface ListCollectionIdsRequest {
440
+ pageSize: number
441
+ pageToken: string
442
+ }
443
+ interface ListCollectionIdsResponse {
444
+ collectionIds: string[]
445
+ nextPageToken: string
446
+ }
447
+ interface ListDocumentsResponse {
448
+ documents: Document[]
449
+ nextPageToken: string
450
+ }
451
+ interface MapValue {
452
+ fields: Record<string, Value>
453
+ }
454
+ interface Order {
455
+ direction: 'DIRECTION_UNSPECIFIED' | 'ASCENDING' | 'DESCENDING'
456
+ field: FieldReference
457
+ }
458
+ interface PartitionQueryRequest {
459
+ pageSize: number
460
+ pageToken: string
461
+ partitionCount: string
462
+ structuredQuery: StructuredQuery
463
+ }
464
+ interface PartitionQueryResponse {
465
+ nextPageToken: string
466
+ partitions: Cursor[]
467
+ }
468
+ interface Precondition {
469
+ exists: boolean
470
+ updateTime?: string
471
+ }
472
+ interface Projection {
473
+ fields: FieldReference[]
474
+ }
475
+ interface ReadOnly {
476
+ readTime: string
477
+ }
478
+ interface ReadWrite {
479
+ retryTransaction: string
480
+ }
481
+ interface RollbackRequest {
482
+ transaction: string
483
+ }
484
+ interface RunQueryRequest {
485
+ newTransaction?: TransactionOptions
486
+ readTime?: string
487
+ structuredQuery: StructuredQuery
488
+ transaction?: string
489
+ }
490
+ interface RunQueryResponse {
491
+ document: Document
492
+ readTime: string
493
+ skippedResults: number
494
+ transaction?: string
495
+ }
496
+ interface Status {
497
+ code: number
498
+ details: Record<string, unknown>[]
499
+ message: string
500
+ }
501
+ interface StructuredQuery {
502
+ endAt?: Cursor
503
+ from?: CollectionSelector[]
504
+ limit?: number
505
+ offset?: number
506
+ orderBy?: Order[]
507
+ select?: Projection
508
+ startAt?: Cursor
509
+ where?: Filter
510
+ }
511
+ interface TransactionOptions {
512
+ readOnly?: ReadOnly
513
+ readWrite?: ReadWrite
514
+ }
515
+ interface UnaryFilter {
516
+ field: FieldReference
517
+ op:
518
+ | 'OPERATOR_UNSPECIFIED'
519
+ | 'IS_NAN'
520
+ | 'IS_NULL'
521
+ | 'IS_NOT_NAN'
522
+ | 'IS_NOT_NULL'
523
+ }
524
+ interface Value {
525
+ arrayValue?: ArrayValue
526
+ booleanValue?: boolean
527
+ bytesValue?: string
528
+ doubleValue?: number
529
+ geoPointValue?: LatLng
530
+ integerValue?: string
531
+ mapValue?: MapValue
532
+ nullValue?: 'NULL_VALUE'
533
+ referenceValue?: string
534
+ stringValue?: string
535
+ timestampValue?: string
536
+ }
537
+ interface Write {
538
+ currentDocument?: Precondition
539
+ delete?: string
540
+ transform?: DocumentTransform
541
+ update?: Document
542
+ updateMask?: DocumentMask
543
+ updateTransforms?: FieldTransform[]
544
+ }
545
+ interface WriteResult {
546
+ transformResults?: Value[]
547
+ updateTime: string
548
+ }
549
+ namespace projects {
550
+ namespace databases {
551
+ export function exportDocuments(
552
+ name: string,
553
+ body: GoogleFirestoreAdminV1ExportDocumentsRequest,
554
+ ): GoogleLongrunningOperation
555
+ export function importDocuments(
556
+ name: string,
557
+ body: GoogleFirestoreAdminV1ImportDocumentsRequest,
558
+ ): GoogleLongrunningOperation
559
+ namespace collectionGroups {
560
+ namespace fields {
561
+ export function get(name: string): GoogleFirestoreAdminV1Field
562
+ export function list(
563
+ parent: string,
564
+ filter?: string,
565
+ pageSize?: number,
566
+ pageToken?: string,
567
+ ): GoogleFirestoreAdminV1ListFieldsResponse
568
+ export function patch(
569
+ name: string,
570
+ updateMask: string,
571
+ body: GoogleFirestoreAdminV1Field,
572
+ ): GoogleLongrunningOperation
573
+ }
574
+ namespace indexes {
575
+ export function create(
576
+ parent: string,
577
+ body: GoogleFirestoreAdminV1Index,
578
+ ): GoogleLongrunningOperation
579
+ function _delete(name: string): void
580
+ export function get(name: string): GoogleFirestoreAdminV1Index
581
+ export function list(
582
+ parent: string,
583
+ filter?: string,
584
+ pageSize?: number,
585
+ pageToken?: string,
586
+ ): GoogleFirestoreAdminV1ListIndexesResponse
587
+ export { _delete as delete }
588
+ }
589
+ }
590
+ namespace documents {
591
+ export function batchGet(
592
+ database: string,
593
+ body: BatchGetDocumentsRequest,
594
+ ): BatchGetDocumentsResponse
595
+ export function batchWrite(
596
+ database: string,
597
+ body: BatchWriteRequest,
598
+ ): BatchWriteResponse
599
+ export function beginTransaction(
600
+ database: string,
601
+ body: BeginTransactionRequest,
602
+ ): BeginTransactionResponse
603
+ export function commit(
604
+ database: string,
605
+ body: CommitRequest,
606
+ ): CommitResponse
607
+ export function createDocument(
608
+ collectionId: string,
609
+ parent: string,
610
+ body: Document,
611
+ documentId?: string,
612
+ mask?: DocumentMask,
613
+ ): Document
614
+ function _delete(name: string, currentDocument?: Precondition): void
615
+ export function get(
616
+ name: string,
617
+ mask?: DocumentMask,
618
+ readTime?: string,
619
+ transaction?: string,
620
+ ): Document
621
+ export function list(
622
+ collectionId: string,
623
+ parent: string,
624
+ mask?: DocumentMask,
625
+ orderBy?: string,
626
+ pageSize?: number,
627
+ pageToken?: string,
628
+ readTime?: string,
629
+ showMissing?: boolean,
630
+ transaction?: string,
631
+ ): ListDocumentsResponse
632
+ export function listCollectionIds(
633
+ parent: string,
634
+ body: ListCollectionIdsRequest,
635
+ ): ListCollectionIdsResponse
636
+ export function partitionQuery(
637
+ parent: string,
638
+ body: PartitionQueryRequest,
639
+ ): PartitionQueryResponse
640
+ export function patch(
641
+ name: string,
642
+ currentDocument: Precondition,
643
+ mask: DocumentMask,
644
+ updateMask: DocumentMask,
645
+ body: Document,
646
+ ): Document
647
+ export function rollback(
648
+ database: string,
649
+ body: RollbackRequest,
650
+ ): void
651
+ export function runQuery(
652
+ parent: string,
653
+ body: RunQueryRequest,
654
+ ): RunQueryResponse
655
+ export { _delete as delete }
656
+ }
657
+ namespace operations {
658
+ export function cancel(name: string): void
659
+ function _delete(name: string): void
660
+ export function get(name: string): GoogleLongrunningOperation
661
+ export function list(
662
+ name: string,
663
+ filter?: string,
664
+ pageSize?: number,
665
+ pageToken?: string,
666
+ ): GoogleLongrunningListOperationsResponse
667
+ export { _delete as delete }
668
+ }
669
+ }
670
+ namespace locations {
671
+ export function get(name: string): Location
672
+ export function list(
673
+ name: string,
674
+ filter: string,
675
+ pageSize?: number,
676
+ pageToken?: string,
677
+ ): ListLocationsResponse
678
+ }
679
+ }
680
+ }
681
+ }
682
+ }
683
+
684
+ // Functionality that is not implemented by Typescript keywords
685
+
686
+ export declare function parallel(
687
+ branches: (() => void)[] | (() => void),
688
+ options?: {
689
+ shared?: string[]
690
+ concurrency_limit?: number
691
+ exception_policy?: string
692
+ },
693
+ ): void
694
+
695
+ export declare function retry_policy(
696
+ params:
697
+ | {
698
+ policy: (exception: unknown) => void
699
+ }
700
+ | {
701
+ predicate: (exception: unknown) => boolean
702
+ max_retries: number
703
+ backoff: {
704
+ initial_delay: number
705
+ max_delay: number
706
+ multiplier: number
707
+ }
708
+ },
709
+ ): void
710
+
711
+ export declare function call_step(
712
+ func: Function,
713
+ arguments: Record<string, unknown>,
714
+ ): unknown