@salesforce/core 7.3.11 → 7.3.12

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.
@@ -1,5 +1,7 @@
1
1
  import { AnyJson } from '@salesforce/ts-types';
2
- type callback = (data: any) => Promise<void>;
2
+ export type callback = (data: any) => Promise<void>;
3
+ type ListenerMap = Map<string, callback>;
4
+ export type UniqueListenerMap = Map<string, ListenerMap>;
3
5
  /**
4
6
  * An asynchronous event listener and emitter that follows the singleton pattern. The singleton pattern allows lifecycle
5
7
  * events to be emitted from deep within a library and still be consumed by any other library or tool. It allows other
@@ -92,4 +94,5 @@ export declare class Lifecycle {
92
94
  */
93
95
  emit<T = AnyJson>(eventName: string, data: T): Promise<void>;
94
96
  }
97
+ export declare const cloneUniqueListeners: (uniqueListeners: UniqueListenerMap) => UniqueListenerMap;
95
98
  export {};
@@ -29,7 +29,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
29
29
  return result;
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.Lifecycle = void 0;
32
+ exports.cloneUniqueListeners = exports.Lifecycle = void 0;
33
33
  const semver_1 = require("semver");
34
34
  // needed for TS to not put everything inside /lib/src
35
35
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -102,8 +102,8 @@ class Lifecycle {
102
102
  (0, semver_1.compare)(global.salesforceCoreLifecycle.version(), Lifecycle.staticVersion()) === -1) {
103
103
  const oldInstance = global.salesforceCoreLifecycle;
104
104
  // use the newer version and transfer any listeners from the old version
105
- // object spread keeps them from being references
106
- global.salesforceCoreLifecycle = new Lifecycle({ ...oldInstance.listeners }, oldInstance.uniqueListeners);
105
+ // object spread and the clone fn keep them from being references
106
+ global.salesforceCoreLifecycle = new Lifecycle({ ...oldInstance.listeners }, (0, exports.cloneUniqueListeners)(oldInstance.uniqueListeners));
107
107
  // clean up any listeners on the old version
108
108
  Object.keys(oldInstance.listeners).map((eventName) => {
109
109
  oldInstance.removeAllListeners(eventName);
@@ -232,4 +232,7 @@ class Lifecycle {
232
232
  }
233
233
  }
234
234
  exports.Lifecycle = Lifecycle;
235
+ const cloneListeners = (listeners) => new Map(Array.from(listeners.entries()));
236
+ const cloneUniqueListeners = (uniqueListeners) => new Map(Array.from(uniqueListeners.entries()).map(([key, value]) => [key, cloneListeners(value)]));
237
+ exports.cloneUniqueListeners = cloneUniqueListeners;
235
238
  //# sourceMappingURL=lifecycleEvents.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/core",
3
- "version": "7.3.11",
3
+ "version": "7.3.12",
4
4
  "description": "Core libraries to interact with SFDX projects, orgs, and APIs.",
5
5
  "main": "lib/index",
6
6
  "types": "lib/index.d.ts",