@themeparks/typelib 1.0.2 → 1.0.4

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 +1 @@
1
- {"version":3,"file":"generate_types.d.ts","sourceRoot":"","sources":["../src/generate_types.ts"],"names":[],"mappings":"AA8VA;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,EAChC,UAAgC,EAChC,SAA8B,EAC9B,kBAA0C,EAC7C;;;;CAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CrB"}
1
+ {"version":3,"file":"generate_types.d.ts","sourceRoot":"","sources":["../src/generate_types.ts"],"names":[],"mappings":"AAwXA;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,EAChC,UAAgC,EAChC,SAA8B,EAC9B,kBAA0C,EAC7C;;;;CAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CrB"}
@@ -91,6 +91,14 @@ function getTypeFromSchema(schema, rootSchema, registry, tracker, typeName) {
91
91
  // Handle enums specially - create union type of string literals
92
92
  return schema.enum.map(value => `'${value}'`).join(' | ');
93
93
  }
94
+ if (schema.oneOf || schema.anyOf) {
95
+ // Handle oneOf/anyOf - create union type
96
+ const variants = schema.oneOf || schema.anyOf;
97
+ if (variants && Array.isArray(variants)) {
98
+ const types = variants.map(variant => getTypeFromSchema(variant, rootSchema, registry, tracker));
99
+ return types.join(' | ');
100
+ }
101
+ }
94
102
  if (schema.$ref) {
95
103
  try {
96
104
  const resolved = resolveReference(schema.$ref, rootSchema, registry, tracker);
@@ -126,7 +134,18 @@ function getTypeFromSchema(schema, rootSchema, registry, tracker, typeName) {
126
134
  }
127
135
  case 'object': {
128
136
  if (!schema.properties) {
129
- const recordType = `Record<string, any>`;
137
+ // Check if propertyNames constraint exists
138
+ let keyType = 'string';
139
+ if (schema.propertyNames?.$ref) {
140
+ const resolved = resolveReference(schema.propertyNames.$ref, rootSchema, registry, tracker);
141
+ keyType = resolved.typeName;
142
+ }
143
+ // Check if additionalProperties has a type constraint
144
+ let valueType = 'any';
145
+ if (schema.additionalProperties && typeof schema.additionalProperties === 'object') {
146
+ valueType = getTypeFromSchema(schema.additionalProperties, rootSchema, registry, tracker);
147
+ }
148
+ const recordType = `Record<${keyType}, ${valueType}>`;
130
149
  if (typeName) {
131
150
  return `extends ${recordType} {}`;
132
151
  }
@@ -194,7 +213,12 @@ async function generateTypeFile(schemaPath, registry, outputDir, typeRegistryImp
194
213
  continue;
195
214
  }
196
215
  }
197
- if (typeSchema.enum && Array.isArray(typeSchema.enum)) {
216
+ if (typeSchema.oneOf || typeSchema.anyOf) {
217
+ // Handle oneOf/anyOf - create type alias with union
218
+ const typeStr = getTypeFromSchema(typeSchema, schema, registry, tracker);
219
+ output += `${description}export type ${name} = ${typeStr};\n\n`;
220
+ }
221
+ else if (typeSchema.enum && Array.isArray(typeSchema.enum)) {
198
222
  // generate a native enum for enum types
199
223
  output += `export enum ${name}Enum {\n`;
200
224
  typeSchema.enum.forEach((value) => {
@@ -211,8 +235,8 @@ async function generateTypeFile(schemaPath, registry, outputDir, typeRegistryImp
211
235
  typeSchema.enum.forEach((value) => {
212
236
  if (value) {
213
237
  output += ` case '${value.toLowerCase()}':\n`;
214
- if (value.includes(' ')) {
215
- // Handle spaces in enum values
238
+ if (value.includes(' ') || value.includes('-')) {
239
+ // Handle spaces and hyphens in enum values
216
240
  output += ` return ${name}Enum["${value}"];\n`;
217
241
  }
218
242
  else {
@@ -1,3 +1,24 @@
1
+ export declare enum LanguageCodeEnum {
2
+ "en" = "en",
3
+ "en-gb" = "en-gb",
4
+ "en-us" = "en-us",
5
+ "de" = "de",
6
+ "fr" = "fr",
7
+ "es" = "es",
8
+ "it" = "it",
9
+ "nl" = "nl",
10
+ "ja" = "ja",
11
+ "ko" = "ko",
12
+ "zh" = "zh"
13
+ }
14
+ /** Supported language codes for ThemeParks.wiki */
15
+ export type LanguageCode = keyof typeof LanguageCodeEnum;
16
+ export declare function StringToLanguageCode(value: string): LanguageCodeEnum;
17
+ /** A string with multiple language translations */
18
+ export interface MultilangString extends Record<LanguageCode, string> {
19
+ }
20
+ /** A string that may be localised or a simple string */
21
+ export type LocalisedString = MultilangString | string;
1
22
  export declare enum EntityTypeEnum {
2
23
  "DESTINATION" = "DESTINATION",
3
24
  "PARK" = "PARK",
@@ -9,6 +30,18 @@ export declare enum EntityTypeEnum {
9
30
  /** Possible types of entity in ThemeParks.wiki */
10
31
  export type EntityType = keyof typeof EntityTypeEnum;
11
32
  export declare function StringToEntityType(value: string): EntityTypeEnum;
33
+ export declare enum AttractionTypeEnum {
34
+ "UNKNOWN" = "UNKNOWN",
35
+ "RIDE" = "RIDE",
36
+ "SHOW" = "SHOW",
37
+ "TRANSPORT" = "TRANSPORT",
38
+ "PARADE" = "PARADE",
39
+ "MEET_AND_GREET" = "MEET_AND_GREET",
40
+ "OTHER" = "OTHER"
41
+ }
42
+ /** Possible types of attraction in ThemeParks.wiki */
43
+ export type AttractionType = keyof typeof AttractionTypeEnum;
44
+ export declare function StringToAttractionType(value: string): AttractionTypeEnum;
12
45
  export type EntityLocation = {
13
46
  /** Latitude coordinate of the entity location */
14
47
  latitude?: number | null;
@@ -29,7 +62,7 @@ export type Entity = {
29
62
  /** Unique entity identifier */
30
63
  id: string;
31
64
  /** Entity name */
32
- name: string;
65
+ name: LocalisedString;
33
66
  /** Type of entity */
34
67
  entityType: EntityType;
35
68
  /** Parent entity identifier, must always be set when entityType is not DESTINATION */
@@ -1 +1 @@
1
- {"version":3,"file":"entities.types.d.ts","sourceRoot":"","sources":["../../src/types/entities.types.ts"],"names":[],"mappings":"AAEA,oBAAY,cAAc;IACtB,aAAa,gBAAgB;IAC7B,MAAM,SAAS;IACf,YAAY,eAAe;IAC3B,YAAY,eAAe;IAC3B,MAAM,SAAS;IACf,OAAO,UAAU;CACpB;AAED,kDAAkD;AAClD,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,cAAc,CAAC;AAGrD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAiBhE;AAED,MAAM,MAAM,cAAc,GAAG;IAEzB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IAElB,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAC;IAEZ,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,kDAAkD;IAClD,KAAK,CAAC,EAAE,GAAG,CAAC;CACf,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IAEjB,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,qBAAqB;IACrB,UAAU,EAAE,UAAU,CAAC;IAEvB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB,CAAA"}
1
+ {"version":3,"file":"entities.types.d.ts","sourceRoot":"","sources":["../../src/types/entities.types.ts"],"names":[],"mappings":"AAEA,oBAAY,gBAAgB;IACxB,IAAI,OAAO;IACX,OAAO,UAAU;IACjB,OAAO,UAAU;IACjB,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,OAAO;IACX,IAAI,OAAO;CACd;AAED,mDAAmD;AACnD,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAGzD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CA2BpE;AAED,mDAAmD;AACnD,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC;CAAG;AAExE,wDAAwD;AACxD,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,MAAM,CAAC;AAEvD,oBAAY,cAAc;IACtB,aAAa,gBAAgB;IAC7B,MAAM,SAAS;IACf,YAAY,eAAe;IAC3B,YAAY,eAAe;IAC3B,MAAM,SAAS;IACf,OAAO,UAAU;CACpB;AAED,kDAAkD;AAClD,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,cAAc,CAAC;AAGrD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAiBhE;AAED,oBAAY,kBAAkB;IAC1B,SAAS,YAAY;IACrB,MAAM,SAAS;IACf,MAAM,SAAS;IACf,WAAW,cAAc;IACzB,QAAQ,WAAW;IACnB,gBAAgB,mBAAmB;IACnC,OAAO,UAAU;CACpB;AAED,sDAAsD;AACtD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAG7D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAmBxE;AAED,MAAM,MAAM,cAAc,GAAG;IAEzB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IAElB,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAC;IAEZ,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAEhB,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,kDAAkD;IAClD,KAAK,CAAC,EAAE,GAAG,CAAC;CACf,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IAEjB,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,kBAAkB;IAClB,IAAI,EAAE,eAAe,CAAC;IAEtB,qBAAqB;IACrB,UAAU,EAAE,UAAU,CAAC;IAEvB,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB,CAAA"}
@@ -1,4 +1,47 @@
1
1
  // THIS FILE IS GENERATED - DO NOT EDIT DIRECTLY
2
+ export var LanguageCodeEnum;
3
+ (function (LanguageCodeEnum) {
4
+ LanguageCodeEnum["en"] = "en";
5
+ LanguageCodeEnum["en-gb"] = "en-gb";
6
+ LanguageCodeEnum["en-us"] = "en-us";
7
+ LanguageCodeEnum["de"] = "de";
8
+ LanguageCodeEnum["fr"] = "fr";
9
+ LanguageCodeEnum["es"] = "es";
10
+ LanguageCodeEnum["it"] = "it";
11
+ LanguageCodeEnum["nl"] = "nl";
12
+ LanguageCodeEnum["ja"] = "ja";
13
+ LanguageCodeEnum["ko"] = "ko";
14
+ LanguageCodeEnum["zh"] = "zh";
15
+ })(LanguageCodeEnum || (LanguageCodeEnum = {}));
16
+ // Function to convert string to LanguageCodeEnum
17
+ export function StringToLanguageCode(value) {
18
+ const lowerValue = value.toLowerCase();
19
+ switch (lowerValue) {
20
+ case 'en':
21
+ return LanguageCodeEnum.en;
22
+ case 'en-gb':
23
+ return LanguageCodeEnum["en-gb"];
24
+ case 'en-us':
25
+ return LanguageCodeEnum["en-us"];
26
+ case 'de':
27
+ return LanguageCodeEnum.de;
28
+ case 'fr':
29
+ return LanguageCodeEnum.fr;
30
+ case 'es':
31
+ return LanguageCodeEnum.es;
32
+ case 'it':
33
+ return LanguageCodeEnum.it;
34
+ case 'nl':
35
+ return LanguageCodeEnum.nl;
36
+ case 'ja':
37
+ return LanguageCodeEnum.ja;
38
+ case 'ko':
39
+ return LanguageCodeEnum.ko;
40
+ case 'zh':
41
+ return LanguageCodeEnum.zh;
42
+ }
43
+ throw new Error('Unknown LanguageCode value: ' + value);
44
+ }
2
45
  export var EntityTypeEnum;
3
46
  (function (EntityTypeEnum) {
4
47
  EntityTypeEnum["DESTINATION"] = "DESTINATION";
@@ -27,8 +70,79 @@ export function StringToEntityType(value) {
27
70
  }
28
71
  throw new Error('Unknown EntityType value: ' + value);
29
72
  }
73
+ export var AttractionTypeEnum;
74
+ (function (AttractionTypeEnum) {
75
+ AttractionTypeEnum["UNKNOWN"] = "UNKNOWN";
76
+ AttractionTypeEnum["RIDE"] = "RIDE";
77
+ AttractionTypeEnum["SHOW"] = "SHOW";
78
+ AttractionTypeEnum["TRANSPORT"] = "TRANSPORT";
79
+ AttractionTypeEnum["PARADE"] = "PARADE";
80
+ AttractionTypeEnum["MEET_AND_GREET"] = "MEET_AND_GREET";
81
+ AttractionTypeEnum["OTHER"] = "OTHER";
82
+ })(AttractionTypeEnum || (AttractionTypeEnum = {}));
83
+ // Function to convert string to AttractionTypeEnum
84
+ export function StringToAttractionType(value) {
85
+ const lowerValue = value.toLowerCase();
86
+ switch (lowerValue) {
87
+ case 'unknown':
88
+ return AttractionTypeEnum.UNKNOWN;
89
+ case 'ride':
90
+ return AttractionTypeEnum.RIDE;
91
+ case 'show':
92
+ return AttractionTypeEnum.SHOW;
93
+ case 'transport':
94
+ return AttractionTypeEnum.TRANSPORT;
95
+ case 'parade':
96
+ return AttractionTypeEnum.PARADE;
97
+ case 'meet_and_greet':
98
+ return AttractionTypeEnum.MEET_AND_GREET;
99
+ case 'other':
100
+ return AttractionTypeEnum.OTHER;
101
+ }
102
+ throw new Error('Unknown AttractionType value: ' + value);
103
+ }
30
104
  // Runtime Schema Registration
31
105
  import { registerTypeSchema } from "../type_register.js";
106
+ registerTypeSchema("LanguageCode", {
107
+ "type": "string",
108
+ "enum": [
109
+ "en",
110
+ "en-gb",
111
+ "en-us",
112
+ "de",
113
+ "fr",
114
+ "es",
115
+ "it",
116
+ "nl",
117
+ "ja",
118
+ "ko",
119
+ "zh"
120
+ ],
121
+ "description": "Supported language codes for ThemeParks.wiki"
122
+ });
123
+ registerTypeSchema("MultilangString", {
124
+ "type": "object",
125
+ "description": "A string with multiple language translations",
126
+ "propertyNames": {
127
+ "$ref": "#/properties/LanguageCode"
128
+ },
129
+ "additionalProperties": {
130
+ "type": "string",
131
+ "description": "The string in the specified language"
132
+ }
133
+ });
134
+ registerTypeSchema("LocalisedString", {
135
+ "oneOf": [
136
+ {
137
+ "$ref": "#/properties/MultilangString"
138
+ },
139
+ {
140
+ "type": "string",
141
+ "description": "A simple string, no localisation. English where available, or native language if not."
142
+ }
143
+ ],
144
+ "description": "A string that may be localised or a simple string"
145
+ });
32
146
  registerTypeSchema("EntityType", {
33
147
  "type": "string",
34
148
  "enum": [
@@ -41,6 +155,19 @@ registerTypeSchema("EntityType", {
41
155
  ],
42
156
  "description": "Possible types of entity in ThemeParks.wiki"
43
157
  });
158
+ registerTypeSchema("AttractionType", {
159
+ "type": "string",
160
+ "enum": [
161
+ "UNKNOWN",
162
+ "RIDE",
163
+ "SHOW",
164
+ "TRANSPORT",
165
+ "PARADE",
166
+ "MEET_AND_GREET",
167
+ "OTHER"
168
+ ],
169
+ "description": "Possible types of attraction in ThemeParks.wiki"
170
+ });
44
171
  registerTypeSchema("EntityLocation", {
45
172
  "type": "object",
46
173
  "properties": {
@@ -94,7 +221,7 @@ registerTypeSchema("Entity", {
94
221
  "description": "Unique entity identifier"
95
222
  },
96
223
  "name": {
97
- "type": "string",
224
+ "$ref": "#/properties/LocalisedString",
98
225
  "description": "Entity name"
99
226
  },
100
227
  "entityType": {
@@ -24,6 +24,17 @@ export declare enum BoardingGroupStateEnum {
24
24
  /** State of boarding group availability */
25
25
  export type BoardingGroupState = keyof typeof BoardingGroupStateEnum;
26
26
  export declare function StringToBoardingGroupState(value: string): BoardingGroupStateEnum;
27
+ export declare enum QueueTypeEnum {
28
+ "STANDBY" = "STANDBY",
29
+ "SINGLE_RIDER" = "SINGLE_RIDER",
30
+ "RETURN_TIME" = "RETURN_TIME",
31
+ "PAID_RETURN_TIME" = "PAID_RETURN_TIME",
32
+ "BOARDING_GROUP" = "BOARDING_GROUP",
33
+ "PAID_STANDBY" = "PAID_STANDBY"
34
+ }
35
+ /** Types of queues that an attraction may have */
36
+ export type QueueType = keyof typeof QueueTypeEnum;
37
+ export declare function StringToQueueType(value: string): QueueTypeEnum;
27
38
  export type LiveQueue = {
28
39
  /** Standard queue type for most attractions. Wait in line for attraction, no additional cost. */
29
40
  STANDBY?: {
@@ -1 +1 @@
1
- {"version":3,"file":"livedata.types.d.ts","sourceRoot":"","sources":["../../src/types/livedata.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"livedata.types.d.ts","sourceRoot":"","sources":["../../src/types/livedata.types.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,34 @@ export function StringToBoardingGroupState(value) {
59
59
  }
60
60
  throw new Error('Unknown BoardingGroupState value: ' + value);
61
61
  }
62
+ export var QueueTypeEnum;
63
+ (function (QueueTypeEnum) {
64
+ QueueTypeEnum["STANDBY"] = "STANDBY";
65
+ QueueTypeEnum["SINGLE_RIDER"] = "SINGLE_RIDER";
66
+ QueueTypeEnum["RETURN_TIME"] = "RETURN_TIME";
67
+ QueueTypeEnum["PAID_RETURN_TIME"] = "PAID_RETURN_TIME";
68
+ QueueTypeEnum["BOARDING_GROUP"] = "BOARDING_GROUP";
69
+ QueueTypeEnum["PAID_STANDBY"] = "PAID_STANDBY";
70
+ })(QueueTypeEnum || (QueueTypeEnum = {}));
71
+ // Function to convert string to QueueTypeEnum
72
+ export function StringToQueueType(value) {
73
+ const lowerValue = value.toLowerCase();
74
+ switch (lowerValue) {
75
+ case 'standby':
76
+ return QueueTypeEnum.STANDBY;
77
+ case 'single_rider':
78
+ return QueueTypeEnum.SINGLE_RIDER;
79
+ case 'return_time':
80
+ return QueueTypeEnum.RETURN_TIME;
81
+ case 'paid_return_time':
82
+ return QueueTypeEnum.PAID_RETURN_TIME;
83
+ case 'boarding_group':
84
+ return QueueTypeEnum.BOARDING_GROUP;
85
+ case 'paid_standby':
86
+ return QueueTypeEnum.PAID_STANDBY;
87
+ }
88
+ throw new Error('Unknown QueueType value: ' + value);
89
+ }
62
90
  // Runtime Schema Registration
63
91
  import { registerTypeSchema } from "../type_register.js";
64
92
  registerTypeSchema("LiveStatusType", {
@@ -89,6 +117,18 @@ registerTypeSchema("BoardingGroupState", {
89
117
  ],
90
118
  "description": "State of boarding group availability"
91
119
  });
120
+ registerTypeSchema("QueueType", {
121
+ "type": "string",
122
+ "enum": [
123
+ "STANDBY",
124
+ "SINGLE_RIDER",
125
+ "RETURN_TIME",
126
+ "PAID_RETURN_TIME",
127
+ "BOARDING_GROUP",
128
+ "PAID_STANDBY"
129
+ ],
130
+ "description": "Types of queues that an attraction may have"
131
+ });
92
132
  registerTypeSchema("LiveQueue", {
93
133
  "type": "object",
94
134
  "properties": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@themeparks/typelib",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -29,7 +29,7 @@
29
29
  "generate:types": "npx tsx ./src/run_generate_types.ts",
30
30
  "build": "npm run generate:types && tsc",
31
31
  "prepublishOnly": "npm run build",
32
- "publish": "npm publish --access public"
32
+ "runpublish": "npm publish --access public"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/node": "^24.5.2",
@@ -3,6 +3,46 @@
3
3
  "title": "Entities",
4
4
  "type": "object",
5
5
  "properties": {
6
+ "LanguageCode": {
7
+ "type": "string",
8
+ "enum": [
9
+ "en",
10
+ "en-gb",
11
+ "en-us",
12
+ "de",
13
+ "fr",
14
+ "es",
15
+ "it",
16
+ "nl",
17
+ "ja",
18
+ "ko",
19
+ "zh"
20
+ ],
21
+ "description": "Supported language codes for ThemeParks.wiki"
22
+ },
23
+ "MultilangString": {
24
+ "type": "object",
25
+ "description": "A string with multiple language translations",
26
+ "propertyNames": {
27
+ "$ref": "#/properties/LanguageCode"
28
+ },
29
+ "additionalProperties": {
30
+ "type": "string",
31
+ "description": "The string in the specified language"
32
+ }
33
+ },
34
+ "LocalisedString": {
35
+ "oneOf": [
36
+ {
37
+ "$ref": "#/properties/MultilangString"
38
+ },
39
+ {
40
+ "type": "string",
41
+ "description": "A simple string, no localisation. English where available, or native language if not."
42
+ }
43
+ ],
44
+ "description": "A string that may be localised or a simple string"
45
+ },
6
46
  "EntityType": {
7
47
  "type": "string",
8
48
  "enum": [
@@ -15,6 +55,19 @@
15
55
  ],
16
56
  "description": "Possible types of entity in ThemeParks.wiki"
17
57
  },
58
+ "AttractionType": {
59
+ "type": "string",
60
+ "enum": [
61
+ "UNKNOWN",
62
+ "RIDE",
63
+ "SHOW",
64
+ "TRANSPORT",
65
+ "PARADE",
66
+ "MEET_AND_GREET",
67
+ "OTHER"
68
+ ],
69
+ "description": "Possible types of attraction in ThemeParks.wiki"
70
+ },
18
71
  "EntityLocation": {
19
72
  "type": "object",
20
73
  "properties": {
@@ -68,7 +121,7 @@
68
121
  "description": "Unique entity identifier"
69
122
  },
70
123
  "name": {
71
- "type": "string",
124
+ "$ref": "#/properties/LocalisedString",
72
125
  "description": "Entity name"
73
126
  },
74
127
  "entityType": {
@@ -31,6 +31,18 @@
31
31
  ],
32
32
  "description": "State of boarding group availability"
33
33
  },
34
+ "QueueType": {
35
+ "type": "string",
36
+ "enum": [
37
+ "STANDBY",
38
+ "SINGLE_RIDER",
39
+ "RETURN_TIME",
40
+ "PAID_RETURN_TIME",
41
+ "BOARDING_GROUP",
42
+ "PAID_STANDBY"
43
+ ],
44
+ "description": "Types of queues that an attraction may have"
45
+ },
34
46
  "LiveQueue": {
35
47
  "type": "object",
36
48
  "properties": {