UNPKG

ddnet

Version:

A typescript npm package for interacting with data from ddnet.org

130 lines 3.21 kB
// ddnet.org/players/?json2= import { z } from 'zod'; /** * The zod schema for player data. * * @see * [players.py](https://github.com/ddnet/ddnet-scripts/blob/master/servers/scripts/players.py) * * @internal */ export const _Schema_players_json2 = z.object({ player: z.string(), points: z.intersection(z.union([ z.object({ rank: z.number(), points: z.number() }), z.object({ rank: z.null() }) ]), z.object({ total: z.number() })), team_rank: z.union([ z.object({ rank: z.number(), points: z.number() }), z.object({ rank: z.null() }) ]), rank: z.union([ z.object({ rank: z.number(), points: z.number() }), z.object({ rank: z.null() }) ]), points_last_month: z.union([ z.object({ rank: z.number(), points: z.number() }), z.object({ rank: z.null() }) ]), points_last_week: z.union([ z.object({ rank: z.number(), points: z.number() }), z.object({ rank: z.null() }) ]), favorite_server: z.object({ server: z.string() }), first_finish: z.object({ timestamp: z.number(), map: z.string(), time: z.number() }), last_finishes: z.array(z.object({ timestamp: z.number(), map: z.string(), time: z.number(), country: z.string(), type: z.string() })), favorite_partners: z.array(z.object({ name: z.string(), finishes: z.number() })), types: z.record(z.string(), z.object({ points: z.union([ z.object({ rank: z.number(), points: z.number(), total: z.number() }), z.object({ rank: z.null(), total: z.number() }) ]), team_rank: z.union([ z.object({ rank: z.number(), points: z.number() }), z.object({ rank: z.null() }) ]), rank: z.union([ z.object({ rank: z.number(), points: z.number() }), z.object({ rank: z.null() }) ]), maps: z.record(z.string(), z.union([ z.object({ points: z.number(), total_finishes: z.number(), finishes: z.literal(0) }), z.object({ points: z.number(), total_finishes: z.number(), finishes: z.number(), team_rank: z.number().optional(), rank: z.number(), time: z.number(), first_finish: z.number() }) ])) })), activity: z.array(z.object({ date: z.string(), hours_played: z.number() })), hours_played_past_365_days: z.number() }); //# sourceMappingURL=json2.js.map