(
name: string,
uriOrTemplate: string | ResourceTemplate,
config: ResourceMetadata,
readCallback: ReadResourceCallback | ReadResourceTemplateCallback
)
| 709 | readCallback: ReadResourceTemplateCallback |
| 710 | ): RegisteredResourceTemplate; |
| 711 | registerResource( |
| 712 | name: string, |
| 713 | uriOrTemplate: string | ResourceTemplate, |
| 714 | config: ResourceMetadata, |
| 715 | readCallback: ReadResourceCallback | ReadResourceTemplateCallback |
| 716 | ): RegisteredResource | RegisteredResourceTemplate { |
| 717 | if (typeof uriOrTemplate === 'string') { |
| 718 | if (this._registeredResources[uriOrTemplate]) { |
| 719 | throw new Error(`Resource ${uriOrTemplate} is already registered`); |
| 720 | } |
| 721 | |
| 722 | const registeredResource = this._createRegisteredResource( |
| 723 | name, |
| 724 | (config as BaseMetadata).title, |
| 725 | uriOrTemplate, |
| 726 | config, |
| 727 | readCallback as ReadResourceCallback |
| 728 | ); |
| 729 | |
| 730 | this.setResourceRequestHandlers(); |
| 731 | this.sendResourceListChanged(); |
| 732 | return registeredResource; |
| 733 | } else { |
| 734 | if (this._registeredResourceTemplates[name]) { |
| 735 | throw new Error(`Resource template ${name} is already registered`); |
| 736 | } |
| 737 | |
| 738 | const registeredResourceTemplate = this._createRegisteredResourceTemplate( |
| 739 | name, |
| 740 | (config as BaseMetadata).title, |
| 741 | uriOrTemplate, |
| 742 | config, |
| 743 | readCallback as ReadResourceTemplateCallback |
| 744 | ); |
| 745 | |
| 746 | this.setResourceRequestHandlers(); |
| 747 | this.sendResourceListChanged(); |
| 748 | return registeredResourceTemplate; |
| 749 | } |
| 750 | } |
| 751 | |
| 752 | private _createRegisteredResource( |
| 753 | name: string, |
no test coverage detected