@dnv-plant/typescriptpws 1.0.95 → 1.0.96-alpha.2289077
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/index.ts +2 -2
- package/package.json +1 -1
- package/src/calculations/applicationTools.ts +36 -47
- package/src/calculations/calculationBase.ts +27 -61
- package/src/calculations/discharge.ts +274 -364
- package/src/calculations/dispersion.ts +80 -88
- package/src/calculations/dispersionView.ts +360 -439
- package/src/calculations/fireball.ts +64 -70
- package/src/calculations/jetFire.ts +104 -118
- package/src/calculations/lateExplosion.ts +150 -154
- package/src/calculations/linkedRunners.ts +1025 -1095
- package/src/calculations/poolFire.ts +64 -70
- package/src/calculations/properties.ts +37 -50
- package/src/calculations/radiation.ts +467 -575
- package/src/calculations/standalones.ts +55 -66
- package/src/calculations/toxics.ts +65 -77
- package/src/calculations/utilities.ts +322 -479
- package/src/constants.ts +14 -14
- package/src/entities.ts +752 -1000
- package/src/entity-schemas.ts +1279 -1286
- package/src/enums.ts +11 -11
- package/src/materials.ts +86 -256
- package/src/utilities.ts +41 -50
package/src/entity-schemas.ts
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
1
|
/***********************************************************************
|
|
2
|
-
* This file has been auto-generated by a code generation tool.
|
|
3
|
-
*
|
|
4
|
-
* DO NOT MODIFY THIS FILE
|
|
5
|
-
* This file is maintained by DNV.
|
|
6
|
-
* Editing it may lead to inconsistent results and limit DNV's ability to provide support.
|
|
7
|
-
* Please contact DNV if you believe changes are required.
|
|
8
|
-
*
|
|
9
|
-
* Version: 1.0.
|
|
10
|
-
* Date/time:
|
|
11
|
-
* Template: templates/typescriptpws/entityschemas.razor.
|
|
12
|
-
***********************************************************************/
|
|
13
|
-
|
|
14
|
-
import * as Enums from
|
|
15
|
-
import * as Entities from
|
|
16
|
-
|
|
17
|
-
import Joi from
|
|
2
|
+
* This file has been auto-generated by a code generation tool.
|
|
3
|
+
*
|
|
4
|
+
* DO NOT MODIFY THIS FILE
|
|
5
|
+
* This file is maintained by DNV.
|
|
6
|
+
* Editing it may lead to inconsistent results and limit DNV's ability to provide support.
|
|
7
|
+
* Please contact DNV if you believe changes are required.
|
|
8
|
+
*
|
|
9
|
+
* Version: 1.0.96
|
|
10
|
+
* Date/time: 4 Apr 2026 08:17:52
|
|
11
|
+
* Template: templates/typescriptpws/entityschemas.razor.
|
|
12
|
+
***********************************************************************/
|
|
13
|
+
|
|
14
|
+
import * as Enums from './enums';
|
|
15
|
+
import * as Entities from './entities';
|
|
16
|
+
|
|
17
|
+
import Joi from 'joi';
|
|
18
18
|
|
|
19
19
|
const propertiesToIgnore = [
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
20
|
+
'clientId',
|
|
21
|
+
'createdDate',
|
|
22
|
+
'description',
|
|
23
|
+
'displayName',
|
|
24
|
+
'hazardType',
|
|
25
|
+
'id',
|
|
26
|
+
'imageAsBase64',
|
|
27
|
+
'imageResourceId',
|
|
28
|
+
'isReadOnly',
|
|
29
|
+
'lastUpdatedAccountId',
|
|
30
|
+
'lastUpdatedDate',
|
|
31
|
+
'materialComponentDataId',
|
|
32
|
+
'ownerAccountId',
|
|
33
|
+
'parentId',
|
|
34
|
+
'tags',
|
|
35
|
+
'typeId',
|
|
36
|
+
'version',
|
|
37
37
|
];
|
|
38
38
|
|
|
39
39
|
// Convert array to regex pattern
|
|
40
|
-
const ignoredPropertiesRegex = new RegExp(`^(${propertiesToIgnore.join(
|
|
40
|
+
const ignoredPropertiesRegex = new RegExp(`^(${propertiesToIgnore.join('|')})$`);
|
|
41
41
|
|
|
42
42
|
class ValidationError extends Error {
|
|
43
43
|
constructor(public details: string[]) {
|
|
44
|
-
super(`Validation error: ${details.join(
|
|
45
|
-
this.name =
|
|
44
|
+
super(`Validation error: ${details.join(', ')}`);
|
|
45
|
+
this.name = 'ValidationError';
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
abstract class SchemaBase<T> {
|
|
50
|
-
abstract readonly typeName: string
|
|
50
|
+
abstract readonly typeName: string;
|
|
51
51
|
schema: Joi.ObjectSchema;
|
|
52
52
|
propertyTypes: Record<string, string>;
|
|
53
53
|
|
|
54
54
|
constructor() {
|
|
55
55
|
this.schema = Joi.object({
|
|
56
|
-
id: Joi.string().allow(
|
|
57
|
-
typeId: Joi.string().allow(
|
|
58
|
-
displayName: Joi.string().allow(
|
|
56
|
+
id: Joi.string().allow(''),
|
|
57
|
+
typeId: Joi.string().allow(''),
|
|
58
|
+
displayName: Joi.string().allow(''),
|
|
59
59
|
});
|
|
60
|
-
|
|
60
|
+
|
|
61
61
|
this.propertyTypes = {
|
|
62
|
-
id:
|
|
63
|
-
typeId:
|
|
64
|
-
displayName:
|
|
62
|
+
id: 'string',
|
|
63
|
+
typeId: 'string',
|
|
64
|
+
displayName: 'string',
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -95,33 +95,30 @@ export interface LocalPositionSchemaData extends SchemaBaseData {
|
|
|
95
95
|
* ================================================================================
|
|
96
96
|
*/
|
|
97
97
|
export class LocalPositionSchema extends SchemaBase<LocalPositionSchemaData> {
|
|
98
|
-
readonly typeName =
|
|
98
|
+
readonly typeName = 'LocalPosition';
|
|
99
99
|
constructor() {
|
|
100
100
|
super();
|
|
101
|
-
this.schema = this.schema
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
ignoredPropertiesRegex,
|
|
110
|
-
|
|
111
|
-
)
|
|
112
|
-
.unknown(true);
|
|
101
|
+
this.schema = this.schema
|
|
102
|
+
.concat(
|
|
103
|
+
Joi.object({
|
|
104
|
+
x: Joi.number().unsafe(),
|
|
105
|
+
y: Joi.number().unsafe(),
|
|
106
|
+
z: Joi.number().unsafe(),
|
|
107
|
+
}),
|
|
108
|
+
)
|
|
109
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
110
|
+
.unknown(true);
|
|
113
111
|
|
|
114
112
|
this.propertyTypes = {
|
|
115
113
|
...this.propertyTypes,
|
|
116
|
-
x:
|
|
117
|
-
y:
|
|
118
|
-
z:
|
|
114
|
+
x: 'number',
|
|
115
|
+
y: 'number',
|
|
116
|
+
z: 'number',
|
|
119
117
|
};
|
|
120
118
|
}
|
|
121
119
|
|
|
122
120
|
makeEntity(data: LocalPositionSchemaData): Entities.LocalPosition {
|
|
123
|
-
return new Entities.LocalPosition(
|
|
124
|
-
data);
|
|
121
|
+
return new Entities.LocalPosition(data);
|
|
125
122
|
}
|
|
126
123
|
}
|
|
127
124
|
|
|
@@ -136,29 +133,26 @@ export interface AssetSchemaData extends SchemaBaseData {
|
|
|
136
133
|
* ================================================================================
|
|
137
134
|
*/
|
|
138
135
|
export class AssetSchema extends SchemaBase<AssetSchemaData> {
|
|
139
|
-
readonly typeName =
|
|
136
|
+
readonly typeName = 'Asset';
|
|
140
137
|
constructor() {
|
|
141
138
|
super();
|
|
142
|
-
this.schema = this.schema
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
ignoredPropertiesRegex,
|
|
149
|
-
|
|
150
|
-
)
|
|
151
|
-
.unknown(true);
|
|
139
|
+
this.schema = this.schema
|
|
140
|
+
.concat(
|
|
141
|
+
Joi.object({
|
|
142
|
+
location: new LocalPositionSchema().schema,
|
|
143
|
+
}),
|
|
144
|
+
)
|
|
145
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
146
|
+
.unknown(true);
|
|
152
147
|
|
|
153
148
|
this.propertyTypes = {
|
|
154
149
|
...this.propertyTypes,
|
|
155
|
-
location:
|
|
150
|
+
location: 'LocalPosition',
|
|
156
151
|
};
|
|
157
152
|
}
|
|
158
153
|
|
|
159
154
|
makeEntity(data: AssetSchemaData): Entities.Asset {
|
|
160
|
-
return new Entities.Asset(
|
|
161
|
-
data);
|
|
155
|
+
return new Entities.Asset(data);
|
|
162
156
|
}
|
|
163
157
|
}
|
|
164
158
|
|
|
@@ -174,31 +168,28 @@ export interface MaterialComponentSchemaData extends SchemaBaseData {
|
|
|
174
168
|
* ================================================================================
|
|
175
169
|
*/
|
|
176
170
|
export class MaterialComponentSchema extends SchemaBase<MaterialComponentSchemaData> {
|
|
177
|
-
readonly typeName =
|
|
171
|
+
readonly typeName = 'MaterialComponent';
|
|
178
172
|
constructor() {
|
|
179
173
|
super();
|
|
180
|
-
this.schema = this.schema
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
ignoredPropertiesRegex,
|
|
188
|
-
|
|
189
|
-
)
|
|
190
|
-
.unknown(true);
|
|
174
|
+
this.schema = this.schema
|
|
175
|
+
.concat(
|
|
176
|
+
Joi.object({
|
|
177
|
+
name: Joi.string().allow(''),
|
|
178
|
+
moleFraction: Joi.number().unsafe(),
|
|
179
|
+
}),
|
|
180
|
+
)
|
|
181
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
182
|
+
.unknown(true);
|
|
191
183
|
|
|
192
184
|
this.propertyTypes = {
|
|
193
185
|
...this.propertyTypes,
|
|
194
|
-
name:
|
|
195
|
-
moleFraction:
|
|
186
|
+
name: 'string',
|
|
187
|
+
moleFraction: 'number',
|
|
196
188
|
};
|
|
197
189
|
}
|
|
198
190
|
|
|
199
191
|
makeEntity(data: MaterialComponentSchemaData): Entities.MaterialComponent {
|
|
200
|
-
return new Entities.MaterialComponent(
|
|
201
|
-
data);
|
|
192
|
+
return new Entities.MaterialComponent(data);
|
|
202
193
|
}
|
|
203
194
|
}
|
|
204
195
|
|
|
@@ -216,35 +207,36 @@ export interface MaterialSchemaData extends SchemaBaseData {
|
|
|
216
207
|
* ================================================================================
|
|
217
208
|
*/
|
|
218
209
|
export class MaterialSchema extends SchemaBase<MaterialSchemaData> {
|
|
219
|
-
readonly typeName =
|
|
210
|
+
readonly typeName = 'Material';
|
|
220
211
|
constructor() {
|
|
221
212
|
super();
|
|
222
|
-
this.schema = this.schema
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
213
|
+
this.schema = this.schema
|
|
214
|
+
.concat(
|
|
215
|
+
Joi.object({
|
|
216
|
+
components: Joi.array().items(new MaterialComponentSchema().schema).allow(null),
|
|
217
|
+
name: Joi.string().allow(''),
|
|
218
|
+
componentCount: Joi.number().integer(),
|
|
219
|
+
propertyTemplate: Joi.string().valid(
|
|
220
|
+
...Object.values(Enums.PropertyTemplate)
|
|
221
|
+
.filter((v) => typeof v === 'number')
|
|
222
|
+
.sort(),
|
|
223
|
+
),
|
|
224
|
+
}),
|
|
225
|
+
)
|
|
226
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
227
|
+
.unknown(true);
|
|
235
228
|
|
|
236
229
|
this.propertyTypes = {
|
|
237
230
|
...this.propertyTypes,
|
|
238
|
-
components:
|
|
239
|
-
name:
|
|
240
|
-
componentCount:
|
|
241
|
-
propertyTemplate:
|
|
231
|
+
components: 'MaterialComponent[]',
|
|
232
|
+
name: 'string',
|
|
233
|
+
componentCount: 'number',
|
|
234
|
+
propertyTemplate: 'Enums.PropertyTemplate',
|
|
242
235
|
};
|
|
243
236
|
}
|
|
244
237
|
|
|
245
238
|
makeEntity(data: MaterialSchemaData): Entities.Material {
|
|
246
|
-
return new Entities.Material(
|
|
247
|
-
data);
|
|
239
|
+
return new Entities.Material(data);
|
|
248
240
|
}
|
|
249
241
|
}
|
|
250
242
|
|
|
@@ -263,37 +255,42 @@ export interface StateSchemaData extends SchemaBaseData {
|
|
|
263
255
|
* ================================================================================
|
|
264
256
|
*/
|
|
265
257
|
export class StateSchema extends SchemaBase<StateSchemaData> {
|
|
266
|
-
readonly typeName =
|
|
258
|
+
readonly typeName = 'State';
|
|
267
259
|
constructor() {
|
|
268
260
|
super();
|
|
269
|
-
this.schema = this.schema
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
261
|
+
this.schema = this.schema
|
|
262
|
+
.concat(
|
|
263
|
+
Joi.object({
|
|
264
|
+
pressure: Joi.number().unsafe(),
|
|
265
|
+
temperature: Joi.number().unsafe(),
|
|
266
|
+
liquidFraction: Joi.number().unsafe(),
|
|
267
|
+
flashFlag: Joi.string().valid(
|
|
268
|
+
...Object.values(Enums.FluidSpec)
|
|
269
|
+
.filter((v) => typeof v === 'number')
|
|
270
|
+
.sort(),
|
|
271
|
+
),
|
|
272
|
+
mixtureModelling: Joi.string().valid(
|
|
273
|
+
...Object.values(Enums.MixtureModelling)
|
|
274
|
+
.filter((v) => typeof v === 'number')
|
|
275
|
+
.sort(),
|
|
276
|
+
),
|
|
277
|
+
}),
|
|
278
|
+
)
|
|
279
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
280
|
+
.unknown(true);
|
|
283
281
|
|
|
284
282
|
this.propertyTypes = {
|
|
285
283
|
...this.propertyTypes,
|
|
286
|
-
pressure:
|
|
287
|
-
temperature:
|
|
288
|
-
liquidFraction:
|
|
289
|
-
flashFlag:
|
|
290
|
-
mixtureModelling:
|
|
284
|
+
pressure: 'number',
|
|
285
|
+
temperature: 'number',
|
|
286
|
+
liquidFraction: 'number',
|
|
287
|
+
flashFlag: 'Enums.FluidSpec',
|
|
288
|
+
mixtureModelling: 'Enums.MixtureModelling',
|
|
291
289
|
};
|
|
292
290
|
}
|
|
293
291
|
|
|
294
292
|
makeEntity(data: StateSchemaData): Entities.State {
|
|
295
|
-
return new Entities.State(
|
|
296
|
-
data);
|
|
293
|
+
return new Entities.State(data);
|
|
297
294
|
}
|
|
298
295
|
}
|
|
299
296
|
|
|
@@ -313,39 +310,36 @@ export interface AtmosphericStorageTankSchemaData extends SchemaBaseData {
|
|
|
313
310
|
* ================================================================================
|
|
314
311
|
*/
|
|
315
312
|
export class AtmosphericStorageTankSchema extends SchemaBase<AtmosphericStorageTankSchemaData> {
|
|
316
|
-
readonly typeName =
|
|
313
|
+
readonly typeName = 'AtmosphericStorageTank';
|
|
317
314
|
constructor() {
|
|
318
315
|
super();
|
|
319
|
-
this.schema = this.schema
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
ignoredPropertiesRegex,
|
|
331
|
-
|
|
332
|
-
)
|
|
333
|
-
.unknown(true);
|
|
316
|
+
this.schema = this.schema
|
|
317
|
+
.concat(
|
|
318
|
+
Joi.object({
|
|
319
|
+
location: new LocalPositionSchema().schema,
|
|
320
|
+
state: new StateSchema().schema,
|
|
321
|
+
diameter: Joi.number().unsafe(),
|
|
322
|
+
height: Joi.number().unsafe(),
|
|
323
|
+
material: new MaterialSchema().schema,
|
|
324
|
+
liquidFillFractionByVolume: Joi.number().unsafe(),
|
|
325
|
+
}),
|
|
326
|
+
)
|
|
327
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
328
|
+
.unknown(true);
|
|
334
329
|
|
|
335
330
|
this.propertyTypes = {
|
|
336
331
|
...this.propertyTypes,
|
|
337
|
-
location:
|
|
338
|
-
state:
|
|
339
|
-
diameter:
|
|
340
|
-
height:
|
|
341
|
-
material:
|
|
342
|
-
liquidFillFractionByVolume:
|
|
332
|
+
location: 'LocalPosition',
|
|
333
|
+
state: 'State',
|
|
334
|
+
diameter: 'number',
|
|
335
|
+
height: 'number',
|
|
336
|
+
material: 'Material',
|
|
337
|
+
liquidFillFractionByVolume: 'number',
|
|
343
338
|
};
|
|
344
339
|
}
|
|
345
340
|
|
|
346
341
|
makeEntity(data: AtmosphericStorageTankSchemaData): Entities.AtmosphericStorageTank {
|
|
347
|
-
return new Entities.AtmosphericStorageTank(
|
|
348
|
-
data);
|
|
342
|
+
return new Entities.AtmosphericStorageTank(data);
|
|
349
343
|
}
|
|
350
344
|
}
|
|
351
345
|
|
|
@@ -358,25 +352,21 @@ export interface ScenarioSchemaData extends SchemaBaseData {}
|
|
|
358
352
|
* ================================================================================
|
|
359
353
|
*/
|
|
360
354
|
export class ScenarioSchema extends SchemaBase<ScenarioSchemaData> {
|
|
361
|
-
readonly typeName =
|
|
355
|
+
readonly typeName = 'Scenario';
|
|
362
356
|
constructor() {
|
|
363
357
|
super();
|
|
364
|
-
this.schema = this.schema
|
|
365
|
-
Joi.object()
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
ignoredPropertiesRegex,
|
|
369
|
-
Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any())
|
|
370
|
-
)
|
|
371
|
-
.unknown(true);
|
|
358
|
+
this.schema = this.schema
|
|
359
|
+
.concat(Joi.object())
|
|
360
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
361
|
+
.unknown(true);
|
|
372
362
|
|
|
373
363
|
this.propertyTypes = {
|
|
374
|
-
...this.propertyTypes,
|
|
364
|
+
...this.propertyTypes,
|
|
365
|
+
};
|
|
375
366
|
}
|
|
376
367
|
|
|
377
368
|
makeEntity(data: ScenarioSchemaData): Entities.Scenario {
|
|
378
|
-
return new Entities.Scenario(
|
|
379
|
-
data);
|
|
369
|
+
return new Entities.Scenario(data);
|
|
380
370
|
}
|
|
381
371
|
}
|
|
382
372
|
|
|
@@ -392,31 +382,32 @@ export interface ReleaseOverTimeSchemaData extends SchemaBaseData {
|
|
|
392
382
|
* ================================================================================
|
|
393
383
|
*/
|
|
394
384
|
export class ReleaseOverTimeSchema extends SchemaBase<ReleaseOverTimeSchemaData> {
|
|
395
|
-
readonly typeName =
|
|
385
|
+
readonly typeName = 'ReleaseOverTime';
|
|
396
386
|
constructor() {
|
|
397
387
|
super();
|
|
398
|
-
this.schema = this.schema
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
388
|
+
this.schema = this.schema
|
|
389
|
+
.concat(
|
|
390
|
+
Joi.object({
|
|
391
|
+
releaseAngle: Joi.number().unsafe(),
|
|
392
|
+
timeVaryingOption: Joi.string().valid(
|
|
393
|
+
...Object.values(Enums.TimeVaryingOption)
|
|
394
|
+
.filter((v) => typeof v === 'number')
|
|
395
|
+
.sort(),
|
|
396
|
+
),
|
|
397
|
+
}),
|
|
398
|
+
)
|
|
399
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
400
|
+
.unknown(true);
|
|
409
401
|
|
|
410
402
|
this.propertyTypes = {
|
|
411
403
|
...this.propertyTypes,
|
|
412
|
-
releaseAngle:
|
|
413
|
-
timeVaryingOption:
|
|
404
|
+
releaseAngle: 'number',
|
|
405
|
+
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
414
406
|
};
|
|
415
407
|
}
|
|
416
408
|
|
|
417
409
|
makeEntity(data: ReleaseOverTimeSchemaData): Entities.ReleaseOverTime {
|
|
418
|
-
return new Entities.ReleaseOverTime(
|
|
419
|
-
data);
|
|
410
|
+
return new Entities.ReleaseOverTime(data);
|
|
420
411
|
}
|
|
421
412
|
}
|
|
422
413
|
|
|
@@ -436,39 +427,40 @@ export interface BESSReleaseSchemaData extends SchemaBaseData {
|
|
|
436
427
|
* ================================================================================
|
|
437
428
|
*/
|
|
438
429
|
export class BESSReleaseSchema extends SchemaBase<BESSReleaseSchemaData> {
|
|
439
|
-
readonly typeName =
|
|
430
|
+
readonly typeName = 'BESSRelease';
|
|
440
431
|
constructor() {
|
|
441
432
|
super();
|
|
442
|
-
this.schema = this.schema
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
433
|
+
this.schema = this.schema
|
|
434
|
+
.concat(
|
|
435
|
+
Joi.object({
|
|
436
|
+
height: Joi.number().unsafe(),
|
|
437
|
+
area: Joi.number().unsafe(),
|
|
438
|
+
temperature: Joi.number().unsafe(),
|
|
439
|
+
duration: Joi.number().unsafe(),
|
|
440
|
+
releaseAngle: Joi.number().unsafe(),
|
|
441
|
+
timeVaryingOption: Joi.string().valid(
|
|
442
|
+
...Object.values(Enums.TimeVaryingOption)
|
|
443
|
+
.filter((v) => typeof v === 'number')
|
|
444
|
+
.sort(),
|
|
445
|
+
),
|
|
446
|
+
}),
|
|
447
|
+
)
|
|
448
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
449
|
+
.unknown(true);
|
|
457
450
|
|
|
458
451
|
this.propertyTypes = {
|
|
459
452
|
...this.propertyTypes,
|
|
460
|
-
height:
|
|
461
|
-
area:
|
|
462
|
-
temperature:
|
|
463
|
-
duration:
|
|
464
|
-
releaseAngle:
|
|
465
|
-
timeVaryingOption:
|
|
453
|
+
height: 'number',
|
|
454
|
+
area: 'number',
|
|
455
|
+
temperature: 'number',
|
|
456
|
+
duration: 'number',
|
|
457
|
+
releaseAngle: 'number',
|
|
458
|
+
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
466
459
|
};
|
|
467
460
|
}
|
|
468
461
|
|
|
469
462
|
makeEntity(data: BESSReleaseSchemaData): Entities.BESSRelease {
|
|
470
|
-
return new Entities.BESSRelease(
|
|
471
|
-
data);
|
|
463
|
+
return new Entities.BESSRelease(data);
|
|
472
464
|
}
|
|
473
465
|
}
|
|
474
466
|
|
|
@@ -485,33 +477,34 @@ export interface BESSUnitSchemaData extends SchemaBaseData {
|
|
|
485
477
|
* ================================================================================
|
|
486
478
|
*/
|
|
487
479
|
export class BESSUnitSchema extends SchemaBase<BESSUnitSchemaData> {
|
|
488
|
-
readonly typeName =
|
|
480
|
+
readonly typeName = 'BESSUnit';
|
|
489
481
|
constructor() {
|
|
490
482
|
super();
|
|
491
|
-
this.schema = this.schema
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
483
|
+
this.schema = this.schema
|
|
484
|
+
.concat(
|
|
485
|
+
Joi.object({
|
|
486
|
+
location: new LocalPositionSchema().schema,
|
|
487
|
+
energyCapacity: Joi.number().unsafe(),
|
|
488
|
+
chemistry: Joi.string().valid(
|
|
489
|
+
...Object.values(Enums.BESSChemistry)
|
|
490
|
+
.filter((v) => typeof v === 'number')
|
|
491
|
+
.sort(),
|
|
492
|
+
),
|
|
493
|
+
}),
|
|
494
|
+
)
|
|
495
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
496
|
+
.unknown(true);
|
|
503
497
|
|
|
504
498
|
this.propertyTypes = {
|
|
505
499
|
...this.propertyTypes,
|
|
506
|
-
location:
|
|
507
|
-
energyCapacity:
|
|
508
|
-
chemistry:
|
|
500
|
+
location: 'LocalPosition',
|
|
501
|
+
energyCapacity: 'number',
|
|
502
|
+
chemistry: 'Enums.BESSChemistry',
|
|
509
503
|
};
|
|
510
504
|
}
|
|
511
505
|
|
|
512
506
|
makeEntity(data: BESSUnitSchemaData): Entities.BESSUnit {
|
|
513
|
-
return new Entities.BESSUnit(
|
|
514
|
-
data);
|
|
507
|
+
return new Entities.BESSUnit(data);
|
|
515
508
|
}
|
|
516
509
|
}
|
|
517
510
|
|
|
@@ -528,33 +521,30 @@ export interface BundSchemaData extends SchemaBaseData {
|
|
|
528
521
|
* ================================================================================
|
|
529
522
|
*/
|
|
530
523
|
export class BundSchema extends SchemaBase<BundSchemaData> {
|
|
531
|
-
readonly typeName =
|
|
524
|
+
readonly typeName = 'Bund';
|
|
532
525
|
constructor() {
|
|
533
526
|
super();
|
|
534
|
-
this.schema = this.schema
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
ignoredPropertiesRegex,
|
|
543
|
-
|
|
544
|
-
)
|
|
545
|
-
.unknown(true);
|
|
527
|
+
this.schema = this.schema
|
|
528
|
+
.concat(
|
|
529
|
+
Joi.object({
|
|
530
|
+
bundHeight: Joi.number().unsafe(),
|
|
531
|
+
bundDiameter: Joi.number().unsafe(),
|
|
532
|
+
specifyBund: Joi.boolean(),
|
|
533
|
+
}),
|
|
534
|
+
)
|
|
535
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
536
|
+
.unknown(true);
|
|
546
537
|
|
|
547
538
|
this.propertyTypes = {
|
|
548
539
|
...this.propertyTypes,
|
|
549
|
-
bundHeight:
|
|
550
|
-
bundDiameter:
|
|
551
|
-
specifyBund:
|
|
540
|
+
bundHeight: 'number',
|
|
541
|
+
bundDiameter: 'number',
|
|
542
|
+
specifyBund: 'boolean',
|
|
552
543
|
};
|
|
553
544
|
}
|
|
554
545
|
|
|
555
546
|
makeEntity(data: BundSchemaData): Entities.Bund {
|
|
556
|
-
return new Entities.Bund(
|
|
557
|
-
data);
|
|
547
|
+
return new Entities.Bund(data);
|
|
558
548
|
}
|
|
559
549
|
}
|
|
560
550
|
|
|
@@ -567,25 +557,21 @@ export interface InstantaneousSchemaData extends SchemaBaseData {}
|
|
|
567
557
|
* ================================================================================
|
|
568
558
|
*/
|
|
569
559
|
export class InstantaneousSchema extends SchemaBase<InstantaneousSchemaData> {
|
|
570
|
-
readonly typeName =
|
|
560
|
+
readonly typeName = 'Instantaneous';
|
|
571
561
|
constructor() {
|
|
572
562
|
super();
|
|
573
|
-
this.schema = this.schema
|
|
574
|
-
Joi.object()
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
ignoredPropertiesRegex,
|
|
578
|
-
Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any())
|
|
579
|
-
)
|
|
580
|
-
.unknown(true);
|
|
563
|
+
this.schema = this.schema
|
|
564
|
+
.concat(Joi.object())
|
|
565
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
566
|
+
.unknown(true);
|
|
581
567
|
|
|
582
568
|
this.propertyTypes = {
|
|
583
|
-
...this.propertyTypes,
|
|
569
|
+
...this.propertyTypes,
|
|
570
|
+
};
|
|
584
571
|
}
|
|
585
572
|
|
|
586
573
|
makeEntity(data: InstantaneousSchemaData): Entities.Instantaneous {
|
|
587
|
-
return new Entities.Instantaneous(
|
|
588
|
-
data);
|
|
574
|
+
return new Entities.Instantaneous(data);
|
|
589
575
|
}
|
|
590
576
|
}
|
|
591
577
|
|
|
@@ -598,25 +584,21 @@ export interface CatastrophicRuptureSchemaData extends SchemaBaseData {}
|
|
|
598
584
|
* ================================================================================
|
|
599
585
|
*/
|
|
600
586
|
export class CatastrophicRuptureSchema extends SchemaBase<CatastrophicRuptureSchemaData> {
|
|
601
|
-
readonly typeName =
|
|
587
|
+
readonly typeName = 'CatastrophicRupture';
|
|
602
588
|
constructor() {
|
|
603
589
|
super();
|
|
604
|
-
this.schema = this.schema
|
|
605
|
-
Joi.object()
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
ignoredPropertiesRegex,
|
|
609
|
-
Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any())
|
|
610
|
-
)
|
|
611
|
-
.unknown(true);
|
|
590
|
+
this.schema = this.schema
|
|
591
|
+
.concat(Joi.object())
|
|
592
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
593
|
+
.unknown(true);
|
|
612
594
|
|
|
613
595
|
this.propertyTypes = {
|
|
614
|
-
...this.propertyTypes,
|
|
596
|
+
...this.propertyTypes,
|
|
597
|
+
};
|
|
615
598
|
}
|
|
616
599
|
|
|
617
600
|
makeEntity(data: CatastrophicRuptureSchemaData): Entities.CatastrophicRupture {
|
|
618
|
-
return new Entities.CatastrophicRupture(
|
|
619
|
-
data);
|
|
601
|
+
return new Entities.CatastrophicRupture(data);
|
|
620
602
|
}
|
|
621
603
|
}
|
|
622
604
|
|
|
@@ -632,31 +614,28 @@ export interface ConcentrationRecordSchemaData extends SchemaBaseData {
|
|
|
632
614
|
* ================================================================================
|
|
633
615
|
*/
|
|
634
616
|
export class ConcentrationRecordSchema extends SchemaBase<ConcentrationRecordSchemaData> {
|
|
635
|
-
readonly typeName =
|
|
617
|
+
readonly typeName = 'ConcentrationRecord';
|
|
636
618
|
constructor() {
|
|
637
619
|
super();
|
|
638
|
-
this.schema = this.schema
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
ignoredPropertiesRegex,
|
|
646
|
-
|
|
647
|
-
)
|
|
648
|
-
.unknown(true);
|
|
620
|
+
this.schema = this.schema
|
|
621
|
+
.concat(
|
|
622
|
+
Joi.object({
|
|
623
|
+
concentration: Joi.number().unsafe(),
|
|
624
|
+
position: new LocalPositionSchema().schema,
|
|
625
|
+
}),
|
|
626
|
+
)
|
|
627
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
628
|
+
.unknown(true);
|
|
649
629
|
|
|
650
630
|
this.propertyTypes = {
|
|
651
631
|
...this.propertyTypes,
|
|
652
|
-
concentration:
|
|
653
|
-
position:
|
|
632
|
+
concentration: 'number',
|
|
633
|
+
position: 'LocalPosition',
|
|
654
634
|
};
|
|
655
635
|
}
|
|
656
636
|
|
|
657
637
|
makeEntity(data: ConcentrationRecordSchemaData): Entities.ConcentrationRecord {
|
|
658
|
-
return new Entities.ConcentrationRecord(
|
|
659
|
-
data);
|
|
638
|
+
return new Entities.ConcentrationRecord(data);
|
|
660
639
|
}
|
|
661
640
|
}
|
|
662
641
|
|
|
@@ -673,33 +652,30 @@ export interface ConstantMaterialResultSchemaData extends SchemaBaseData {
|
|
|
673
652
|
* ================================================================================
|
|
674
653
|
*/
|
|
675
654
|
export class ConstantMaterialResultSchema extends SchemaBase<ConstantMaterialResultSchemaData> {
|
|
676
|
-
readonly typeName =
|
|
655
|
+
readonly typeName = 'ConstantMaterialResult';
|
|
677
656
|
constructor() {
|
|
678
657
|
super();
|
|
679
|
-
this.schema = this.schema
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
ignoredPropertiesRegex,
|
|
688
|
-
|
|
689
|
-
)
|
|
690
|
-
.unknown(true);
|
|
658
|
+
this.schema = this.schema
|
|
659
|
+
.concat(
|
|
660
|
+
Joi.object({
|
|
661
|
+
criticalPressure: Joi.number().unsafe(),
|
|
662
|
+
criticalTemperature: Joi.number().unsafe(),
|
|
663
|
+
totalMolecularWeight: Joi.number().unsafe(),
|
|
664
|
+
}),
|
|
665
|
+
)
|
|
666
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
667
|
+
.unknown(true);
|
|
691
668
|
|
|
692
669
|
this.propertyTypes = {
|
|
693
670
|
...this.propertyTypes,
|
|
694
|
-
criticalPressure:
|
|
695
|
-
criticalTemperature:
|
|
696
|
-
totalMolecularWeight:
|
|
671
|
+
criticalPressure: 'number',
|
|
672
|
+
criticalTemperature: 'number',
|
|
673
|
+
totalMolecularWeight: 'number',
|
|
697
674
|
};
|
|
698
675
|
}
|
|
699
676
|
|
|
700
677
|
makeEntity(data: ConstantMaterialResultSchemaData): Entities.ConstantMaterialResult {
|
|
701
|
-
return new Entities.ConstantMaterialResult(
|
|
702
|
-
data);
|
|
678
|
+
return new Entities.ConstantMaterialResult(data);
|
|
703
679
|
}
|
|
704
680
|
}
|
|
705
681
|
|
|
@@ -714,29 +690,30 @@ export interface DischargeParametersSchemaData extends SchemaBaseData {
|
|
|
714
690
|
* ================================================================================
|
|
715
691
|
*/
|
|
716
692
|
export class DischargeParametersSchema extends SchemaBase<DischargeParametersSchemaData> {
|
|
717
|
-
readonly typeName =
|
|
693
|
+
readonly typeName = 'DischargeParameters';
|
|
718
694
|
constructor() {
|
|
719
695
|
super();
|
|
720
|
-
this.schema = this.schema
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
696
|
+
this.schema = this.schema
|
|
697
|
+
.concat(
|
|
698
|
+
Joi.object({
|
|
699
|
+
flashAtOrifice: Joi.string().valid(
|
|
700
|
+
...Object.values(Enums.FlashAtOrifice)
|
|
701
|
+
.filter((v) => typeof v === 'number')
|
|
702
|
+
.sort(),
|
|
703
|
+
),
|
|
704
|
+
}),
|
|
705
|
+
)
|
|
706
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
707
|
+
.unknown(true);
|
|
730
708
|
|
|
731
709
|
this.propertyTypes = {
|
|
732
710
|
...this.propertyTypes,
|
|
733
|
-
flashAtOrifice:
|
|
711
|
+
flashAtOrifice: 'Enums.FlashAtOrifice',
|
|
734
712
|
};
|
|
735
713
|
}
|
|
736
714
|
|
|
737
715
|
makeEntity(data: DischargeParametersSchemaData): Entities.DischargeParameters {
|
|
738
|
-
return new Entities.DischargeParameters(
|
|
739
|
-
data);
|
|
716
|
+
return new Entities.DischargeParameters(data);
|
|
740
717
|
}
|
|
741
718
|
}
|
|
742
719
|
|
|
@@ -759,45 +736,42 @@ export interface DischargeRecordSchemaData extends SchemaBaseData {
|
|
|
759
736
|
* ================================================================================
|
|
760
737
|
*/
|
|
761
738
|
export class DischargeRecordSchema extends SchemaBase<DischargeRecordSchemaData> {
|
|
762
|
-
readonly typeName =
|
|
739
|
+
readonly typeName = 'DischargeRecord';
|
|
763
740
|
constructor() {
|
|
764
741
|
super();
|
|
765
|
-
this.schema = this.schema
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
ignoredPropertiesRegex,
|
|
780
|
-
|
|
781
|
-
)
|
|
782
|
-
.unknown(true);
|
|
742
|
+
this.schema = this.schema
|
|
743
|
+
.concat(
|
|
744
|
+
Joi.object({
|
|
745
|
+
time: Joi.number().unsafe(),
|
|
746
|
+
massFlow: Joi.number().unsafe(),
|
|
747
|
+
finalState: new StateSchema().schema,
|
|
748
|
+
finalVelocity: Joi.number().unsafe(),
|
|
749
|
+
orificeState: new StateSchema().schema,
|
|
750
|
+
orificeVelocity: Joi.number().unsafe(),
|
|
751
|
+
storageState: new StateSchema().schema,
|
|
752
|
+
dropletDiameter: Joi.number().unsafe(),
|
|
753
|
+
expandedDiameter: Joi.number().unsafe(),
|
|
754
|
+
}),
|
|
755
|
+
)
|
|
756
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
757
|
+
.unknown(true);
|
|
783
758
|
|
|
784
759
|
this.propertyTypes = {
|
|
785
760
|
...this.propertyTypes,
|
|
786
|
-
time:
|
|
787
|
-
massFlow:
|
|
788
|
-
finalState:
|
|
789
|
-
finalVelocity:
|
|
790
|
-
orificeState:
|
|
791
|
-
orificeVelocity:
|
|
792
|
-
storageState:
|
|
793
|
-
dropletDiameter:
|
|
794
|
-
expandedDiameter:
|
|
761
|
+
time: 'number',
|
|
762
|
+
massFlow: 'number',
|
|
763
|
+
finalState: 'State',
|
|
764
|
+
finalVelocity: 'number',
|
|
765
|
+
orificeState: 'State',
|
|
766
|
+
orificeVelocity: 'number',
|
|
767
|
+
storageState: 'State',
|
|
768
|
+
dropletDiameter: 'number',
|
|
769
|
+
expandedDiameter: 'number',
|
|
795
770
|
};
|
|
796
771
|
}
|
|
797
772
|
|
|
798
773
|
makeEntity(data: DischargeRecordSchemaData): Entities.DischargeRecord {
|
|
799
|
-
return new Entities.DischargeRecord(
|
|
800
|
-
data);
|
|
774
|
+
return new Entities.DischargeRecord(data);
|
|
801
775
|
}
|
|
802
776
|
}
|
|
803
777
|
|
|
@@ -818,41 +792,42 @@ export interface DischargeResultSchemaData extends SchemaBaseData {
|
|
|
818
792
|
* ================================================================================
|
|
819
793
|
*/
|
|
820
794
|
export class DischargeResultSchema extends SchemaBase<DischargeResultSchemaData> {
|
|
821
|
-
readonly typeName =
|
|
795
|
+
readonly typeName = 'DischargeResult';
|
|
822
796
|
constructor() {
|
|
823
797
|
super();
|
|
824
|
-
this.schema = this.schema
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
798
|
+
this.schema = this.schema
|
|
799
|
+
.concat(
|
|
800
|
+
Joi.object({
|
|
801
|
+
expansionEnergy: Joi.number().unsafe(),
|
|
802
|
+
releaseMass: Joi.number().unsafe(),
|
|
803
|
+
height: Joi.number().unsafe(),
|
|
804
|
+
angle: Joi.number().unsafe(),
|
|
805
|
+
holeDiameter: Joi.number().unsafe(),
|
|
806
|
+
releaseType: Joi.string().valid(
|
|
807
|
+
...Object.values(Enums.DynamicType)
|
|
808
|
+
.filter((v) => typeof v === 'number')
|
|
809
|
+
.sort(),
|
|
810
|
+
),
|
|
811
|
+
preDilutionAirRate: Joi.number().unsafe(),
|
|
812
|
+
}),
|
|
813
|
+
)
|
|
814
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
815
|
+
.unknown(true);
|
|
840
816
|
|
|
841
817
|
this.propertyTypes = {
|
|
842
818
|
...this.propertyTypes,
|
|
843
|
-
expansionEnergy:
|
|
844
|
-
releaseMass:
|
|
845
|
-
height:
|
|
846
|
-
angle:
|
|
847
|
-
holeDiameter:
|
|
848
|
-
releaseType:
|
|
849
|
-
preDilutionAirRate:
|
|
819
|
+
expansionEnergy: 'number',
|
|
820
|
+
releaseMass: 'number',
|
|
821
|
+
height: 'number',
|
|
822
|
+
angle: 'number',
|
|
823
|
+
holeDiameter: 'number',
|
|
824
|
+
releaseType: 'Enums.DynamicType',
|
|
825
|
+
preDilutionAirRate: 'number',
|
|
850
826
|
};
|
|
851
827
|
}
|
|
852
828
|
|
|
853
829
|
makeEntity(data: DischargeResultSchemaData): Entities.DischargeResult {
|
|
854
|
-
return new Entities.DischargeResult(
|
|
855
|
-
data);
|
|
830
|
+
return new Entities.DischargeResult(data);
|
|
856
831
|
}
|
|
857
832
|
}
|
|
858
833
|
|
|
@@ -877,49 +852,58 @@ export interface DispersionOutputConfigSchemaData extends SchemaBaseData {
|
|
|
877
852
|
* ================================================================================
|
|
878
853
|
*/
|
|
879
854
|
export class DispersionOutputConfigSchema extends SchemaBase<DispersionOutputConfigSchemaData> {
|
|
880
|
-
readonly typeName =
|
|
855
|
+
readonly typeName = 'DispersionOutputConfig';
|
|
881
856
|
constructor() {
|
|
882
857
|
super();
|
|
883
|
-
this.schema = this.schema
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
858
|
+
this.schema = this.schema
|
|
859
|
+
.concat(
|
|
860
|
+
Joi.object({
|
|
861
|
+
downwindDistance: Joi.number().unsafe(),
|
|
862
|
+
time: Joi.number().unsafe(),
|
|
863
|
+
resolution: Joi.string().valid(
|
|
864
|
+
...Object.values(Enums.Resolution)
|
|
865
|
+
.filter((v) => typeof v === 'number')
|
|
866
|
+
.sort(),
|
|
867
|
+
),
|
|
868
|
+
elevation: Joi.number().unsafe(),
|
|
869
|
+
specialConcentration: Joi.string().valid(
|
|
870
|
+
...Object.values(Enums.SpecialConcentration)
|
|
871
|
+
.filter((v) => typeof v === 'number')
|
|
872
|
+
.sort(),
|
|
873
|
+
),
|
|
874
|
+
concentration: Joi.number().unsafe(),
|
|
875
|
+
crosswindDistance: Joi.number().unsafe(),
|
|
876
|
+
contourType: Joi.string().valid(
|
|
877
|
+
...Object.values(Enums.ContourType)
|
|
878
|
+
.filter((v) => typeof v === 'number')
|
|
879
|
+
.sort(),
|
|
880
|
+
),
|
|
881
|
+
lflFractionValue: Joi.number().unsafe(),
|
|
882
|
+
componentToTrackIndex: Joi.number().integer(),
|
|
883
|
+
componentToTrackName: Joi.string().allow(''),
|
|
884
|
+
}),
|
|
885
|
+
)
|
|
886
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
887
|
+
.unknown(true);
|
|
903
888
|
|
|
904
889
|
this.propertyTypes = {
|
|
905
890
|
...this.propertyTypes,
|
|
906
|
-
downwindDistance:
|
|
907
|
-
time:
|
|
908
|
-
resolution:
|
|
909
|
-
elevation:
|
|
910
|
-
specialConcentration:
|
|
911
|
-
concentration:
|
|
912
|
-
crosswindDistance:
|
|
913
|
-
contourType:
|
|
914
|
-
lflFractionValue:
|
|
915
|
-
componentToTrackIndex:
|
|
916
|
-
componentToTrackName:
|
|
891
|
+
downwindDistance: 'number',
|
|
892
|
+
time: 'number',
|
|
893
|
+
resolution: 'Enums.Resolution',
|
|
894
|
+
elevation: 'number',
|
|
895
|
+
specialConcentration: 'Enums.SpecialConcentration',
|
|
896
|
+
concentration: 'number',
|
|
897
|
+
crosswindDistance: 'number',
|
|
898
|
+
contourType: 'Enums.ContourType',
|
|
899
|
+
lflFractionValue: 'number',
|
|
900
|
+
componentToTrackIndex: 'number',
|
|
901
|
+
componentToTrackName: 'string',
|
|
917
902
|
};
|
|
918
903
|
}
|
|
919
904
|
|
|
920
905
|
makeEntity(data: DispersionOutputConfigSchemaData): Entities.DispersionOutputConfig {
|
|
921
|
-
return new Entities.DispersionOutputConfig(
|
|
922
|
-
data);
|
|
906
|
+
return new Entities.DispersionOutputConfig(data);
|
|
923
907
|
}
|
|
924
908
|
}
|
|
925
909
|
|
|
@@ -943,47 +927,48 @@ export interface DispersionParametersSchemaData extends SchemaBaseData {
|
|
|
943
927
|
* ================================================================================
|
|
944
928
|
*/
|
|
945
929
|
export class DispersionParametersSchema extends SchemaBase<DispersionParametersSchemaData> {
|
|
946
|
-
readonly typeName =
|
|
930
|
+
readonly typeName = 'DispersionParameters';
|
|
947
931
|
constructor() {
|
|
948
932
|
super();
|
|
949
|
-
this.schema = this.schema
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
933
|
+
this.schema = this.schema
|
|
934
|
+
.concat(
|
|
935
|
+
Joi.object({
|
|
936
|
+
relativeTolerance: Joi.number().unsafe(),
|
|
937
|
+
rainoutThermoFlag: Joi.string().valid(
|
|
938
|
+
...Object.values(Enums.RainoutThermoFlag)
|
|
939
|
+
.filter((v) => typeof v === 'number')
|
|
940
|
+
.sort(),
|
|
941
|
+
),
|
|
942
|
+
fixedStepSize: Joi.number().unsafe(),
|
|
943
|
+
outputStepMultiplier: Joi.number().unsafe(),
|
|
944
|
+
maxDispersionDistance: Joi.number().unsafe(),
|
|
945
|
+
maxDispersionHeight: Joi.number().unsafe(),
|
|
946
|
+
numberOfReleaseObservers: Joi.number().integer(),
|
|
947
|
+
numberOfPoolObservers: Joi.number().integer(),
|
|
948
|
+
averagingTime: Joi.number().unsafe(),
|
|
949
|
+
lflFractionToStop: Joi.number().unsafe(),
|
|
950
|
+
}),
|
|
951
|
+
)
|
|
952
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
953
|
+
.unknown(true);
|
|
968
954
|
|
|
969
955
|
this.propertyTypes = {
|
|
970
956
|
...this.propertyTypes,
|
|
971
|
-
relativeTolerance:
|
|
972
|
-
rainoutThermoFlag:
|
|
973
|
-
fixedStepSize:
|
|
974
|
-
outputStepMultiplier:
|
|
975
|
-
maxDispersionDistance:
|
|
976
|
-
maxDispersionHeight:
|
|
977
|
-
numberOfReleaseObservers:
|
|
978
|
-
numberOfPoolObservers:
|
|
979
|
-
averagingTime:
|
|
980
|
-
lflFractionToStop:
|
|
957
|
+
relativeTolerance: 'number',
|
|
958
|
+
rainoutThermoFlag: 'Enums.RainoutThermoFlag',
|
|
959
|
+
fixedStepSize: 'number',
|
|
960
|
+
outputStepMultiplier: 'number',
|
|
961
|
+
maxDispersionDistance: 'number',
|
|
962
|
+
maxDispersionHeight: 'number',
|
|
963
|
+
numberOfReleaseObservers: 'number',
|
|
964
|
+
numberOfPoolObservers: 'number',
|
|
965
|
+
averagingTime: 'number',
|
|
966
|
+
lflFractionToStop: 'number',
|
|
981
967
|
};
|
|
982
968
|
}
|
|
983
969
|
|
|
984
970
|
makeEntity(data: DispersionParametersSchemaData): Entities.DispersionParameters {
|
|
985
|
-
return new Entities.DispersionParameters(
|
|
986
|
-
data);
|
|
971
|
+
return new Entities.DispersionParameters(data);
|
|
987
972
|
}
|
|
988
973
|
}
|
|
989
974
|
|
|
@@ -1026,85 +1011,86 @@ export interface DispersionRecordSchemaData extends SchemaBaseData {
|
|
|
1026
1011
|
* ================================================================================
|
|
1027
1012
|
*/
|
|
1028
1013
|
export class DispersionRecordSchema extends SchemaBase<DispersionRecordSchemaData> {
|
|
1029
|
-
readonly typeName =
|
|
1014
|
+
readonly typeName = 'DispersionRecord';
|
|
1030
1015
|
constructor() {
|
|
1031
1016
|
super();
|
|
1032
|
-
this.schema = this.schema
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1017
|
+
this.schema = this.schema
|
|
1018
|
+
.concat(
|
|
1019
|
+
Joi.object({
|
|
1020
|
+
observerIndex: Joi.number().integer(),
|
|
1021
|
+
centrelineConcentration: Joi.number().unsafe(),
|
|
1022
|
+
downwindDistance: Joi.number().unsafe(),
|
|
1023
|
+
time: Joi.number().unsafe(),
|
|
1024
|
+
centrelineConcentrationUncorrected: Joi.number().unsafe(),
|
|
1025
|
+
crosswindRadius: Joi.number().unsafe(),
|
|
1026
|
+
verticalRadius: Joi.number().unsafe(),
|
|
1027
|
+
crosswindExponent: Joi.number().unsafe(),
|
|
1028
|
+
verticalExponent: Joi.number().unsafe(),
|
|
1029
|
+
theta: Joi.number().unsafe(),
|
|
1030
|
+
centrelineHeight: Joi.number().unsafe(),
|
|
1031
|
+
liquidFraction: Joi.number().unsafe(),
|
|
1032
|
+
vapourTemperature: Joi.number().unsafe(),
|
|
1033
|
+
massConc: Joi.number().unsafe(),
|
|
1034
|
+
velocity: Joi.number().unsafe(),
|
|
1035
|
+
massFlow: Joi.number().unsafe(),
|
|
1036
|
+
profileFlag: Joi.number().integer(),
|
|
1037
|
+
elevFlag: Joi.number().integer(),
|
|
1038
|
+
rhoCloud: Joi.number().unsafe(),
|
|
1039
|
+
liqTemp: Joi.number().unsafe(),
|
|
1040
|
+
effectiveWidth: Joi.number().unsafe(),
|
|
1041
|
+
effectiveHeight: Joi.number().unsafe(),
|
|
1042
|
+
passTranDist: Joi.number().unsafe(),
|
|
1043
|
+
downwindRadius: Joi.number().unsafe(),
|
|
1044
|
+
dropletDiameter: Joi.number().unsafe(),
|
|
1045
|
+
dropletHeight: Joi.number().unsafe(),
|
|
1046
|
+
dropletDistance: Joi.number().unsafe(),
|
|
1047
|
+
mass: Joi.number().unsafe(),
|
|
1048
|
+
instCon: Joi.string().valid(
|
|
1049
|
+
...Object.values(Enums.DynamicType)
|
|
1050
|
+
.filter((v) => typeof v === 'number')
|
|
1051
|
+
.sort(),
|
|
1052
|
+
),
|
|
1053
|
+
}),
|
|
1054
|
+
)
|
|
1055
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1056
|
+
.unknown(true);
|
|
1070
1057
|
|
|
1071
1058
|
this.propertyTypes = {
|
|
1072
1059
|
...this.propertyTypes,
|
|
1073
|
-
observerIndex:
|
|
1074
|
-
centrelineConcentration:
|
|
1075
|
-
downwindDistance:
|
|
1076
|
-
time:
|
|
1077
|
-
centrelineConcentrationUncorrected:
|
|
1078
|
-
crosswindRadius:
|
|
1079
|
-
verticalRadius:
|
|
1080
|
-
crosswindExponent:
|
|
1081
|
-
verticalExponent:
|
|
1082
|
-
theta:
|
|
1083
|
-
centrelineHeight:
|
|
1084
|
-
liquidFraction:
|
|
1085
|
-
vapourTemperature:
|
|
1086
|
-
massConc:
|
|
1087
|
-
velocity:
|
|
1088
|
-
massFlow:
|
|
1089
|
-
profileFlag:
|
|
1090
|
-
elevFlag:
|
|
1091
|
-
rhoCloud:
|
|
1092
|
-
liqTemp:
|
|
1093
|
-
effectiveWidth:
|
|
1094
|
-
effectiveHeight:
|
|
1095
|
-
passTranDist:
|
|
1096
|
-
downwindRadius:
|
|
1097
|
-
dropletDiameter:
|
|
1098
|
-
dropletHeight:
|
|
1099
|
-
dropletDistance:
|
|
1100
|
-
mass:
|
|
1101
|
-
instCon:
|
|
1060
|
+
observerIndex: 'number',
|
|
1061
|
+
centrelineConcentration: 'number',
|
|
1062
|
+
downwindDistance: 'number',
|
|
1063
|
+
time: 'number',
|
|
1064
|
+
centrelineConcentrationUncorrected: 'number',
|
|
1065
|
+
crosswindRadius: 'number',
|
|
1066
|
+
verticalRadius: 'number',
|
|
1067
|
+
crosswindExponent: 'number',
|
|
1068
|
+
verticalExponent: 'number',
|
|
1069
|
+
theta: 'number',
|
|
1070
|
+
centrelineHeight: 'number',
|
|
1071
|
+
liquidFraction: 'number',
|
|
1072
|
+
vapourTemperature: 'number',
|
|
1073
|
+
massConc: 'number',
|
|
1074
|
+
velocity: 'number',
|
|
1075
|
+
massFlow: 'number',
|
|
1076
|
+
profileFlag: 'number',
|
|
1077
|
+
elevFlag: 'number',
|
|
1078
|
+
rhoCloud: 'number',
|
|
1079
|
+
liqTemp: 'number',
|
|
1080
|
+
effectiveWidth: 'number',
|
|
1081
|
+
effectiveHeight: 'number',
|
|
1082
|
+
passTranDist: 'number',
|
|
1083
|
+
downwindRadius: 'number',
|
|
1084
|
+
dropletDiameter: 'number',
|
|
1085
|
+
dropletHeight: 'number',
|
|
1086
|
+
dropletDistance: 'number',
|
|
1087
|
+
mass: 'number',
|
|
1088
|
+
instCon: 'Enums.DynamicType',
|
|
1102
1089
|
};
|
|
1103
1090
|
}
|
|
1104
1091
|
|
|
1105
1092
|
makeEntity(data: DispersionRecordSchemaData): Entities.DispersionRecord {
|
|
1106
|
-
return new Entities.DispersionRecord(
|
|
1107
|
-
data);
|
|
1093
|
+
return new Entities.DispersionRecord(data);
|
|
1108
1094
|
}
|
|
1109
1095
|
}
|
|
1110
1096
|
|
|
@@ -1120,31 +1106,28 @@ export interface ExplosionConfinedVolumeSchemaData extends SchemaBaseData {
|
|
|
1120
1106
|
* ================================================================================
|
|
1121
1107
|
*/
|
|
1122
1108
|
export class ExplosionConfinedVolumeSchema extends SchemaBase<ExplosionConfinedVolumeSchemaData> {
|
|
1123
|
-
readonly typeName =
|
|
1109
|
+
readonly typeName = 'ExplosionConfinedVolume';
|
|
1124
1110
|
constructor() {
|
|
1125
1111
|
super();
|
|
1126
|
-
this.schema = this.schema
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
ignoredPropertiesRegex,
|
|
1134
|
-
|
|
1135
|
-
)
|
|
1136
|
-
.unknown(true);
|
|
1112
|
+
this.schema = this.schema
|
|
1113
|
+
.concat(
|
|
1114
|
+
Joi.object({
|
|
1115
|
+
confinedStrength: Joi.number().unsafe(),
|
|
1116
|
+
confinedVolume: Joi.number().unsafe(),
|
|
1117
|
+
}),
|
|
1118
|
+
)
|
|
1119
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1120
|
+
.unknown(true);
|
|
1137
1121
|
|
|
1138
1122
|
this.propertyTypes = {
|
|
1139
1123
|
...this.propertyTypes,
|
|
1140
|
-
confinedStrength:
|
|
1141
|
-
confinedVolume:
|
|
1124
|
+
confinedStrength: 'number',
|
|
1125
|
+
confinedVolume: 'number',
|
|
1142
1126
|
};
|
|
1143
1127
|
}
|
|
1144
1128
|
|
|
1145
1129
|
makeEntity(data: ExplosionConfinedVolumeSchemaData): Entities.ExplosionConfinedVolume {
|
|
1146
|
-
return new Entities.ExplosionConfinedVolume(
|
|
1147
|
-
data);
|
|
1130
|
+
return new Entities.ExplosionConfinedVolume(data);
|
|
1148
1131
|
}
|
|
1149
1132
|
}
|
|
1150
1133
|
|
|
@@ -1160,31 +1143,32 @@ export interface ExplosionOutputConfigSchemaData extends SchemaBaseData {
|
|
|
1160
1143
|
* ================================================================================
|
|
1161
1144
|
*/
|
|
1162
1145
|
export class ExplosionOutputConfigSchema extends SchemaBase<ExplosionOutputConfigSchemaData> {
|
|
1163
|
-
readonly typeName =
|
|
1146
|
+
readonly typeName = 'ExplosionOutputConfig';
|
|
1164
1147
|
constructor() {
|
|
1165
1148
|
super();
|
|
1166
|
-
this.schema = this.schema
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1149
|
+
this.schema = this.schema
|
|
1150
|
+
.concat(
|
|
1151
|
+
Joi.object({
|
|
1152
|
+
overpressureLevel: Joi.number().unsafe(),
|
|
1153
|
+
meConfinedMethod: Joi.string().valid(
|
|
1154
|
+
...Object.values(Enums.MEConfinedMethod)
|
|
1155
|
+
.filter((v) => typeof v === 'number')
|
|
1156
|
+
.sort(),
|
|
1157
|
+
),
|
|
1158
|
+
}),
|
|
1159
|
+
)
|
|
1160
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1161
|
+
.unknown(true);
|
|
1177
1162
|
|
|
1178
1163
|
this.propertyTypes = {
|
|
1179
1164
|
...this.propertyTypes,
|
|
1180
|
-
overpressureLevel:
|
|
1181
|
-
meConfinedMethod:
|
|
1165
|
+
overpressureLevel: 'number',
|
|
1166
|
+
meConfinedMethod: 'Enums.MEConfinedMethod',
|
|
1182
1167
|
};
|
|
1183
1168
|
}
|
|
1184
1169
|
|
|
1185
1170
|
makeEntity(data: ExplosionOutputConfigSchemaData): Entities.ExplosionOutputConfig {
|
|
1186
|
-
return new Entities.ExplosionOutputConfig(
|
|
1187
|
-
data);
|
|
1171
|
+
return new Entities.ExplosionOutputConfig(data);
|
|
1188
1172
|
}
|
|
1189
1173
|
}
|
|
1190
1174
|
|
|
@@ -1204,39 +1188,36 @@ export interface ExplosionOverpressureResultSchemaData extends SchemaBaseData {
|
|
|
1204
1188
|
* ================================================================================
|
|
1205
1189
|
*/
|
|
1206
1190
|
export class ExplosionOverpressureResultSchema extends SchemaBase<ExplosionOverpressureResultSchemaData> {
|
|
1207
|
-
readonly typeName =
|
|
1191
|
+
readonly typeName = 'ExplosionOverpressureResult';
|
|
1208
1192
|
constructor() {
|
|
1209
1193
|
super();
|
|
1210
|
-
this.schema = this.schema
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
ignoredPropertiesRegex,
|
|
1222
|
-
|
|
1223
|
-
)
|
|
1224
|
-
.unknown(true);
|
|
1194
|
+
this.schema = this.schema
|
|
1195
|
+
.concat(
|
|
1196
|
+
Joi.object({
|
|
1197
|
+
overpressure: Joi.number().unsafe(),
|
|
1198
|
+
explosionCentre: Joi.number().unsafe(),
|
|
1199
|
+
maximumDistance: Joi.number().unsafe(),
|
|
1200
|
+
explodedMass: Joi.number().unsafe(),
|
|
1201
|
+
ignitionTime: Joi.number().unsafe(),
|
|
1202
|
+
radius: Joi.number().unsafe(),
|
|
1203
|
+
}),
|
|
1204
|
+
)
|
|
1205
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1206
|
+
.unknown(true);
|
|
1225
1207
|
|
|
1226
1208
|
this.propertyTypes = {
|
|
1227
1209
|
...this.propertyTypes,
|
|
1228
|
-
overpressure:
|
|
1229
|
-
explosionCentre:
|
|
1230
|
-
maximumDistance:
|
|
1231
|
-
explodedMass:
|
|
1232
|
-
ignitionTime:
|
|
1233
|
-
radius:
|
|
1210
|
+
overpressure: 'number',
|
|
1211
|
+
explosionCentre: 'number',
|
|
1212
|
+
maximumDistance: 'number',
|
|
1213
|
+
explodedMass: 'number',
|
|
1214
|
+
ignitionTime: 'number',
|
|
1215
|
+
radius: 'number',
|
|
1234
1216
|
};
|
|
1235
1217
|
}
|
|
1236
1218
|
|
|
1237
1219
|
makeEntity(data: ExplosionOverpressureResultSchemaData): Entities.ExplosionOverpressureResult {
|
|
1238
|
-
return new Entities.ExplosionOverpressureResult(
|
|
1239
|
-
data);
|
|
1220
|
+
return new Entities.ExplosionOverpressureResult(data);
|
|
1240
1221
|
}
|
|
1241
1222
|
}
|
|
1242
1223
|
|
|
@@ -1251,29 +1232,26 @@ export interface ExplosionParametersSchemaData extends SchemaBaseData {
|
|
|
1251
1232
|
* ================================================================================
|
|
1252
1233
|
*/
|
|
1253
1234
|
export class ExplosionParametersSchema extends SchemaBase<ExplosionParametersSchemaData> {
|
|
1254
|
-
readonly typeName =
|
|
1235
|
+
readonly typeName = 'ExplosionParameters';
|
|
1255
1236
|
constructor() {
|
|
1256
1237
|
super();
|
|
1257
|
-
this.schema = this.schema
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
ignoredPropertiesRegex,
|
|
1264
|
-
|
|
1265
|
-
)
|
|
1266
|
-
.unknown(true);
|
|
1238
|
+
this.schema = this.schema
|
|
1239
|
+
.concat(
|
|
1240
|
+
Joi.object({
|
|
1241
|
+
explosionUniformStrength: Joi.number().unsafe(),
|
|
1242
|
+
}),
|
|
1243
|
+
)
|
|
1244
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1245
|
+
.unknown(true);
|
|
1267
1246
|
|
|
1268
1247
|
this.propertyTypes = {
|
|
1269
1248
|
...this.propertyTypes,
|
|
1270
|
-
explosionUniformStrength:
|
|
1249
|
+
explosionUniformStrength: 'number',
|
|
1271
1250
|
};
|
|
1272
1251
|
}
|
|
1273
1252
|
|
|
1274
1253
|
makeEntity(data: ExplosionParametersSchemaData): Entities.ExplosionParameters {
|
|
1275
|
-
return new Entities.ExplosionParameters(
|
|
1276
|
-
data);
|
|
1254
|
+
return new Entities.ExplosionParameters(data);
|
|
1277
1255
|
}
|
|
1278
1256
|
}
|
|
1279
1257
|
|
|
@@ -1291,35 +1269,32 @@ export interface FlameRecordSchemaData extends SchemaBaseData {
|
|
|
1291
1269
|
* ================================================================================
|
|
1292
1270
|
*/
|
|
1293
1271
|
export class FlameRecordSchema extends SchemaBase<FlameRecordSchemaData> {
|
|
1294
|
-
readonly typeName =
|
|
1272
|
+
readonly typeName = 'FlameRecord';
|
|
1295
1273
|
constructor() {
|
|
1296
1274
|
super();
|
|
1297
|
-
this.schema = this.schema
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
ignoredPropertiesRegex,
|
|
1307
|
-
|
|
1308
|
-
)
|
|
1309
|
-
.unknown(true);
|
|
1275
|
+
this.schema = this.schema
|
|
1276
|
+
.concat(
|
|
1277
|
+
Joi.object({
|
|
1278
|
+
xCoordinate: Joi.number().unsafe(),
|
|
1279
|
+
zCoordinate: Joi.number().unsafe(),
|
|
1280
|
+
rCoordinate: Joi.number().unsafe(),
|
|
1281
|
+
phiCoordinate: Joi.number().unsafe(),
|
|
1282
|
+
}),
|
|
1283
|
+
)
|
|
1284
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1285
|
+
.unknown(true);
|
|
1310
1286
|
|
|
1311
1287
|
this.propertyTypes = {
|
|
1312
1288
|
...this.propertyTypes,
|
|
1313
|
-
xCoordinate:
|
|
1314
|
-
zCoordinate:
|
|
1315
|
-
rCoordinate:
|
|
1316
|
-
phiCoordinate:
|
|
1289
|
+
xCoordinate: 'number',
|
|
1290
|
+
zCoordinate: 'number',
|
|
1291
|
+
rCoordinate: 'number',
|
|
1292
|
+
phiCoordinate: 'number',
|
|
1317
1293
|
};
|
|
1318
1294
|
}
|
|
1319
1295
|
|
|
1320
1296
|
makeEntity(data: FlameRecordSchemaData): Entities.FlameRecord {
|
|
1321
|
-
return new Entities.FlameRecord(
|
|
1322
|
-
data);
|
|
1297
|
+
return new Entities.FlameRecord(data);
|
|
1323
1298
|
}
|
|
1324
1299
|
}
|
|
1325
1300
|
|
|
@@ -1340,41 +1315,42 @@ export interface FlameResultSchemaData extends SchemaBaseData {
|
|
|
1340
1315
|
* ================================================================================
|
|
1341
1316
|
*/
|
|
1342
1317
|
export class FlameResultSchema extends SchemaBase<FlameResultSchemaData> {
|
|
1343
|
-
readonly typeName =
|
|
1318
|
+
readonly typeName = 'FlameResult';
|
|
1344
1319
|
constructor() {
|
|
1345
1320
|
super();
|
|
1346
|
-
this.schema = this.schema
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1321
|
+
this.schema = this.schema
|
|
1322
|
+
.concat(
|
|
1323
|
+
Joi.object({
|
|
1324
|
+
time: Joi.number().unsafe(),
|
|
1325
|
+
surfaceEmissivePower: Joi.number().unsafe(),
|
|
1326
|
+
flameLength: Joi.number().unsafe(),
|
|
1327
|
+
flameDiameter: Joi.number().unsafe(),
|
|
1328
|
+
fireType: Joi.string().valid(
|
|
1329
|
+
...Object.values(Enums.FireType)
|
|
1330
|
+
.filter((v) => typeof v === 'number')
|
|
1331
|
+
.sort(),
|
|
1332
|
+
),
|
|
1333
|
+
liftOffHeight: Joi.number().unsafe(),
|
|
1334
|
+
liftOffTime: Joi.number().unsafe(),
|
|
1335
|
+
}),
|
|
1336
|
+
)
|
|
1337
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1338
|
+
.unknown(true);
|
|
1362
1339
|
|
|
1363
1340
|
this.propertyTypes = {
|
|
1364
1341
|
...this.propertyTypes,
|
|
1365
|
-
time:
|
|
1366
|
-
surfaceEmissivePower:
|
|
1367
|
-
flameLength:
|
|
1368
|
-
flameDiameter:
|
|
1369
|
-
fireType:
|
|
1370
|
-
liftOffHeight:
|
|
1371
|
-
liftOffTime:
|
|
1342
|
+
time: 'number',
|
|
1343
|
+
surfaceEmissivePower: 'number',
|
|
1344
|
+
flameLength: 'number',
|
|
1345
|
+
flameDiameter: 'number',
|
|
1346
|
+
fireType: 'Enums.FireType',
|
|
1347
|
+
liftOffHeight: 'number',
|
|
1348
|
+
liftOffTime: 'number',
|
|
1372
1349
|
};
|
|
1373
1350
|
}
|
|
1374
1351
|
|
|
1375
1352
|
makeEntity(data: FlameResultSchemaData): Entities.FlameResult {
|
|
1376
|
-
return new Entities.FlameResult(
|
|
1377
|
-
data);
|
|
1353
|
+
return new Entities.FlameResult(data);
|
|
1378
1354
|
}
|
|
1379
1355
|
}
|
|
1380
1356
|
|
|
@@ -1390,31 +1366,28 @@ export interface TransectSchemaData extends SchemaBaseData {
|
|
|
1390
1366
|
* ================================================================================
|
|
1391
1367
|
*/
|
|
1392
1368
|
export class TransectSchema extends SchemaBase<TransectSchemaData> {
|
|
1393
|
-
readonly typeName =
|
|
1369
|
+
readonly typeName = 'Transect';
|
|
1394
1370
|
constructor() {
|
|
1395
1371
|
super();
|
|
1396
|
-
this.schema = this.schema
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
ignoredPropertiesRegex,
|
|
1404
|
-
|
|
1405
|
-
)
|
|
1406
|
-
.unknown(true);
|
|
1372
|
+
this.schema = this.schema
|
|
1373
|
+
.concat(
|
|
1374
|
+
Joi.object({
|
|
1375
|
+
transectStartPoint: new LocalPositionSchema().schema,
|
|
1376
|
+
transectEndPoint: new LocalPositionSchema().schema,
|
|
1377
|
+
}),
|
|
1378
|
+
)
|
|
1379
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1380
|
+
.unknown(true);
|
|
1407
1381
|
|
|
1408
1382
|
this.propertyTypes = {
|
|
1409
1383
|
...this.propertyTypes,
|
|
1410
|
-
transectStartPoint:
|
|
1411
|
-
transectEndPoint:
|
|
1384
|
+
transectStartPoint: 'LocalPosition',
|
|
1385
|
+
transectEndPoint: 'LocalPosition',
|
|
1412
1386
|
};
|
|
1413
1387
|
}
|
|
1414
1388
|
|
|
1415
1389
|
makeEntity(data: TransectSchemaData): Entities.Transect {
|
|
1416
|
-
return new Entities.Transect(
|
|
1417
|
-
data);
|
|
1390
|
+
return new Entities.Transect(data);
|
|
1418
1391
|
}
|
|
1419
1392
|
}
|
|
1420
1393
|
|
|
@@ -1438,47 +1411,56 @@ export interface FlammableOutputConfigSchemaData extends SchemaBaseData {
|
|
|
1438
1411
|
* ================================================================================
|
|
1439
1412
|
*/
|
|
1440
1413
|
export class FlammableOutputConfigSchema extends SchemaBase<FlammableOutputConfigSchemaData> {
|
|
1441
|
-
readonly typeName =
|
|
1414
|
+
readonly typeName = 'FlammableOutputConfig';
|
|
1442
1415
|
constructor() {
|
|
1443
1416
|
super();
|
|
1444
|
-
this.schema = this.schema
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1417
|
+
this.schema = this.schema
|
|
1418
|
+
.concat(
|
|
1419
|
+
Joi.object({
|
|
1420
|
+
position: new LocalPositionSchema().schema,
|
|
1421
|
+
transect: new TransectSchema().schema,
|
|
1422
|
+
radiationType: Joi.string().valid(
|
|
1423
|
+
...Object.values(Enums.RadiationType)
|
|
1424
|
+
.filter((v) => typeof v === 'number')
|
|
1425
|
+
.sort(),
|
|
1426
|
+
),
|
|
1427
|
+
contourType: Joi.string().valid(
|
|
1428
|
+
...Object.values(Enums.ContourType)
|
|
1429
|
+
.filter((v) => typeof v === 'number')
|
|
1430
|
+
.sort(),
|
|
1431
|
+
),
|
|
1432
|
+
radiationLevel: Joi.number().unsafe(),
|
|
1433
|
+
radiationResolution: Joi.string().valid(
|
|
1434
|
+
...Object.values(Enums.Resolution)
|
|
1435
|
+
.filter((v) => typeof v === 'number')
|
|
1436
|
+
.sort(),
|
|
1437
|
+
),
|
|
1438
|
+
fixedOrientation: Joi.number().integer(),
|
|
1439
|
+
orientation: Joi.number().unsafe(),
|
|
1440
|
+
fixedInclination: Joi.number().integer(),
|
|
1441
|
+
inclination: Joi.number().unsafe(),
|
|
1442
|
+
}),
|
|
1443
|
+
)
|
|
1444
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1445
|
+
.unknown(true);
|
|
1463
1446
|
|
|
1464
1447
|
this.propertyTypes = {
|
|
1465
1448
|
...this.propertyTypes,
|
|
1466
|
-
position:
|
|
1467
|
-
transect:
|
|
1468
|
-
radiationType:
|
|
1469
|
-
contourType:
|
|
1470
|
-
radiationLevel:
|
|
1471
|
-
radiationResolution:
|
|
1472
|
-
fixedOrientation:
|
|
1473
|
-
orientation:
|
|
1474
|
-
fixedInclination:
|
|
1475
|
-
inclination:
|
|
1449
|
+
position: 'LocalPosition',
|
|
1450
|
+
transect: 'Transect',
|
|
1451
|
+
radiationType: 'Enums.RadiationType',
|
|
1452
|
+
contourType: 'Enums.ContourType',
|
|
1453
|
+
radiationLevel: 'number',
|
|
1454
|
+
radiationResolution: 'Enums.Resolution',
|
|
1455
|
+
fixedOrientation: 'number',
|
|
1456
|
+
orientation: 'number',
|
|
1457
|
+
fixedInclination: 'number',
|
|
1458
|
+
inclination: 'number',
|
|
1476
1459
|
};
|
|
1477
1460
|
}
|
|
1478
1461
|
|
|
1479
1462
|
makeEntity(data: FlammableOutputConfigSchemaData): Entities.FlammableOutputConfig {
|
|
1480
|
-
return new Entities.FlammableOutputConfig(
|
|
1481
|
-
data);
|
|
1463
|
+
return new Entities.FlammableOutputConfig(data);
|
|
1482
1464
|
}
|
|
1483
1465
|
}
|
|
1484
1466
|
|
|
@@ -1498,39 +1480,40 @@ export interface FlammableParametersSchemaData extends SchemaBaseData {
|
|
|
1498
1480
|
* ================================================================================
|
|
1499
1481
|
*/
|
|
1500
1482
|
export class FlammableParametersSchema extends SchemaBase<FlammableParametersSchemaData> {
|
|
1501
|
-
readonly typeName =
|
|
1483
|
+
readonly typeName = 'FlammableParameters';
|
|
1502
1484
|
constructor() {
|
|
1503
1485
|
super();
|
|
1504
|
-
this.schema = this.schema
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1486
|
+
this.schema = this.schema
|
|
1487
|
+
.concat(
|
|
1488
|
+
Joi.object({
|
|
1489
|
+
maxExposureDuration: Joi.number().unsafe(),
|
|
1490
|
+
radiationRelativeTolerance: Joi.number().unsafe(),
|
|
1491
|
+
poolFireType: Joi.string().valid(
|
|
1492
|
+
...Object.values(Enums.PoolFireType)
|
|
1493
|
+
.filter((v) => typeof v === 'number')
|
|
1494
|
+
.sort(),
|
|
1495
|
+
),
|
|
1496
|
+
jetFireAutoSelect: Joi.boolean(),
|
|
1497
|
+
timeAveraging: Joi.boolean(),
|
|
1498
|
+
timeOfInterest: Joi.number().unsafe(),
|
|
1499
|
+
}),
|
|
1500
|
+
)
|
|
1501
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1502
|
+
.unknown(true);
|
|
1519
1503
|
|
|
1520
1504
|
this.propertyTypes = {
|
|
1521
1505
|
...this.propertyTypes,
|
|
1522
|
-
maxExposureDuration:
|
|
1523
|
-
radiationRelativeTolerance:
|
|
1524
|
-
poolFireType:
|
|
1525
|
-
jetFireAutoSelect:
|
|
1526
|
-
timeAveraging:
|
|
1527
|
-
timeOfInterest:
|
|
1506
|
+
maxExposureDuration: 'number',
|
|
1507
|
+
radiationRelativeTolerance: 'number',
|
|
1508
|
+
poolFireType: 'Enums.PoolFireType',
|
|
1509
|
+
jetFireAutoSelect: 'boolean',
|
|
1510
|
+
timeAveraging: 'boolean',
|
|
1511
|
+
timeOfInterest: 'number',
|
|
1528
1512
|
};
|
|
1529
1513
|
}
|
|
1530
1514
|
|
|
1531
1515
|
makeEntity(data: FlammableParametersSchemaData): Entities.FlammableParameters {
|
|
1532
|
-
return new Entities.FlammableParameters(
|
|
1533
|
-
data);
|
|
1516
|
+
return new Entities.FlammableParameters(data);
|
|
1534
1517
|
}
|
|
1535
1518
|
}
|
|
1536
1519
|
|
|
@@ -1560,59 +1543,60 @@ export interface FlashResultSchemaData extends SchemaBaseData {
|
|
|
1560
1543
|
* ================================================================================
|
|
1561
1544
|
*/
|
|
1562
1545
|
export class FlashResultSchema extends SchemaBase<FlashResultSchemaData> {
|
|
1563
|
-
readonly typeName =
|
|
1546
|
+
readonly typeName = 'FlashResult';
|
|
1564
1547
|
constructor() {
|
|
1565
1548
|
super();
|
|
1566
|
-
this.schema = this.schema
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1549
|
+
this.schema = this.schema
|
|
1550
|
+
.concat(
|
|
1551
|
+
Joi.object({
|
|
1552
|
+
pressure: Joi.number().unsafe(),
|
|
1553
|
+
temperature: Joi.number().unsafe(),
|
|
1554
|
+
liquidMoleFraction: Joi.number().unsafe(),
|
|
1555
|
+
liquidDensity: Joi.number().unsafe(),
|
|
1556
|
+
vapourDensity: Joi.number().unsafe(),
|
|
1557
|
+
liquidEntropy: Joi.number().unsafe(),
|
|
1558
|
+
vapourEntropy: Joi.number().unsafe(),
|
|
1559
|
+
liquidEnthalpy: Joi.number().unsafe(),
|
|
1560
|
+
vapourEnthalpy: Joi.number().unsafe(),
|
|
1561
|
+
bubblePointPressure: Joi.number().unsafe(),
|
|
1562
|
+
bubblePointTemperature: Joi.number().unsafe(),
|
|
1563
|
+
dewPointPressure: Joi.number().unsafe(),
|
|
1564
|
+
dewPointTemperature: Joi.number().unsafe(),
|
|
1565
|
+
totalFluidDensity: Joi.number().unsafe(),
|
|
1566
|
+
liquidMassFraction: Joi.number().unsafe(),
|
|
1567
|
+
fluidPhase: Joi.string().valid(
|
|
1568
|
+
...Object.values(Enums.Phase)
|
|
1569
|
+
.filter((v) => typeof v === 'number')
|
|
1570
|
+
.sort(),
|
|
1571
|
+
),
|
|
1572
|
+
}),
|
|
1573
|
+
)
|
|
1574
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1575
|
+
.unknown(true);
|
|
1591
1576
|
|
|
1592
1577
|
this.propertyTypes = {
|
|
1593
1578
|
...this.propertyTypes,
|
|
1594
|
-
pressure:
|
|
1595
|
-
temperature:
|
|
1596
|
-
liquidMoleFraction:
|
|
1597
|
-
liquidDensity:
|
|
1598
|
-
vapourDensity:
|
|
1599
|
-
liquidEntropy:
|
|
1600
|
-
vapourEntropy:
|
|
1601
|
-
liquidEnthalpy:
|
|
1602
|
-
vapourEnthalpy:
|
|
1603
|
-
bubblePointPressure:
|
|
1604
|
-
bubblePointTemperature:
|
|
1605
|
-
dewPointPressure:
|
|
1606
|
-
dewPointTemperature:
|
|
1607
|
-
totalFluidDensity:
|
|
1608
|
-
liquidMassFraction:
|
|
1609
|
-
fluidPhase:
|
|
1579
|
+
pressure: 'number',
|
|
1580
|
+
temperature: 'number',
|
|
1581
|
+
liquidMoleFraction: 'number',
|
|
1582
|
+
liquidDensity: 'number',
|
|
1583
|
+
vapourDensity: 'number',
|
|
1584
|
+
liquidEntropy: 'number',
|
|
1585
|
+
vapourEntropy: 'number',
|
|
1586
|
+
liquidEnthalpy: 'number',
|
|
1587
|
+
vapourEnthalpy: 'number',
|
|
1588
|
+
bubblePointPressure: 'number',
|
|
1589
|
+
bubblePointTemperature: 'number',
|
|
1590
|
+
dewPointPressure: 'number',
|
|
1591
|
+
dewPointTemperature: 'number',
|
|
1592
|
+
totalFluidDensity: 'number',
|
|
1593
|
+
liquidMassFraction: 'number',
|
|
1594
|
+
fluidPhase: 'Enums.Phase',
|
|
1610
1595
|
};
|
|
1611
1596
|
}
|
|
1612
1597
|
|
|
1613
1598
|
makeEntity(data: FlashResultSchemaData): Entities.FlashResult {
|
|
1614
|
-
return new Entities.FlashResult(
|
|
1615
|
-
data);
|
|
1599
|
+
return new Entities.FlashResult(data);
|
|
1616
1600
|
}
|
|
1617
1601
|
}
|
|
1618
1602
|
|
|
@@ -1631,37 +1615,38 @@ export interface LeakSchemaData extends SchemaBaseData {
|
|
|
1631
1615
|
* ================================================================================
|
|
1632
1616
|
*/
|
|
1633
1617
|
export class LeakSchema extends SchemaBase<LeakSchemaData> {
|
|
1634
|
-
readonly typeName =
|
|
1618
|
+
readonly typeName = 'Leak';
|
|
1635
1619
|
constructor() {
|
|
1636
1620
|
super();
|
|
1637
|
-
this.schema = this.schema
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1621
|
+
this.schema = this.schema
|
|
1622
|
+
.concat(
|
|
1623
|
+
Joi.object({
|
|
1624
|
+
holeDiameter: Joi.number().unsafe(),
|
|
1625
|
+
releaseAngle: Joi.number().unsafe(),
|
|
1626
|
+
timeVaryingOption: Joi.string().valid(
|
|
1627
|
+
...Object.values(Enums.TimeVaryingOption)
|
|
1628
|
+
.filter((v) => typeof v === 'number')
|
|
1629
|
+
.sort(),
|
|
1630
|
+
),
|
|
1631
|
+
holeHeightFraction: Joi.number().unsafe(),
|
|
1632
|
+
releaseElevation: Joi.number().unsafe(),
|
|
1633
|
+
}),
|
|
1634
|
+
)
|
|
1635
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1636
|
+
.unknown(true);
|
|
1651
1637
|
|
|
1652
1638
|
this.propertyTypes = {
|
|
1653
1639
|
...this.propertyTypes,
|
|
1654
|
-
holeDiameter:
|
|
1655
|
-
releaseAngle:
|
|
1656
|
-
timeVaryingOption:
|
|
1657
|
-
holeHeightFraction:
|
|
1658
|
-
releaseElevation:
|
|
1640
|
+
holeDiameter: 'number',
|
|
1641
|
+
releaseAngle: 'number',
|
|
1642
|
+
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
1643
|
+
holeHeightFraction: 'number',
|
|
1644
|
+
releaseElevation: 'number',
|
|
1659
1645
|
};
|
|
1660
1646
|
}
|
|
1661
1647
|
|
|
1662
1648
|
makeEntity(data: LeakSchemaData): Entities.Leak {
|
|
1663
|
-
return new Entities.Leak(
|
|
1664
|
-
data);
|
|
1649
|
+
return new Entities.Leak(data);
|
|
1665
1650
|
}
|
|
1666
1651
|
}
|
|
1667
1652
|
|
|
@@ -1681,39 +1666,40 @@ export interface LineRuptureSchemaData extends SchemaBaseData {
|
|
|
1681
1666
|
* ================================================================================
|
|
1682
1667
|
*/
|
|
1683
1668
|
export class LineRuptureSchema extends SchemaBase<LineRuptureSchemaData> {
|
|
1684
|
-
readonly typeName =
|
|
1669
|
+
readonly typeName = 'LineRupture';
|
|
1685
1670
|
constructor() {
|
|
1686
1671
|
super();
|
|
1687
|
-
this.schema = this.schema
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1672
|
+
this.schema = this.schema
|
|
1673
|
+
.concat(
|
|
1674
|
+
Joi.object({
|
|
1675
|
+
pipeDiameter: Joi.number().unsafe(),
|
|
1676
|
+
pipeLength: Joi.number().unsafe(),
|
|
1677
|
+
releaseAngle: Joi.number().unsafe(),
|
|
1678
|
+
timeVaryingOption: Joi.string().valid(
|
|
1679
|
+
...Object.values(Enums.TimeVaryingOption)
|
|
1680
|
+
.filter((v) => typeof v === 'number')
|
|
1681
|
+
.sort(),
|
|
1682
|
+
),
|
|
1683
|
+
pipeRoughness: Joi.number().unsafe(),
|
|
1684
|
+
pipeHeightFraction: Joi.number().unsafe(),
|
|
1685
|
+
}),
|
|
1686
|
+
)
|
|
1687
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1688
|
+
.unknown(true);
|
|
1702
1689
|
|
|
1703
1690
|
this.propertyTypes = {
|
|
1704
1691
|
...this.propertyTypes,
|
|
1705
|
-
pipeDiameter:
|
|
1706
|
-
pipeLength:
|
|
1707
|
-
releaseAngle:
|
|
1708
|
-
timeVaryingOption:
|
|
1709
|
-
pipeRoughness:
|
|
1710
|
-
pipeHeightFraction:
|
|
1692
|
+
pipeDiameter: 'number',
|
|
1693
|
+
pipeLength: 'number',
|
|
1694
|
+
releaseAngle: 'number',
|
|
1695
|
+
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
1696
|
+
pipeRoughness: 'number',
|
|
1697
|
+
pipeHeightFraction: 'number',
|
|
1711
1698
|
};
|
|
1712
1699
|
}
|
|
1713
1700
|
|
|
1714
1701
|
makeEntity(data: LineRuptureSchemaData): Entities.LineRupture {
|
|
1715
|
-
return new Entities.LineRupture(
|
|
1716
|
-
data);
|
|
1702
|
+
return new Entities.LineRupture(data);
|
|
1717
1703
|
}
|
|
1718
1704
|
}
|
|
1719
1705
|
|
|
@@ -1734,41 +1720,38 @@ export interface MaterialComponentDataItemSchemaData extends SchemaBaseData {
|
|
|
1734
1720
|
* ================================================================================
|
|
1735
1721
|
*/
|
|
1736
1722
|
export class MaterialComponentDataItemSchema extends SchemaBase<MaterialComponentDataItemSchemaData> {
|
|
1737
|
-
readonly typeName =
|
|
1723
|
+
readonly typeName = 'MaterialComponentDataItem';
|
|
1738
1724
|
constructor() {
|
|
1739
1725
|
super();
|
|
1740
|
-
this.schema = this.schema
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
ignoredPropertiesRegex,
|
|
1753
|
-
|
|
1754
|
-
)
|
|
1755
|
-
.unknown(true);
|
|
1726
|
+
this.schema = this.schema
|
|
1727
|
+
.concat(
|
|
1728
|
+
Joi.object({
|
|
1729
|
+
equationNumber: Joi.number().integer(),
|
|
1730
|
+
equationCoefficients: Joi.array().items(Joi.number().unsafe()).allow(null),
|
|
1731
|
+
calculationLimits: Joi.array().items(Joi.number().unsafe()).allow(null),
|
|
1732
|
+
description: Joi.string().allow(''),
|
|
1733
|
+
equationString: Joi.string().allow(''),
|
|
1734
|
+
supercriticalExtrapolation: Joi.number().unsafe(),
|
|
1735
|
+
fractionTc: Joi.number().unsafe(),
|
|
1736
|
+
}),
|
|
1737
|
+
)
|
|
1738
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1739
|
+
.unknown(true);
|
|
1756
1740
|
|
|
1757
1741
|
this.propertyTypes = {
|
|
1758
1742
|
...this.propertyTypes,
|
|
1759
|
-
equationNumber:
|
|
1760
|
-
equationCoefficients:
|
|
1761
|
-
calculationLimits:
|
|
1762
|
-
description:
|
|
1763
|
-
equationString:
|
|
1764
|
-
supercriticalExtrapolation:
|
|
1765
|
-
fractionTc:
|
|
1743
|
+
equationNumber: 'number',
|
|
1744
|
+
equationCoefficients: 'number[]',
|
|
1745
|
+
calculationLimits: 'number[]',
|
|
1746
|
+
description: 'string',
|
|
1747
|
+
equationString: 'string',
|
|
1748
|
+
supercriticalExtrapolation: 'number',
|
|
1749
|
+
fractionTc: 'number',
|
|
1766
1750
|
};
|
|
1767
1751
|
}
|
|
1768
1752
|
|
|
1769
1753
|
makeEntity(data: MaterialComponentDataItemSchemaData): Entities.MaterialComponentDataItem {
|
|
1770
|
-
return new Entities.MaterialComponentDataItem(
|
|
1771
|
-
data);
|
|
1754
|
+
return new Entities.MaterialComponentDataItem(data);
|
|
1772
1755
|
}
|
|
1773
1756
|
}
|
|
1774
1757
|
|
|
@@ -1786,35 +1769,32 @@ export interface MaterialComponentDataSchemaData extends SchemaBaseData {
|
|
|
1786
1769
|
* ================================================================================
|
|
1787
1770
|
*/
|
|
1788
1771
|
export class MaterialComponentDataSchema extends SchemaBase<MaterialComponentDataSchemaData> {
|
|
1789
|
-
readonly typeName =
|
|
1772
|
+
readonly typeName = 'MaterialComponentData';
|
|
1790
1773
|
constructor() {
|
|
1791
1774
|
super();
|
|
1792
|
-
this.schema = this.schema
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
ignoredPropertiesRegex,
|
|
1802
|
-
|
|
1803
|
-
)
|
|
1804
|
-
.unknown(true);
|
|
1775
|
+
this.schema = this.schema
|
|
1776
|
+
.concat(
|
|
1777
|
+
Joi.object({
|
|
1778
|
+
dipprVersion: Joi.number().integer(),
|
|
1779
|
+
casId: Joi.number().integer(),
|
|
1780
|
+
dataItem: Joi.array().items(new MaterialComponentDataItemSchema().schema).allow(null),
|
|
1781
|
+
name: Joi.string().allow(''),
|
|
1782
|
+
}),
|
|
1783
|
+
)
|
|
1784
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1785
|
+
.unknown(true);
|
|
1805
1786
|
|
|
1806
1787
|
this.propertyTypes = {
|
|
1807
1788
|
...this.propertyTypes,
|
|
1808
|
-
dipprVersion:
|
|
1809
|
-
casId:
|
|
1810
|
-
dataItem:
|
|
1811
|
-
name:
|
|
1789
|
+
dipprVersion: 'number',
|
|
1790
|
+
casId: 'number',
|
|
1791
|
+
dataItem: 'MaterialComponentDataItem[]',
|
|
1792
|
+
name: 'string',
|
|
1812
1793
|
};
|
|
1813
1794
|
}
|
|
1814
1795
|
|
|
1815
1796
|
makeEntity(data: MaterialComponentDataSchemaData): Entities.MaterialComponentData {
|
|
1816
|
-
return new Entities.MaterialComponentData(
|
|
1817
|
-
data);
|
|
1797
|
+
return new Entities.MaterialComponentData(data);
|
|
1818
1798
|
}
|
|
1819
1799
|
}
|
|
1820
1800
|
|
|
@@ -1844,59 +1824,64 @@ export interface MixtureConstantPropertiesResultSchemaData extends SchemaBaseDat
|
|
|
1844
1824
|
* ================================================================================
|
|
1845
1825
|
*/
|
|
1846
1826
|
export class MixtureConstantPropertiesResultSchema extends SchemaBase<MixtureConstantPropertiesResultSchemaData> {
|
|
1847
|
-
readonly typeName =
|
|
1827
|
+
readonly typeName = 'MixtureConstantPropertiesResult';
|
|
1848
1828
|
constructor() {
|
|
1849
1829
|
super();
|
|
1850
|
-
this.schema = this.schema
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1830
|
+
this.schema = this.schema
|
|
1831
|
+
.concat(
|
|
1832
|
+
Joi.object({
|
|
1833
|
+
lowerFlammabilityLimit: Joi.number().unsafe(),
|
|
1834
|
+
upperFlammabilityLimit: Joi.number().unsafe(),
|
|
1835
|
+
criticalPressure: Joi.number().unsafe(),
|
|
1836
|
+
criticalTemperature: Joi.number().unsafe(),
|
|
1837
|
+
flashPoint: Joi.number().unsafe(),
|
|
1838
|
+
heatCombustion: Joi.number().unsafe(),
|
|
1839
|
+
maximumBurnRate: Joi.number().unsafe(),
|
|
1840
|
+
maximumSEP: Joi.number().unsafe(),
|
|
1841
|
+
molecularWeight: Joi.number().unsafe(),
|
|
1842
|
+
bubblePoint: Joi.number().unsafe(),
|
|
1843
|
+
poolFireBurnRateLength: Joi.number().unsafe(),
|
|
1844
|
+
dewPoint: Joi.number().unsafe(),
|
|
1845
|
+
emissivePowerLengthScale: Joi.number().unsafe(),
|
|
1846
|
+
laminarBurningVelocity: Joi.number().unsafe(),
|
|
1847
|
+
flammableToxicFlag: Joi.string().valid(
|
|
1848
|
+
...Object.values(Enums.FlammableToxic)
|
|
1849
|
+
.filter((v) => typeof v === 'number')
|
|
1850
|
+
.sort(),
|
|
1851
|
+
),
|
|
1852
|
+
luminousSmokyFlame: Joi.string().valid(
|
|
1853
|
+
...Object.values(Enums.LuminousSmokyFlame)
|
|
1854
|
+
.filter((v) => typeof v === 'number')
|
|
1855
|
+
.sort(),
|
|
1856
|
+
),
|
|
1857
|
+
}),
|
|
1858
|
+
)
|
|
1859
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1860
|
+
.unknown(true);
|
|
1875
1861
|
|
|
1876
1862
|
this.propertyTypes = {
|
|
1877
1863
|
...this.propertyTypes,
|
|
1878
|
-
lowerFlammabilityLimit:
|
|
1879
|
-
upperFlammabilityLimit:
|
|
1880
|
-
criticalPressure:
|
|
1881
|
-
criticalTemperature:
|
|
1882
|
-
flashPoint:
|
|
1883
|
-
heatCombustion:
|
|
1884
|
-
maximumBurnRate:
|
|
1885
|
-
maximumSEP:
|
|
1886
|
-
molecularWeight:
|
|
1887
|
-
bubblePoint:
|
|
1888
|
-
poolFireBurnRateLength:
|
|
1889
|
-
dewPoint:
|
|
1890
|
-
emissivePowerLengthScale:
|
|
1891
|
-
laminarBurningVelocity:
|
|
1892
|
-
flammableToxicFlag:
|
|
1893
|
-
luminousSmokyFlame:
|
|
1864
|
+
lowerFlammabilityLimit: 'number',
|
|
1865
|
+
upperFlammabilityLimit: 'number',
|
|
1866
|
+
criticalPressure: 'number',
|
|
1867
|
+
criticalTemperature: 'number',
|
|
1868
|
+
flashPoint: 'number',
|
|
1869
|
+
heatCombustion: 'number',
|
|
1870
|
+
maximumBurnRate: 'number',
|
|
1871
|
+
maximumSEP: 'number',
|
|
1872
|
+
molecularWeight: 'number',
|
|
1873
|
+
bubblePoint: 'number',
|
|
1874
|
+
poolFireBurnRateLength: 'number',
|
|
1875
|
+
dewPoint: 'number',
|
|
1876
|
+
emissivePowerLengthScale: 'number',
|
|
1877
|
+
laminarBurningVelocity: 'number',
|
|
1878
|
+
flammableToxicFlag: 'Enums.FlammableToxic',
|
|
1879
|
+
luminousSmokyFlame: 'Enums.LuminousSmokyFlame',
|
|
1894
1880
|
};
|
|
1895
1881
|
}
|
|
1896
1882
|
|
|
1897
1883
|
makeEntity(data: MixtureConstantPropertiesResultSchemaData): Entities.MixtureConstantPropertiesResult {
|
|
1898
|
-
return new Entities.MixtureConstantPropertiesResult(
|
|
1899
|
-
data);
|
|
1884
|
+
return new Entities.MixtureConstantPropertiesResult(data);
|
|
1900
1885
|
}
|
|
1901
1886
|
}
|
|
1902
1887
|
|
|
@@ -1918,43 +1903,40 @@ export interface PipeSchemaData extends SchemaBaseData {
|
|
|
1918
1903
|
* ================================================================================
|
|
1919
1904
|
*/
|
|
1920
1905
|
export class PipeSchema extends SchemaBase<PipeSchemaData> {
|
|
1921
|
-
readonly typeName =
|
|
1906
|
+
readonly typeName = 'Pipe';
|
|
1922
1907
|
constructor() {
|
|
1923
1908
|
super();
|
|
1924
|
-
this.schema = this.schema
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
ignoredPropertiesRegex,
|
|
1938
|
-
|
|
1939
|
-
)
|
|
1940
|
-
.unknown(true);
|
|
1909
|
+
this.schema = this.schema
|
|
1910
|
+
.concat(
|
|
1911
|
+
Joi.object({
|
|
1912
|
+
location: new LocalPositionSchema().schema,
|
|
1913
|
+
nodes: Joi.array().items(new LocalPositionSchema().schema).allow(null),
|
|
1914
|
+
nodeCount: Joi.number().integer(),
|
|
1915
|
+
diameter: Joi.number().unsafe(),
|
|
1916
|
+
material: new MaterialSchema().schema,
|
|
1917
|
+
state: new StateSchema().schema,
|
|
1918
|
+
roughness: Joi.number().unsafe(),
|
|
1919
|
+
pumpedInflow: Joi.number().unsafe(),
|
|
1920
|
+
}),
|
|
1921
|
+
)
|
|
1922
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1923
|
+
.unknown(true);
|
|
1941
1924
|
|
|
1942
1925
|
this.propertyTypes = {
|
|
1943
1926
|
...this.propertyTypes,
|
|
1944
|
-
location:
|
|
1945
|
-
nodes:
|
|
1946
|
-
nodeCount:
|
|
1947
|
-
diameter:
|
|
1948
|
-
material:
|
|
1949
|
-
state:
|
|
1950
|
-
roughness:
|
|
1951
|
-
pumpedInflow:
|
|
1927
|
+
location: 'LocalPosition',
|
|
1928
|
+
nodes: 'LocalPosition[]',
|
|
1929
|
+
nodeCount: 'number',
|
|
1930
|
+
diameter: 'number',
|
|
1931
|
+
material: 'Material',
|
|
1932
|
+
state: 'State',
|
|
1933
|
+
roughness: 'number',
|
|
1934
|
+
pumpedInflow: 'number',
|
|
1952
1935
|
};
|
|
1953
1936
|
}
|
|
1954
1937
|
|
|
1955
1938
|
makeEntity(data: PipeSchemaData): Entities.Pipe {
|
|
1956
|
-
return new Entities.Pipe(
|
|
1957
|
-
data);
|
|
1939
|
+
return new Entities.Pipe(data);
|
|
1958
1940
|
}
|
|
1959
1941
|
}
|
|
1960
1942
|
|
|
@@ -1972,35 +1954,36 @@ export interface PipeBreachSchemaData extends SchemaBaseData {
|
|
|
1972
1954
|
* ================================================================================
|
|
1973
1955
|
*/
|
|
1974
1956
|
export class PipeBreachSchema extends SchemaBase<PipeBreachSchemaData> {
|
|
1975
|
-
readonly typeName =
|
|
1957
|
+
readonly typeName = 'PipeBreach';
|
|
1976
1958
|
constructor() {
|
|
1977
1959
|
super();
|
|
1978
|
-
this.schema = this.schema
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1960
|
+
this.schema = this.schema
|
|
1961
|
+
.concat(
|
|
1962
|
+
Joi.object({
|
|
1963
|
+
distanceDownstream: Joi.number().unsafe(),
|
|
1964
|
+
releaseAngle: Joi.number().unsafe(),
|
|
1965
|
+
timeVaryingOption: Joi.string().valid(
|
|
1966
|
+
...Object.values(Enums.TimeVaryingOption)
|
|
1967
|
+
.filter((v) => typeof v === 'number')
|
|
1968
|
+
.sort(),
|
|
1969
|
+
),
|
|
1970
|
+
relativeAperture: Joi.number().unsafe(),
|
|
1971
|
+
}),
|
|
1972
|
+
)
|
|
1973
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
1974
|
+
.unknown(true);
|
|
1991
1975
|
|
|
1992
1976
|
this.propertyTypes = {
|
|
1993
1977
|
...this.propertyTypes,
|
|
1994
|
-
distanceDownstream:
|
|
1995
|
-
releaseAngle:
|
|
1996
|
-
timeVaryingOption:
|
|
1997
|
-
relativeAperture:
|
|
1978
|
+
distanceDownstream: 'number',
|
|
1979
|
+
releaseAngle: 'number',
|
|
1980
|
+
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
1981
|
+
relativeAperture: 'number',
|
|
1998
1982
|
};
|
|
1999
1983
|
}
|
|
2000
1984
|
|
|
2001
1985
|
makeEntity(data: PipeBreachSchemaData): Entities.PipeBreach {
|
|
2002
|
-
return new Entities.PipeBreach(
|
|
2003
|
-
data);
|
|
1986
|
+
return new Entities.PipeBreach(data);
|
|
2004
1987
|
}
|
|
2005
1988
|
}
|
|
2006
1989
|
|
|
@@ -2010,6 +1993,7 @@ export interface PoolFireFlameResultSchemaData extends SchemaBaseData {
|
|
|
2010
1993
|
flameLength: number;
|
|
2011
1994
|
flameDiameter: number;
|
|
2012
1995
|
poolZoneSEP: number[];
|
|
1996
|
+
poolCentre: number;
|
|
2013
1997
|
fireType: Enums.FireType;
|
|
2014
1998
|
liftOffHeight: number;
|
|
2015
1999
|
liftOffTime: number;
|
|
@@ -2022,43 +2006,46 @@ export interface PoolFireFlameResultSchemaData extends SchemaBaseData {
|
|
|
2022
2006
|
* ================================================================================
|
|
2023
2007
|
*/
|
|
2024
2008
|
export class PoolFireFlameResultSchema extends SchemaBase<PoolFireFlameResultSchemaData> {
|
|
2025
|
-
readonly typeName =
|
|
2009
|
+
readonly typeName = 'PoolFireFlameResult';
|
|
2026
2010
|
constructor() {
|
|
2027
2011
|
super();
|
|
2028
|
-
this.schema = this.schema
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2012
|
+
this.schema = this.schema
|
|
2013
|
+
.concat(
|
|
2014
|
+
Joi.object({
|
|
2015
|
+
time: Joi.number().unsafe(),
|
|
2016
|
+
surfaceEmissivePower: Joi.number().unsafe(),
|
|
2017
|
+
flameLength: Joi.number().unsafe(),
|
|
2018
|
+
flameDiameter: Joi.number().unsafe(),
|
|
2019
|
+
poolZoneSEP: Joi.array().items(Joi.number().unsafe()).allow(null),
|
|
2020
|
+
poolCentre: Joi.number().unsafe(),
|
|
2021
|
+
fireType: Joi.string().valid(
|
|
2022
|
+
...Object.values(Enums.FireType)
|
|
2023
|
+
.filter((v) => typeof v === 'number')
|
|
2024
|
+
.sort(),
|
|
2025
|
+
),
|
|
2026
|
+
liftOffHeight: Joi.number().unsafe(),
|
|
2027
|
+
liftOffTime: Joi.number().unsafe(),
|
|
2028
|
+
}),
|
|
2029
|
+
)
|
|
2030
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2031
|
+
.unknown(true);
|
|
2045
2032
|
|
|
2046
2033
|
this.propertyTypes = {
|
|
2047
2034
|
...this.propertyTypes,
|
|
2048
|
-
time:
|
|
2049
|
-
surfaceEmissivePower:
|
|
2050
|
-
flameLength:
|
|
2051
|
-
flameDiameter:
|
|
2052
|
-
poolZoneSEP:
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2035
|
+
time: 'number',
|
|
2036
|
+
surfaceEmissivePower: 'number',
|
|
2037
|
+
flameLength: 'number',
|
|
2038
|
+
flameDiameter: 'number',
|
|
2039
|
+
poolZoneSEP: 'number[]',
|
|
2040
|
+
poolCentre: 'number',
|
|
2041
|
+
fireType: 'Enums.FireType',
|
|
2042
|
+
liftOffHeight: 'number',
|
|
2043
|
+
liftOffTime: 'number',
|
|
2056
2044
|
};
|
|
2057
2045
|
}
|
|
2058
2046
|
|
|
2059
2047
|
makeEntity(data: PoolFireFlameResultSchemaData): Entities.PoolFireFlameResult {
|
|
2060
|
-
return new Entities.PoolFireFlameResult(
|
|
2061
|
-
data);
|
|
2048
|
+
return new Entities.PoolFireFlameResult(data);
|
|
2062
2049
|
}
|
|
2063
2050
|
}
|
|
2064
2051
|
|
|
@@ -2085,53 +2072,50 @@ export interface PoolRecordSchemaData extends SchemaBaseData {
|
|
|
2085
2072
|
* ================================================================================
|
|
2086
2073
|
*/
|
|
2087
2074
|
export class PoolRecordSchema extends SchemaBase<PoolRecordSchemaData> {
|
|
2088
|
-
readonly typeName =
|
|
2075
|
+
readonly typeName = 'PoolRecord';
|
|
2089
2076
|
constructor() {
|
|
2090
2077
|
super();
|
|
2091
|
-
this.schema = this.schema
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
ignoredPropertiesRegex,
|
|
2110
|
-
|
|
2111
|
-
)
|
|
2112
|
-
.unknown(true);
|
|
2078
|
+
this.schema = this.schema
|
|
2079
|
+
.concat(
|
|
2080
|
+
Joi.object({
|
|
2081
|
+
time: Joi.number().unsafe(),
|
|
2082
|
+
massSpilt: Joi.number().unsafe(),
|
|
2083
|
+
massVaporised: Joi.number().unsafe(),
|
|
2084
|
+
massDissolved: Joi.number().unsafe(),
|
|
2085
|
+
massRemaining: Joi.number().unsafe(),
|
|
2086
|
+
vapourisationRate: Joi.number().unsafe(),
|
|
2087
|
+
solutionRate: Joi.number().unsafe(),
|
|
2088
|
+
effectiveRadius: Joi.number().unsafe(),
|
|
2089
|
+
depth: Joi.number().unsafe(),
|
|
2090
|
+
temperature: Joi.number().unsafe(),
|
|
2091
|
+
spillRate: Joi.number().unsafe(),
|
|
2092
|
+
actualRadius: Joi.number().unsafe(),
|
|
2093
|
+
poolCentre: Joi.number().unsafe(),
|
|
2094
|
+
}),
|
|
2095
|
+
)
|
|
2096
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2097
|
+
.unknown(true);
|
|
2113
2098
|
|
|
2114
2099
|
this.propertyTypes = {
|
|
2115
2100
|
...this.propertyTypes,
|
|
2116
|
-
time:
|
|
2117
|
-
massSpilt:
|
|
2118
|
-
massVaporised:
|
|
2119
|
-
massDissolved:
|
|
2120
|
-
massRemaining:
|
|
2121
|
-
vapourisationRate:
|
|
2122
|
-
solutionRate:
|
|
2123
|
-
effectiveRadius:
|
|
2124
|
-
depth:
|
|
2125
|
-
temperature:
|
|
2126
|
-
spillRate:
|
|
2127
|
-
actualRadius:
|
|
2128
|
-
poolCentre:
|
|
2101
|
+
time: 'number',
|
|
2102
|
+
massSpilt: 'number',
|
|
2103
|
+
massVaporised: 'number',
|
|
2104
|
+
massDissolved: 'number',
|
|
2105
|
+
massRemaining: 'number',
|
|
2106
|
+
vapourisationRate: 'number',
|
|
2107
|
+
solutionRate: 'number',
|
|
2108
|
+
effectiveRadius: 'number',
|
|
2109
|
+
depth: 'number',
|
|
2110
|
+
temperature: 'number',
|
|
2111
|
+
spillRate: 'number',
|
|
2112
|
+
actualRadius: 'number',
|
|
2113
|
+
poolCentre: 'number',
|
|
2129
2114
|
};
|
|
2130
2115
|
}
|
|
2131
2116
|
|
|
2132
2117
|
makeEntity(data: PoolRecordSchemaData): Entities.PoolRecord {
|
|
2133
|
-
return new Entities.PoolRecord(
|
|
2134
|
-
data);
|
|
2118
|
+
return new Entities.PoolRecord(data);
|
|
2135
2119
|
}
|
|
2136
2120
|
}
|
|
2137
2121
|
|
|
@@ -2148,33 +2132,30 @@ export interface PoolVapourisationParametersSchemaData extends SchemaBaseData {
|
|
|
2148
2132
|
* ================================================================================
|
|
2149
2133
|
*/
|
|
2150
2134
|
export class PoolVapourisationParametersSchema extends SchemaBase<PoolVapourisationParametersSchemaData> {
|
|
2151
|
-
readonly typeName =
|
|
2135
|
+
readonly typeName = 'PoolVapourisationParameters';
|
|
2152
2136
|
constructor() {
|
|
2153
2137
|
super();
|
|
2154
|
-
this.schema = this.schema
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
ignoredPropertiesRegex,
|
|
2163
|
-
|
|
2164
|
-
)
|
|
2165
|
-
.unknown(true);
|
|
2138
|
+
this.schema = this.schema
|
|
2139
|
+
.concat(
|
|
2140
|
+
Joi.object({
|
|
2141
|
+
toxicsCutoffRate: Joi.number().unsafe(),
|
|
2142
|
+
flammableCutoffRate: Joi.number().unsafe(),
|
|
2143
|
+
relativeTolerance: Joi.number().unsafe(),
|
|
2144
|
+
}),
|
|
2145
|
+
)
|
|
2146
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2147
|
+
.unknown(true);
|
|
2166
2148
|
|
|
2167
2149
|
this.propertyTypes = {
|
|
2168
2150
|
...this.propertyTypes,
|
|
2169
|
-
toxicsCutoffRate:
|
|
2170
|
-
flammableCutoffRate:
|
|
2171
|
-
relativeTolerance:
|
|
2151
|
+
toxicsCutoffRate: 'number',
|
|
2152
|
+
flammableCutoffRate: 'number',
|
|
2153
|
+
relativeTolerance: 'number',
|
|
2172
2154
|
};
|
|
2173
2155
|
}
|
|
2174
2156
|
|
|
2175
2157
|
makeEntity(data: PoolVapourisationParametersSchemaData): Entities.PoolVapourisationParameters {
|
|
2176
|
-
return new Entities.PoolVapourisationParameters(
|
|
2177
|
-
data);
|
|
2158
|
+
return new Entities.PoolVapourisationParameters(data);
|
|
2178
2159
|
}
|
|
2179
2160
|
}
|
|
2180
2161
|
|
|
@@ -2191,33 +2172,34 @@ export interface RadiationRecordSchemaData extends SchemaBaseData {
|
|
|
2191
2172
|
* ================================================================================
|
|
2192
2173
|
*/
|
|
2193
2174
|
export class RadiationRecordSchema extends SchemaBase<RadiationRecordSchemaData> {
|
|
2194
|
-
readonly typeName =
|
|
2175
|
+
readonly typeName = 'RadiationRecord';
|
|
2195
2176
|
constructor() {
|
|
2196
2177
|
super();
|
|
2197
|
-
this.schema = this.schema
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2178
|
+
this.schema = this.schema
|
|
2179
|
+
.concat(
|
|
2180
|
+
Joi.object({
|
|
2181
|
+
position: new LocalPositionSchema().schema,
|
|
2182
|
+
radiationResult: Joi.number().unsafe(),
|
|
2183
|
+
radiationType: Joi.string().valid(
|
|
2184
|
+
...Object.values(Enums.RadiationType)
|
|
2185
|
+
.filter((v) => typeof v === 'number')
|
|
2186
|
+
.sort(),
|
|
2187
|
+
),
|
|
2188
|
+
}),
|
|
2189
|
+
)
|
|
2190
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2191
|
+
.unknown(true);
|
|
2209
2192
|
|
|
2210
2193
|
this.propertyTypes = {
|
|
2211
2194
|
...this.propertyTypes,
|
|
2212
|
-
position:
|
|
2213
|
-
radiationResult:
|
|
2214
|
-
radiationType:
|
|
2195
|
+
position: 'LocalPosition',
|
|
2196
|
+
radiationResult: 'number',
|
|
2197
|
+
radiationType: 'Enums.RadiationType',
|
|
2215
2198
|
};
|
|
2216
2199
|
}
|
|
2217
2200
|
|
|
2218
2201
|
makeEntity(data: RadiationRecordSchemaData): Entities.RadiationRecord {
|
|
2219
|
-
return new Entities.RadiationRecord(
|
|
2220
|
-
data);
|
|
2202
|
+
return new Entities.RadiationRecord(data);
|
|
2221
2203
|
}
|
|
2222
2204
|
}
|
|
2223
2205
|
|
|
@@ -2238,41 +2220,42 @@ export interface ReliefValveSchemaData extends SchemaBaseData {
|
|
|
2238
2220
|
* ================================================================================
|
|
2239
2221
|
*/
|
|
2240
2222
|
export class ReliefValveSchema extends SchemaBase<ReliefValveSchemaData> {
|
|
2241
|
-
readonly typeName =
|
|
2223
|
+
readonly typeName = 'ReliefValve';
|
|
2242
2224
|
constructor() {
|
|
2243
2225
|
super();
|
|
2244
|
-
this.schema = this.schema
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2226
|
+
this.schema = this.schema
|
|
2227
|
+
.concat(
|
|
2228
|
+
Joi.object({
|
|
2229
|
+
reliefValveConstrictionDiameter: Joi.number().unsafe(),
|
|
2230
|
+
pipeDiameter: Joi.number().unsafe(),
|
|
2231
|
+
pipeLength: Joi.number().unsafe(),
|
|
2232
|
+
releaseAngle: Joi.number().unsafe(),
|
|
2233
|
+
timeVaryingOption: Joi.string().valid(
|
|
2234
|
+
...Object.values(Enums.TimeVaryingOption)
|
|
2235
|
+
.filter((v) => typeof v === 'number')
|
|
2236
|
+
.sort(),
|
|
2237
|
+
),
|
|
2238
|
+
pipeRoughness: Joi.number().unsafe(),
|
|
2239
|
+
pipeHeightFraction: Joi.number().unsafe(),
|
|
2240
|
+
}),
|
|
2241
|
+
)
|
|
2242
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2243
|
+
.unknown(true);
|
|
2260
2244
|
|
|
2261
2245
|
this.propertyTypes = {
|
|
2262
2246
|
...this.propertyTypes,
|
|
2263
|
-
reliefValveConstrictionDiameter:
|
|
2264
|
-
pipeDiameter:
|
|
2265
|
-
pipeLength:
|
|
2266
|
-
releaseAngle:
|
|
2267
|
-
timeVaryingOption:
|
|
2268
|
-
pipeRoughness:
|
|
2269
|
-
pipeHeightFraction:
|
|
2247
|
+
reliefValveConstrictionDiameter: 'number',
|
|
2248
|
+
pipeDiameter: 'number',
|
|
2249
|
+
pipeLength: 'number',
|
|
2250
|
+
releaseAngle: 'number',
|
|
2251
|
+
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
2252
|
+
pipeRoughness: 'number',
|
|
2253
|
+
pipeHeightFraction: 'number',
|
|
2270
2254
|
};
|
|
2271
2255
|
}
|
|
2272
2256
|
|
|
2273
2257
|
makeEntity(data: ReliefValveSchemaData): Entities.ReliefValve {
|
|
2274
|
-
return new Entities.ReliefValve(
|
|
2275
|
-
data);
|
|
2258
|
+
return new Entities.ReliefValve(data);
|
|
2276
2259
|
}
|
|
2277
2260
|
}
|
|
2278
2261
|
|
|
@@ -2292,39 +2275,36 @@ export interface SafetySystemSchemaData extends SchemaBaseData {
|
|
|
2292
2275
|
* ================================================================================
|
|
2293
2276
|
*/
|
|
2294
2277
|
export class SafetySystemSchema extends SchemaBase<SafetySystemSchemaData> {
|
|
2295
|
-
readonly typeName =
|
|
2278
|
+
readonly typeName = 'SafetySystem';
|
|
2296
2279
|
constructor() {
|
|
2297
2280
|
super();
|
|
2298
|
-
this.schema = this.schema
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
ignoredPropertiesRegex,
|
|
2310
|
-
|
|
2311
|
-
)
|
|
2312
|
-
.unknown(true);
|
|
2281
|
+
this.schema = this.schema
|
|
2282
|
+
.concat(
|
|
2283
|
+
Joi.object({
|
|
2284
|
+
isolationTime: Joi.number().unsafe(),
|
|
2285
|
+
isolationSuccess: Joi.boolean(),
|
|
2286
|
+
massAddedIsolationFailure: Joi.number().unsafe(),
|
|
2287
|
+
blowdownTime: Joi.number().unsafe(),
|
|
2288
|
+
blowdownSuccess: Joi.boolean(),
|
|
2289
|
+
blowdownValveSize: Joi.number().unsafe(),
|
|
2290
|
+
}),
|
|
2291
|
+
)
|
|
2292
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2293
|
+
.unknown(true);
|
|
2313
2294
|
|
|
2314
2295
|
this.propertyTypes = {
|
|
2315
2296
|
...this.propertyTypes,
|
|
2316
|
-
isolationTime:
|
|
2317
|
-
isolationSuccess:
|
|
2318
|
-
massAddedIsolationFailure:
|
|
2319
|
-
blowdownTime:
|
|
2320
|
-
blowdownSuccess:
|
|
2321
|
-
blowdownValveSize:
|
|
2297
|
+
isolationTime: 'number',
|
|
2298
|
+
isolationSuccess: 'boolean',
|
|
2299
|
+
massAddedIsolationFailure: 'number',
|
|
2300
|
+
blowdownTime: 'number',
|
|
2301
|
+
blowdownSuccess: 'boolean',
|
|
2302
|
+
blowdownValveSize: 'number',
|
|
2322
2303
|
};
|
|
2323
2304
|
}
|
|
2324
2305
|
|
|
2325
2306
|
makeEntity(data: SafetySystemSchemaData): Entities.SafetySystem {
|
|
2326
|
-
return new Entities.SafetySystem(
|
|
2327
|
-
data);
|
|
2307
|
+
return new Entities.SafetySystem(data);
|
|
2328
2308
|
}
|
|
2329
2309
|
}
|
|
2330
2310
|
|
|
@@ -2345,41 +2325,42 @@ export interface ScalarUdmOutputsSchemaData extends SchemaBaseData {
|
|
|
2345
2325
|
* ================================================================================
|
|
2346
2326
|
*/
|
|
2347
2327
|
export class ScalarUdmOutputsSchema extends SchemaBase<ScalarUdmOutputsSchemaData> {
|
|
2348
|
-
readonly typeName =
|
|
2328
|
+
readonly typeName = 'ScalarUdmOutputs';
|
|
2349
2329
|
constructor() {
|
|
2350
2330
|
super();
|
|
2351
|
-
this.schema = this.schema
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2331
|
+
this.schema = this.schema
|
|
2332
|
+
.concat(
|
|
2333
|
+
Joi.object({
|
|
2334
|
+
observerCount: Joi.number().integer(),
|
|
2335
|
+
recordCount: Joi.number().integer(),
|
|
2336
|
+
minimumConcentration: Joi.number().unsafe(),
|
|
2337
|
+
windPower: Joi.number().unsafe(),
|
|
2338
|
+
frictionVelocity: Joi.number().unsafe(),
|
|
2339
|
+
dispersionReleaseDuration: Joi.number().unsafe(),
|
|
2340
|
+
cloudType: Joi.string().valid(
|
|
2341
|
+
...Object.values(Enums.DynamicType)
|
|
2342
|
+
.filter((v) => typeof v === 'number')
|
|
2343
|
+
.sort(),
|
|
2344
|
+
),
|
|
2345
|
+
}),
|
|
2346
|
+
)
|
|
2347
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2348
|
+
.unknown(true);
|
|
2367
2349
|
|
|
2368
2350
|
this.propertyTypes = {
|
|
2369
2351
|
...this.propertyTypes,
|
|
2370
|
-
observerCount:
|
|
2371
|
-
recordCount:
|
|
2372
|
-
minimumConcentration:
|
|
2373
|
-
windPower:
|
|
2374
|
-
frictionVelocity:
|
|
2375
|
-
dispersionReleaseDuration:
|
|
2376
|
-
cloudType:
|
|
2352
|
+
observerCount: 'number',
|
|
2353
|
+
recordCount: 'number',
|
|
2354
|
+
minimumConcentration: 'number',
|
|
2355
|
+
windPower: 'number',
|
|
2356
|
+
frictionVelocity: 'number',
|
|
2357
|
+
dispersionReleaseDuration: 'number',
|
|
2358
|
+
cloudType: 'Enums.DynamicType',
|
|
2377
2359
|
};
|
|
2378
2360
|
}
|
|
2379
2361
|
|
|
2380
2362
|
makeEntity(data: ScalarUdmOutputsSchemaData): Entities.ScalarUdmOutputs {
|
|
2381
|
-
return new Entities.ScalarUdmOutputs(
|
|
2382
|
-
data);
|
|
2363
|
+
return new Entities.ScalarUdmOutputs(data);
|
|
2383
2364
|
}
|
|
2384
2365
|
}
|
|
2385
2366
|
|
|
@@ -2399,39 +2380,40 @@ export interface ShortPipeRuptureSchemaData extends SchemaBaseData {
|
|
|
2399
2380
|
* ================================================================================
|
|
2400
2381
|
*/
|
|
2401
2382
|
export class ShortPipeRuptureSchema extends SchemaBase<ShortPipeRuptureSchemaData> {
|
|
2402
|
-
readonly typeName =
|
|
2383
|
+
readonly typeName = 'ShortPipeRupture';
|
|
2403
2384
|
constructor() {
|
|
2404
2385
|
super();
|
|
2405
|
-
this.schema = this.schema
|
|
2406
|
-
|
|
2407
|
-
|
|
2408
|
-
|
|
2409
|
-
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2386
|
+
this.schema = this.schema
|
|
2387
|
+
.concat(
|
|
2388
|
+
Joi.object({
|
|
2389
|
+
pipeLength: Joi.number().unsafe(),
|
|
2390
|
+
pipeDiameter: Joi.number().unsafe(),
|
|
2391
|
+
releaseAngle: Joi.number().unsafe(),
|
|
2392
|
+
timeVaryingOption: Joi.string().valid(
|
|
2393
|
+
...Object.values(Enums.TimeVaryingOption)
|
|
2394
|
+
.filter((v) => typeof v === 'number')
|
|
2395
|
+
.sort(),
|
|
2396
|
+
),
|
|
2397
|
+
pipeRoughness: Joi.number().unsafe(),
|
|
2398
|
+
pipeHeightFraction: Joi.number().unsafe(),
|
|
2399
|
+
}),
|
|
2400
|
+
)
|
|
2401
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2402
|
+
.unknown(true);
|
|
2420
2403
|
|
|
2421
2404
|
this.propertyTypes = {
|
|
2422
2405
|
...this.propertyTypes,
|
|
2423
|
-
pipeLength:
|
|
2424
|
-
pipeDiameter:
|
|
2425
|
-
releaseAngle:
|
|
2426
|
-
timeVaryingOption:
|
|
2427
|
-
pipeRoughness:
|
|
2428
|
-
pipeHeightFraction:
|
|
2406
|
+
pipeLength: 'number',
|
|
2407
|
+
pipeDiameter: 'number',
|
|
2408
|
+
releaseAngle: 'number',
|
|
2409
|
+
timeVaryingOption: 'Enums.TimeVaryingOption',
|
|
2410
|
+
pipeRoughness: 'number',
|
|
2411
|
+
pipeHeightFraction: 'number',
|
|
2429
2412
|
};
|
|
2430
2413
|
}
|
|
2431
2414
|
|
|
2432
2415
|
makeEntity(data: ShortPipeRuptureSchemaData): Entities.ShortPipeRupture {
|
|
2433
|
-
return new Entities.ShortPipeRupture(
|
|
2434
|
-
data);
|
|
2416
|
+
return new Entities.ShortPipeRupture(data);
|
|
2435
2417
|
}
|
|
2436
2418
|
}
|
|
2437
2419
|
|
|
@@ -2447,31 +2429,28 @@ export interface StructureSchemaData extends SchemaBaseData {
|
|
|
2447
2429
|
* ================================================================================
|
|
2448
2430
|
*/
|
|
2449
2431
|
export class StructureSchema extends SchemaBase<StructureSchemaData> {
|
|
2450
|
-
readonly typeName =
|
|
2432
|
+
readonly typeName = 'Structure';
|
|
2451
2433
|
constructor() {
|
|
2452
2434
|
super();
|
|
2453
|
-
this.schema = this.schema
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
ignoredPropertiesRegex,
|
|
2461
|
-
|
|
2462
|
-
)
|
|
2463
|
-
.unknown(true);
|
|
2435
|
+
this.schema = this.schema
|
|
2436
|
+
.concat(
|
|
2437
|
+
Joi.object({
|
|
2438
|
+
explosionConfinedVolume: new ExplosionConfinedVolumeSchema().schema,
|
|
2439
|
+
location: new LocalPositionSchema().schema,
|
|
2440
|
+
}),
|
|
2441
|
+
)
|
|
2442
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2443
|
+
.unknown(true);
|
|
2464
2444
|
|
|
2465
2445
|
this.propertyTypes = {
|
|
2466
2446
|
...this.propertyTypes,
|
|
2467
|
-
explosionConfinedVolume:
|
|
2468
|
-
location:
|
|
2447
|
+
explosionConfinedVolume: 'ExplosionConfinedVolume',
|
|
2448
|
+
location: 'LocalPosition',
|
|
2469
2449
|
};
|
|
2470
2450
|
}
|
|
2471
2451
|
|
|
2472
2452
|
makeEntity(data: StructureSchemaData): Entities.Structure {
|
|
2473
|
-
return new Entities.Structure(
|
|
2474
|
-
data);
|
|
2453
|
+
return new Entities.Structure(data);
|
|
2475
2454
|
}
|
|
2476
2455
|
}
|
|
2477
2456
|
|
|
@@ -2489,35 +2468,40 @@ export interface SubstrateSchemaData extends SchemaBaseData {
|
|
|
2489
2468
|
* ================================================================================
|
|
2490
2469
|
*/
|
|
2491
2470
|
export class SubstrateSchema extends SchemaBase<SubstrateSchemaData> {
|
|
2492
|
-
readonly typeName =
|
|
2471
|
+
readonly typeName = 'Substrate';
|
|
2493
2472
|
constructor() {
|
|
2494
2473
|
super();
|
|
2495
|
-
this.schema = this.schema
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2474
|
+
this.schema = this.schema
|
|
2475
|
+
.concat(
|
|
2476
|
+
Joi.object({
|
|
2477
|
+
bund: new BundSchema().schema,
|
|
2478
|
+
surfaceRoughness: Joi.number().unsafe(),
|
|
2479
|
+
surfaceType: Joi.string().valid(
|
|
2480
|
+
...Object.values(Enums.SurfaceType)
|
|
2481
|
+
.filter((v) => typeof v === 'number')
|
|
2482
|
+
.sort(),
|
|
2483
|
+
),
|
|
2484
|
+
poolSurfaceType: Joi.string().valid(
|
|
2485
|
+
...Object.values(Enums.PoolSurfaceType)
|
|
2486
|
+
.filter((v) => typeof v === 'number')
|
|
2487
|
+
.sort(),
|
|
2488
|
+
),
|
|
2489
|
+
}),
|
|
2490
|
+
)
|
|
2491
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2492
|
+
.unknown(true);
|
|
2508
2493
|
|
|
2509
2494
|
this.propertyTypes = {
|
|
2510
2495
|
...this.propertyTypes,
|
|
2511
|
-
bund:
|
|
2512
|
-
surfaceRoughness:
|
|
2513
|
-
surfaceType:
|
|
2514
|
-
poolSurfaceType:
|
|
2496
|
+
bund: 'Bund',
|
|
2497
|
+
surfaceRoughness: 'number',
|
|
2498
|
+
surfaceType: 'Enums.SurfaceType',
|
|
2499
|
+
poolSurfaceType: 'Enums.PoolSurfaceType',
|
|
2515
2500
|
};
|
|
2516
2501
|
}
|
|
2517
2502
|
|
|
2518
2503
|
makeEntity(data: SubstrateSchemaData): Entities.Substrate {
|
|
2519
|
-
return new Entities.Substrate(
|
|
2520
|
-
data);
|
|
2504
|
+
return new Entities.Substrate(data);
|
|
2521
2505
|
}
|
|
2522
2506
|
}
|
|
2523
2507
|
|
|
@@ -2534,33 +2518,34 @@ export interface ToxicRecordSchemaData extends SchemaBaseData {
|
|
|
2534
2518
|
* ================================================================================
|
|
2535
2519
|
*/
|
|
2536
2520
|
export class ToxicRecordSchema extends SchemaBase<ToxicRecordSchemaData> {
|
|
2537
|
-
readonly typeName =
|
|
2521
|
+
readonly typeName = 'ToxicRecord';
|
|
2538
2522
|
constructor() {
|
|
2539
2523
|
super();
|
|
2540
|
-
this.schema = this.schema
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2524
|
+
this.schema = this.schema
|
|
2525
|
+
.concat(
|
|
2526
|
+
Joi.object({
|
|
2527
|
+
position: new LocalPositionSchema().schema,
|
|
2528
|
+
toxicResult: Joi.number().unsafe(),
|
|
2529
|
+
toxicResultType: Joi.string().valid(
|
|
2530
|
+
...Object.values(Enums.ToxicResultType)
|
|
2531
|
+
.filter((v) => typeof v === 'number')
|
|
2532
|
+
.sort(),
|
|
2533
|
+
),
|
|
2534
|
+
}),
|
|
2535
|
+
)
|
|
2536
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2537
|
+
.unknown(true);
|
|
2552
2538
|
|
|
2553
2539
|
this.propertyTypes = {
|
|
2554
2540
|
...this.propertyTypes,
|
|
2555
|
-
position:
|
|
2556
|
-
toxicResult:
|
|
2557
|
-
toxicResultType:
|
|
2541
|
+
position: 'LocalPosition',
|
|
2542
|
+
toxicResult: 'number',
|
|
2543
|
+
toxicResultType: 'Enums.ToxicResultType',
|
|
2558
2544
|
};
|
|
2559
2545
|
}
|
|
2560
2546
|
|
|
2561
2547
|
makeEntity(data: ToxicRecordSchemaData): Entities.ToxicRecord {
|
|
2562
|
-
return new Entities.ToxicRecord(
|
|
2563
|
-
data);
|
|
2548
|
+
return new Entities.ToxicRecord(data);
|
|
2564
2549
|
}
|
|
2565
2550
|
}
|
|
2566
2551
|
|
|
@@ -2585,49 +2570,54 @@ export interface VesselSchemaData extends SchemaBaseData {
|
|
|
2585
2570
|
* ================================================================================
|
|
2586
2571
|
*/
|
|
2587
2572
|
export class VesselSchema extends SchemaBase<VesselSchemaData> {
|
|
2588
|
-
readonly typeName =
|
|
2573
|
+
readonly typeName = 'Vessel';
|
|
2589
2574
|
constructor() {
|
|
2590
2575
|
super();
|
|
2591
|
-
this.schema = this.schema
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2576
|
+
this.schema = this.schema
|
|
2577
|
+
.concat(
|
|
2578
|
+
Joi.object({
|
|
2579
|
+
location: new LocalPositionSchema().schema,
|
|
2580
|
+
state: new StateSchema().schema,
|
|
2581
|
+
material: new MaterialSchema().schema,
|
|
2582
|
+
safetySystem: new SafetySystemSchema().schema,
|
|
2583
|
+
diameter: Joi.number().unsafe(),
|
|
2584
|
+
height: Joi.number().unsafe(),
|
|
2585
|
+
length: Joi.number().unsafe(),
|
|
2586
|
+
width: Joi.number().unsafe(),
|
|
2587
|
+
shape: Joi.string().valid(
|
|
2588
|
+
...Object.values(Enums.VesselShape)
|
|
2589
|
+
.filter((v) => typeof v === 'number')
|
|
2590
|
+
.sort(),
|
|
2591
|
+
),
|
|
2592
|
+
vesselConditions: Joi.string().valid(
|
|
2593
|
+
...Object.values(Enums.VesselConditions)
|
|
2594
|
+
.filter((v) => typeof v === 'number')
|
|
2595
|
+
.sort(),
|
|
2596
|
+
),
|
|
2597
|
+
liquidFillFractionByVolume: Joi.number().unsafe(),
|
|
2598
|
+
}),
|
|
2599
|
+
)
|
|
2600
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2601
|
+
.unknown(true);
|
|
2611
2602
|
|
|
2612
2603
|
this.propertyTypes = {
|
|
2613
2604
|
...this.propertyTypes,
|
|
2614
|
-
location:
|
|
2615
|
-
state:
|
|
2616
|
-
material:
|
|
2617
|
-
safetySystem:
|
|
2618
|
-
diameter:
|
|
2619
|
-
height:
|
|
2620
|
-
length:
|
|
2621
|
-
width:
|
|
2622
|
-
shape:
|
|
2623
|
-
vesselConditions:
|
|
2624
|
-
liquidFillFractionByVolume:
|
|
2605
|
+
location: 'LocalPosition',
|
|
2606
|
+
state: 'State',
|
|
2607
|
+
material: 'Material',
|
|
2608
|
+
safetySystem: 'SafetySystem',
|
|
2609
|
+
diameter: 'number',
|
|
2610
|
+
height: 'number',
|
|
2611
|
+
length: 'number',
|
|
2612
|
+
width: 'number',
|
|
2613
|
+
shape: 'Enums.VesselShape',
|
|
2614
|
+
vesselConditions: 'Enums.VesselConditions',
|
|
2615
|
+
liquidFillFractionByVolume: 'number',
|
|
2625
2616
|
};
|
|
2626
2617
|
}
|
|
2627
2618
|
|
|
2628
2619
|
makeEntity(data: VesselSchemaData): Entities.Vessel {
|
|
2629
|
-
return new Entities.Vessel(
|
|
2630
|
-
data);
|
|
2620
|
+
return new Entities.Vessel(data);
|
|
2631
2621
|
}
|
|
2632
2622
|
}
|
|
2633
2623
|
|
|
@@ -2647,39 +2637,40 @@ export interface VesselLeakMaxFlammableCloudResultsSchemaData extends SchemaBase
|
|
|
2647
2637
|
* ================================================================================
|
|
2648
2638
|
*/
|
|
2649
2639
|
export class VesselLeakMaxFlammableCloudResultsSchema extends SchemaBase<VesselLeakMaxFlammableCloudResultsSchemaData> {
|
|
2650
|
-
readonly typeName =
|
|
2640
|
+
readonly typeName = 'VesselLeakMaxFlammableCloudResults';
|
|
2651
2641
|
constructor() {
|
|
2652
2642
|
super();
|
|
2653
|
-
this.schema = this.schema
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2643
|
+
this.schema = this.schema
|
|
2644
|
+
.concat(
|
|
2645
|
+
Joi.object({
|
|
2646
|
+
dischargeRate: Joi.number().unsafe(),
|
|
2647
|
+
expandedTemperature: Joi.number().unsafe(),
|
|
2648
|
+
lflExtent: Joi.number().unsafe(),
|
|
2649
|
+
lflArea: Joi.number().unsafe(),
|
|
2650
|
+
lflHeight: Joi.number().unsafe(),
|
|
2651
|
+
phase: Joi.string().valid(
|
|
2652
|
+
...Object.values(Enums.Phase)
|
|
2653
|
+
.filter((v) => typeof v === 'number')
|
|
2654
|
+
.sort(),
|
|
2655
|
+
),
|
|
2656
|
+
}),
|
|
2657
|
+
)
|
|
2658
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2659
|
+
.unknown(true);
|
|
2668
2660
|
|
|
2669
2661
|
this.propertyTypes = {
|
|
2670
2662
|
...this.propertyTypes,
|
|
2671
|
-
dischargeRate:
|
|
2672
|
-
expandedTemperature:
|
|
2673
|
-
lflExtent:
|
|
2674
|
-
lflArea:
|
|
2675
|
-
lflHeight:
|
|
2676
|
-
phase:
|
|
2663
|
+
dischargeRate: 'number',
|
|
2664
|
+
expandedTemperature: 'number',
|
|
2665
|
+
lflExtent: 'number',
|
|
2666
|
+
lflArea: 'number',
|
|
2667
|
+
lflHeight: 'number',
|
|
2668
|
+
phase: 'Enums.Phase',
|
|
2677
2669
|
};
|
|
2678
2670
|
}
|
|
2679
2671
|
|
|
2680
2672
|
makeEntity(data: VesselLeakMaxFlammableCloudResultsSchemaData): Entities.VesselLeakMaxFlammableCloudResults {
|
|
2681
|
-
return new Entities.VesselLeakMaxFlammableCloudResults(
|
|
2682
|
-
data);
|
|
2673
|
+
return new Entities.VesselLeakMaxFlammableCloudResults(data);
|
|
2683
2674
|
}
|
|
2684
2675
|
}
|
|
2685
2676
|
|
|
@@ -2697,35 +2688,32 @@ export interface VesselSphereSchemaData extends SchemaBaseData {
|
|
|
2697
2688
|
* ================================================================================
|
|
2698
2689
|
*/
|
|
2699
2690
|
export class VesselSphereSchema extends SchemaBase<VesselSphereSchemaData> {
|
|
2700
|
-
readonly typeName =
|
|
2691
|
+
readonly typeName = 'VesselSphere';
|
|
2701
2692
|
constructor() {
|
|
2702
2693
|
super();
|
|
2703
|
-
this.schema = this.schema
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
ignoredPropertiesRegex,
|
|
2713
|
-
|
|
2714
|
-
)
|
|
2715
|
-
.unknown(true);
|
|
2694
|
+
this.schema = this.schema
|
|
2695
|
+
.concat(
|
|
2696
|
+
Joi.object({
|
|
2697
|
+
location: new LocalPositionSchema().schema,
|
|
2698
|
+
state: new StateSchema().schema,
|
|
2699
|
+
material: new MaterialSchema().schema,
|
|
2700
|
+
massInventory: Joi.number().unsafe(),
|
|
2701
|
+
}),
|
|
2702
|
+
)
|
|
2703
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2704
|
+
.unknown(true);
|
|
2716
2705
|
|
|
2717
2706
|
this.propertyTypes = {
|
|
2718
2707
|
...this.propertyTypes,
|
|
2719
|
-
location:
|
|
2720
|
-
state:
|
|
2721
|
-
material:
|
|
2722
|
-
massInventory:
|
|
2708
|
+
location: 'LocalPosition',
|
|
2709
|
+
state: 'State',
|
|
2710
|
+
material: 'Material',
|
|
2711
|
+
massInventory: 'number',
|
|
2723
2712
|
};
|
|
2724
2713
|
}
|
|
2725
2714
|
|
|
2726
2715
|
makeEntity(data: VesselSphereSchemaData): Entities.VesselSphere {
|
|
2727
|
-
return new Entities.VesselSphere(
|
|
2728
|
-
data);
|
|
2716
|
+
return new Entities.VesselSphere(data);
|
|
2729
2717
|
}
|
|
2730
2718
|
}
|
|
2731
2719
|
|
|
@@ -2746,40 +2734,45 @@ export interface WeatherSchemaData extends SchemaBaseData {
|
|
|
2746
2734
|
* ================================================================================
|
|
2747
2735
|
*/
|
|
2748
2736
|
export class WeatherSchema extends SchemaBase<WeatherSchemaData> {
|
|
2749
|
-
readonly typeName =
|
|
2737
|
+
readonly typeName = 'Weather';
|
|
2750
2738
|
constructor() {
|
|
2751
2739
|
super();
|
|
2752
|
-
this.schema = this.schema
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2740
|
+
this.schema = this.schema
|
|
2741
|
+
.concat(
|
|
2742
|
+
Joi.object({
|
|
2743
|
+
windSpeed: Joi.number().unsafe(),
|
|
2744
|
+
stabilityClass: Joi.string().valid(
|
|
2745
|
+
...Object.values(Enums.AtmosphericStabilityClass)
|
|
2746
|
+
.filter((v) => typeof v === 'number')
|
|
2747
|
+
.sort(),
|
|
2748
|
+
),
|
|
2749
|
+
temperature: Joi.number().unsafe(),
|
|
2750
|
+
relativeHumidity: Joi.number().unsafe(),
|
|
2751
|
+
mixingLayerHeight: Joi.number().unsafe(),
|
|
2752
|
+
solarRadiation: Joi.number().unsafe(),
|
|
2753
|
+
windProfileFlag: Joi.string().valid(
|
|
2754
|
+
...Object.values(Enums.WindProfileFlag)
|
|
2755
|
+
.filter((v) => typeof v === 'number')
|
|
2756
|
+
.sort(),
|
|
2757
|
+
),
|
|
2758
|
+
}),
|
|
2759
|
+
)
|
|
2760
|
+
.pattern(ignoredPropertiesRegex, Joi.alternatives().try(Joi.string(), Joi.number(), Joi.date(), Joi.any()))
|
|
2761
|
+
.unknown(true);
|
|
2768
2762
|
|
|
2769
2763
|
this.propertyTypes = {
|
|
2770
2764
|
...this.propertyTypes,
|
|
2771
|
-
windSpeed:
|
|
2772
|
-
stabilityClass:
|
|
2773
|
-
temperature:
|
|
2774
|
-
relativeHumidity:
|
|
2775
|
-
mixingLayerHeight:
|
|
2776
|
-
solarRadiation:
|
|
2777
|
-
windProfileFlag:
|
|
2765
|
+
windSpeed: 'number',
|
|
2766
|
+
stabilityClass: 'Enums.AtmosphericStabilityClass',
|
|
2767
|
+
temperature: 'number',
|
|
2768
|
+
relativeHumidity: 'number',
|
|
2769
|
+
mixingLayerHeight: 'number',
|
|
2770
|
+
solarRadiation: 'number',
|
|
2771
|
+
windProfileFlag: 'Enums.WindProfileFlag',
|
|
2778
2772
|
};
|
|
2779
2773
|
}
|
|
2780
2774
|
|
|
2781
2775
|
makeEntity(data: WeatherSchemaData): Entities.Weather {
|
|
2782
|
-
return new Entities.Weather(
|
|
2783
|
-
data);
|
|
2776
|
+
return new Entities.Weather(data);
|
|
2784
2777
|
}
|
|
2785
2778
|
}
|