@salesforce/core 3.31.7 → 3.31.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/LICENSE.txt +11 -11
  2. package/README.md +222 -222
  3. package/lib/config/aliasesConfig.d.ts +12 -12
  4. package/lib/config/aliasesConfig.js +27 -27
  5. package/lib/config/authInfoConfig.d.ts +19 -19
  6. package/lib/config/authInfoConfig.js +34 -34
  7. package/lib/config/config.d.ts +311 -311
  8. package/lib/config/config.js +574 -574
  9. package/lib/config/configAggregator.d.ts +232 -232
  10. package/lib/config/configAggregator.js +379 -379
  11. package/lib/config/configFile.d.ts +199 -199
  12. package/lib/config/configFile.js +340 -340
  13. package/lib/config/configGroup.d.ts +141 -141
  14. package/lib/config/configGroup.js +224 -224
  15. package/lib/config/configStore.d.ts +241 -241
  16. package/lib/config/configStore.js +352 -352
  17. package/lib/config/envVars.d.ts +101 -101
  18. package/lib/config/envVars.js +456 -456
  19. package/lib/config/orgUsersConfig.d.ts +31 -31
  20. package/lib/config/orgUsersConfig.js +41 -41
  21. package/lib/config/sandboxOrgConfig.d.ts +37 -37
  22. package/lib/config/sandboxOrgConfig.js +50 -50
  23. package/lib/config/sandboxProcessCache.d.ts +16 -16
  24. package/lib/config/sandboxProcessCache.js +37 -37
  25. package/lib/config/tokensConfig.d.ts +10 -10
  26. package/lib/config/tokensConfig.js +28 -28
  27. package/lib/config/ttlConfig.d.ts +34 -34
  28. package/lib/config/ttlConfig.js +54 -54
  29. package/lib/crypto/crypto.d.ts +54 -54
  30. package/lib/crypto/crypto.js +220 -220
  31. package/lib/crypto/keyChain.d.ts +8 -8
  32. package/lib/crypto/keyChain.js +61 -61
  33. package/lib/crypto/keyChainImpl.d.ts +116 -116
  34. package/lib/crypto/keyChainImpl.js +486 -486
  35. package/lib/crypto/secureBuffer.d.ts +46 -46
  36. package/lib/crypto/secureBuffer.js +82 -82
  37. package/lib/deviceOauthService.d.ts +71 -71
  38. package/lib/deviceOauthService.js +191 -191
  39. package/lib/exported.d.ts +38 -38
  40. package/lib/exported.js +118 -118
  41. package/lib/global.d.ts +70 -70
  42. package/lib/global.js +109 -109
  43. package/lib/lifecycleEvents.d.ts +93 -93
  44. package/lib/lifecycleEvents.js +188 -188
  45. package/lib/logger.d.ts +381 -381
  46. package/lib/logger.js +734 -734
  47. package/lib/messages.d.ts +291 -291
  48. package/lib/messages.js +543 -543
  49. package/lib/org/authInfo.d.ts +344 -344
  50. package/lib/org/authInfo.js +892 -892
  51. package/lib/org/authRemover.d.ts +88 -88
  52. package/lib/org/authRemover.js +182 -182
  53. package/lib/org/connection.d.ts +197 -197
  54. package/lib/org/connection.js +395 -395
  55. package/lib/org/index.d.ts +6 -6
  56. package/lib/org/index.js +28 -28
  57. package/lib/org/org.d.ts +558 -558
  58. package/lib/org/org.js +1267 -1267
  59. package/lib/org/orgConfigProperties.d.ts +69 -69
  60. package/lib/org/orgConfigProperties.js +136 -136
  61. package/lib/org/permissionSetAssignment.d.ts +35 -35
  62. package/lib/org/permissionSetAssignment.js +125 -125
  63. package/lib/org/scratchOrgCache.d.ts +20 -20
  64. package/lib/org/scratchOrgCache.js +32 -32
  65. package/lib/org/scratchOrgCreate.d.ts +54 -54
  66. package/lib/org/scratchOrgCreate.js +216 -216
  67. package/lib/org/scratchOrgErrorCodes.d.ts +10 -10
  68. package/lib/org/scratchOrgErrorCodes.js +88 -88
  69. package/lib/org/scratchOrgFeatureDeprecation.d.ts +26 -26
  70. package/lib/org/scratchOrgFeatureDeprecation.js +109 -109
  71. package/lib/org/scratchOrgInfoApi.d.ts +68 -68
  72. package/lib/org/scratchOrgInfoApi.js +416 -413
  73. package/lib/org/scratchOrgInfoGenerator.d.ts +64 -64
  74. package/lib/org/scratchOrgInfoGenerator.js +241 -241
  75. package/lib/org/scratchOrgLifecycleEvents.d.ts +10 -10
  76. package/lib/org/scratchOrgLifecycleEvents.js +40 -40
  77. package/lib/org/scratchOrgSettingsGenerator.d.ts +78 -78
  78. package/lib/org/scratchOrgSettingsGenerator.js +276 -276
  79. package/lib/org/scratchOrgTypes.d.ts +43 -43
  80. package/lib/org/scratchOrgTypes.js +8 -8
  81. package/lib/org/user.d.ts +187 -187
  82. package/lib/org/user.js +448 -448
  83. package/lib/schema/printer.d.ts +79 -79
  84. package/lib/schema/printer.js +260 -260
  85. package/lib/schema/validator.d.ts +70 -70
  86. package/lib/schema/validator.js +169 -169
  87. package/lib/sfError.d.ts +73 -73
  88. package/lib/sfError.js +136 -136
  89. package/lib/sfProject.d.ts +357 -357
  90. package/lib/sfProject.js +671 -671
  91. package/lib/stateAggregator/accessors/aliasAccessor.d.ts +98 -98
  92. package/lib/stateAggregator/accessors/aliasAccessor.js +145 -145
  93. package/lib/stateAggregator/accessors/orgAccessor.d.ts +101 -101
  94. package/lib/stateAggregator/accessors/orgAccessor.js +240 -240
  95. package/lib/stateAggregator/accessors/sandboxAccessor.d.ts +8 -8
  96. package/lib/stateAggregator/accessors/sandboxAccessor.js +27 -27
  97. package/lib/stateAggregator/accessors/tokenAccessor.d.ts +63 -63
  98. package/lib/stateAggregator/accessors/tokenAccessor.js +79 -79
  99. package/lib/stateAggregator/index.d.ts +4 -4
  100. package/lib/stateAggregator/index.js +26 -26
  101. package/lib/stateAggregator/stateAggregator.d.ts +25 -25
  102. package/lib/stateAggregator/stateAggregator.js +45 -45
  103. package/lib/status/myDomainResolver.d.ts +66 -66
  104. package/lib/status/myDomainResolver.js +124 -124
  105. package/lib/status/pollingClient.d.ts +85 -85
  106. package/lib/status/pollingClient.js +115 -115
  107. package/lib/status/streamingClient.d.ts +244 -244
  108. package/lib/status/streamingClient.js +436 -436
  109. package/lib/status/types.d.ts +89 -89
  110. package/lib/status/types.js +17 -17
  111. package/lib/testSetup.d.ts +553 -553
  112. package/lib/testSetup.js +871 -871
  113. package/lib/util/cache.d.ts +11 -11
  114. package/lib/util/cache.js +69 -69
  115. package/lib/util/checkLightningDomain.d.ts +1 -1
  116. package/lib/util/checkLightningDomain.js +28 -28
  117. package/lib/util/directoryWriter.d.ts +12 -12
  118. package/lib/util/directoryWriter.js +53 -53
  119. package/lib/util/getJwtAudienceUrl.d.ts +4 -4
  120. package/lib/util/getJwtAudienceUrl.js +18 -18
  121. package/lib/util/internal.d.ts +58 -58
  122. package/lib/util/internal.js +118 -118
  123. package/lib/util/jsonXmlTools.d.ts +14 -14
  124. package/lib/util/jsonXmlTools.js +38 -38
  125. package/lib/util/mapKeys.d.ts +14 -14
  126. package/lib/util/mapKeys.js +51 -51
  127. package/lib/util/sfdc.d.ts +52 -52
  128. package/lib/util/sfdc.js +85 -85
  129. package/lib/util/sfdcUrl.d.ts +72 -72
  130. package/lib/util/sfdcUrl.js +215 -215
  131. package/lib/util/structuredWriter.d.ts +9 -9
  132. package/lib/util/structuredWriter.js +2 -2
  133. package/lib/util/zipWriter.d.ts +16 -16
  134. package/lib/util/zipWriter.js +67 -67
  135. package/lib/webOAuthServer.d.ts +156 -156
  136. package/lib/webOAuthServer.js +388 -388
  137. package/messages/auth.md +37 -37
  138. package/messages/config.md +156 -156
  139. package/messages/connection.md +30 -30
  140. package/messages/core.json +20 -20
  141. package/messages/core.md +67 -67
  142. package/messages/encryption.md +85 -85
  143. package/messages/envVars.md +303 -303
  144. package/messages/org.md +63 -63
  145. package/messages/permissionSetAssignment.md +31 -31
  146. package/messages/scratchOrgCreate.md +23 -23
  147. package/messages/scratchOrgErrorCodes.md +115 -115
  148. package/messages/scratchOrgFeatureDeprecation.md +11 -11
  149. package/messages/scratchOrgInfoApi.md +19 -15
  150. package/messages/scratchOrgInfoGenerator.md +23 -23
  151. package/messages/streaming.md +23 -23
  152. package/messages/user.md +35 -35
  153. package/package.json +97 -97
@@ -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>;
@@ -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
@@ -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>;
@@ -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
@@ -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
+ };