@quillmark/registry 0.10.1 → 0.10.2
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/registry.d.ts +5 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +28 -12
- package/dist/registry.js.map +1 -1
- package/package.json +1 -1
package/dist/registry.d.ts
CHANGED
|
@@ -15,8 +15,11 @@ export interface QuillRegistryOptions {
|
|
|
15
15
|
export declare class QuillRegistry {
|
|
16
16
|
private source;
|
|
17
17
|
private engine;
|
|
18
|
-
/**
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* In-memory cache of in-flight and settled resolve operations.
|
|
20
|
+
* Keyed by quill ref (`name` or `name@version`).
|
|
21
|
+
*/
|
|
22
|
+
private inflight;
|
|
20
23
|
constructor(options: QuillRegistryOptions);
|
|
21
24
|
/** Returns the manifest from the underlying source. */
|
|
22
25
|
getManifest(): Promise<QuillManifest>;
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAgD;gBAEpD,OAAO,EAAE,oBAAoB;IAKzC,uDAAuD;IACjD,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAI3C,0EAA0E;IACpE,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAKpD;;;;;;;;;;OAUG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmDhD;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAG/B"}
|
package/dist/registry.js
CHANGED
|
@@ -10,8 +10,11 @@
|
|
|
10
10
|
export class QuillRegistry {
|
|
11
11
|
source;
|
|
12
12
|
engine;
|
|
13
|
-
/**
|
|
14
|
-
|
|
13
|
+
/**
|
|
14
|
+
* In-memory cache of in-flight and settled resolve operations.
|
|
15
|
+
* Keyed by quill ref (`name` or `name@version`).
|
|
16
|
+
*/
|
|
17
|
+
inflight = new Map();
|
|
15
18
|
constructor(options) {
|
|
16
19
|
this.source = options.source;
|
|
17
20
|
this.engine = options.engine;
|
|
@@ -37,6 +40,10 @@ export class QuillRegistry {
|
|
|
37
40
|
* When no version is specified, resolves to latest available.
|
|
38
41
|
*/
|
|
39
42
|
async resolve(ref) {
|
|
43
|
+
const cachedPromise = this.inflight.get(ref);
|
|
44
|
+
if (cachedPromise) {
|
|
45
|
+
return cachedPromise;
|
|
46
|
+
}
|
|
40
47
|
// Parse ref into name and optional version
|
|
41
48
|
const [name, version] = ref.split('@');
|
|
42
49
|
// 1. Check engine — return immediately if already registered
|
|
@@ -45,8 +52,9 @@ export class QuillRegistry {
|
|
|
45
52
|
const engineVersion = engineInfo.metadata?.version;
|
|
46
53
|
if (typeof engineVersion === 'string') {
|
|
47
54
|
const cacheKey = `${engineInfo.name}@${engineVersion}`;
|
|
48
|
-
const cached = this.
|
|
55
|
+
const cached = this.inflight.get(cacheKey);
|
|
49
56
|
if (cached) {
|
|
57
|
+
this.inflight.set(ref, cached);
|
|
50
58
|
return cached;
|
|
51
59
|
}
|
|
52
60
|
}
|
|
@@ -54,19 +62,27 @@ export class QuillRegistry {
|
|
|
54
62
|
// 2. Check registry cache (only for explicit versioned lookups)
|
|
55
63
|
if (version) {
|
|
56
64
|
const cacheKey = `${name}@${version}`;
|
|
57
|
-
const cached = this.
|
|
65
|
+
const cached = this.inflight.get(cacheKey);
|
|
58
66
|
if (cached) {
|
|
67
|
+
this.inflight.set(ref, cached);
|
|
59
68
|
return cached;
|
|
60
69
|
}
|
|
61
70
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
const resolvePromise = this.source
|
|
72
|
+
.loadQuill(name, version)
|
|
73
|
+
.then((bundle) => {
|
|
74
|
+
this.engine.registerQuill(bundle.data);
|
|
75
|
+
const resolvedKey = `${bundle.name}@${bundle.version}`;
|
|
76
|
+
this.inflight.set(resolvedKey, resolvePromise);
|
|
77
|
+
this.inflight.set(ref, resolvePromise);
|
|
78
|
+
return bundle;
|
|
79
|
+
})
|
|
80
|
+
.catch((error) => {
|
|
81
|
+
this.inflight.delete(ref);
|
|
82
|
+
throw error;
|
|
83
|
+
});
|
|
84
|
+
this.inflight.set(ref, resolvePromise);
|
|
85
|
+
return resolvePromise;
|
|
70
86
|
}
|
|
71
87
|
/**
|
|
72
88
|
* Preloads multiple quills using reference strings (e.g., `name@version`).
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAaA;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IACjB,MAAM,CAAc;IACpB,MAAM,CAAkB;IAChC
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED