Archived
0.3.0
This commit is contained in:
1 parent
d6cd63b201
commit
957522e4d9
4 files changed
+546
-770
No files matched your search
Vendored
+11
-1
@@ -10,6 +10,16 @@ export function callBrowsers<T = any>(player: Player, name: string, args?: any,
|
||||
export function callBrowsers<T = any>(name: string, args?: any, options: CallOptions = {}): Promise<T>;
|
||||
export function callBrowser<T = any>(browser: Browser, name: string, args?: any, options: CallOptions = {}): Promise<T>;
|
||||
|
||||
export function on(name: string, cb: ProcedureListener): void;
|
||||
export function off(name: string, cb: ProcedureListener): void;
|
||||
export function trigger(name: string, args?: any): void;
|
||||
export function triggerServer(name: string, args?: any): void;
|
||||
export function triggerClient(player: Player, name: string, args?: any): void;
|
||||
export function triggerClient(name: string, args?: any): void;
|
||||
export function triggerBrowsers(player: Player, name: string, args?: any): void;
|
||||
export function triggerBrowsers(name: string, args?: any): void;
|
||||
export function triggerBrowser(browser: Browser, name: string, args?: any): void;
|
||||
|
||||
export interface Player {
|
||||
call: (eventName: string, args?: any[]) => void;
|
||||
[property: string]: any;
|
||||
@@ -31,4 +41,4 @@ export interface CallOptions {
|
||||
noRet?: boolean;
|
||||
}
|
||||
|
||||
export type ProcedureListener = (args: any, info: ProcedureListenerInfo) => any;
|
||||
export type ProcedureListener = (args: any, info: ProcedureListenerInfo) => any;
|
||||
Vendored
+1
-135
@@ -1,135 +1 @@
|
||||
(function webpackUniversalModuleDefinition(root, factory) {
|
||||
if(typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = factory();
|
||||
else if(typeof define === 'function' && define.amd)
|
||||
define([], factory);
|
||||
else if(typeof exports === 'object')
|
||||
exports = factory();
|
||||
else
|
||||
root["rpc"] = factory();
|
||||
})(typeof self !== 'undefined' ? self : this, function() {
|
||||
return /******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // create a fake namespace object
|
||||
/******/ // mode & 1: value is a module id, require it
|
||||
/******/ // mode & 2: merge all properties of value into the ns
|
||||
/******/ // mode & 4: return value when already ns object
|
||||
/******/ // mode & 8|1: behave like require
|
||||
/******/ __webpack_require__.t = function(value, mode) {
|
||||
/******/ if(mode & 1) value = __webpack_require__(value);
|
||||
/******/ if(mode & 8) return value;
|
||||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
||||
/******/ var ns = Object.create(null);
|
||||
/******/ __webpack_require__.r(ns);
|
||||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
||||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
||||
/******/ return ns;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = "./src/index.ts");
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ({
|
||||
|
||||
/***/ "./node_modules/webpack/buildin/global.js":
|
||||
/*!***********************************!*\
|
||||
!*** (webpack)/buildin/global.js ***!
|
||||
\***********************************/
|
||||
/*! no static exports found */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n//# sourceURL=webpack://rpc/(webpack)/buildin/global.js?");
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/index.ts":
|
||||
/*!**********************!*\
|
||||
!*** ./src/index.ts ***!
|
||||
\**********************/
|
||||
/*! exports provided: register, unregister, call, callServer, callClient, callBrowsers, callBrowser, default */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"register\", function() { return register; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unregister\", function() { return unregister; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"call\", function() { return call; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"callServer\", function() { return callServer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"callClient\", function() { return callClient; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"callBrowsers\", function() { return callBrowsers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"callBrowser\", function() { return callBrowser; });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./src/util.ts\");\n\nconst environment = _util__WEBPACK_IMPORTED_MODULE_0__[\"getEnvironment\"]();\nif (!environment) throw 'Unknown RAGE environment';\nconst ERR_NOT_FOUND = 'PROCEDURE_NOT_FOUND';\nconst IDENTIFIER = '__rpc:id';\nconst PROCESS_EVENT = '__rpc:process';\nconst BROWSER_REGISTER = '__rpc:browserRegister';\nconst BROWSER_UNREGISTER = '__rpc:browserUnregister';\nconst glob = environment === \"cef\" ? window : global;\n\nif (!glob[PROCESS_EVENT]) {\n glob.__rpcListeners = {};\n glob.__rpcPending = {};\n\n glob[PROCESS_EVENT] = (player, rawData) => {\n if (environment !== \"server\") rawData = player;\n const data = _util__WEBPACK_IMPORTED_MODULE_0__[\"parseData\"](rawData);\n\n if (data.req) {\n // someone is trying to remotely call a procedure\n const info = {\n id: data.id,\n environment: data.fenv || data.env\n };\n if (environment === \"server\") info.player = player;\n const part = {\n ret: 1,\n id: data.id,\n env: environment\n };\n let ret;\n\n switch (environment) {\n case \"server\":\n ret = ev => info.player.call(PROCESS_EVENT, [_util__WEBPACK_IMPORTED_MODULE_0__[\"stringifyData\"](ev)]);\n\n break;\n\n case \"client\":\n {\n if (data.env === \"server\") {\n ret = ev => mp.events.callRemote(PROCESS_EVENT, _util__WEBPACK_IMPORTED_MODULE_0__[\"stringifyData\"](ev));\n } else if (data.env === \"cef\") {\n const browser = data.b && glob.__rpcBrowsers[data.b];\n info.browser = browser;\n\n ret = ev => browser && _util__WEBPACK_IMPORTED_MODULE_0__[\"isBrowserValid\"](browser) && passEventToBrowser(browser, ev, true);\n }\n\n break;\n }\n\n case \"cef\":\n {\n ret = ev => mp.trigger(PROCESS_EVENT, _util__WEBPACK_IMPORTED_MODULE_0__[\"stringifyData\"](ev));\n }\n }\n\n if (ret) {\n const promise = callProcedure(data.name, data.args, info);\n if (!data.noRet) promise.then(res => ret({ ...part,\n res\n })).catch(err => ret({ ...part,\n err\n }));\n }\n } else if (data.ret) {\n // a previously called remote procedure has returned\n const info = glob.__rpcPending[data.id];\n if (environment === \"server\" && info.player !== player) return;\n\n if (info) {\n info.resolve(data.err ? _util__WEBPACK_IMPORTED_MODULE_0__[\"promiseReject\"](data.err) : _util__WEBPACK_IMPORTED_MODULE_0__[\"promiseResolve\"](data.res));\n delete glob.__rpcPending[data.id];\n }\n }\n };\n\n if (environment !== \"cef\") {\n mp.events.add(PROCESS_EVENT, glob[PROCESS_EVENT]);\n\n if (environment === \"client\") {\n // set up internal pass-through events\n register('__rpc:callServer', ([name, args, noRet], info) => _callServer(name, args, {\n fenv: info.environment,\n noRet\n }));\n register('__rpc:callBrowsers', ([name, args, noRet], info) => _callBrowsers(null, name, args, {\n fenv: info.environment,\n noRet\n })); // set up browser identifiers\n\n glob.__rpcBrowsers = {};\n\n const initBrowser = browser => {\n const id = _util__WEBPACK_IMPORTED_MODULE_0__[\"uid\"]();\n Object.keys(glob.__rpcBrowsers).forEach(key => {\n const b = glob.__rpcBrowsers[key];\n if (!b || !_util__WEBPACK_IMPORTED_MODULE_0__[\"isBrowserValid\"](b) || b === browser) delete glob.__rpcBrowsers[key];\n });\n glob.__rpcBrowsers[id] = browser;\n browser.execute(`\n window.name = '${id}';\n if(typeof window['${IDENTIFIER}'] === 'undefined'){\n window['${IDENTIFIER}'] = Promise.resolve(window.name);\n }else{\n win
Line truncated
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/util.ts":
|
||||
/*!*********************!*\
|
||||
!*** ./src/util.ts ***!
|
||||
\*********************/
|
||||
/*! exports provided: uid, getEnvironment, stringifyData, parseData, promiseResolve, promiseReject, promiseTimeout, isBrowserValid */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"uid\", function() { return uid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getEnvironment\", function() { return getEnvironment; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stringifyData\", function() { return stringifyData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseData\", function() { return parseData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"promiseResolve\", function() { return promiseResolve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"promiseReject\", function() { return promiseReject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"promiseTimeout\", function() { return promiseTimeout; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isBrowserValid\", function() { return isBrowserValid; });\nvar MpTypes;\n\n(function (MpTypes) {\n MpTypes[\"Blip\"] = \"b\";\n MpTypes[\"Checkpoint\"] = \"cp\";\n MpTypes[\"Colshape\"] = \"c\";\n MpTypes[\"Label\"] = \"l\";\n MpTypes[\"Marker\"] = \"m\";\n MpTypes[\"Object\"] = \"o\";\n MpTypes[\"Pickup\"] = \"p\";\n MpTypes[\"Player\"] = \"pl\";\n MpTypes[\"Vehicle\"] = \"v\";\n})(MpTypes || (MpTypes = {}));\n\nfunction isObjectMpType(obj, type) {\n const client = getEnvironment() === 'client';\n\n if (obj && typeof obj === 'object' && typeof obj.id !== 'undefined') {\n const test = (type, collection, mpType) => client ? obj.type === type && collection.at(obj.id) === obj : obj instanceof mpType;\n\n switch (type) {\n case MpTypes.Blip:\n return test('blip', mp.blips, mp.Blip);\n\n case MpTypes.Checkpoint:\n return test('checkpoint', mp.checkpoints, mp.Checkpoint);\n\n case MpTypes.Colshape:\n return test('colshape', mp.colshapes, mp.Colshape);\n\n case MpTypes.Label:\n return test('textlabel', mp.labels, mp.TextLabel);\n\n case MpTypes.Marker:\n return test('marker', mp.markers, mp.Marker);\n\n case MpTypes.Object:\n return test('object', mp.objects, mp.Object);\n\n case MpTypes.Pickup:\n return test('pickup', mp.pickups, mp.Pickup);\n\n case MpTypes.Player:\n return test('player', mp.players, mp.Player);\n\n case MpTypes.Vehicle:\n return test('vehicle', mp.vehicles, mp.Vehicle);\n }\n }\n\n return false;\n}\n\nfunction uid() {\n const first = Math.random() * 46656 | 0;\n const second = Math.random() * 46656 | 0;\n const firstPart = ('000' + first.toString(36)).slice(-3);\n const secondPart = ('000' + second.toString(36)).slice(-3);\n return firstPart + secondPart;\n}\nfunction getEnvironment() {\n if (mp.joaat) return 'server';else if (mp.game && mp.game.joaat) return 'client';else if (mp.trigger) return 'cef';\n}\nfunction stringifyData(data) {\n const env = getEnvironment();\n return JSON.stringify(data, (_, value) => {\n if (env === 'client' || env === 'server' && value && typeof value === 'object') {\n let type;\n if (isObjectMpType(value, MpTypes.Blip)) type = MpTypes.Blip;else if (isObjectMpType(value, MpTypes.Checkpoint)) type = MpTypes.Checkpoint;else if (isObjectMpType(value, MpTypes.Colshape)) type = MpTypes.Colshape;else if (isObjectMpType(value, MpTypes.Marker)) type = MpTypes.Marker;else if (isObjectMpType(value, MpTypes.Object)) type = MpTypes.Object;else if (isObjectMpType(value, MpTypes.Pickup)) type = MpTypes.Pickup;else if (isObjectMpType(value, MpTypes.Player)) type = MpTypes.Player;else if (isObjectMpType(value, MpTypes.Vehicle)) type = MpTypes.Vehicle;\n if (type) return {\n __t: type,\n i: typeof value.remoteId === 'number' ? value.remoteId : value.id\n };\n }\n\n return value;\n });\n}\nfunction parseData(data) {\n const env = getEnvironment();\n return JSON.parse(data, (_, value) => {\n if ((env === 'client' || env === 'server') && value && typeof value === 'object' && typeof value['__t'] === 'string' && typeof value.i === 'number' && Object.keys(value).length === 2) {\n const id = value.i;\n const type = value['__t'];\n let collection;\n\n switch (type) {\n case MpTypes.Blip:\n collection = mp.blips;\n break;\n\n case MpTypes.Checkpoint:\n collection = mp.checkpoints;\n break;\n\n case MpTypes.Colshape:\n collection = mp.colshapes;\n break;\n\n case MpTypes.Label:\n collection = mp.labels;\n break;\n\n case MpTypes.Marker:\n collection = mp.markers;\n break;\n\n case MpTypes.Object:\n collection = mp.objects;\n break;\n\n case MpTypes.Pickup:\n collection = mp.pickups;\n break;\n\n
Line truncated
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
});
|
||||
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports=r():e.rpc=r()}("undefined"!=typeof self?self:this,function(){return function(e){var r={};function n(t){if(r[t])return r[t].exports;var o=r[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=r,n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,r){if(1&r&&(e=n(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(n.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var o in e)n.d(t,o,function(r){return e[r]}.bind(null,o));return t},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},n.p="",n(n.s=1)}([function(e,r,n){"use strict";var t;function o(e,r){const n="client"===s();if(e&&"object"==typeof e&&void 0!==e.id){const o=(r,t,o)=>n?e.type===r&&t.at(e.id)===e:e instanceof o;switch(r){case t.Blip:return o("blip",mp.blips,mp.Blip);case t.Checkpoint:return o("checkpoint",mp.checkpoints,mp.Checkpoint);case t.Colshape:return o("colshape",mp.colshapes,mp.Colshape);case t.Label:return o("textlabel",mp.labels,mp.TextLabel);case t.Marker:return o("marker",mp.markers,mp.Marker);case t.Object:return o("object",mp.objects,mp.Object);case t.Pickup:return o("pickup",mp.pickups,mp.Pickup);case t.Player:return o("player",mp.players,mp.Player);case t.Vehicle:return o("vehicle",mp.vehicles,mp.Vehicle)}}return!1}function c(){const e=46656*Math.random()|0,r=46656*Math.random()|0;return("000"+e.toString(36)).slice(-3)+("000"+r.toString(36)).slice(-3)}function s(){return mp.joaat?"server":mp.game&&mp.game.joaat?"client":mp.trigger?"cef":void 0}function i(e){const r=s();return JSON.stringify(e,(e,n)=>{if("client"===r||"server"===r&&n&&"object"==typeof n){let e;if(o(n,t.Blip)?e=t.Blip:o(n,t.Checkpoint)?e=t.Checkpoint:o(n,t.Colshape)?e=t.Colshape:o(n,t.Marker)?e=t.Marker:o(n,t.Object)?e=t.Object:o(n,t.Pickup)?e=t.Pickup:o(n,t.Player)?e=t.Player:o(n,t.Vehicle)&&(e=t.Vehicle),e)return{__t:e,i:"number"==typeof n.remoteId?n.remoteId:n.id}}return n})}function a(e){const r=s();return JSON.parse(e,(e,n)=>{if(("client"===r||"server"===r)&&n&&"object"==typeof n&&"string"==typeof n.__t&&"number"==typeof n.i&&2===Object.keys(n).length){const e=n.i;let o;switch(n.__t){case t.Blip:o=mp.blips;break;case t.Checkpoint:o=mp.checkpoints;break;case t.Colshape:o=mp.colshapes;break;case t.Label:o=mp.labels;break;case t.Marker:o=mp.markers;break;case t.Object:o=mp.objects;break;case t.Pickup:o=mp.pickups;break;case t.Player:o=mp.players;break;case t.Vehicle:o=mp.vehicles}if(o)return o["client"===r?"atRemoteId":"at"](e)}return n})}function l(e){return new Promise(r=>setTimeout(()=>r(e),0))}function u(e){return new Promise((r,n)=>setTimeout(()=>n(e),0))}function p(e,r){return"number"==typeof r?Promise.race([new Promise((e,n)=>{setTimeout(()=>n("TIMEOUT"),r)}),e]):e}function f(e){try{e.url}catch(e){return!1}return!0}n.d(r,"h",function(){return c}),n.d(r,"a",function(){return s}),n.d(r,"g",function(){return i}),n.d(r,"c",function(){return a}),n.d(r,"e",function(){return l}),n.d(r,"d",function(){return u}),n.d(r,"f",function(){return p}),n.d(r,"b",function(){return f}),function(e){e.Blip="b",e.Checkpoint="cp",e.Colshape="c",e.Label="l",e.Marker="m",e.Object="o",e.Pickup="p",e.Player="pl",e.Vehicle="v"}(t||(t={}))},function(e,r,n){"use strict";n.r(r),function(e){n.d(r,"register",function(){return d}),n.d(r,"unregister",function(){return h}),n.d(r,"call",function(){return w}),n.d(r,"callServer",function(){return v}),n.d(r,"callClient",function(){return y}),n.d(r,"callBrowsers",function(){return B}),n.d(r,"callBrowser",function(){return x}),n.d(r,"on",function(){return j}),n.d(r,"off",function(){return O}),n.d(r,"trigger",function(){return C}),n.d(r,"triggerClient",function(){return S}),n.d(r,"triggerServer",function(){return E}),n.d(r,"triggerBrowsers",function(){return L}),n.d(r,"triggerBrowser",function(){return M});var t=n(0);const o=t.a();if(!o)throw"Unknown RAGE environment";const c="PROCEDURE_NOT_FOUND",s="__rpc:id",i="__rpc:process",a="__rpc:browserRegister",l="__rpc:browserUnregister",u="__rpc:triggerEvent",p="__rpc:triggerEventBrowsers",f="cef"===o?window:e;if(!f[i]){if(f.__rpcListeners={},f.__rpcPending={},f.__rpcEvListeners={},f[i]=(e,r)=>{"server"!==o&&(r=e);const n=t.c(r);if(n.req){const r={id:n.id,environment:n.fenv||n.env};"server"===o&&(r.player=e);const c={ret:1,id:n.id,env:o};let s;switch(o){case"server":s=e=>r.player.call(i,[t.g(e)]);break;case"client":if("server"===n.env)s=e=>mp.events.callRemote(i,t.g(e)Line truncated
|
||||
Generated
+527
-627
File diff suppressed because it is too large.
Load diff
+7
-7
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "rage-rpc",
|
||||
"version": "0.2.1",
|
||||
"version": "0.3.0",
|
||||
"description": "An asynchronous RPC implementation for RAGE Multiplayer",
|
||||
"main": "dist/rage-rpc.min.js",
|
||||
"types": "dist/rage-rpc.d.ts",
|
||||
@@ -24,13 +24,13 @@
|
||||
"homepage": "https://github.com/micaww/rage-rpc#readme",
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.3.4",
|
||||
"@babel/preset-env": "^7.3.4",
|
||||
"@babel/core": "^7.4.5",
|
||||
"@babel/preset-env": "^7.4.5",
|
||||
"@babel/preset-typescript": "^7.3.3",
|
||||
"babel-loader": "^8.0.5",
|
||||
"babel-loader": "^8.0.6",
|
||||
"replace-in-file-webpack-plugin": "^1.0.6",
|
||||
"typescript": "^3.3.3333",
|
||||
"webpack": "^4.29.6",
|
||||
"webpack-cli": "^3.2.3"
|
||||
"typescript": "^3.5.1",
|
||||
"webpack": "^4.32.2",
|
||||
"webpack-cli": "^3.3.2"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user