protected registerProvider()

in src/main.ts [1103:1130]


	protected registerProvider(options: undefined): Disposable {
		const client = this._client;

		let scriptAsOperation = (
			connectionUri: string,
			operation: azdata.ScriptOperation,
			metadata: azdata.ObjectMetadata,
			paramDetails: azdata.ScriptingParamDetails): Thenable<azdata.ScriptingResult> => {
			return client.sendRequest(protocol.ScriptingRequest.type,
				client.sqlc2p.asScriptingParams(connectionUri, operation, metadata, paramDetails)).then(
					r => r,
					e => {
						client.logFailedRequest(protocol.ScriptingRequest.type, e);
						return Promise.resolve(undefined);
					}
				);
		};

		let registerOnScriptingComplete = (handler: (scriptingCompleteResult: azdata.ScriptingCompleteResult) => any): void => {
			client.onNotification(protocol.ScriptingCompleteNotification.type, handler);
		};

		return azdata.dataprotocol.registerScriptingProvider({
			providerId: client.providerId,
			registerOnScriptingComplete,
			scriptAsOperation
		});
	}