@ttt-productions/q-core 0.1.47 → 0.1.48

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.
@@ -143,31 +143,19 @@ export declare const BasketballHallOfFameSchema: z.ZodObject<{
143
143
  rebounds: z.ZodNumber;
144
144
  assists: z.ZodNumber;
145
145
  gamesPlayed: z.ZodNumber;
146
- }, z.core.$strip> | z.ZodNever>;
146
+ }, z.core.$strip>>;
147
147
  updatedAt: z.ZodNumber;
148
148
  }, z.core.$strip>;
149
149
  export type BasketballHallOfFame = z.infer<typeof BasketballHallOfFameSchema>;
150
150
  export declare const CurlingHallOfFameSchema: z.ZodObject<{
151
151
  leagueType: z.ZodLiteral<"Curling">;
152
- playerStats: z.ZodRecord<z.ZodString, z.ZodObject<{
153
- fantasyPoints: z.ZodNumber;
154
- points: z.ZodNumber;
155
- rebounds: z.ZodNumber;
156
- assists: z.ZodNumber;
157
- gamesPlayed: z.ZodNumber;
158
- }, z.core.$strip> | z.ZodNever>;
152
+ playerStats: z.ZodRecord<z.ZodString, z.ZodNever>;
159
153
  updatedAt: z.ZodNumber;
160
154
  }, z.core.$strip>;
161
155
  export type CurlingHallOfFame = z.infer<typeof CurlingHallOfFameSchema>;
162
156
  export declare const FootballHallOfFameSchema: z.ZodObject<{
163
157
  leagueType: z.ZodLiteral<"Football">;
164
- playerStats: z.ZodRecord<z.ZodString, z.ZodObject<{
165
- fantasyPoints: z.ZodNumber;
166
- points: z.ZodNumber;
167
- rebounds: z.ZodNumber;
168
- assists: z.ZodNumber;
169
- gamesPlayed: z.ZodNumber;
170
- }, z.core.$strip> | z.ZodNever>;
158
+ playerStats: z.ZodRecord<z.ZodString, z.ZodNever>;
171
159
  updatedAt: z.ZodNumber;
172
160
  }, z.core.$strip>;
173
161
  export type FootballHallOfFame = z.infer<typeof FootballHallOfFameSchema>;
@@ -179,27 +167,15 @@ export declare const SportHallOfFameSchema: z.ZodDiscriminatedUnion<[z.ZodObject
179
167
  rebounds: z.ZodNumber;
180
168
  assists: z.ZodNumber;
181
169
  gamesPlayed: z.ZodNumber;
182
- }, z.core.$strip> | z.ZodNever>;
170
+ }, z.core.$strip>>;
183
171
  updatedAt: z.ZodNumber;
184
172
  }, z.core.$strip>, z.ZodObject<{
185
173
  leagueType: z.ZodLiteral<"Curling">;
186
- playerStats: z.ZodRecord<z.ZodString, z.ZodObject<{
187
- fantasyPoints: z.ZodNumber;
188
- points: z.ZodNumber;
189
- rebounds: z.ZodNumber;
190
- assists: z.ZodNumber;
191
- gamesPlayed: z.ZodNumber;
192
- }, z.core.$strip> | z.ZodNever>;
174
+ playerStats: z.ZodRecord<z.ZodString, z.ZodNever>;
193
175
  updatedAt: z.ZodNumber;
194
176
  }, z.core.$strip>, z.ZodObject<{
195
177
  leagueType: z.ZodLiteral<"Football">;
196
- playerStats: z.ZodRecord<z.ZodString, z.ZodObject<{
197
- fantasyPoints: z.ZodNumber;
198
- points: z.ZodNumber;
199
- rebounds: z.ZodNumber;
200
- assists: z.ZodNumber;
201
- gamesPlayed: z.ZodNumber;
202
- }, z.core.$strip> | z.ZodNever>;
178
+ playerStats: z.ZodRecord<z.ZodString, z.ZodNever>;
203
179
  updatedAt: z.ZodNumber;
204
180
  }, z.core.$strip>], "leagueType">;
205
181
  export type SportHallOfFame = z.infer<typeof SportHallOfFameSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-stats.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/aggregate-stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,eAAO,MAAM,yBAAyB;;;;;;;iBAAgC,CAAC;AACvE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,+BAA+B;;;;;;;;;iBAI1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,sBAAsB;;iBAEjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,4BAA4B;;;;;;iBAEvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyByC,CAAC;AAQzE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;iBAUnC,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAUxE,eAAO,MAAM,0BAA0B;;;;;;;;;;iBAAkC,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAA+B,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAAgC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAIhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"aggregate-stats.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/aggregate-stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,eAAO,MAAM,yBAAyB;;;;;;;iBAAgC,CAAC;AACvE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,+BAA+B;;;;;;;;;iBAI1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,sBAAsB;;iBAEjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,4BAA4B;;;;;;iBAEvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyByC,CAAC;AAQzE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;iBAUnC,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAexE,eAAO,MAAM,0BAA0B;;;;;;;;;;iBAGtC,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;iBAA2D,CAAC;AAChG,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;iBAA6D,CAAC;AACnG,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;iCAIhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -52,16 +52,18 @@ export const UserLifetimeStatsSchema = z.object(Object.fromEntries(LEAGUE_TYPE_K
52
52
  SPORT_KEY_BY_LEAGUE_TYPE[leagueType],
53
53
  SPORT_LINE_SCHEMAS[leagueType].lifetime.optional(),
54
54
  ])));
55
- function sportHallOfFameOf(leagueType) {
55
+ // The sport's hall-of-fame schema comes in as its own type parameter: indexing the line map by a
56
+ // generic sport would type every option's entries as the union of every sport's.
57
+ function sportHallOfFameOf(leagueType, lines) {
56
58
  return z.object({
57
59
  leagueType: z.literal(leagueType),
58
- playerStats: z.record(userIdSchema, SPORT_LINE_SCHEMAS[leagueType].hallOfFame),
60
+ playerStats: z.record(userIdSchema, lines.hallOfFame),
59
61
  updatedAt: epochMsSchema,
60
62
  });
61
63
  }
62
- export const BasketballHallOfFameSchema = sportHallOfFameOf('Basketball');
63
- export const CurlingHallOfFameSchema = sportHallOfFameOf('Curling');
64
- export const FootballHallOfFameSchema = sportHallOfFameOf('Football');
64
+ export const BasketballHallOfFameSchema = sportHallOfFameOf('Basketball', SPORT_LINE_SCHEMAS.Basketball);
65
+ export const CurlingHallOfFameSchema = sportHallOfFameOf('Curling', SPORT_LINE_SCHEMAS.Curling);
66
+ export const FootballHallOfFameSchema = sportHallOfFameOf('Football', SPORT_LINE_SCHEMAS.Football);
65
67
  export const SportHallOfFameSchema = z.discriminatedUnion('leagueType', [
66
68
  BasketballHallOfFameSchema,
67
69
  CurlingHallOfFameSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-stats.js","sourceRoot":"","sources":["../../src/doc-schemas/aggregate-stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,mBAAmB,GAAG;IAC1B,WAAW,EAAE,WAAW;IACxB,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,WAAW;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAGvE,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,GAAG,mBAAmB;IACtB,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,WAAW;CACrB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,WAAW;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,4BAA4B,GAAG,2BAA2B,CAAC,MAAM,CAAC;IAC7E,WAAW,EAAE,WAAW;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE;QACV,UAAU,EAAE,2BAA2B;QACvC,aAAa,EAAE,4BAA4B;QAC3C,QAAQ,EAAE,4BAA4B;QACtC,UAAU,EAAE,4BAA4B;QACxC,QAAQ,EAAE,yBAAyB;QACnC,UAAU,EAAE,+BAA+B;KAC5C;IACD,OAAO,EAAE;QACP,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE;QACrB,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,sBAAsB;QAChC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE;QACrB,QAAQ,EAAE,sBAAsB;QAChC,UAAU,EAAE,yBAAyB;KACtC;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE;QACrB,aAAa,EAAE,sBAAsB;QACrC,QAAQ,EAAE,sBAAsB;QAChC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE;QACrB,QAAQ,EAAE,uBAAuB;QACjC,UAAU,EAAE,yBAAyB;KACtC;CACqE,CAAC;AAQzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAC7C,MAAM,CAAC,WAAW,CAChB,gBAAgB,CAAC,GAAG,CAClB,CAAC,UAAU,EAAE,EAAE,CACb;IACE,wBAAwB,CAAC,UAAU,CAAC;IACpC,kBAAkB,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;CAC1C,CACb,CACoB,CACxB,CAAC;AAGF,SAAS,iBAAiB,CAAuB,UAAa;IAC5D,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC;QAC9E,SAAS,EAAE,aAAa;KACzB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAG1E,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAGpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAGtE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACtE,0BAA0B;IAC1B,uBAAuB;IACvB,wBAAwB;CACzB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { LEAGUE_TYPE_KEYS, SPORT_KEY_BY_LEAGUE_TYPE } from '../types/sports.js';\nimport type { LeagueType } from '../types/sports.js';\nimport type { StatLineKind } from '../types/stats.js';\nimport { countSchema, epochMsSchema, userIdSchema } from './atoms.js';\nimport {\n BasketballPlayerStatsSchema,\n BasketballTeamStatsSchema,\n CurlingTeamStatsSchema,\n FootballTeamStatsSchema,\n} from './game-stats.js';\n\nconst teamSeasonBaseShape = {\n gamesPlayed: countSchema,\n wins: countSchema,\n losses: countSchema,\n ties: countSchema,\n pointsFor: countSchema,\n pointsAgainst: countSchema,\n};\n\nexport const TeamSeasonBaseStatsSchema = z.object(teamSeasonBaseShape);\nexport type TeamSeasonBaseStats = z.infer<typeof TeamSeasonBaseStatsSchema>;\n\nexport const BasketballTeamSeasonStatsSchema = z.object({\n ...teamSeasonBaseShape,\n rebounds: countSchema,\n assists: countSchema,\n});\nexport type BasketballTeamSeasonStats = z.infer<typeof BasketballTeamSeasonStatsSchema>;\n\nexport const GamesPlayedStatsSchema = z.object({\n gamesPlayed: countSchema,\n});\nexport type GamesPlayedStats = z.infer<typeof GamesPlayedStatsSchema>;\n\nexport const BasketballPlayerTotalsSchema = BasketballPlayerStatsSchema.extend({\n gamesPlayed: countSchema,\n});\nexport type BasketballPlayerTotals = z.infer<typeof BasketballPlayerTotalsSchema>;\n\nexport const SPORT_LINE_SCHEMAS = {\n Basketball: {\n gamePlayer: BasketballPlayerStatsSchema,\n membershipRow: BasketballPlayerTotalsSchema,\n lifetime: BasketballPlayerTotalsSchema,\n hallOfFame: BasketballPlayerTotalsSchema,\n gameTeam: BasketballTeamStatsSchema,\n teamSeason: BasketballTeamSeasonStatsSchema,\n },\n Curling: {\n gamePlayer: z.never(),\n membershipRow: GamesPlayedStatsSchema,\n lifetime: GamesPlayedStatsSchema,\n hallOfFame: z.never(),\n gameTeam: CurlingTeamStatsSchema,\n teamSeason: TeamSeasonBaseStatsSchema,\n },\n Football: {\n gamePlayer: z.never(),\n membershipRow: GamesPlayedStatsSchema,\n lifetime: GamesPlayedStatsSchema,\n hallOfFame: z.never(),\n gameTeam: FootballTeamStatsSchema,\n teamSeason: TeamSeasonBaseStatsSchema,\n },\n} as const satisfies Record<LeagueType, Record<StatLineKind, z.ZodType>>;\n\ntype LifetimeLinesShape = {\n [L in LeagueType as (typeof SPORT_KEY_BY_LEAGUE_TYPE)[L]]: z.ZodOptional<\n (typeof SPORT_LINE_SCHEMAS)[L]['lifetime']\n >;\n};\n\nexport const UserLifetimeStatsSchema = z.object(\n Object.fromEntries(\n LEAGUE_TYPE_KEYS.map(\n (leagueType) =>\n [\n SPORT_KEY_BY_LEAGUE_TYPE[leagueType],\n SPORT_LINE_SCHEMAS[leagueType].lifetime.optional(),\n ] as const,\n ),\n ) as LifetimeLinesShape,\n);\nexport type UserLifetimeStats = z.infer<typeof UserLifetimeStatsSchema>;\n\nfunction sportHallOfFameOf<L extends LeagueType>(leagueType: L) {\n return z.object({\n leagueType: z.literal(leagueType),\n playerStats: z.record(userIdSchema, SPORT_LINE_SCHEMAS[leagueType].hallOfFame),\n updatedAt: epochMsSchema,\n });\n}\n\nexport const BasketballHallOfFameSchema = sportHallOfFameOf('Basketball');\nexport type BasketballHallOfFame = z.infer<typeof BasketballHallOfFameSchema>;\n\nexport const CurlingHallOfFameSchema = sportHallOfFameOf('Curling');\nexport type CurlingHallOfFame = z.infer<typeof CurlingHallOfFameSchema>;\n\nexport const FootballHallOfFameSchema = sportHallOfFameOf('Football');\nexport type FootballHallOfFame = z.infer<typeof FootballHallOfFameSchema>;\n\nexport const SportHallOfFameSchema = z.discriminatedUnion('leagueType', [\n BasketballHallOfFameSchema,\n CurlingHallOfFameSchema,\n FootballHallOfFameSchema,\n]);\nexport type SportHallOfFame = z.infer<typeof SportHallOfFameSchema>;\n"]}
1
+ {"version":3,"file":"aggregate-stats.js","sourceRoot":"","sources":["../../src/doc-schemas/aggregate-stats.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { LEAGUE_TYPE_KEYS, SPORT_KEY_BY_LEAGUE_TYPE } from '../types/sports.js';\nimport type { LeagueType } from '../types/sports.js';\nimport type { StatLineKind } from '../types/stats.js';\nimport { countSchema, epochMsSchema, userIdSchema } from './atoms.js';\nimport {\n BasketballPlayerStatsSchema,\n BasketballTeamStatsSchema,\n CurlingTeamStatsSchema,\n FootballTeamStatsSchema,\n} from './game-stats.js';\n\nconst teamSeasonBaseShape = {\n gamesPlayed: countSchema,\n wins: countSchema,\n losses: countSchema,\n ties: countSchema,\n pointsFor: countSchema,\n pointsAgainst: countSchema,\n};\n\nexport const TeamSeasonBaseStatsSchema = z.object(teamSeasonBaseShape);\nexport type TeamSeasonBaseStats = z.infer<typeof TeamSeasonBaseStatsSchema>;\n\nexport const BasketballTeamSeasonStatsSchema = z.object({\n ...teamSeasonBaseShape,\n rebounds: countSchema,\n assists: countSchema,\n});\nexport type BasketballTeamSeasonStats = z.infer<typeof BasketballTeamSeasonStatsSchema>;\n\nexport const GamesPlayedStatsSchema = z.object({\n gamesPlayed: countSchema,\n});\nexport type GamesPlayedStats = z.infer<typeof GamesPlayedStatsSchema>;\n\nexport const BasketballPlayerTotalsSchema = BasketballPlayerStatsSchema.extend({\n gamesPlayed: countSchema,\n});\nexport type BasketballPlayerTotals = z.infer<typeof BasketballPlayerTotalsSchema>;\n\nexport const SPORT_LINE_SCHEMAS = {\n Basketball: {\n gamePlayer: BasketballPlayerStatsSchema,\n membershipRow: BasketballPlayerTotalsSchema,\n lifetime: BasketballPlayerTotalsSchema,\n hallOfFame: BasketballPlayerTotalsSchema,\n gameTeam: BasketballTeamStatsSchema,\n teamSeason: BasketballTeamSeasonStatsSchema,\n },\n Curling: {\n gamePlayer: z.never(),\n membershipRow: GamesPlayedStatsSchema,\n lifetime: GamesPlayedStatsSchema,\n hallOfFame: z.never(),\n gameTeam: CurlingTeamStatsSchema,\n teamSeason: TeamSeasonBaseStatsSchema,\n },\n Football: {\n gamePlayer: z.never(),\n membershipRow: GamesPlayedStatsSchema,\n lifetime: GamesPlayedStatsSchema,\n hallOfFame: z.never(),\n gameTeam: FootballTeamStatsSchema,\n teamSeason: TeamSeasonBaseStatsSchema,\n },\n} as const satisfies Record<LeagueType, Record<StatLineKind, z.ZodType>>;\n\ntype LifetimeLinesShape = {\n [L in LeagueType as (typeof SPORT_KEY_BY_LEAGUE_TYPE)[L]]: z.ZodOptional<\n (typeof SPORT_LINE_SCHEMAS)[L]['lifetime']\n >;\n};\n\nexport const UserLifetimeStatsSchema = z.object(\n Object.fromEntries(\n LEAGUE_TYPE_KEYS.map(\n (leagueType) =>\n [\n SPORT_KEY_BY_LEAGUE_TYPE[leagueType],\n SPORT_LINE_SCHEMAS[leagueType].lifetime.optional(),\n ] as const,\n ),\n ) as LifetimeLinesShape,\n);\nexport type UserLifetimeStats = z.infer<typeof UserLifetimeStatsSchema>;\n\n// The sport's hall-of-fame schema comes in as its own type parameter: indexing the line map by a\n// generic sport would type every option's entries as the union of every sport's.\nfunction sportHallOfFameOf<L extends LeagueType, H extends z.ZodType>(\n leagueType: L,\n lines: { hallOfFame: H },\n) {\n return z.object({\n leagueType: z.literal(leagueType),\n playerStats: z.record(userIdSchema, lines.hallOfFame),\n updatedAt: epochMsSchema,\n });\n}\n\nexport const BasketballHallOfFameSchema = sportHallOfFameOf(\n 'Basketball',\n SPORT_LINE_SCHEMAS.Basketball,\n);\nexport type BasketballHallOfFame = z.infer<typeof BasketballHallOfFameSchema>;\n\nexport const CurlingHallOfFameSchema = sportHallOfFameOf('Curling', SPORT_LINE_SCHEMAS.Curling);\nexport type CurlingHallOfFame = z.infer<typeof CurlingHallOfFameSchema>;\n\nexport const FootballHallOfFameSchema = sportHallOfFameOf('Football', SPORT_LINE_SCHEMAS.Football);\nexport type FootballHallOfFame = z.infer<typeof FootballHallOfFameSchema>;\n\nexport const SportHallOfFameSchema = z.discriminatedUnion('leagueType', [\n BasketballHallOfFameSchema,\n CurlingHallOfFameSchema,\n FootballHallOfFameSchema,\n]);\nexport type SportHallOfFame = z.infer<typeof SportHallOfFameSchema>;\n"]}
@@ -2,6 +2,8 @@ import { z } from 'zod';
2
2
  export declare const BasketballLeagueTeamSchema: z.ZodObject<{
3
3
  leagueType: z.ZodLiteral<"Basketball">;
4
4
  seasonStats: z.ZodOptional<z.ZodObject<{
5
+ rebounds: z.ZodNumber;
6
+ assists: z.ZodNumber;
5
7
  gamesPlayed: z.ZodNumber;
6
8
  wins: z.ZodNumber;
7
9
  losses: z.ZodNumber;
@@ -10,8 +12,6 @@ export declare const BasketballLeagueTeamSchema: z.ZodObject<{
10
12
  pointsAgainst: z.ZodNumber;
11
13
  }, z.core.$strip>>;
12
14
  playerSeasonStats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
13
- gamesPlayed: z.ZodNumber;
14
- }, z.core.$strip> | z.ZodObject<{
15
15
  fantasyPoints: z.ZodNumber;
16
16
  points: z.ZodNumber;
17
17
  rebounds: z.ZodNumber;
@@ -164,12 +164,6 @@ export declare const CurlingLeagueTeamSchema: z.ZodObject<{
164
164
  }, z.core.$strip>>;
165
165
  playerSeasonStats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
166
166
  gamesPlayed: z.ZodNumber;
167
- }, z.core.$strip> | z.ZodObject<{
168
- fantasyPoints: z.ZodNumber;
169
- points: z.ZodNumber;
170
- rebounds: z.ZodNumber;
171
- assists: z.ZodNumber;
172
- gamesPlayed: z.ZodNumber;
173
167
  }, z.core.$strip>>>;
174
168
  name: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
175
169
  icon: z.ZodEnum<{
@@ -317,12 +311,6 @@ export declare const FootballLeagueTeamSchema: z.ZodObject<{
317
311
  }, z.core.$strip>>;
318
312
  playerSeasonStats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
319
313
  gamesPlayed: z.ZodNumber;
320
- }, z.core.$strip> | z.ZodObject<{
321
- fantasyPoints: z.ZodNumber;
322
- points: z.ZodNumber;
323
- rebounds: z.ZodNumber;
324
- assists: z.ZodNumber;
325
- gamesPlayed: z.ZodNumber;
326
314
  }, z.core.$strip>>>;
327
315
  name: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
328
316
  icon: z.ZodEnum<{
@@ -461,6 +449,8 @@ export type FootballLeagueTeam = z.infer<typeof FootballLeagueTeamSchema>;
461
449
  export declare const LeagueTeamSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
462
450
  leagueType: z.ZodLiteral<"Basketball">;
463
451
  seasonStats: z.ZodOptional<z.ZodObject<{
452
+ rebounds: z.ZodNumber;
453
+ assists: z.ZodNumber;
464
454
  gamesPlayed: z.ZodNumber;
465
455
  wins: z.ZodNumber;
466
456
  losses: z.ZodNumber;
@@ -469,8 +459,6 @@ export declare const LeagueTeamSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
469
459
  pointsAgainst: z.ZodNumber;
470
460
  }, z.core.$strip>>;
471
461
  playerSeasonStats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
472
- gamesPlayed: z.ZodNumber;
473
- }, z.core.$strip> | z.ZodObject<{
474
462
  fantasyPoints: z.ZodNumber;
475
463
  points: z.ZodNumber;
476
464
  rebounds: z.ZodNumber;
@@ -621,12 +609,6 @@ export declare const LeagueTeamSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
621
609
  }, z.core.$strip>>;
622
610
  playerSeasonStats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
623
611
  gamesPlayed: z.ZodNumber;
624
- }, z.core.$strip> | z.ZodObject<{
625
- fantasyPoints: z.ZodNumber;
626
- points: z.ZodNumber;
627
- rebounds: z.ZodNumber;
628
- assists: z.ZodNumber;
629
- gamesPlayed: z.ZodNumber;
630
612
  }, z.core.$strip>>>;
631
613
  name: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
632
614
  icon: z.ZodEnum<{
@@ -772,12 +754,6 @@ export declare const LeagueTeamSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
772
754
  }, z.core.$strip>>;
773
755
  playerSeasonStats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
774
756
  gamesPlayed: z.ZodNumber;
775
- }, z.core.$strip> | z.ZodObject<{
776
- fantasyPoints: z.ZodNumber;
777
- points: z.ZodNumber;
778
- rebounds: z.ZodNumber;
779
- assists: z.ZodNumber;
780
- gamesPlayed: z.ZodNumber;
781
757
  }, z.core.$strip>>>;
782
758
  name: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
783
759
  icon: z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"league-team.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/league-team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8CxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA6B,CAAC;AACrE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA0B,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA2B,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAI3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"league-team.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/league-team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiDxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA4D,CAAC;AACpG,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAsD,CAAC;AAC3F,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAwD,CAAC;AAC9F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAI3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -23,19 +23,19 @@ const leagueTeamBaseShape = {
23
23
  createdAt: epochMsSchema,
24
24
  updatedAt: epochMsSchema,
25
25
  };
26
- function leagueTeamOf(leagueType) {
26
+ // The sport's line schemas come in as their own type parameters: indexing the line map by a generic
27
+ // sport would type every option's lines as the union of every sport's.
28
+ function leagueTeamOf(leagueType, lines) {
27
29
  return z.object({
28
30
  ...leagueTeamBaseShape,
29
31
  leagueType: z.literal(leagueType),
30
- seasonStats: SPORT_LINE_SCHEMAS[leagueType].teamSeason.optional(),
31
- playerSeasonStats: z
32
- .record(userIdSchema, SPORT_LINE_SCHEMAS[leagueType].membershipRow)
33
- .optional(),
32
+ seasonStats: z.optional(lines.teamSeason),
33
+ playerSeasonStats: z.optional(z.record(userIdSchema, lines.membershipRow)),
34
34
  });
35
35
  }
36
- export const BasketballLeagueTeamSchema = leagueTeamOf('Basketball');
37
- export const CurlingLeagueTeamSchema = leagueTeamOf('Curling');
38
- export const FootballLeagueTeamSchema = leagueTeamOf('Football');
36
+ export const BasketballLeagueTeamSchema = leagueTeamOf('Basketball', SPORT_LINE_SCHEMAS.Basketball);
37
+ export const CurlingLeagueTeamSchema = leagueTeamOf('Curling', SPORT_LINE_SCHEMAS.Curling);
38
+ export const FootballLeagueTeamSchema = leagueTeamOf('Football', SPORT_LINE_SCHEMAS.Football);
39
39
  export const LeagueTeamSchema = z.discriminatedUnion('leagueType', [
40
40
  BasketballLeagueTeamSchema,
41
41
  CurlingLeagueTeamSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"league-team.js","sourceRoot":"","sources":["../../src/doc-schemas/league-team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC;IACtC,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACzC,2FAA2F;IAC3F,0BAA0B;IAC1B,kBAAkB,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC1C,+FAA+F;IAC/F,2CAA2C;IAC3C,YAAY,EAAE,WAAW,CAAC,QAAQ,EAAE;IACpC,2FAA2F;IAC3F,0BAA0B;IAC1B,gBAAgB,EAAE,WAAW,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;CAChB,CAAC;AAEX,SAAS,YAAY,CAAuB,UAAa;IACvD,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,mBAAmB;QACtB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACjC,WAAW,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;QACjE,iBAAiB,EAAE,CAAC;aACjB,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;aAClE,QAAQ,EAAE;KACd,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAGrE,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAG/D,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAGjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACjE,0BAA0B;IAC1B,uBAAuB;IACvB,wBAAwB;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,eAAe,CAAC,mBAAmB,CAAC;IAClD,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { CONTACT_PHONE_INPUT, TEAM_NAME_INPUT } from '../constants/text-fields.js';\nimport {\n countSchema,\n epochMsSchema,\n leagueIdSchema,\n teamIconSchema,\n teamTypeSchema,\n userIdSchema,\n} from './atoms.js';\nimport { textFieldSchema } from '../schemas/text-field.js';\nimport type { LeagueType } from '../types/sports.js';\nimport { SPORT_LINE_SCHEMAS } from './aggregate-stats.js';\nimport { GallerySummarySchema } from './gallery.js';\n\nconst leagueTeamBaseShape = {\n name: textFieldSchema(TEAM_NAME_INPUT),\n icon: teamIconSchema,\n leagueId: leagueIdSchema,\n teamType: teamTypeSchema.optional(),\n createdByUserId: userIdSchema,\n pictures: GallerySummarySchema.optional(),\n // Only its changing matters: the write fence between membership changes and roster seeding\n // (RULE-STD-BACKEND-116).\n membershipRevision: countSchema.optional(),\n // Only its changing matters: the write fence between competing invitations, join requests, and\n // membership doors (RULE-STD-BACKEND-116).\n joinRevision: countSchema.optional(),\n // Only its changing matters: the write fence between game creation and the team's deletion\n // (RULE-STD-BACKEND-116).\n scheduleRevision: countSchema.optional(),\n createdAt: epochMsSchema,\n updatedAt: epochMsSchema,\n} as const;\n\nfunction leagueTeamOf<L extends LeagueType>(leagueType: L) {\n return z.object({\n ...leagueTeamBaseShape,\n leagueType: z.literal(leagueType),\n seasonStats: SPORT_LINE_SCHEMAS[leagueType].teamSeason.optional(),\n playerSeasonStats: z\n .record(userIdSchema, SPORT_LINE_SCHEMAS[leagueType].membershipRow)\n .optional(),\n });\n}\n\nexport const BasketballLeagueTeamSchema = leagueTeamOf('Basketball');\nexport type BasketballLeagueTeam = z.infer<typeof BasketballLeagueTeamSchema>;\n\nexport const CurlingLeagueTeamSchema = leagueTeamOf('Curling');\nexport type CurlingLeagueTeam = z.infer<typeof CurlingLeagueTeamSchema>;\n\nexport const FootballLeagueTeamSchema = leagueTeamOf('Football');\nexport type FootballLeagueTeam = z.infer<typeof FootballLeagueTeamSchema>;\n\nexport const LeagueTeamSchema = z.discriminatedUnion('leagueType', [\n BasketballLeagueTeamSchema,\n CurlingLeagueTeamSchema,\n FootballLeagueTeamSchema,\n]);\nexport type LeagueTeam = z.infer<typeof LeagueTeamSchema>;\n\nexport const LeagueTeamContactSchema = z.object({\n leagueId: leagueIdSchema,\n contactPhone: textFieldSchema(CONTACT_PHONE_INPUT),\n updatedAt: epochMsSchema,\n});\nexport type LeagueTeamContact = z.infer<typeof LeagueTeamContactSchema>;\n"]}
1
+ {"version":3,"file":"league-team.js","sourceRoot":"","sources":["../../src/doc-schemas/league-team.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,mBAAmB,GAAG;IAC1B,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC;IACtC,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACzC,2FAA2F;IAC3F,0BAA0B;IAC1B,kBAAkB,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC1C,+FAA+F;IAC/F,2CAA2C;IAC3C,YAAY,EAAE,WAAW,CAAC,QAAQ,EAAE;IACpC,2FAA2F;IAC3F,0BAA0B;IAC1B,gBAAgB,EAAE,WAAW,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;CAChB,CAAC;AAEX,oGAAoG;AACpG,uEAAuE;AACvE,SAAS,YAAY,CACnB,UAAa,EACb,KAA0C;IAE1C,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,mBAAmB;QACtB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QACzC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;KAC3E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAGpG,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAG3F,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAG9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACjE,0BAA0B;IAC1B,uBAAuB;IACvB,wBAAwB;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,eAAe,CAAC,mBAAmB,CAAC;IAClD,SAAS,EAAE,aAAa;CACzB,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { CONTACT_PHONE_INPUT, TEAM_NAME_INPUT } from '../constants/text-fields.js';\nimport {\n countSchema,\n epochMsSchema,\n leagueIdSchema,\n teamIconSchema,\n teamTypeSchema,\n userIdSchema,\n} from './atoms.js';\nimport { textFieldSchema } from '../schemas/text-field.js';\nimport type { LeagueType } from '../types/sports.js';\nimport { SPORT_LINE_SCHEMAS } from './aggregate-stats.js';\nimport { GallerySummarySchema } from './gallery.js';\n\nconst leagueTeamBaseShape = {\n name: textFieldSchema(TEAM_NAME_INPUT),\n icon: teamIconSchema,\n leagueId: leagueIdSchema,\n teamType: teamTypeSchema.optional(),\n createdByUserId: userIdSchema,\n pictures: GallerySummarySchema.optional(),\n // Only its changing matters: the write fence between membership changes and roster seeding\n // (RULE-STD-BACKEND-116).\n membershipRevision: countSchema.optional(),\n // Only its changing matters: the write fence between competing invitations, join requests, and\n // membership doors (RULE-STD-BACKEND-116).\n joinRevision: countSchema.optional(),\n // Only its changing matters: the write fence between game creation and the team's deletion\n // (RULE-STD-BACKEND-116).\n scheduleRevision: countSchema.optional(),\n createdAt: epochMsSchema,\n updatedAt: epochMsSchema,\n} as const;\n\n// The sport's line schemas come in as their own type parameters: indexing the line map by a generic\n// sport would type every option's lines as the union of every sport's.\nfunction leagueTeamOf<L extends LeagueType, S extends z.ZodType, R extends z.ZodType>(\n leagueType: L,\n lines: { teamSeason: S; membershipRow: R },\n) {\n return z.object({\n ...leagueTeamBaseShape,\n leagueType: z.literal(leagueType),\n seasonStats: z.optional(lines.teamSeason),\n playerSeasonStats: z.optional(z.record(userIdSchema, lines.membershipRow)),\n });\n}\n\nexport const BasketballLeagueTeamSchema = leagueTeamOf('Basketball', SPORT_LINE_SCHEMAS.Basketball);\nexport type BasketballLeagueTeam = z.infer<typeof BasketballLeagueTeamSchema>;\n\nexport const CurlingLeagueTeamSchema = leagueTeamOf('Curling', SPORT_LINE_SCHEMAS.Curling);\nexport type CurlingLeagueTeam = z.infer<typeof CurlingLeagueTeamSchema>;\n\nexport const FootballLeagueTeamSchema = leagueTeamOf('Football', SPORT_LINE_SCHEMAS.Football);\nexport type FootballLeagueTeam = z.infer<typeof FootballLeagueTeamSchema>;\n\nexport const LeagueTeamSchema = z.discriminatedUnion('leagueType', [\n BasketballLeagueTeamSchema,\n CurlingLeagueTeamSchema,\n FootballLeagueTeamSchema,\n]);\nexport type LeagueTeam = z.infer<typeof LeagueTeamSchema>;\n\nexport const LeagueTeamContactSchema = z.object({\n leagueId: leagueIdSchema,\n contactPhone: textFieldSchema(CONTACT_PHONE_INPUT),\n updatedAt: epochMsSchema,\n});\nexport type LeagueTeamContact = z.infer<typeof LeagueTeamContactSchema>;\n"]}
@@ -128,6 +128,8 @@ export declare const COLLECTION_SCHEMAS: {
128
128
  readonly 'leagueTeams/{teamId}': z.ZodDiscriminatedUnion<[z.ZodObject<{
129
129
  leagueType: z.ZodLiteral<"Basketball">;
130
130
  seasonStats: z.ZodOptional<z.ZodObject<{
131
+ rebounds: z.ZodNumber;
132
+ assists: z.ZodNumber;
131
133
  gamesPlayed: z.ZodNumber;
132
134
  wins: z.ZodNumber;
133
135
  losses: z.ZodNumber;
@@ -136,8 +138,6 @@ export declare const COLLECTION_SCHEMAS: {
136
138
  pointsAgainst: z.ZodNumber;
137
139
  }, z.core.$strip>>;
138
140
  playerSeasonStats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
139
- gamesPlayed: z.ZodNumber;
140
- }, z.core.$strip> | z.ZodObject<{
141
141
  fantasyPoints: z.ZodNumber;
142
142
  points: z.ZodNumber;
143
143
  rebounds: z.ZodNumber;
@@ -288,12 +288,6 @@ export declare const COLLECTION_SCHEMAS: {
288
288
  }, z.core.$strip>>;
289
289
  playerSeasonStats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
290
290
  gamesPlayed: z.ZodNumber;
291
- }, z.core.$strip> | z.ZodObject<{
292
- fantasyPoints: z.ZodNumber;
293
- points: z.ZodNumber;
294
- rebounds: z.ZodNumber;
295
- assists: z.ZodNumber;
296
- gamesPlayed: z.ZodNumber;
297
291
  }, z.core.$strip>>>;
298
292
  name: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
299
293
  icon: z.ZodEnum<{
@@ -439,12 +433,6 @@ export declare const COLLECTION_SCHEMAS: {
439
433
  }, z.core.$strip>>;
440
434
  playerSeasonStats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
441
435
  gamesPlayed: z.ZodNumber;
442
- }, z.core.$strip> | z.ZodObject<{
443
- fantasyPoints: z.ZodNumber;
444
- points: z.ZodNumber;
445
- rebounds: z.ZodNumber;
446
- assists: z.ZodNumber;
447
- gamesPlayed: z.ZodNumber;
448
436
  }, z.core.$strip>>>;
449
437
  name: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
450
438
  icon: z.ZodEnum<{
@@ -1344,27 +1332,15 @@ export declare const COLLECTION_SCHEMAS: {
1344
1332
  rebounds: z.ZodNumber;
1345
1333
  assists: z.ZodNumber;
1346
1334
  gamesPlayed: z.ZodNumber;
1347
- }, z.core.$strip> | z.ZodNever>;
1335
+ }, z.core.$strip>>;
1348
1336
  updatedAt: z.ZodNumber;
1349
1337
  }, z.core.$strip>, z.ZodObject<{
1350
1338
  leagueType: z.ZodLiteral<"Curling">;
1351
- playerStats: z.ZodRecord<z.ZodString, z.ZodObject<{
1352
- fantasyPoints: z.ZodNumber;
1353
- points: z.ZodNumber;
1354
- rebounds: z.ZodNumber;
1355
- assists: z.ZodNumber;
1356
- gamesPlayed: z.ZodNumber;
1357
- }, z.core.$strip> | z.ZodNever>;
1339
+ playerStats: z.ZodRecord<z.ZodString, z.ZodNever>;
1358
1340
  updatedAt: z.ZodNumber;
1359
1341
  }, z.core.$strip>, z.ZodObject<{
1360
1342
  leagueType: z.ZodLiteral<"Football">;
1361
- playerStats: z.ZodRecord<z.ZodString, z.ZodObject<{
1362
- fantasyPoints: z.ZodNumber;
1363
- points: z.ZodNumber;
1364
- rebounds: z.ZodNumber;
1365
- assists: z.ZodNumber;
1366
- gamesPlayed: z.ZodNumber;
1367
- }, z.core.$strip> | z.ZodNever>;
1343
+ playerStats: z.ZodRecord<z.ZodString, z.ZodNever>;
1368
1344
  updatedAt: z.ZodNumber;
1369
1345
  }, z.core.$strip>], "leagueType">;
1370
1346
  readonly 'statsValidationReports/{reportId}': z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiD7B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDkB,CAAC;AAElD,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAEvE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;CAciC,CAAC;AAEvE,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAO,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiD7B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDkB,CAAC;AAElD,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAEvE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;CAciC,CAAC;AAEvE,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttt-productions/q-core",
3
- "version": "0.1.47",
3
+ "version": "0.1.48",
4
4
  "description": "Core types, Firestore path constants, zod schemas, and shared constants for Q-Sports",
5
5
  "repository": {
6
6
  "type": "git",