1/* 2 * Copyright (c) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import { ArktsObject } from "./ArktsObject" 17import { global } from "../static/global" 18import { passStringArray } from "../utilities/private" 19import { KNativePointer } from "@koalaui/interop" 20 21export class Config extends ArktsObject { 22 constructor(peer: KNativePointer) { 23 super(peer) 24 // TODO: wait for getter from api 25 this.path = `` 26 } 27 28 static create( 29 input: readonly string[] 30 ): Config { 31 console.log("[TS WRAPPER] CREATE CONFIG"); 32 return new Config( 33 global.es2panda._CreateConfig(input.length, passStringArray(input)) 34 ) 35 } 36 37 static createDefault(): Config { 38 if (global.configIsInitialized()) { 39 console.warn(`Config already initialized`) 40 return new Config( 41 global.config 42 ) 43 } 44 return new Config( 45 global.es2panda._CreateConfig( 46 4, 47 passStringArray(["", "--arktsconfig", "./arktsconfig.json", global.filePath]) 48 ) 49 ) 50 } 51 52 readonly path: string 53}