{"version":3,"sources":["../../../packages/core/rpc/forward/rpc-forward-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;GAEG;AACH,qBAAa,eAAe;IACxB,OAAc,OAAO,SAAa;IAClC,OAAc,OAAO,SAAW;CACnC;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC1B,OAAc,OAAO,SAAa;IAClC,OAAc,OAAO,SAAW;CACnC;AAED;;GAEG;AACH,0BAAkB,cAAc;IAC5B;;;OAGG;IACH,OAAO,IAAI;IAEX;;;OAGG;IACH,MAAM,IAAI;IAEV;;;OAGG;IACH,IAAI,IAAI;CACX;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACrD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACrE;;OAEG;IACH,SAAS,EAAE,GAAG,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IAEpE;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,CAAE,SAAQ,WAAW;IACtD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC;IAEX;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC;CACf","file":"rpc-forward-model.d.ts","sourcesContent":["import { RpcBaseData } from '../rpc-base';\r\n\r\n/**\r\n * Forward up stream / inbound RPC call name and version.\r\n */\r\nexport class RpcForwardUpKey {\r\n    public static command = 'Forward';\r\n    public static version = '0.1.0';\r\n}\r\n\r\n/**\r\n * Forward down stream / outbound RPC call name and version.\r\n */\r\nexport class RpcForwardDownKey {\r\n    public static command = 'Forward';\r\n    public static version = '0.1.0';\r\n}\r\n\r\n/**\r\n * The Rpc Forward type\r\n */\r\nexport const enum RpcForwardType {\r\n    /**\r\n     * The execute forward type.\r\n     * This type should execute a method and return a result on the receiver\r\n     */\r\n    Execute = 0,\r\n\r\n    /**\r\n     * The notify forward type.\r\n     * This type should notify the receiver that some change has occurred\r\n     */\r\n    Notify = 1,\r\n\r\n    /**\r\n     * The init forward type.\r\n     * This type should be used to initialize a service with its corresponding parent service on the receiver\r\n     */\r\n    Init = 2\r\n}\r\n\r\n/**\r\n * Defines a Rpc Report for forwarded messages\r\n */\r\nexport interface RpcForwardReportData extends RpcBaseData {\r\n    /**\r\n     * The name of the service that should receive this report\r\n     */\r\n    service: string;\r\n\r\n    /**\r\n     * An name (key) of the property or method to act upon\r\n     */\r\n    name?: string;\r\n\r\n    /**\r\n     * The type of forward report\r\n     */\r\n    type: RpcForwardType;\r\n}\r\n\r\n/**\r\n * Rpc forward execute report data.\r\n */\r\nexport interface RpcForwardExecuteReportData extends RpcForwardReportData {\r\n    /**\r\n     * An arguments to apply to the method\r\n     */\r\n    arguments: any[];\r\n}\r\n\r\n/**\r\n * Defines a forward notify rpc report.\r\n * These are fire and forget. simply notifying other windows of a value change\r\n */\r\nexport interface RpcForwardNotifyReportData extends RpcForwardReportData {\r\n\r\n    /**\r\n     * An value of the changed property\r\n     */\r\n    value: any;\r\n}\r\n\r\n/**\r\n * Defines the response to a forward report through rpc\r\n */\r\nexport interface RpcForwardResponse<T> extends RpcBaseData {\r\n    /**\r\n     * The result of the report.\r\n     * for execute, this is the result of the executed method\r\n     * for notify, this is always void\r\n     * for init, this is the initialization data\r\n     */\r\n    result?: T;\r\n\r\n    /**\r\n     * An error that was thrown on the receiving side of the report\r\n     */\r\n    error?: any;\r\n}\r\n"]}