apify-client 3.0.0-beta.5 → 3.0.0-beta.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -3
- package/dist/apify_api_error.d.ts +62 -21
- package/dist/apify_api_error.js +96 -23
- package/dist/apify_client.d.ts +125 -10
- package/dist/apify_client.js +133 -48
- package/dist/base/api_client.d.ts +7 -7
- package/dist/base/api_client.js +36 -24
- package/dist/base/resource_client.d.ts +21 -8
- package/dist/base/resource_client.js +54 -26
- package/dist/base/resource_collection_client.d.ts +12 -4
- package/dist/base/resource_collection_client.js +34 -11
- package/dist/body_parser.d.ts +3 -4
- package/dist/body_parser.js +19 -26
- package/dist/bundle.js +27 -22
- package/dist/bundle.js.map +1 -1
- package/dist/generated/api.d.ts +610 -112
- package/dist/generated/schemas.d.ts +726 -703
- package/dist/generated/schemas.js +92 -85
- package/dist/http_clients/axios.d.ts +60 -0
- package/dist/http_clients/axios.js +117 -0
- package/dist/http_clients/base.d.ts +333 -0
- package/dist/http_clients/base.js +563 -0
- package/dist/http_clients/index.d.ts +4 -0
- package/dist/http_clients/index.js +2 -0
- package/dist/http_compressors/base.d.ts +40 -0
- package/dist/http_compressors/base.js +9 -0
- package/dist/http_compressors/brotli.d.ts +33 -0
- package/dist/http_compressors/brotli.js +39 -0
- package/dist/http_compressors/gzip.d.ts +33 -0
- package/dist/http_compressors/gzip.js +39 -0
- package/dist/http_compressors/index.d.ts +6 -0
- package/dist/http_compressors/index.js +2 -0
- package/dist/http_compressors/resolve.d.ts +23 -0
- package/dist/http_compressors/resolve.js +27 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.js +3 -1
- package/dist/invalid_response_body_error.d.ts +13 -0
- package/dist/invalid_response_body_error.js +17 -0
- package/dist/models.d.ts +19 -22
- package/dist/resource_clients/actor.d.ts +72 -32
- package/dist/resource_clients/actor.js +87 -56
- package/dist/resource_clients/actor_collection.d.ts +9 -5
- package/dist/resource_clients/actor_collection.js +11 -3
- package/dist/resource_clients/actor_env_var.d.ts +10 -3
- package/dist/resource_clients/actor_env_var.js +16 -6
- package/dist/resource_clients/actor_env_var_collection.d.ts +14 -18
- package/dist/resource_clients/actor_env_var_collection.js +17 -11
- package/dist/resource_clients/actor_version.d.ts +18 -3
- package/dist/resource_clients/actor_version.js +19 -9
- package/dist/resource_clients/actor_version_collection.d.ts +16 -17
- package/dist/resource_clients/actor_version_collection.js +19 -11
- package/dist/resource_clients/build.d.ts +18 -6
- package/dist/resource_clients/build.js +34 -15
- package/dist/resource_clients/build_collection.d.ts +3 -1
- package/dist/resource_clients/build_collection.js +4 -1
- package/dist/resource_clients/dataset.d.ts +51 -33
- package/dist/resource_clients/dataset.js +105 -80
- package/dist/resource_clients/dataset_collection.d.ts +6 -2
- package/dist/resource_clients/dataset_collection.js +13 -2
- package/dist/resource_clients/key_value_store.d.ts +58 -16
- package/dist/resource_clients/key_value_store.js +78 -40
- package/dist/resource_clients/key_value_store_collection.d.ts +6 -2
- package/dist/resource_clients/key_value_store_collection.js +13 -2
- package/dist/resource_clients/log.d.ts +12 -20
- package/dist/resource_clients/log.js +93 -58
- package/dist/resource_clients/request_queue.d.ts +56 -26
- package/dist/resource_clients/request_queue.js +176 -103
- package/dist/resource_clients/request_queue_collection.d.ts +6 -2
- package/dist/resource_clients/request_queue_collection.js +9 -3
- package/dist/resource_clients/run.d.ts +108 -18
- package/dist/resource_clients/run.js +183 -43
- package/dist/resource_clients/run_collection.d.ts +3 -1
- package/dist/resource_clients/run_collection.js +4 -1
- package/dist/resource_clients/schedule.d.ts +14 -5
- package/dist/resource_clients/schedule.js +29 -21
- package/dist/resource_clients/schedule_collection.d.ts +6 -2
- package/dist/resource_clients/schedule_collection.js +9 -3
- package/dist/resource_clients/store_collection.d.ts +3 -1
- package/dist/resource_clients/store_collection.js +4 -1
- package/dist/resource_clients/task.d.ts +33 -10
- package/dist/resource_clients/task.js +79 -46
- package/dist/resource_clients/task_collection.d.ts +6 -2
- package/dist/resource_clients/task_collection.js +9 -3
- package/dist/resource_clients/user.d.ts +17 -8
- package/dist/resource_clients/user.js +42 -38
- package/dist/resource_clients/webhook.d.ts +14 -5
- package/dist/resource_clients/webhook.js +30 -22
- package/dist/resource_clients/webhook_collection.d.ts +6 -2
- package/dist/resource_clients/webhook_collection.js +9 -3
- package/dist/resource_clients/webhook_dispatch.d.ts +4 -1
- package/dist/resource_clients/webhook_dispatch.js +7 -2
- package/dist/resource_clients/webhook_dispatch_collection.d.ts +3 -1
- package/dist/resource_clients/webhook_dispatch_collection.js +4 -1
- package/dist/runtime/node.d.ts +6 -0
- package/dist/runtime/node.js +49 -0
- package/dist/runtime/types.d.ts +52 -0
- package/dist/runtime/types.js +1 -0
- package/dist/runtime/web.d.ts +5 -0
- package/dist/runtime/web.js +18 -0
- package/dist/schemas.d.ts +1 -1
- package/dist/schemas.js +1 -1
- package/dist/statistics.d.ts +1 -6
- package/dist/statistics.js +2 -2
- package/dist/timeouts.d.ts +84 -0
- package/dist/timeouts.js +37 -0
- package/dist/timezones.d.ts +1 -1
- package/dist/utils.d.ts +81 -52
- package/dist/utils.js +201 -170
- package/dist/wait_for_resources.d.ts +8 -0
- package/dist/wait_for_resources.js +39 -0
- package/package.json +32 -29
- package/dist/http_client.d.ts +0 -88
- package/dist/http_client.js +0 -255
- package/dist/interceptors.d.ts +0 -19
- package/dist/interceptors.js +0 -105
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type http from 'node:http';
|
|
2
|
+
import type https from 'node:https';
|
|
3
|
+
/**
|
|
4
|
+
* What to compress a request body with, as the built-in `HttpCompressor` implementations ask for it.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export interface CompressionOptions {
|
|
8
|
+
/** Algorithm to compress with, named by the `Content-Encoding` value it produces. */
|
|
9
|
+
algorithm: 'br' | 'gzip';
|
|
10
|
+
/** Compression level, in the range the algorithm defines. */
|
|
11
|
+
quality: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The agents axios's Node.js adapter sends requests through.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export interface HttpAgents {
|
|
18
|
+
httpAgent: http.Agent;
|
|
19
|
+
httpsAgent: https.Agent;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The runtime-specific part of the client. `#runtime` resolves to the Node.js implementation under the `node`
|
|
23
|
+
* condition and to the Web API one everywhere else (see the `imports` field of `package.json`), so a bundler
|
|
24
|
+
* targeting a browser or an edge runtime never sees the Node.js built-ins the Node.js one uses.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export interface Runtime {
|
|
28
|
+
/**
|
|
29
|
+
* Whether the Node.js implementation was selected, which the `node` condition settles when `#runtime` is
|
|
30
|
+
* resolved - so a Node.js application bundled for a browser or a neutral target reports `false`. Log
|
|
31
|
+
* streaming, the `stream` record option and request body compression are gated on it.
|
|
32
|
+
*/
|
|
33
|
+
isNode: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* The platform part of the `User-Agent` header, or `undefined` where the runtime does not let a client
|
|
36
|
+
* set that header (browsers).
|
|
37
|
+
*/
|
|
38
|
+
platform: string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Compresses a request body. The built-in compressors go through it, so a bundle for a browser or an edge
|
|
41
|
+
* runtime carries no `node:zlib`. Throws where the runtime has no compression, which the client never
|
|
42
|
+
* reaches, since it compresses only where {@link isNode} holds.
|
|
43
|
+
*/
|
|
44
|
+
compress(data: Uint8Array, options: CompressionOptions): Promise<Buffer>;
|
|
45
|
+
/**
|
|
46
|
+
* Creates the agents axios's Node.js adapter sends requests through, or resolves to `undefined` where
|
|
47
|
+
* axios does not use agents.
|
|
48
|
+
*/
|
|
49
|
+
createHttpAgents(options: {
|
|
50
|
+
timeoutMillis: number;
|
|
51
|
+
}): Promise<HttpAgents | undefined>;
|
|
52
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The {@link Runtime} for browsers and edge runtimes, built on Web APIs only.
|
|
3
|
+
*/
|
|
4
|
+
export const runtime = {
|
|
5
|
+
isNode: false,
|
|
6
|
+
// Browsers do not let a page set the `User-Agent` header.
|
|
7
|
+
platform: undefined,
|
|
8
|
+
// No request compression: brotli and gzip have no Web API, and a `content-encoding` request header is not
|
|
9
|
+
// on the list of headers the Apify API allows in a cross-origin request, so a browser would fail the
|
|
10
|
+
// preflight. The client compresses in Node.js alone, so nothing reaches this.
|
|
11
|
+
async compress() {
|
|
12
|
+
throw new Error('Request body compression is only available in Node.js.');
|
|
13
|
+
},
|
|
14
|
+
// The XHR and fetch adapters of axios do not use agents.
|
|
15
|
+
async createHttpAgents() {
|
|
16
|
+
return undefined;
|
|
17
|
+
},
|
|
18
|
+
};
|
package/dist/schemas.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* documented deviation never sends a resource client reaching into `./generated` directly. An override
|
|
7
7
|
* declared here shadows the generated export of the same name and takes the same form, a `lazySchema()` thunk
|
|
8
8
|
* built on the generated schema it replaces. Every schema that embeds an overridden one has to be rebuilt on
|
|
9
|
-
* top of it, and `spec_guards.ts` checks that each override still
|
|
9
|
+
* top of it, and `spec_guards.ts` checks that each override still produces what the specification describes,
|
|
10
10
|
* so one cannot narrow by accident.
|
|
11
11
|
*
|
|
12
12
|
* Spec gaps need no override: the generated objects are loose, so a field the specification omits passes
|
package/dist/schemas.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* documented deviation never sends a resource client reaching into `./generated` directly. An override
|
|
7
7
|
* declared here shadows the generated export of the same name and takes the same form, a `lazySchema()` thunk
|
|
8
8
|
* built on the generated schema it replaces. Every schema that embeds an overridden one has to be rebuilt on
|
|
9
|
-
* top of it, and `spec_guards.ts` checks that each override still
|
|
9
|
+
* top of it, and `spec_guards.ts` checks that each override still produces what the specification describes,
|
|
10
10
|
* so one cannot narrow by accident.
|
|
11
11
|
*
|
|
12
12
|
* Spec gaps need no override: the generated objects are loose, so a field the specification omits passes
|
package/dist/statistics.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare class Statistics {
|
|
2
|
+
#private;
|
|
2
3
|
/**
|
|
3
4
|
* Number of Apify client function calls
|
|
4
5
|
*/
|
|
@@ -13,10 +14,4 @@ export declare class Statistics {
|
|
|
13
14
|
*/
|
|
14
15
|
rateLimitErrors: number[];
|
|
15
16
|
addRateLimitError(attempt: number): void;
|
|
16
|
-
/**
|
|
17
|
-
* Removes the necessity to pre-initialize array with correct
|
|
18
|
-
* number of zeroes by dynamically filling the empty indexes
|
|
19
|
-
* when necessary.
|
|
20
|
-
*/
|
|
21
|
-
private _fillBlanksWithZeroes;
|
|
22
17
|
}
|
package/dist/statistics.js
CHANGED
|
@@ -20,7 +20,7 @@ export class Statistics {
|
|
|
20
20
|
// attempt is never 0,
|
|
21
21
|
// but we don't want index 0 empty
|
|
22
22
|
const index = attempt - 1;
|
|
23
|
-
this
|
|
23
|
+
this.#fillBlanksWithZeroes(index);
|
|
24
24
|
this.rateLimitErrors[index]++;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
@@ -28,7 +28,7 @@ export class Statistics {
|
|
|
28
28
|
* number of zeroes by dynamically filling the empty indexes
|
|
29
29
|
* when necessary.
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
#fillBlanksWithZeroes(inclusiveIndex) {
|
|
32
32
|
if (this.rateLimitErrors.length <= inclusiveIndex) {
|
|
33
33
|
for (let k = 0; k <= inclusiveIndex; k++) {
|
|
34
34
|
if (typeof this.rateLimitErrors[k] !== 'number') {
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Default duration of the `short` timeout tier, in seconds. */
|
|
3
|
+
export declare const DEFAULT_TIMEOUT_SHORT_SECS = 5;
|
|
4
|
+
/** Default duration of the `medium` timeout tier, in seconds. */
|
|
5
|
+
export declare const DEFAULT_TIMEOUT_MEDIUM_SECS = 30;
|
|
6
|
+
/** Default duration of the `long` timeout tier, in seconds. */
|
|
7
|
+
export declare const DEFAULT_TIMEOUT_LONG_SECS = 360;
|
|
8
|
+
/** Default cap on the timeout of a single request attempt, in seconds. */
|
|
9
|
+
export declare const DEFAULT_TIMEOUT_MAX_SECS = 360;
|
|
10
|
+
/**
|
|
11
|
+
* Preconfigured timeout tiers. Every client method picks the tier that fits the expected duration of its
|
|
12
|
+
* request: `short` for simple metadata reads and writes, `medium` for listing, batch and trigger operations,
|
|
13
|
+
* `long` for downloads, uploads and streaming. The duration of each tier is set on the {@link ApifyClient}
|
|
14
|
+
* constructor.
|
|
15
|
+
*/
|
|
16
|
+
export type TimeoutTier = 'short' | 'medium' | 'long';
|
|
17
|
+
/**
|
|
18
|
+
* Timeout of a single API request.
|
|
19
|
+
*
|
|
20
|
+
* A tier name picks the duration configured for that tier on the {@link ApifyClient} constructor, a number is
|
|
21
|
+
* an exact duration in seconds, and `'noTimeout'` lets the request run for as long as it takes. A tier or an
|
|
22
|
+
* explicit duration above `timeoutMaxSecs` is capped at it, and the client logs a warning when that happens.
|
|
23
|
+
* The timeout applies to each attempt separately, and doubles with every retry up to the same cap.
|
|
24
|
+
*
|
|
25
|
+
* With `'noTimeout'` the client never aborts the request, so a connection that stalls is not retried either.
|
|
26
|
+
*/
|
|
27
|
+
export type Timeout = TimeoutTier | 'noTimeout' | number;
|
|
28
|
+
/**
|
|
29
|
+
* Options shared by every method that sends a request to the API.
|
|
30
|
+
*/
|
|
31
|
+
export interface TimeoutOptions {
|
|
32
|
+
/**
|
|
33
|
+
* Timeout for the API request: a tier name (`'short'`, `'medium'`, `'long'`), a number of seconds, or
|
|
34
|
+
* `'noTimeout'`. Defaults to the tier the method is assigned, which its documentation names.
|
|
35
|
+
*/
|
|
36
|
+
timeoutSecs?: Timeout;
|
|
37
|
+
/**
|
|
38
|
+
* Aborts the method. Once the signal aborts, the request in flight is ended, no retry or further poll
|
|
39
|
+
* follows, and the method rejects with the signal's `reason`.
|
|
40
|
+
*/
|
|
41
|
+
signal?: AbortSignal;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Schema of {@link Timeout}, optional, for the methods that validate `timeoutSecs` on its own.
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export declare const optionalTimeoutSchema: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
48
|
+
long: "long";
|
|
49
|
+
medium: "medium";
|
|
50
|
+
noTimeout: "noTimeout";
|
|
51
|
+
short: "short";
|
|
52
|
+
}>, z.ZodNumber]>>;
|
|
53
|
+
/**
|
|
54
|
+
* Schema of {@link TimeoutOptions.signal}, for the methods that validate `signal` on its own.
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
export declare const optionalSignalSchema: z.ZodOptional<z.ZodInstanceOf<AbortSignal>>;
|
|
58
|
+
/**
|
|
59
|
+
* Schema shape of {@link TimeoutOptions}, to spread into the option schema of every method that sends a
|
|
60
|
+
* request. One copy stops it drifting from the interface.
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
export declare const timeoutOptionsShape: {
|
|
64
|
+
timeoutSecs: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
65
|
+
long: "long";
|
|
66
|
+
medium: "medium";
|
|
67
|
+
noTimeout: "noTimeout";
|
|
68
|
+
short: "short";
|
|
69
|
+
}>, z.ZodNumber]>>;
|
|
70
|
+
signal: z.ZodOptional<z.ZodInstanceOf<AbortSignal>>;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Schema of {@link TimeoutOptions}, for the methods that take no other option.
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
export declare const timeoutOptionsSchema: z.ZodObject<{
|
|
77
|
+
timeoutSecs: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
78
|
+
long: "long";
|
|
79
|
+
medium: "medium";
|
|
80
|
+
noTimeout: "noTimeout";
|
|
81
|
+
short: "short";
|
|
82
|
+
}>, z.ZodNumber]>>;
|
|
83
|
+
signal: z.ZodOptional<z.ZodInstanceOf<AbortSignal>>;
|
|
84
|
+
}, z.core.$strict>;
|
package/dist/timeouts.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Default duration of the `short` timeout tier, in seconds. */
|
|
3
|
+
export const DEFAULT_TIMEOUT_SHORT_SECS = 5;
|
|
4
|
+
/** Default duration of the `medium` timeout tier, in seconds. */
|
|
5
|
+
export const DEFAULT_TIMEOUT_MEDIUM_SECS = 30;
|
|
6
|
+
/** Default duration of the `long` timeout tier, in seconds. */
|
|
7
|
+
export const DEFAULT_TIMEOUT_LONG_SECS = 360;
|
|
8
|
+
/** Default cap on the timeout of a single request attempt, in seconds. */
|
|
9
|
+
export const DEFAULT_TIMEOUT_MAX_SECS = 360;
|
|
10
|
+
/**
|
|
11
|
+
* Schema of {@link Timeout}. Zero is rejected on purpose - `'noTimeout'` is the explicit way to run without one.
|
|
12
|
+
*/
|
|
13
|
+
const timeoutSchema = z.union([z.enum(['short', 'medium', 'long', 'noTimeout']), z.number().positive()]);
|
|
14
|
+
/**
|
|
15
|
+
* Schema of {@link Timeout}, optional, for the methods that validate `timeoutSecs` on its own.
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export const optionalTimeoutSchema = timeoutSchema.optional();
|
|
19
|
+
/**
|
|
20
|
+
* Schema of {@link TimeoutOptions.signal}, for the methods that validate `signal` on its own.
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export const optionalSignalSchema = z.instanceof(AbortSignal).optional();
|
|
24
|
+
/**
|
|
25
|
+
* Schema shape of {@link TimeoutOptions}, to spread into the option schema of every method that sends a
|
|
26
|
+
* request. One copy stops it drifting from the interface.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export const timeoutOptionsShape = {
|
|
30
|
+
timeoutSecs: optionalTimeoutSchema,
|
|
31
|
+
signal: optionalSignalSchema,
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Schema of {@link TimeoutOptions}, for the methods that take no other option.
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export const timeoutOptionsSchema = z.strictObject(timeoutOptionsShape);
|
package/dist/timezones.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
declare const timezones: readonly ["Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", "Africa/Asmara", "Africa/Asmera", "Africa/Bamako", "Africa/Bangui", "Africa/Banjul", "Africa/Bissau", "Africa/Blantyre", "Africa/Brazzaville", "Africa/Bujumbura", "Africa/Cairo", "Africa/Casablanca", "Africa/Ceuta", "Africa/Conakry", "Africa/Dakar", "Africa/Dar_es_Salaam", "Africa/Djibouti", "Africa/Douala", "Africa/El_Aaiun", "Africa/Freetown", "Africa/Gaborone", "Africa/Harare", "Africa/Johannesburg", "Africa/Juba", "Africa/Kampala", "Africa/Khartoum", "Africa/Kigali", "Africa/Kinshasa", "Africa/Lagos", "Africa/Libreville", "Africa/Lome", "Africa/Luanda", "Africa/Lubumbashi", "Africa/Lusaka", "Africa/Malabo", "Africa/Maputo", "Africa/Maseru", "Africa/Mbabane", "Africa/Mogadishu", "Africa/Monrovia", "Africa/Nairobi", "Africa/Ndjamena", "Africa/Niamey", "Africa/Nouakchott", "Africa/Ouagadougou", "Africa/Porto-Novo", "Africa/Sao_Tome", "Africa/Timbuktu", "Africa/Tripoli", "Africa/Tunis", "Africa/Windhoek", "America/Adak", "America/Anchorage", "America/Anguilla", "America/Antigua", "America/Araguaina", "America/Argentina/Buenos_Aires", "America/Argentina/Catamarca", "America/Argentina/ComodRivadavia", "America/Argentina/Cordoba", "America/Argentina/Jujuy", "America/Argentina/La_Rioja", "America/Argentina/Mendoza", "America/Argentina/Rio_Gallegos", "America/Argentina/Salta", "America/Argentina/San_Juan", "America/Argentina/San_Luis", "America/Argentina/Tucuman", "America/Argentina/Ushuaia", "America/Aruba", "America/Asuncion", "America/Atikokan", "America/Atka", "America/Bahia", "America/Bahia_Banderas", "America/Barbados", "America/Belem", "America/Belize", "America/Blanc-Sablon", "America/Boa_Vista", "America/Bogota", "America/Boise", "America/Buenos_Aires", "America/Cambridge_Bay", "America/Campo_Grande", "America/Cancun", "America/Caracas", "America/Catamarca", "America/Cayenne", "America/Cayman", "America/Chicago", "America/Chihuahua", "America/Coral_Harbour", "America/Cordoba", "America/Costa_Rica", "America/Creston", "America/Cuiaba", "America/Curacao", "America/Danmarkshavn", "America/Dawson", "America/Dawson_Creek", "America/Denver", "America/Detroit", "America/Dominica", "America/Edmonton", "America/Eirunepe", "America/El_Salvador", "America/Ensenada", "America/Fort_Nelson", "America/Fort_Wayne", "America/Fortaleza", "America/Glace_Bay", "America/Godthab", "America/Goose_Bay", "America/Grand_Turk", "America/Grenada", "America/Guadeloupe", "America/Guatemala", "America/Guayaquil", "America/Guyana", "America/Halifax", "America/Havana", "America/Hermosillo", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Inuvik", "America/Iqaluit", "America/Jamaica", "America/Jujuy", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Knox_IN", "America/Kralendijk", "America/La_Paz", "America/Lima", "America/Los_Angeles", "America/Louisville", "America/Lower_Princes", "America/Maceio", "America/Managua", "America/Manaus", "America/Marigot", "America/Martinique", "America/Matamoros", "America/Mazatlan", "America/Mendoza", "America/Menominee", "America/Merida", "America/Metlakatla", "America/Mexico_City", "America/Miquelon", "America/Moncton", "America/Monterrey", "America/Montevideo", "America/Montreal", "America/Montserrat", "America/Nassau", "America/New_York", "America/Nipigon", "America/Nome", "America/Noronha", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Nuuk", "America/Ojinaga", "America/Panama", "America/Pangnirtung", "America/Paramaribo", "America/Phoenix", "America/Port-au-Prince", "America/Port_of_Spain", "America/Porto_Acre", "America/Porto_Velho", "America/Puerto_Rico", "America/Punta_Arenas", "America/Rainy_River", "America/Rankin_Inlet", "America/Recife", "America/Regina", "America/Resolute", "America/Rio_Branco", "America/Rosario", "America/Santa_Isabel", "America/Santarem", "America/Santiago", "America/Santo_Domingo", "America/Sao_Paulo", "America/Scoresbysund", "America/Shiprock", "America/Sitka", "America/St_Barthelemy", "America/St_Johns", "America/St_Kitts", "America/St_Lucia", "America/St_Thomas", "America/St_Vincent", "America/Swift_Current", "America/Tegucigalpa", "America/Thule", "America/Thunder_Bay", "America/Tijuana", "America/Toronto", "America/Tortola", "America/Vancouver", "America/Virgin", "America/Whitehorse", "America/Winnipeg", "America/Yakutat", "America/Yellowknife", "Antarctica/Casey", "Antarctica/Davis", "Antarctica/DumontDUrville", "Antarctica/Macquarie", "Antarctica/Mawson", "Antarctica/McMurdo", "Antarctica/Palmer", "Antarctica/Rothera", "Antarctica/South_Pole", "Antarctica/Syowa", "Antarctica/Troll", "Antarctica/Vostok", "Arctic/Longyearbyen", "Asia/Aden", "Asia/Almaty", "Asia/Amman", "Asia/Anadyr", "Asia/Aqtau", "Asia/Aqtobe", "Asia/Ashgabat", "Asia/Ashkhabad", "Asia/Atyrau", "Asia/Baghdad", "Asia/Bahrain", "Asia/Baku", "Asia/Bangkok", "Asia/Barnaul", "Asia/Beirut", "Asia/Bishkek", "Asia/Brunei", "Asia/Calcutta", "Asia/Chita", "Asia/Choibalsan", "Asia/Chongqing", "Asia/Chungking", "Asia/Colombo", "Asia/Dacca", "Asia/Damascus", "Asia/Dhaka", "Asia/Dili", "Asia/Dubai", "Asia/Dushanbe", "Asia/Famagusta", "Asia/Gaza", "Asia/Harbin", "Asia/Hebron", "Asia/Ho_Chi_Minh", "Asia/Hong_Kong", "Asia/Hovd", "Asia/Irkutsk", "Asia/Istanbul", "Asia/Jakarta", "Asia/Jayapura", "Asia/Jerusalem", "Asia/Kabul", "Asia/Kamchatka", "Asia/Karachi", "Asia/Kashgar", "Asia/Kathmandu", "Asia/Katmandu", "Asia/Khandyga", "Asia/Kolkata", "Asia/Krasnoyarsk", "Asia/Kuala_Lumpur", "Asia/Kuching", "Asia/Kuwait", "Asia/Macao", "Asia/Macau", "Asia/Magadan", "Asia/Makassar", "Asia/Manila", "Asia/Muscat", "Asia/Nicosia", "Asia/Novokuznetsk", "Asia/Novosibirsk", "Asia/Omsk", "Asia/Oral", "Asia/Phnom_Penh", "Asia/Pontianak", "Asia/Pyongyang", "Asia/Qatar", "Asia/Qostanay", "Asia/Qyzylorda", "Asia/Rangoon", "Asia/Riyadh", "Asia/Saigon", "Asia/Sakhalin", "Asia/Samarkand", "Asia/Seoul", "Asia/Shanghai", "Asia/Singapore", "Asia/Srednekolymsk", "Asia/Taipei", "Asia/Tashkent", "Asia/Tbilisi", "Asia/Tehran", "Asia/Tel_Aviv", "Asia/Thimbu", "Asia/Thimphu", "Asia/Tokyo", "Asia/Tomsk", "Asia/Ujung_Pandang", "Asia/Ulaanbaatar", "Asia/Ulan_Bator", "Asia/Urumqi", "Asia/Ust-Nera", "Asia/Vientiane", "Asia/Vladivostok", "Asia/Yakutsk", "Asia/Yangon", "Asia/Yekaterinburg", "Asia/Yerevan", "Atlantic/Azores", "Atlantic/Bermuda", "Atlantic/Canary", "Atlantic/Cape_Verde", "Atlantic/Faeroe", "Atlantic/Faroe", "Atlantic/Jan_Mayen", "Atlantic/Madeira", "Atlantic/Reykjavik", "Atlantic/South_Georgia", "Atlantic/St_Helena", "Atlantic/Stanley", "Australia/ACT", "Australia/Adelaide", "Australia/Brisbane", "Australia/Broken_Hill", "Australia/Canberra", "Australia/Currie", "Australia/Darwin", "Australia/Eucla", "Australia/Hobart", "Australia/LHI", "Australia/Lindeman", "Australia/Lord_Howe", "Australia/Melbourne", "Australia/NSW", "Australia/North", "Australia/Perth", "Australia/Queensland", "Australia/South", "Australia/Sydney", "Australia/Tasmania", "Australia/Victoria", "Australia/West", "Australia/Yancowinna", "Brazil/Acre", "Brazil/DeNoronha", "Brazil/East", "Brazil/West", "CET", "CST6CDT", "Canada/Atlantic", "Canada/Central", "Canada/Eastern", "Canada/Mountain", "Canada/Newfoundland", "Canada/Pacific", "Canada/Saskatchewan", "Canada/Yukon", "Chile/Continental", "Chile/EasterIsland", "Cuba", "EET", "EST", "EST5EDT", "Egypt", "Eire", "Etc/GMT", "Etc/GMT+0", "Etc/GMT+1", "Etc/GMT+10", "Etc/GMT+11", "Etc/GMT+12", "Etc/GMT+2", "Etc/GMT+3", "Etc/GMT+4", "Etc/GMT+5", "Etc/GMT+6", "Etc/GMT+7", "Etc/GMT+8", "Etc/GMT+9", "Etc/GMT-0", "Etc/GMT-1", "Etc/GMT-10", "Etc/GMT-11", "Etc/GMT-12", "Etc/GMT-13", "Etc/GMT-14", "Etc/GMT-2", "Etc/GMT-3", "Etc/GMT-4", "Etc/GMT-5", "Etc/GMT-6", "Etc/GMT-7", "Etc/GMT-8", "Etc/GMT-9", "Etc/GMT0", "Etc/Greenwich", "Etc/UCT", "Etc/UTC", "Etc/Universal", "Etc/Zulu", "Europe/Amsterdam", "Europe/Andorra", "Europe/Astrakhan", "Europe/Athens", "Europe/Belfast", "Europe/Belgrade", "Europe/Berlin", "Europe/Bratislava", "Europe/Brussels", "Europe/Bucharest", "Europe/Budapest", "Europe/Busingen", "Europe/Chisinau", "Europe/Copenhagen", "Europe/Dublin", "Europe/Gibraltar", "Europe/Guernsey", "Europe/Helsinki", "Europe/Isle_of_Man", "Europe/Istanbul", "Europe/Jersey", "Europe/Kaliningrad", "Europe/Kiev", "Europe/Kirov", "Europe/Lisbon", "Europe/Ljubljana", "Europe/London", "Europe/Luxembourg", "Europe/Madrid", "Europe/Malta", "Europe/Mariehamn", "Europe/Minsk", "Europe/Monaco", "Europe/Moscow", "Europe/Nicosia", "Europe/Oslo", "Europe/Paris", "Europe/Podgorica", "Europe/Prague", "Europe/Riga", "Europe/Rome", "Europe/Samara", "Europe/San_Marino", "Europe/Sarajevo", "Europe/Saratov", "Europe/Simferopol", "Europe/Skopje", "Europe/Sofia", "Europe/Stockholm", "Europe/Tallinn", "Europe/Tirane", "Europe/Tiraspol", "Europe/Ulyanovsk", "Europe/Uzhgorod", "Europe/Vaduz", "Europe/Vatican", "Europe/Vienna", "Europe/Vilnius", "Europe/Volgograd", "Europe/Warsaw", "Europe/Zagreb", "Europe/Zaporozhye", "Europe/Zurich", "GB", "GB-Eire", "GMT", "GMT+0", "GMT-0", "GMT0", "Greenwich", "HST", "Hongkong", "Iceland", "Indian/Antananarivo", "Indian/Chagos", "Indian/Christmas", "Indian/Cocos", "Indian/Comoro", "Indian/Kerguelen", "Indian/Mahe", "Indian/Maldives", "Indian/Mauritius", "Indian/Mayotte", "Indian/Reunion", "Iran", "Israel", "Jamaica", "Japan", "Kwajalein", "Libya", "MET", "MST", "MST7MDT", "Mexico/BajaNorte", "Mexico/BajaSur", "Mexico/General", "NZ", "NZ-CHAT", "Navajo", "PRC", "PST8PDT", "Pacific/Apia", "Pacific/Auckland", "Pacific/Bougainville", "Pacific/Chatham", "Pacific/Chuuk", "Pacific/Easter", "Pacific/Efate", "Pacific/Enderbury", "Pacific/Fakaofo", "Pacific/Fiji", "Pacific/Funafuti", "Pacific/Galapagos", "Pacific/Gambier", "Pacific/Guadalcanal", "Pacific/Guam", "Pacific/Honolulu", "Pacific/Johnston", "Pacific/Kiritimati", "Pacific/Kosrae", "Pacific/Kwajalein", "Pacific/Majuro", "Pacific/Marquesas", "Pacific/Midway", "Pacific/Nauru", "Pacific/Niue", "Pacific/Norfolk", "Pacific/Noumea", "Pacific/Pago_Pago", "Pacific/Palau", "Pacific/Pitcairn", "Pacific/Pohnpei", "Pacific/Ponape", "Pacific/Port_Moresby", "Pacific/Rarotonga", "Pacific/Saipan", "Pacific/Samoa", "Pacific/Tahiti", "Pacific/Tarawa", "Pacific/Tongatapu", "Pacific/Truk", "Pacific/Wake", "Pacific/Wallis", "Pacific/Yap", "Poland", "Portugal", "ROC", "ROK", "Singapore", "Turkey", "UCT", "US/Alaska", "US/Aleutian", "US/Arizona", "US/Central", "US/East-Indiana", "US/Eastern", "US/Hawaii", "US/Indiana-Starke", "US/Michigan", "US/Mountain", "US/Pacific", "US/Samoa", "UTC", "Universal", "W-SU", "WET", "Zulu"];
|
|
1
|
+
declare const timezones: readonly ['Africa/Abidjan', 'Africa/Accra', 'Africa/Addis_Ababa', 'Africa/Algiers', 'Africa/Asmara', 'Africa/Asmera', 'Africa/Bamako', 'Africa/Bangui', 'Africa/Banjul', 'Africa/Bissau', 'Africa/Blantyre', 'Africa/Brazzaville', 'Africa/Bujumbura', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Ceuta', 'Africa/Conakry', 'Africa/Dakar', 'Africa/Dar_es_Salaam', 'Africa/Djibouti', 'Africa/Douala', 'Africa/El_Aaiun', 'Africa/Freetown', 'Africa/Gaborone', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Juba', 'Africa/Kampala', 'Africa/Khartoum', 'Africa/Kigali', 'Africa/Kinshasa', 'Africa/Lagos', 'Africa/Libreville', 'Africa/Lome', 'Africa/Luanda', 'Africa/Lubumbashi', 'Africa/Lusaka', 'Africa/Malabo', 'Africa/Maputo', 'Africa/Maseru', 'Africa/Mbabane', 'Africa/Mogadishu', 'Africa/Monrovia', 'Africa/Nairobi', 'Africa/Ndjamena', 'Africa/Niamey', 'Africa/Nouakchott', 'Africa/Ouagadougou', 'Africa/Porto-Novo', 'Africa/Sao_Tome', 'Africa/Timbuktu', 'Africa/Tripoli', 'Africa/Tunis', 'Africa/Windhoek', 'America/Adak', 'America/Anchorage', 'America/Anguilla', 'America/Antigua', 'America/Araguaina', 'America/Argentina/Buenos_Aires', 'America/Argentina/Catamarca', 'America/Argentina/ComodRivadavia', 'America/Argentina/Cordoba', 'America/Argentina/Jujuy', 'America/Argentina/La_Rioja', 'America/Argentina/Mendoza', 'America/Argentina/Rio_Gallegos', 'America/Argentina/Salta', 'America/Argentina/San_Juan', 'America/Argentina/San_Luis', 'America/Argentina/Tucuman', 'America/Argentina/Ushuaia', 'America/Aruba', 'America/Asuncion', 'America/Atikokan', 'America/Atka', 'America/Bahia', 'America/Bahia_Banderas', 'America/Barbados', 'America/Belem', 'America/Belize', 'America/Blanc-Sablon', 'America/Boa_Vista', 'America/Bogota', 'America/Boise', 'America/Buenos_Aires', 'America/Cambridge_Bay', 'America/Campo_Grande', 'America/Cancun', 'America/Caracas', 'America/Catamarca', 'America/Cayenne', 'America/Cayman', 'America/Chicago', 'America/Chihuahua', 'America/Coral_Harbour', 'America/Cordoba', 'America/Costa_Rica', 'America/Creston', 'America/Cuiaba', 'America/Curacao', 'America/Danmarkshavn', 'America/Dawson', 'America/Dawson_Creek', 'America/Denver', 'America/Detroit', 'America/Dominica', 'America/Edmonton', 'America/Eirunepe', 'America/El_Salvador', 'America/Ensenada', 'America/Fort_Nelson', 'America/Fort_Wayne', 'America/Fortaleza', 'America/Glace_Bay', 'America/Godthab', 'America/Goose_Bay', 'America/Grand_Turk', 'America/Grenada', 'America/Guadeloupe', 'America/Guatemala', 'America/Guayaquil', 'America/Guyana', 'America/Halifax', 'America/Havana', 'America/Hermosillo', 'America/Indiana/Indianapolis', 'America/Indiana/Knox', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana/Tell_City', 'America/Indiana/Vevay', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'America/Indianapolis', 'America/Inuvik', 'America/Iqaluit', 'America/Jamaica', 'America/Jujuy', 'America/Juneau', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Knox_IN', 'America/Kralendijk', 'America/La_Paz', 'America/Lima', 'America/Los_Angeles', 'America/Louisville', 'America/Lower_Princes', 'America/Maceio', 'America/Managua', 'America/Manaus', 'America/Marigot', 'America/Martinique', 'America/Matamoros', 'America/Mazatlan', 'America/Mendoza', 'America/Menominee', 'America/Merida', 'America/Metlakatla', 'America/Mexico_City', 'America/Miquelon', 'America/Moncton', 'America/Monterrey', 'America/Montevideo', 'America/Montreal', 'America/Montserrat', 'America/Nassau', 'America/New_York', 'America/Nipigon', 'America/Nome', 'America/Noronha', 'America/North_Dakota/Beulah', 'America/North_Dakota/Center', 'America/North_Dakota/New_Salem', 'America/Nuuk', 'America/Ojinaga', 'America/Panama', 'America/Pangnirtung', 'America/Paramaribo', 'America/Phoenix', 'America/Port-au-Prince', 'America/Port_of_Spain', 'America/Porto_Acre', 'America/Porto_Velho', 'America/Puerto_Rico', 'America/Punta_Arenas', 'America/Rainy_River', 'America/Rankin_Inlet', 'America/Recife', 'America/Regina', 'America/Resolute', 'America/Rio_Branco', 'America/Rosario', 'America/Santa_Isabel', 'America/Santarem', 'America/Santiago', 'America/Santo_Domingo', 'America/Sao_Paulo', 'America/Scoresbysund', 'America/Shiprock', 'America/Sitka', 'America/St_Barthelemy', 'America/St_Johns', 'America/St_Kitts', 'America/St_Lucia', 'America/St_Thomas', 'America/St_Vincent', 'America/Swift_Current', 'America/Tegucigalpa', 'America/Thule', 'America/Thunder_Bay', 'America/Tijuana', 'America/Toronto', 'America/Tortola', 'America/Vancouver', 'America/Virgin', 'America/Whitehorse', 'America/Winnipeg', 'America/Yakutat', 'America/Yellowknife', 'Antarctica/Casey', 'Antarctica/Davis', 'Antarctica/DumontDUrville', 'Antarctica/Macquarie', 'Antarctica/Mawson', 'Antarctica/McMurdo', 'Antarctica/Palmer', 'Antarctica/Rothera', 'Antarctica/South_Pole', 'Antarctica/Syowa', 'Antarctica/Troll', 'Antarctica/Vostok', 'Arctic/Longyearbyen', 'Asia/Aden', 'Asia/Almaty', 'Asia/Amman', 'Asia/Anadyr', 'Asia/Aqtau', 'Asia/Aqtobe', 'Asia/Ashgabat', 'Asia/Ashkhabad', 'Asia/Atyrau', 'Asia/Baghdad', 'Asia/Bahrain', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Barnaul', 'Asia/Beirut', 'Asia/Bishkek', 'Asia/Brunei', 'Asia/Calcutta', 'Asia/Chita', 'Asia/Choibalsan', 'Asia/Chongqing', 'Asia/Chungking', 'Asia/Colombo', 'Asia/Dacca', 'Asia/Damascus', 'Asia/Dhaka', 'Asia/Dili', 'Asia/Dubai', 'Asia/Dushanbe', 'Asia/Famagusta', 'Asia/Gaza', 'Asia/Harbin', 'Asia/Hebron', 'Asia/Ho_Chi_Minh', 'Asia/Hong_Kong', 'Asia/Hovd', 'Asia/Irkutsk', 'Asia/Istanbul', 'Asia/Jakarta', 'Asia/Jayapura', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Kashgar', 'Asia/Kathmandu', 'Asia/Katmandu', 'Asia/Khandyga', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuching', 'Asia/Kuwait', 'Asia/Macao', 'Asia/Macau', 'Asia/Magadan', 'Asia/Makassar', 'Asia/Manila', 'Asia/Muscat', 'Asia/Nicosia', 'Asia/Novokuznetsk', 'Asia/Novosibirsk', 'Asia/Omsk', 'Asia/Oral', 'Asia/Phnom_Penh', 'Asia/Pontianak', 'Asia/Pyongyang', 'Asia/Qatar', 'Asia/Qostanay', 'Asia/Qyzylorda', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Saigon', 'Asia/Sakhalin', 'Asia/Samarkand', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tel_Aviv', 'Asia/Thimbu', 'Asia/Thimphu', 'Asia/Tokyo', 'Asia/Tomsk', 'Asia/Ujung_Pandang', 'Asia/Ulaanbaatar', 'Asia/Ulan_Bator', 'Asia/Urumqi', 'Asia/Ust-Nera', 'Asia/Vientiane', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yangon', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Bermuda', 'Atlantic/Canary', 'Atlantic/Cape_Verde', 'Atlantic/Faeroe', 'Atlantic/Faroe', 'Atlantic/Jan_Mayen', 'Atlantic/Madeira', 'Atlantic/Reykjavik', 'Atlantic/South_Georgia', 'Atlantic/St_Helena', 'Atlantic/Stanley', 'Australia/ACT', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Broken_Hill', 'Australia/Canberra', 'Australia/Currie', 'Australia/Darwin', 'Australia/Eucla', 'Australia/Hobart', 'Australia/LHI', 'Australia/Lindeman', 'Australia/Lord_Howe', 'Australia/Melbourne', 'Australia/NSW', 'Australia/North', 'Australia/Perth', 'Australia/Queensland', 'Australia/South', 'Australia/Sydney', 'Australia/Tasmania', 'Australia/Victoria', 'Australia/West', 'Australia/Yancowinna', 'Brazil/Acre', 'Brazil/DeNoronha', 'Brazil/East', 'Brazil/West', 'CET', 'CST6CDT', 'Canada/Atlantic', 'Canada/Central', 'Canada/Eastern', 'Canada/Mountain', 'Canada/Newfoundland', 'Canada/Pacific', 'Canada/Saskatchewan', 'Canada/Yukon', 'Chile/Continental', 'Chile/EasterIsland', 'Cuba', 'EET', 'EST', 'EST5EDT', 'Egypt', 'Eire', 'Etc/GMT', 'Etc/GMT+0', 'Etc/GMT+1', 'Etc/GMT+10', 'Etc/GMT+11', 'Etc/GMT+12', 'Etc/GMT+2', 'Etc/GMT+3', 'Etc/GMT+4', 'Etc/GMT+5', 'Etc/GMT+6', 'Etc/GMT+7', 'Etc/GMT+8', 'Etc/GMT+9', 'Etc/GMT-0', 'Etc/GMT-1', 'Etc/GMT-10', 'Etc/GMT-11', 'Etc/GMT-12', 'Etc/GMT-13', 'Etc/GMT-14', 'Etc/GMT-2', 'Etc/GMT-3', 'Etc/GMT-4', 'Etc/GMT-5', 'Etc/GMT-6', 'Etc/GMT-7', 'Etc/GMT-8', 'Etc/GMT-9', 'Etc/GMT0', 'Etc/Greenwich', 'Etc/UCT', 'Etc/UTC', 'Etc/Universal', 'Etc/Zulu', 'Europe/Amsterdam', 'Europe/Andorra', 'Europe/Astrakhan', 'Europe/Athens', 'Europe/Belfast', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Busingen', 'Europe/Chisinau', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Gibraltar', 'Europe/Guernsey', 'Europe/Helsinki', 'Europe/Isle_of_Man', 'Europe/Istanbul', 'Europe/Jersey', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Kirov', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/Luxembourg', 'Europe/Madrid', 'Europe/Malta', 'Europe/Mariehamn', 'Europe/Minsk', 'Europe/Monaco', 'Europe/Moscow', 'Europe/Nicosia', 'Europe/Oslo', 'Europe/Paris', 'Europe/Podgorica', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/San_Marino', 'Europe/Sarajevo', 'Europe/Saratov', 'Europe/Simferopol', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Tirane', 'Europe/Tiraspol', 'Europe/Ulyanovsk', 'Europe/Uzhgorod', 'Europe/Vaduz', 'Europe/Vatican', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Europe/Zaporozhye', 'Europe/Zurich', 'GB', 'GB-Eire', 'GMT', 'GMT+0', 'GMT-0', 'GMT0', 'Greenwich', 'HST', 'Hongkong', 'Iceland', 'Indian/Antananarivo', 'Indian/Chagos', 'Indian/Christmas', 'Indian/Cocos', 'Indian/Comoro', 'Indian/Kerguelen', 'Indian/Mahe', 'Indian/Maldives', 'Indian/Mauritius', 'Indian/Mayotte', 'Indian/Reunion', 'Iran', 'Israel', 'Jamaica', 'Japan', 'Kwajalein', 'Libya', 'MET', 'MST', 'MST7MDT', 'Mexico/BajaNorte', 'Mexico/BajaSur', 'Mexico/General', 'NZ', 'NZ-CHAT', 'Navajo', 'PRC', 'PST8PDT', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Bougainville', 'Pacific/Chatham', 'Pacific/Chuuk', 'Pacific/Easter', 'Pacific/Efate', 'Pacific/Enderbury', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Funafuti', 'Pacific/Galapagos', 'Pacific/Gambier', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Johnston', 'Pacific/Kiritimati', 'Pacific/Kosrae', 'Pacific/Kwajalein', 'Pacific/Majuro', 'Pacific/Marquesas', 'Pacific/Midway', 'Pacific/Nauru', 'Pacific/Niue', 'Pacific/Norfolk', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Palau', 'Pacific/Pitcairn', 'Pacific/Pohnpei', 'Pacific/Ponape', 'Pacific/Port_Moresby', 'Pacific/Rarotonga', 'Pacific/Saipan', 'Pacific/Samoa', 'Pacific/Tahiti', 'Pacific/Tarawa', 'Pacific/Tongatapu', 'Pacific/Truk', 'Pacific/Wake', 'Pacific/Wallis', 'Pacific/Yap', 'Poland', 'Portugal', 'ROC', 'ROK', 'Singapore', 'Turkey', 'UCT', 'US/Alaska', 'US/Aleutian', 'US/Arizona', 'US/Central', 'US/East-Indiana', 'US/Eastern', 'US/Hawaii', 'US/Indiana-Starke', 'US/Michigan', 'US/Mountain', 'US/Pacific', 'US/Samoa', 'UTC', 'Universal', 'W-SU', 'WET', 'Zulu'];
|
|
2
2
|
export type Timezone = (typeof timezones)[number];
|
|
3
3
|
export {};
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import type { Readable } from 'node:stream';
|
|
2
|
-
import type {
|
|
2
|
+
import type { TypedArray } from 'type-fest';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import type { ApifyApiError } from './apify_api_error.js';
|
|
5
5
|
import { parseArgument } from '@apify/validations';
|
|
6
|
-
import type { ApifyResponse } from './
|
|
6
|
+
import type { ApifyResponse } from './http_clients/index.js';
|
|
7
7
|
import type { RequestQueueClientListRequestsOptions, RequestQueueClientListRequestsResult } from './resource_clients/request_queue.js';
|
|
8
8
|
import type { WebhookUpdateData } from './resource_clients/webhook.js';
|
|
9
|
+
/**
|
|
10
|
+
* Smallest request body, in bytes, that is worth compressing. A smaller body already fits in a single network
|
|
11
|
+
* packet, so compressing it costs CPU time without saving a round trip, and the compression format itself can
|
|
12
|
+
* make it larger.
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export declare const MIN_COMPRESS_BYTES = 1024;
|
|
16
|
+
export declare const version: any;
|
|
9
17
|
export { parseArgument };
|
|
10
18
|
/**
|
|
11
19
|
* Accepts any non-null, non-array object as a predicate for `z.custom()`.
|
|
@@ -28,80 +36,93 @@ export interface MaybeData<R> {
|
|
|
28
36
|
data?: R;
|
|
29
37
|
}
|
|
30
38
|
/**
|
|
31
|
-
* Turns a JSON API response into the value a resource method returns: unwraps the `data` envelope
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* fields and
|
|
39
|
+
* Turns a JSON API response into the value a resource method returns: unwraps the `data` envelope and validates the
|
|
40
|
+
* result against `schema`, one of the schemas generated from the OpenAPI specification. The validated copy is what
|
|
41
|
+
* callers get, so it is the schema's output -- unknown fields and unknown enum values included, since the schemas let
|
|
42
|
+
* both through, date-time fields turned into `Date` objects, and URL fields normalized, since `z.url()` hands back the
|
|
43
|
+
* parsed URL's serialization.
|
|
35
44
|
*
|
|
36
45
|
* Throws {@link ResponseValidationError} when the response does not match the specification.
|
|
37
46
|
* @internal
|
|
38
47
|
*/
|
|
39
|
-
export declare function parseResponse<R>(response: ApifyResponse, schema: z.ZodType
|
|
48
|
+
export declare function parseResponse<R>(response: ApifyResponse, schema: z.ZodType): R;
|
|
40
49
|
/**
|
|
41
50
|
* Returns object's 'data' property or throws if parameter is not an object,
|
|
42
51
|
* or an object without a 'data' property.
|
|
43
52
|
*/
|
|
44
53
|
export declare function pluckData<R>(obj: MaybeData<R>): R;
|
|
45
54
|
/**
|
|
46
|
-
*
|
|
47
|
-
* Otherwise rethrows error.
|
|
55
|
+
* Swallows a 404 Not Found API error and rethrows anything else.
|
|
48
56
|
*/
|
|
49
57
|
export declare function catchNotFoundOrThrow(err: ApifyApiError): void;
|
|
50
|
-
type ReturnJsonValue = string | number | boolean | null | Date | ReturnJsonObject | ReturnJsonArray;
|
|
51
|
-
type ReturnJsonObject = {
|
|
52
|
-
[Key in string]?: ReturnJsonValue;
|
|
53
|
-
};
|
|
54
|
-
type ReturnJsonArray = ReturnJsonValue[];
|
|
55
58
|
/**
|
|
56
|
-
*
|
|
57
|
-
* "createdAt").
|
|
59
|
+
* Like `catchNotFoundOrThrow()`, but swallows the 404 only when the client names its resource by ID.
|
|
58
60
|
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* If the field cannot be converted to Date, it is left as is.
|
|
61
|
+
* A chained client without an ID, such as `run.dataset()` or `run.log()`, requests a path where a 404 can mean either
|
|
62
|
+
* the parent or the default sub-resource is missing. The response cannot tell the two apart, so the error propagates.
|
|
63
|
+
* @internal
|
|
64
64
|
*/
|
|
65
|
-
export declare function
|
|
65
|
+
export declare function catchNotFoundForResourceOrThrow(err: ApifyApiError, resourceId: string | undefined): void;
|
|
66
66
|
/**
|
|
67
67
|
* Helper function that converts array of webhooks to base64 string
|
|
68
68
|
*/
|
|
69
69
|
export declare function stringifyWebhooksToBase64(webhooks?: readonly WebhookUpdateData[]): string | undefined;
|
|
70
|
-
export interface CompressedValue {
|
|
71
|
-
data: Buffer;
|
|
72
|
-
encoding: 'br' | 'gzip';
|
|
73
|
-
}
|
|
74
70
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
71
|
+
* Encodes bytes as base64. `btoa()` takes a binary string, and the bytes are turned into one in slices,
|
|
72
|
+
* because spreading them all into a single `String.fromCharCode()` call overflows the argument limit on
|
|
73
|
+
* inputs of a few tens of kilobytes.
|
|
74
|
+
*/
|
|
75
|
+
export declare function bytesToBase64(bytes: Uint8Array): string;
|
|
76
|
+
/**
|
|
77
|
+
* Concatenates byte chunks into one array.
|
|
78
|
+
*/
|
|
79
|
+
export declare function concatBytes(chunks: Uint8Array[]): Uint8Array;
|
|
80
|
+
/**
|
|
81
|
+
* Views a request body as bytes: a string is UTF-8 encoded, binary values are viewed in place. Anything else
|
|
82
|
+
* - a stream, a `Blob`, form data - is `undefined`.
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
export declare function toBytes(value: unknown): Uint8Array | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Decides whether a request body with the given content type is worth compressing.
|
|
88
|
+
*
|
|
89
|
+
* Images, audio, video and archives already carry their own compression. Running them through brotli or gzip
|
|
90
|
+
* burns CPU, holds a second full copy of the body in memory, and usually produces output slightly larger than
|
|
91
|
+
* the input. Formats that are raw despite such a media type, for example `image/bmp` or `audio/wav`, are still
|
|
92
|
+
* compressed. A body with no content type is assumed to be compressible.
|
|
93
|
+
* @internal
|
|
77
94
|
*/
|
|
78
|
-
export declare function
|
|
95
|
+
export declare function isCompressibleContentType(contentType?: string): boolean;
|
|
79
96
|
/**
|
|
80
|
-
*
|
|
97
|
+
* Reads an environment variable, on runtimes that have them.
|
|
81
98
|
*/
|
|
82
|
-
export declare function
|
|
83
|
-
|
|
99
|
+
export declare function getEnv(name: string): string | undefined;
|
|
100
|
+
/**
|
|
101
|
+
* Returns the UTF-8 byte length of a string.
|
|
102
|
+
*/
|
|
103
|
+
export declare function utf8ByteLength(value: string): number;
|
|
104
|
+
/**
|
|
105
|
+
* Splits JSON-serialized items into consecutive batches of at most `maxCount` items, each of which fits into a JSON
|
|
106
|
+
* array body - the items joined by commas between brackets - of at most `maxByteLength` bytes. The `byteLength` of an
|
|
107
|
+
* item is the UTF-8 byte length of its serialization. An item too large for a body of its own still gets one, so a
|
|
108
|
+
* caller that cannot send such an item has to reject it beforehand.
|
|
109
|
+
*/
|
|
110
|
+
export declare function splitIntoJsonArrayBatches<T extends {
|
|
111
|
+
byteLength: number;
|
|
112
|
+
}>(items: readonly T[], { maxCount, maxByteLength }: {
|
|
113
|
+
maxCount: number;
|
|
114
|
+
maxByteLength: number;
|
|
115
|
+
}): T[][];
|
|
84
116
|
export declare function isBuffer(value: unknown): value is Buffer | ArrayBuffer | TypedArray;
|
|
85
117
|
export declare function isStream(value: unknown): value is Readable;
|
|
86
|
-
export declare function getVersionData(): {
|
|
87
|
-
version: string;
|
|
88
|
-
};
|
|
89
118
|
/**
|
|
90
|
-
* Helper class to create async iterators from paginated list endpoints
|
|
119
|
+
* Helper class to create async iterators from paginated list endpoints.
|
|
91
120
|
*/
|
|
92
121
|
export declare class RequestQueuePaginationIterator {
|
|
93
|
-
private
|
|
94
|
-
private readonly getPage;
|
|
95
|
-
private readonly limit?;
|
|
96
|
-
private readonly exclusiveStartId?;
|
|
97
|
-
private readonly cursor?;
|
|
122
|
+
#private;
|
|
98
123
|
constructor(options: RequestQueuePaginationIteratorOptions);
|
|
99
124
|
[Symbol.asyncIterator](): AsyncIterator<RequestQueueClientListRequestsResult>;
|
|
100
125
|
}
|
|
101
|
-
declare global {
|
|
102
|
-
export const BROWSER_BUILD: boolean | undefined;
|
|
103
|
-
export const VERSION: string | undefined;
|
|
104
|
-
}
|
|
105
126
|
/**
|
|
106
127
|
* Options for creating a pagination iterator.
|
|
107
128
|
*/
|
|
@@ -109,7 +130,6 @@ export interface RequestQueuePaginationIteratorOptions {
|
|
|
109
130
|
maxPageLimit: number;
|
|
110
131
|
getPage: (opts: RequestQueueClientListRequestsOptions) => Promise<RequestQueueClientListRequestsResult>;
|
|
111
132
|
limit?: number;
|
|
112
|
-
exclusiveStartId?: string;
|
|
113
133
|
cursor?: string;
|
|
114
134
|
}
|
|
115
135
|
/**
|
|
@@ -168,6 +188,16 @@ export interface PaginatedList<Data> extends PaginatedResponse<Data> {
|
|
|
168
188
|
/** Should the results be in descending order. */
|
|
169
189
|
desc: boolean;
|
|
170
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Key under which a page of dataset items carries the number of rows the API scanned to produce it, as a
|
|
193
|
+
* non-enumerable property that stays out of the page's public shape. The API applies `offset` and `limit` to the
|
|
194
|
+
* dataset's rows first and shapes the result afterwards: filters (`clean`, `skipEmpty`, `skipHidden`) drop items and
|
|
195
|
+
* `unwind` splits or drops them, so `items.length` can land on either side of the rows scanned. The
|
|
196
|
+
* `x-apify-pagination-count` header reports the scanned number, and the offset iterator advances and terminates by it
|
|
197
|
+
* alone. A page without the property falls back to `items.length`.
|
|
198
|
+
* @internal
|
|
199
|
+
*/
|
|
200
|
+
export declare const SCANNED_COUNT: unique symbol;
|
|
171
201
|
/**
|
|
172
202
|
* Type representing both a Promise of a paginated list and an async iterable.
|
|
173
203
|
*
|
|
@@ -196,12 +226,6 @@ export type DistributiveOptional<T, K extends keyof T> = T extends any ? Omit<T,
|
|
|
196
226
|
* Adds query parameters to a given URL based on the provided options object.
|
|
197
227
|
*/
|
|
198
228
|
export declare function applyQueryParamsToUrl(url: URL, options?: Record<string, string | number | boolean | string[] | undefined>): URL;
|
|
199
|
-
/**
|
|
200
|
-
* Builds a `[check, message]` pair to spread into `.refine()`, asserting that at most one of `keys`
|
|
201
|
-
* is present. Pass the options interface as `T`, so that a misspelled key is a type error.
|
|
202
|
-
* @internal
|
|
203
|
-
*/
|
|
204
|
-
export declare const mutuallyExclusive: <T extends object>(...keys: (keyof T & string)[]) => [(value: T) => boolean, string];
|
|
205
229
|
/**
|
|
206
230
|
* Percent-encodes a caller-supplied URL path segment so it cannot restructure the request path.
|
|
207
231
|
*
|
|
@@ -214,3 +238,8 @@ export declare function toPathSegment(value: string): string;
|
|
|
214
238
|
* `requests/batch` keep their separators; an array has each of its segments encoded individually.
|
|
215
239
|
*/
|
|
216
240
|
export declare function toPath(path: string | string[]): string;
|
|
241
|
+
/**
|
|
242
|
+
* Resolves after `millis`, or right away once `signal` aborts.
|
|
243
|
+
* @internal
|
|
244
|
+
*/
|
|
245
|
+
export declare function sleep(millis: number, signal?: AbortSignal): Promise<void>;
|