MCPcopy Create free account
hub / github.com/chieapp/chie / registerService

Method registerService

src/controller/service-manager.ts:26–39  ·  view source on GitHub ↗
(record: ServiceRecord)

Source from the content-addressed store, hash-verified

24 #views: BaseViewType[] = [];
25
26 registerService(record: ServiceRecord) {
27 const name = record.name ?? record.serviceClass.name;
28 if (name in this.#services)
29 throw new Error(`Service "${name}" has already been registered.`);
30 if (record.viewClasses.length < 1)
31 throw new Error(`Found no view when registering service "${name}".`);
32 if (!matchClass(WebService, record.serviceClass))
33 throw new Error('The serviceClass must inherit from WebService.');
34 for (const viewClass of record.viewClasses) {
35 if (!this.#views.includes(viewClass))
36 throw new Error(`View "${viewClass.name}" is not registered.`);
37 }
38 this.#services[name] = record;
39 }
40
41 unregisterService(arg: string | WebServiceType) {
42 const name = typeof arg == 'string' ? arg : arg.name;

Callers 3

beforeAllFunction · 0.80
guiMainFunction · 0.80

Calls 1

matchClassFunction · 0.90

Tested by

no test coverage detected