{"version":3,"sources":["../../../packages/core/rpc/electron/rpc-electron-request-subject-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAyB,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,OAAO,CAAC,YAAY,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAC;CAAG;AAE7H;;GAEG;AACH,qBAAa,+BACD,SAAQ,gBAAgB,CAAC,oBAAoB,EAAE,0BAA0B,CACzE,YAAW,yBAAyB;IAE5C;;OAEG;gBACS,GAAG,EAAE,GAAG;IAIpB;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAGlF","file":"rpc-electron-request-subject-server.d.ts","sourcesContent":["import { Subject } from 'rxjs';\r\nimport { DeferredData, Rpc } from '../rpc';\r\nimport { RpcSubjectServer } from '../rpc-subject-server';\r\nimport { RpcElectronOperation, RpcElectronOperationResult, RpcElectronRequestKey } from './rpc-electron-model';\r\nimport { RpcElectronRequestHandler } from './rpc-electron-request-handler';\r\n\r\n/**\r\n * Rpc electron request subject interface.\r\n */\r\nexport interface RpcElectronRequestSubject extends Subject<DeferredData<RpcElectronOperation, RpcElectronOperationResult>> {}\r\n\r\n/**\r\n * The class to implement RpcElectronRequest with Subject server.\r\n */\r\nexport class RpcElectronRequestSubjectServer\r\n            extends RpcSubjectServer<RpcElectronOperation, RpcElectronOperationResult>\r\n            implements RpcElectronRequestHandler {\r\n\r\n    /**\r\n     * Initializes a new instance of the RpcElectronRequestSubjectServer class.\r\n     */\r\n    constructor(rpc: Rpc) {\r\n        super(rpc, RpcElectronRequestKey.command);\r\n    }\r\n\r\n    /**\r\n     * The handler to respond a request for RpcElectronRequest call.\r\n     *\r\n     * @param data The RPC electron operation object.\r\n     * @returns return the Promise<void> object.\r\n     */\r\n    public handler(data: RpcElectronOperation): Promise<RpcElectronOperationResult> {\r\n        return this.processNextForSubject(RpcElectronRequestKey.command, data);\r\n    }\r\n}\r\n"]}