@panda0day/fivex 0.2.1

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/README.md +294 -0
  2. package/dist/client/blips-internal.d.ts +2 -0
  3. package/dist/client/blips-internal.d.ts.map +1 -0
  4. package/dist/client/blips-internal.js +32 -0
  5. package/dist/client/blips-internal.js.map +1 -0
  6. package/dist/client/core.d.ts +18 -0
  7. package/dist/client/core.d.ts.map +1 -0
  8. package/dist/client/core.js +24 -0
  9. package/dist/client/core.js.map +1 -0
  10. package/dist/client/entities/entity.d.ts +24 -0
  11. package/dist/client/entities/entity.d.ts.map +1 -0
  12. package/dist/client/entities/entity.js +64 -0
  13. package/dist/client/entities/entity.js.map +1 -0
  14. package/dist/client/entities/local-player.d.ts +8 -0
  15. package/dist/client/entities/local-player.d.ts.map +1 -0
  16. package/dist/client/entities/local-player.js +15 -0
  17. package/dist/client/entities/local-player.js.map +1 -0
  18. package/dist/client/entities/object.d.ts +14 -0
  19. package/dist/client/entities/object.d.ts.map +1 -0
  20. package/dist/client/entities/object.js +32 -0
  21. package/dist/client/entities/object.js.map +1 -0
  22. package/dist/client/entities/ped.d.ts +8 -0
  23. package/dist/client/entities/ped.d.ts.map +1 -0
  24. package/dist/client/entities/ped.js +16 -0
  25. package/dist/client/entities/ped.js.map +1 -0
  26. package/dist/client/entities/remote-player.d.ts +9 -0
  27. package/dist/client/entities/remote-player.d.ts.map +1 -0
  28. package/dist/client/entities/remote-player.js +20 -0
  29. package/dist/client/entities/remote-player.js.map +1 -0
  30. package/dist/client/entities/vehicle.d.ts +8 -0
  31. package/dist/client/entities/vehicle.d.ts.map +1 -0
  32. package/dist/client/entities/vehicle.js +16 -0
  33. package/dist/client/entities/vehicle.js.map +1 -0
  34. package/dist/client/index.d.ts +8 -0
  35. package/dist/client/index.d.ts.map +1 -0
  36. package/dist/client/index.js +8 -0
  37. package/dist/client/index.js.map +1 -0
  38. package/dist/client/internal/state.d.ts +3 -0
  39. package/dist/client/internal/state.d.ts.map +1 -0
  40. package/dist/client/internal/state.js +5 -0
  41. package/dist/client/internal/state.js.map +1 -0
  42. package/dist/client/internal.d.ts +2 -0
  43. package/dist/client/internal.d.ts.map +1 -0
  44. package/dist/client/internal.js +17 -0
  45. package/dist/client/internal.js.map +1 -0
  46. package/dist/client/managers/client-pool.d.ts +5 -0
  47. package/dist/client/managers/client-pool.d.ts.map +1 -0
  48. package/dist/client/managers/client-pool.js +11 -0
  49. package/dist/client/managers/client-pool.js.map +1 -0
  50. package/dist/client/managers/event-manager.d.ts +11 -0
  51. package/dist/client/managers/event-manager.d.ts.map +1 -0
  52. package/dist/client/managers/event-manager.js +25 -0
  53. package/dist/client/managers/event-manager.js.map +1 -0
  54. package/dist/client/managers/object-pool.d.ts +10 -0
  55. package/dist/client/managers/object-pool.d.ts.map +1 -0
  56. package/dist/client/managers/object-pool.js +27 -0
  57. package/dist/client/managers/object-pool.js.map +1 -0
  58. package/dist/client/managers/ped-pool.d.ts +8 -0
  59. package/dist/client/managers/ped-pool.d.ts.map +1 -0
  60. package/dist/client/managers/ped-pool.js +14 -0
  61. package/dist/client/managers/ped-pool.js.map +1 -0
  62. package/dist/client/managers/player-pool.d.ts +9 -0
  63. package/dist/client/managers/player-pool.d.ts.map +1 -0
  64. package/dist/client/managers/player-pool.js +17 -0
  65. package/dist/client/managers/player-pool.js.map +1 -0
  66. package/dist/client/managers/rpc.d.ts +12 -0
  67. package/dist/client/managers/rpc.d.ts.map +1 -0
  68. package/dist/client/managers/rpc.js +43 -0
  69. package/dist/client/managers/rpc.js.map +1 -0
  70. package/dist/client/managers/vehicle-pool.d.ts +8 -0
  71. package/dist/client/managers/vehicle-pool.d.ts.map +1 -0
  72. package/dist/client/managers/vehicle-pool.js +14 -0
  73. package/dist/client/managers/vehicle-pool.js.map +1 -0
  74. package/dist/server/blips.d.ts +9 -0
  75. package/dist/server/blips.d.ts.map +1 -0
  76. package/dist/server/blips.js +25 -0
  77. package/dist/server/blips.js.map +1 -0
  78. package/dist/server/core.d.ts +13 -0
  79. package/dist/server/core.d.ts.map +1 -0
  80. package/dist/server/core.js +13 -0
  81. package/dist/server/core.js.map +1 -0
  82. package/dist/server/entities/entity.d.ts +22 -0
  83. package/dist/server/entities/entity.d.ts.map +1 -0
  84. package/dist/server/entities/entity.js +60 -0
  85. package/dist/server/entities/entity.js.map +1 -0
  86. package/dist/server/entities/object.d.ts +4 -0
  87. package/dist/server/entities/object.d.ts.map +1 -0
  88. package/dist/server/entities/object.js +4 -0
  89. package/dist/server/entities/object.js.map +1 -0
  90. package/dist/server/entities/ped.d.ts +5 -0
  91. package/dist/server/entities/ped.d.ts.map +1 -0
  92. package/dist/server/entities/ped.js +7 -0
  93. package/dist/server/entities/ped.js.map +1 -0
  94. package/dist/server/entities/player.d.ts +27 -0
  95. package/dist/server/entities/player.d.ts.map +1 -0
  96. package/dist/server/entities/player.js +80 -0
  97. package/dist/server/entities/player.js.map +1 -0
  98. package/dist/server/entities/vehicle.d.ts +18 -0
  99. package/dist/server/entities/vehicle.d.ts.map +1 -0
  100. package/dist/server/entities/vehicle.js +46 -0
  101. package/dist/server/entities/vehicle.js.map +1 -0
  102. package/dist/server/index.d.ts +5 -0
  103. package/dist/server/index.d.ts.map +1 -0
  104. package/dist/server/index.js +5 -0
  105. package/dist/server/index.js.map +1 -0
  106. package/dist/server/internal/state.d.ts +3 -0
  107. package/dist/server/internal/state.d.ts.map +1 -0
  108. package/dist/server/internal/state.js +5 -0
  109. package/dist/server/internal/state.js.map +1 -0
  110. package/dist/server/managers/event-manager.d.ts +10 -0
  111. package/dist/server/managers/event-manager.d.ts.map +1 -0
  112. package/dist/server/managers/event-manager.js +25 -0
  113. package/dist/server/managers/event-manager.js.map +1 -0
  114. package/dist/server/managers/player-pool.d.ts +9 -0
  115. package/dist/server/managers/player-pool.d.ts.map +1 -0
  116. package/dist/server/managers/player-pool.js +17 -0
  117. package/dist/server/managers/player-pool.js.map +1 -0
  118. package/dist/server/managers/rpc.d.ts +12 -0
  119. package/dist/server/managers/rpc.d.ts.map +1 -0
  120. package/dist/server/managers/rpc.js +50 -0
  121. package/dist/server/managers/rpc.js.map +1 -0
  122. package/dist/server/managers/server-pool.d.ts +5 -0
  123. package/dist/server/managers/server-pool.d.ts.map +1 -0
  124. package/dist/server/managers/server-pool.js +9 -0
  125. package/dist/server/managers/server-pool.js.map +1 -0
  126. package/dist/server/managers/vehicle-pool.d.ts +8 -0
  127. package/dist/server/managers/vehicle-pool.d.ts.map +1 -0
  128. package/dist/server/managers/vehicle-pool.js +14 -0
  129. package/dist/server/managers/vehicle-pool.js.map +1 -0
  130. package/dist/shared/blips.d.ts +16 -0
  131. package/dist/shared/blips.d.ts.map +1 -0
  132. package/dist/shared/blips.js +6 -0
  133. package/dist/shared/blips.js.map +1 -0
  134. package/dist/shared/events-map.d.ts +11 -0
  135. package/dist/shared/events-map.d.ts.map +1 -0
  136. package/dist/shared/events-map.js +2 -0
  137. package/dist/shared/events-map.js.map +1 -0
  138. package/dist/shared/index.d.ts +4 -0
  139. package/dist/shared/index.d.ts.map +1 -0
  140. package/dist/shared/index.js +4 -0
  141. package/dist/shared/index.js.map +1 -0
  142. package/dist/shared/math/utils.d.ts +8 -0
  143. package/dist/shared/math/utils.d.ts.map +1 -0
  144. package/dist/shared/math/utils.js +8 -0
  145. package/dist/shared/math/utils.js.map +1 -0
  146. package/dist/shared/math/vector3.d.ts +200 -0
  147. package/dist/shared/math/vector3.d.ts.map +1 -0
  148. package/dist/shared/math/vector3.js +232 -0
  149. package/dist/shared/math/vector3.js.map +1 -0
  150. package/dist/shared/net.d.ts +7 -0
  151. package/dist/shared/net.d.ts.map +1 -0
  152. package/dist/shared/net.js +7 -0
  153. package/dist/shared/net.js.map +1 -0
  154. package/dist/shared/pool-base.d.ts +11 -0
  155. package/dist/shared/pool-base.d.ts.map +1 -0
  156. package/dist/shared/pool-base.js +27 -0
  157. package/dist/shared/pool-base.js.map +1 -0
  158. package/dist/shared/rpc-core.d.ts +23 -0
  159. package/dist/shared/rpc-core.d.ts.map +1 -0
  160. package/dist/shared/rpc-core.js +33 -0
  161. package/dist/shared/rpc-core.js.map +1 -0
  162. package/package.json +46 -0
@@ -0,0 +1,200 @@
1
+ /**
2
+ * 3D vector type and math, shared by the client and server.
3
+ *
4
+ * @remarks
5
+ * This module contains no natives, so both runtimes import it. Use {@link IVector3}
6
+ * for anything that crosses the wire (event payloads, stored data) and {@link Vector3}
7
+ * for computation.
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ /**
12
+ * A plain 3D coordinate shape: `{ x, y, z }` with no methods.
13
+ *
14
+ * @remarks
15
+ * This is the type to use for data that is serialized — sent through `emitNet`,
16
+ * written to a state bag, or stored — because serialization strips class
17
+ * prototypes, so a {@link Vector3} arrives on the other side as a plain object
18
+ * anyway. Re-wrap with {@link Vector3.from} if you need the methods back.
19
+ */
20
+ export interface IVector3 {
21
+ /** Position along the world X axis (east/west). */
22
+ x: number;
23
+ /** Position along the world Y axis (north/south). */
24
+ y: number;
25
+ /** Position along the world Z axis (up/down). */
26
+ z: number;
27
+ }
28
+ /**
29
+ * An immutable-by-convention 3D vector with common math operations.
30
+ *
31
+ * @remarks
32
+ * Every operation returns a **new** `Vector3` rather than mutating in place, so
33
+ * instances are safe to share. Because the public `x`/`y`/`z` fields satisfy
34
+ * {@link IVector3}, an instance can be passed directly to any native that expects
35
+ * a coordinate shape (e.g. `SetEntityCoords`).
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * const a = new Vector3(0, 0, 0);
40
+ * const b = new Vector3(10, 0, 0);
41
+ *
42
+ * a.distanceTo(b); // 10
43
+ * a.lerp(b, 0.5); // Vector3(5, 0, 0)
44
+ * a.add(new Vector3(0, 0, 5)); // Vector3(0, 0, 5)
45
+ * ```
46
+ */
47
+ export declare class Vector3 implements IVector3 {
48
+ x: number;
49
+ y: number;
50
+ z: number;
51
+ /**
52
+ * Creates a vector from its components.
53
+ *
54
+ * @param x - X component. @defaultValue 0
55
+ * @param y - Y component. @defaultValue 0
56
+ * @param z - Z component. @defaultValue 0
57
+ */
58
+ constructor(x?: number, y?: number, z?: number);
59
+ /**
60
+ * Builds a `Vector3` from a plain object or a `[x, y, z]` tuple.
61
+ *
62
+ * @param value - Either an `{ x, y, z }` object or a numeric array in `[x, y, z]` order.
63
+ * @returns A new `Vector3`.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * Vector3.from({ x: 1, y: 2, z: 3 });
68
+ * Vector3.from(GetEntityCoords(ped, true)); // wrap a native result
69
+ * Vector3.from([1, 2, 3]);
70
+ * ```
71
+ */
72
+ static from(value: IVector3 | number[]): Vector3;
73
+ /**
74
+ * The zero vector, `(0, 0, 0)`.
75
+ *
76
+ * @returns A new zero `Vector3`.
77
+ */
78
+ static zero(): Vector3;
79
+ /**
80
+ * Adds a vector or a scalar to this vector.
81
+ *
82
+ * @param value - A `Vector3` (component-wise) or a number (added to every component).
83
+ * @returns The resulting vector.
84
+ */
85
+ add(value: Vector3 | number): Vector3;
86
+ /**
87
+ * Subtracts a vector or a scalar from this vector.
88
+ *
89
+ * @param value - A `Vector3` (component-wise) or a number (subtracted from every component).
90
+ * @returns The resulting vector.
91
+ */
92
+ subtract(value: Vector3 | number): Vector3;
93
+ /**
94
+ * Multiplies this vector by a vector or a scalar.
95
+ *
96
+ * @remarks
97
+ * Vector input is a **component-wise** (Hadamard) product, not a dot or cross
98
+ * product. Pass a scalar to uniformly scale — e.g. `v.multiply(2)` doubles the length.
99
+ *
100
+ * @param value - A `Vector3` (component-wise) or a number (scales every component).
101
+ * @returns The resulting vector.
102
+ */
103
+ multiply(value: Vector3 | number): Vector3;
104
+ /**
105
+ * Dot product with another vector.
106
+ *
107
+ * @param value - The other vector.
108
+ * @returns The scalar dot product. `0` means the vectors are perpendicular.
109
+ */
110
+ dot(value: Vector3): number;
111
+ /**
112
+ * Cross product with another vector.
113
+ *
114
+ * @param value - The other vector.
115
+ * @returns A new vector perpendicular to both inputs.
116
+ */
117
+ cross(value: Vector3): Vector3;
118
+ /**
119
+ * The magnitude (Euclidean length) of the vector.
120
+ *
121
+ * @remarks
122
+ * Involves a square root. If you only need to compare magnitudes, prefer
123
+ * {@link Vector3.lengthSquared} to avoid the `Math.sqrt` call.
124
+ */
125
+ get length(): number;
126
+ /**
127
+ * The squared magnitude of the vector.
128
+ *
129
+ * @remarks
130
+ * Cheaper than {@link Vector3.length} because it skips the square root. Order is
131
+ * preserved, so it is ideal for "which is closer" comparisons.
132
+ */
133
+ get lengthSquared(): number;
134
+ /**
135
+ * Returns a unit vector pointing in the same direction.
136
+ *
137
+ * @returns A new vector with length `1`, or {@link Vector3.zero} if this vector
138
+ * has zero length (avoids dividing by zero).
139
+ */
140
+ normalize(): Vector3;
141
+ /**
142
+ * Euclidean distance to another point.
143
+ *
144
+ * @param v - The other point.
145
+ * @returns The distance.
146
+ * @see {@link Vector3.distanceToSquared} for a cheaper comparison-only variant.
147
+ */
148
+ distanceTo(v: Vector3): number;
149
+ /**
150
+ * Squared Euclidean distance to another point.
151
+ *
152
+ * @remarks
153
+ * Skips the square root, so use this when ranking or thresholding distances
154
+ * (compare against a squared radius) rather than reporting an actual distance.
155
+ *
156
+ * @param v - The other point.
157
+ * @returns The squared distance.
158
+ */
159
+ distanceToSquared(v: Vector3): number;
160
+ /**
161
+ * Linearly interpolates from this vector toward another.
162
+ *
163
+ * @param v - The target vector.
164
+ * @param t - Interpolation factor. `0` returns this vector, `1` returns `v`;
165
+ * values outside `[0, 1]` extrapolate.
166
+ * @returns The interpolated vector.
167
+ */
168
+ lerp(v: Vector3, t: number): Vector3;
169
+ /**
170
+ * Creates an independent copy of this vector.
171
+ *
172
+ * @returns A new `Vector3` with the same components.
173
+ */
174
+ clone(): Vector3;
175
+ /**
176
+ * Compares two vectors for approximate equality.
177
+ *
178
+ * @remarks
179
+ * Uses a tolerance because floating-point math rarely produces exactly equal
180
+ * components after arithmetic.
181
+ *
182
+ * @param v - The vector to compare against.
183
+ * @param epsilon - Maximum allowed per-component difference. @defaultValue 1e-6
184
+ * @returns `true` if every component is within `epsilon` of `v`.
185
+ */
186
+ equals(v: Vector3, epsilon?: number): boolean;
187
+ /**
188
+ * Converts to a plain `[x, y, z]` tuple.
189
+ *
190
+ * @returns The components as a fixed-length array.
191
+ */
192
+ toArray(): [number, number, number];
193
+ /**
194
+ * A human-readable representation, e.g. `"Vector3(1, 2, 3)"`.
195
+ *
196
+ * @returns The formatted string.
197
+ */
198
+ toString(): string;
199
+ }
200
+ //# sourceMappingURL=vector3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector3.d.ts","sourceRoot":"","sources":["../../../src/shared/math/vector3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACxB,mDAAmD;IACnD,CAAC,EAAE,MAAM,CAAC;IACV,qDAAqD;IACrD,CAAC,EAAE,MAAM,CAAC;IACV,iDAAiD;IACjD,CAAC,EAAE,MAAM,CAAC;CACV;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,OAAQ,YAAW,QAAQ;IAS/B,CAAC;IACD,CAAC;IACD,CAAC;IAVT;;;;;;OAMG;gBAEK,CAAC,SAAI,EACL,CAAC,SAAI,EACL,CAAC,SAAI;IAGb;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,OAAO;IAMhD;;;;OAIG;IACH,MAAM,CAAC,IAAI,IAAI,OAAO;IAItB;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO;IAMrC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO;IAM1C;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO;IAM1C;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAI3B;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAQ9B;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACH,SAAS,IAAI,OAAO;IAKpB;;;;;;OAMG;IACH,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;IAI9B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;IAIrC;;;;;;;OAOG;IACH,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;IAIpC;;;;OAIG;IACH,KAAK,IAAI,OAAO;IAIhB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,SAAO,GAAG,OAAO;IAQ3C;;;;OAIG;IACH,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAInC;;;;OAIG;IACH,QAAQ,IAAI,MAAM;CAGlB"}
@@ -0,0 +1,232 @@
1
+ /**
2
+ * 3D vector type and math, shared by the client and server.
3
+ *
4
+ * @remarks
5
+ * This module contains no natives, so both runtimes import it. Use {@link IVector3}
6
+ * for anything that crosses the wire (event payloads, stored data) and {@link Vector3}
7
+ * for computation.
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ /**
12
+ * An immutable-by-convention 3D vector with common math operations.
13
+ *
14
+ * @remarks
15
+ * Every operation returns a **new** `Vector3` rather than mutating in place, so
16
+ * instances are safe to share. Because the public `x`/`y`/`z` fields satisfy
17
+ * {@link IVector3}, an instance can be passed directly to any native that expects
18
+ * a coordinate shape (e.g. `SetEntityCoords`).
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * const a = new Vector3(0, 0, 0);
23
+ * const b = new Vector3(10, 0, 0);
24
+ *
25
+ * a.distanceTo(b); // 10
26
+ * a.lerp(b, 0.5); // Vector3(5, 0, 0)
27
+ * a.add(new Vector3(0, 0, 5)); // Vector3(0, 0, 5)
28
+ * ```
29
+ */
30
+ export class Vector3 {
31
+ x;
32
+ y;
33
+ z;
34
+ /**
35
+ * Creates a vector from its components.
36
+ *
37
+ * @param x - X component. @defaultValue 0
38
+ * @param y - Y component. @defaultValue 0
39
+ * @param z - Z component. @defaultValue 0
40
+ */
41
+ constructor(x = 0, y = 0, z = 0) {
42
+ this.x = x;
43
+ this.y = y;
44
+ this.z = z;
45
+ }
46
+ /**
47
+ * Builds a `Vector3` from a plain object or a `[x, y, z]` tuple.
48
+ *
49
+ * @param value - Either an `{ x, y, z }` object or a numeric array in `[x, y, z]` order.
50
+ * @returns A new `Vector3`.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * Vector3.from({ x: 1, y: 2, z: 3 });
55
+ * Vector3.from(GetEntityCoords(ped, true)); // wrap a native result
56
+ * Vector3.from([1, 2, 3]);
57
+ * ```
58
+ */
59
+ static from(value) {
60
+ return Array.isArray(value)
61
+ ? new Vector3(value[0], value[1], value[2])
62
+ : new Vector3(value.x, value.y, value.z);
63
+ }
64
+ /**
65
+ * The zero vector, `(0, 0, 0)`.
66
+ *
67
+ * @returns A new zero `Vector3`.
68
+ */
69
+ static zero() {
70
+ return new Vector3(0, 0, 0);
71
+ }
72
+ /**
73
+ * Adds a vector or a scalar to this vector.
74
+ *
75
+ * @param value - A `Vector3` (component-wise) or a number (added to every component).
76
+ * @returns The resulting vector.
77
+ */
78
+ add(value) {
79
+ return typeof value === "number"
80
+ ? new Vector3(this.x + value, this.y + value, this.z + value)
81
+ : new Vector3(this.x + value.x, this.y + value.y, this.z + value.z);
82
+ }
83
+ /**
84
+ * Subtracts a vector or a scalar from this vector.
85
+ *
86
+ * @param value - A `Vector3` (component-wise) or a number (subtracted from every component).
87
+ * @returns The resulting vector.
88
+ */
89
+ subtract(value) {
90
+ return typeof value === "number"
91
+ ? new Vector3(this.x - value, this.y - value, this.z - value)
92
+ : new Vector3(this.x - value.x, this.y - value.y, this.z - value.z);
93
+ }
94
+ /**
95
+ * Multiplies this vector by a vector or a scalar.
96
+ *
97
+ * @remarks
98
+ * Vector input is a **component-wise** (Hadamard) product, not a dot or cross
99
+ * product. Pass a scalar to uniformly scale — e.g. `v.multiply(2)` doubles the length.
100
+ *
101
+ * @param value - A `Vector3` (component-wise) or a number (scales every component).
102
+ * @returns The resulting vector.
103
+ */
104
+ multiply(value) {
105
+ return typeof value === "number"
106
+ ? new Vector3(this.x * value, this.y * value, this.z * value)
107
+ : new Vector3(this.x * value.x, this.y * value.y, this.z * value.z);
108
+ }
109
+ /**
110
+ * Dot product with another vector.
111
+ *
112
+ * @param value - The other vector.
113
+ * @returns The scalar dot product. `0` means the vectors are perpendicular.
114
+ */
115
+ dot(value) {
116
+ return this.x * value.x + this.y * value.y + this.z * value.z;
117
+ }
118
+ /**
119
+ * Cross product with another vector.
120
+ *
121
+ * @param value - The other vector.
122
+ * @returns A new vector perpendicular to both inputs.
123
+ */
124
+ cross(value) {
125
+ return new Vector3(this.y * value.z - this.z * value.y, this.z * value.x - this.x * value.z, this.x * value.y - this.y * value.x);
126
+ }
127
+ /**
128
+ * The magnitude (Euclidean length) of the vector.
129
+ *
130
+ * @remarks
131
+ * Involves a square root. If you only need to compare magnitudes, prefer
132
+ * {@link Vector3.lengthSquared} to avoid the `Math.sqrt` call.
133
+ */
134
+ get length() {
135
+ return Math.sqrt(this.dot(this));
136
+ }
137
+ /**
138
+ * The squared magnitude of the vector.
139
+ *
140
+ * @remarks
141
+ * Cheaper than {@link Vector3.length} because it skips the square root. Order is
142
+ * preserved, so it is ideal for "which is closer" comparisons.
143
+ */
144
+ get lengthSquared() {
145
+ return this.dot(this);
146
+ }
147
+ /**
148
+ * Returns a unit vector pointing in the same direction.
149
+ *
150
+ * @returns A new vector with length `1`, or {@link Vector3.zero} if this vector
151
+ * has zero length (avoids dividing by zero).
152
+ */
153
+ normalize() {
154
+ const length = this.length;
155
+ return length === 0 ? Vector3.zero() : this.multiply(1 / length);
156
+ }
157
+ /**
158
+ * Euclidean distance to another point.
159
+ *
160
+ * @param v - The other point.
161
+ * @returns The distance.
162
+ * @see {@link Vector3.distanceToSquared} for a cheaper comparison-only variant.
163
+ */
164
+ distanceTo(v) {
165
+ return this.subtract(v).length;
166
+ }
167
+ /**
168
+ * Squared Euclidean distance to another point.
169
+ *
170
+ * @remarks
171
+ * Skips the square root, so use this when ranking or thresholding distances
172
+ * (compare against a squared radius) rather than reporting an actual distance.
173
+ *
174
+ * @param v - The other point.
175
+ * @returns The squared distance.
176
+ */
177
+ distanceToSquared(v) {
178
+ return this.subtract(v).lengthSquared;
179
+ }
180
+ /**
181
+ * Linearly interpolates from this vector toward another.
182
+ *
183
+ * @param v - The target vector.
184
+ * @param t - Interpolation factor. `0` returns this vector, `1` returns `v`;
185
+ * values outside `[0, 1]` extrapolate.
186
+ * @returns The interpolated vector.
187
+ */
188
+ lerp(v, t) {
189
+ return this.add(v.subtract(this).multiply(t));
190
+ }
191
+ /**
192
+ * Creates an independent copy of this vector.
193
+ *
194
+ * @returns A new `Vector3` with the same components.
195
+ */
196
+ clone() {
197
+ return new Vector3(this.x, this.y, this.z);
198
+ }
199
+ /**
200
+ * Compares two vectors for approximate equality.
201
+ *
202
+ * @remarks
203
+ * Uses a tolerance because floating-point math rarely produces exactly equal
204
+ * components after arithmetic.
205
+ *
206
+ * @param v - The vector to compare against.
207
+ * @param epsilon - Maximum allowed per-component difference. @defaultValue 1e-6
208
+ * @returns `true` if every component is within `epsilon` of `v`.
209
+ */
210
+ equals(v, epsilon = 1e-6) {
211
+ return (Math.abs(this.x - v.x) < epsilon &&
212
+ Math.abs(this.y - v.y) < epsilon &&
213
+ Math.abs(this.z - v.z) < epsilon);
214
+ }
215
+ /**
216
+ * Converts to a plain `[x, y, z]` tuple.
217
+ *
218
+ * @returns The components as a fixed-length array.
219
+ */
220
+ toArray() {
221
+ return [this.x, this.y, this.z];
222
+ }
223
+ /**
224
+ * A human-readable representation, e.g. `"Vector3(1, 2, 3)"`.
225
+ *
226
+ * @returns The formatted string.
227
+ */
228
+ toString() {
229
+ return `Vector3(${this.x}, ${this.y}, ${this.z})`;
230
+ }
231
+ }
232
+ //# sourceMappingURL=vector3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector3.js","sourceRoot":"","sources":["../../../src/shared/math/vector3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoBH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,OAAO;IASX;IACA;IACA;IAVR;;;;;;OAMG;IACH,YACQ,IAAI,CAAC,EACL,IAAI,CAAC,EACL,IAAI,CAAC;QAFL,MAAC,GAAD,CAAC,CAAI;QACL,MAAC,GAAD,CAAC,CAAI;QACL,MAAC,GAAD,CAAC,CAAI;IACV,CAAC;IAEJ;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,IAAI,CAAC,KAA0B;QACrC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAC1B,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI;QACV,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAuB;QAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YAC7D,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,KAAuB;QAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YAC7D,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAuB;QAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YAC7D,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAc;QACjB,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAc;QACnB,OAAO,IAAI,OAAO,CACjB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EACnC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EACnC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CACnC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,CAAU;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CAAC,CAAU;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,CAAU,EAAE,CAAS;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,KAAK;QACJ,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,CAAU,EAAE,OAAO,GAAG,IAAI;QAChC,OAAO,CACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;YAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;YAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAChC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,OAAO;QACN,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACP,OAAO,WAAW,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;IACnD,CAAC;CACD"}
@@ -0,0 +1,7 @@
1
+ export declare const Net: {
2
+ readonly setHealth: "__fx:setHealth";
3
+ readonly setArmour: "__fx:setArmour";
4
+ readonly setPosition: "__fx:setPosition";
5
+ readonly setRotation: "__fx:setRotation";
6
+ };
7
+ //# sourceMappingURL=net.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../src/shared/net.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,GAAG;;;;;CAKN,CAAC"}
@@ -0,0 +1,7 @@
1
+ export const Net = {
2
+ setHealth: "__fx:setHealth",
3
+ setArmour: "__fx:setArmour",
4
+ setPosition: "__fx:setPosition",
5
+ setRotation: "__fx:setRotation",
6
+ };
7
+ //# sourceMappingURL=net.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"net.js","sourceRoot":"","sources":["../../src/shared/net.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG;IAClB,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,gBAAgB;IAC3B,WAAW,EAAE,kBAAkB;IAC/B,WAAW,EAAE,kBAAkB;CACtB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare abstract class Pool<T> {
2
+ protected abstract ids(): number[];
3
+ protected abstract wrap(id: number): T;
4
+ toArray(): T[];
5
+ get length(): number;
6
+ forEach(fn: (item: T) => void): void;
7
+ map<R>(fn: (item: T) => R): R[];
8
+ filter(fn: (item: T) => boolean): T[];
9
+ find(fn: (item: T) => boolean): T | undefined;
10
+ }
11
+ //# sourceMappingURL=pool-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-base.d.ts","sourceRoot":"","sources":["../../src/shared/pool-base.ts"],"names":[],"mappings":"AAAA,8BAAsB,IAAI,CAAC,CAAC;IAC3B,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,EAAE;IAElC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC;IAEtC,OAAO,IAAI,CAAC,EAAE;IAId,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAIpC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IAI/B,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,EAAE;IAIrC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS;CAO7C"}
@@ -0,0 +1,27 @@
1
+ export class Pool {
2
+ toArray() {
3
+ return this.ids().map(this.wrap);
4
+ }
5
+ get length() {
6
+ return this.ids().length;
7
+ }
8
+ forEach(fn) {
9
+ for (const id of this.ids())
10
+ fn(this.wrap(id));
11
+ }
12
+ map(fn) {
13
+ return this.toArray().map(fn);
14
+ }
15
+ filter(fn) {
16
+ return this.toArray().filter(fn);
17
+ }
18
+ find(fn) {
19
+ for (const id of this.ids()) {
20
+ const item = this.wrap(id);
21
+ if (fn(item))
22
+ return item;
23
+ }
24
+ return undefined;
25
+ }
26
+ }
27
+ //# sourceMappingURL=pool-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-base.js","sourceRoot":"","sources":["../../src/shared/pool-base.ts"],"names":[],"mappings":"AAAA,MAAM,OAAgB,IAAI;IAKzB,OAAO;QACN,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,EAAqB;QAC5B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,GAAG,CAAI,EAAkB;QACxB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,EAAwB;QAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,EAAwB;QAC5B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC3B,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;CACD"}
@@ -0,0 +1,23 @@
1
+ export declare const RpcNet: {
2
+ readonly req: "__fx:rpc:req";
3
+ readonly res: "__fx:rpc:res";
4
+ };
5
+ export interface RpcRequest {
6
+ id: string;
7
+ name: string;
8
+ args: unknown[];
9
+ }
10
+ export interface RpcResponse {
11
+ id: string;
12
+ ok: boolean;
13
+ result?: unknown;
14
+ error?: string;
15
+ }
16
+ export declare const RPC_TIMEOUT_MS = 10000;
17
+ export declare function nextRpcId(): string;
18
+ export declare class PendingRequests {
19
+ private map;
20
+ waitFor<T>(id: string, timeoutMs?: number): Promise<T>;
21
+ settle(res: RpcResponse): void;
22
+ }
23
+ //# sourceMappingURL=rpc-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-core.d.ts","sourceRoot":"","sources":["../../src/shared/rpc-core.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;CAGT,CAAC;AAEX,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,cAAc,QAAS,CAAC;AAIrC,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAQD,qBAAa,eAAe;IAC3B,OAAO,CAAC,GAAG,CAA6B;IAExC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,SAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IAU9D,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;CAU9B"}
@@ -0,0 +1,33 @@
1
+ export const RpcNet = {
2
+ req: "__fx:rpc:req",
3
+ res: "__fx:rpc:res",
4
+ };
5
+ export const RPC_TIMEOUT_MS = 10_000;
6
+ let counter = 0;
7
+ export function nextRpcId() {
8
+ return `${Date.now().toString(36)}-${(counter++).toString(36)}`;
9
+ }
10
+ export class PendingRequests {
11
+ map = new Map();
12
+ waitFor(id, timeoutMs = RPC_TIMEOUT_MS) {
13
+ return new Promise((resolve, reject) => {
14
+ const timer = setTimeout(() => {
15
+ this.map.delete(id);
16
+ reject(new Error(`[fx] rpc '${id}' timed out after ${timeoutMs}ms`));
17
+ }, timeoutMs);
18
+ this.map.set(id, { resolve, reject, timer });
19
+ });
20
+ }
21
+ settle(res) {
22
+ const waiter = this.map.get(res.id);
23
+ if (!waiter)
24
+ return;
25
+ clearTimeout(waiter.timer);
26
+ this.map.delete(res.id);
27
+ if (res.ok)
28
+ waiter.resolve(res.result);
29
+ else
30
+ waiter.reject(new Error(res.error ?? "[fx] rpc failed"));
31
+ }
32
+ }
33
+ //# sourceMappingURL=rpc-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-core.js","sourceRoot":"","sources":["../../src/shared/rpc-core.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,cAAc;CACV,CAAC;AAeX,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AAErC,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB,MAAM,UAAU,SAAS;IACxB,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC;AAQD,MAAM,OAAO,eAAe;IACnB,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,OAAO,CAAI,EAAU,EAAE,SAAS,GAAG,cAAc;QAChD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,qBAAqB,SAAS,IAAI,CAAC,CAAC,CAAC;YACtE,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAgB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAExB,IAAI,GAAG,CAAC,EAAE;YAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;YAClC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAAC;IAC/D,CAAC;CACD"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@panda0day/fivex",
3
+ "version": "0.2.1",
4
+ "type": "module",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "exports": {
12
+ "./client": {
13
+ "types": "./dist/client/index.d.ts",
14
+ "default": "./dist/client/index.js"
15
+ },
16
+ "./server": {
17
+ "types": "./dist/server/index.d.ts",
18
+ "default": "./dist/server/index.js"
19
+ },
20
+ "./shared": {
21
+ "types": "./dist/shared/index.d.ts",
22
+ "default": "./dist/shared/index.js"
23
+ }
24
+ },
25
+ "scripts": {
26
+ "build": "tsc -p tsconfig.client.json && tsc -p tsconfig.server.json",
27
+ "prepare": "npm run build",
28
+ "typecheck": "tsc --noEmit -p tsconfig.client.json && tsc --noEmit -p tsconfig.server.json",
29
+ "lint": "biome check .",
30
+ "format": "biome check --write .",
31
+ "docs": "typedoc",
32
+ "check": "npm run format && npm run typecheck && npm run build"
33
+ },
34
+ "peerDependencies": {
35
+ "@citizenfx/client": "*",
36
+ "@citizenfx/server": "*"
37
+ },
38
+ "devDependencies": {
39
+ "@biomejs/biome": "2.5.12",
40
+ "@changesets/cli": "^3.0.2",
41
+ "@citizenfx/client": "^2.0.35214-1",
42
+ "@citizenfx/server": "^2.0.35214-1",
43
+ "typedoc": "^0.28.20",
44
+ "typescript": "^6.0.3"
45
+ }
46
+ }