aws-iot-device-sdk-v2
Version:
NodeJS API for the AWS IoT service
474 lines • 21 kB
JavaScript
;
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*
* This file is generated
*/
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeServiceModel = void 0;
const util_utf8_browser_1 = require("@aws-sdk/util-utf8-browser");
const model_validation_utils = __importStar(require("../mqtt_request_response_utils"));
const uuid_1 = require("uuid");
function normalizeDeleteNamedShadowRequest(value) {
let normalizedValue = {};
if (value.clientToken) {
normalizedValue.clientToken = value.clientToken;
}
return normalizedValue;
}
function buildDeleteNamedShadowRequestPayload(request) {
let value = normalizeDeleteNamedShadowRequest(request);
return (0, util_utf8_browser_1.fromUtf8)(JSON.stringify(value));
}
function applyCorrelationTokenToDeleteNamedShadowRequest(request) {
let typedRequest = request;
let correlationToken = (0, uuid_1.v4)();
typedRequest.clientToken = correlationToken;
return [typedRequest, correlationToken];
}
function normalizeDeleteShadowRequest(value) {
let normalizedValue = {};
if (value.clientToken) {
normalizedValue.clientToken = value.clientToken;
}
return normalizedValue;
}
function buildDeleteShadowRequestPayload(request) {
let value = normalizeDeleteShadowRequest(request);
return (0, util_utf8_browser_1.fromUtf8)(JSON.stringify(value));
}
function applyCorrelationTokenToDeleteShadowRequest(request) {
let typedRequest = request;
let correlationToken = (0, uuid_1.v4)();
typedRequest.clientToken = correlationToken;
return [typedRequest, correlationToken];
}
function normalizeGetNamedShadowRequest(value) {
let normalizedValue = {};
if (value.clientToken) {
normalizedValue.clientToken = value.clientToken;
}
return normalizedValue;
}
function buildGetNamedShadowRequestPayload(request) {
let value = normalizeGetNamedShadowRequest(request);
return (0, util_utf8_browser_1.fromUtf8)(JSON.stringify(value));
}
function applyCorrelationTokenToGetNamedShadowRequest(request) {
let typedRequest = request;
let correlationToken = (0, uuid_1.v4)();
typedRequest.clientToken = correlationToken;
return [typedRequest, correlationToken];
}
function normalizeGetShadowRequest(value) {
let normalizedValue = {};
if (value.clientToken) {
normalizedValue.clientToken = value.clientToken;
}
return normalizedValue;
}
function buildGetShadowRequestPayload(request) {
let value = normalizeGetShadowRequest(request);
return (0, util_utf8_browser_1.fromUtf8)(JSON.stringify(value));
}
function applyCorrelationTokenToGetShadowRequest(request) {
let typedRequest = request;
let correlationToken = (0, uuid_1.v4)();
typedRequest.clientToken = correlationToken;
return [typedRequest, correlationToken];
}
function normalizeUpdateNamedShadowRequest(value) {
let normalizedValue = {};
if (value.clientToken) {
normalizedValue.clientToken = value.clientToken;
}
if (value.state) {
normalizedValue.state = value.state;
}
if (value.version) {
normalizedValue.version = value.version;
}
return normalizedValue;
}
function buildUpdateNamedShadowRequestPayload(request) {
let value = normalizeUpdateNamedShadowRequest(request);
return (0, util_utf8_browser_1.fromUtf8)(JSON.stringify(value));
}
function applyCorrelationTokenToUpdateNamedShadowRequest(request) {
let typedRequest = request;
let correlationToken = (0, uuid_1.v4)();
typedRequest.clientToken = correlationToken;
return [typedRequest, correlationToken];
}
function normalizeUpdateShadowRequest(value) {
let normalizedValue = {};
if (value.clientToken) {
normalizedValue.clientToken = value.clientToken;
}
if (value.state) {
normalizedValue.state = value.state;
}
if (value.version) {
normalizedValue.version = value.version;
}
return normalizedValue;
}
function buildUpdateShadowRequestPayload(request) {
let value = normalizeUpdateShadowRequest(request);
return (0, util_utf8_browser_1.fromUtf8)(JSON.stringify(value));
}
function applyCorrelationTokenToUpdateShadowRequest(request) {
let typedRequest = request;
let correlationToken = (0, uuid_1.v4)();
typedRequest.clientToken = correlationToken;
return [typedRequest, correlationToken];
}
function buildDeleteNamedShadowSubscriptions(request) {
let typedRequest = request;
return new Array(`$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/delete/+`);
}
function buildDeleteNamedShadowPublishTopic(request) {
let typedRequest = request;
return `$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/delete`;
}
function buildDeleteNamedShadowResponsePaths(request) {
let typedRequest = request;
return new Array({
topic: `$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/delete/accepted`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeDeleteShadowResponse,
}, {
topic: `$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/delete/rejected`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeV2ErrorResponse,
});
}
function buildDeleteShadowSubscriptions(request) {
let typedRequest = request;
return new Array(`$aws/things/${typedRequest.thingName}/shadow/delete/+`);
}
function buildDeleteShadowPublishTopic(request) {
let typedRequest = request;
return `$aws/things/${typedRequest.thingName}/shadow/delete`;
}
function buildDeleteShadowResponsePaths(request) {
let typedRequest = request;
return new Array({
topic: `$aws/things/${typedRequest.thingName}/shadow/delete/accepted`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeDeleteShadowResponse,
}, {
topic: `$aws/things/${typedRequest.thingName}/shadow/delete/rejected`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeV2ErrorResponse,
});
}
function buildGetNamedShadowSubscriptions(request) {
let typedRequest = request;
return new Array(`$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/get/+`);
}
function buildGetNamedShadowPublishTopic(request) {
let typedRequest = request;
return `$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/get`;
}
function buildGetNamedShadowResponsePaths(request) {
let typedRequest = request;
return new Array({
topic: `$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/get/accepted`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeGetShadowResponse,
}, {
topic: `$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/get/rejected`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeV2ErrorResponse,
});
}
function buildGetShadowSubscriptions(request) {
let typedRequest = request;
return new Array(`$aws/things/${typedRequest.thingName}/shadow/get/+`);
}
function buildGetShadowPublishTopic(request) {
let typedRequest = request;
return `$aws/things/${typedRequest.thingName}/shadow/get`;
}
function buildGetShadowResponsePaths(request) {
let typedRequest = request;
return new Array({
topic: `$aws/things/${typedRequest.thingName}/shadow/get/accepted`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeGetShadowResponse,
}, {
topic: `$aws/things/${typedRequest.thingName}/shadow/get/rejected`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeV2ErrorResponse,
});
}
function buildUpdateNamedShadowSubscriptions(request) {
let typedRequest = request;
return new Array(`$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/update/accepted`, `$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/update/rejected`);
}
function buildUpdateNamedShadowPublishTopic(request) {
let typedRequest = request;
return `$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/update`;
}
function buildUpdateNamedShadowResponsePaths(request) {
let typedRequest = request;
return new Array({
topic: `$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/update/accepted`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeUpdateShadowResponse,
}, {
topic: `$aws/things/${typedRequest.thingName}/shadow/name/${typedRequest.shadowName}/update/rejected`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeV2ErrorResponse,
});
}
function buildUpdateShadowSubscriptions(request) {
let typedRequest = request;
return new Array(`$aws/things/${typedRequest.thingName}/shadow/update/accepted`, `$aws/things/${typedRequest.thingName}/shadow/update/rejected`);
}
function buildUpdateShadowPublishTopic(request) {
let typedRequest = request;
return `$aws/things/${typedRequest.thingName}/shadow/update`;
}
function buildUpdateShadowResponsePaths(request) {
let typedRequest = request;
return new Array({
topic: `$aws/things/${typedRequest.thingName}/shadow/update/accepted`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeUpdateShadowResponse,
}, {
topic: `$aws/things/${typedRequest.thingName}/shadow/update/rejected`,
correlationTokenJsonPath: "clientToken",
deserializer: deserializeV2ErrorResponse,
});
}
function deserializeDeleteShadowResponse(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function deserializeGetShadowResponse(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function deserializeUpdateShadowResponse(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function deserializeV2ErrorResponse(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function createRequestResponseOperationServiceModelMap() {
return new Map([
["deleteNamedShadow", {
inputShapeName: "DeleteNamedShadowRequest",
payloadTransformer: buildDeleteNamedShadowRequestPayload,
subscriptionGenerator: buildDeleteNamedShadowSubscriptions,
responsePathGenerator: buildDeleteNamedShadowResponsePaths,
publishTopicGenerator: buildDeleteNamedShadowPublishTopic,
correlationTokenApplicator: applyCorrelationTokenToDeleteNamedShadowRequest,
}],
["deleteShadow", {
inputShapeName: "DeleteShadowRequest",
payloadTransformer: buildDeleteShadowRequestPayload,
subscriptionGenerator: buildDeleteShadowSubscriptions,
responsePathGenerator: buildDeleteShadowResponsePaths,
publishTopicGenerator: buildDeleteShadowPublishTopic,
correlationTokenApplicator: applyCorrelationTokenToDeleteShadowRequest,
}],
["getNamedShadow", {
inputShapeName: "GetNamedShadowRequest",
payloadTransformer: buildGetNamedShadowRequestPayload,
subscriptionGenerator: buildGetNamedShadowSubscriptions,
responsePathGenerator: buildGetNamedShadowResponsePaths,
publishTopicGenerator: buildGetNamedShadowPublishTopic,
correlationTokenApplicator: applyCorrelationTokenToGetNamedShadowRequest,
}],
["getShadow", {
inputShapeName: "GetShadowRequest",
payloadTransformer: buildGetShadowRequestPayload,
subscriptionGenerator: buildGetShadowSubscriptions,
responsePathGenerator: buildGetShadowResponsePaths,
publishTopicGenerator: buildGetShadowPublishTopic,
correlationTokenApplicator: applyCorrelationTokenToGetShadowRequest,
}],
["updateNamedShadow", {
inputShapeName: "UpdateNamedShadowRequest",
payloadTransformer: buildUpdateNamedShadowRequestPayload,
subscriptionGenerator: buildUpdateNamedShadowSubscriptions,
responsePathGenerator: buildUpdateNamedShadowResponsePaths,
publishTopicGenerator: buildUpdateNamedShadowPublishTopic,
correlationTokenApplicator: applyCorrelationTokenToUpdateNamedShadowRequest,
}],
["updateShadow", {
inputShapeName: "UpdateShadowRequest",
payloadTransformer: buildUpdateShadowRequestPayload,
subscriptionGenerator: buildUpdateShadowSubscriptions,
responsePathGenerator: buildUpdateShadowResponsePaths,
publishTopicGenerator: buildUpdateShadowPublishTopic,
correlationTokenApplicator: applyCorrelationTokenToUpdateShadowRequest,
}],
]);
}
function buildCreateNamedShadowDeltaUpdatedStreamTopicFilter(config) {
const typedConfig = config;
return `$aws/things/${typedConfig.thingName}/shadow/name/${typedConfig.shadowName}/update/delta`;
}
function buildCreateNamedShadowUpdatedStreamTopicFilter(config) {
const typedConfig = config;
return `$aws/things/${typedConfig.thingName}/shadow/name/${typedConfig.shadowName}/update/documents`;
}
function buildCreateShadowDeltaUpdatedStreamTopicFilter(config) {
const typedConfig = config;
return `$aws/things/${typedConfig.thingName}/shadow/update/delta`;
}
function buildCreateShadowUpdatedStreamTopicFilter(config) {
const typedConfig = config;
return `$aws/things/${typedConfig.thingName}/shadow/update/documents`;
}
function deserializeShadowDeltaUpdatedEventPayload(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function deserializeShadowUpdatedEventPayload(payload) {
const payload_text = (0, util_utf8_browser_1.toUtf8)(new Uint8Array(payload));
return JSON.parse(payload_text);
}
function createStreamingOperationServiceModelMap() {
return new Map([
["createNamedShadowDeltaUpdatedStream", {
inputShapeName: "NamedShadowDeltaUpdatedSubscriptionRequest",
subscriptionGenerator: buildCreateNamedShadowDeltaUpdatedStreamTopicFilter,
deserializer: deserializeShadowDeltaUpdatedEventPayload,
}],
["createNamedShadowUpdatedStream", {
inputShapeName: "NamedShadowUpdatedSubscriptionRequest",
subscriptionGenerator: buildCreateNamedShadowUpdatedStreamTopicFilter,
deserializer: deserializeShadowUpdatedEventPayload,
}],
["createShadowDeltaUpdatedStream", {
inputShapeName: "ShadowDeltaUpdatedSubscriptionRequest",
subscriptionGenerator: buildCreateShadowDeltaUpdatedStreamTopicFilter,
deserializer: deserializeShadowDeltaUpdatedEventPayload,
}],
["createShadowUpdatedStream", {
inputShapeName: "ShadowUpdatedSubscriptionRequest",
subscriptionGenerator: buildCreateShadowUpdatedStreamTopicFilter,
deserializer: deserializeShadowUpdatedEventPayload,
}],
]);
}
function validateDeleteNamedShadowRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
model_validation_utils.validateValueAsTopicSegment(value.shadowName, 'shadowName');
}
function validateDeleteShadowRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
}
function validateGetNamedShadowRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
model_validation_utils.validateValueAsTopicSegment(value.shadowName, 'shadowName');
}
function validateGetShadowRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
}
function validateNamedShadowDeltaUpdatedSubscriptionRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
model_validation_utils.validateValueAsTopicSegment(value.shadowName, 'shadowName');
}
function validateNamedShadowUpdatedSubscriptionRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
model_validation_utils.validateValueAsTopicSegment(value.shadowName, 'shadowName');
}
function validateShadowDeltaUpdatedSubscriptionRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
}
function validateShadowState(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsOptionalAny(value.desired, 'desired');
model_validation_utils.validateValueAsOptionalAny(value.reported, 'reported');
}
function validateShadowUpdatedSubscriptionRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
}
function validateUpdateNamedShadowRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
model_validation_utils.validateValueAsTopicSegment(value.shadowName, 'shadowName');
model_validation_utils.validateValueAsOptionalObject(value.state, validateShadowState, 'state');
model_validation_utils.validateValueAsOptionalInteger(value.version, 'version');
}
function validateUpdateShadowRequest(value) {
// @ts-ignore
let typedValue = value;
model_validation_utils.validateValueAsTopicSegment(value.thingName, 'thingName');
model_validation_utils.validateValueAsOptionalObject(value.state, validateShadowState, 'state');
model_validation_utils.validateValueAsOptionalInteger(value.version, 'version');
}
function createValidatorMap() {
return new Map([
["NamedShadowDeltaUpdatedSubscriptionRequest", validateNamedShadowDeltaUpdatedSubscriptionRequest],
["NamedShadowUpdatedSubscriptionRequest", validateNamedShadowUpdatedSubscriptionRequest],
["ShadowDeltaUpdatedSubscriptionRequest", validateShadowDeltaUpdatedSubscriptionRequest],
["ShadowUpdatedSubscriptionRequest", validateShadowUpdatedSubscriptionRequest],
["DeleteNamedShadowRequest", validateDeleteNamedShadowRequest],
["DeleteShadowRequest", validateDeleteShadowRequest],
["GetNamedShadowRequest", validateGetNamedShadowRequest],
["GetShadowRequest", validateGetShadowRequest],
["UpdateNamedShadowRequest", validateUpdateNamedShadowRequest],
["UpdateShadowRequest", validateUpdateShadowRequest],
]);
}
function makeServiceModel() {
let model = {
requestResponseOperations: createRequestResponseOperationServiceModelMap(),
streamingOperations: createStreamingOperationServiceModelMap(),
shapeValidators: createValidatorMap()
};
return model;
}
exports.makeServiceModel = makeServiceModel;
//# sourceMappingURL=v2utils.js.map