2024-03-16 22:29:24 +08:00
import type { CommandDef } from "../../lib/command.ts" ;
2024-02-29 22:23:05 +08:00
import type { SyscallMeta } from "../types.ts" ;
import type { ParseTree } from "../lib/tree.ts" ;
2024-02-09 04:00:45 +08:00
import { syscall } from "../syscall.ts" ;
2022-04-01 23:07:08 +08:00
2022-10-10 20:50:21 +08:00
export function invokeFunction (
2022-04-01 23:07:08 +08:00
name : string ,
. . . args : any [ ]
) : Promise < any > {
2023-08-28 23:12:15 +08:00
return syscall ( "system.invokeFunction" , name , . . . args ) ;
2022-04-01 23:07:08 +08:00
}
2022-04-27 01:04:36 +08:00
2022-09-06 20:36:06 +08:00
// Only available on the client
2023-11-26 01:57:00 +08:00
export function invokeCommand ( name : string , args? : string [ ] ) : Promise < any > {
return syscall ( "system.invokeCommand" , name , args ) ;
2022-07-11 15:08:22 +08:00
}
2022-09-06 20:36:06 +08:00
// Only available on the client
2022-10-10 20:50:21 +08:00
export function listCommands ( ) : Promise < { [ key : string ] : CommandDef } > {
2022-09-06 20:36:06 +08:00
return syscall ( "system.listCommands" ) ;
}
2024-02-06 23:51:04 +08:00
export function listSyscalls ( ) : Promise < SyscallMeta [ ] > {
return syscall ( "system.listSyscalls" ) ;
}
2024-02-28 03:05:12 +08:00
export function invokeSpaceFunction (
name : string ,
. . . args : any [ ]
) : Promise < any > {
return syscall ( "system.invokeSpaceFunction" , name , . . . args ) ;
}
export function applyAttributeExtractors (
tags : string [ ] ,
text : string ,
tree : ParseTree ,
) : Promise < Record < string , any > [ ] > {
return syscall ( "system.applyAttributeExtractors" , tags , text , tree ) ;
}
2022-10-10 20:50:21 +08:00
export function reloadPlugs() {
2024-02-28 03:05:12 +08:00
return syscall ( "system.reloadPlugs" ) ;
2022-04-27 01:04:36 +08:00
}
2023-01-15 01:51:00 +08:00
// Returns what runtime environment this plug is run in, e.g. "server" or "client" can be undefined, which would mean a hybrid environment (such as mobile)
export function getEnv ( ) : Promise < string | undefined > {
return syscall ( "system.getEnv" ) ;
}
2024-01-27 00:05:10 +08:00
export function getMode ( ) : Promise < "ro" | "rw" > {
return syscall ( "system.getMode" ) ;
}
2024-02-18 06:32:09 +08:00
export function getVersion ( ) : Promise < string > {
return syscall ( "system.getVersion" ) ;
}