@joist/element 4.2.3-next.17 → 4.2.3-next.19
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/package.json +1 -1
- package/src/lib/attr.test.ts +33 -1
- package/src/lib/attr.ts +30 -4
- package/src/lib/element.ts +15 -23
- package/src/lib/metadata.ts +5 -7
- package/target/lib/attr.d.ts +1 -1
- package/target/lib/attr.js +23 -4
- package/target/lib/attr.js.map +1 -1
- package/target/lib/attr.test.js +51 -1
- package/target/lib/attr.test.js.map +1 -1
- package/target/lib/element.js +13 -20
- package/target/lib/element.js.map +1 -1
- package/target/lib/metadata.d.ts +4 -2
- package/target/lib/metadata.js.map +1 -1
package/package.json
CHANGED
package/src/lib/attr.test.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { expect } from "chai";
|
|
1
|
+
import { expect, assert } from "chai";
|
|
2
|
+
import { effect, observe } from "@joist/observable";
|
|
2
3
|
|
|
3
4
|
import { attr } from "./attr.js";
|
|
4
5
|
import { element } from "./element.js";
|
|
@@ -209,3 +210,34 @@ it("should update property when attribute changes", async () => {
|
|
|
209
210
|
|
|
210
211
|
el.remove();
|
|
211
212
|
});
|
|
213
|
+
|
|
214
|
+
it("setters should be called when attributes change", async () => {
|
|
215
|
+
let callCount = 0;
|
|
216
|
+
|
|
217
|
+
@element({
|
|
218
|
+
tagName: "attr-test-9",
|
|
219
|
+
})
|
|
220
|
+
class MyElement extends HTMLElement {
|
|
221
|
+
@attr()
|
|
222
|
+
@observe()
|
|
223
|
+
accessor value = "foo";
|
|
224
|
+
|
|
225
|
+
@effect()
|
|
226
|
+
onValueChange() {
|
|
227
|
+
callCount++;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
const el = new MyElement();
|
|
232
|
+
document.body.append(el);
|
|
233
|
+
|
|
234
|
+
el.setAttribute("value", "bar");
|
|
235
|
+
|
|
236
|
+
// needs to wait for the mutation observer to run
|
|
237
|
+
await Promise.resolve();
|
|
238
|
+
await Promise.resolve();
|
|
239
|
+
|
|
240
|
+
assert.equal(callCount, 1);
|
|
241
|
+
|
|
242
|
+
el.remove();
|
|
243
|
+
});
|
package/src/lib/attr.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface AttrOpts {
|
|
|
8
8
|
|
|
9
9
|
export function attr(opts?: AttrOpts) {
|
|
10
10
|
return function attrDecorator<This extends HTMLElement>(
|
|
11
|
-
|
|
11
|
+
base: ClassAccessorDecoratorTarget<This, unknown>,
|
|
12
12
|
ctx: ClassAccessorDecoratorContext<This>,
|
|
13
13
|
): ClassAccessorDecoratorResult<This, any> {
|
|
14
14
|
const attrName = opts?.name ?? parseAttrName(ctx.name);
|
|
@@ -19,11 +19,37 @@ export function attr(opts?: AttrOpts) {
|
|
|
19
19
|
propName: ctx.name,
|
|
20
20
|
observe: opts?.observed ?? true,
|
|
21
21
|
reflect,
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
access: base,
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
ctx.addInitializer(function () {
|
|
26
|
+
const mutation = new MutationObserver(() => {
|
|
27
|
+
base.set.call(this, ctx.access.get(this));
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
mutation.observe(this, { attributeFilter: [attrName] });
|
|
24
31
|
});
|
|
25
32
|
|
|
26
33
|
return {
|
|
34
|
+
get() {
|
|
35
|
+
const ogValue = base.get.call(this);
|
|
36
|
+
|
|
37
|
+
if (typeof ogValue === "boolean") {
|
|
38
|
+
return this.hasAttribute(attrName);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const attrValue = this.getAttribute(attrName);
|
|
42
|
+
|
|
43
|
+
if (attrValue === null) {
|
|
44
|
+
return ogValue;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
if (typeof ogValue === "number") {
|
|
48
|
+
return Number(attrValue);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return attrValue;
|
|
52
|
+
},
|
|
27
53
|
set(value: unknown) {
|
|
28
54
|
if (reflect) {
|
|
29
55
|
if (value === true) {
|
|
@@ -43,7 +69,7 @@ export function attr(opts?: AttrOpts) {
|
|
|
43
69
|
}
|
|
44
70
|
}
|
|
45
71
|
|
|
46
|
-
set.call(this, value);
|
|
72
|
+
base.set.call(this, value);
|
|
47
73
|
},
|
|
48
74
|
};
|
|
49
75
|
};
|
package/src/lib/element.ts
CHANGED
|
@@ -25,7 +25,15 @@ export function element<T extends ElementConstructor>(opts?: ElementOpts) {
|
|
|
25
25
|
|
|
26
26
|
const def = {
|
|
27
27
|
[Base.name]: class extends Base {
|
|
28
|
-
static observedAttributes: string[] =
|
|
28
|
+
static observedAttributes: string[] = [];
|
|
29
|
+
|
|
30
|
+
static {
|
|
31
|
+
for (const [key, value] of meta.attrs) {
|
|
32
|
+
if (value.observe) {
|
|
33
|
+
this.observedAttributes.push(key);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
29
37
|
|
|
30
38
|
#abortController: AbortController | null = null;
|
|
31
39
|
|
|
@@ -52,31 +60,14 @@ export function element<T extends ElementConstructor>(opts?: ElementOpts) {
|
|
|
52
60
|
const cbs = meta.attrChanges.get(name);
|
|
53
61
|
|
|
54
62
|
if (attr) {
|
|
55
|
-
if (oldValue !== newValue) {
|
|
56
|
-
const ogValue = attr.getPropValue.call(this);
|
|
57
|
-
|
|
58
|
-
if (typeof ogValue === "boolean") {
|
|
59
|
-
// treat as boolean
|
|
60
|
-
attr.setPropValue.call(this, newValue !== null);
|
|
61
|
-
} else if (typeof ogValue === "number") {
|
|
62
|
-
// treat as number
|
|
63
|
-
attr.setPropValue.call(this, Number(newValue));
|
|
64
|
-
} else {
|
|
65
|
-
// treat as string
|
|
66
|
-
attr.setPropValue.call(this, newValue);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
63
|
if (cbs) {
|
|
71
64
|
for (const cb of cbs) {
|
|
72
65
|
cb.call(this, name, oldValue, newValue);
|
|
73
66
|
}
|
|
74
67
|
}
|
|
75
68
|
|
|
76
|
-
if (
|
|
77
|
-
|
|
78
|
-
super.attributeChangedCallback(name, oldValue, newValue);
|
|
79
|
-
}
|
|
69
|
+
if (super.attributeChangedCallback) {
|
|
70
|
+
super.attributeChangedCallback(name, oldValue, newValue);
|
|
80
71
|
}
|
|
81
72
|
}
|
|
82
73
|
}
|
|
@@ -123,9 +114,9 @@ export function element<T extends ElementConstructor>(opts?: ElementOpts) {
|
|
|
123
114
|
}
|
|
124
115
|
|
|
125
116
|
function reflectAttributeValues<T extends HTMLElement>(el: T, attrs: AttrMetadata) {
|
|
126
|
-
for (const [attrName, {
|
|
117
|
+
for (const [attrName, { access, reflect }] of attrs) {
|
|
127
118
|
if (reflect) {
|
|
128
|
-
const value =
|
|
119
|
+
const value = access.get.call(el);
|
|
129
120
|
|
|
130
121
|
// reflect values back to attributes
|
|
131
122
|
if (value !== null && value !== undefined && value !== "") {
|
|
@@ -136,7 +127,8 @@ function reflectAttributeValues<T extends HTMLElement>(el: T, attrs: AttrMetadat
|
|
|
136
127
|
el.setAttribute(attrName, "");
|
|
137
128
|
}
|
|
138
129
|
}
|
|
139
|
-
} else {
|
|
130
|
+
} else if (!el.hasAttribute(attrName)) {
|
|
131
|
+
// only set parent attribute if it doesn't exist
|
|
140
132
|
// set key/value attribute
|
|
141
133
|
const strValue = String(value);
|
|
142
134
|
|
package/src/lib/metadata.ts
CHANGED
|
@@ -4,8 +4,10 @@ export interface AttrDef {
|
|
|
4
4
|
propName: string | symbol;
|
|
5
5
|
observe: boolean;
|
|
6
6
|
reflect: boolean;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
access: {
|
|
8
|
+
get: () => unknown;
|
|
9
|
+
set: (value: unknown) => void;
|
|
10
|
+
};
|
|
9
11
|
}
|
|
10
12
|
|
|
11
13
|
export type ListenerSelector<T> = (el: T) => EventTarget | null;
|
|
@@ -16,11 +18,7 @@ export interface Listener<T> {
|
|
|
16
18
|
selector: ListenerSelector<T>;
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
export type AttrChangedCallback = (
|
|
20
|
-
name: string,
|
|
21
|
-
oldValue: string,
|
|
22
|
-
newValue: string,
|
|
23
|
-
) => void;
|
|
21
|
+
export type AttrChangedCallback = (name: string, oldValue: string, newValue: string) => void;
|
|
24
22
|
|
|
25
23
|
export class AttrMetadata extends Map<string, AttrDef> {}
|
|
26
24
|
export class AttrChangeMetadata extends Map<string, Set<AttrChangedCallback>> {}
|
package/target/lib/attr.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ export interface AttrOpts {
|
|
|
3
3
|
observed?: boolean;
|
|
4
4
|
reflect?: boolean;
|
|
5
5
|
}
|
|
6
|
-
export declare function attr(opts?: AttrOpts): <This extends HTMLElement>(
|
|
6
|
+
export declare function attr(opts?: AttrOpts): <This extends HTMLElement>(base: ClassAccessorDecoratorTarget<This, unknown>, ctx: ClassAccessorDecoratorContext<This>) => ClassAccessorDecoratorResult<This, any>;
|
package/target/lib/attr.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { metadataStore } from "./metadata.js";
|
|
2
2
|
export function attr(opts) {
|
|
3
|
-
return function attrDecorator(
|
|
3
|
+
return function attrDecorator(base, ctx) {
|
|
4
4
|
const attrName = opts?.name ?? parseAttrName(ctx.name);
|
|
5
5
|
const meta = metadataStore.read(ctx.metadata);
|
|
6
6
|
const reflect = opts?.reflect ?? true;
|
|
@@ -8,10 +8,29 @@ export function attr(opts) {
|
|
|
8
8
|
propName: ctx.name,
|
|
9
9
|
observe: opts?.observed ?? true,
|
|
10
10
|
reflect,
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
access: base,
|
|
12
|
+
});
|
|
13
|
+
ctx.addInitializer(function () {
|
|
14
|
+
const mutation = new MutationObserver(() => {
|
|
15
|
+
base.set.call(this, ctx.access.get(this));
|
|
16
|
+
});
|
|
17
|
+
mutation.observe(this, { attributeFilter: [attrName] });
|
|
13
18
|
});
|
|
14
19
|
return {
|
|
20
|
+
get() {
|
|
21
|
+
const ogValue = base.get.call(this);
|
|
22
|
+
if (typeof ogValue === "boolean") {
|
|
23
|
+
return this.hasAttribute(attrName);
|
|
24
|
+
}
|
|
25
|
+
const attrValue = this.getAttribute(attrName);
|
|
26
|
+
if (attrValue === null) {
|
|
27
|
+
return ogValue;
|
|
28
|
+
}
|
|
29
|
+
if (typeof ogValue === "number") {
|
|
30
|
+
return Number(attrValue);
|
|
31
|
+
}
|
|
32
|
+
return attrValue;
|
|
33
|
+
},
|
|
15
34
|
set(value) {
|
|
16
35
|
if (reflect) {
|
|
17
36
|
if (value === true) {
|
|
@@ -31,7 +50,7 @@ export function attr(opts) {
|
|
|
31
50
|
}
|
|
32
51
|
}
|
|
33
52
|
}
|
|
34
|
-
set.call(this, value);
|
|
53
|
+
base.set.call(this, value);
|
|
35
54
|
},
|
|
36
55
|
};
|
|
37
56
|
};
|
package/target/lib/attr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attr.js","sourceRoot":"","sources":["../../src/lib/attr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAQ9C,MAAM,UAAU,IAAI,CAAC,IAAe;IAClC,OAAO,SAAS,aAAa,CAC3B,
|
|
1
|
+
{"version":3,"file":"attr.js","sourceRoot":"","sources":["../../src/lib/attr.ts"],"names":[],"mappings":"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"}
|
package/target/lib/attr.test.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __esDecorate, __propKey, __runInitializers } from "tslib";
|
|
2
|
-
import { expect } from "chai";
|
|
2
|
+
import { expect, assert } from "chai";
|
|
3
|
+
import { effect, observe } from "@joist/observable";
|
|
3
4
|
import { attr } from "./attr.js";
|
|
4
5
|
import { element } from "./element.js";
|
|
5
6
|
it("should read and parse the correct values", () => {
|
|
@@ -427,4 +428,53 @@ it("should update property when attribute changes", async () => {
|
|
|
427
428
|
expect(el.enabled).to.equal(false);
|
|
428
429
|
el.remove();
|
|
429
430
|
});
|
|
431
|
+
it("setters should be called when attributes change", async () => {
|
|
432
|
+
let callCount = 0;
|
|
433
|
+
let MyElement = (() => {
|
|
434
|
+
let _classDecorators = [element({
|
|
435
|
+
tagName: "attr-test-9",
|
|
436
|
+
})];
|
|
437
|
+
let _classDescriptor;
|
|
438
|
+
let _classExtraInitializers = [];
|
|
439
|
+
let _classThis;
|
|
440
|
+
let _classSuper = HTMLElement;
|
|
441
|
+
let _instanceExtraInitializers = [];
|
|
442
|
+
let _value_decorators;
|
|
443
|
+
let _value_initializers = [];
|
|
444
|
+
let _value_extraInitializers = [];
|
|
445
|
+
let _onValueChange_decorators;
|
|
446
|
+
var MyElement = class extends _classSuper {
|
|
447
|
+
static { _classThis = this; }
|
|
448
|
+
static {
|
|
449
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
450
|
+
_value_decorators = [attr(), observe()];
|
|
451
|
+
_onValueChange_decorators = [effect()];
|
|
452
|
+
__esDecorate(this, null, _value_decorators, { kind: "accessor", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
|
|
453
|
+
__esDecorate(this, null, _onValueChange_decorators, { kind: "method", name: "onValueChange", static: false, private: false, access: { has: obj => "onValueChange" in obj, get: obj => obj.onValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
454
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
455
|
+
MyElement = _classThis = _classDescriptor.value;
|
|
456
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
457
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
458
|
+
}
|
|
459
|
+
#value_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, "foo"));
|
|
460
|
+
get value() { return this.#value_accessor_storage; }
|
|
461
|
+
set value(value) { this.#value_accessor_storage = value; }
|
|
462
|
+
onValueChange() {
|
|
463
|
+
callCount++;
|
|
464
|
+
}
|
|
465
|
+
constructor() {
|
|
466
|
+
super(...arguments);
|
|
467
|
+
__runInitializers(this, _value_extraInitializers);
|
|
468
|
+
}
|
|
469
|
+
};
|
|
470
|
+
return MyElement = _classThis;
|
|
471
|
+
})();
|
|
472
|
+
const el = new MyElement();
|
|
473
|
+
document.body.append(el);
|
|
474
|
+
el.setAttribute("value", "bar");
|
|
475
|
+
await Promise.resolve();
|
|
476
|
+
await Promise.resolve();
|
|
477
|
+
assert.equal(callCount, 1);
|
|
478
|
+
el.remove();
|
|
479
|
+
});
|
|
430
480
|
//# sourceMappingURL=attr.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attr.test.js","sourceRoot":"","sources":["../../src/lib/attr.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"attr.test.js","sourceRoot":"","sources":["../../src/lib/attr.test.ts"],"names":[],"mappings":"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"}
|
package/target/lib/element.js
CHANGED
|
@@ -11,7 +11,14 @@ export function element(opts) {
|
|
|
11
11
|
});
|
|
12
12
|
const def = {
|
|
13
13
|
[Base.name]: class extends Base {
|
|
14
|
-
static observedAttributes =
|
|
14
|
+
static observedAttributes = [];
|
|
15
|
+
static {
|
|
16
|
+
for (const [key, value] of meta.attrs) {
|
|
17
|
+
if (value.observe) {
|
|
18
|
+
this.observedAttributes.push(key);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
15
22
|
#abortController = null;
|
|
16
23
|
constructor(...args) {
|
|
17
24
|
super(...args);
|
|
@@ -31,27 +38,13 @@ export function element(opts) {
|
|
|
31
38
|
const attr = meta.attrs.get(name);
|
|
32
39
|
const cbs = meta.attrChanges.get(name);
|
|
33
40
|
if (attr) {
|
|
34
|
-
if (oldValue !== newValue) {
|
|
35
|
-
const ogValue = attr.getPropValue.call(this);
|
|
36
|
-
if (typeof ogValue === "boolean") {
|
|
37
|
-
attr.setPropValue.call(this, newValue !== null);
|
|
38
|
-
}
|
|
39
|
-
else if (typeof ogValue === "number") {
|
|
40
|
-
attr.setPropValue.call(this, Number(newValue));
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
attr.setPropValue.call(this, newValue);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
41
|
if (cbs) {
|
|
47
42
|
for (const cb of cbs) {
|
|
48
43
|
cb.call(this, name, oldValue, newValue);
|
|
49
44
|
}
|
|
50
45
|
}
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
super.attributeChangedCallback(name, oldValue, newValue);
|
|
54
|
-
}
|
|
46
|
+
if (super.attributeChangedCallback) {
|
|
47
|
+
super.attributeChangedCallback(name, oldValue, newValue);
|
|
55
48
|
}
|
|
56
49
|
}
|
|
57
50
|
}
|
|
@@ -90,9 +83,9 @@ export function element(opts) {
|
|
|
90
83
|
};
|
|
91
84
|
}
|
|
92
85
|
function reflectAttributeValues(el, attrs) {
|
|
93
|
-
for (const [attrName, {
|
|
86
|
+
for (const [attrName, { access, reflect }] of attrs) {
|
|
94
87
|
if (reflect) {
|
|
95
|
-
const value =
|
|
88
|
+
const value = access.get.call(el);
|
|
96
89
|
if (value !== null && value !== undefined && value !== "") {
|
|
97
90
|
if (typeof value === "boolean") {
|
|
98
91
|
if (value === true) {
|
|
@@ -101,7 +94,7 @@ function reflectAttributeValues(el, attrs) {
|
|
|
101
94
|
}
|
|
102
95
|
}
|
|
103
96
|
}
|
|
104
|
-
else {
|
|
97
|
+
else if (!el.hasAttribute(attrName)) {
|
|
105
98
|
const strValue = String(value);
|
|
106
99
|
if (el.getAttribute(attrName) !== strValue) {
|
|
107
100
|
el.setAttribute(attrName, strValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/lib/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,eAAe,CAAC;AAajE,MAAM,UAAU,OAAO,CAA+B,IAAkB;IACtE,OAAO,SAAS,gBAAgB,CAAC,IAAO,EAAE,GAA6B;QACrE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,GAAG,CAAC,cAAc,CAAC;YACjB,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG;YACV,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAM,SAAQ,IAAI;gBAC7B,MAAM,CAAC,kBAAkB,GAAa,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../src/lib/element.ts"],"names":[],"mappings":"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"}
|
package/target/lib/metadata.d.ts
CHANGED
|
@@ -2,8 +2,10 @@ export interface AttrDef {
|
|
|
2
2
|
propName: string | symbol;
|
|
3
3
|
observe: boolean;
|
|
4
4
|
reflect: boolean;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
access: {
|
|
6
|
+
get: () => unknown;
|
|
7
|
+
set: (value: unknown) => void;
|
|
8
|
+
};
|
|
7
9
|
}
|
|
8
10
|
export type ListenerSelector<T> = (el: T) => EventTarget | null;
|
|
9
11
|
export interface Listener<T> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/lib/metadata.ts"],"names":[],"mappings":"AAAC,MAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/lib/metadata.ts"],"names":[],"mappings":"AAAC,MAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAsBvD,MAAM,OAAO,YAAa,SAAQ,GAAoB;CAAG;AACzD,MAAM,OAAO,kBAAmB,SAAQ,GAAqC;CAAG;AAEhF,MAAM,OAAO,eAAe;IAC1B,KAAK,GAAiB,IAAI,YAAY,EAAE,CAAC;IACzC,WAAW,GAAuB,IAAI,kBAAkB,EAAE,CAAC;IAC3D,SAAS,GAAkB,EAAE,CAAC;IAC9B,OAAO,GAAoB,IAAI,GAAG,EAAE,CAAC;CACtC;AAED,MAAM,OAAO,aAAc,SAAQ,OAAyC;IAC1E,IAAI,CAAI,KAAa;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,eAAe,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAA6B,CAAC;IACrD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAkB,IAAI,aAAa,EAAE,CAAC"}
|