@softchef/cdk-iot-device-management
Version:
IoT device management is composed of things, thing types, thing groups, jobs, files API services. The constructs can be used independently, that are based on full-managed service to create an API Gateway & Lambda function.
15 lines (14 loc) • 903 B
JavaScript
import { CLOCK_SKEW_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, } from "./constants";
export var isRetryableByTrait = function (error) { return error.$retryable !== undefined; };
export var isClockSkewError = function (error) { return CLOCK_SKEW_ERROR_CODES.includes(error.name); };
export var isThrottlingError = function (error) {
var _a, _b;
return ((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 429 ||
THROTTLING_ERROR_CODES.includes(error.name) ||
((_b = error.$retryable) === null || _b === void 0 ? void 0 : _b.throttling) == true;
};
export var isTransientError = function (error) {
var _a;
return TRANSIENT_ERROR_CODES.includes(error.name) ||
TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) || 0);
};