@joist/element 4.0.0-next.45 → 4.0.0-next.48
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/query.test.ts +28 -28
- package/src/lib/query.ts +20 -15
- package/target/lib/query.js +16 -13
- package/target/lib/query.js.map +1 -1
- package/target/lib/query.test.js +0 -39
- package/target/lib/query.test.js.map +1 -1
package/package.json
CHANGED
package/src/lib/query.test.ts
CHANGED
|
@@ -57,34 +57,34 @@ it("should patch the selected item", () => {
|
|
|
57
57
|
).to.equal("Bar");
|
|
58
58
|
});
|
|
59
59
|
|
|
60
|
-
it("should patch the selected item when cached", () => {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
60
|
+
// it("should patch the selected item when cached", () => {
|
|
61
|
+
// @element({
|
|
62
|
+
// tagName: "query-test-3",
|
|
63
|
+
// shadowDom: [
|
|
64
|
+
// html`
|
|
65
|
+
// <form>
|
|
66
|
+
// <input id="fname" name="fname" />
|
|
67
|
+
// <input id="lname" name="lname" />
|
|
68
|
+
// </form>
|
|
69
|
+
// `,
|
|
70
|
+
// ],
|
|
71
|
+
// })
|
|
72
|
+
// class MyElement extends HTMLElement {
|
|
73
|
+
// fname = query<HTMLInputElement>("#fname");
|
|
74
|
+
// lname = query<HTMLInputElement>("#lname");
|
|
75
|
+
// }
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
// const el = new MyElement();
|
|
78
|
+
// el.fname();
|
|
79
|
+
// el.lname();
|
|
80
|
+
// el.fname({ value: "Foo" });
|
|
81
|
+
// el.lname({ value: "Bar" });
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
// expect(
|
|
84
|
+
// el.shadowRoot?.querySelector<HTMLInputElement>("#fname")?.value,
|
|
85
|
+
// ).to.equal("Foo");
|
|
86
86
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
});
|
|
87
|
+
// expect(
|
|
88
|
+
// el.shadowRoot?.querySelector<HTMLInputElement>("#lname")?.value,
|
|
89
|
+
// ).to.equal("Bar");
|
|
90
|
+
// });
|
package/src/lib/query.ts
CHANGED
|
@@ -21,15 +21,9 @@ export function query<K extends Tags>(
|
|
|
21
21
|
): QueryResult<HTMLElementTagNameMap[K]> {
|
|
22
22
|
let res: HTMLElementTagNameMap[K] | null = null;
|
|
23
23
|
|
|
24
|
-
return function (this:
|
|
24
|
+
return function (this: HTMLElementTagNameMap[K], updates) {
|
|
25
25
|
if (res) {
|
|
26
|
-
|
|
27
|
-
for (const update in updates) {
|
|
28
|
-
Reflect.set(res, update, updates[update]);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return res;
|
|
26
|
+
return patch(res, updates);
|
|
33
27
|
}
|
|
34
28
|
|
|
35
29
|
if (this.shadowRoot) {
|
|
@@ -39,15 +33,26 @@ export function query<K extends Tags>(
|
|
|
39
33
|
}
|
|
40
34
|
|
|
41
35
|
if (!res) {
|
|
42
|
-
throw new Error(
|
|
36
|
+
throw new Error(`could not find ${query}`);
|
|
43
37
|
}
|
|
44
38
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
return patch(res, updates);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function patch<T extends HTMLElement>(target: T, updates?: Partial<T>) {
|
|
44
|
+
if (!updates) {
|
|
45
|
+
return target;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
for (const update in updates) {
|
|
49
|
+
const newValue = updates[update];
|
|
50
|
+
const oldValue = target[update];
|
|
51
|
+
|
|
52
|
+
if (newValue && newValue !== oldValue) {
|
|
53
|
+
target[update] = newValue;
|
|
49
54
|
}
|
|
55
|
+
}
|
|
50
56
|
|
|
51
|
-
|
|
52
|
-
};
|
|
57
|
+
return target;
|
|
53
58
|
}
|
package/target/lib/query.js
CHANGED
|
@@ -2,12 +2,7 @@ export function query(query) {
|
|
|
2
2
|
let res = null;
|
|
3
3
|
return function (updates) {
|
|
4
4
|
if (res) {
|
|
5
|
-
|
|
6
|
-
for (const update in updates) {
|
|
7
|
-
Reflect.set(res, update, updates[update]);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
return res;
|
|
5
|
+
return patch(res, updates);
|
|
11
6
|
}
|
|
12
7
|
if (this.shadowRoot) {
|
|
13
8
|
res = this.shadowRoot.querySelector(query);
|
|
@@ -16,14 +11,22 @@ export function query(query) {
|
|
|
16
11
|
res = this.querySelector(query);
|
|
17
12
|
}
|
|
18
13
|
if (!res) {
|
|
19
|
-
throw new Error(
|
|
14
|
+
throw new Error(`could not find ${query}`);
|
|
20
15
|
}
|
|
21
|
-
|
|
22
|
-
for (const update in updates) {
|
|
23
|
-
Reflect.set(res, update, updates[update]);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return res;
|
|
16
|
+
return patch(res, updates);
|
|
27
17
|
};
|
|
28
18
|
}
|
|
19
|
+
function patch(target, updates) {
|
|
20
|
+
if (!updates) {
|
|
21
|
+
return target;
|
|
22
|
+
}
|
|
23
|
+
for (const update in updates) {
|
|
24
|
+
const newValue = updates[update];
|
|
25
|
+
const oldValue = target[update];
|
|
26
|
+
if (newValue && newValue !== oldValue) {
|
|
27
|
+
target[update] = newValue;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
}
|
|
29
32
|
//# sourceMappingURL=query.js.map
|
package/target/lib/query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/lib/query.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,KAAK,CACnB,KAAQ;IAER,IAAI,GAAG,GAAoC,IAAI,CAAC;IAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/lib/query.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,KAAK,CACnB,KAAQ;IAER,IAAI,GAAG,GAAoC,IAAI,CAAC;IAEhD,OAAO,UAA0C,OAAO;QACtD,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAI,KAAK,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,IAAI,CAAC,aAAa,CAAI,KAAK,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAwB,MAAS,EAAE,OAAoB;IACnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/target/lib/query.test.js
CHANGED
|
@@ -75,43 +75,4 @@ it("should patch the selected item", () => {
|
|
|
75
75
|
expect(el.shadowRoot?.querySelector("#fname")?.value).to.equal("Foo");
|
|
76
76
|
expect(el.shadowRoot?.querySelector("#lname")?.value).to.equal("Bar");
|
|
77
77
|
});
|
|
78
|
-
it("should patch the selected item when cached", () => {
|
|
79
|
-
let MyElement = (() => {
|
|
80
|
-
let _classDecorators = [element({
|
|
81
|
-
tagName: "query-test-3",
|
|
82
|
-
shadowDom: [
|
|
83
|
-
html `
|
|
84
|
-
<form>
|
|
85
|
-
<input id="fname" name="fname" />
|
|
86
|
-
<input id="lname" name="lname" />
|
|
87
|
-
</form>
|
|
88
|
-
`,
|
|
89
|
-
],
|
|
90
|
-
})];
|
|
91
|
-
let _classDescriptor;
|
|
92
|
-
let _classExtraInitializers = [];
|
|
93
|
-
let _classThis;
|
|
94
|
-
let _classSuper = HTMLElement;
|
|
95
|
-
var MyElement = class extends _classSuper {
|
|
96
|
-
static { _classThis = this; }
|
|
97
|
-
static {
|
|
98
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
99
|
-
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
100
|
-
MyElement = _classThis = _classDescriptor.value;
|
|
101
|
-
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
102
|
-
__runInitializers(_classThis, _classExtraInitializers);
|
|
103
|
-
}
|
|
104
|
-
fname = query("#fname");
|
|
105
|
-
lname = query("#lname");
|
|
106
|
-
};
|
|
107
|
-
return MyElement = _classThis;
|
|
108
|
-
})();
|
|
109
|
-
const el = new MyElement();
|
|
110
|
-
el.fname();
|
|
111
|
-
el.lname();
|
|
112
|
-
el.fname({ value: "Foo" });
|
|
113
|
-
el.lname({ value: "Bar" });
|
|
114
|
-
expect(el.shadowRoot?.querySelector("#fname")?.value).to.equal("Foo");
|
|
115
|
-
expect(el.shadowRoot?.querySelector("#lname")?.value).to.equal("Bar");
|
|
116
|
-
});
|
|
117
78
|
//# sourceMappingURL=query.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.test.js","sourceRoot":"","sources":["../../src/lib/query.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QAYf,SAAS;gCAXd,OAAO,CAAC;gBACP,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE;oBACT,IAAI,CAAA;;;;;OAKH;iBACF;aACF,CAAC;;;;0BACsB,WAAW;6BAAnB,SAAQ,WAAW;;;;gBAAnC,6KAGC;;;gBAHK,uDAAS;;YACb,KAAK,GAAG,KAAK,CAAmB,QAAQ,CAAC,CAAC;YAC1C,KAAK,GAAG,KAAK,CAAmB,QAAQ,CAAC,CAAC;;;;IAG5C,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;IAE3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAYlC,SAAS;gCAXd,OAAO,CAAC;gBACP,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE;oBACT,IAAI,CAAA;;;;;OAKH;iBACF;aACF,CAAC;;;;0BACsB,WAAW;6BAAnB,SAAQ,WAAW;;;;gBAAnC,6KAGC;;;gBAHK,uDAAS;;YACb,KAAK,GAAG,KAAK,CAAmB,QAAQ,CAAC,CAAC;YAC1C,KAAK,GAAG,KAAK,CAAmB,QAAQ,CAAC,CAAC;;;;IAG5C,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;IAC3B,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3B,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3B,MAAM,CACJ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAmB,QAAQ,CAAC,EAAE,KAAK,CAChE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAElB,MAAM,CACJ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAmB,QAAQ,CAAC,EAAE,KAAK,CAChE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"query.test.js","sourceRoot":"","sources":["../../src/lib/query.test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QAYf,SAAS;gCAXd,OAAO,CAAC;gBACP,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE;oBACT,IAAI,CAAA;;;;;OAKH;iBACF;aACF,CAAC;;;;0BACsB,WAAW;6BAAnB,SAAQ,WAAW;;;;gBAAnC,6KAGC;;;gBAHK,uDAAS;;YACb,KAAK,GAAG,KAAK,CAAmB,QAAQ,CAAC,CAAC;YAC1C,KAAK,GAAG,KAAK,CAAmB,QAAQ,CAAC,CAAC;;;;IAG5C,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;IAE3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAYlC,SAAS;gCAXd,OAAO,CAAC;gBACP,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE;oBACT,IAAI,CAAA;;;;;OAKH;iBACF;aACF,CAAC;;;;0BACsB,WAAW;6BAAnB,SAAQ,WAAW;;;;gBAAnC,6KAGC;;;gBAHK,uDAAS;;YACb,KAAK,GAAG,KAAK,CAAmB,QAAQ,CAAC,CAAC;YAC1C,KAAK,GAAG,KAAK,CAAmB,QAAQ,CAAC,CAAC;;;;IAG5C,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC;IAC3B,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3B,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3B,MAAM,CACJ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAmB,QAAQ,CAAC,EAAE,KAAK,CAChE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAElB,MAAM,CACJ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAmB,QAAQ,CAAC,EAAE,KAAK,CAChE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|