@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.
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 +413 -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 +15 -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,98 +1,98 @@
1
- import { AsyncOptionalCreatable } from '@salesforce/kit';
2
- import { Nullable } from '@salesforce/ts-types';
3
- import { AuthFields, ConfigContents } from '../../exported';
4
- import { SfToken } from './tokenAccessor';
5
- export declare type Aliasable = string | (Partial<AuthFields> & Partial<SfToken>);
6
- export declare class AliasAccessor extends AsyncOptionalCreatable {
7
- private config;
8
- /**
9
- * Returns all the aliases for all the values
10
- */
11
- getAll(): ConfigContents<string>;
12
- /**
13
- * Returns all the aliases for a given entity
14
- *
15
- * @param entity the aliasable entity that you want to get the aliases of
16
- */
17
- getAll(entity: Aliasable): string[];
18
- /**
19
- * Returns the first alias found for a given entity
20
- *
21
- * @param entity the aliasable entity that you want to get the alias of
22
- */
23
- get(entity: Aliasable): Nullable<string>;
24
- /**
25
- * Returns the value that corresponds to the given alias if it exists
26
- *
27
- * @param alias the alias that corresponds to a value
28
- */
29
- getValue(alias: string): Nullable<string>;
30
- /**
31
- * Returns the username that corresponds to the given alias if it exists
32
- *
33
- * @param alias the alias that corresponds to a username
34
- */
35
- getUsername(alias: string): Nullable<string>;
36
- /**
37
- * If the provided string is an alias, it returns the corresponding value.
38
- * If the provided string is not an alias, we assume that the provided string
39
- * is the value and return it.
40
- *
41
- * This method is helpful when you don't know if the string you have is a value
42
- * or an alias.
43
- *
44
- * @param valueOrAlias a string that might be a value or might be an alias
45
- */
46
- resolveValue(valueOrAlias: string): string;
47
- /**
48
- * If the provided string is an alias, it returns the corresponding username.
49
- * If the provided string is not an alias, we assume that the provided string
50
- * is the username and return it.
51
- *
52
- * This method is helpful when you don't know if the string you have is a username
53
- * or an alias.
54
- *
55
- * @param usernameOrAlias a string that might be a username or might be an alias
56
- */
57
- resolveUsername(usernameOrAlias: string): string;
58
- /**
59
- * If the provided string is an alias, return it.
60
- * If the provided string is not an alias, return the username of the provided alias
61
- *
62
- * This method is helpful when you don't know if the string you have is a username
63
- * or an alias.
64
- *
65
- * @param usernameOrAlias a string that might be a username or might be an alias
66
- */
67
- resolveAlias(usernameOrAlias: string): Nullable<string>;
68
- /**
69
- * Set an alias for the given aliasable entity
70
- *
71
- * @param alias the alias you want to set
72
- * @param entity the aliasable entity that's being aliased
73
- */
74
- set(alias: string, entity: Aliasable): void;
75
- /**
76
- * Unset the given alias.
77
- *
78
- */
79
- unset(alias: string): void;
80
- /**
81
- * Unsets all the aliases for the given entity.
82
- *
83
- * @param entity the aliasable entity for which you want to unset all aliases
84
- */
85
- unsetAll(entity: Aliasable): void;
86
- write(): Promise<ConfigContents>;
87
- /**
88
- * Returns true if the provided alias exists
89
- *
90
- * @param alias the alias you want to check
91
- */
92
- has(alias: string): boolean;
93
- protected init(): Promise<void>;
94
- /**
95
- * Returns the username of given aliasable entity
96
- */
97
- private getNameOf;
98
- }
1
+ import { AsyncOptionalCreatable } from '@salesforce/kit';
2
+ import { Nullable } from '@salesforce/ts-types';
3
+ import { AuthFields, ConfigContents } from '../../exported';
4
+ import { SfToken } from './tokenAccessor';
5
+ export declare type Aliasable = string | (Partial<AuthFields> & Partial<SfToken>);
6
+ export declare class AliasAccessor extends AsyncOptionalCreatable {
7
+ private config;
8
+ /**
9
+ * Returns all the aliases for all the values
10
+ */
11
+ getAll(): ConfigContents<string>;
12
+ /**
13
+ * Returns all the aliases for a given entity
14
+ *
15
+ * @param entity the aliasable entity that you want to get the aliases of
16
+ */
17
+ getAll(entity: Aliasable): string[];
18
+ /**
19
+ * Returns the first alias found for a given entity
20
+ *
21
+ * @param entity the aliasable entity that you want to get the alias of
22
+ */
23
+ get(entity: Aliasable): Nullable<string>;
24
+ /**
25
+ * Returns the value that corresponds to the given alias if it exists
26
+ *
27
+ * @param alias the alias that corresponds to a value
28
+ */
29
+ getValue(alias: string): Nullable<string>;
30
+ /**
31
+ * Returns the username that corresponds to the given alias if it exists
32
+ *
33
+ * @param alias the alias that corresponds to a username
34
+ */
35
+ getUsername(alias: string): Nullable<string>;
36
+ /**
37
+ * If the provided string is an alias, it returns the corresponding value.
38
+ * If the provided string is not an alias, we assume that the provided string
39
+ * is the value and return it.
40
+ *
41
+ * This method is helpful when you don't know if the string you have is a value
42
+ * or an alias.
43
+ *
44
+ * @param valueOrAlias a string that might be a value or might be an alias
45
+ */
46
+ resolveValue(valueOrAlias: string): string;
47
+ /**
48
+ * If the provided string is an alias, it returns the corresponding username.
49
+ * If the provided string is not an alias, we assume that the provided string
50
+ * is the username and return it.
51
+ *
52
+ * This method is helpful when you don't know if the string you have is a username
53
+ * or an alias.
54
+ *
55
+ * @param usernameOrAlias a string that might be a username or might be an alias
56
+ */
57
+ resolveUsername(usernameOrAlias: string): string;
58
+ /**
59
+ * If the provided string is an alias, return it.
60
+ * If the provided string is not an alias, return the username of the provided alias
61
+ *
62
+ * This method is helpful when you don't know if the string you have is a username
63
+ * or an alias.
64
+ *
65
+ * @param usernameOrAlias a string that might be a username or might be an alias
66
+ */
67
+ resolveAlias(usernameOrAlias: string): Nullable<string>;
68
+ /**
69
+ * Set an alias for the given aliasable entity
70
+ *
71
+ * @param alias the alias you want to set
72
+ * @param entity the aliasable entity that's being aliased
73
+ */
74
+ set(alias: string, entity: Aliasable): void;
75
+ /**
76
+ * Unset the given alias.
77
+ *
78
+ */
79
+ unset(alias: string): void;
80
+ /**
81
+ * Unsets all the aliases for the given entity.
82
+ *
83
+ * @param entity the aliasable entity for which you want to unset all aliases
84
+ */
85
+ unsetAll(entity: Aliasable): void;
86
+ write(): Promise<ConfigContents>;
87
+ /**
88
+ * Returns true if the provided alias exists
89
+ *
90
+ * @param alias the alias you want to check
91
+ */
92
+ has(alias: string): boolean;
93
+ protected init(): Promise<void>;
94
+ /**
95
+ * Returns the username of given aliasable entity
96
+ */
97
+ private getNameOf;
98
+ }
@@ -1,146 +1,146 @@
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.AliasAccessor = void 0;
10
- const kit_1 = require("@salesforce/kit");
11
- const aliasesConfig_1 = require("../../config/aliasesConfig");
12
- const sfError_1 = require("../../sfError");
13
- class AliasAccessor extends kit_1.AsyncOptionalCreatable {
14
- getAll(entity) {
15
- // This will only return aliases under "orgs". This will need to be modified
16
- // if/when we want to support more aliases groups.
17
- const all = (this.config.getGroup() ?? {});
18
- if (entity) {
19
- const value = this.getNameOf(entity);
20
- return Object.entries(all)
21
- .filter((entry) => entry[1] === value)
22
- .map((entry) => entry[0]);
23
- }
24
- else {
25
- return all;
26
- }
27
- }
28
- /**
29
- * Returns the first alias found for a given entity
30
- *
31
- * @param entity the aliasable entity that you want to get the alias of
32
- */
33
- get(entity) {
34
- return this.getAll(entity).find((alias) => alias) ?? null;
35
- }
36
- /**
37
- * Returns the value that corresponds to the given alias if it exists
38
- *
39
- * @param alias the alias that corresponds to a value
40
- */
41
- getValue(alias) {
42
- return this.getAll()[alias] ?? null;
43
- }
44
- /**
45
- * Returns the username that corresponds to the given alias if it exists
46
- *
47
- * @param alias the alias that corresponds to a username
48
- */
49
- getUsername(alias) {
50
- return this.getAll()[alias] ?? null;
51
- }
52
- /**
53
- * If the provided string is an alias, it returns the corresponding value.
54
- * If the provided string is not an alias, we assume that the provided string
55
- * is the value and return it.
56
- *
57
- * This method is helpful when you don't know if the string you have is a value
58
- * or an alias.
59
- *
60
- * @param valueOrAlias a string that might be a value or might be an alias
61
- */
62
- resolveValue(valueOrAlias) {
63
- return this.getValue(valueOrAlias) ?? valueOrAlias;
64
- }
65
- /**
66
- * If the provided string is an alias, it returns the corresponding username.
67
- * If the provided string is not an alias, we assume that the provided string
68
- * is the username and return it.
69
- *
70
- * This method is helpful when you don't know if the string you have is a username
71
- * or an alias.
72
- *
73
- * @param usernameOrAlias a string that might be a username or might be an alias
74
- */
75
- resolveUsername(usernameOrAlias) {
76
- return this.getUsername(usernameOrAlias) ?? usernameOrAlias;
77
- }
78
- /**
79
- * If the provided string is an alias, return it.
80
- * If the provided string is not an alias, return the username of the provided alias
81
- *
82
- * This method is helpful when you don't know if the string you have is a username
83
- * or an alias.
84
- *
85
- * @param usernameOrAlias a string that might be a username or might be an alias
86
- */
87
- resolveAlias(usernameOrAlias) {
88
- if (this.has(usernameOrAlias))
89
- return usernameOrAlias;
90
- return Object.entries(this.getAll()).find(([, username]) => username === usernameOrAlias)?.[0];
91
- }
92
- /**
93
- * Set an alias for the given aliasable entity
94
- *
95
- * @param alias the alias you want to set
96
- * @param entity the aliasable entity that's being aliased
97
- */
98
- set(alias, entity) {
99
- this.config.set(alias, this.getNameOf(entity));
100
- }
101
- /**
102
- * Unset the given alias.
103
- *
104
- */
105
- unset(alias) {
106
- this.config.unset(alias);
107
- }
108
- /**
109
- * Unsets all the aliases for the given entity.
110
- *
111
- * @param entity the aliasable entity for which you want to unset all aliases
112
- */
113
- unsetAll(entity) {
114
- const aliases = this.getAll(entity);
115
- aliases.forEach((alias) => this.unset(alias));
116
- }
117
- async write() {
118
- return this.config.write();
119
- }
120
- /**
121
- * Returns true if the provided alias exists
122
- *
123
- * @param alias the alias you want to check
124
- */
125
- has(alias) {
126
- return this.config.has(alias);
127
- }
128
- async init() {
129
- this.config = await aliasesConfig_1.AliasesConfig.create(aliasesConfig_1.AliasesConfig.getDefaultOptions());
130
- }
131
- /**
132
- * Returns the username of given aliasable entity
133
- */
134
- // eslint-disable-next-line class-methods-use-this
135
- getNameOf(entity) {
136
- if (typeof entity === 'string')
137
- return entity;
138
- const aliaseeName = entity.username ?? entity.user;
139
- if (!aliaseeName) {
140
- throw new sfError_1.SfError(`Invalid aliasee, it must contain a user or username property: ${JSON.stringify(entity)}`);
141
- }
142
- return aliaseeName;
143
- }
144
- }
145
- exports.AliasAccessor = AliasAccessor;
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.AliasAccessor = void 0;
10
+ const kit_1 = require("@salesforce/kit");
11
+ const aliasesConfig_1 = require("../../config/aliasesConfig");
12
+ const sfError_1 = require("../../sfError");
13
+ class AliasAccessor extends kit_1.AsyncOptionalCreatable {
14
+ getAll(entity) {
15
+ // This will only return aliases under "orgs". This will need to be modified
16
+ // if/when we want to support more aliases groups.
17
+ const all = (this.config.getGroup() ?? {});
18
+ if (entity) {
19
+ const value = this.getNameOf(entity);
20
+ return Object.entries(all)
21
+ .filter((entry) => entry[1] === value)
22
+ .map((entry) => entry[0]);
23
+ }
24
+ else {
25
+ return all;
26
+ }
27
+ }
28
+ /**
29
+ * Returns the first alias found for a given entity
30
+ *
31
+ * @param entity the aliasable entity that you want to get the alias of
32
+ */
33
+ get(entity) {
34
+ return this.getAll(entity).find((alias) => alias) ?? null;
35
+ }
36
+ /**
37
+ * Returns the value that corresponds to the given alias if it exists
38
+ *
39
+ * @param alias the alias that corresponds to a value
40
+ */
41
+ getValue(alias) {
42
+ return this.getAll()[alias] ?? null;
43
+ }
44
+ /**
45
+ * Returns the username that corresponds to the given alias if it exists
46
+ *
47
+ * @param alias the alias that corresponds to a username
48
+ */
49
+ getUsername(alias) {
50
+ return this.getAll()[alias] ?? null;
51
+ }
52
+ /**
53
+ * If the provided string is an alias, it returns the corresponding value.
54
+ * If the provided string is not an alias, we assume that the provided string
55
+ * is the value and return it.
56
+ *
57
+ * This method is helpful when you don't know if the string you have is a value
58
+ * or an alias.
59
+ *
60
+ * @param valueOrAlias a string that might be a value or might be an alias
61
+ */
62
+ resolveValue(valueOrAlias) {
63
+ return this.getValue(valueOrAlias) ?? valueOrAlias;
64
+ }
65
+ /**
66
+ * If the provided string is an alias, it returns the corresponding username.
67
+ * If the provided string is not an alias, we assume that the provided string
68
+ * is the username and return it.
69
+ *
70
+ * This method is helpful when you don't know if the string you have is a username
71
+ * or an alias.
72
+ *
73
+ * @param usernameOrAlias a string that might be a username or might be an alias
74
+ */
75
+ resolveUsername(usernameOrAlias) {
76
+ return this.getUsername(usernameOrAlias) ?? usernameOrAlias;
77
+ }
78
+ /**
79
+ * If the provided string is an alias, return it.
80
+ * If the provided string is not an alias, return the username of the provided alias
81
+ *
82
+ * This method is helpful when you don't know if the string you have is a username
83
+ * or an alias.
84
+ *
85
+ * @param usernameOrAlias a string that might be a username or might be an alias
86
+ */
87
+ resolveAlias(usernameOrAlias) {
88
+ if (this.has(usernameOrAlias))
89
+ return usernameOrAlias;
90
+ return Object.entries(this.getAll()).find(([, username]) => username === usernameOrAlias)?.[0];
91
+ }
92
+ /**
93
+ * Set an alias for the given aliasable entity
94
+ *
95
+ * @param alias the alias you want to set
96
+ * @param entity the aliasable entity that's being aliased
97
+ */
98
+ set(alias, entity) {
99
+ this.config.set(alias, this.getNameOf(entity));
100
+ }
101
+ /**
102
+ * Unset the given alias.
103
+ *
104
+ */
105
+ unset(alias) {
106
+ this.config.unset(alias);
107
+ }
108
+ /**
109
+ * Unsets all the aliases for the given entity.
110
+ *
111
+ * @param entity the aliasable entity for which you want to unset all aliases
112
+ */
113
+ unsetAll(entity) {
114
+ const aliases = this.getAll(entity);
115
+ aliases.forEach((alias) => this.unset(alias));
116
+ }
117
+ async write() {
118
+ return this.config.write();
119
+ }
120
+ /**
121
+ * Returns true if the provided alias exists
122
+ *
123
+ * @param alias the alias you want to check
124
+ */
125
+ has(alias) {
126
+ return this.config.has(alias);
127
+ }
128
+ async init() {
129
+ this.config = await aliasesConfig_1.AliasesConfig.create(aliasesConfig_1.AliasesConfig.getDefaultOptions());
130
+ }
131
+ /**
132
+ * Returns the username of given aliasable entity
133
+ */
134
+ // eslint-disable-next-line class-methods-use-this
135
+ getNameOf(entity) {
136
+ if (typeof entity === 'string')
137
+ return entity;
138
+ const aliaseeName = entity.username ?? entity.user;
139
+ if (!aliaseeName) {
140
+ throw new sfError_1.SfError(`Invalid aliasee, it must contain a user or username property: ${JSON.stringify(entity)}`);
141
+ }
142
+ return aliaseeName;
143
+ }
144
+ }
145
+ exports.AliasAccessor = AliasAccessor;
146
146
  //# sourceMappingURL=aliasAccessor.js.map