feat(lib/modules/native): add fs
This commit is contained in:
parent
d8d85cfab1
commit
97534c9d04
3 changed files with 55 additions and 2 deletions
|
|
@ -21,6 +21,9 @@
|
|||
"./native": {
|
||||
"default": "./src/native/index.ts"
|
||||
},
|
||||
"./native/fs": {
|
||||
"default": "./src/native/fs.ts"
|
||||
},
|
||||
"./types": {
|
||||
"types": "./src/types.ts"
|
||||
}
|
||||
|
|
|
|||
45
lib/modules/src/native/fs.ts
Normal file
45
lib/modules/src/native/fs.ts
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
import {
|
||||
callBridgeMethod,
|
||||
callBridgeMethodSync,
|
||||
} from '@revenge-mod/modules/native'
|
||||
|
||||
export function readFile(path: string) {
|
||||
return callBridgeMethod('revenge.fs.read', [path])
|
||||
}
|
||||
|
||||
export function writeFile(path: string, data: string) {
|
||||
return callBridgeMethod('revenge.fs.write', [path, data])
|
||||
}
|
||||
|
||||
export function exists(path: string) {
|
||||
return callBridgeMethod('revenge.fs.exists', [path])
|
||||
}
|
||||
|
||||
export function deleteFile(path: string) {
|
||||
return callBridgeMethod('revenge.fs.delete', [path])
|
||||
}
|
||||
|
||||
export function readFileSync(path: string) {
|
||||
return callBridgeMethodSync('revenge.fs.read', [path])
|
||||
}
|
||||
|
||||
export function writeFileSync(path: string, data: string) {
|
||||
return callBridgeMethodSync('revenge.fs.write', [path, data])
|
||||
}
|
||||
|
||||
export function existsSync(path: string) {
|
||||
return callBridgeMethodSync('revenge.fs.exists', [path])
|
||||
}
|
||||
|
||||
export function deleteFileSync(path: string) {
|
||||
return callBridgeMethodSync('revenge.fs.delete', [path])
|
||||
}
|
||||
|
||||
declare module '@revenge-mod/modules/native' {
|
||||
export interface Methods {
|
||||
'revenge.fs.read': [[path: string], string]
|
||||
'revenge.fs.write': [[path: string, data: string], void]
|
||||
'revenge.fs.exists': [[path: string], boolean]
|
||||
'revenge.fs.delete': [[path: string], boolean]
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ import * as PluginApiModulesFindersFilters from '@revenge-mod/modules/finders/fi
|
|||
import * as PluginApiModulesMetroSubscriptions from '@revenge-mod/modules/metro/subscriptions'
|
||||
import * as PluginApiModulesMetroUtils from '@revenge-mod/modules/metro/utils'
|
||||
import * as PluginApiModulesNative_ from '@revenge-mod/modules/native'
|
||||
import * as PluginApiModulesNativeFileSystem from '@revenge-mod/modules/native/fs'
|
||||
import { spreadDescriptors } from '.'
|
||||
|
||||
export interface PluginApiModules {
|
||||
|
|
@ -11,7 +12,9 @@ export interface PluginApiModules {
|
|||
native: PluginApiModulesNative
|
||||
}
|
||||
|
||||
export type PluginApiModulesNative = typeof PluginApiModulesNative_
|
||||
export type PluginApiModulesNative = typeof PluginApiModulesNative_ & {
|
||||
fs: typeof PluginApiModulesNativeFileSystem
|
||||
}
|
||||
|
||||
export type PluginApiModulesMetro =
|
||||
// biome-ignore format: Don't
|
||||
|
|
@ -30,5 +33,7 @@ export const modules: PluginApiModules = {
|
|||
PluginApiModulesMetroUtils,
|
||||
spreadDescriptors(PluginApiModulesMetroSubscriptions, {}),
|
||||
),
|
||||
native: PluginApiModulesNative_,
|
||||
native: spreadDescriptors(PluginApiModulesNative_, {
|
||||
fs: PluginApiModulesNativeFileSystem,
|
||||
}),
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue