/// import { EventEmitter } from "events"; import { ShioriConverter } from "shiori_converter"; import { ShioriTransaction } from "shiori_transaction"; import * as ShioriJK from "shiorijk"; import { Shiori } from "shioriloader"; /** The convenient SHIORI Shared Library Interface */ export declare class Shiorif extends EventEmitter { /** * convert array values to Reference* hash * @param headersArray header array values * @return headers hash */ static referencesFromArray(headersArray: (string | undefined)[]): { [name: string]: string; }; private readonly _shiori; private readonly _requestParser; private readonly _responseParser; private _autoConvertRequestVersion; private _autoAdjustToResponseCharset; private _defaultHeaders; private _synchronized; private _lastResponseCharset?; private lock; /** * @param shiori The instance of SHIORI Shared Library Interface * @param options options */ constructor(shiori: Shiori, options?: { /** requests will be converted to this version */ autoConvertRequestVersion?: ShioriConverter.ShioriVersion; /** request charset header will be set to previous response charset */ autoAdjustToResponseCharset?: boolean; /** default headers */ defaultHeaders?: { [name: string]: string; }; /** synchronized mode */ synchronized?: boolean; }); /** shiori */ get shiori(): Shiori; /** requests will be converted to this version */ get autoConvertRequestVersion(): ShioriConverter.ShioriVersion; /** requests will be converted to this version */ set autoConvertRequestVersion(version: ShioriConverter.ShioriVersion); /** request charset header will be set to previous response charset */ get autoAdjustToResponseCharset(): boolean; /** request charset header will be set to previous response charset */ set autoAdjustToResponseCharset(enabled: boolean); /** default headers */ get defaultHeaders(): { [name: string]: string; }; /** default headers */ set defaultHeaders(headers: { [name: string]: string; }); /** synchronized mode */ get synchronized(): boolean; /** synchronized mode */ set synchronized(synchronized: boolean); /** * SHIORI/2.x/3.x load() * * this emits load(dirpath), loaded(status) events. * @param dirpath The directory that SHIORI Shared Library is placed. * The end character of dirpath must be the path separator (/ or \\). * @return The status code */ load(dirpath: string): Promise; private _load; /** * SHIORI/2.x/3.x request() * * this emits request(request), response(response) events. * @param request The SHIORI Request * @param convert enable auto request version convert * @return The SHIORI request transaction */ request(request: string | ShioriJK.Message.Request, convert?: boolean): Promise; private _request; /** * SHIORI/2.x/3.x request() by SHIORI/3.x request value * @param method method * @param id id * @param headers headers * @param convert enable auto request version convert * @return The SHIORI request transaction */ request3(method: ShioriJK.Method, id: string, headers?: Shiorif.Headers, convert?: boolean): Promise; /** * SHIORI/2.x/3.x request() by SHIORI/2.x request value * @param method method * @param headers headers * @param convert enable auto request version convert * @return The SHIORI request transaction */ request2(method: ShioriJK.Method, headers?: Shiorif.Headers, convert?: boolean): Promise; /** * SHIORI/2.x/3.x request() by GET SHIORI/3.x request value * @param id id * @param headers headers * @param convert enable auto request version convert * @return The SHIORI request transaction */ get3(id: string, headers?: Shiorif.Headers, convert?: boolean): Promise; /** * SHIORI/2.x/3.x request() by NOTIFY SHIORI/3.x request value * @param id id * @param headers headers * @param convert enable auto request version convert * @return The SHIORI request transaction */ notify3(id: string, headers?: Shiorif.Headers, convert?: boolean): Promise; /** * SHIORI/2.x request() by GET Version SHIORI/2.x request value * @param headers headers * @param convert enable auto request version convert * @return The SHIORI request transaction */ getVersion2(headers?: Shiorif.Headers, convert?: boolean): Promise; /** * SHIORI/2.x/3.x unload() * * this emits unload(), unloaded(status) events. * @return The status code */ unload(): Promise; private _unload; } export declare namespace Shiorif { /** load() / unload() status error */ class StatusError extends Error { } /** * headers * * array = Reference* / hash = general */ type Headers = { [name: string]: string; } | (string | undefined)[]; }