/* * Copyright (c) 2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ERROR_DESCRIPTION, HvigorErrorInfo, HvigorLogInfo } from './hvigor_error_info'; const DIAGNOSTIC_CODE_MAP: Map> = new Map([ ['28000', { code: '10905128' }], ['28001', { code: '10905239' }], ['28002', { code: '10905238' }], ['28003', { code: '10905127' }], ['28004', { code: '10905353' }], ['28006', { code: '10905237' }], ['28015', { code: '10905236' }], ]); export function buildErrorInfoFromDiagnostic( code: number, positionMessage: string, message: string ): HvigorErrorInfo | undefined { const info: Omit = DIAGNOSTIC_CODE_MAP.get(code.toString()); if (!info || !info.code) { return undefined; } return new HvigorErrorInfo() .setCode(info.code) .setDescription(info.description ?? ERROR_DESCRIPTION) .setCause(message) .setPosition(positionMessage) .setSolutions(info.solutions ?? []); }