UNPKG

@slavmak2486/bx24ts

Version:

Library for bitrix24

57 lines (52 loc) 2.09 kB
import { CallResult } from "./callResult"; import { batchCmdElement } from "./types/batchElement"; type BX24Rest={ callMethod(method:string,params:any,cb?:(res:CallResult)=>any):void, callBatch<T extends batchCmdElement>(cmd:T, cb:(params:{[key in keyof T]:CallResult})=>void, haltOnError:boolean):void } export class BX24Local{ private BX24Rest:BX24Rest; constructor(BX24Rest:BX24Rest){ this.BX24Rest = BX24Rest } callBatch<T extends batchCmdElement>(cmd:T, haltOnError?:boolean):Promise<{[key in keyof T]:CallResult}> callBatch<T extends batchCmdElement>(cmd:T, cb:(params:{[key in keyof T]:CallResult})=>void):void callBatch<T extends batchCmdElement>(cmd:T, cb:(params:{[key in keyof T]:CallResult})=>void, haltOnError:boolean):void callBatch<T extends batchCmdElement>( cmd:T, cb?:((params:{[key in keyof T]:CallResult})=>void)|boolean, haltOnError=false ):void|Promise<{[key in keyof T]:CallResult}>{ if (typeof cb === "function"){ this.BX24Rest.callBatch(cmd, cb as (params:any)=>void, haltOnError) return; } haltOnError = typeof cb === "boolean" ? cb : haltOnError; return new Promise((res,rej)=>{ try { this.callBatch(cmd, result=>{ res(result); }); } catch (error) { rej(error); } }); } callMethod(method:string, params:any):Promise<CallResult>; callMethod(method:string, params:any, cb?:(params:CallResult)=>void):void; callMethod(method:string, params:any, cb?:(params:CallResult)=>void):void|Promise<CallResult>{ if (typeof cb ==='function'){ this.BX24Rest.callMethod(method, params, cb); return; } return new Promise((resolve, reject)=>{ try { this.callMethod(method, params, result=>{ resolve(result); }); } catch (error) { reject(error); } }) } }