import { Member } from "./member.js"; import { Field } from "./field.js"; import { Arg, FuncCallback, FuncInfo, FuncPromiseData, Val } from "./funcBase.js"; /** * 非同期で実行した関数の実行結果を表す。 */ export declare class FuncPromise { base_: Field; /** * 関数呼び出しのメッセージが相手のクライアントに到達したら解決するPromise * @since ver1.8 * * * 相手のクライアントが関数の実行を開始したらtrue、 * 指定したクライアントまたは関数が存在しなかった場合falseを返す * * falseの場合自動でresultにもFuncNotFoundErrorが入る */ reach: Promise; /** * reach と同じ。 * @deprecated ver1.8〜 */ started: Promise; /** * 関数の実行が完了し戻り値かエラーメッセージを受け取ったら解決するPromise * @since ver1.8 * * * 関数の戻り値をstring,number,booleanのいずれかで返す。 * * 関数が例外を返した場合、 Error(エラーメッセージ) の値でrejectする。 * * ver1.7以前ではany型だったが、1.8以降任意の例外をStringに変換した上でError型のメッセージにする * * ver1.12〜 arrayを返すこともある。 */ finish: Promise; /** * finish と同じ * @deprecated ver1.8〜 */ result: Promise; constructor(pData: FuncPromiseData); /** * 関数のMember */ get member(): Member; /** * 関数のfield名 */ get name(): string; } export declare const AsyncFuncResult: typeof FuncPromise; export type AsyncFuncResult = FuncPromise; export declare function runFunc(fi: FuncInfo, args: (Val | Val[])[]): void | Val | Promise; /** * Funcを指すクラス * * 詳細は {@link https://na-trium-144.github.io/webcface/md_30__func.html Funcのドキュメント} * を参照 */ export declare class Func { base_: Field; /** * このコンストラクタは直接使わず、 * Member.func(), Member.funcs(), Member.onFuncEntry などを使うこと */ constructor(base: Field, field?: string); /** * Memberを返す */ get member(): Member; /** * field名を返す */ get name(): string; setInfo(data: FuncInfo): void; /** 関数からFuncInfoを構築しセットする * * @param func 登録したい関数 * @param returnType 関数の戻り値 (valTypeオブジェクトの定数を使う) * @param args 関数の引数の情報 * @param index ver1.11〜: 関数の登録順序を表す番号(手動で上書きしたい場合) */ set(func: FuncCallback, returnType?: number, args?: Arg[], index?: number): void; /** * @since ver1.11 */ get index(): number; get returnType(): number; get args(): { name?: string; type?: number; init?: Val | Val[] | null; min?: number | null; max?: number | null; option?: string[] | number[]; }[]; /** * 関数の設定を削除 */ free(): void; runImpl(r: FuncPromiseData, args: (Val | Val[])[]): void; /** * 関数を実行する (非同期) * * 戻り値やエラー、例外はFuncPromiseから取得する * * * ver1.12〜 array型引数に対応 */ runAsync(...args: (Val | Val[])[]): FuncPromise; /** * 関数が存在すればtrueを返す * @since ver1.8 */ exists(): boolean; }