@diffenderfer-games/hub 0.0.0-stage → 2.0.0-next.0
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/LICENSE +21 -0
- package/README.md +138 -2
- package/dist/auto.d.ts +36 -0
- package/dist/auto.d.ts.map +1 -0
- package/dist/auto.js +27 -0
- package/dist/auto.js.map +1 -0
- package/dist/daily.d.ts +2 -0
- package/dist/daily.js +1 -0
- package/dist/doctor/cli.mjs +238 -0
- package/dist/doctor/cli.mjs.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +6 -0
- package/dist/input.d.ts +2 -0
- package/dist/input.js +3 -0
- package/dist/mp.d.ts +4 -0
- package/dist/mp.js +1 -0
- package/dist/race.d.ts +4 -0
- package/dist/race.js +1 -0
- package/dist/rooms.d.ts +4 -0
- package/dist/rooms.js +1 -0
- package/dist/shared/bridge.js +209 -0
- package/dist/shared/bridge.js.map +1 -0
- package/dist/shared/client-version.gen.js +7 -0
- package/dist/shared/client-version.gen.js.map +1 -0
- package/dist/shared/daily.d.ts +123 -0
- package/dist/shared/daily.d.ts.map +1 -0
- package/dist/shared/daily.js +191 -0
- package/dist/shared/daily.js.map +1 -0
- package/dist/shared/dom.js +48 -0
- package/dist/shared/dom.js.map +1 -0
- package/dist/shared/globals.js +97 -0
- package/dist/shared/globals.js.map +1 -0
- package/dist/shared/index.d.ts +706 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/input.d.ts +730 -0
- package/dist/shared/input.d.ts.map +1 -0
- package/dist/shared/input.js +2718 -0
- package/dist/shared/input.js.map +1 -0
- package/dist/shared/latest-state.js +17 -0
- package/dist/shared/latest-state.js.map +1 -0
- package/dist/shared/mp.d.ts +9 -0
- package/dist/shared/mp.d.ts.map +1 -0
- package/dist/shared/mp.js +30 -0
- package/dist/shared/mp.js.map +1 -0
- package/dist/shared/multiplayer-types.d.ts +47 -0
- package/dist/shared/multiplayer-types.d.ts.map +1 -0
- package/dist/shared/page-stack.js +207 -0
- package/dist/shared/page-stack.js.map +1 -0
- package/dist/shared/race-types.d.ts +126 -0
- package/dist/shared/race-types.d.ts.map +1 -0
- package/dist/shared/race.d.ts +9 -0
- package/dist/shared/race.d.ts.map +1 -0
- package/dist/shared/race.js +53 -0
- package/dist/shared/race.js.map +1 -0
- package/dist/shared/room-types.d.ts +125 -0
- package/dist/shared/room-types.d.ts.map +1 -0
- package/dist/shared/rooms.d.ts +9 -0
- package/dist/shared/rooms.d.ts.map +1 -0
- package/dist/shared/rooms.js +62 -0
- package/dist/shared/rooms.js.map +1 -0
- package/dist/shared/runtime-opener.js +84 -0
- package/dist/shared/runtime-opener.js.map +1 -0
- package/dist/shared/social.d.ts +148 -0
- package/dist/shared/social.d.ts.map +1 -0
- package/dist/shared/social.js +73 -0
- package/dist/shared/social.js.map +1 -0
- package/dist/shared/src.js +2164 -0
- package/dist/shared/src.js.map +1 -0
- package/dist/shared/wire-types.d.ts +51 -0
- package/dist/shared/wire-types.d.ts.map +1 -0
- package/dist/social.d.ts +6 -0
- package/dist/social.js +3 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.js +0 -0
- package/package.json +87 -4
- package/src/auto.ts +39 -0
- package/src/core/connection.ts +299 -0
- package/src/core/errors.ts +147 -0
- package/src/core/game-data.ts +38 -0
- package/src/core/hub-economy.ts +179 -0
- package/src/core/hub-progress.ts +205 -0
- package/src/core/hub.ts +131 -0
- package/src/core/menu-control.ts +61 -0
- package/src/core/offline/events.ts +50 -0
- package/src/core/offline/favorites.ts +21 -0
- package/src/core/offline/local-store.ts +261 -0
- package/src/core/offline/queue.ts +171 -0
- package/src/core/page.ts +74 -0
- package/src/core/rest/endpoint-types.ts +22 -0
- package/src/core/rest/rest-client.ts +152 -0
- package/src/core/rest/routes.gen.ts +90 -0
- package/src/core/storage/json-guards.ts +74 -0
- package/src/core/storage/key-value.ts +66 -0
- package/src/core/ticket.ts +43 -0
- package/src/core/types.ts +134 -0
- package/src/core/version/client-version.gen.ts +3 -0
- package/src/core/version/hub-version.ts +62 -0
- package/src/core/version/semver.ts +97 -0
- package/src/daily/daily-system.ts +161 -0
- package/src/daily/page-daily.ts +36 -0
- package/src/daily/types.ts +67 -0
- package/src/daily.ts +10 -0
- package/src/doctor/checks.ts +76 -0
- package/src/doctor/cli.ts +106 -0
- package/src/doctor/tsconfig.json +12 -0
- package/src/globals.ts +110 -0
- package/src/index.ts +50 -0
- package/src/input/device-state.ts +146 -0
- package/src/input/edges.ts +55 -0
- package/src/input/gamepad.ts +61 -0
- package/src/input/input-events.ts +32 -0
- package/src/input/input-registry.ts +164 -0
- package/src/input/input-system.ts +393 -0
- package/src/input/legacy-controls.ts +64 -0
- package/src/input/nav-state.ts +191 -0
- package/src/input/navigator.ts +171 -0
- package/src/input/on-screen-controls.ts +101 -0
- package/src/input/page-control.ts +43 -0
- package/src/input/page-input.ts +193 -0
- package/src/input/player-remaps.ts +77 -0
- package/src/input/source-values.ts +116 -0
- package/src/input/spatial.ts +47 -0
- package/src/input/types.ts +331 -0
- package/src/input/zero-config.ts +177 -0
- package/src/input.ts +22 -0
- package/src/mp.ts +10 -0
- package/src/overlay/controls-panel.ts +163 -0
- package/src/overlay/dom.ts +46 -0
- package/src/overlay/layout-clusters.ts +162 -0
- package/src/overlay/layout-geometry.ts +136 -0
- package/src/overlay/layout.ts +203 -0
- package/src/overlay/listener-scope.ts +23 -0
- package/src/overlay/on-screen-keyboard.ts +137 -0
- package/src/overlay/overlay.ts +208 -0
- package/src/overlay/styles.ts +54 -0
- package/src/overlay/virtual-controls.ts +262 -0
- package/src/race.ts +10 -0
- package/src/realtime/bridge.ts +121 -0
- package/src/realtime/cross-bundle.ts +29 -0
- package/src/realtime/fallback-notice.ts +48 -0
- package/src/realtime/hub-link.ts +65 -0
- package/src/realtime/latest-state.ts +33 -0
- package/src/realtime/multiplayer-forwarder.ts +28 -0
- package/src/realtime/multiplayer-types.ts +52 -0
- package/src/realtime/page-runtime.ts +60 -0
- package/src/realtime/race-forwarder.ts +59 -0
- package/src/realtime/race-types.ts +132 -0
- package/src/realtime/room-types.ts +125 -0
- package/src/realtime/rooms-forwarder.ts +79 -0
- package/src/realtime/runtime-api.ts +49 -0
- package/src/realtime/runtime-opener.ts +61 -0
- package/src/realtime/social-forwarder.ts +72 -0
- package/src/realtime/social-types.ts +78 -0
- package/src/realtime/types.ts +53 -0
- package/src/realtime/wire-types.ts +72 -0
- package/src/rooms.ts +10 -0
- package/src/social.ts +18 -0
- package/src/types.ts +13 -0
- package/src/uistack/page-stack.ts +45 -0
- package/src/uistack/play-suspension.ts +82 -0
- package/src/uistack/types.ts +76 -0
- package/src/uistack/ui-stack.ts +144 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
//#region src/realtime/cross-bundle.ts
|
|
2
|
+
/** Whether `candidate` is a non-null object. */
|
|
3
|
+
function isObject(candidate) {
|
|
4
|
+
return typeof candidate === "object" && candidate !== null;
|
|
5
|
+
}
|
|
6
|
+
/** Whether `candidate` is an object with a function under every one of `names`. */
|
|
7
|
+
function hasMethods(candidate, names) {
|
|
8
|
+
if (!isObject(candidate)) return false;
|
|
9
|
+
return names.every((name) => name in candidate && typeof Reflect.get(candidate, name) === "function");
|
|
10
|
+
}
|
|
11
|
+
/** The value under `key` on another bundle's object, or `undefined`. */
|
|
12
|
+
function readField(candidate, key) {
|
|
13
|
+
return isObject(candidate) ? Reflect.get(candidate, key) : void 0;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/typeof.js
|
|
17
|
+
function _typeof(o) {
|
|
18
|
+
"@babel/helpers - typeof";
|
|
19
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
|
|
20
|
+
return typeof o;
|
|
21
|
+
} : function(o) {
|
|
22
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
23
|
+
}, _typeof(o);
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPrimitive.js
|
|
27
|
+
function toPrimitive(t, r) {
|
|
28
|
+
if ("object" != _typeof(t) || !t) return t;
|
|
29
|
+
var e = t[Symbol.toPrimitive];
|
|
30
|
+
if (void 0 !== e) {
|
|
31
|
+
var i = e.call(t, r || "default");
|
|
32
|
+
if ("object" != _typeof(i)) return i;
|
|
33
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
34
|
+
}
|
|
35
|
+
return ("string" === r ? String : Number)(t);
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/toPropertyKey.js
|
|
39
|
+
function toPropertyKey(t) {
|
|
40
|
+
var i = toPrimitive(t, "string");
|
|
41
|
+
return "symbol" == _typeof(i) ? i : i + "";
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region \0@oxc-project+runtime@0.153.0/helpers/esm/defineProperty.js
|
|
45
|
+
function _defineProperty(e, r, t) {
|
|
46
|
+
return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
47
|
+
value: t,
|
|
48
|
+
enumerable: !0,
|
|
49
|
+
configurable: !0,
|
|
50
|
+
writable: !0
|
|
51
|
+
}) : e[r] = t, e;
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region src/globals.ts
|
|
55
|
+
/** The v1 window names, kept as aliases. */
|
|
56
|
+
const LEGACY_GLOBAL_NAMES = {
|
|
57
|
+
input: "__HUB_INPUT__",
|
|
58
|
+
daily: "__HUB_DAILY__",
|
|
59
|
+
rt: "__HUB_RT__"
|
|
60
|
+
};
|
|
61
|
+
const warnedMismatches = /* @__PURE__ */ new Set();
|
|
62
|
+
/** The page registry, created on first use (`undefined` outside a browser). */
|
|
63
|
+
function registryOf(page) {
|
|
64
|
+
if (page === void 0) return;
|
|
65
|
+
page.__DG__ ?? (page.__DG__ = {});
|
|
66
|
+
return page.__DG__;
|
|
67
|
+
}
|
|
68
|
+
/** Register (or join) a page-wide singleton and return the instance this bundle should use. */
|
|
69
|
+
function claimSingleton(claim) {
|
|
70
|
+
const page = typeof window === "undefined" ? void 0 : window;
|
|
71
|
+
const registry = registryOf(page);
|
|
72
|
+
if (page === void 0 || registry === void 0) return claim.create();
|
|
73
|
+
const registered = registry[claim.name];
|
|
74
|
+
if (registered !== void 0 && claim.isInstance(registered.instance)) {
|
|
75
|
+
if (registered.api === claim.api) return registered.instance;
|
|
76
|
+
if (!warnedMismatches.has(claim.name)) {
|
|
77
|
+
warnedMismatches.add(claim.name);
|
|
78
|
+
console.warn(`[hub] two clients on this page disagree on "${claim.name}" (v${registered.version} api ${String(registered.api)}, v${claim.version} api ${String(claim.api)}). Fix: npm update @diffenderfer-games/hub`);
|
|
79
|
+
}
|
|
80
|
+
if (claim.onMismatch?.(registered) !== true) return claim.create();
|
|
81
|
+
} else {
|
|
82
|
+
const legacy = page[LEGACY_GLOBAL_NAMES[claim.name]];
|
|
83
|
+
if (registered === void 0 && claim.isInstance(legacy)) return legacy;
|
|
84
|
+
}
|
|
85
|
+
const instance = claim.create();
|
|
86
|
+
registry[claim.name] = {
|
|
87
|
+
version: claim.version,
|
|
88
|
+
api: claim.api,
|
|
89
|
+
instance
|
|
90
|
+
};
|
|
91
|
+
page[LEGACY_GLOBAL_NAMES[claim.name]] = instance;
|
|
92
|
+
return instance;
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
export { isObject as a, hasMethods as i, claimSingleton as n, readField as o, _defineProperty as r, LEGACY_GLOBAL_NAMES as t };
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=globals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globals.js","names":[],"sources":["../../src/realtime/cross-bundle.ts","../../src/globals.ts"],"mappings":";;AAWA,SAAgB,SAAS,WAAyC;CAChE,OAAO,OAAO,cAAc,YAAY,cAAc;AACxD;;AAIA,SAAgB,WAAgC,WAAoB,OAA8D;CAChI,IAAI,CAAC,SAAS,SAAS,GACrB,OAAO;CAET,OAAO,MAAM,OAAO,SAAS,QAAQ,aAAa,OAAO,QAAQ,IAAI,WAAW,IAAI,MAAM,UAAU;AACtG;;AAIA,SAAgB,UAAU,WAAoB,KAAsB;CAClE,OAAO,SAAS,SAAS,IAAI,QAAQ,IAAI,WAAW,GAAG,IAAI,KAAA;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKA,MAAa,sBAAsB;CAAE,OAAO;CAAiB,OAAO;CAAiB,IAAI;AAAa;AAkCtG,MAAM,mCAAmB,IAAI,IAAmB;;AAGhD,SAAS,WAAW,MAAiD;CACnE,IAAI,SAAS,KAAA,GACX;CAEF,KAAK,WAAL,KAAK,SAAW,CAAC;CACjB,OAAO,KAAK;AACd;;AAGA,SAAgB,eAAkB,OAA6B;CAC7D,MAAM,OAAO,OAAO,WAAW,cAAc,KAAA,IAAY;CACzD,MAAM,WAAW,WAAW,IAAI;CAChC,IAAI,SAAS,KAAA,KAAa,aAAa,KAAA,GACrC,OAAO,MAAM,OAAO;CAEtB,MAAM,aAAa,SAAS,MAAM;CAClC,IAAI,eAAe,KAAA,KAAa,MAAM,WAAW,WAAW,QAAQ,GAAG;EACrE,IAAI,WAAW,QAAQ,MAAM,KAC3B,OAAO,WAAW;EAEpB,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,GAAG;GACrC,iBAAiB,IAAI,MAAM,IAAI;GAE/B,QAAQ,KAAK,+CAA+C,MAAM,KAAK,MAAM,WAAW,QAAQ,OAAO,OAAO,WAAW,GAAG,EAAE,KAAK,MAAM,QAAQ,OAAO,OAAO,MAAM,GAAG,EAAE,2CAA2C;EACvN;EACA,IAAI,MAAM,aAAa,UAAU,MAAM,MACrC,OAAO,MAAM,OAAO;CAExB,OAAO;EACL,MAAM,SAAS,KAAK,oBAAoB,MAAM;EAC9C,IAAI,eAAe,KAAA,KAAa,MAAM,WAAW,MAAM,GAErD,OAAO;CAEX;CACA,MAAM,WAAW,MAAM,OAAO;CAC9B,SAAS,MAAM,QAAQ;EAAE,SAAS,MAAM;EAAS,KAAK,MAAM;EAAK;CAAS;CAC1E,KAAK,oBAAoB,MAAM,SAAS;CACxC,OAAO;AACT"}
|