tf-logparser 0.1.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/README.md +218 -0
- package/dist/generated/tf2-parser.js +6867 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/parser.d.ts +3 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +18 -0
- package/dist/parser.js.map +1 -0
- package/dist/schema.d.ts +3 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +429 -0
- package/dist/schema.js.map +1 -0
- package/dist/types.d.ts +372 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +49 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/parser.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CActD"}
|
package/dist/parser.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { parse } from "./generated/tf2-parser.js";
|
|
2
|
+
export function parseLog(rawText) {
|
|
3
|
+
const lines = rawText.split("\n").filter((line) => line.length > 0);
|
|
4
|
+
return lines.map((line) => {
|
|
5
|
+
try {
|
|
6
|
+
return parse(line);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return {
|
|
10
|
+
type: "unknown",
|
|
11
|
+
timestamp: Date.now(),
|
|
12
|
+
raw: line,
|
|
13
|
+
body: line,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAElD,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,OAAO,KAAK,CAAC,IAAI,CAAe,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,IAAI,EAAE,SAAkB;gBACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/schema.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAmEV,UAAU,EAEX,MAAM,YAAY,CAAC;AA+vBpB,eAAO,MAAM,kBAAkB,4CAA4C,CAAC"}
|
package/dist/schema.js
ADDED
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import Ajv from "ajv";
|
|
2
|
+
const ajv = new Ajv({ discriminator: true });
|
|
3
|
+
// ─── Shared definitions ──────────────────────────────────
|
|
4
|
+
const playerSchema = {
|
|
5
|
+
type: "object",
|
|
6
|
+
properties: {
|
|
7
|
+
name: { type: "string" },
|
|
8
|
+
entityId: { type: "integer" },
|
|
9
|
+
steamId: { type: "string" },
|
|
10
|
+
team: { type: "string" },
|
|
11
|
+
},
|
|
12
|
+
required: ["name", "entityId", "steamId", "team"],
|
|
13
|
+
additionalProperties: false,
|
|
14
|
+
};
|
|
15
|
+
const T = "string";
|
|
16
|
+
const N = "number";
|
|
17
|
+
const I = "integer";
|
|
18
|
+
const B = "boolean";
|
|
19
|
+
/** Build a single event sub-schema with base fields baked in. */
|
|
20
|
+
function eventSchema(typeConst, props, required) {
|
|
21
|
+
return {
|
|
22
|
+
type: "object",
|
|
23
|
+
properties: {
|
|
24
|
+
timestamp: { type: N },
|
|
25
|
+
raw: { type: T },
|
|
26
|
+
type: { type: T, const: typeConst },
|
|
27
|
+
...props,
|
|
28
|
+
},
|
|
29
|
+
required: ["timestamp", "raw", "type", ...required],
|
|
30
|
+
additionalProperties: false,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// ─── Player-triggered events ─────────────────────────────
|
|
34
|
+
const changedRoleSchema = eventSchema("changedRole", {
|
|
35
|
+
player: playerSchema,
|
|
36
|
+
role: { type: T },
|
|
37
|
+
}, ["player", "role"]);
|
|
38
|
+
const damageSchema = eventSchema("damage", {
|
|
39
|
+
player: playerSchema,
|
|
40
|
+
victim: playerSchema,
|
|
41
|
+
damage: { type: I },
|
|
42
|
+
realdamage: { type: I, nullable: true },
|
|
43
|
+
weapon: { type: T },
|
|
44
|
+
crit: { type: T, enum: ["crit", "mini"], nullable: true },
|
|
45
|
+
headshot: { type: B, nullable: true },
|
|
46
|
+
airshot: { type: B, nullable: true },
|
|
47
|
+
height: { type: I, nullable: true },
|
|
48
|
+
healing: { type: I, nullable: true },
|
|
49
|
+
}, ["player", "victim", "damage", "weapon"]);
|
|
50
|
+
const shotFiredSchema = eventSchema("shotFired", {
|
|
51
|
+
player: playerSchema,
|
|
52
|
+
weapon: { type: T },
|
|
53
|
+
}, ["player", "weapon"]);
|
|
54
|
+
const shotHitSchema = eventSchema("shotHit", {
|
|
55
|
+
player: playerSchema,
|
|
56
|
+
weapon: { type: T },
|
|
57
|
+
}, ["player", "weapon"]);
|
|
58
|
+
const pickedUpItemSchema = eventSchema("pickedUpItem", {
|
|
59
|
+
player: playerSchema,
|
|
60
|
+
item: { type: T },
|
|
61
|
+
healing: { type: I, nullable: true },
|
|
62
|
+
}, ["player", "item"]);
|
|
63
|
+
const killSchema = eventSchema("kill", {
|
|
64
|
+
player: playerSchema,
|
|
65
|
+
victim: playerSchema,
|
|
66
|
+
weapon: { type: T },
|
|
67
|
+
customkill: { type: T, nullable: true },
|
|
68
|
+
attackerPosition: { type: T },
|
|
69
|
+
victimPosition: { type: T },
|
|
70
|
+
}, ["player", "victim", "weapon", "attackerPosition", "victimPosition"]);
|
|
71
|
+
const medicDeathSchema = eventSchema("medicDeath", {
|
|
72
|
+
player: playerSchema,
|
|
73
|
+
victim: playerSchema,
|
|
74
|
+
healing: { type: I },
|
|
75
|
+
ubercharge: { type: I },
|
|
76
|
+
}, ["player", "victim", "healing", "ubercharge"]);
|
|
77
|
+
const medicDeathExSchema = eventSchema("medicDeathEx", {
|
|
78
|
+
player: playerSchema,
|
|
79
|
+
uberpct: { type: I },
|
|
80
|
+
}, ["player", "uberpct"]);
|
|
81
|
+
const spawnedSchema = eventSchema("spawned", {
|
|
82
|
+
player: playerSchema,
|
|
83
|
+
role: { type: T },
|
|
84
|
+
}, ["player", "role"]);
|
|
85
|
+
const healedSchema = eventSchema("healed", {
|
|
86
|
+
player: playerSchema,
|
|
87
|
+
target: playerSchema,
|
|
88
|
+
healing: { type: I },
|
|
89
|
+
airshot: { type: B, nullable: true },
|
|
90
|
+
height: { type: I, nullable: true },
|
|
91
|
+
}, ["player", "target", "healing"]);
|
|
92
|
+
const emptyUberSchema = eventSchema("emptyUber", {
|
|
93
|
+
player: playerSchema,
|
|
94
|
+
}, ["player"]);
|
|
95
|
+
const chargeReadySchema = eventSchema("chargeReady", {
|
|
96
|
+
player: playerSchema,
|
|
97
|
+
}, ["player"]);
|
|
98
|
+
const chargeDeployedSchema = eventSchema("chargeDeployed", {
|
|
99
|
+
player: playerSchema,
|
|
100
|
+
medigun: { type: T },
|
|
101
|
+
}, ["player", "medigun"]);
|
|
102
|
+
const chargeEndedSchema = eventSchema("chargeEnded", {
|
|
103
|
+
player: playerSchema,
|
|
104
|
+
duration: { type: N },
|
|
105
|
+
}, ["player", "duration"]);
|
|
106
|
+
const firstHealAfterSpawnSchema = eventSchema("firstHealAfterSpawn", {
|
|
107
|
+
player: playerSchema,
|
|
108
|
+
time: { type: N },
|
|
109
|
+
}, ["player", "time"]);
|
|
110
|
+
const killAssistSchema = eventSchema("killAssist", {
|
|
111
|
+
player: playerSchema,
|
|
112
|
+
victim: playerSchema,
|
|
113
|
+
assisterPosition: { type: T },
|
|
114
|
+
attackerPosition: { type: T },
|
|
115
|
+
victimPosition: { type: T },
|
|
116
|
+
}, [
|
|
117
|
+
"player",
|
|
118
|
+
"victim",
|
|
119
|
+
"assisterPosition",
|
|
120
|
+
"attackerPosition",
|
|
121
|
+
"victimPosition",
|
|
122
|
+
]);
|
|
123
|
+
const dominationSchema = eventSchema("domination", {
|
|
124
|
+
player: playerSchema,
|
|
125
|
+
victim: playerSchema,
|
|
126
|
+
assist: { type: B, nullable: true },
|
|
127
|
+
}, ["player", "victim"]);
|
|
128
|
+
const revengeSchema = eventSchema("revenge", {
|
|
129
|
+
player: playerSchema,
|
|
130
|
+
victim: playerSchema,
|
|
131
|
+
assist: { type: B, nullable: true },
|
|
132
|
+
}, ["player", "victim"]);
|
|
133
|
+
const captureBlockedSchema = eventSchema("captureBlocked", {
|
|
134
|
+
player: playerSchema,
|
|
135
|
+
cp: { type: I },
|
|
136
|
+
cpname: { type: T },
|
|
137
|
+
position: { type: T },
|
|
138
|
+
}, ["player", "cp", "cpname", "position"]);
|
|
139
|
+
const killedObjectSchema = eventSchema("killedObject", {
|
|
140
|
+
player: playerSchema,
|
|
141
|
+
object: { type: T },
|
|
142
|
+
weapon: { type: T },
|
|
143
|
+
objectowner: { type: T },
|
|
144
|
+
attackerPosition: { type: T },
|
|
145
|
+
assist: { type: B, nullable: true },
|
|
146
|
+
assisterPosition: { type: T, nullable: true },
|
|
147
|
+
}, ["player", "object", "weapon", "objectowner", "attackerPosition"]);
|
|
148
|
+
const playerBuiltObjectSchema = eventSchema("playerBuiltObject", {
|
|
149
|
+
player: playerSchema,
|
|
150
|
+
object: { type: T },
|
|
151
|
+
position: { type: T },
|
|
152
|
+
}, ["player", "object", "position"]);
|
|
153
|
+
const objectDetonatedSchema = eventSchema("objectDetonated", {
|
|
154
|
+
player: playerSchema,
|
|
155
|
+
object: { type: T },
|
|
156
|
+
position: { type: T },
|
|
157
|
+
}, ["player", "object", "position"]);
|
|
158
|
+
const playerCarryObjectSchema = eventSchema("playerCarryObject", {
|
|
159
|
+
player: playerSchema,
|
|
160
|
+
object: { type: T },
|
|
161
|
+
position: { type: T },
|
|
162
|
+
}, ["player", "object", "position"]);
|
|
163
|
+
const playerDropObjectSchema = eventSchema("playerDropObject", {
|
|
164
|
+
player: playerSchema,
|
|
165
|
+
object: { type: T },
|
|
166
|
+
position: { type: T },
|
|
167
|
+
}, ["player", "object", "position"]);
|
|
168
|
+
const playerExtinguishedSchema = eventSchema("playerExtinguished", {
|
|
169
|
+
player: playerSchema,
|
|
170
|
+
victim: playerSchema,
|
|
171
|
+
weapon: { type: T },
|
|
172
|
+
attackerPosition: { type: T },
|
|
173
|
+
victimPosition: { type: T },
|
|
174
|
+
}, ["player", "victim", "weapon", "attackerPosition", "victimPosition"]);
|
|
175
|
+
const lostUberAdvantageSchema = eventSchema("lostUberAdvantage", {
|
|
176
|
+
player: playerSchema,
|
|
177
|
+
time: { type: I },
|
|
178
|
+
}, ["player", "time"]);
|
|
179
|
+
// ─── Chat events ─────────────────────────────────────────
|
|
180
|
+
const saySchema = eventSchema("say", {
|
|
181
|
+
player: playerSchema,
|
|
182
|
+
message: { type: T },
|
|
183
|
+
}, ["player", "message"]);
|
|
184
|
+
const sayTeamSchema = eventSchema("sayTeam", {
|
|
185
|
+
player: playerSchema,
|
|
186
|
+
message: { type: T },
|
|
187
|
+
}, ["player", "message"]);
|
|
188
|
+
// ─── Non-triggered player events ─────────────────────────
|
|
189
|
+
const suicideSchema = eventSchema("suicide", {
|
|
190
|
+
player: playerSchema,
|
|
191
|
+
weapon: { type: T },
|
|
192
|
+
attackerPosition: { type: T },
|
|
193
|
+
}, ["player", "weapon", "attackerPosition"]);
|
|
194
|
+
const positionReportSchema = eventSchema("positionReport", {
|
|
195
|
+
player: playerSchema,
|
|
196
|
+
position: { type: T },
|
|
197
|
+
}, ["player", "position"]);
|
|
198
|
+
const joinedTeamSchema = eventSchema("joinedTeam", {
|
|
199
|
+
player: playerSchema,
|
|
200
|
+
newTeam: { type: T },
|
|
201
|
+
}, ["player", "newTeam"]);
|
|
202
|
+
const connectedSchema = eventSchema("connected", {
|
|
203
|
+
player: playerSchema,
|
|
204
|
+
address: { type: T },
|
|
205
|
+
}, ["player", "address"]);
|
|
206
|
+
const enteredGameSchema = eventSchema("enteredGame", {
|
|
207
|
+
player: playerSchema,
|
|
208
|
+
}, ["player"]);
|
|
209
|
+
const changedNameSchema = eventSchema("changedName", {
|
|
210
|
+
player: playerSchema,
|
|
211
|
+
newName: { type: T },
|
|
212
|
+
}, ["player", "newName"]);
|
|
213
|
+
// ─── World / round events ────────────────────────────────
|
|
214
|
+
const roundStartSchema = eventSchema("roundStart", {}, []);
|
|
215
|
+
const roundSetupBeginSchema = eventSchema("roundSetupBegin", {}, []);
|
|
216
|
+
const roundSetupEndSchema = eventSchema("roundSetupEnd", {}, []);
|
|
217
|
+
const roundOvertimeSchema = eventSchema("roundOvertime", {}, []);
|
|
218
|
+
const roundWinSchema = eventSchema("roundWin", {
|
|
219
|
+
winner: { type: T },
|
|
220
|
+
}, ["winner"]);
|
|
221
|
+
const roundLengthSchema = eventSchema("roundLength", {
|
|
222
|
+
seconds: { type: N },
|
|
223
|
+
}, ["seconds"]);
|
|
224
|
+
const gameOverSchema = eventSchema("gameOver", {
|
|
225
|
+
reason: { type: T },
|
|
226
|
+
}, ["reason"]);
|
|
227
|
+
// ─── Team events ─────────────────────────────────────────
|
|
228
|
+
const pointCapturedSchema = eventSchema("pointCaptured", {
|
|
229
|
+
team: { type: T },
|
|
230
|
+
cp: { type: I },
|
|
231
|
+
cpname: { type: T },
|
|
232
|
+
numcappers: { type: I },
|
|
233
|
+
players: {
|
|
234
|
+
type: "array",
|
|
235
|
+
items: {
|
|
236
|
+
type: "object",
|
|
237
|
+
properties: {
|
|
238
|
+
player: { type: T },
|
|
239
|
+
position: { type: T },
|
|
240
|
+
},
|
|
241
|
+
required: ["player", "position"],
|
|
242
|
+
additionalProperties: false,
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
}, ["team", "cp", "cpname", "numcappers", "players"]);
|
|
246
|
+
const currentScoreSchema = eventSchema("currentScore", {
|
|
247
|
+
team: { type: T },
|
|
248
|
+
score: { type: I },
|
|
249
|
+
numPlayers: { type: I },
|
|
250
|
+
}, ["team", "score", "numPlayers"]);
|
|
251
|
+
const finalScoreSchema = eventSchema("finalScore", {
|
|
252
|
+
team: { type: T },
|
|
253
|
+
score: { type: I },
|
|
254
|
+
numPlayers: { type: I },
|
|
255
|
+
}, ["team", "score", "numPlayers"]);
|
|
256
|
+
const intermissionWinLimitSchema = eventSchema("intermissionWinLimit", {
|
|
257
|
+
team: { type: T },
|
|
258
|
+
}, ["team"]);
|
|
259
|
+
// ─── Pause events ────────────────────────────────────────
|
|
260
|
+
const matchPauseSchema = eventSchema("matchPause", {
|
|
261
|
+
player: playerSchema,
|
|
262
|
+
}, ["player"]);
|
|
263
|
+
const matchUnpauseSchema = eventSchema("matchUnpause", {
|
|
264
|
+
player: playerSchema,
|
|
265
|
+
}, ["player"]);
|
|
266
|
+
const gamePausedSchema = eventSchema("gamePaused", {}, []);
|
|
267
|
+
const gameUnpausedSchema = eventSchema("gameUnpaused", {}, []);
|
|
268
|
+
const pauseLengthSchema = eventSchema("pauseLength", {
|
|
269
|
+
seconds: { type: N },
|
|
270
|
+
}, ["seconds"]);
|
|
271
|
+
// ─── Passtime events ─────────────────────────────────────
|
|
272
|
+
const passGetSchema = eventSchema("passGet", {
|
|
273
|
+
player: playerSchema,
|
|
274
|
+
firstcontact: { type: B },
|
|
275
|
+
position: { type: T },
|
|
276
|
+
}, ["player", "firstcontact", "position"]);
|
|
277
|
+
const passFreeSchema = eventSchema("passFree", {
|
|
278
|
+
player: playerSchema,
|
|
279
|
+
position: { type: T },
|
|
280
|
+
}, ["player", "position"]);
|
|
281
|
+
const passPassCaughtSchema = eventSchema("passPassCaught", {
|
|
282
|
+
player: playerSchema,
|
|
283
|
+
target: playerSchema,
|
|
284
|
+
interception: { type: B },
|
|
285
|
+
save: { type: B },
|
|
286
|
+
handoff: { type: B },
|
|
287
|
+
dist: { type: N },
|
|
288
|
+
duration: { type: N },
|
|
289
|
+
throwerPosition: { type: T },
|
|
290
|
+
catcherPosition: { type: T },
|
|
291
|
+
}, [
|
|
292
|
+
"player",
|
|
293
|
+
"target",
|
|
294
|
+
"interception",
|
|
295
|
+
"save",
|
|
296
|
+
"handoff",
|
|
297
|
+
"dist",
|
|
298
|
+
"duration",
|
|
299
|
+
"throwerPosition",
|
|
300
|
+
"catcherPosition",
|
|
301
|
+
]);
|
|
302
|
+
const passScoreSchema = eventSchema("passScore", {
|
|
303
|
+
player: playerSchema,
|
|
304
|
+
points: { type: I },
|
|
305
|
+
panacea: { type: B },
|
|
306
|
+
winStrat: { type: B },
|
|
307
|
+
deathbomb: { type: B },
|
|
308
|
+
dist: { type: N },
|
|
309
|
+
position: { type: T },
|
|
310
|
+
}, ["player", "points", "panacea", "winStrat", "deathbomb", "dist", "position"]);
|
|
311
|
+
const passScoreAssistSchema = eventSchema("passScoreAssist", {
|
|
312
|
+
player: playerSchema,
|
|
313
|
+
position: { type: T },
|
|
314
|
+
}, ["player", "position"]);
|
|
315
|
+
const passBallStolenSchema = eventSchema("passBallStolen", {
|
|
316
|
+
player: playerSchema,
|
|
317
|
+
victim: playerSchema,
|
|
318
|
+
stealDefense: { type: B },
|
|
319
|
+
thiefPosition: { type: T },
|
|
320
|
+
victimPosition: { type: T },
|
|
321
|
+
}, ["player", "victim", "stealDefense", "thiefPosition", "victimPosition"]);
|
|
322
|
+
const catapultSchema = eventSchema("catapult", {
|
|
323
|
+
player: playerSchema,
|
|
324
|
+
catapult: { type: T },
|
|
325
|
+
position: { type: T },
|
|
326
|
+
}, ["player", "catapult", "position"]);
|
|
327
|
+
const passtimeBallSpawnedSchema = eventSchema("passtimeBallSpawned", {
|
|
328
|
+
location: { type: T },
|
|
329
|
+
}, ["location"]);
|
|
330
|
+
const passtimeBallDamageSchema = eventSchema("passtimeBallDamage", {
|
|
331
|
+
details: { type: T },
|
|
332
|
+
}, ["details"]);
|
|
333
|
+
const panaceaCheckSchema = eventSchema("panaceaCheck", {
|
|
334
|
+
details: { type: T },
|
|
335
|
+
}, ["details"]);
|
|
336
|
+
// ─── System / plugin events ──────────────────────────────
|
|
337
|
+
const demosTfSchema = eventSchema("demosTf", {
|
|
338
|
+
message: { type: T },
|
|
339
|
+
}, ["message"]);
|
|
340
|
+
const printingForClientSchema = eventSchema("printingForClient", {
|
|
341
|
+
client: { type: I },
|
|
342
|
+
}, ["client"]);
|
|
343
|
+
// ─── Spawn / name variants ───────────────────────────────
|
|
344
|
+
const spawnedMFilterSchema = eventSchema("spawnedMFilter", {
|
|
345
|
+
player: playerSchema,
|
|
346
|
+
role: { type: T, nullable: true },
|
|
347
|
+
}, ["player"]);
|
|
348
|
+
const chargedMFilterSchema = eventSchema("chargedMFilter", {
|
|
349
|
+
player: playerSchema,
|
|
350
|
+
role: { type: T },
|
|
351
|
+
}, ["player", "role"]);
|
|
352
|
+
// ─── Fallback ────────────────────────────────────────────
|
|
353
|
+
const unknownSchema = eventSchema("unknown", {
|
|
354
|
+
body: { type: T },
|
|
355
|
+
}, ["body"]);
|
|
356
|
+
// ─── Combined schema ─────────────────────────────────────
|
|
357
|
+
const tfLogEventSchema = {
|
|
358
|
+
type: "object",
|
|
359
|
+
discriminator: { propertyName: "type" },
|
|
360
|
+
oneOf: [
|
|
361
|
+
changedRoleSchema,
|
|
362
|
+
damageSchema,
|
|
363
|
+
shotFiredSchema,
|
|
364
|
+
shotHitSchema,
|
|
365
|
+
pickedUpItemSchema,
|
|
366
|
+
killSchema,
|
|
367
|
+
medicDeathSchema,
|
|
368
|
+
medicDeathExSchema,
|
|
369
|
+
spawnedSchema,
|
|
370
|
+
roundStartSchema,
|
|
371
|
+
roundSetupBeginSchema,
|
|
372
|
+
roundSetupEndSchema,
|
|
373
|
+
roundWinSchema,
|
|
374
|
+
roundLengthSchema,
|
|
375
|
+
roundOvertimeSchema,
|
|
376
|
+
gameOverSchema,
|
|
377
|
+
emptyUberSchema,
|
|
378
|
+
healedSchema,
|
|
379
|
+
saySchema,
|
|
380
|
+
sayTeamSchema,
|
|
381
|
+
killAssistSchema,
|
|
382
|
+
playerBuiltObjectSchema,
|
|
383
|
+
pointCapturedSchema,
|
|
384
|
+
currentScoreSchema,
|
|
385
|
+
finalScoreSchema,
|
|
386
|
+
suicideSchema,
|
|
387
|
+
positionReportSchema,
|
|
388
|
+
demosTfSchema,
|
|
389
|
+
chargeReadySchema,
|
|
390
|
+
chargeDeployedSchema,
|
|
391
|
+
chargeEndedSchema,
|
|
392
|
+
firstHealAfterSpawnSchema,
|
|
393
|
+
dominationSchema,
|
|
394
|
+
revengeSchema,
|
|
395
|
+
captureBlockedSchema,
|
|
396
|
+
killedObjectSchema,
|
|
397
|
+
objectDetonatedSchema,
|
|
398
|
+
playerCarryObjectSchema,
|
|
399
|
+
playerDropObjectSchema,
|
|
400
|
+
playerExtinguishedSchema,
|
|
401
|
+
lostUberAdvantageSchema,
|
|
402
|
+
joinedTeamSchema,
|
|
403
|
+
connectedSchema,
|
|
404
|
+
enteredGameSchema,
|
|
405
|
+
matchPauseSchema,
|
|
406
|
+
matchUnpauseSchema,
|
|
407
|
+
gamePausedSchema,
|
|
408
|
+
gameUnpausedSchema,
|
|
409
|
+
pauseLengthSchema,
|
|
410
|
+
passGetSchema,
|
|
411
|
+
passFreeSchema,
|
|
412
|
+
passPassCaughtSchema,
|
|
413
|
+
passScoreSchema,
|
|
414
|
+
passScoreAssistSchema,
|
|
415
|
+
passBallStolenSchema,
|
|
416
|
+
catapultSchema,
|
|
417
|
+
passtimeBallSpawnedSchema,
|
|
418
|
+
passtimeBallDamageSchema,
|
|
419
|
+
panaceaCheckSchema,
|
|
420
|
+
printingForClientSchema,
|
|
421
|
+
spawnedMFilterSchema,
|
|
422
|
+
chargedMFilterSchema,
|
|
423
|
+
changedNameSchema,
|
|
424
|
+
intermissionWinLimitSchema,
|
|
425
|
+
unknownSchema,
|
|
426
|
+
],
|
|
427
|
+
};
|
|
428
|
+
export const validateTfLogEvent = ajv.compile(tfLogEventSchema);
|
|
429
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|