@gbl-uzh/platform 0.4.48 → 0.4.49

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.
@@ -1,4 +1,13 @@
1
1
  export declare const GameStatus: import("nexus/dist/core.js").NexusEnumTypeDef<"GameStatus">;
2
+ export interface GenerateBaseGameOpts {
3
+ resolveNextAutoContinueAt?: (parent: any, args: any, ctx: any, info: any) => Date | null | Promise<Date | null>;
4
+ }
5
+ /**
6
+ * Factory that returns the base `Game` objectType with an optional
7
+ * custom resolver for `nextAutoContinueAt`. Games that don't need the
8
+ * field get a default `() => null` resolver.
9
+ */
10
+ export declare function generateBaseGame(opts?: GenerateBaseGameOpts): import("nexus/dist/core.js").NexusObjectTypeDef<"Game">;
2
11
  export declare const Game: import("nexus/dist/core.js").NexusObjectTypeDef<"Game">;
3
12
  export declare const Period: import("nexus/dist/core.js").NexusObjectTypeDef<"Period">;
4
13
  export declare const PeriodSegment: import("nexus/dist/core.js").NexusObjectTypeDef<"PeriodSegment">;
@@ -1 +1 @@
1
- {"version":3,"file":"Game.d.ts","sourceRoot":"","sources":["../../src/types/Game.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU,6DAGrB,CAAA;AAEF,eAAO,MAAM,IAAI,yDA4Bf,CAAA;AAEF,eAAO,MAAM,MAAM,2DA0BjB,CAAA;AAEF,eAAO,MAAM,aAAa,kEA+BxB,CAAA"}
1
+ {"version":3,"file":"Game.d.ts","sourceRoot":"","sources":["../../src/types/Game.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,UAAU,6DAGrB,CAAA;AAEF,MAAM,WAAW,oBAAoB;IACnC,yBAAyB,CAAC,EAAE,CAC1B,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,GAAG,KACN,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;CACxC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,oBAAoB,2DAmC3D;AAED,eAAO,MAAM,IAAI,yDAAqB,CAAA;AAEtC,eAAO,MAAM,MAAM,2DA0BjB,CAAA;AAEF,eAAO,MAAM,aAAa,kEA+BxB,CAAA"}
@@ -1,38 +1,50 @@
1
1
  import * as DB from '@prisma/client';
2
2
  import { enumType, objectType } from 'nexus';
3
3
  import { LearningElement } from './LearningElement.js';
4
- import { Player, PlayerAction, PlayerResult } from './Player.js';
4
+ import { PlayerAction, PlayerResult, Player } from './Player.js';
5
5
  import { StoryElement } from './StoryElement.js';
6
6
 
7
7
  const GameStatus = enumType({
8
8
  name: 'GameStatus',
9
9
  members: Object.values(DB.GameStatus),
10
10
  });
11
- const Game = objectType({
12
- name: 'Game',
13
- definition(t) {
14
- t.nonNull.id('id');
15
- t.nonNull.field('status', {
16
- type: GameStatus,
17
- });
18
- t.nonNull.string('name');
19
- t.nonNull.int('version');
20
- t.int('activePeriodIx');
21
- t.field('activePeriod', {
22
- type: Period,
23
- });
24
- t.int('activeSegmentIx');
25
- t.nonNull.list.nonNull.field('players', {
26
- type: Player,
27
- });
28
- t.nonNull.list.nonNull.field('periods', {
29
- type: Period,
30
- });
31
- t.nonNull.field('facts', {
32
- type: 'JSONObject',
33
- });
34
- },
35
- });
11
+ /**
12
+ * Factory that returns the base `Game` objectType with an optional
13
+ * custom resolver for `nextAutoContinueAt`. Games that don't need the
14
+ * field get a default `() => null` resolver.
15
+ */
16
+ function generateBaseGame(opts) {
17
+ return objectType({
18
+ name: 'Game',
19
+ definition(t) {
20
+ t.nonNull.id('id');
21
+ t.nonNull.field('status', {
22
+ type: GameStatus,
23
+ });
24
+ t.nonNull.string('name');
25
+ t.nonNull.int('version');
26
+ t.int('activePeriodIx');
27
+ t.field('activePeriod', {
28
+ type: Period,
29
+ });
30
+ t.int('activeSegmentIx');
31
+ t.nonNull.list.nonNull.field('players', {
32
+ type: Player,
33
+ });
34
+ t.nonNull.list.nonNull.field('periods', {
35
+ type: Period,
36
+ });
37
+ t.nonNull.field('facts', {
38
+ type: 'JSONObject',
39
+ });
40
+ t.nullable.field('nextAutoContinueAt', {
41
+ type: 'DateTime',
42
+ resolve: opts?.resolveNextAutoContinueAt ?? (() => null),
43
+ });
44
+ },
45
+ });
46
+ }
47
+ const Game = generateBaseGame();
36
48
  const Period = objectType({
37
49
  name: 'Period',
38
50
  definition(t) {
@@ -85,5 +97,5 @@ const PeriodSegment = objectType({
85
97
  },
86
98
  });
87
99
 
88
- export { Game, GameStatus, Period, PeriodSegment };
100
+ export { Game, GameStatus, Period, PeriodSegment, generateBaseGame };
89
101
  //# sourceMappingURL=Game.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Game.js","sources":["../../src/types/Game.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Game.js","sources":["../../src/types/Game.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gbl-uzh/platform",
3
- "version": "0.4.48",
3
+ "version": "0.4.49",
4
4
  "license": "LGPL-3.0",
5
5
  "repository": {
6
6
  "type": "git",