jopi-toolkit 3.0.5 → 3.0.11
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/README.md +1 -1
- package/dist/jk_crypto/jBundler_ifServer.d.ts +2 -2
- package/dist/jk_crypto/jBundler_ifServer.js +8 -8
- package/dist/jk_crypto/jBundler_ifServer.js.map +1 -1
- package/dist/jk_events/index.d.ts +5 -5
- package/dist/jk_events/index.js +20 -10
- package/dist/jk_events/index.js.map +1 -1
- package/dist/jk_fs/jBundler_ifBrowser.d.ts +2 -2
- package/dist/jk_fs/jBundler_ifBrowser.js +2 -2
- package/dist/jk_fs/jBundler_ifServer.d.ts +39 -3
- package/dist/jk_fs/jBundler_ifServer.js +152 -3
- package/dist/jk_fs/jBundler_ifServer.js.map +1 -1
- package/dist/jk_logs/index.d.ts +54 -0
- package/dist/jk_logs/index.js +316 -0
- package/dist/jk_logs/index.js.map +1 -0
- package/dist/jk_logs/jBundler_ifBrowser.js.map +1 -0
- package/dist/jk_logs/jBundler_ifServer.d.ts +2 -0
- package/dist/jk_logs/jBundler_ifServer.js +25 -0
- package/dist/jk_logs/jBundler_ifServer.js.map +1 -0
- package/dist/jk_schemas/index.js +2 -0
- package/dist/jk_schemas/index.js.map +1 -1
- package/dist/jk_timer/index.js +9 -4
- package/dist/jk_timer/index.js.map +1 -1
- package/dist/jk_tools/common.d.ts +29 -0
- package/{src/jk_tools/index.js → dist/jk_tools/common.js} +28 -21
- package/dist/jk_tools/common.js.map +1 -0
- package/dist/jk_tools/index.d.ts +1 -20
- package/dist/jk_tools/index.js +1 -71
- package/dist/jk_tools/index.js.map +1 -1
- package/dist/jk_tools/jBundler_ifBrowser.d.ts +1 -0
- package/dist/jk_tools/jBundler_ifBrowser.js +2 -0
- package/dist/jk_tools/jBundler_ifBrowser.js.map +1 -0
- package/dist/jk_tools/jBundler_ifServer.d.ts +22 -0
- package/dist/jk_tools/jBundler_ifServer.js +75 -0
- package/dist/jk_tools/jBundler_ifServer.js.map +1 -0
- package/package.json +11 -4
- package/src/jk_crypto/jBundler_ifServer.ts +8 -8
- package/src/jk_events/index.ts +24 -3
- package/src/jk_fs/jBundler_ifBrowser.ts +2 -2
- package/src/jk_fs/jBundler_ifServer.ts +171 -4
- package/src/jk_logs/index.ts +444 -0
- package/src/jk_logs/jBundler_ifBrowser.ts +2 -0
- package/src/jk_logs/jBundler_ifServer.ts +27 -0
- package/src/jk_tools/common.ts +99 -0
- package/src/jk_tools/index.ts +1 -82
- package/src/jk_tools/jBundler_ifBrowser.ts +1 -0
- package/src/jk_tools/jBundler_ifServer.ts +109 -0
- package/dist/jk_appResolver/common.d.ts +0 -40
- package/dist/jk_appResolver/common.js +0 -306
- package/dist/jk_appResolver/common.js.map +0 -1
- package/dist/jk_appResolver/index.d.ts +0 -30
- package/dist/jk_appResolver/index.js +0 -276
- package/dist/jk_appResolver/index.js.map +0 -1
- package/dist/jk_appResolver/jBundler_ifBrowser.js.map +0 -1
- package/dist/jk_appResolver/jBundler_ifServer.d.ts +0 -1
- package/dist/jk_appResolver/jBundler_ifServer.js +0 -9
- package/dist/jk_appResolver/jBundler_ifServer.js.map +0 -1
- package/dist/jk_linker/TypeComposite.d.ts +0 -12
- package/dist/jk_linker/TypeComposite.js +0 -112
- package/dist/jk_linker/TypeComposite.js.map +0 -1
- package/dist/jk_linker/arobaseType_List.d.ts +0 -44
- package/dist/jk_linker/arobaseType_List.js +0 -183
- package/dist/jk_linker/arobaseType_List.js.map +0 -1
- package/dist/jk_linker/arobaseTypes.d.ts +0 -45
- package/dist/jk_linker/arobaseTypes.js +0 -181
- package/dist/jk_linker/arobaseTypes.js.map +0 -1
- package/dist/jk_linker/binding.d.ts +0 -1
- package/dist/jk_linker/binding.js +0 -13
- package/dist/jk_linker/binding.js.map +0 -1
- package/dist/jk_linker/engine.d.ts +0 -119
- package/dist/jk_linker/engine.js +0 -553
- package/dist/jk_linker/engine.js.map +0 -1
- package/dist/jk_linker/index.d.ts +0 -1
- package/dist/jk_linker/index.js +0 -2
- package/dist/jk_linker/index.js.map +0 -1
- package/dist/jk_linker/install.d.ts +0 -4
- package/dist/jk_linker/install.js +0 -44
- package/dist/jk_linker/install.js.map +0 -1
- package/dist/jk_linker/jBundler_ifServer.d.ts +0 -3
- package/dist/jk_linker/jBundler_ifServer.js +0 -4
- package/dist/jk_linker/jBundler_ifServer.js.map +0 -1
- package/dist/jk_linker/modulesInitProcessor.d.ts +0 -7
- package/dist/jk_linker/modulesInitProcessor.js +0 -36
- package/dist/jk_linker/modulesInitProcessor.js.map +0 -1
- package/dist/jk_linker/typeChunks.d.ts +0 -15
- package/dist/jk_linker/typeChunks.js +0 -42
- package/dist/jk_linker/typeChunks.js.map +0 -1
- package/dist/jk_linker/typeComposites.d.ts +0 -13
- package/dist/jk_linker/typeComposites.js +0 -121
- package/dist/jk_linker/typeComposites.js.map +0 -1
- package/dist/jk_linker/typeEvents.d.ts +0 -5
- package/dist/jk_linker/typeEvents.js +0 -29
- package/dist/jk_linker/typeEvents.js.map +0 -1
- package/dist/jk_linker/typeList.d.ts +0 -30
- package/dist/jk_linker/typeList.js +0 -144
- package/dist/jk_linker/typeList.js.map +0 -1
- package/dist/jk_linker/typeListeners.d.ts +0 -21
- package/dist/jk_linker/typeListeners.js +0 -188
- package/dist/jk_linker/typeListeners.js.map +0 -1
- package/dist/jk_linker/typeReplaces.d.ts +0 -8
- package/dist/jk_linker/typeReplaces.js +0 -41
- package/dist/jk_linker/typeReplaces.js.map +0 -1
- package/dist/jk_registry/index.d.ts +0 -11
- package/dist/jk_registry/index.js +0 -36
- package/dist/jk_registry/index.js.map +0 -1
- package/src/jk_app/common.js +0 -442
- package/src/jk_events/index.js +0 -203
- package/src/jk_fs/index.js +0 -2
- package/src/jk_translate/index.js +0 -56
- /package/dist/{jk_appResolver → jk_logs}/jBundler_ifBrowser.d.ts +0 -0
- /package/dist/{jk_appResolver → jk_logs}/jBundler_ifBrowser.js +0 -0
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import * as jk_fs from "jopi-toolkit/jk_fs";
|
|
2
|
-
import chunkArobaseType, {} from "./typeChunks.js";
|
|
3
|
-
import { addArobaseType, addToRegistry, checkDirItem, declareError, FilePart, genAddToInstallFile, genWriteFile, getRegistryItem, getSortedDirItem, InstallFileType, PriorityLevel, requireRegistryItem, resolveAndTransformChildDir } from "./engine.js";
|
|
4
|
-
let gEvents = {};
|
|
5
|
-
const arobaseType = addArobaseType("listeners", {
|
|
6
|
-
async processDir(p) {
|
|
7
|
-
let allEventDir = await jk_fs.listDir(p.arobaseDir);
|
|
8
|
-
for (let eventDir of allEventDir) {
|
|
9
|
-
if ((eventDir.name[0] === '_') || (eventDir.name[0] === '.'))
|
|
10
|
-
continue;
|
|
11
|
-
await resolveAndTransformChildDir({
|
|
12
|
-
childDir_nameConstraint: "mustNotBeUid",
|
|
13
|
-
childDir_requireMyUidFile: false,
|
|
14
|
-
childDir_createMissingMyUidFile: false,
|
|
15
|
-
childDir_requireRefFile: false,
|
|
16
|
-
rootDirName: eventDir.name,
|
|
17
|
-
// Allow conditioning events on "ifServer", "ifBrowser".
|
|
18
|
-
childDir_allowConditions: true,
|
|
19
|
-
transform: transformEventListener
|
|
20
|
-
}, eventDir);
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
async generateCodeForItem(key, rItem, infos) {
|
|
24
|
-
function sortByPriority(items) {
|
|
25
|
-
function addPriority(priority) {
|
|
26
|
-
let e = byPriority[priority];
|
|
27
|
-
if (e)
|
|
28
|
-
items.push(...e);
|
|
29
|
-
}
|
|
30
|
-
const byPriority = {};
|
|
31
|
-
for (let item of items) {
|
|
32
|
-
if (!byPriority[item.priority])
|
|
33
|
-
byPriority[item.priority] = [];
|
|
34
|
-
byPriority[item.priority].push(item);
|
|
35
|
-
}
|
|
36
|
-
items = [];
|
|
37
|
-
addPriority(PriorityLevel.veryHigh);
|
|
38
|
-
addPriority(PriorityLevel.high);
|
|
39
|
-
addPriority(PriorityLevel.default);
|
|
40
|
-
addPriority(PriorityLevel.low);
|
|
41
|
-
addPriority(PriorityLevel.veryLow);
|
|
42
|
-
return items;
|
|
43
|
-
}
|
|
44
|
-
const event = rItem;
|
|
45
|
-
event.listeners = sortByPriority(event.listeners);
|
|
46
|
-
let source = "";
|
|
47
|
-
let count = 1;
|
|
48
|
-
let outDir = jk_fs.join(infos.genDir, "events");
|
|
49
|
-
for (let item of event.listeners) {
|
|
50
|
-
let entryPoint = item.entryPoint;
|
|
51
|
-
if (!entryPoint) {
|
|
52
|
-
let d = requireRegistryItem(item.ref, chunkArobaseType);
|
|
53
|
-
entryPoint = d.entryPoint;
|
|
54
|
-
}
|
|
55
|
-
entryPoint = jk_fs.getRelativePath(outDir, entryPoint);
|
|
56
|
-
source += `import E${count++} from "${entryPoint}";\n`;
|
|
57
|
-
}
|
|
58
|
-
source += "\nexport default async function(e: any) {";
|
|
59
|
-
let max = event.listeners.length;
|
|
60
|
-
for (let i = 1; i <= max; i++) {
|
|
61
|
-
source += `\n let r${i}: any = E${i}(e);`;
|
|
62
|
-
source += `\n if (r${i} instanceof Promise) await r${i};`;
|
|
63
|
-
source += `\n if (e.canceled || e.isCatch) return;`;
|
|
64
|
-
}
|
|
65
|
-
source += "\n}";
|
|
66
|
-
let fileName = key.substring(key.indexOf("_") + 1) + ".ts";
|
|
67
|
-
await genWriteFile(jk_fs.join(outDir, fileName), source);
|
|
68
|
-
gEvents[event.eventName] = event;
|
|
69
|
-
},
|
|
70
|
-
async endGeneratingCode() {
|
|
71
|
-
function addBrowserHeader() {
|
|
72
|
-
if (isBrowserHeaderAdded)
|
|
73
|
-
return;
|
|
74
|
-
isBrowserHeaderAdded = true;
|
|
75
|
-
genAddToInstallFile(InstallFileType.browser, FilePart.imports, `import {addListener} from "jopi-toolkit/jk_events";\n`);
|
|
76
|
-
}
|
|
77
|
-
function addServerHeader() {
|
|
78
|
-
if (isServerHeaderAdded)
|
|
79
|
-
return;
|
|
80
|
-
isServerHeaderAdded = true;
|
|
81
|
-
genAddToInstallFile(InstallFileType.server, FilePart.imports, `import {addListener} from "jopi-toolkit/jk_events";\n`);
|
|
82
|
-
}
|
|
83
|
-
let count = 0;
|
|
84
|
-
let isBrowserHeaderAdded = false;
|
|
85
|
-
let isServerHeaderAdded = false;
|
|
86
|
-
for (let eventName in gEvents) {
|
|
87
|
-
count++;
|
|
88
|
-
let installFileType;
|
|
89
|
-
let event = gEvents[eventName];
|
|
90
|
-
let conditions = event.conditions;
|
|
91
|
-
if (conditions) {
|
|
92
|
-
console.log("listener conditions:", conditions);
|
|
93
|
-
if (conditions.has("server") && conditions.has("browser")) {
|
|
94
|
-
installFileType = InstallFileType.both;
|
|
95
|
-
addBrowserHeader();
|
|
96
|
-
addServerHeader();
|
|
97
|
-
}
|
|
98
|
-
else if (conditions.has("server")) {
|
|
99
|
-
installFileType = InstallFileType.server;
|
|
100
|
-
addServerHeader();
|
|
101
|
-
}
|
|
102
|
-
else if (conditions.has("browser")) {
|
|
103
|
-
installFileType = InstallFileType.browser;
|
|
104
|
-
addBrowserHeader();
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
// Should not happen.
|
|
108
|
-
installFileType = InstallFileType.both;
|
|
109
|
-
addBrowserHeader();
|
|
110
|
-
addBrowserHeader();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
installFileType = InstallFileType.both;
|
|
115
|
-
addBrowserHeader();
|
|
116
|
-
addBrowserHeader();
|
|
117
|
-
}
|
|
118
|
-
genAddToInstallFile(installFileType, FilePart.body, `
|
|
119
|
-
let E${count}: undefined | ((event: any) => Promise<void>);
|
|
120
|
-
addListener("${eventName}", async (e) => {
|
|
121
|
-
if (!E${count}) E${count} = (await import("@/events/${eventName}")).default;
|
|
122
|
-
await E${count}(e);
|
|
123
|
-
});`); // genAddToInstallFile
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
async function transformEventListener(p) {
|
|
128
|
-
let eventName = p.parentDirName;
|
|
129
|
-
// > Extract the listener items.
|
|
130
|
-
const dirItems = await getSortedDirItem(p.itemPath);
|
|
131
|
-
let listenerItems = [];
|
|
132
|
-
const params = {
|
|
133
|
-
rootDirName: eventName,
|
|
134
|
-
childDir_nameConstraint: "mustNotBeUid",
|
|
135
|
-
childDir_requireMyUidFile: false,
|
|
136
|
-
childDir_filesToResolve: {
|
|
137
|
-
"entryPoint": ["index.tsx", "index.ts"]
|
|
138
|
-
},
|
|
139
|
-
transform: async (item) => {
|
|
140
|
-
if (item.refFile && item.resolved.entryPoint) {
|
|
141
|
-
throw declareError("The event listener can't have both an index file and a .ref file", item.itemPath);
|
|
142
|
-
}
|
|
143
|
-
listenerItems.push({
|
|
144
|
-
priority: item.priority,
|
|
145
|
-
sortKey: item.itemName,
|
|
146
|
-
ref: item.refFile,
|
|
147
|
-
entryPoint: item.resolved.entryPoint
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
for (let dirItem of dirItems) {
|
|
152
|
-
if (!await checkDirItem(dirItem))
|
|
153
|
-
continue;
|
|
154
|
-
if (!dirItem.isDirectory)
|
|
155
|
-
continue;
|
|
156
|
-
await resolveAndTransformChildDir(params, dirItem);
|
|
157
|
-
}
|
|
158
|
-
// > Add the listener.
|
|
159
|
-
const registryKey = "event_" + eventName;
|
|
160
|
-
let current = getRegistryItem(registryKey, arobaseType);
|
|
161
|
-
if (!current) {
|
|
162
|
-
const newItem = {
|
|
163
|
-
conditions: p.conditions,
|
|
164
|
-
arobaseType, itemPath: p.itemPath,
|
|
165
|
-
listeners: listenerItems, eventName: p.parentDirName, allDirPath: [p.itemPath]
|
|
166
|
-
};
|
|
167
|
-
addToRegistry(registryKey, newItem);
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
if (p.conditions) {
|
|
172
|
-
if (current.conditions) {
|
|
173
|
-
for (let c of p.conditions) {
|
|
174
|
-
current.conditions.add(c);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
if (!current.conditions) {
|
|
179
|
-
current.conditions = p.conditions;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
current.allDirPath.push(p.itemPath);
|
|
185
|
-
current.listeners.push(...listenerItems);
|
|
186
|
-
}
|
|
187
|
-
export default arobaseType;
|
|
188
|
-
//# sourceMappingURL=typeListeners.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typeListeners.js","sourceRoot":"","sources":["../../src/jk_linker/typeListeners.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import * as jk_fs from "jopi-toolkit/jk_fs";
|
|
2
|
-
import { applyTypeRulesOnDir, addReplace, ArobaseType, declareError } from "./engine.js";
|
|
3
|
-
export default class TypeReplaces extends ArobaseType {
|
|
4
|
-
async processDir(p) {
|
|
5
|
-
let itemTypes = await jk_fs.listDir(p.arobaseDir);
|
|
6
|
-
for (let itemType of itemTypes) {
|
|
7
|
-
if ((itemType.name[0] === '_') || (itemType.name[0] === '.'))
|
|
8
|
-
continue;
|
|
9
|
-
await applyTypeRulesOnDir({
|
|
10
|
-
dirToScan: itemType.fullPath,
|
|
11
|
-
expectFsType: "dir",
|
|
12
|
-
itemDefRules: {
|
|
13
|
-
nameConstraint: "canBeUid",
|
|
14
|
-
requireRefFile: true,
|
|
15
|
-
rootDirName: itemType.name,
|
|
16
|
-
transform: async (props) => {
|
|
17
|
-
const itemToReplace = props.itemName;
|
|
18
|
-
let mustReplaceWith = props.refTarget;
|
|
19
|
-
let idx = itemToReplace.indexOf("!");
|
|
20
|
-
if (idx === -1)
|
|
21
|
-
throw declareError("The type is missing in the name. Should be 'type!elementId'", props.itemPath);
|
|
22
|
-
let type = itemToReplace.substring(0, idx);
|
|
23
|
-
idx = mustReplaceWith.indexOf("!");
|
|
24
|
-
if (!idx) {
|
|
25
|
-
mustReplaceWith = type + "!" + mustReplaceWith;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
let type2 = mustReplaceWith.substring(0, idx);
|
|
29
|
-
if (type !== type2) {
|
|
30
|
-
let expected = type2 + mustReplaceWith.substring(idx);
|
|
31
|
-
throw declareError(`Type mismatch. Must be ${expected}`, props.itemPath);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
addReplace(itemToReplace, mustReplaceWith, props.priority, props.itemPath);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=typeReplaces.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typeReplaces.js","sourceRoot":"","sources":["../../src/jk_linker/typeReplaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAC,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAEvF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACjD,KAAK,CAAC,UAAU,CAAC,CAA6D;QAC1E,IAAI,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAElD,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAG,GAAG,CAAC;gBAAE,SAAS;YAEnE,MAAM,mBAAmB,CAAC;gBACtB,SAAS,EAAE,QAAQ,CAAC,QAAQ;gBAC5B,YAAY,EAAE,KAAK;gBAEnB,YAAY,EAAE;oBACV,cAAc,EAAE,UAAU;oBAC1B,cAAc,EAAE,IAAI;oBAEpB,WAAW,EAAE,QAAQ,CAAC,IAAI;oBAE1B,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;wBACvB,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC;wBACrC,IAAI,eAAe,GAAG,KAAK,CAAC,SAAU,CAAC;wBAEvC,IAAI,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBACrC,IAAI,GAAG,KAAG,CAAC,CAAC;4BAAE,MAAM,YAAY,CAAC,6DAA6D,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;wBAEhH,IAAI,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC3C,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAEnC,IAAI,CAAC,GAAG,EAAE,CAAC;4BACP,eAAe,GAAG,IAAI,GAAG,GAAG,GAAG,eAAe,CAAC;wBACnD,CAAC;6BACI,CAAC;4BACF,IAAI,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;4BAC9C,IAAI,IAAI,KAAG,KAAK,EAAE,CAAC;gCACf,IAAI,QAAQ,GAAG,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gCACtD,MAAM,YAAY,CAAC,0BAA0B,QAAQ,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;4BAC7E,CAAC;wBACL,CAAC;wBAED,UAAU,CAAC,aAAa,EAAE,eAAe,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC/E,CAAC;iBACJ;aACJ,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export type AsyncProvider = () => Promise<any>;
|
|
2
|
-
export declare class Registry {
|
|
3
|
-
providers: Record<string, Record<string, AsyncProvider>>;
|
|
4
|
-
registry: Record<string, Record<string, unknown>>;
|
|
5
|
-
addProvider(category: string, name: string, provider: AsyncProvider): void;
|
|
6
|
-
protected getProvider(category: string, name: string): AsyncProvider | undefined;
|
|
7
|
-
protected getItem<T>(category: string, name: string): T | undefined;
|
|
8
|
-
protected setItem<T>(category: string, name: string, value: T): void;
|
|
9
|
-
addEventProvider(eventName: string, provider: AsyncProvider): void;
|
|
10
|
-
getEvent(eventName: string): Promise<Event>;
|
|
11
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export class Registry {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.providers = {};
|
|
4
|
-
this.registry = {};
|
|
5
|
-
}
|
|
6
|
-
addProvider(category, name, provider) {
|
|
7
|
-
let categoryRef = this.providers[category];
|
|
8
|
-
if (!categoryRef)
|
|
9
|
-
this.providers[category] = categoryRef = {};
|
|
10
|
-
categoryRef[name] = provider;
|
|
11
|
-
}
|
|
12
|
-
getProvider(category, name) {
|
|
13
|
-
return this.providers[category]?.[name];
|
|
14
|
-
}
|
|
15
|
-
getItem(category, name) {
|
|
16
|
-
return this.registry[category]?.[name];
|
|
17
|
-
}
|
|
18
|
-
setItem(category, name, value) {
|
|
19
|
-
this.registry[category] = this.registry[category] || {};
|
|
20
|
-
this.registry[category][name] = value;
|
|
21
|
-
}
|
|
22
|
-
addEventProvider(eventName, provider) {
|
|
23
|
-
this.addProvider("event", eventName, provider);
|
|
24
|
-
}
|
|
25
|
-
async getEvent(eventName) {
|
|
26
|
-
let event = this.getItem("event", eventName);
|
|
27
|
-
if (event)
|
|
28
|
-
return event;
|
|
29
|
-
let provider = this.getProvider("event", eventName);
|
|
30
|
-
const listeners = provider ? await provider() : [];
|
|
31
|
-
event = new Event(eventName, listeners);
|
|
32
|
-
this.setItem("event", eventName, event);
|
|
33
|
-
return event;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jk_registry/index.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,QAAQ;IAArB;QACI,cAAS,GAAkD,EAAE,CAAC;QAC9D,aAAQ,GAA4C,EAAE,CAAC;IAoC3D,CAAC;IAlCG,WAAW,CAAC,QAAgB,EAAE,IAAY,EAAE,QAAuB;QAC/D,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,WAAW,GAAG,EAAE,CAAC;QAC9D,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACjC,CAAC;IAES,WAAW,CAAC,QAAgB,EAAE,IAAY;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAES,OAAO,CAAI,QAAgB,EAAE,IAAY;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAgB,CAAC;IAC1D,CAAC;IAES,OAAO,CAAI,QAAgB,EAAE,IAAY,EAAE,KAAQ;QACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC1C,CAAC;IAED,gBAAgB,CAAC,SAAiB,EAAE,QAAuB;QACvD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC5B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAQ,OAAO,EAAE,SAAS,CAAC,CAAC;QACpD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QAExB,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnD,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
|