@rpgjs/client 5.0.0-alpha.14 → 5.0.0-alpha.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Game/Map.d.ts +2 -1
- package/dist/RpgClient.d.ts +39 -0
- package/dist/RpgClientEngine.d.ts +138 -2
- package/dist/index10.js +1 -2
- package/dist/index10.js.map +1 -1
- package/dist/index15.js +58 -16
- package/dist/index15.js.map +1 -1
- package/dist/index2.js +303 -3
- package/dist/index2.js.map +1 -1
- package/dist/index20.js +3 -0
- package/dist/index20.js.map +1 -1
- package/dist/index22.js +3 -3
- package/dist/index23.js +2 -2
- package/dist/index25.js +1 -2
- package/dist/index25.js.map +1 -1
- package/dist/index33.js +1 -1
- package/dist/index34.js +1 -1
- package/dist/index35.js +9 -184
- package/dist/index35.js.map +1 -1
- package/dist/index36.js +6 -503
- package/dist/index36.js.map +1 -1
- package/dist/index37.js +3687 -9
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +186 -6
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +499 -3685
- package/dist/index39.js.map +1 -1
- package/dist/index40.js +1 -1
- package/dist/index41.js +1 -1
- package/dist/index42.js +119 -16
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +16 -92
- package/dist/index43.js.map +1 -1
- package/dist/index8.js +8 -0
- package/dist/index8.js.map +1 -1
- package/package.json +4 -4
- package/src/Game/Map.ts +5 -1
- package/src/Game/Object.ts +37 -4
- package/src/RpgClient.ts +40 -0
- package/src/RpgClientEngine.ts +374 -11
- package/src/components/animations/animation.ce +1 -2
- package/src/components/character.ce +80 -20
- package/src/components/gui/dialogbox/index.ce +1 -2
- package/src/module.ts +8 -0
package/dist/index38.js
CHANGED
|
@@ -1,7 +1,187 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { ReconnectingWebSocket } from './index39.js';
|
|
2
|
+
|
|
3
|
+
// src/index.ts
|
|
4
|
+
var valueIsNotNil = (keyValuePair) =>
|
|
5
|
+
keyValuePair[1] !== null && keyValuePair[1] !== void 0;
|
|
6
|
+
function generateUUID() {
|
|
7
|
+
if (typeof crypto !== "undefined" && crypto.randomUUID) {
|
|
8
|
+
return crypto.randomUUID();
|
|
9
|
+
}
|
|
10
|
+
let d = /* @__PURE__ */ new Date().getTime();
|
|
11
|
+
let d2 =
|
|
12
|
+
(typeof performance !== "undefined" &&
|
|
13
|
+
performance.now &&
|
|
14
|
+
performance.now() * 1e3) ||
|
|
15
|
+
0;
|
|
16
|
+
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
|
|
17
|
+
let r = Math.random() * 16;
|
|
18
|
+
if (d > 0) {
|
|
19
|
+
r = (d + r) % 16 | 0;
|
|
20
|
+
d = Math.floor(d / 16);
|
|
21
|
+
} else {
|
|
22
|
+
r = (d2 + r) % 16 | 0;
|
|
23
|
+
d2 = Math.floor(d2 / 16);
|
|
24
|
+
}
|
|
25
|
+
return (c === "x" ? r : (r & 3) | 8).toString(16);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function getPartyInfo(partySocketOptions, defaultProtocol, defaultParams = {}) {
|
|
29
|
+
const {
|
|
30
|
+
host: rawHost,
|
|
31
|
+
path: rawPath,
|
|
32
|
+
protocol: rawProtocol,
|
|
33
|
+
room,
|
|
34
|
+
party,
|
|
35
|
+
basePath,
|
|
36
|
+
prefix,
|
|
37
|
+
query
|
|
38
|
+
} = partySocketOptions;
|
|
39
|
+
let host = rawHost.replace(/^(http|https|ws|wss):\/\//, "");
|
|
40
|
+
if (host.endsWith("/")) {
|
|
41
|
+
host = host.slice(0, -1);
|
|
42
|
+
}
|
|
43
|
+
if (rawPath == null ? void 0 : rawPath.startsWith("/")) {
|
|
44
|
+
throw new Error("path must not start with a slash");
|
|
45
|
+
}
|
|
46
|
+
const name = party ?? "main";
|
|
47
|
+
const path = rawPath ? `/${rawPath}` : "";
|
|
48
|
+
const protocol =
|
|
49
|
+
rawProtocol ||
|
|
50
|
+
(host.startsWith("localhost:") ||
|
|
51
|
+
host.startsWith("127.0.0.1:") ||
|
|
52
|
+
host.startsWith("192.168.") ||
|
|
53
|
+
host.startsWith("10.") ||
|
|
54
|
+
(host.startsWith("172.") &&
|
|
55
|
+
host.split(".")[1] >= "16" &&
|
|
56
|
+
host.split(".")[1] <= "31") ||
|
|
57
|
+
host.startsWith("[::ffff:7f00:1]:")
|
|
58
|
+
? // http / ws
|
|
59
|
+
defaultProtocol
|
|
60
|
+
: // https / wss
|
|
61
|
+
`${defaultProtocol}s`);
|
|
62
|
+
const baseUrl = `${protocol}://${host}/${basePath || `${prefix || "parties"}/${name}/${room}`}${path}`;
|
|
63
|
+
const makeUrl = (query2 = {}) =>
|
|
64
|
+
`${baseUrl}?${new URLSearchParams([
|
|
65
|
+
...Object.entries(defaultParams),
|
|
66
|
+
...Object.entries(query2).filter(valueIsNotNil)
|
|
67
|
+
])}`;
|
|
68
|
+
const urlProvider =
|
|
69
|
+
typeof query === "function"
|
|
70
|
+
? async () => makeUrl(await query())
|
|
71
|
+
: makeUrl(query);
|
|
72
|
+
return {
|
|
73
|
+
host,
|
|
74
|
+
path,
|
|
75
|
+
room,
|
|
76
|
+
name,
|
|
77
|
+
protocol,
|
|
78
|
+
partyUrl: baseUrl,
|
|
79
|
+
urlProvider
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
var PartySocket = class extends ReconnectingWebSocket {
|
|
83
|
+
constructor(partySocketOptions) {
|
|
84
|
+
var _a, _b;
|
|
85
|
+
const wsOptions = getWSOptions(partySocketOptions);
|
|
86
|
+
super(wsOptions.urlProvider, wsOptions.protocols, wsOptions.socketOptions);
|
|
87
|
+
this.partySocketOptions = partySocketOptions;
|
|
88
|
+
this.setWSProperties(wsOptions);
|
|
89
|
+
if (!partySocketOptions.disableNameValidation) {
|
|
90
|
+
if ((_a = partySocketOptions.party) == null ? void 0 : _a.includes("/")) {
|
|
91
|
+
console.warn(
|
|
92
|
+
`PartySocket: party name "${partySocketOptions.party}" contains forward slash which may cause routing issues. Consider using a name without forward slashes or set disableNameValidation: true to bypass this warning.`
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
if ((_b = partySocketOptions.room) == null ? void 0 : _b.includes("/")) {
|
|
96
|
+
console.warn(
|
|
97
|
+
`PartySocket: room name "${partySocketOptions.room}" contains forward slash which may cause routing issues. Consider using a name without forward slashes or set disableNameValidation: true to bypass this warning.`
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
_pk;
|
|
103
|
+
_pkurl;
|
|
104
|
+
name;
|
|
105
|
+
room;
|
|
106
|
+
host;
|
|
107
|
+
path;
|
|
108
|
+
updateProperties(partySocketOptions) {
|
|
109
|
+
const wsOptions = getWSOptions({
|
|
110
|
+
...this.partySocketOptions,
|
|
111
|
+
...partySocketOptions,
|
|
112
|
+
host: partySocketOptions.host ?? this.host,
|
|
113
|
+
room: partySocketOptions.room ?? this.room,
|
|
114
|
+
path: partySocketOptions.path ?? this.path
|
|
115
|
+
});
|
|
116
|
+
this._url = wsOptions.urlProvider;
|
|
117
|
+
this._protocols = wsOptions.protocols;
|
|
118
|
+
this._options = wsOptions.socketOptions;
|
|
119
|
+
this.setWSProperties(wsOptions);
|
|
120
|
+
}
|
|
121
|
+
setWSProperties(wsOptions) {
|
|
122
|
+
const { _pk, _pkurl, name, room, host, path } = wsOptions;
|
|
123
|
+
this._pk = _pk;
|
|
124
|
+
this._pkurl = _pkurl;
|
|
125
|
+
this.name = name;
|
|
126
|
+
this.room = room;
|
|
127
|
+
this.host = host;
|
|
128
|
+
this.path = path;
|
|
129
|
+
}
|
|
130
|
+
reconnect(code, reason) {
|
|
131
|
+
if (!this.room || !this.host) {
|
|
132
|
+
throw new Error(
|
|
133
|
+
"The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor."
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
super.reconnect(code, reason);
|
|
137
|
+
}
|
|
138
|
+
get id() {
|
|
139
|
+
return this._pk;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Exposes the static PartyKit room URL without applying query parameters.
|
|
143
|
+
* To access the currently connected WebSocket url, use PartySocket#url.
|
|
144
|
+
*/
|
|
145
|
+
get roomUrl() {
|
|
146
|
+
return this._pkurl;
|
|
147
|
+
}
|
|
148
|
+
// a `fetch` method that uses (almost) the same options as `PartySocket`
|
|
149
|
+
static async fetch(options, init) {
|
|
150
|
+
const party = getPartyInfo(options, "http");
|
|
151
|
+
const url =
|
|
152
|
+
typeof party.urlProvider === "string"
|
|
153
|
+
? party.urlProvider
|
|
154
|
+
: await party.urlProvider();
|
|
155
|
+
const doFetch = options.fetch ?? fetch;
|
|
156
|
+
return doFetch(url, init);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
function getWSOptions(partySocketOptions) {
|
|
160
|
+
const {
|
|
161
|
+
id,
|
|
162
|
+
host: _host,
|
|
163
|
+
path: _path,
|
|
164
|
+
party: _party,
|
|
165
|
+
room: _room,
|
|
166
|
+
protocol: _protocol,
|
|
167
|
+
query: _query,
|
|
168
|
+
protocols,
|
|
169
|
+
...socketOptions
|
|
170
|
+
} = partySocketOptions;
|
|
171
|
+
const _pk = id || generateUUID();
|
|
172
|
+
const party = getPartyInfo(partySocketOptions, "ws", { _pk });
|
|
173
|
+
return {
|
|
174
|
+
_pk,
|
|
175
|
+
_pkurl: party.partyUrl,
|
|
176
|
+
name: party.name,
|
|
177
|
+
room: party.room,
|
|
178
|
+
host: party.host,
|
|
179
|
+
path: party.path,
|
|
180
|
+
protocols,
|
|
181
|
+
socketOptions,
|
|
182
|
+
urlProvider: party.urlProvider
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export { PartySocket };
|
|
7
187
|
//# sourceMappingURL=index38.js.map
|
package/dist/index38.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index38.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
1
|
+
{"version":3,"file":"index38.js","sources":["../../../node_modules/.pnpm/partysocket@1.1.5/node_modules/partysocket/dist/chunk-NLWAO4PP.mjs"],"sourcesContent":["import { ReconnectingWebSocket } from \"./chunk-ZCZZNAX5.mjs\";\n\n// src/index.ts\nvar valueIsNotNil = (keyValuePair) =>\n keyValuePair[1] !== null && keyValuePair[1] !== void 0;\nfunction generateUUID() {\n if (typeof crypto !== \"undefined\" && crypto.randomUUID) {\n return crypto.randomUUID();\n }\n let d = /* @__PURE__ */ new Date().getTime();\n let d2 =\n (typeof performance !== \"undefined\" &&\n performance.now &&\n performance.now() * 1e3) ||\n 0;\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n let r = Math.random() * 16;\n if (d > 0) {\n r = (d + r) % 16 | 0;\n d = Math.floor(d / 16);\n } else {\n r = (d2 + r) % 16 | 0;\n d2 = Math.floor(d2 / 16);\n }\n return (c === \"x\" ? r : (r & 3) | 8).toString(16);\n });\n}\nfunction getPartyInfo(partySocketOptions, defaultProtocol, defaultParams = {}) {\n const {\n host: rawHost,\n path: rawPath,\n protocol: rawProtocol,\n room,\n party,\n basePath,\n prefix,\n query\n } = partySocketOptions;\n let host = rawHost.replace(/^(http|https|ws|wss):\\/\\//, \"\");\n if (host.endsWith(\"/\")) {\n host = host.slice(0, -1);\n }\n if (rawPath == null ? void 0 : rawPath.startsWith(\"/\")) {\n throw new Error(\"path must not start with a slash\");\n }\n const name = party ?? \"main\";\n const path = rawPath ? `/${rawPath}` : \"\";\n const protocol =\n rawProtocol ||\n (host.startsWith(\"localhost:\") ||\n host.startsWith(\"127.0.0.1:\") ||\n host.startsWith(\"192.168.\") ||\n host.startsWith(\"10.\") ||\n (host.startsWith(\"172.\") &&\n host.split(\".\")[1] >= \"16\" &&\n host.split(\".\")[1] <= \"31\") ||\n host.startsWith(\"[::ffff:7f00:1]:\")\n ? // http / ws\n defaultProtocol\n : // https / wss\n `${defaultProtocol}s`);\n const baseUrl = `${protocol}://${host}/${basePath || `${prefix || \"parties\"}/${name}/${room}`}${path}`;\n const makeUrl = (query2 = {}) =>\n `${baseUrl}?${new URLSearchParams([\n ...Object.entries(defaultParams),\n ...Object.entries(query2).filter(valueIsNotNil)\n ])}`;\n const urlProvider =\n typeof query === \"function\"\n ? async () => makeUrl(await query())\n : makeUrl(query);\n return {\n host,\n path,\n room,\n name,\n protocol,\n partyUrl: baseUrl,\n urlProvider\n };\n}\nvar PartySocket = class extends ReconnectingWebSocket {\n constructor(partySocketOptions) {\n var _a, _b;\n const wsOptions = getWSOptions(partySocketOptions);\n super(wsOptions.urlProvider, wsOptions.protocols, wsOptions.socketOptions);\n this.partySocketOptions = partySocketOptions;\n this.setWSProperties(wsOptions);\n if (!partySocketOptions.disableNameValidation) {\n if ((_a = partySocketOptions.party) == null ? void 0 : _a.includes(\"/\")) {\n console.warn(\n `PartySocket: party name \"${partySocketOptions.party}\" contains forward slash which may cause routing issues. Consider using a name without forward slashes or set disableNameValidation: true to bypass this warning.`\n );\n }\n if ((_b = partySocketOptions.room) == null ? void 0 : _b.includes(\"/\")) {\n console.warn(\n `PartySocket: room name \"${partySocketOptions.room}\" contains forward slash which may cause routing issues. Consider using a name without forward slashes or set disableNameValidation: true to bypass this warning.`\n );\n }\n }\n }\n _pk;\n _pkurl;\n name;\n room;\n host;\n path;\n updateProperties(partySocketOptions) {\n const wsOptions = getWSOptions({\n ...this.partySocketOptions,\n ...partySocketOptions,\n host: partySocketOptions.host ?? this.host,\n room: partySocketOptions.room ?? this.room,\n path: partySocketOptions.path ?? this.path\n });\n this._url = wsOptions.urlProvider;\n this._protocols = wsOptions.protocols;\n this._options = wsOptions.socketOptions;\n this.setWSProperties(wsOptions);\n }\n setWSProperties(wsOptions) {\n const { _pk, _pkurl, name, room, host, path } = wsOptions;\n this._pk = _pk;\n this._pkurl = _pkurl;\n this.name = name;\n this.room = room;\n this.host = host;\n this.path = path;\n }\n reconnect(code, reason) {\n if (!this.room || !this.host) {\n throw new Error(\n \"The room and host must be set before connecting, use `updateProperties` method to set them or pass them to the constructor.\"\n );\n }\n super.reconnect(code, reason);\n }\n get id() {\n return this._pk;\n }\n /**\n * Exposes the static PartyKit room URL without applying query parameters.\n * To access the currently connected WebSocket url, use PartySocket#url.\n */\n get roomUrl() {\n return this._pkurl;\n }\n // a `fetch` method that uses (almost) the same options as `PartySocket`\n static async fetch(options, init) {\n const party = getPartyInfo(options, \"http\");\n const url =\n typeof party.urlProvider === \"string\"\n ? party.urlProvider\n : await party.urlProvider();\n const doFetch = options.fetch ?? fetch;\n return doFetch(url, init);\n }\n};\nfunction getWSOptions(partySocketOptions) {\n const {\n id,\n host: _host,\n path: _path,\n party: _party,\n room: _room,\n protocol: _protocol,\n query: _query,\n protocols,\n ...socketOptions\n } = partySocketOptions;\n const _pk = id || generateUUID();\n const party = getPartyInfo(partySocketOptions, \"ws\", { _pk });\n return {\n _pk,\n _pkurl: party.partyUrl,\n name: party.name,\n room: party.room,\n host: party.host,\n path: party.path,\n protocols,\n socketOptions,\n urlProvider: party.urlProvider\n };\n}\n\nexport { PartySocket };\n//# sourceMappingURL=chunk-NLWAO4PP.mjs.map\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|