• 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.cpp文件,读模板直接生成
22export function doGenCommonCppFile(rootInfo: GenInfo, fileContent: string) {
23  try {
24    fileContent = replaceAll(fileContent, '[fileName]', rootInfo.fileName);
25  } catch (error) {
26    let errmsg = 'generate napi common.cpp fileContent error: ' + JSON.stringify(error);
27    Logger.getInstance().error(errmsg);
28  }
29  return fileContent;
30}
31
32export function genCommonCppFile(rootInfo: GenInfo, filePath: string, fileContent: string) {
33  fileContent = doGenCommonCppFile(rootInfo, fileContent);
34  fs.writeFileSync(filePath, fileContent);
35}