@lynx-js/testing-environment 0.1.4 → 0.1.5

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/dist/index.cjs CHANGED
@@ -41,6 +41,7 @@ var external_events_default = /*#__PURE__*/ __webpack_require__.n(external_event
41
41
  const GlobalThis_cjs_namespaceObject = require("./lynx/GlobalThis.cjs");
42
42
  const ElementPAPI_cjs_namespaceObject = require("./lynx/ElementPAPI.cjs");
43
43
  const external_console_namespaceObject = require("console");
44
+ const GlobalEventEmitter_cjs_namespaceObject = require("./lynx/GlobalEventEmitter.cjs");
44
45
  function _define_property(obj, key, value) {
45
46
  if (key in obj) Object.defineProperty(obj, key, {
46
47
  value: value,
@@ -231,9 +232,7 @@ function injectBackgroundThreadGlobals(target, polyfills) {
231
232
  updateData: {}
232
233
  }
233
234
  };
234
- const globalEventEmitter = new (external_events_default())();
235
- globalEventEmitter.trigger = globalEventEmitter.emit;
236
- globalEventEmitter.toggle = globalEventEmitter.emit;
235
+ const globalEventEmitter = new GlobalEventEmitter_cjs_namespaceObject.GlobalEventEmitter();
237
236
  target.lynx = {
238
237
  getNativeApp: ()=>app,
239
238
  performance,
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ import events from "events";
2
2
  import { createGlobalThis } from "./lynx/GlobalThis.js";
3
3
  import { initElementTree } from "./lynx/ElementPAPI.js";
4
4
  import { Console } from "console";
5
+ import { GlobalEventEmitter } from "./lynx/GlobalEventEmitter.js";
5
6
  function _define_property(obj, key, value) {
6
7
  if (key in obj) Object.defineProperty(obj, key, {
7
8
  value: value,
@@ -192,9 +193,7 @@ function injectBackgroundThreadGlobals(target, polyfills) {
192
193
  updateData: {}
193
194
  }
194
195
  };
195
- const globalEventEmitter = new events();
196
- globalEventEmitter.trigger = globalEventEmitter.emit;
197
- globalEventEmitter.toggle = globalEventEmitter.emit;
196
+ const globalEventEmitter = new GlobalEventEmitter();
198
197
  target.lynx = {
199
198
  getNativeApp: ()=>app,
200
199
  performance,
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ GlobalEventEmitter: ()=>GlobalEventEmitter
28
+ });
29
+ function _define_property(obj, key, value) {
30
+ if (key in obj) Object.defineProperty(obj, key, {
31
+ value: value,
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true
35
+ });
36
+ else obj[key] = value;
37
+ return obj;
38
+ }
39
+ class GlobalEventEmitter {
40
+ addListener(eventName, listener) {
41
+ this.listeners[eventName] ??= [];
42
+ this.listeners[eventName].push(listener);
43
+ }
44
+ removeListener(eventName, listener) {
45
+ if (!this.listeners[eventName]) return;
46
+ this.listeners[eventName] = this.listeners[eventName].filter((l)=>l !== listener);
47
+ }
48
+ emit(eventName, args) {
49
+ if (!this.listeners[eventName]) return;
50
+ this.listeners[eventName].forEach((listener)=>args ? listener(...args) : listener());
51
+ }
52
+ clear() {
53
+ this.listeners = {};
54
+ }
55
+ removeAllListeners(eventName) {
56
+ if (eventName) delete this.listeners[eventName];
57
+ else this.clear();
58
+ }
59
+ trigger(eventName, params) {
60
+ this.emit(eventName, [
61
+ params
62
+ ]);
63
+ }
64
+ toggle(eventName, ...data) {
65
+ this.emit(eventName, data);
66
+ }
67
+ constructor(){
68
+ _define_property(this, "listeners", {});
69
+ }
70
+ }
71
+ exports.GlobalEventEmitter = __webpack_exports__.GlobalEventEmitter;
72
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
73
+ "GlobalEventEmitter"
74
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
75
+ Object.defineProperty(exports, '__esModule', {
76
+ value: true
77
+ });
@@ -0,0 +1,10 @@
1
+ export declare class GlobalEventEmitter {
2
+ listeners: Record<string, Function[]>;
3
+ addListener(eventName: string, listener: Function): void;
4
+ removeListener(eventName: string, listener: Function): void;
5
+ emit(eventName: string, args: any[]): void;
6
+ clear(): void;
7
+ removeAllListeners(eventName?: string): void;
8
+ trigger(eventName: string, params: string | Record<any, any>): void;
9
+ toggle(eventName: string, ...data: unknown[]): void;
10
+ }
@@ -0,0 +1,43 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) Object.defineProperty(obj, key, {
3
+ value: value,
4
+ enumerable: true,
5
+ configurable: true,
6
+ writable: true
7
+ });
8
+ else obj[key] = value;
9
+ return obj;
10
+ }
11
+ class GlobalEventEmitter {
12
+ addListener(eventName, listener) {
13
+ this.listeners[eventName] ??= [];
14
+ this.listeners[eventName].push(listener);
15
+ }
16
+ removeListener(eventName, listener) {
17
+ if (!this.listeners[eventName]) return;
18
+ this.listeners[eventName] = this.listeners[eventName].filter((l)=>l !== listener);
19
+ }
20
+ emit(eventName, args) {
21
+ if (!this.listeners[eventName]) return;
22
+ this.listeners[eventName].forEach((listener)=>args ? listener(...args) : listener());
23
+ }
24
+ clear() {
25
+ this.listeners = {};
26
+ }
27
+ removeAllListeners(eventName) {
28
+ if (eventName) delete this.listeners[eventName];
29
+ else this.clear();
30
+ }
31
+ trigger(eventName, params) {
32
+ this.emit(eventName, [
33
+ params
34
+ ]);
35
+ }
36
+ toggle(eventName, ...data) {
37
+ this.emit(eventName, data);
38
+ }
39
+ constructor(){
40
+ _define_property(this, "listeners", {});
41
+ }
42
+ }
43
+ export { GlobalEventEmitter };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lynx-js/testing-environment",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "A subset of a Lynx environment to be useful for testing",
5
5
  "keywords": [
6
6
  "Lynx",
@@ -46,7 +46,7 @@
46
46
  "dist"
47
47
  ],
48
48
  "devDependencies": {
49
- "@testing-library/jest-dom": "^6.6.3",
49
+ "@testing-library/jest-dom": "^6.6.4",
50
50
  "@types/jsdom": "^21.1.7",
51
51
  "rsbuild-plugin-publint": "0.3.2"
52
52
  },