MCPcopy
hub / github.com/21st-dev/1code / register

Method register

src/renderer/features/mentions/registry.ts:43–70  ·  view source on GitHub ↗

* Register a provider * * @param provider - Provider to register * @returns Unregister function

(provider: MentionProvider)

Source from the content-addressed store, hash-verified

41 * @returns Unregister function
42 */
43 register(provider: MentionProvider): () => void {
44 if (this.providers.has(provider.id)) {
45 console.warn(
46 `[MentionRegistry] Provider "${provider.id}" already registered, replacing`
47 )
48 // Deactivate existing provider
49 const existing = this.providers.get(provider.id)
50 existing?.deactivate?.()
51 }
52
53 this.providers.set(provider.id, provider)
54
55 // Activate provider asynchronously
56 if (provider.activate) {
57 const activationPromise = provider.activate().catch((error) => {
58 console.error(
59 `[MentionRegistry] Failed to activate provider "${provider.id}":`,
60 error
61 )
62 })
63 this.activationPromises.set(provider.id, activationPromise)
64 }
65
66 this.notifyListeners()
67
68 // Return unregister function
69 return () => this.unregister(provider.id)
70 }
71
72 /**
73 * Register multiple providers at once

Callers 2

registerAllMethod · 0.95
registerProviderFunction · 0.45

Calls 7

notifyListenersMethod · 0.95
unregisterMethod · 0.95
deactivateMethod · 0.80
activateMethod · 0.80
hasMethod · 0.45
getMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected