@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.
- package/dist/generate_types.d.ts.map +1 -1
- package/dist/generate_types.js +28 -4
- package/dist/types/entities.types.d.ts +34 -1
- package/dist/types/entities.types.d.ts.map +1 -1
- package/dist/types/entities.types.js +128 -1
- package/dist/types/livedata.types.d.ts +11 -0
- package/dist/types/livedata.types.d.ts.map +1 -1
- package/dist/types/livedata.types.js +40 -0
- package/package.json +2 -2
- package/typesrc/entities.json +54 -1
- package/typesrc/livedata.json +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate_types.d.ts","sourceRoot":"","sources":["../src/generate_types.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/generate_types.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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:
|
|
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,
|
|
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
|
-
"
|
|
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.
|
|
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
|
-
"
|
|
32
|
+
"runpublish": "npm publish --access public"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/node": "^24.5.2",
|
package/typesrc/entities.json
CHANGED
|
@@ -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
|
-
"
|
|
124
|
+
"$ref": "#/properties/LocalisedString",
|
|
72
125
|
"description": "Entity name"
|
|
73
126
|
},
|
|
74
127
|
"entityType": {
|
package/typesrc/livedata.json
CHANGED
|
@@ -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": {
|