@aws-amplify/core
Version:
Core category of aws-amplify
25 lines (21 loc) • 639 B
text/typescript
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
import { AmplifyErrorMap, AssertionFunction } from '../types';
import { AmplifyError } from './AmplifyError';
export const createAssertionFunction =
(
errorMap: AmplifyErrorMap,
AssertionError = AmplifyError,
): AssertionFunction =>
(assertion, name, additionalContext) => {
const { message, recoverySuggestion } = errorMap[name];
if (!assertion) {
throw new AssertionError({
name,
message: additionalContext
? `${message} ${additionalContext}`
: message,
recoverySuggestion,
});
}
};