1 2/* 3* Copyright (c) 2025 Shenzhen Kaihong Digital Industry Development Co., Ltd. 4* Licensed under the Apache License, Version 2.0 (the "License"); 5* you may not use this file except in compliance with the License. 6* You may obtain a copy of the License at 7* 8* http://www.apache.org/licenses/LICENSE-2.0 9* 10* Unless required by applicable law or agreed to in writing, software 11* distributed under the License is distributed on an "AS IS" BASIS, 12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13* See the License for the specific language governing permissions and 14* limitations under the License. 15*/ 16import { GenInfo } from "../datatype"; 17import { replaceAll } from "../../common/tool"; 18import * as fs from 'fs'; 19import { Logger } from '../../common/log'; 20 21// 生成common.h文件,这个读模板直接生成 22export function doGenCommonHFile(rootInfo: GenInfo, fileContent: string) { 23 try { 24 let upperFileName = rootInfo.fileName.toLocaleUpperCase(); 25 fileContent = replaceAll(fileContent, '[fileName]', rootInfo.fileName); 26 fileContent = replaceAll(fileContent, '[upper_filename]', upperFileName); 27 } catch (error) { 28 let errmsg = 'generate napi common.h fileContent error: ' + JSON.stringify(error); 29 Logger.getInstance().error(errmsg); 30 } 31 return fileContent; 32} 33 34export function genCommonHFile(rootInfo: GenInfo, filePath: string, 35 fileContent: string) { 36 fileContent = doGenCommonHFile(rootInfo, fileContent); 37 fs.writeFileSync(filePath, fileContent); 38}