@salesforce/core 3.31.7 → 3.31.8
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/LICENSE.txt +11 -11
- package/README.md +222 -222
- package/lib/config/aliasesConfig.d.ts +12 -12
- package/lib/config/aliasesConfig.js +27 -27
- package/lib/config/authInfoConfig.d.ts +19 -19
- package/lib/config/authInfoConfig.js +34 -34
- package/lib/config/config.d.ts +311 -311
- package/lib/config/config.js +574 -574
- package/lib/config/configAggregator.d.ts +232 -232
- package/lib/config/configAggregator.js +379 -379
- package/lib/config/configFile.d.ts +199 -199
- package/lib/config/configFile.js +340 -340
- package/lib/config/configGroup.d.ts +141 -141
- package/lib/config/configGroup.js +224 -224
- package/lib/config/configStore.d.ts +241 -241
- package/lib/config/configStore.js +352 -352
- package/lib/config/envVars.d.ts +101 -101
- package/lib/config/envVars.js +456 -456
- package/lib/config/orgUsersConfig.d.ts +31 -31
- package/lib/config/orgUsersConfig.js +41 -41
- package/lib/config/sandboxOrgConfig.d.ts +37 -37
- package/lib/config/sandboxOrgConfig.js +50 -50
- package/lib/config/sandboxProcessCache.d.ts +16 -16
- package/lib/config/sandboxProcessCache.js +37 -37
- package/lib/config/tokensConfig.d.ts +10 -10
- package/lib/config/tokensConfig.js +28 -28
- package/lib/config/ttlConfig.d.ts +34 -34
- package/lib/config/ttlConfig.js +54 -54
- package/lib/crypto/crypto.d.ts +54 -54
- package/lib/crypto/crypto.js +220 -220
- package/lib/crypto/keyChain.d.ts +8 -8
- package/lib/crypto/keyChain.js +61 -61
- package/lib/crypto/keyChainImpl.d.ts +116 -116
- package/lib/crypto/keyChainImpl.js +486 -486
- package/lib/crypto/secureBuffer.d.ts +46 -46
- package/lib/crypto/secureBuffer.js +82 -82
- package/lib/deviceOauthService.d.ts +71 -71
- package/lib/deviceOauthService.js +191 -191
- package/lib/exported.d.ts +38 -38
- package/lib/exported.js +118 -118
- package/lib/global.d.ts +70 -70
- package/lib/global.js +109 -109
- package/lib/lifecycleEvents.d.ts +93 -93
- package/lib/lifecycleEvents.js +188 -188
- package/lib/logger.d.ts +381 -381
- package/lib/logger.js +734 -734
- package/lib/messages.d.ts +291 -291
- package/lib/messages.js +543 -543
- package/lib/org/authInfo.d.ts +344 -344
- package/lib/org/authInfo.js +892 -892
- package/lib/org/authRemover.d.ts +88 -88
- package/lib/org/authRemover.js +182 -182
- package/lib/org/connection.d.ts +197 -197
- package/lib/org/connection.js +395 -395
- package/lib/org/index.d.ts +6 -6
- package/lib/org/index.js +28 -28
- package/lib/org/org.d.ts +558 -558
- package/lib/org/org.js +1267 -1267
- package/lib/org/orgConfigProperties.d.ts +69 -69
- package/lib/org/orgConfigProperties.js +136 -136
- package/lib/org/permissionSetAssignment.d.ts +35 -35
- package/lib/org/permissionSetAssignment.js +125 -125
- package/lib/org/scratchOrgCache.d.ts +20 -20
- package/lib/org/scratchOrgCache.js +32 -32
- package/lib/org/scratchOrgCreate.d.ts +54 -54
- package/lib/org/scratchOrgCreate.js +216 -216
- package/lib/org/scratchOrgErrorCodes.d.ts +10 -10
- package/lib/org/scratchOrgErrorCodes.js +88 -88
- package/lib/org/scratchOrgFeatureDeprecation.d.ts +26 -26
- package/lib/org/scratchOrgFeatureDeprecation.js +109 -109
- package/lib/org/scratchOrgInfoApi.d.ts +68 -68
- package/lib/org/scratchOrgInfoApi.js +413 -413
- package/lib/org/scratchOrgInfoGenerator.d.ts +64 -64
- package/lib/org/scratchOrgInfoGenerator.js +241 -241
- package/lib/org/scratchOrgLifecycleEvents.d.ts +10 -10
- package/lib/org/scratchOrgLifecycleEvents.js +40 -40
- package/lib/org/scratchOrgSettingsGenerator.d.ts +78 -78
- package/lib/org/scratchOrgSettingsGenerator.js +276 -276
- package/lib/org/scratchOrgTypes.d.ts +43 -43
- package/lib/org/scratchOrgTypes.js +8 -8
- package/lib/org/user.d.ts +187 -187
- package/lib/org/user.js +448 -448
- package/lib/schema/printer.d.ts +79 -79
- package/lib/schema/printer.js +260 -260
- package/lib/schema/validator.d.ts +70 -70
- package/lib/schema/validator.js +169 -169
- package/lib/sfError.d.ts +73 -73
- package/lib/sfError.js +136 -136
- package/lib/sfProject.d.ts +357 -357
- package/lib/sfProject.js +671 -671
- package/lib/stateAggregator/accessors/aliasAccessor.d.ts +98 -98
- package/lib/stateAggregator/accessors/aliasAccessor.js +145 -145
- package/lib/stateAggregator/accessors/orgAccessor.d.ts +101 -101
- package/lib/stateAggregator/accessors/orgAccessor.js +240 -240
- package/lib/stateAggregator/accessors/sandboxAccessor.d.ts +8 -8
- package/lib/stateAggregator/accessors/sandboxAccessor.js +27 -27
- package/lib/stateAggregator/accessors/tokenAccessor.d.ts +63 -63
- package/lib/stateAggregator/accessors/tokenAccessor.js +79 -79
- package/lib/stateAggregator/index.d.ts +4 -4
- package/lib/stateAggregator/index.js +26 -26
- package/lib/stateAggregator/stateAggregator.d.ts +25 -25
- package/lib/stateAggregator/stateAggregator.js +45 -45
- package/lib/status/myDomainResolver.d.ts +66 -66
- package/lib/status/myDomainResolver.js +124 -124
- package/lib/status/pollingClient.d.ts +85 -85
- package/lib/status/pollingClient.js +115 -115
- package/lib/status/streamingClient.d.ts +244 -244
- package/lib/status/streamingClient.js +436 -436
- package/lib/status/types.d.ts +89 -89
- package/lib/status/types.js +17 -17
- package/lib/testSetup.d.ts +553 -553
- package/lib/testSetup.js +871 -871
- package/lib/util/cache.d.ts +11 -11
- package/lib/util/cache.js +69 -69
- package/lib/util/checkLightningDomain.d.ts +1 -1
- package/lib/util/checkLightningDomain.js +28 -28
- package/lib/util/directoryWriter.d.ts +12 -12
- package/lib/util/directoryWriter.js +53 -53
- package/lib/util/getJwtAudienceUrl.d.ts +4 -4
- package/lib/util/getJwtAudienceUrl.js +18 -18
- package/lib/util/internal.d.ts +58 -58
- package/lib/util/internal.js +118 -118
- package/lib/util/jsonXmlTools.d.ts +14 -14
- package/lib/util/jsonXmlTools.js +38 -38
- package/lib/util/mapKeys.d.ts +14 -14
- package/lib/util/mapKeys.js +51 -51
- package/lib/util/sfdc.d.ts +52 -52
- package/lib/util/sfdc.js +85 -85
- package/lib/util/sfdcUrl.d.ts +72 -72
- package/lib/util/sfdcUrl.js +215 -215
- package/lib/util/structuredWriter.d.ts +9 -9
- package/lib/util/structuredWriter.js +2 -2
- package/lib/util/zipWriter.d.ts +16 -16
- package/lib/util/zipWriter.js +67 -67
- package/lib/webOAuthServer.d.ts +156 -156
- package/lib/webOAuthServer.js +388 -388
- package/messages/auth.md +37 -37
- package/messages/config.md +156 -156
- package/messages/connection.md +30 -30
- package/messages/core.json +20 -20
- package/messages/core.md +67 -67
- package/messages/encryption.md +85 -85
- package/messages/envVars.md +303 -303
- package/messages/org.md +63 -63
- package/messages/permissionSetAssignment.md +31 -31
- package/messages/scratchOrgCreate.md +23 -23
- package/messages/scratchOrgErrorCodes.md +115 -115
- package/messages/scratchOrgFeatureDeprecation.md +11 -11
- package/messages/scratchOrgInfoApi.md +15 -15
- package/messages/scratchOrgInfoGenerator.md +23 -23
- package/messages/streaming.md +23 -23
- package/messages/user.md +35 -35
- package/package.json +97 -97
package/lib/util/internal.js
CHANGED
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
* Licensed under the BSD 3-Clause license.
|
|
6
|
-
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.traverse = exports.resolveProjectPathSync = exports.resolveProjectPath = exports.SFDX_PROJECT_JSON = void 0;
|
|
10
|
-
const fs = require("fs");
|
|
11
|
-
const path_1 = require("path");
|
|
12
|
-
const messages_1 = require("../messages");
|
|
13
|
-
messages_1.Messages.importMessagesDirectory(__dirname);
|
|
14
|
-
const messages = messages_1.Messages.load('@salesforce/core', 'config', ['invalidProjectWorkspace']);
|
|
15
|
-
/**
|
|
16
|
-
* The name of the project config file.
|
|
17
|
-
*
|
|
18
|
-
* @ignore
|
|
19
|
-
*/
|
|
20
|
-
// This has to be defined on util to prevent circular deps with project and configFile.
|
|
21
|
-
exports.SFDX_PROJECT_JSON = 'sfdx-project.json';
|
|
22
|
-
/**
|
|
23
|
-
* Performs an upward directory search for an sfdx project file. Returns the absolute path to the project.
|
|
24
|
-
*
|
|
25
|
-
* **See** {@link SFDX_PROJECT_JSON}
|
|
26
|
-
*
|
|
27
|
-
* **See** {@link traverseForFile}
|
|
28
|
-
*
|
|
29
|
-
* **Throws** *{@link SfError}{ name: 'InvalidProjectWorkspaceError' }* If the current folder is not located in a workspace.
|
|
30
|
-
*
|
|
31
|
-
* @param dir The directory path to start traversing from.
|
|
32
|
-
* @ignore
|
|
33
|
-
*/
|
|
34
|
-
async function resolveProjectPath(dir = process.cwd()) {
|
|
35
|
-
const projectPath = await exports.traverse.forFile(dir, exports.SFDX_PROJECT_JSON);
|
|
36
|
-
if (!projectPath) {
|
|
37
|
-
throw messages.createError('invalidProjectWorkspace');
|
|
38
|
-
}
|
|
39
|
-
return projectPath;
|
|
40
|
-
}
|
|
41
|
-
exports.resolveProjectPath = resolveProjectPath;
|
|
42
|
-
/**
|
|
43
|
-
* Performs a synchronous upward directory search for an sfdx project file. Returns the absolute path to the project.
|
|
44
|
-
*
|
|
45
|
-
* **See** {@link SFDX_PROJECT_JSON}
|
|
46
|
-
*
|
|
47
|
-
* **See** {@link traverseForFile}
|
|
48
|
-
*
|
|
49
|
-
* **Throws** *{@link SfError}{ name: 'InvalidProjectWorkspaceError' }* If the current folder is not located in a workspace.
|
|
50
|
-
*
|
|
51
|
-
* @param dir The directory path to start traversing from.
|
|
52
|
-
* @ignore
|
|
53
|
-
*/
|
|
54
|
-
function resolveProjectPathSync(dir = process.cwd()) {
|
|
55
|
-
const projectPath = exports.traverse.forFileSync(dir, exports.SFDX_PROJECT_JSON);
|
|
56
|
-
if (!projectPath) {
|
|
57
|
-
throw messages.createError('invalidProjectWorkspace');
|
|
58
|
-
}
|
|
59
|
-
return projectPath;
|
|
60
|
-
}
|
|
61
|
-
exports.resolveProjectPathSync = resolveProjectPathSync;
|
|
62
|
-
/**
|
|
63
|
-
* These methods were moved from the deprecated 'fs' module in v2 and are only used in sfdx-core above
|
|
64
|
-
*
|
|
65
|
-
* They were migrated into the 'traverse' constant in order to stub them in unit tests
|
|
66
|
-
*/
|
|
67
|
-
exports.traverse = {
|
|
68
|
-
/**
|
|
69
|
-
* Searches a file path in an ascending manner (until reaching the filesystem root) for the first occurrence a
|
|
70
|
-
* specific file name. Resolves with the directory path containing the located file, or `null` if the file was
|
|
71
|
-
* not found.
|
|
72
|
-
*
|
|
73
|
-
* @param dir The directory path in which to start the upward search.
|
|
74
|
-
* @param file The file name to look for.
|
|
75
|
-
*/
|
|
76
|
-
forFile: async (dir, file) => {
|
|
77
|
-
let foundProjectDir;
|
|
78
|
-
try {
|
|
79
|
-
fs.statSync((0, path_1.join)(dir, file));
|
|
80
|
-
foundProjectDir = dir;
|
|
81
|
-
}
|
|
82
|
-
catch (err) {
|
|
83
|
-
if (err && err.code === 'ENOENT') {
|
|
84
|
-
const nextDir = (0, path_1.resolve)(dir, '..');
|
|
85
|
-
if (nextDir !== dir) {
|
|
86
|
-
// stop at root
|
|
87
|
-
foundProjectDir = await exports.traverse.forFile(nextDir, file);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return foundProjectDir;
|
|
92
|
-
},
|
|
93
|
-
/**
|
|
94
|
-
* Searches a file path synchronously in an ascending manner (until reaching the filesystem root) for the first occurrence a
|
|
95
|
-
* specific file name. Resolves with the directory path containing the located file, or `null` if the file was
|
|
96
|
-
* not found.
|
|
97
|
-
*
|
|
98
|
-
* @param dir The directory path in which to start the upward search.
|
|
99
|
-
* @param file The file name to look for.
|
|
100
|
-
*/
|
|
101
|
-
forFileSync: (dir, file) => {
|
|
102
|
-
let foundProjectDir;
|
|
103
|
-
try {
|
|
104
|
-
fs.statSync((0, path_1.join)(dir, file));
|
|
105
|
-
foundProjectDir = dir;
|
|
106
|
-
}
|
|
107
|
-
catch (err) {
|
|
108
|
-
if (err && err.code === 'ENOENT') {
|
|
109
|
-
const nextDir = (0, path_1.resolve)(dir, '..');
|
|
110
|
-
if (nextDir !== dir) {
|
|
111
|
-
// stop at root
|
|
112
|
-
foundProjectDir = exports.traverse.forFileSync(nextDir, file);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return foundProjectDir;
|
|
117
|
-
},
|
|
118
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.traverse = exports.resolveProjectPathSync = exports.resolveProjectPath = exports.SFDX_PROJECT_JSON = void 0;
|
|
10
|
+
const fs = require("fs");
|
|
11
|
+
const path_1 = require("path");
|
|
12
|
+
const messages_1 = require("../messages");
|
|
13
|
+
messages_1.Messages.importMessagesDirectory(__dirname);
|
|
14
|
+
const messages = messages_1.Messages.load('@salesforce/core', 'config', ['invalidProjectWorkspace']);
|
|
15
|
+
/**
|
|
16
|
+
* The name of the project config file.
|
|
17
|
+
*
|
|
18
|
+
* @ignore
|
|
19
|
+
*/
|
|
20
|
+
// This has to be defined on util to prevent circular deps with project and configFile.
|
|
21
|
+
exports.SFDX_PROJECT_JSON = 'sfdx-project.json';
|
|
22
|
+
/**
|
|
23
|
+
* Performs an upward directory search for an sfdx project file. Returns the absolute path to the project.
|
|
24
|
+
*
|
|
25
|
+
* **See** {@link SFDX_PROJECT_JSON}
|
|
26
|
+
*
|
|
27
|
+
* **See** {@link traverseForFile}
|
|
28
|
+
*
|
|
29
|
+
* **Throws** *{@link SfError}{ name: 'InvalidProjectWorkspaceError' }* If the current folder is not located in a workspace.
|
|
30
|
+
*
|
|
31
|
+
* @param dir The directory path to start traversing from.
|
|
32
|
+
* @ignore
|
|
33
|
+
*/
|
|
34
|
+
async function resolveProjectPath(dir = process.cwd()) {
|
|
35
|
+
const projectPath = await exports.traverse.forFile(dir, exports.SFDX_PROJECT_JSON);
|
|
36
|
+
if (!projectPath) {
|
|
37
|
+
throw messages.createError('invalidProjectWorkspace');
|
|
38
|
+
}
|
|
39
|
+
return projectPath;
|
|
40
|
+
}
|
|
41
|
+
exports.resolveProjectPath = resolveProjectPath;
|
|
42
|
+
/**
|
|
43
|
+
* Performs a synchronous upward directory search for an sfdx project file. Returns the absolute path to the project.
|
|
44
|
+
*
|
|
45
|
+
* **See** {@link SFDX_PROJECT_JSON}
|
|
46
|
+
*
|
|
47
|
+
* **See** {@link traverseForFile}
|
|
48
|
+
*
|
|
49
|
+
* **Throws** *{@link SfError}{ name: 'InvalidProjectWorkspaceError' }* If the current folder is not located in a workspace.
|
|
50
|
+
*
|
|
51
|
+
* @param dir The directory path to start traversing from.
|
|
52
|
+
* @ignore
|
|
53
|
+
*/
|
|
54
|
+
function resolveProjectPathSync(dir = process.cwd()) {
|
|
55
|
+
const projectPath = exports.traverse.forFileSync(dir, exports.SFDX_PROJECT_JSON);
|
|
56
|
+
if (!projectPath) {
|
|
57
|
+
throw messages.createError('invalidProjectWorkspace');
|
|
58
|
+
}
|
|
59
|
+
return projectPath;
|
|
60
|
+
}
|
|
61
|
+
exports.resolveProjectPathSync = resolveProjectPathSync;
|
|
62
|
+
/**
|
|
63
|
+
* These methods were moved from the deprecated 'fs' module in v2 and are only used in sfdx-core above
|
|
64
|
+
*
|
|
65
|
+
* They were migrated into the 'traverse' constant in order to stub them in unit tests
|
|
66
|
+
*/
|
|
67
|
+
exports.traverse = {
|
|
68
|
+
/**
|
|
69
|
+
* Searches a file path in an ascending manner (until reaching the filesystem root) for the first occurrence a
|
|
70
|
+
* specific file name. Resolves with the directory path containing the located file, or `null` if the file was
|
|
71
|
+
* not found.
|
|
72
|
+
*
|
|
73
|
+
* @param dir The directory path in which to start the upward search.
|
|
74
|
+
* @param file The file name to look for.
|
|
75
|
+
*/
|
|
76
|
+
forFile: async (dir, file) => {
|
|
77
|
+
let foundProjectDir;
|
|
78
|
+
try {
|
|
79
|
+
fs.statSync((0, path_1.join)(dir, file));
|
|
80
|
+
foundProjectDir = dir;
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
if (err && err.code === 'ENOENT') {
|
|
84
|
+
const nextDir = (0, path_1.resolve)(dir, '..');
|
|
85
|
+
if (nextDir !== dir) {
|
|
86
|
+
// stop at root
|
|
87
|
+
foundProjectDir = await exports.traverse.forFile(nextDir, file);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return foundProjectDir;
|
|
92
|
+
},
|
|
93
|
+
/**
|
|
94
|
+
* Searches a file path synchronously in an ascending manner (until reaching the filesystem root) for the first occurrence a
|
|
95
|
+
* specific file name. Resolves with the directory path containing the located file, or `null` if the file was
|
|
96
|
+
* not found.
|
|
97
|
+
*
|
|
98
|
+
* @param dir The directory path in which to start the upward search.
|
|
99
|
+
* @param file The file name to look for.
|
|
100
|
+
*/
|
|
101
|
+
forFileSync: (dir, file) => {
|
|
102
|
+
let foundProjectDir;
|
|
103
|
+
try {
|
|
104
|
+
fs.statSync((0, path_1.join)(dir, file));
|
|
105
|
+
foundProjectDir = dir;
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
if (err && err.code === 'ENOENT') {
|
|
109
|
+
const nextDir = (0, path_1.resolve)(dir, '..');
|
|
110
|
+
if (nextDir !== dir) {
|
|
111
|
+
// stop at root
|
|
112
|
+
foundProjectDir = exports.traverse.forFileSync(nextDir, file);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return foundProjectDir;
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
119
|
//# sourceMappingURL=internal.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { JsonMap } from '@salesforce/ts-types';
|
|
2
|
-
import { IOptions } from 'js2xmlparser/lib/options';
|
|
3
|
-
export interface JSONasXML {
|
|
4
|
-
json: JsonMap;
|
|
5
|
-
type: string;
|
|
6
|
-
options?: IOptions;
|
|
7
|
-
}
|
|
8
|
-
export interface WriteJSONasXMLInputs extends JSONasXML {
|
|
9
|
-
path: string;
|
|
10
|
-
}
|
|
11
|
-
export declare const standardOptions: IOptions;
|
|
12
|
-
export declare const writeJSONasXML: ({ path, json, type, options, }: WriteJSONasXMLInputs) => Promise<void>;
|
|
13
|
-
export declare const JsonAsXml: ({ json, type, options }: JSONasXML) => string;
|
|
14
|
-
export declare const fixExistingDollarSign: (existing: WriteJSONasXMLInputs['json']) => Record<string, unknown>;
|
|
1
|
+
import { JsonMap } from '@salesforce/ts-types';
|
|
2
|
+
import { IOptions } from 'js2xmlparser/lib/options';
|
|
3
|
+
export interface JSONasXML {
|
|
4
|
+
json: JsonMap;
|
|
5
|
+
type: string;
|
|
6
|
+
options?: IOptions;
|
|
7
|
+
}
|
|
8
|
+
export interface WriteJSONasXMLInputs extends JSONasXML {
|
|
9
|
+
path: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const standardOptions: IOptions;
|
|
12
|
+
export declare const writeJSONasXML: ({ path, json, type, options, }: WriteJSONasXMLInputs) => Promise<void>;
|
|
13
|
+
export declare const JsonAsXml: ({ json, type, options }: JSONasXML) => string;
|
|
14
|
+
export declare const fixExistingDollarSign: (existing: WriteJSONasXMLInputs['json']) => Record<string, unknown>;
|
package/lib/util/jsonXmlTools.js
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
* Licensed under the BSD 3-Clause license.
|
|
6
|
-
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.fixExistingDollarSign = exports.JsonAsXml = exports.writeJSONasXML = exports.standardOptions = void 0;
|
|
10
|
-
const fs_1 = require("fs");
|
|
11
|
-
const jsToXml = require("js2xmlparser");
|
|
12
|
-
exports.standardOptions = {
|
|
13
|
-
declaration: {
|
|
14
|
-
include: true,
|
|
15
|
-
encoding: 'UTF-8',
|
|
16
|
-
version: '1.0',
|
|
17
|
-
},
|
|
18
|
-
format: {
|
|
19
|
-
doubleQuotes: true,
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
const writeJSONasXML = async ({ path, json, type, options = exports.standardOptions, }) => {
|
|
23
|
-
const xml = jsToXml.parse(type, (0, exports.fixExistingDollarSign)(json), options);
|
|
24
|
-
return fs_1.promises.writeFile(path, xml);
|
|
25
|
-
};
|
|
26
|
-
exports.writeJSONasXML = writeJSONasXML;
|
|
27
|
-
const JsonAsXml = ({ json, type, options = exports.standardOptions }) => jsToXml.parse(type, (0, exports.fixExistingDollarSign)(json), options);
|
|
28
|
-
exports.JsonAsXml = JsonAsXml;
|
|
29
|
-
const fixExistingDollarSign = (existing) => {
|
|
30
|
-
const existingCopy = { ...existing };
|
|
31
|
-
if (existingCopy.$) {
|
|
32
|
-
const temp = existingCopy.$;
|
|
33
|
-
delete existingCopy.$;
|
|
34
|
-
existingCopy['@'] = temp;
|
|
35
|
-
}
|
|
36
|
-
return existingCopy;
|
|
37
|
-
};
|
|
38
|
-
exports.fixExistingDollarSign = fixExistingDollarSign;
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.fixExistingDollarSign = exports.JsonAsXml = exports.writeJSONasXML = exports.standardOptions = void 0;
|
|
10
|
+
const fs_1 = require("fs");
|
|
11
|
+
const jsToXml = require("js2xmlparser");
|
|
12
|
+
exports.standardOptions = {
|
|
13
|
+
declaration: {
|
|
14
|
+
include: true,
|
|
15
|
+
encoding: 'UTF-8',
|
|
16
|
+
version: '1.0',
|
|
17
|
+
},
|
|
18
|
+
format: {
|
|
19
|
+
doubleQuotes: true,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
const writeJSONasXML = async ({ path, json, type, options = exports.standardOptions, }) => {
|
|
23
|
+
const xml = jsToXml.parse(type, (0, exports.fixExistingDollarSign)(json), options);
|
|
24
|
+
return fs_1.promises.writeFile(path, xml);
|
|
25
|
+
};
|
|
26
|
+
exports.writeJSONasXML = writeJSONasXML;
|
|
27
|
+
const JsonAsXml = ({ json, type, options = exports.standardOptions }) => jsToXml.parse(type, (0, exports.fixExistingDollarSign)(json), options);
|
|
28
|
+
exports.JsonAsXml = JsonAsXml;
|
|
29
|
+
const fixExistingDollarSign = (existing) => {
|
|
30
|
+
const existingCopy = { ...existing };
|
|
31
|
+
if (existingCopy.$) {
|
|
32
|
+
const temp = existingCopy.$;
|
|
33
|
+
delete existingCopy.$;
|
|
34
|
+
existingCopy['@'] = temp;
|
|
35
|
+
}
|
|
36
|
+
return existingCopy;
|
|
37
|
+
};
|
|
38
|
+
exports.fixExistingDollarSign = fixExistingDollarSign;
|
|
39
39
|
//# sourceMappingURL=jsonXmlTools.js.map
|
package/lib/util/mapKeys.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Use mapKeys to convert object keys to another format using the specified conversion function.
|
|
3
|
-
*
|
|
4
|
-
* E.g., to deep convert all object keys to camelCase: mapKeys(myObj, _.camelCase, true)
|
|
5
|
-
* to shallow convert object keys to lower case: mapKeys(myObj, _.toLower)
|
|
6
|
-
*
|
|
7
|
-
* NOTE: This mutates the object passed in for conversion.
|
|
8
|
-
*
|
|
9
|
-
* @param target - {Object} The object to convert the keys
|
|
10
|
-
* @param converter - {Function} The function that converts the object key
|
|
11
|
-
* @param deep - {boolean} Whether to do a deep object key conversion
|
|
12
|
-
* @return {Object} - the object with the converted keys
|
|
13
|
-
*/
|
|
14
|
-
export default function mapKeys<T>(obj: T, converter: (key: string) => string, deep?: boolean): Record<string, unknown>;
|
|
1
|
+
/**
|
|
2
|
+
* Use mapKeys to convert object keys to another format using the specified conversion function.
|
|
3
|
+
*
|
|
4
|
+
* E.g., to deep convert all object keys to camelCase: mapKeys(myObj, _.camelCase, true)
|
|
5
|
+
* to shallow convert object keys to lower case: mapKeys(myObj, _.toLower)
|
|
6
|
+
*
|
|
7
|
+
* NOTE: This mutates the object passed in for conversion.
|
|
8
|
+
*
|
|
9
|
+
* @param target - {Object} The object to convert the keys
|
|
10
|
+
* @param converter - {Function} The function that converts the object key
|
|
11
|
+
* @param deep - {boolean} Whether to do a deep object key conversion
|
|
12
|
+
* @return {Object} - the object with the converted keys
|
|
13
|
+
*/
|
|
14
|
+
export default function mapKeys<T>(obj: T, converter: (key: string) => string, deep?: boolean): Record<string, unknown>;
|
package/lib/util/mapKeys.js
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
* Licensed under the BSD 3-Clause license.
|
|
6
|
-
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
const ts_types_1 = require("@salesforce/ts-types");
|
|
10
|
-
/**
|
|
11
|
-
* Use mapKeys to convert object keys to another format using the specified conversion function.
|
|
12
|
-
*
|
|
13
|
-
* E.g., to deep convert all object keys to camelCase: mapKeys(myObj, _.camelCase, true)
|
|
14
|
-
* to shallow convert object keys to lower case: mapKeys(myObj, _.toLower)
|
|
15
|
-
*
|
|
16
|
-
* NOTE: This mutates the object passed in for conversion.
|
|
17
|
-
*
|
|
18
|
-
* @param target - {Object} The object to convert the keys
|
|
19
|
-
* @param converter - {Function} The function that converts the object key
|
|
20
|
-
* @param deep - {boolean} Whether to do a deep object key conversion
|
|
21
|
-
* @return {Object} - the object with the converted keys
|
|
22
|
-
*/
|
|
23
|
-
function mapKeys(
|
|
24
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
|
|
25
|
-
obj, converter, deep) {
|
|
26
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
27
|
-
const target = Object.assign({}, obj);
|
|
28
|
-
return Object.fromEntries(
|
|
29
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
30
|
-
Object.entries(target).map(([key, value]) => {
|
|
31
|
-
const k = converter.call(null, key);
|
|
32
|
-
if (deep) {
|
|
33
|
-
let v = value;
|
|
34
|
-
if (Array.isArray(value)) {
|
|
35
|
-
v = value.map((v1) => {
|
|
36
|
-
if ((0, ts_types_1.isPlainObject)(v1)) {
|
|
37
|
-
return mapKeys(v1, converter, deep);
|
|
38
|
-
}
|
|
39
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
40
|
-
return v1;
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
else if ((0, ts_types_1.isPlainObject)(value)) {
|
|
44
|
-
v = mapKeys(value, converter, deep);
|
|
45
|
-
}
|
|
46
|
-
return [k, v];
|
|
47
|
-
}
|
|
48
|
-
return [k, value];
|
|
49
|
-
}));
|
|
50
|
-
}
|
|
51
|
-
exports.default = mapKeys;
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2021, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const ts_types_1 = require("@salesforce/ts-types");
|
|
10
|
+
/**
|
|
11
|
+
* Use mapKeys to convert object keys to another format using the specified conversion function.
|
|
12
|
+
*
|
|
13
|
+
* E.g., to deep convert all object keys to camelCase: mapKeys(myObj, _.camelCase, true)
|
|
14
|
+
* to shallow convert object keys to lower case: mapKeys(myObj, _.toLower)
|
|
15
|
+
*
|
|
16
|
+
* NOTE: This mutates the object passed in for conversion.
|
|
17
|
+
*
|
|
18
|
+
* @param target - {Object} The object to convert the keys
|
|
19
|
+
* @param converter - {Function} The function that converts the object key
|
|
20
|
+
* @param deep - {boolean} Whether to do a deep object key conversion
|
|
21
|
+
* @return {Object} - the object with the converted keys
|
|
22
|
+
*/
|
|
23
|
+
function mapKeys(
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
|
|
25
|
+
obj, converter, deep) {
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
27
|
+
const target = Object.assign({}, obj);
|
|
28
|
+
return Object.fromEntries(
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
30
|
+
Object.entries(target).map(([key, value]) => {
|
|
31
|
+
const k = converter.call(null, key);
|
|
32
|
+
if (deep) {
|
|
33
|
+
let v = value;
|
|
34
|
+
if (Array.isArray(value)) {
|
|
35
|
+
v = value.map((v1) => {
|
|
36
|
+
if ((0, ts_types_1.isPlainObject)(v1)) {
|
|
37
|
+
return mapKeys(v1, converter, deep);
|
|
38
|
+
}
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
40
|
+
return v1;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
else if ((0, ts_types_1.isPlainObject)(value)) {
|
|
44
|
+
v = mapKeys(value, converter, deep);
|
|
45
|
+
}
|
|
46
|
+
return [k, v];
|
|
47
|
+
}
|
|
48
|
+
return [k, value];
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
exports.default = mapKeys;
|
|
52
52
|
//# sourceMappingURL=mapKeys.js.map
|
package/lib/util/sfdc.d.ts
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { JsonMap, Optional } from '@salesforce/ts-types';
|
|
2
|
-
export declare const sfdc: {
|
|
3
|
-
/**
|
|
4
|
-
* Converts an 18 character Salesforce ID to 15 characters.
|
|
5
|
-
*
|
|
6
|
-
* @param id The id to convert.
|
|
7
|
-
*/
|
|
8
|
-
trimTo15: (id?: string) => Optional<string>;
|
|
9
|
-
/**
|
|
10
|
-
* Tests whether an API version matches the format `i.0`.
|
|
11
|
-
*
|
|
12
|
-
* @param value The API version as a string.
|
|
13
|
-
*/
|
|
14
|
-
validateApiVersion: (value: string) => boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Tests whether an email matches the format `me@my.org`
|
|
17
|
-
*
|
|
18
|
-
* @param value The email as a string.
|
|
19
|
-
*/
|
|
20
|
-
validateEmail: (value: string) => boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Tests whether a Salesforce ID is in the correct format, a 15- or 18-character length string with only letters and numbers
|
|
23
|
-
*
|
|
24
|
-
* @param value The ID as a string.
|
|
25
|
-
*/
|
|
26
|
-
validateSalesforceId: (value: string) => boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Tests whether a path is in the correct format; the value doesn't include the characters "[", "]", "?", "<", ">", "?", "|"
|
|
29
|
-
*
|
|
30
|
-
* @param value The path as a string.
|
|
31
|
-
*/
|
|
32
|
-
validatePathDoesNotContainInvalidChars: (value: string) => boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Returns the first key within the object that has an upper case first letter.
|
|
35
|
-
*
|
|
36
|
-
* @param data The object in which to check key casing.
|
|
37
|
-
* @param sectionBlocklist properties in the object to exclude from the search. e.g. a blocklist of `["a"]` and data of `{ "a": { "B" : "b"}}` would ignore `B` because it is in the object value under `a`.
|
|
38
|
-
*/
|
|
39
|
-
findUpperCaseKeys: (data?: JsonMap, sectionBlocklist?: string[]) => Optional<string>;
|
|
40
|
-
/**
|
|
41
|
-
* Tests whether a given string is an access token
|
|
42
|
-
*
|
|
43
|
-
* @param value
|
|
44
|
-
*/
|
|
45
|
-
matchesAccessToken: (value: string) => boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Tests whether a given url is an internal Salesforce domain
|
|
48
|
-
*
|
|
49
|
-
* @param url
|
|
50
|
-
*/
|
|
51
|
-
isInternalUrl: (url: string) => boolean;
|
|
52
|
-
};
|
|
1
|
+
import { JsonMap, Optional } from '@salesforce/ts-types';
|
|
2
|
+
export declare const sfdc: {
|
|
3
|
+
/**
|
|
4
|
+
* Converts an 18 character Salesforce ID to 15 characters.
|
|
5
|
+
*
|
|
6
|
+
* @param id The id to convert.
|
|
7
|
+
*/
|
|
8
|
+
trimTo15: (id?: string) => Optional<string>;
|
|
9
|
+
/**
|
|
10
|
+
* Tests whether an API version matches the format `i.0`.
|
|
11
|
+
*
|
|
12
|
+
* @param value The API version as a string.
|
|
13
|
+
*/
|
|
14
|
+
validateApiVersion: (value: string) => boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Tests whether an email matches the format `me@my.org`
|
|
17
|
+
*
|
|
18
|
+
* @param value The email as a string.
|
|
19
|
+
*/
|
|
20
|
+
validateEmail: (value: string) => boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Tests whether a Salesforce ID is in the correct format, a 15- or 18-character length string with only letters and numbers
|
|
23
|
+
*
|
|
24
|
+
* @param value The ID as a string.
|
|
25
|
+
*/
|
|
26
|
+
validateSalesforceId: (value: string) => boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Tests whether a path is in the correct format; the value doesn't include the characters "[", "]", "?", "<", ">", "?", "|"
|
|
29
|
+
*
|
|
30
|
+
* @param value The path as a string.
|
|
31
|
+
*/
|
|
32
|
+
validatePathDoesNotContainInvalidChars: (value: string) => boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the first key within the object that has an upper case first letter.
|
|
35
|
+
*
|
|
36
|
+
* @param data The object in which to check key casing.
|
|
37
|
+
* @param sectionBlocklist properties in the object to exclude from the search. e.g. a blocklist of `["a"]` and data of `{ "a": { "B" : "b"}}` would ignore `B` because it is in the object value under `a`.
|
|
38
|
+
*/
|
|
39
|
+
findUpperCaseKeys: (data?: JsonMap, sectionBlocklist?: string[]) => Optional<string>;
|
|
40
|
+
/**
|
|
41
|
+
* Tests whether a given string is an access token
|
|
42
|
+
*
|
|
43
|
+
* @param value
|
|
44
|
+
*/
|
|
45
|
+
matchesAccessToken: (value: string) => boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Tests whether a given url is an internal Salesforce domain
|
|
48
|
+
*
|
|
49
|
+
* @param url
|
|
50
|
+
*/
|
|
51
|
+
isInternalUrl: (url: string) => boolean;
|
|
52
|
+
};
|