@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.
Files changed (162) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +138 -2
  3. package/dist/auto.d.ts +36 -0
  4. package/dist/auto.d.ts.map +1 -0
  5. package/dist/auto.js +27 -0
  6. package/dist/auto.js.map +1 -0
  7. package/dist/daily.d.ts +2 -0
  8. package/dist/daily.js +1 -0
  9. package/dist/doctor/cli.mjs +238 -0
  10. package/dist/doctor/cli.mjs.map +1 -0
  11. package/dist/index.d.ts +12 -0
  12. package/dist/index.js +6 -0
  13. package/dist/input.d.ts +2 -0
  14. package/dist/input.js +3 -0
  15. package/dist/mp.d.ts +4 -0
  16. package/dist/mp.js +1 -0
  17. package/dist/race.d.ts +4 -0
  18. package/dist/race.js +1 -0
  19. package/dist/rooms.d.ts +4 -0
  20. package/dist/rooms.js +1 -0
  21. package/dist/shared/bridge.js +209 -0
  22. package/dist/shared/bridge.js.map +1 -0
  23. package/dist/shared/client-version.gen.js +7 -0
  24. package/dist/shared/client-version.gen.js.map +1 -0
  25. package/dist/shared/daily.d.ts +123 -0
  26. package/dist/shared/daily.d.ts.map +1 -0
  27. package/dist/shared/daily.js +191 -0
  28. package/dist/shared/daily.js.map +1 -0
  29. package/dist/shared/dom.js +48 -0
  30. package/dist/shared/dom.js.map +1 -0
  31. package/dist/shared/globals.js +97 -0
  32. package/dist/shared/globals.js.map +1 -0
  33. package/dist/shared/index.d.ts +706 -0
  34. package/dist/shared/index.d.ts.map +1 -0
  35. package/dist/shared/input.d.ts +730 -0
  36. package/dist/shared/input.d.ts.map +1 -0
  37. package/dist/shared/input.js +2718 -0
  38. package/dist/shared/input.js.map +1 -0
  39. package/dist/shared/latest-state.js +17 -0
  40. package/dist/shared/latest-state.js.map +1 -0
  41. package/dist/shared/mp.d.ts +9 -0
  42. package/dist/shared/mp.d.ts.map +1 -0
  43. package/dist/shared/mp.js +30 -0
  44. package/dist/shared/mp.js.map +1 -0
  45. package/dist/shared/multiplayer-types.d.ts +47 -0
  46. package/dist/shared/multiplayer-types.d.ts.map +1 -0
  47. package/dist/shared/page-stack.js +207 -0
  48. package/dist/shared/page-stack.js.map +1 -0
  49. package/dist/shared/race-types.d.ts +126 -0
  50. package/dist/shared/race-types.d.ts.map +1 -0
  51. package/dist/shared/race.d.ts +9 -0
  52. package/dist/shared/race.d.ts.map +1 -0
  53. package/dist/shared/race.js +53 -0
  54. package/dist/shared/race.js.map +1 -0
  55. package/dist/shared/room-types.d.ts +125 -0
  56. package/dist/shared/room-types.d.ts.map +1 -0
  57. package/dist/shared/rooms.d.ts +9 -0
  58. package/dist/shared/rooms.d.ts.map +1 -0
  59. package/dist/shared/rooms.js +62 -0
  60. package/dist/shared/rooms.js.map +1 -0
  61. package/dist/shared/runtime-opener.js +84 -0
  62. package/dist/shared/runtime-opener.js.map +1 -0
  63. package/dist/shared/social.d.ts +148 -0
  64. package/dist/shared/social.d.ts.map +1 -0
  65. package/dist/shared/social.js +73 -0
  66. package/dist/shared/social.js.map +1 -0
  67. package/dist/shared/src.js +2164 -0
  68. package/dist/shared/src.js.map +1 -0
  69. package/dist/shared/wire-types.d.ts +51 -0
  70. package/dist/shared/wire-types.d.ts.map +1 -0
  71. package/dist/social.d.ts +6 -0
  72. package/dist/social.js +3 -0
  73. package/dist/types.d.ts +1 -0
  74. package/dist/types.js +0 -0
  75. package/package.json +87 -4
  76. package/src/auto.ts +39 -0
  77. package/src/core/connection.ts +299 -0
  78. package/src/core/errors.ts +147 -0
  79. package/src/core/game-data.ts +38 -0
  80. package/src/core/hub-economy.ts +179 -0
  81. package/src/core/hub-progress.ts +205 -0
  82. package/src/core/hub.ts +131 -0
  83. package/src/core/menu-control.ts +61 -0
  84. package/src/core/offline/events.ts +50 -0
  85. package/src/core/offline/favorites.ts +21 -0
  86. package/src/core/offline/local-store.ts +261 -0
  87. package/src/core/offline/queue.ts +171 -0
  88. package/src/core/page.ts +74 -0
  89. package/src/core/rest/endpoint-types.ts +22 -0
  90. package/src/core/rest/rest-client.ts +152 -0
  91. package/src/core/rest/routes.gen.ts +90 -0
  92. package/src/core/storage/json-guards.ts +74 -0
  93. package/src/core/storage/key-value.ts +66 -0
  94. package/src/core/ticket.ts +43 -0
  95. package/src/core/types.ts +134 -0
  96. package/src/core/version/client-version.gen.ts +3 -0
  97. package/src/core/version/hub-version.ts +62 -0
  98. package/src/core/version/semver.ts +97 -0
  99. package/src/daily/daily-system.ts +161 -0
  100. package/src/daily/page-daily.ts +36 -0
  101. package/src/daily/types.ts +67 -0
  102. package/src/daily.ts +10 -0
  103. package/src/doctor/checks.ts +76 -0
  104. package/src/doctor/cli.ts +106 -0
  105. package/src/doctor/tsconfig.json +12 -0
  106. package/src/globals.ts +110 -0
  107. package/src/index.ts +50 -0
  108. package/src/input/device-state.ts +146 -0
  109. package/src/input/edges.ts +55 -0
  110. package/src/input/gamepad.ts +61 -0
  111. package/src/input/input-events.ts +32 -0
  112. package/src/input/input-registry.ts +164 -0
  113. package/src/input/input-system.ts +393 -0
  114. package/src/input/legacy-controls.ts +64 -0
  115. package/src/input/nav-state.ts +191 -0
  116. package/src/input/navigator.ts +171 -0
  117. package/src/input/on-screen-controls.ts +101 -0
  118. package/src/input/page-control.ts +43 -0
  119. package/src/input/page-input.ts +193 -0
  120. package/src/input/player-remaps.ts +77 -0
  121. package/src/input/source-values.ts +116 -0
  122. package/src/input/spatial.ts +47 -0
  123. package/src/input/types.ts +331 -0
  124. package/src/input/zero-config.ts +177 -0
  125. package/src/input.ts +22 -0
  126. package/src/mp.ts +10 -0
  127. package/src/overlay/controls-panel.ts +163 -0
  128. package/src/overlay/dom.ts +46 -0
  129. package/src/overlay/layout-clusters.ts +162 -0
  130. package/src/overlay/layout-geometry.ts +136 -0
  131. package/src/overlay/layout.ts +203 -0
  132. package/src/overlay/listener-scope.ts +23 -0
  133. package/src/overlay/on-screen-keyboard.ts +137 -0
  134. package/src/overlay/overlay.ts +208 -0
  135. package/src/overlay/styles.ts +54 -0
  136. package/src/overlay/virtual-controls.ts +262 -0
  137. package/src/race.ts +10 -0
  138. package/src/realtime/bridge.ts +121 -0
  139. package/src/realtime/cross-bundle.ts +29 -0
  140. package/src/realtime/fallback-notice.ts +48 -0
  141. package/src/realtime/hub-link.ts +65 -0
  142. package/src/realtime/latest-state.ts +33 -0
  143. package/src/realtime/multiplayer-forwarder.ts +28 -0
  144. package/src/realtime/multiplayer-types.ts +52 -0
  145. package/src/realtime/page-runtime.ts +60 -0
  146. package/src/realtime/race-forwarder.ts +59 -0
  147. package/src/realtime/race-types.ts +132 -0
  148. package/src/realtime/room-types.ts +125 -0
  149. package/src/realtime/rooms-forwarder.ts +79 -0
  150. package/src/realtime/runtime-api.ts +49 -0
  151. package/src/realtime/runtime-opener.ts +61 -0
  152. package/src/realtime/social-forwarder.ts +72 -0
  153. package/src/realtime/social-types.ts +78 -0
  154. package/src/realtime/types.ts +53 -0
  155. package/src/realtime/wire-types.ts +72 -0
  156. package/src/rooms.ts +10 -0
  157. package/src/social.ts +18 -0
  158. package/src/types.ts +13 -0
  159. package/src/uistack/page-stack.ts +45 -0
  160. package/src/uistack/play-suspension.ts +82 -0
  161. package/src/uistack/types.ts +76 -0
  162. 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"}