UNPKG

@jswf/core

Version:

JavaScript Window Framework

149 lines (148 loc) 4.26 kB
interface FunctionData { name: string; params: unknown[]; } export interface AdapterResult { value: { [keys: string]: unknown; } | null; error: string | null; } /** *Ajax通信用アダプタ * * @export * @class Adapter */ export declare class Adapter { private handle; private scriptUrl; private keyName; private functionSet; /** *Creates an instance of Adapter. * @param {string} [scriptUrl] 通信先アドレス * @param {string} [keyName] セッション情報記憶用キー * @memberof Adapter */ constructor(scriptUrl?: string, keyName?: string); getKeyName(): string; /** *サーバに対して命令を単独実行 *呼び出し内容をまとめない * @param {string} funcName ファンクション名(className.functionName) * @param {...unknown[]} params パラメータ * @returns {Promise<never>} * @memberof Adapter */ execAlone(funcName: string, ...params: unknown[]): Promise<never>; /** *戻り値をバイナリとして受け取る(ファイルダウンロード用) *命令は単独実行される * @param {string} funcName * @param {...unknown[]} params * @returns {Promise<never>} * @memberof Adapter */ execBinary(funcName: string, ...params: unknown[]): Promise<never>; /** *複数のファンクションの実行 * * @param {FunctionData[][]} functions * @returns {Promise<any>} * @memberof Adapter */ exec(functions: FunctionData[][]): Promise<never[]>; /** *単一ファンクションの実行 * * @param {string} funcName ファンクション名 * @param {...unknown[]} params パラメータ * @returns {Promise<any>} * @memberof Adapter */ exec(funcName: string, ...params: unknown[]): Promise<never>; /** *同じタイミングで発生した複数命令をプールして同時に実行する * * @private * @memberof Adapter */ private callSend; /** *命令の実行と受け取り処理 * * @private * @param {FunctionSet[]} functionSet * @param {boolean} [binary] * @returns * @memberof Adapter */ private send; /** *Jsonデータ送受信とPromise化 * * @static * @param {string} url * @param {unknown} [data] * @param {{ [key: string]: string }} [headers] * @param {boolean} [binary] * @returns {Promise<unknown>} * @memberof Adapter */ static sendJsonAsync(url: string, data?: unknown, headers?: { [key: string]: string; }, binary?: boolean): Promise<unknown>; /** *Jsonデータの送受信 * * @private * @static * @param {string} url * @param {unknown} data * @param {Function} proc * @param {{ [key: string]: string }} [headers] * @returns {void} * @memberof Adapter */ private static sendJson; /** *Jsonデータの送信とblobの受け取り * * @private * @static * @param {string} url * @param {unknown} data * @param {Function} proc * @param {{ [key: string]: string }} [headers] * @returns {void} * @memberof Adapter */ private static sendJsonToBinary; /** *ファイルのアップロード *パラメータはURLに設定される * * @param {Blob} buffer * @param {string} funcName * @param {...unknown[]} params * @returns * @memberof Adapter */ upload(buffer: Blob, funcName: string, ...params: unknown[]): Promise<unknown>; /** *ファイル送信 * * @static * @param {string} url * @param {Blob} buffer * @param {(result: never) => void} proc * @param {({ [key: string]: string | number })} params * @returns * @memberof Adapter */ static sendFile(url: string, buffer: Blob, proc: (result: never) => void, params: { [key: string]: string | number; }): XMLHttpRequest | null; } export {};