@civet/events 3.0.1 → 4.0.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.
- package/dist/EventHandler.d.ts +1 -1
- package/dist/EventReceiver.d.ts +7 -7
- package/dist/eventPlugin.d.ts +1 -1
- package/dist/main.js +76 -53
- package/dist/useEventHandler.d.ts +2 -2
- package/package.json +3 -3
package/dist/EventHandler.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { GenericEventReceiver, InferEvent, InferOptions, InferResource } from '.
|
|
|
7
7
|
*
|
|
8
8
|
* onEvent can be used to directly access events allowing you to add custom event logic to your components.
|
|
9
9
|
*/
|
|
10
|
-
export default function EventHandler<EventReceiverI extends GenericEventReceiver,
|
|
10
|
+
export default function EventHandler<EventReceiverI extends GenericEventReceiver, EventI extends InferEvent<EventReceiverI> = InferEvent<EventReceiverI>, ResourceI extends InferResource<EventReceiverI> = InferResource<EventReceiverI>, OptionsI extends InferOptions<EventReceiverI> = InferOptions<EventReceiverI>>({ eventReceiver, resource, disabled, options, onEvent, onNotify, children, }: {
|
|
11
11
|
/** EventReceiver to be used */
|
|
12
12
|
eventReceiver?: EventReceiverI;
|
|
13
13
|
/** ResourceContext to be used */
|
package/dist/EventReceiver.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { Constructor, GenericDataProvider, ResourceContextValue } from '@civet/core';
|
|
2
|
-
export default abstract class EventReceiver<Resource extends ResourceContextValue<GenericDataProvider>,
|
|
3
|
-
readonly _inferResource: Resource;
|
|
1
|
+
import { Constructor, GenericDataProvider, Notifier, ResourceContextValue } from '@civet/core';
|
|
2
|
+
export default abstract class EventReceiver<Event, Resource extends ResourceContextValue<GenericDataProvider>, Options> {
|
|
4
3
|
readonly _inferEvent: Event;
|
|
4
|
+
readonly _inferResource: Resource;
|
|
5
5
|
readonly _inferOptions: Options;
|
|
6
|
-
subscribe<
|
|
7
|
-
abstract handleSubscribe(resource: Resource
|
|
6
|
+
subscribe<EventI extends Event = Event, ResourceI extends Resource = Resource, OptionsI extends Options = Options>(resource: Notifier<[ResourceI | undefined]>, options: OptionsI | undefined, handler: (events: EventI[]) => void): () => void;
|
|
7
|
+
abstract handleSubscribe(resource: Notifier<[Resource | undefined]>, options: Options | undefined, handler: (events: Event[]) => void): () => void;
|
|
8
8
|
}
|
|
9
9
|
export declare const isEventReceiver: (eventReceiver: unknown) => boolean;
|
|
10
10
|
export type EventReceiverImplementation<EventReceiverI extends GenericEventReceiver, ConstructorArgs extends any[]> = Constructor<ConstructorArgs, EventReceiverI & {
|
|
11
11
|
handleSubscribe(resource: InferResource<EventReceiverI>, options: InferOptions<EventReceiverI> | undefined, handler: (events: InferEvent<EventReceiverI>[]) => void): () => void;
|
|
12
12
|
}>;
|
|
13
|
-
export type GenericEventReceiver = EventReceiver<ResourceContextValue<GenericDataProvider>, unknown
|
|
14
|
-
export type InferResource<EventReceiverI extends GenericEventReceiver> = EventReceiverI['_inferResource'];
|
|
13
|
+
export type GenericEventReceiver = EventReceiver<unknown, ResourceContextValue<GenericDataProvider>, unknown>;
|
|
15
14
|
export type InferEvent<EventReceiverI extends GenericEventReceiver> = EventReceiverI['_inferEvent'];
|
|
15
|
+
export type InferResource<EventReceiverI extends GenericEventReceiver> = EventReceiverI['_inferResource'];
|
|
16
16
|
export type InferOptions<EventReceiverI extends GenericEventReceiver> = EventReceiverI['_inferOptions'];
|
package/dist/eventPlugin.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GenericDataProviderImplementation } from '@civet/core';
|
|
2
2
|
import { GenericEventReceiver, InferEvent, InferOptions } from './EventReceiver';
|
|
3
|
-
type EventProps<EventReceiverI extends GenericEventReceiver,
|
|
3
|
+
type EventProps<EventReceiverI extends GenericEventReceiver, EventI extends InferEvent<EventReceiverI> = InferEvent<EventReceiverI>, OptionsI extends InferOptions<EventReceiverI> = InferOptions<EventReceiverI>> = {
|
|
4
4
|
events?: {
|
|
5
5
|
/** EventReceiver to be used */
|
|
6
6
|
eventReceiver?: EventReceiverI;
|
package/dist/main.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { createContext as
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { useResourceContext as
|
|
4
|
-
const l =
|
|
1
|
+
import { createContext as H, useContext as P, useMemo as N, useState as y, useEffect as q } from "react";
|
|
2
|
+
import { jsx as x, Fragment as A } from "react/jsx-runtime";
|
|
3
|
+
import { useResourceContext as M, Notifier as B, createPlugin as I } from "@civet/core";
|
|
4
|
+
const l = H({});
|
|
5
5
|
l.displayName = "Events.ConfigContext";
|
|
6
|
-
const
|
|
7
|
-
function
|
|
6
|
+
const V = l.Consumer, k = () => P(l);
|
|
7
|
+
function W(...o) {
|
|
8
8
|
return (...e) => o.reduce(
|
|
9
9
|
(t, r) => t || (typeof r == "function" ? r(...e) : !1),
|
|
10
10
|
!1
|
|
11
11
|
);
|
|
12
12
|
}
|
|
13
|
-
class
|
|
14
|
-
_inferResource;
|
|
13
|
+
class z {
|
|
15
14
|
_inferEvent;
|
|
15
|
+
_inferResource;
|
|
16
16
|
_inferOptions;
|
|
17
17
|
subscribe(e, t, r) {
|
|
18
18
|
if (typeof r != "function")
|
|
@@ -27,20 +27,20 @@ class H {
|
|
|
27
27
|
), n;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
const
|
|
31
|
-
function
|
|
30
|
+
const X = (o) => o instanceof z;
|
|
31
|
+
function Y({
|
|
32
32
|
eventReceiver: o,
|
|
33
33
|
children: e
|
|
34
34
|
}) {
|
|
35
|
-
const t =
|
|
36
|
-
return /* @__PURE__ */
|
|
35
|
+
const t = N(() => ({ eventReceiver: o }), [o]);
|
|
36
|
+
return /* @__PURE__ */ x(l.Provider, { value: t, children: e });
|
|
37
37
|
}
|
|
38
|
-
function
|
|
38
|
+
function G(o) {
|
|
39
39
|
return o && o.__esModule && Object.prototype.hasOwnProperty.call(o, "default") ? o.default : o;
|
|
40
40
|
}
|
|
41
|
-
var
|
|
42
|
-
function
|
|
43
|
-
return
|
|
41
|
+
var E, h;
|
|
42
|
+
function J() {
|
|
43
|
+
return h || (h = 1, E = function o(e, t) {
|
|
44
44
|
if (e === t) return !0;
|
|
45
45
|
if (e && t && typeof e == "object" && typeof t == "object") {
|
|
46
46
|
if (e.constructor !== t.constructor) return !1;
|
|
@@ -58,17 +58,17 @@ function M() {
|
|
|
58
58
|
for (n = r; n-- !== 0; )
|
|
59
59
|
if (!Object.prototype.hasOwnProperty.call(t, s[n])) return !1;
|
|
60
60
|
for (n = r; n-- !== 0; ) {
|
|
61
|
-
var
|
|
62
|
-
if (!o(e[
|
|
61
|
+
var c = s[n];
|
|
62
|
+
if (!o(e[c], t[c])) return !1;
|
|
63
63
|
}
|
|
64
64
|
return !0;
|
|
65
65
|
}
|
|
66
66
|
return e !== e && t !== t;
|
|
67
|
-
}),
|
|
67
|
+
}), E;
|
|
68
68
|
}
|
|
69
|
-
var
|
|
70
|
-
const
|
|
71
|
-
function
|
|
69
|
+
var K = J();
|
|
70
|
+
const L = /* @__PURE__ */ G(K);
|
|
71
|
+
function j({
|
|
72
72
|
eventReceiver: o,
|
|
73
73
|
resource: e,
|
|
74
74
|
disabled: t,
|
|
@@ -76,47 +76,70 @@ function C({
|
|
|
76
76
|
onEvent: n,
|
|
77
77
|
onNotify: s
|
|
78
78
|
}) {
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
typeof s == "function" && R.then((d) => s(d, i));
|
|
79
|
+
const c = k(), a = o || c.eventReceiver, D = M(), u = e === null ? void 0 : e || D, [i, w] = y(
|
|
80
|
+
u
|
|
81
|
+
);
|
|
82
|
+
u?.request !== i?.request && w(u);
|
|
83
|
+
const [p, S] = y(r);
|
|
84
|
+
L(p, r) || S(r);
|
|
85
|
+
const C = !!(t || u?.isDisabled), [
|
|
86
|
+
[R, b, v] = [],
|
|
87
|
+
O
|
|
88
|
+
] = y();
|
|
89
|
+
q(() => {
|
|
90
|
+
if (a == null || C) {
|
|
91
|
+
O(void 0);
|
|
92
|
+
return;
|
|
94
93
|
}
|
|
95
|
-
|
|
94
|
+
const d = new B(), _ = a.subscribe(
|
|
95
|
+
d,
|
|
96
|
+
p,
|
|
97
|
+
(g) => {
|
|
98
|
+
if ((g?.length || 0) === 0) return;
|
|
99
|
+
let f;
|
|
100
|
+
if (typeof n == "function" ? f = g.filter((m) => !n(m)) : f = g, f.length === 0 || typeof i?.notify != "function")
|
|
101
|
+
return;
|
|
102
|
+
const F = i.notify();
|
|
103
|
+
typeof s == "function" && F.then((m) => s(m, f));
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
return d.trigger(i), O([
|
|
107
|
+
i?.request,
|
|
108
|
+
i?.revision,
|
|
109
|
+
d
|
|
110
|
+
]), _;
|
|
111
|
+
}, [a, C, i, p, n, s]), q(() => {
|
|
112
|
+
v == null || u?.request !== R || u?.revision === b || v.trigger(u);
|
|
113
|
+
}, [
|
|
114
|
+
v,
|
|
115
|
+
u,
|
|
116
|
+
R,
|
|
117
|
+
b
|
|
118
|
+
]);
|
|
96
119
|
}
|
|
97
|
-
function
|
|
120
|
+
function Z({
|
|
98
121
|
eventReceiver: o,
|
|
99
122
|
resource: e,
|
|
100
123
|
disabled: t,
|
|
101
124
|
options: r,
|
|
102
125
|
onEvent: n,
|
|
103
126
|
onNotify: s,
|
|
104
|
-
children:
|
|
127
|
+
children: c
|
|
105
128
|
}) {
|
|
106
|
-
return
|
|
129
|
+
return j({
|
|
107
130
|
eventReceiver: o,
|
|
108
131
|
resource: e,
|
|
109
132
|
disabled: t,
|
|
110
133
|
options: r,
|
|
111
134
|
onEvent: n,
|
|
112
135
|
onNotify: s
|
|
113
|
-
}), /* @__PURE__ */
|
|
136
|
+
}), /* @__PURE__ */ x(A, { children: c });
|
|
114
137
|
}
|
|
115
|
-
const
|
|
138
|
+
const $ = I(
|
|
116
139
|
(o) => class extends o {
|
|
117
140
|
extend(t) {
|
|
118
141
|
t.context(
|
|
119
|
-
(r, { events: n = !1 }) => (
|
|
142
|
+
(r, { events: n = !1 }) => (j(
|
|
120
143
|
typeof n == "boolean" ? { disabled: !n, resource: r } : { ...n, resource: r }
|
|
121
144
|
), r)
|
|
122
145
|
);
|
|
@@ -124,13 +147,13 @@ const V = _(
|
|
|
124
147
|
}
|
|
125
148
|
);
|
|
126
149
|
export {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
150
|
+
V as ConfigConsumer,
|
|
151
|
+
Y as ConfigProvider,
|
|
152
|
+
Z as EventHandler,
|
|
153
|
+
z as EventReceiver,
|
|
154
|
+
W as composeHandlers,
|
|
155
|
+
$ as eventPlugin,
|
|
156
|
+
X as isEventReceiver,
|
|
157
|
+
k as useConfigContext,
|
|
158
|
+
j as useEventHandler
|
|
136
159
|
};
|
|
@@ -6,11 +6,11 @@ import { GenericEventReceiver, InferEvent, InferOptions, InferResource } from '.
|
|
|
6
6
|
*
|
|
7
7
|
* onEvent can be used to directly access events allowing you to add custom event logic to your components.
|
|
8
8
|
*/
|
|
9
|
-
export default function useEventHandler<EventReceiverI extends GenericEventReceiver,
|
|
9
|
+
export default function useEventHandler<EventReceiverI extends GenericEventReceiver, EventI extends InferEvent<EventReceiverI> = InferEvent<EventReceiverI>, ResourceI extends InferResource<EventReceiverI> = InferResource<EventReceiverI>, OptionsI extends InferOptions<EventReceiverI> = InferOptions<EventReceiverI>>({ eventReceiver: eventReceiverProp, resource: resourceProp, disabled, options: optionsProp, onEvent, onNotify, }: {
|
|
10
10
|
/** EventReceiver to be used */
|
|
11
11
|
eventReceiver?: EventReceiverI;
|
|
12
12
|
/** ResourceContext to be used */
|
|
13
|
-
resource?: ResourceI;
|
|
13
|
+
resource?: ResourceI | null;
|
|
14
14
|
/** Disables the event handler */
|
|
15
15
|
disabled?: boolean;
|
|
16
16
|
/** Options for the EventReceiver */
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@civet/events",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Civet",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Aaron Burmeister"
|
|
7
7
|
},
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/civet-org/events.git"
|
|
10
|
+
"url": "git+https://github.com/civet-org/events.git"
|
|
11
11
|
},
|
|
12
12
|
"bugs": {
|
|
13
13
|
"url": "https://github.com/civet-org/events/issues"
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"react-dom": ">=18.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@civet/core": "^6.
|
|
58
|
+
"@civet/core": "^6.1.1",
|
|
59
59
|
"@eslint/js": "^9.35.0",
|
|
60
60
|
"@types/react": "^19.1.12",
|
|
61
61
|
"@types/react-dom": "^19.1.9",
|