Skip to content

Commit 71f463e

Browse files
authored
同期的に実行できるように (#938)
* wip * Update index.ts * wip * Update sync.ts * Update aiscript.api.md * Create sync.md
1 parent f6670a7 commit 71f463e

File tree

7 files changed

+1170
-106
lines changed

7 files changed

+1170
-106
lines changed

etc/aiscript.api.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ type Fn = NodeBase & {
339339
};
340340

341341
// @public (undocumented)
342-
const FN_NATIVE: (fn: VNativeFn["native"]) => VNativeFn;
342+
const FN_NATIVE: (fn: VNativeFn["native"], fnSync?: VNativeFn["nativeSync"]) => VNativeFn;
343343

344344
// @public (undocumented)
345345
type FnTypeSource = NodeBase & {
@@ -423,6 +423,9 @@ export class Interpreter {
423423
exec(script?: Ast.Node[]): Promise<void>;
424424
execFn(fn: VFn, args: Value[]): Promise<Value>;
425425
execFnSimple(fn: VFn, args: Value[]): Promise<Value>;
426+
execFnSync(fn: VFn, args: Value[]): Value;
427+
// (undocumented)
428+
execSync(script?: Ast.Node[]): Value | undefined;
426429
// (undocumented)
427430
pause(): void;
428431
// (undocumented)
@@ -851,6 +854,16 @@ type VNativeFn = VFnBase & {
851854
unregisterPauseHandler: (handler: () => void) => void;
852855
unregisterUnpauseHandler: (handler: () => void) => void;
853856
}) => Value | Promise<Value> | void;
857+
nativeSync?: (args: (Value | undefined)[], opts: {
858+
call: (fn: VFn, args: Value[]) => Value;
859+
topCall: (fn: VFn, args: Value[]) => Value;
860+
registerAbortHandler: (handler: () => void) => void;
861+
registerPauseHandler: (handler: () => void) => void;
862+
registerUnpauseHandler: (handler: () => void) => void;
863+
unregisterAbortHandler: (handler: () => void) => void;
864+
unregisterPauseHandler: (handler: () => void) => void;
865+
unregisterUnpauseHandler: (handler: () => void) => void;
866+
}) => Value | void;
854867
};
855868

856869
// @public (undocumented)

0 commit comments

Comments
 (0)