• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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}