@reidelsaltres/pureper 0.2.20 → 0.2.22
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ImplementationStruct } from "./Injection.js";
|
|
2
|
-
export declare const REGISTRY: (() => void)[];
|
|
2
|
+
export declare const REGISTRY: (() => Promise<void>)[];
|
|
3
3
|
export declare enum AccessType {
|
|
4
4
|
NONE = 0,
|
|
5
5
|
OFFLINE = 1,
|
|
@@ -34,6 +34,7 @@ export type TripletStruct = ImplementationStruct & {
|
|
|
34
34
|
*/
|
|
35
35
|
export default class Triplet {
|
|
36
36
|
private readonly access;
|
|
37
|
+
private readonly path;
|
|
37
38
|
private readonly placeholderName?;
|
|
38
39
|
private readonly implementation;
|
|
39
40
|
constructor(struct: TripletStruct, implName?: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Triplet.d.ts","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AAQA,OAAO,EAAkB,oBAAoB,EAAe,MAAM,gBAAgB,CAAC;AAEnF,eAAO,MAAM,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Triplet.d.ts","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AAQA,OAAO,EAAkB,oBAAoB,EAAe,MAAM,gBAAgB,CAAC;AAEnF,eAAO,MAAM,QAAQ,EAAE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAO,CAAC;AAEpD,oBAAY,UAAU;IAClB,IAAI,IAAI;IACR,OAAO,IAAS;IAChB,MAAM,IAAS;IACf,IAAI,IAAmB;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAE7B,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM;IAQ9C,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA0GhF"}
|
|
@@ -37,17 +37,18 @@ export var AccessType;
|
|
|
37
37
|
*/
|
|
38
38
|
export default class Triplet {
|
|
39
39
|
access;
|
|
40
|
+
path;
|
|
40
41
|
placeholderName;
|
|
41
42
|
implementation;
|
|
42
43
|
constructor(struct, implName) {
|
|
43
44
|
this.access = struct.access ?? AccessType.BOTH;
|
|
45
|
+
this.path = struct.markupURL ?? "";
|
|
44
46
|
const name = implName ?? struct.class?.name ?? "default";
|
|
45
47
|
this.implementation = new Implementation(name, struct);
|
|
46
48
|
}
|
|
47
49
|
async register(type, name) {
|
|
48
50
|
const placeholder = Placeholder.get(name);
|
|
49
51
|
placeholder.addImplementation(this.implementation);
|
|
50
|
-
// If the placeholder already has a registered element/route, skip re-registration
|
|
51
52
|
if (placeholder.implementations.size > 1) {
|
|
52
53
|
console.info(`[Triplet]: Implementation "${this.implementation.name}" added to existing placeholder "${name}"`);
|
|
53
54
|
return;
|
|
@@ -56,11 +57,10 @@ export default class Triplet {
|
|
|
56
57
|
if (globalCss) {
|
|
57
58
|
document.adoptedStyleSheets.push(await new CSSStyleSheet().replace(globalCss));
|
|
58
59
|
}
|
|
59
|
-
// First implementation — register the placeholder shell
|
|
60
60
|
if (type === "router") {
|
|
61
|
-
REGISTRY.push(() => {
|
|
61
|
+
REGISTRY.push(async () => {
|
|
62
62
|
const routePath = name;
|
|
63
|
-
Router.registerRoute(
|
|
63
|
+
Router.registerRoute(this.path, routePath, (search) => {
|
|
64
64
|
const impl = placeholder.getActive();
|
|
65
65
|
const cls = impl.uniClass ?? Page;
|
|
66
66
|
const paramNames = (() => {
|
|
@@ -96,7 +96,7 @@ export default class Triplet {
|
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
98
|
else if (type === "markup") {
|
|
99
|
-
REGISTRY.push(() => {
|
|
99
|
+
REGISTRY.push(async () => {
|
|
100
100
|
if (customElements.get(name))
|
|
101
101
|
throw new Error(`Custom element '${name}' is already defined.`);
|
|
102
102
|
const cls = this.implementation.uniClass ?? Component;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Triplet.js","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,IAAI,MAAM,yBAAyB,CAAC;AAC3C,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAErD,OAAO,cAAkC,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAwB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEnF,MAAM,CAAC,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"Triplet.js","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@ import TemplateEngine, { TemplateHolder } from "./engine/TemplateEngine.js";
|
|
|
8
8
|
import Scope from "./engine/Scope.js";
|
|
9
9
|
import { Implementation, ImplementationStruct, Placeholder } from "./Injection.js";
|
|
10
10
|
|
|
11
|
-
export const REGISTRY: (() => void)[] = [];
|
|
11
|
+
export const REGISTRY: (() => Promise<void>)[] = [];
|
|
12
12
|
|
|
13
13
|
export enum AccessType {
|
|
14
14
|
NONE = 0,
|
|
@@ -46,11 +46,13 @@ export type TripletStruct = ImplementationStruct & {
|
|
|
46
46
|
*/
|
|
47
47
|
export default class Triplet {
|
|
48
48
|
private readonly access: AccessType;
|
|
49
|
+
private readonly path: string;
|
|
49
50
|
private readonly placeholderName?: string;
|
|
50
51
|
private readonly implementation: Implementation;
|
|
51
52
|
|
|
52
53
|
public constructor(struct: TripletStruct, implName?: string) {
|
|
53
54
|
this.access = struct.access ?? AccessType.BOTH;
|
|
55
|
+
this.path = struct.markupURL ?? "";
|
|
54
56
|
|
|
55
57
|
const name = implName ?? struct.class?.name ?? "default";
|
|
56
58
|
this.implementation = new Implementation(name, struct);
|
|
@@ -60,7 +62,6 @@ export default class Triplet {
|
|
|
60
62
|
const placeholder = Placeholder.get(name);
|
|
61
63
|
placeholder.addImplementation(this.implementation);
|
|
62
64
|
|
|
63
|
-
// If the placeholder already has a registered element/route, skip re-registration
|
|
64
65
|
if (placeholder.implementations.size > 1) {
|
|
65
66
|
console.info(`[Triplet]: Implementation "${this.implementation.name}" added to existing placeholder "${name}"`);
|
|
66
67
|
return;
|
|
@@ -72,11 +73,10 @@ export default class Triplet {
|
|
|
72
73
|
await new CSSStyleSheet().replace(globalCss));
|
|
73
74
|
}
|
|
74
75
|
|
|
75
|
-
// First implementation — register the placeholder shell
|
|
76
76
|
if (type === "router") {
|
|
77
|
-
REGISTRY.push(() => {
|
|
77
|
+
REGISTRY.push(async () => {
|
|
78
78
|
const routePath = name;
|
|
79
|
-
Router.registerRoute(
|
|
79
|
+
Router.registerRoute(this.path, routePath, (search) => {
|
|
80
80
|
const impl = placeholder.getActive()!;
|
|
81
81
|
const cls = impl.uniClass ?? Page;
|
|
82
82
|
|
|
@@ -119,7 +119,7 @@ export default class Triplet {
|
|
|
119
119
|
console.info(`[Triplet]: Router route "${name}" registered as placeholder`);
|
|
120
120
|
});
|
|
121
121
|
} else if (type === "markup") {
|
|
122
|
-
REGISTRY.push(() => {
|
|
122
|
+
REGISTRY.push(async () => {
|
|
123
123
|
if (customElements.get(name))
|
|
124
124
|
throw new Error(`Custom element '${name}' is already defined.`);
|
|
125
125
|
|