// import * as hmApp from "@zos/app"; // import * as hmFS from "@zos/fs"; // import Path ; // function getAppDir(appId = (hmApp.getPackageInfo() as any).appId) { // let str = appId.toString(16); // switch (str.length) { // case 1: // return `0000000${str}`.toUpperCase(); // case 2: // return `000000${str}`.toUpperCase(); // case 3: // return `00000${str}`.toUpperCase(); // case 4: // return `0000${str}`.toUpperCase(); // case 5: // return `000${str}`.toUpperCase(); // case 6: // return `00${str}`.toUpperCase(); // case 7: // return `0${str}`.toUpperCase(); // case 8: // return `${str}`.toUpperCase(); // } // } // function readdirAssetsSync(option: { path: string }): string[] | undefined { // return hmFS.readdirSync({ // path: fromDataToAssetsPath(option.path), // }); // } // export function isFileSync(option: { path: string }) { // let code = hmFS.openSync({ path: option.path }); // if (code >= 0) { // hmFS.closeSync({ fd: code }); // return true; // } else { // return false; // } // } // function isFileAssetsSync(option: { path: string }) { // // console.log("path=" + option.path); // let code = hmFS.openAssetsSync({ path: option.path }); // if (code >= 0) { // hmFS.closeSync({ fd: code }); // return true; // } else { // return false; // } // } // /** // * 将基于assets的文件路径转换为基于data的文件路径 // */ // function fromDataToAssetsPath(path: string) { // return Path.join(`../../${getAppDir()}/assets`, path); // } // function writeFileAssetsSync(opt: { // path: string; // data: string | ArrayBuffer | DataView; // options?: hmFS.writeFileSync.Options; // }) { // // console.log("write path="+opt.path); // let fd = hmFS.openAssetsSync({ // path: opt.path, // flag: hmFS.O_WRONLY | hmFS.O_CREAT, // }); // if (fd < 0) throw "Open Assets File Failed code=" + fd; // let buf = opt.data; // if (buf instanceof DataView) { // buf = buf.buffer; // TODO maybe error // } // if (typeof buf === "string") buf = Buffer.from(buf).buffer; // let res = hmFS.writeSync({ // fd, // buffer: buf, // }); // hmFS.closeSync({ fd }); // return res; // } // function readFileAssetsSync(opt: { // path: string; // options?: hmFS.readFileSync.Options; // }) { // // console.log("read path="+opt.path); // let fd = hmFS.openAssetsSync({ path: opt.path, flag: hmFS.O_RDONLY }); // if (fd < 0) throw "Open Assets File Failed code=" + fd; // let size = hmFS.statAssetsSync({ path: opt.path })!.size; // let arrbuf = new ArrayBuffer(size); // let res = hmFS.readSync({ fd, buffer: arrbuf }); // console.log("read size=" + res); // hmFS.closeSync({ fd }); // if (opt.options && typeof opt.options.encoding === "string") { // return Buffer.from(arrbuf).toString(opt.options.encoding); // } else { // return arrbuf; // } // }