@commercelayer/cli-plugin-provisioning 2.0.10 → 2.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.
- package/bin/run.js +3 -3
- package/lib/base.d.ts +8 -8
- package/lib/base.js +224 -165
- package/lib/commands/provisioning/create.d.ts +2 -2
- package/lib/commands/provisioning/create.js +46 -34
- package/lib/commands/provisioning/delete.d.ts +2 -2
- package/lib/commands/provisioning/delete.js +25 -14
- package/lib/commands/provisioning/exec.d.ts +1 -1
- package/lib/commands/provisioning/exec.js +22 -13
- package/lib/commands/provisioning/fetch.d.ts +3 -3
- package/lib/commands/provisioning/fetch.js +25 -17
- package/lib/commands/provisioning/get.d.ts +3 -3
- package/lib/commands/provisioning/get.js +8 -8
- package/lib/commands/provisioning/list.d.ts +3 -3
- package/lib/commands/provisioning/list.js +42 -38
- package/lib/commands/provisioning/noc.d.ts +1 -1
- package/lib/commands/provisioning/noc.js +1 -1
- package/lib/commands/provisioning/relationship.d.ts +3 -3
- package/lib/commands/provisioning/relationship.js +39 -23
- package/lib/commands/provisioning/resources.d.ts +1 -1
- package/lib/commands/provisioning/resources.js +22 -12
- package/lib/commands/provisioning/retrieve.d.ts +2 -2
- package/lib/commands/provisioning/retrieve.js +36 -30
- package/lib/commands/provisioning/update.d.ts +3 -3
- package/lib/commands/provisioning/update.js +60 -41
- package/lib/csv.d.ts +1 -1
- package/lib/csv.js +30 -27
- package/lib/lang/curl.d.ts +2 -2
- package/lib/lang/curl.js +4 -2
- package/lib/lang/index.d.ts +5 -5
- package/lib/lang/index.js +26 -18
- package/lib/lang/node.d.ts +2 -2
- package/lib/lang/node.js +7 -7
- package/lib/lang/request.d.ts +3 -3
- package/lib/lang/request.js +37 -30
- package/lib/lang/ruby.d.ts +2 -2
- package/lib/lang/ruby.js +1 -1
- package/lib/output.d.ts +1 -1
- package/lib/output.js +3 -3
- package/lib/util/resources/available.js +33 -8
- package/lib/util/resources/build.js +35 -19
- package/lib/util/resources/index.d.ts +3 -3
- package/lib/util/resources/index.js +3 -3
- package/lib/util/timezones.js +127 -115
- package/oclif.manifest.json +1 -1
- package/package.json +85 -87
package/lib/lang/request.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getOperation = exports.getHeaders = exports.getRelationship = exports.getResource = exports.getFullUrl = exports.getMethod = exports.isRequestInterrupted = exports.addRequestReader = void 0;
|
|
4
|
-
const provisioning_sdk_1 = require("@commercelayer/provisioning-sdk");
|
|
5
4
|
const cli_core_1 = require("@commercelayer/cli-core");
|
|
5
|
+
const provisioning_sdk_1 = require("@commercelayer/provisioning-sdk");
|
|
6
6
|
class RequestInterrupted extends Error {
|
|
7
7
|
requestInterrupted = true;
|
|
8
8
|
constructor() {
|
|
9
|
-
super(
|
|
9
|
+
super("REQUEST_INTERRUPT");
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
const addRequestReader = (cl, interrupt = true) => {
|
|
13
13
|
const reader = {
|
|
14
14
|
id: -1,
|
|
15
|
-
request: { baseUrl:
|
|
15
|
+
request: { baseUrl: "", path: "/", method: "get", headers: {} },
|
|
16
16
|
};
|
|
17
17
|
function requestInterceptor(request) {
|
|
18
18
|
const c = request;
|
|
19
19
|
const x = reader.request;
|
|
20
20
|
x.path = c.url.pathname;
|
|
21
|
-
x.method = c.options.method ||
|
|
21
|
+
x.method = c.options.method || "GET";
|
|
22
22
|
x.headers = c.options.headers;
|
|
23
23
|
x.params = c.url.searchParams;
|
|
24
24
|
x.baseUrl = `${c.url.protocol}//${c.url.hostname}`;
|
|
@@ -33,7 +33,9 @@ const addRequestReader = (cl, interrupt = true) => {
|
|
|
33
33
|
};
|
|
34
34
|
exports.addRequestReader = addRequestReader;
|
|
35
35
|
const isRequestInterrupted = (error) => {
|
|
36
|
-
return (provisioning_sdk_1.CommerceLayerProvisioningStatic.isSdkError(error) &&
|
|
36
|
+
return (provisioning_sdk_1.CommerceLayerProvisioningStatic.isSdkError(error) &&
|
|
37
|
+
error.source instanceof RequestInterrupted &&
|
|
38
|
+
error.source.requestInterrupted);
|
|
37
39
|
};
|
|
38
40
|
exports.isRequestInterrupted = isRequestInterrupted;
|
|
39
41
|
const getMethod = (request) => {
|
|
@@ -42,36 +44,38 @@ const getMethod = (request) => {
|
|
|
42
44
|
exports.getMethod = getMethod;
|
|
43
45
|
const getFullUrl = (request) => {
|
|
44
46
|
let fullUrl = `${request.baseUrl}${request.path}`;
|
|
45
|
-
if (request.params &&
|
|
46
|
-
const qs = Object.entries(request.params)
|
|
47
|
+
if (request.params && Object.keys(request.params).length > 0) {
|
|
48
|
+
const qs = Object.entries(request.params)
|
|
49
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
50
|
+
.join("&");
|
|
47
51
|
fullUrl += `?${qs}`;
|
|
48
52
|
}
|
|
49
53
|
return fullUrl;
|
|
50
54
|
};
|
|
51
55
|
exports.getFullUrl = getFullUrl;
|
|
52
56
|
const getResource = (request) => {
|
|
53
|
-
const slashIdx = request.path.indexOf(
|
|
57
|
+
const slashIdx = request.path.indexOf("/");
|
|
54
58
|
if (slashIdx < 0)
|
|
55
59
|
return request.path;
|
|
56
60
|
return request.path.substring(0, slashIdx);
|
|
57
61
|
};
|
|
58
62
|
exports.getResource = getResource;
|
|
59
63
|
const getRelationship = (request) => {
|
|
60
|
-
const i1 = request.path.indexOf(
|
|
61
|
-
const il = request.path.lastIndexOf(
|
|
62
|
-
return
|
|
64
|
+
const i1 = request.path.indexOf("/");
|
|
65
|
+
const il = request.path.lastIndexOf("/");
|
|
66
|
+
return i1 === il ? undefined : request.path.substring(il + 1);
|
|
63
67
|
};
|
|
64
68
|
exports.getRelationship = getRelationship;
|
|
65
69
|
const getHeaders = (request) => {
|
|
66
70
|
/*
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
const headers = { ...request.headers }
|
|
72
|
+
for (const h of Object.keys(headers))
|
|
73
|
+
if (['User-Agent', 'Content-Length'].includes(h)) delete headers[h]
|
|
74
|
+
return headers
|
|
75
|
+
*/
|
|
72
76
|
return {
|
|
73
77
|
Accept: request.headers.Accept,
|
|
74
|
-
|
|
78
|
+
"Content-Type": request.headers["Content-Type"],
|
|
75
79
|
Authorization: request.headers.Authorization,
|
|
76
80
|
};
|
|
77
81
|
};
|
|
@@ -79,30 +83,33 @@ exports.getHeaders = getHeaders;
|
|
|
79
83
|
const getOperation = (request) => {
|
|
80
84
|
const res = (0, exports.getResource)(request);
|
|
81
85
|
const rel = (0, exports.getRelationship)(request);
|
|
82
|
-
const id = request.path
|
|
86
|
+
const id = request.path
|
|
87
|
+
.replace(res, "")
|
|
88
|
+
.replace(rel || "", "")
|
|
89
|
+
.replace(/\//g, "");
|
|
83
90
|
const method = request.method.toLowerCase();
|
|
84
|
-
const singleton = [
|
|
91
|
+
const singleton = ["application", "organization"].includes(res);
|
|
85
92
|
const op = {
|
|
86
93
|
method,
|
|
87
|
-
name:
|
|
94
|
+
name: "retrieve",
|
|
88
95
|
resource: res,
|
|
89
96
|
relationship: rel,
|
|
90
97
|
id,
|
|
91
98
|
};
|
|
92
99
|
if (op.relationship)
|
|
93
|
-
op.oneToMany =
|
|
94
|
-
if (op.method ===
|
|
100
|
+
op.oneToMany = cli_core_1.clText.pluralize(op.relationship) === op.relationship;
|
|
101
|
+
if (op.method === "get") {
|
|
95
102
|
if (singleton || (op.id && !op.relationship))
|
|
96
|
-
op.name =
|
|
103
|
+
op.name = "retrieve";
|
|
97
104
|
else
|
|
98
|
-
op.name = rel ||
|
|
105
|
+
op.name = rel || "list";
|
|
99
106
|
}
|
|
100
|
-
else if (method ===
|
|
101
|
-
op.name =
|
|
102
|
-
else if (method ===
|
|
103
|
-
op.name =
|
|
104
|
-
else if (method ===
|
|
105
|
-
op.name =
|
|
107
|
+
else if (method === "patch")
|
|
108
|
+
op.name = "update";
|
|
109
|
+
else if (method === "post")
|
|
110
|
+
op.name = "create";
|
|
111
|
+
else if (method === "delete")
|
|
112
|
+
op.name = "delete";
|
|
106
113
|
return op;
|
|
107
114
|
};
|
|
108
115
|
exports.getOperation = getOperation;
|
package/lib/lang/ruby.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { QueryParams } from
|
|
2
|
-
import type { RequestData } from
|
|
1
|
+
import type { QueryParams } from "@commercelayer/provisioning-sdk";
|
|
2
|
+
import type { RequestData } from "./request";
|
|
3
3
|
declare const buildRuby: (_request: RequestData, _params?: QueryParams) => string;
|
|
4
4
|
export { buildRuby };
|
package/lib/lang/ruby.js
CHANGED
package/lib/output.d.ts
CHANGED
|
@@ -2,4 +2,4 @@ declare const formatOutput: (out: any, flags?: any, { color }?: {
|
|
|
2
2
|
color?: boolean | undefined;
|
|
3
3
|
}) => string;
|
|
4
4
|
declare const exportOutput: (output: any, flags: any, filePath: string) => Promise<boolean>;
|
|
5
|
-
export {
|
|
5
|
+
export { exportOutput, formatOutput };
|
package/lib/output.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
3
|
+
exports.formatOutput = exports.exportOutput = void 0;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
5
|
const cli_core_1 = require("@commercelayer/cli-core");
|
|
6
6
|
const formatOutput = (out, flags, { color = true } = {}) => {
|
|
7
7
|
return cli_core_1.clOutput.formatOutput(out, flags, { color });
|
|
@@ -9,7 +9,7 @@ const formatOutput = (out, flags, { color = true } = {}) => {
|
|
|
9
9
|
exports.formatOutput = formatOutput;
|
|
10
10
|
const exportOutput = async (output, flags, filePath) => {
|
|
11
11
|
const out = formatOutput(output, flags, { color: false });
|
|
12
|
-
(0,
|
|
12
|
+
(0, node_fs_1.writeFileSync)(filePath, out);
|
|
13
13
|
return await Promise.resolve(true);
|
|
14
14
|
};
|
|
15
15
|
exports.exportOutput = exportOutput;
|
|
@@ -1,13 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const RESOURCES = [
|
|
4
|
-
{
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
{
|
|
11
|
-
|
|
4
|
+
{
|
|
5
|
+
name: "api_credential",
|
|
6
|
+
type: "api_credentials",
|
|
7
|
+
api: "api_credentials",
|
|
8
|
+
model: "ApiCredential",
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: "application_membership",
|
|
12
|
+
type: "application_memberships",
|
|
13
|
+
api: "application_memberships",
|
|
14
|
+
model: "ApplicationMembership",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: "membership",
|
|
18
|
+
type: "memberships",
|
|
19
|
+
api: "memberships",
|
|
20
|
+
model: "Membership",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "organization",
|
|
24
|
+
type: "organizations",
|
|
25
|
+
api: "organizations",
|
|
26
|
+
model: "Organization",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: "permission",
|
|
30
|
+
type: "permissions",
|
|
31
|
+
api: "permissions",
|
|
32
|
+
model: "Permission",
|
|
33
|
+
},
|
|
34
|
+
{ name: "role", type: "roles", api: "roles", model: "Role" },
|
|
35
|
+
{ name: "user", type: "users", api: "user", model: "User", singleton: true },
|
|
36
|
+
{ name: "version", type: "versions", api: "versions", model: "Version" },
|
|
12
37
|
];
|
|
13
38
|
exports.default = RESOURCES;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable no-console */
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const fs_1 = require("fs");
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
6
|
const cli_core_1 = require("@commercelayer/cli-core");
|
|
7
|
+
const provisioning_sdk_1 = require("@commercelayer/provisioning-sdk");
|
|
7
8
|
const parseResourcesSdk = async () => {
|
|
8
|
-
const resList = provisioning_sdk_1.CommerceLayerProvisioningStatic.resources().map(r => {
|
|
9
|
+
const resList = provisioning_sdk_1.CommerceLayerProvisioningStatic.resources().map((r) => {
|
|
9
10
|
const res = r;
|
|
10
11
|
const singular = cli_core_1.clText.singularize(res);
|
|
11
12
|
const item = {
|
|
12
13
|
name: singular,
|
|
13
14
|
type: res,
|
|
14
|
-
api: provisioning_sdk_1.CommerceLayerProvisioningStatic.isSingleton(res)
|
|
15
|
+
api: provisioning_sdk_1.CommerceLayerProvisioningStatic.isSingleton(res)
|
|
16
|
+
? cli_core_1.clText.singularize(res)
|
|
17
|
+
: res,
|
|
15
18
|
model: cli_core_1.clText.camelize(singular),
|
|
16
19
|
singleton: provisioning_sdk_1.CommerceLayerProvisioningStatic.isSingleton(res),
|
|
17
20
|
};
|
|
@@ -19,28 +22,41 @@ const parseResourcesSdk = async () => {
|
|
|
19
22
|
});
|
|
20
23
|
return resList;
|
|
21
24
|
};
|
|
22
|
-
const exportResources = async ({ source =
|
|
23
|
-
if (source !==
|
|
25
|
+
const exportResources = async ({ source = "sdk", variable = false, name = "resources", array = false, tab = false, immutable = false, } = {}) => {
|
|
26
|
+
if (source !== "sdk")
|
|
24
27
|
throw new Error(`Only 'sdk' source is currently supported`);
|
|
25
28
|
const resources = await parseResourcesSdk();
|
|
26
|
-
console.log(
|
|
27
|
-
const lines = [
|
|
29
|
+
console.log("Parsed resources from source: " + source);
|
|
30
|
+
const lines = [""];
|
|
28
31
|
if (variable || array)
|
|
29
|
-
lines.push((variable ? `const ${name} = ` :
|
|
30
|
-
const resLines = resources.map(res => {
|
|
31
|
-
let item = `${tab ?
|
|
32
|
+
lines.push((variable ? `const ${name} = ` : "") + (array ? "[" : ""));
|
|
33
|
+
const resLines = resources.map((res) => {
|
|
34
|
+
let item = `${tab ? "\t" : ""}{ `;
|
|
32
35
|
item += `name: '${res.name}', type: '${res.type}', api: '${res.api}', model: '${res.model}'`;
|
|
33
36
|
if (res.singleton)
|
|
34
|
-
item +=
|
|
35
|
-
item +=
|
|
37
|
+
item += ", singleton: true";
|
|
38
|
+
item += " },";
|
|
36
39
|
return item;
|
|
37
40
|
});
|
|
38
41
|
lines.push(...resLines);
|
|
39
42
|
if (array)
|
|
40
|
-
lines.push(`]${immutable ?
|
|
43
|
+
lines.push(`]${immutable ? " as const" : ""}\n`);
|
|
41
44
|
lines.push(`\n\nexport default ${name}\n`);
|
|
42
|
-
(0,
|
|
43
|
-
|
|
45
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(__dirname, "available.ts"), lines.join("\n"), {
|
|
46
|
+
encoding: "utf-8",
|
|
47
|
+
});
|
|
48
|
+
console.log("Generated resource list");
|
|
44
49
|
};
|
|
45
|
-
const source =
|
|
46
|
-
|
|
50
|
+
const source = process.argv.length > 2
|
|
51
|
+
? ["sdk", "online"].includes(process.argv[2])
|
|
52
|
+
? process.argv[2]
|
|
53
|
+
: "sdk"
|
|
54
|
+
: undefined;
|
|
55
|
+
void exportResources({
|
|
56
|
+
source,
|
|
57
|
+
variable: true,
|
|
58
|
+
name: "RESOURCES",
|
|
59
|
+
array: true,
|
|
60
|
+
tab: true,
|
|
61
|
+
immutable: true,
|
|
62
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ResourceTypeLock } from
|
|
1
|
+
import type { ResourceTypeLock } from "@commercelayer/provisioning-sdk";
|
|
2
2
|
interface ApiResource {
|
|
3
3
|
name: string;
|
|
4
4
|
type: ResourceTypeLock;
|
|
@@ -8,6 +8,6 @@ interface ApiResource {
|
|
|
8
8
|
}
|
|
9
9
|
declare const findResource: (res: string, { singular }?: {
|
|
10
10
|
singular?: boolean | undefined;
|
|
11
|
-
}) =>
|
|
11
|
+
}) => ApiResource | undefined;
|
|
12
12
|
declare const resourceList: (field: "name" | "api" | "model") => string[];
|
|
13
|
-
export {
|
|
13
|
+
export { type ApiResource as Resource, findResource, resourceList };
|
|
@@ -8,12 +8,12 @@ const findResource = (res, { singular = false } = {}) => {
|
|
|
8
8
|
if (res === undefined)
|
|
9
9
|
return undefined;
|
|
10
10
|
const lowRes = res.toLowerCase();
|
|
11
|
-
return resources.find(r => {
|
|
12
|
-
return
|
|
11
|
+
return resources.find((r) => {
|
|
12
|
+
return lowRes === r.type || (singular && lowRes === r.name);
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
exports.findResource = findResource;
|
|
16
16
|
const resourceList = (field) => {
|
|
17
|
-
return resources.map(r => r[field]);
|
|
17
|
+
return resources.map((r) => r[field]);
|
|
18
18
|
};
|
|
19
19
|
exports.resourceList = resourceList;
|
package/lib/util/timezones.js
CHANGED
|
@@ -2,119 +2,131 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.timezones = void 0;
|
|
4
4
|
exports.timezones = [
|
|
5
|
-
{ value:
|
|
6
|
-
{ value:
|
|
7
|
-
{ value:
|
|
8
|
-
{ value:
|
|
9
|
-
{ value:
|
|
10
|
-
{
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
{ value:
|
|
15
|
-
{ value:
|
|
16
|
-
{ value:
|
|
17
|
-
{ value:
|
|
18
|
-
{ value:
|
|
19
|
-
{ value:
|
|
20
|
-
{ value:
|
|
21
|
-
{ value:
|
|
22
|
-
{ value:
|
|
23
|
-
{
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
{ value:
|
|
28
|
-
{ value:
|
|
29
|
-
{ value:
|
|
30
|
-
{
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
{ value:
|
|
35
|
-
{ value:
|
|
36
|
-
{ value:
|
|
37
|
-
{ value:
|
|
38
|
-
{ value:
|
|
39
|
-
{ value:
|
|
40
|
-
{
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
{ value:
|
|
45
|
-
{ value:
|
|
46
|
-
{ value:
|
|
47
|
-
{ value:
|
|
48
|
-
{ value:
|
|
49
|
-
{ value:
|
|
50
|
-
{ value:
|
|
51
|
-
{ value:
|
|
52
|
-
{ value:
|
|
53
|
-
{ value:
|
|
54
|
-
{ value:
|
|
55
|
-
{ value:
|
|
56
|
-
{ value:
|
|
57
|
-
{ value:
|
|
58
|
-
{ value:
|
|
59
|
-
{ value:
|
|
60
|
-
{ value:
|
|
61
|
-
{ value:
|
|
62
|
-
{ value:
|
|
63
|
-
{ value:
|
|
64
|
-
{ value:
|
|
65
|
-
{ value:
|
|
66
|
-
{ value:
|
|
67
|
-
{ value:
|
|
68
|
-
{ value:
|
|
69
|
-
{ value:
|
|
70
|
-
{ value:
|
|
71
|
-
{ value:
|
|
72
|
-
{ value:
|
|
73
|
-
{ value:
|
|
74
|
-
{ value:
|
|
75
|
-
{ value:
|
|
76
|
-
{ value:
|
|
77
|
-
{ value:
|
|
78
|
-
{ value:
|
|
79
|
-
{ value:
|
|
80
|
-
{ value:
|
|
81
|
-
{ value:
|
|
82
|
-
{ value:
|
|
83
|
-
{ value:
|
|
84
|
-
{ value:
|
|
85
|
-
{ value:
|
|
86
|
-
{ value:
|
|
87
|
-
{ value:
|
|
88
|
-
{ value:
|
|
89
|
-
{ value:
|
|
90
|
-
{ value:
|
|
91
|
-
{ value:
|
|
92
|
-
{ value:
|
|
93
|
-
{ value:
|
|
94
|
-
{ value:
|
|
95
|
-
{ value:
|
|
96
|
-
{ value:
|
|
97
|
-
{ value:
|
|
98
|
-
{ value:
|
|
99
|
-
{ value:
|
|
100
|
-
{ value:
|
|
101
|
-
{ value:
|
|
102
|
-
{ value:
|
|
103
|
-
{ value:
|
|
104
|
-
{ value:
|
|
105
|
-
{ value:
|
|
106
|
-
{ value:
|
|
107
|
-
{ value:
|
|
108
|
-
{ value:
|
|
109
|
-
{ value:
|
|
110
|
-
{ value:
|
|
111
|
-
{ value:
|
|
112
|
-
{ value:
|
|
113
|
-
{ value:
|
|
114
|
-
{ value:
|
|
115
|
-
{ value:
|
|
116
|
-
{ value:
|
|
117
|
-
{ value:
|
|
118
|
-
{ value:
|
|
119
|
-
{ value:
|
|
5
|
+
{ value: "Etc/GMT+12", label: "(GMT-12:00) International Date Line West" },
|
|
6
|
+
{ value: "Pacific/Pago_Pago", label: "(GMT-11:00) American Samoa" },
|
|
7
|
+
{ value: "Pacific/Midway", label: "(GMT-11:00) Midway Island" },
|
|
8
|
+
{ value: "Pacific/Honolulu", label: "(GMT-10:00) Hawaii" },
|
|
9
|
+
{ value: "America/Anchorage", label: "(GMT-09:00) Alaska" },
|
|
10
|
+
{
|
|
11
|
+
value: "America/Los_Angeles",
|
|
12
|
+
label: "(GMT-08:00) Pacific Time (US & Canada)",
|
|
13
|
+
},
|
|
14
|
+
{ value: "America/Tijuana", label: "(GMT-08:00) Tijuana" },
|
|
15
|
+
{ value: "America/Phoenix", label: "(GMT-07:00) Arizona" },
|
|
16
|
+
{ value: "America/Denver", label: "(GMT-07:00) Mountain Time (US & Canada)" },
|
|
17
|
+
{ value: "America/Chihuahua", label: "(GMT-07:00) Chihuahua" },
|
|
18
|
+
{ value: "America/Mazatlan", label: "(GMT-07:00) Mazatlan" },
|
|
19
|
+
{ value: "America/Chicago", label: "(GMT-06:00) Central Time (US & Canada)" },
|
|
20
|
+
{ value: "America/Regina", label: "(GMT-06:00) Saskatchewan" },
|
|
21
|
+
{ value: "America/Mexico_City", label: "(GMT-06:00) Mexico City" },
|
|
22
|
+
{ value: "America/Monterrey", label: "(GMT-06:00) Monterrey" },
|
|
23
|
+
{
|
|
24
|
+
value: "America/New_York",
|
|
25
|
+
label: "(GMT-05:00) Eastern Time (US & Canada)",
|
|
26
|
+
},
|
|
27
|
+
{ value: "America/Bogota", label: "(GMT-05:00) Bogota" },
|
|
28
|
+
{ value: "America/Lima", label: "(GMT-05:00) Lima" },
|
|
29
|
+
{ value: "America/Rio_Branco", label: "(GMT-05:00) Rio Branco" },
|
|
30
|
+
{
|
|
31
|
+
value: "America/Indiana/Indianapolis",
|
|
32
|
+
label: "(GMT-05:00) Indiana (East)",
|
|
33
|
+
},
|
|
34
|
+
{ value: "America/Caracas", label: "(GMT-04:30) Caracas" },
|
|
35
|
+
{ value: "America/Halifax", label: "(GMT-04:00) Atlantic Time (Canada)" },
|
|
36
|
+
{ value: "America/Manaus", label: "(GMT-04:00) Manaus" },
|
|
37
|
+
{ value: "America/Santiago", label: "(GMT-04:00) Santiago" },
|
|
38
|
+
{ value: "America/La_Paz", label: "(GMT-04:00) La Paz" },
|
|
39
|
+
{ value: "America/St_Johns", label: "(GMT-03:30) Newfoundland" },
|
|
40
|
+
{
|
|
41
|
+
value: "America/Argentina/Buenos_Aires",
|
|
42
|
+
label: "(GMT-03:00) Buenos Aires",
|
|
43
|
+
},
|
|
44
|
+
{ value: "America/Sao_Paulo", label: "(GMT-03:00) Brasilia" },
|
|
45
|
+
{ value: "America/Godthab", label: "(GMT-03:00) Greenland" },
|
|
46
|
+
{ value: "America/Montevideo", label: "(GMT-03:00) Montevideo" },
|
|
47
|
+
{ value: "Atlantic/South_Georgia", label: "(GMT-02:00) Mid-Atlantic" },
|
|
48
|
+
{ value: "Atlantic/Azores", label: "(GMT-01:00) Azores" },
|
|
49
|
+
{ value: "Atlantic/Cape_Verde", label: "(GMT-01:00) Cape Verde Is." },
|
|
50
|
+
{ value: "Europe/Dublin", label: "(GMT+00:00) Dublin" },
|
|
51
|
+
{ value: "Europe/Lisbon", label: "(GMT+00:00) Lisbon" },
|
|
52
|
+
{ value: "Europe/London", label: "(GMT+00:00) London" },
|
|
53
|
+
{ value: "Africa/Monrovia", label: "(GMT+00:00) Monrovia" },
|
|
54
|
+
{ value: "Etc/UTC", label: "(GMT+00:00) UTC" },
|
|
55
|
+
{ value: "Europe/Amsterdam", label: "(GMT+01:00) Amsterdam" },
|
|
56
|
+
{ value: "Europe/Belgrade", label: "(GMT+01:00) Belgrade" },
|
|
57
|
+
{ value: "Europe/Berlin", label: "(GMT+01:00) Berlin" },
|
|
58
|
+
{ value: "Europe/Bratislava", label: "(GMT+01:00) Bratislava" },
|
|
59
|
+
{ value: "Europe/Brussels", label: "(GMT+01:00) Brussels" },
|
|
60
|
+
{ value: "Europe/Budapest", label: "(GMT+01:00) Budapest" },
|
|
61
|
+
{ value: "Europe/Copenhagen", label: "(GMT+01:00) Copenhagen" },
|
|
62
|
+
{ value: "Europe/Ljubljana", label: "(GMT+01:00) Ljubljana" },
|
|
63
|
+
{ value: "Europe/Madrid", label: "(GMT+01:00) Madrid" },
|
|
64
|
+
{ value: "Europe/Paris", label: "(GMT+01:00) Paris" },
|
|
65
|
+
{ value: "Europe/Prague", label: "(GMT+01:00) Prague" },
|
|
66
|
+
{ value: "Europe/Rome", label: "(GMT+01:00) Rome" },
|
|
67
|
+
{ value: "Europe/Sarajevo", label: "(GMT+01:00) Sarajevo" },
|
|
68
|
+
{ value: "Europe/Skopje", label: "(GMT+01:00) Skopje" },
|
|
69
|
+
{ value: "Europe/Stockholm", label: "(GMT+01:00) Stockholm" },
|
|
70
|
+
{ value: "Europe/Vienna", label: "(GMT+01:00) Vienna" },
|
|
71
|
+
{ value: "Europe/Warsaw", label: "(GMT+01:00) Warsaw" },
|
|
72
|
+
{ value: "Europe/Zagreb", label: "(GMT+01:00) Zagreb" },
|
|
73
|
+
{ value: "Europe/Athens", label: "(GMT+02:00) Athens" },
|
|
74
|
+
{ value: "Europe/Bucharest", label: "(GMT+02:00) Bucharest" },
|
|
75
|
+
{ value: "Africa/Cairo", label: "(GMT+02:00) Cairo" },
|
|
76
|
+
{ value: "Africa/Harare", label: "(GMT+02:00) Harare" },
|
|
77
|
+
{ value: "Europe/Helsinki", label: "(GMT+02:00) Helsinki" },
|
|
78
|
+
{ value: "Europe/Istanbul", label: "(GMT+02:00) Istanbul" },
|
|
79
|
+
{ value: "Asia/Jerusalem", label: "(GMT+02:00) Jerusalem" },
|
|
80
|
+
{ value: "Europe/Kiev", label: "(GMT+02:00) Kyiv" },
|
|
81
|
+
{ value: "Europe/Minsk", label: "(GMT+02:00) Minsk" },
|
|
82
|
+
{ value: "Europe/Riga", label: "(GMT+02:00) Riga" },
|
|
83
|
+
{ value: "Europe/Sofia", label: "(GMT+02:00) Sofia" },
|
|
84
|
+
{ value: "Europe/Tallinn", label: "(GMT+02:00) Tallinn" },
|
|
85
|
+
{ value: "Europe/Vilnius", label: "(GMT+02:00) Vilnius" },
|
|
86
|
+
{ value: "Asia/Baghdad", label: "(GMT+03:00) Baghdad" },
|
|
87
|
+
{ value: "Asia/Kuwait", label: "(GMT+03:00) Kuwait" },
|
|
88
|
+
{ value: "Europe/Moscow", label: "(GMT+03:00) Moscow" },
|
|
89
|
+
{ value: "Africa/Nairobi", label: "(GMT+03:00) Nairobi" },
|
|
90
|
+
{ value: "Asia/Riyadh", label: "(GMT+03:00) Riyadh" },
|
|
91
|
+
{ value: "Europe/Volgograd", label: "(GMT+03:00) Volgograd" },
|
|
92
|
+
{ value: "Asia/Tehran", label: "(GMT+03:30) Tehran" },
|
|
93
|
+
{ value: "Asia/Muscat", label: "(GMT+04:00) Muscat" },
|
|
94
|
+
{ value: "Asia/Baku", label: "(GMT+04:00) Baku" },
|
|
95
|
+
{ value: "Asia/Yerevan", label: "(GMT+04:00) Yerevan" },
|
|
96
|
+
{ value: "Asia/Kabul", label: "(GMT+04:30) Kabul" },
|
|
97
|
+
{ value: "Asia/Yekaterinburg", label: "(GMT+05:00) Ekaterinburg" },
|
|
98
|
+
{ value: "Asia/Karachi", label: "(GMT+05:00) Karachi" },
|
|
99
|
+
{ value: "Asia/Tashkent", label: "(GMT+05:00) Tashkent" },
|
|
100
|
+
{ value: "Asia/Kolkata", label: "(GMT+05:30) Kolkata" },
|
|
101
|
+
{ value: "Asia/Colombo", label: "(GMT+05:30) Sri Jayawardenepura" },
|
|
102
|
+
{ value: "Asia/Katmandu", label: "(GMT+05:45) Kathmandu" },
|
|
103
|
+
{ value: "Asia/Almaty", label: "(GMT+06:00) Almaty" },
|
|
104
|
+
{ value: "Asia/Dhaka", label: "(GMT+06:00) Dhaka" },
|
|
105
|
+
{ value: "Asia/Urumqi", label: "(GMT+06:00) Urumqi" },
|
|
106
|
+
{ value: "Asia/Rangoon", label: "(GMT+06:30) Rangoon" },
|
|
107
|
+
{ value: "Asia/Bangkok", label: "(GMT+07:00) Bangkok" },
|
|
108
|
+
{ value: "Asia/Jakarta", label: "(GMT+07:00) Jakarta" },
|
|
109
|
+
{ value: "Asia/Krasnoyarsk", label: "(GMT+07:00) Krasnoyarsk" },
|
|
110
|
+
{ value: "Asia/Hong_Kong", label: "(GMT+08:00) Hong Kong" },
|
|
111
|
+
{ value: "Asia/Kuala_Lumpur", label: "(GMT+08:00) Kuala Lumpur" },
|
|
112
|
+
{ value: "Australia/Perth", label: "(GMT+08:00) Perth" },
|
|
113
|
+
{ value: "Asia/Singapore", label: "(GMT+08:00) Singapore" },
|
|
114
|
+
{ value: "Asia/Taipei", label: "(GMT+08:00) Taipei" },
|
|
115
|
+
{ value: "Asia/Ulaanbaatar", label: "(GMT+08:00) Ulaan Bataar" },
|
|
116
|
+
{ value: "Asia/Irkutsk", label: "(GMT+08:00) Irkutsk" },
|
|
117
|
+
{ value: "Asia/Tokyo", label: "(GMT+09:00) Tokyo" },
|
|
118
|
+
{ value: "Asia/Seoul", label: "(GMT+09:00) Seoul" },
|
|
119
|
+
{ value: "Asia/Yakutsk", label: "(GMT+09:00) Yakutsk" },
|
|
120
|
+
{ value: "Australia/Adelaide", label: "(GMT+09:30) Adelaide" },
|
|
121
|
+
{ value: "Australia/Darwin", label: "(GMT+09:30) Darwin" },
|
|
122
|
+
{ value: "Australia/Brisbane", label: "(GMT+10:00) Brisbane" },
|
|
123
|
+
{ value: "Australia/Sydney", label: "(GMT+10:00) Sydney" },
|
|
124
|
+
{ value: "Pacific/Guam", label: "(GMT+10:00) Guam" },
|
|
125
|
+
{ value: "Australia/Hobart", label: "(GMT+10:00) Hobart" },
|
|
126
|
+
{ value: "Asia/Vladivostok", label: "(GMT+10:00) Vladivostok" },
|
|
127
|
+
{ value: "Pacific/Noumea", label: "(GMT+11:00) New Caledonia" },
|
|
128
|
+
{ value: "Asia/Magadan", label: "(GMT+11:00) Magadan" },
|
|
129
|
+
{ value: "Pacific/Fiji", label: "(GMT+12:00) Fiji" },
|
|
130
|
+
{ value: "Asia/Kamchatka", label: "(GMT+12:00) Kamchatka" },
|
|
131
|
+
{ value: "Pacific/Auckland", label: "(GMT+12:00) Auckland" },
|
|
120
132
|
];
|