@alcadur/react-events-hook 1.2.0 → 1.4.0

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.
@@ -0,0 +1,2 @@
1
+ import { EventNameType } from "../events.model";
2
+ export declare const clearMemo: (key: EventNameType) => void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clearMemo = void 0;
4
+ var shared_events_1 = require("../shared-events");
5
+ var clearMemo = function (key) {
6
+ shared_events_1.lastEmittedValues[key] = undefined;
7
+ delete shared_events_1.lastEmittedValues[key];
8
+ };
9
+ exports.clearMemo = clearMemo;
@@ -0,0 +1,5 @@
1
+ import { EventNameType } from "../events.model";
2
+ export declare function emitEvent(event: EventNameType, ...args: any[]): void;
3
+ export declare namespace emitEvent {
4
+ var memo: (event: EventNameType, ...args: any[]) => void;
5
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.emitEvent = emitEvent;
13
+ var shared_events_1 = require("../shared-events");
14
+ var clear_memo_1 = require("./clear-memo");
15
+ function emitter(event) {
16
+ var args = [];
17
+ for (var _i = 1; _i < arguments.length; _i++) {
18
+ args[_i - 1] = arguments[_i];
19
+ }
20
+ var callbacks = shared_events_1.sharedEvents[event];
21
+ if (!callbacks) {
22
+ return;
23
+ }
24
+ callbacks.forEach(function (callback) { return callback.apply(void 0, args); });
25
+ }
26
+ function emitEvent(event) {
27
+ var args = [];
28
+ for (var _i = 1; _i < arguments.length; _i++) {
29
+ args[_i - 1] = arguments[_i];
30
+ }
31
+ emitter.apply(void 0, __spreadArray([event], args, false));
32
+ }
33
+ if (!emitEvent.memo) {
34
+ emitEvent.memo = function (event) {
35
+ var args = [];
36
+ for (var _i = 1; _i < arguments.length; _i++) {
37
+ args[_i - 1] = arguments[_i];
38
+ }
39
+ shared_events_1.lastEmittedValues[event] = args;
40
+ if (args.length === 1 && args[0] === undefined) {
41
+ (0, clear_memo_1.clearMemo)(event);
42
+ }
43
+ emitter.apply(void 0, __spreadArray([event], args, false));
44
+ };
45
+ }
@@ -0,0 +1,4 @@
1
+ export * from './emit-event';
2
+ export * from './on-event';
3
+ export * from './remove-event';
4
+ export * from './clear-memo';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./emit-event"), exports);
18
+ __exportStar(require("./on-event"), exports);
19
+ __exportStar(require("./remove-event"), exports);
20
+ __exportStar(require("./clear-memo"), exports);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var vitest_1 = require("vitest");
4
+ var shared_events_1 = require("../shared-events");
5
+ var emit_event_1 = require("./emit-event");
6
+ var on_event_1 = require("./on-event");
7
+ var remove_event_1 = require("./remove-event");
8
+ var clear_memo_1 = require("./clear-memo");
9
+ (0, vitest_1.describe)("actions", function () {
10
+ (0, vitest_1.beforeEach)(function () {
11
+ Object.keys(shared_events_1.sharedEvents).forEach(function (key) { return delete shared_events_1.sharedEvents[key]; });
12
+ Object.keys(shared_events_1.lastEmittedValues).forEach(function (key) { return delete shared_events_1.lastEmittedValues[key]; });
13
+ });
14
+ (0, vitest_1.describe)("onEvent", function () {
15
+ (0, vitest_1.it)("registers a single callback", function () {
16
+ var callback = vitest_1.vi.fn();
17
+ (0, on_event_1.onEvent)("test-event", callback);
18
+ (0, vitest_1.expect)(shared_events_1.sharedEvents["test-event"]).toEqual([callback]);
19
+ });
20
+ (0, vitest_1.it)("registers an array of callbacks", function () {
21
+ var callback1 = vitest_1.vi.fn();
22
+ var callback2 = vitest_1.vi.fn();
23
+ (0, on_event_1.onEvent)("test-event", [callback1, callback2]);
24
+ (0, vitest_1.expect)(shared_events_1.sharedEvents["test-event"]).toEqual([callback1, callback2]);
25
+ });
26
+ });
27
+ (0, vitest_1.describe)("emitEvent", function () {
28
+ (0, vitest_1.it)("invokes all callbacks with provided args", function () {
29
+ var callback1 = vitest_1.vi.fn();
30
+ var callback2 = vitest_1.vi.fn();
31
+ (0, on_event_1.onEvent)("test-event", [callback1, callback2]);
32
+ (0, emit_event_1.emitEvent)("test-event", "data", 1);
33
+ (0, vitest_1.expect)(callback1).toHaveBeenCalledWith("data", 1);
34
+ (0, vitest_1.expect)(callback2).toHaveBeenCalledWith("data", 1);
35
+ });
36
+ (0, vitest_1.it)("does nothing when event has no callbacks", function () {
37
+ (0, vitest_1.expect)(function () { return (0, emit_event_1.emitEvent)("missing-event", "data"); }).not.toThrow();
38
+ });
39
+ (0, vitest_1.describe)("memo", function () {
40
+ (0, vitest_1.it)("invokes all callback and stores the value", function () {
41
+ var callback = vitest_1.vi.fn();
42
+ (0, on_event_1.onEvent)("memo-event", callback);
43
+ emit_event_1.emitEvent.memo("memo-event", "memo-data");
44
+ (0, vitest_1.expect)(callback).toHaveBeenCalledWith("memo-data");
45
+ (0, vitest_1.expect)(shared_events_1.lastEmittedValues["memo-event"]).toEqual(["memo-data"]);
46
+ });
47
+ (0, vitest_1.it)("triggers callback immediately if event was already memoized", function () {
48
+ var callback = vitest_1.vi.fn();
49
+ emit_event_1.emitEvent.memo("memo-event", "old-data");
50
+ (0, on_event_1.onEvent)("memo-event", callback);
51
+ (0, vitest_1.expect)(callback).toHaveBeenCalledWith("old-data");
52
+ });
53
+ (0, vitest_1.it)("clears memoized value when emitEvent.memo is called with undefined", function () {
54
+ var callback = vitest_1.vi.fn();
55
+ (0, on_event_1.onEvent)("memo-event", callback);
56
+ emit_event_1.emitEvent.memo("memo-event", "some-data");
57
+ (0, vitest_1.expect)(shared_events_1.lastEmittedValues["memo-event"]).toEqual(["some-data"]);
58
+ (0, vitest_1.expect)(callback).toHaveBeenCalledWith("some-data");
59
+ emit_event_1.emitEvent.memo("memo-event", undefined);
60
+ (0, vitest_1.expect)(shared_events_1.lastEmittedValues["memo-event"]).toBeUndefined();
61
+ (0, vitest_1.expect)(callback).toHaveBeenCalledWith(undefined);
62
+ });
63
+ (0, vitest_1.it)("should not trigger callback immediately when last emitted value is undefined", function () {
64
+ var callback = vitest_1.vi.fn();
65
+ var callback2 = vitest_1.vi.fn();
66
+ emit_event_1.emitEvent.memo("memo-event", "some-data");
67
+ (0, on_event_1.onEvent)("memo-event", callback);
68
+ (0, vitest_1.expect)(callback).toHaveBeenCalledWith("some-data");
69
+ emit_event_1.emitEvent.memo("memo-event", undefined);
70
+ (0, on_event_1.onEvent)("memo-event", callback2);
71
+ (0, vitest_1.expect)(callback).toHaveBeenCalledWith(undefined);
72
+ (0, vitest_1.expect)(callback2).not.toHaveBeenCalled();
73
+ });
74
+ });
75
+ });
76
+ (0, vitest_1.describe)("clearMemo", function () {
77
+ (0, vitest_1.it)("removes the memoized value for a given event", function () {
78
+ emit_event_1.emitEvent.memo("test-event", "data");
79
+ (0, vitest_1.expect)(shared_events_1.lastEmittedValues["test-event"]).toEqual(["data"]);
80
+ (0, clear_memo_1.clearMemo)("test-event");
81
+ (0, vitest_1.expect)(shared_events_1.lastEmittedValues["test-event"]).toBeUndefined();
82
+ });
83
+ (0, vitest_1.it)("does not trigger callbacks", function () {
84
+ var callback = vitest_1.vi.fn();
85
+ (0, on_event_1.onEvent)("test-event", callback);
86
+ emit_event_1.emitEvent.memo("test-event", "data");
87
+ callback.mockClear();
88
+ (0, clear_memo_1.clearMemo)("test-event");
89
+ (0, vitest_1.expect)(callback).not.toHaveBeenCalled();
90
+ });
91
+ });
92
+ (0, vitest_1.describe)("removeEvent", function () {
93
+ (0, vitest_1.it)("removes a single callback", function () {
94
+ var callback = vitest_1.vi.fn();
95
+ (0, on_event_1.onEvent)("test-event", callback);
96
+ (0, remove_event_1.removeEvent)("test-event", callback);
97
+ (0, emit_event_1.emitEvent)("test-event", "data");
98
+ (0, vitest_1.expect)(callback).not.toHaveBeenCalled();
99
+ });
100
+ (0, vitest_1.it)("removes multiple callbacks from array input", function () {
101
+ var callback1 = vitest_1.vi.fn();
102
+ var callback2 = vitest_1.vi.fn();
103
+ (0, on_event_1.onEvent)("test-event", [callback1, callback2]);
104
+ (0, remove_event_1.removeEvent)("test-event", [callback1, callback2]);
105
+ (0, emit_event_1.emitEvent)("test-event", "data");
106
+ (0, vitest_1.expect)(callback1).not.toHaveBeenCalled();
107
+ (0, vitest_1.expect)(callback2).not.toHaveBeenCalled();
108
+ });
109
+ (0, vitest_1.it)("does nothing when event has no callbacks", function () {
110
+ var callback = vitest_1.vi.fn();
111
+ (0, vitest_1.expect)(function () { return (0, remove_event_1.removeEvent)("missing-event", callback); }).not.toThrow();
112
+ });
113
+ });
114
+ });
@@ -0,0 +1,2 @@
1
+ import { EventCallbackType, EventNameType } from "../events.model";
2
+ export declare function onEvent(event: EventNameType, callback: EventCallbackType[] | EventCallbackType): void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.onEvent = onEvent;
4
+ var shared_events_1 = require("../shared-events");
5
+ var utils_1 = require("../utils");
6
+ function onEvent(event, callback) {
7
+ var _a;
8
+ var callbacks = (_a = shared_events_1.sharedEvents[event]) !== null && _a !== void 0 ? _a : [];
9
+ var newCallbacks = (0, utils_1.getAsArray)(callback);
10
+ callbacks.push.apply(callbacks, newCallbacks);
11
+ shared_events_1.sharedEvents[event] = callbacks;
12
+ if (shared_events_1.lastEmittedValues[event]) {
13
+ newCallbacks.forEach(function (callback) { return callback.apply(void 0, shared_events_1.lastEmittedValues[event]); });
14
+ }
15
+ }
@@ -0,0 +1,2 @@
1
+ import { EventCallbackType, EventNameType } from "../events.model";
2
+ export declare function removeEvent(event: EventNameType, callback: EventCallbackType | EventCallbackType[]): void;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeEvent = removeEvent;
4
+ var shared_events_1 = require("../shared-events");
5
+ var utils_1 = require("../utils");
6
+ function removeEvent(event, callback) {
7
+ var declaredCallbacks = shared_events_1.sharedEvents[event];
8
+ if (!declaredCallbacks) {
9
+ return;
10
+ }
11
+ (0, utils_1.getAsArray)(callback).forEach(function (cb) {
12
+ var index = declaredCallbacks.indexOf(cb);
13
+ if (index !== -1) {
14
+ declaredCallbacks.splice(index, 1);
15
+ }
16
+ });
17
+ }
@@ -0,0 +1,5 @@
1
+ export type EventNameType = string | number | symbol;
2
+ export type EventCallbackType = ((...args: any[]) => void) | (() => void);
3
+ export type InitEventsType = {
4
+ [key: EventNameType]: EventCallbackType[] | EventCallbackType;
5
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from './useEvents';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useEvents"), exports);
@@ -0,0 +1,8 @@
1
+ import { InitEventsType } from "../events.model";
2
+ import { emitEvent, onEvent, removeEvent } from "../actions";
3
+ export declare const useEvents: (eventMap?: InitEventsType) => {
4
+ onEvent: typeof onEvent;
5
+ emitEvent: typeof emitEvent;
6
+ removeEvent: typeof removeEvent;
7
+ clearMemo: (key: import("../events.model").EventNameType) => void;
8
+ };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.useEvents = void 0;
13
+ var react_1 = require("react");
14
+ var actions_1 = require("../actions");
15
+ var useEvents = function (eventMap) {
16
+ if (eventMap === void 0) { eventMap = {}; }
17
+ (0, react_1.useEffect)(function () {
18
+ if (!eventMap) {
19
+ return;
20
+ }
21
+ var events = __spreadArray(__spreadArray([], Object.keys(eventMap), true), Object.getOwnPropertySymbols(eventMap), true);
22
+ events.forEach(function (event) {
23
+ (0, actions_1.onEvent)(event, eventMap[event]);
24
+ });
25
+ return function () {
26
+ events.forEach(function (event) {
27
+ (0, actions_1.removeEvent)(event, eventMap[event]);
28
+ });
29
+ };
30
+ }, [eventMap]);
31
+ return { onEvent: actions_1.onEvent, emitEvent: actions_1.emitEvent, removeEvent: actions_1.removeEvent, clearMemo: actions_1.clearMemo };
32
+ };
33
+ exports.useEvents = useEvents;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var react_1 = require("@testing-library/react");
4
+ var useEvents_1 = require("./useEvents");
5
+ var vitest_1 = require("vitest");
6
+ var shared_events_1 = require("../shared-events");
7
+ (0, vitest_1.describe)('useEvents', function () {
8
+ (0, vitest_1.beforeEach)(function () {
9
+ Object.keys(shared_events_1.sharedEvents).forEach(function (key) { return delete shared_events_1.sharedEvents[key]; });
10
+ Object.keys(shared_events_1.lastEmittedValues).forEach(function (key) { return delete shared_events_1.lastEmittedValues[key]; });
11
+ });
12
+ (0, vitest_1.it)('should register and emit events', function () {
13
+ var result = (0, react_1.renderHook)(function () { return (0, useEvents_1.useEvents)(); }).result;
14
+ var callback = vitest_1.vi.fn();
15
+ (0, react_1.act)(function () {
16
+ result.current.onEvent('test-event', callback);
17
+ });
18
+ (0, react_1.act)(function () {
19
+ result.current.emitEvent('test-event', 'data');
20
+ });
21
+ (0, vitest_1.expect)(callback).toHaveBeenCalledWith('data');
22
+ });
23
+ (0, vitest_1.it)('should remove events', function () {
24
+ var result = (0, react_1.renderHook)(function () { return (0, useEvents_1.useEvents)(); }).result;
25
+ var callback = vitest_1.vi.fn();
26
+ (0, react_1.act)(function () {
27
+ result.current.onEvent('test-event', callback);
28
+ result.current.removeEvent('test-event', callback);
29
+ });
30
+ (0, react_1.act)(function () {
31
+ result.current.emitEvent('test-event', 'data');
32
+ });
33
+ (0, vitest_1.expect)(callback).not.toHaveBeenCalled();
34
+ });
35
+ (0, vitest_1.it)('should register events from init map', function () {
36
+ var callback = vitest_1.vi.fn();
37
+ var callbackSymbol = vitest_1.vi.fn();
38
+ var symbolEvent = Symbol('init-event');
39
+ (0, react_1.renderHook)(function () {
40
+ var _a;
41
+ return (0, useEvents_1.useEvents)((_a = {
42
+ 'init-event': callback
43
+ },
44
+ _a[symbolEvent] = callbackSymbol,
45
+ _a));
46
+ });
47
+ var result = (0, react_1.renderHook)(function () { return (0, useEvents_1.useEvents)(); }).result;
48
+ (0, react_1.act)(function () {
49
+ result.current.emitEvent('init-event', 'init-data');
50
+ result.current.emitEvent(symbolEvent);
51
+ });
52
+ (0, vitest_1.expect)(callback).toHaveBeenCalledWith('init-data');
53
+ (0, vitest_1.expect)(callbackSymbol).toHaveBeenCalled();
54
+ });
55
+ (0, vitest_1.it)('should support memoized events', function () {
56
+ var result = (0, react_1.renderHook)(function () { return (0, useEvents_1.useEvents)(); }).result;
57
+ var callback = vitest_1.vi.fn();
58
+ (0, react_1.act)(function () {
59
+ result.current.emitEvent.memo('memo-event', 'memo-data');
60
+ });
61
+ (0, react_1.act)(function () {
62
+ result.current.onEvent('memo-event', callback);
63
+ });
64
+ (0, vitest_1.expect)(callback).toHaveBeenCalledWith('memo-data');
65
+ });
66
+ (0, vitest_1.it)('should clear memoized events', function () {
67
+ var result = (0, react_1.renderHook)(function () { return (0, useEvents_1.useEvents)(); }).result;
68
+ var callback = vitest_1.vi.fn();
69
+ (0, react_1.act)(function () {
70
+ result.current.emitEvent.memo('memo-event', 'memo-data');
71
+ });
72
+ (0, react_1.act)(function () {
73
+ result.current.clearMemo('memo-event');
74
+ });
75
+ (0, react_1.act)(function () {
76
+ result.current.onEvent('memo-event', callback);
77
+ });
78
+ (0, vitest_1.expect)(callback).not.toHaveBeenCalled();
79
+ });
80
+ });
@@ -0,0 +1,3 @@
1
+ export * from './hooks';
2
+ export * from './utils';
3
+ export * from './actions';
package/build/index.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./hooks"), exports);
18
+ __exportStar(require("./utils"), exports);
19
+ __exportStar(require("./actions"), exports);
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("@testing-library/jest-dom");
@@ -0,0 +1,7 @@
1
+ import type { EventCallbackType, EventNameType } from "./events.model";
2
+ export declare const sharedEvents: {
3
+ [key: EventNameType]: EventCallbackType[];
4
+ };
5
+ export declare const lastEmittedValues: {
6
+ [key: EventNameType]: any;
7
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lastEmittedValues = exports.sharedEvents = void 0;
4
+ exports.sharedEvents = {};
5
+ exports.lastEmittedValues = {};
@@ -0,0 +1,2 @@
1
+ import { EventCallbackType } from "./events.model";
2
+ export declare function getAsArray(value: EventCallbackType[] | EventCallbackType): EventCallbackType[];
package/build/utils.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAsArray = getAsArray;
4
+ function getAsArray(value) {
5
+ return Array.isArray(value) ? value : [value];
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var utils_1 = require("./utils");
4
+ var vitest_1 = require("vitest");
5
+ (0, vitest_1.describe)('utils', function () {
6
+ (0, vitest_1.describe)('getAsArray', function () {
7
+ (0, vitest_1.it)('should return the same array if an array is passed', function () {
8
+ var arr = [vitest_1.vi.fn()];
9
+ (0, vitest_1.expect)((0, utils_1.getAsArray)(arr)).toBe(arr);
10
+ });
11
+ (0, vitest_1.it)('should wrap a single value in an array', function () {
12
+ var callback = vitest_1.vi.fn();
13
+ (0, vitest_1.expect)((0, utils_1.getAsArray)(callback)).toEqual([callback]);
14
+ });
15
+ });
16
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alcadur/react-events-hook",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "Helps in easy communication between React components as also with external sources",
5
5
  "keywords": [
6
6
  "react",
@@ -23,7 +23,7 @@
23
23
  "license": "MIT",
24
24
  "author": "Alcadur",
25
25
  "type": "module",
26
- "main": "index.ts",
26
+ "main": "build/index.js",
27
27
  "scripts": {
28
28
  "test": "vitest run"
29
29
  },
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './hooks';
2
2
  export * from './utils';
3
+ export * from './actions';
package/tsconfig.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "outDir": "dist",
3
+ "outDir": "build",
4
4
  "jsx": "react",
5
5
  "skipLibCheck": true,
6
6
  "allowSyntheticDefaultImports": true,