async subscribeToUpdateNamedShadowAccepted()

in lib/iotshadow/iotshadowclient.ts [867:891]


    async subscribeToUpdateNamedShadowAccepted(
        request: model.UpdateNamedShadowSubscriptionRequest,
        qos: mqtt.QoS,
        messageHandler: (error?: IotShadowError, response?: model.UpdateShadowResponse) => void)
        : Promise<mqtt.MqttSubscribeRequest> {

        let topic: string = "$aws/things/{thingName}/shadow/name/{shadowName}/update/accepted";
        topic = topic.replace("{thingName}", request.thingName);
        topic = topic.replace("{shadowName}", request.shadowName);
        const on_message = (topic: string, payload: ArrayBuffer) => {
            let response: model.UpdateShadowResponse | undefined;
            let error: IotShadowError | undefined;
            try {
                const payload_text = toUtf8(new Uint8Array(payload));
                response = JSON.parse(payload_text) as model.UpdateShadowResponse;
            } catch (err) {
                error = IotShadowClient.createClientError(err, payload);
            }
            finally {
                messageHandler(error, response);
            }
        }

        return this.mqttAdapter.subscribe(topic, qos, on_message);
    }