dragonfly-schema 1.12.1-v10

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.
Files changed (50) hide show
  1. package/helpers/class-validator.ts +94 -0
  2. package/index.ts +1 -0
  3. package/models/Building.ts +98 -0
  4. package/models/BuildingEnergyPropertiesAbridged.ts +65 -0
  5. package/models/BuildingPropertiesAbridged.ts +73 -0
  6. package/models/BuildingRadiancePropertiesAbridged.ts +63 -0
  7. package/models/ContextShade.ts +83 -0
  8. package/models/ContextShadeEnergyPropertiesAbridged.ts +74 -0
  9. package/models/ContextShadePropertiesAbridged.ts +73 -0
  10. package/models/ContextShadeRadiancePropertiesAbridged.ts +63 -0
  11. package/models/DetailedSkylights.ts +73 -0
  12. package/models/DetailedWindows.ts +73 -0
  13. package/models/ExteriorApertureGridParameter.ts +74 -0
  14. package/models/ExteriorApertureType.ts +8 -0
  15. package/models/ExteriorFaceGridParameter.ts +82 -0
  16. package/models/ExteriorFaceType.ts +9 -0
  17. package/models/ExtrudedBorder.ts +63 -0
  18. package/models/GriddedSkylightArea.ts +71 -0
  19. package/models/GriddedSkylightRatio.ts +71 -0
  20. package/models/LouversByCount.ts +63 -0
  21. package/models/LouversByDistance.ts +63 -0
  22. package/models/Model.ts +125 -0
  23. package/models/ModelEnergyProperties.ts +606 -0
  24. package/models/ModelProperties.ts +73 -0
  25. package/models/ModelRadianceProperties.ts +253 -0
  26. package/models/Overhang.ts +73 -0
  27. package/models/RectangularWindows.ts +89 -0
  28. package/models/RepeatingWindowRatio.ts +94 -0
  29. package/models/RoofSpecification.ts +67 -0
  30. package/models/Room2D.ts +166 -0
  31. package/models/Room2DEnergyPropertiesAbridged.ts +123 -0
  32. package/models/Room2DPropertiesAbridged.ts +73 -0
  33. package/models/Room2DRadiancePropertiesAbridged.ts +74 -0
  34. package/models/RoomGridParameter.ts +72 -0
  35. package/models/RoomRadialGridParameter.ts +80 -0
  36. package/models/SimpleWindowArea.ts +71 -0
  37. package/models/SimpleWindowRatio.ts +71 -0
  38. package/models/SingleWindow.ts +78 -0
  39. package/models/Story.ts +111 -0
  40. package/models/StoryEnergyPropertiesAbridged.ts +65 -0
  41. package/models/StoryPropertiesAbridged.ts +73 -0
  42. package/models/StoryRadiancePropertiesAbridged.ts +63 -0
  43. package/models/_GridParameterBase.ts +71 -0
  44. package/models/_LouversBase.ts +99 -0
  45. package/models/_OpenAPIGenBaseModel.ts +38 -0
  46. package/models/_WindowParameterBase.ts +62 -0
  47. package/models/index.ts +46 -0
  48. package/package.json +28 -0
  49. package/tsconfig.json +32 -0
  50. package/vite.config.ts +14 -0
@@ -0,0 +1,62 @@
1
+ import { IsOptional, IsString, Matches, validate, ValidationError as TsValidationError } from 'class-validator';
2
+ import { Type, plainToClass, instanceToPlain } from 'class-transformer';
3
+ import { _OpenAPIGenBaseModel } from "./_OpenAPIGenBaseModel";
4
+
5
+ /** Base class for all window parameters. */
6
+ export class _WindowParameterBase extends _OpenAPIGenBaseModel {
7
+ @IsOptional()
8
+ /** Optional dictionary of user data associated with the object.All keys and values of this dictionary should be of a standard data type to ensure correct serialization of the object (eg. str, float, int, list). When a list is used, each item in the list will be assigned to the generated Honeybee apertures. */
9
+ user_data?: Object;
10
+
11
+ @IsString()
12
+ @IsOptional()
13
+ @Matches(/^_WindowParameterBase$/)
14
+ type?: string;
15
+
16
+
17
+ constructor() {
18
+ super();
19
+ this.type = "_WindowParameterBase";
20
+ }
21
+
22
+
23
+ override init(_data?: any) {
24
+ super.init(_data);
25
+ if (_data) {
26
+ const obj = plainToClass(_WindowParameterBase, _data);
27
+ this.user_data = obj.user_data;
28
+ this.type = obj.type;
29
+ }
30
+ }
31
+
32
+
33
+ static override fromJS(data: any): _WindowParameterBase {
34
+ data = typeof data === 'object' ? data : {};
35
+
36
+ let result = new _WindowParameterBase();
37
+ result.init(data);
38
+ return result;
39
+ }
40
+
41
+ override toJSON(data?: any) {
42
+ data = typeof data === 'object' ? data : {};
43
+ for (var property in this) {
44
+ if (this.hasOwnProperty(property))
45
+ data[property] = this[property];
46
+ }
47
+
48
+ data["user_data"] = this.user_data;
49
+ data["type"] = this.type;
50
+ data = super.toJSON(data);
51
+ return instanceToPlain(data);
52
+ }
53
+
54
+ async validate(): Promise<boolean> {
55
+ const errors = await validate(this);
56
+ if (errors.length > 0){
57
+ const errorMessages = errors.map((error: TsValidationError) => Object.values(error.constraints || [error]).join(', ')).join('; ');
58
+ throw new Error(`Validation failed: ${errorMessages}`);
59
+ }
60
+ return true;
61
+ }
62
+ }
@@ -0,0 +1,46 @@
1
+ // Auto-generated
2
+
3
+ export * from "./Model";
4
+ export * from "./Room2DRadiancePropertiesAbridged";
5
+ export * from "./LouversByDistance";
6
+ export * from "./_OpenAPIGenBaseModel";
7
+ export * from "./Room2D";
8
+ export * from "./RoomRadialGridParameter";
9
+ export * from "./ContextShadeEnergyPropertiesAbridged";
10
+ export * from "./ContextShadeRadiancePropertiesAbridged";
11
+ export * from "./GriddedSkylightArea";
12
+ export * from "./_WindowParameterBase";
13
+ export * from "./Overhang";
14
+ export * from "./BuildingRadiancePropertiesAbridged";
15
+ export * from "./StoryPropertiesAbridged";
16
+ export * from "./ModelRadianceProperties";
17
+ export * from "./RepeatingWindowRatio";
18
+ export * from "./ContextShade";
19
+ export * from "./StoryEnergyPropertiesAbridged";
20
+ export * from "./RectangularWindows";
21
+ export * from "./Story";
22
+ export * from "./ExteriorApertureGridParameter";
23
+ export * from "./Room2DPropertiesAbridged";
24
+ export * from "./SimpleWindowRatio";
25
+ export * from "./_LouversBase";
26
+ export * from "./BuildingPropertiesAbridged";
27
+ export * from "./ModelProperties";
28
+ export * from "./ExteriorFaceType";
29
+ export * from "./DetailedSkylights";
30
+ export * from "./ExteriorApertureType";
31
+ export * from "./RoofSpecification";
32
+ export * from "./ContextShadePropertiesAbridged";
33
+ export * from "./Building";
34
+ export * from "./_GridParameterBase";
35
+ export * from "./Room2DEnergyPropertiesAbridged";
36
+ export * from "./ExteriorFaceGridParameter";
37
+ export * from "./SingleWindow";
38
+ export * from "./ExtrudedBorder";
39
+ export * from "./SimpleWindowArea";
40
+ export * from "./GriddedSkylightRatio";
41
+ export * from "./LouversByCount";
42
+ export * from "./ModelEnergyProperties";
43
+ export * from "./DetailedWindows";
44
+ export * from "./RoomGridParameter";
45
+ export * from "./StoryRadiancePropertiesAbridged";
46
+ export * from "./BuildingEnergyPropertiesAbridged";
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "dragonfly-schema",
3
+ "license": "MIT",
4
+ "version": "1.12.1-v10",
5
+ "type": "module",
6
+ "scripts": {
7
+ "build": "tsc && vite build",
8
+ "lint": "gts lint",
9
+ "clean": "gts clean",
10
+ "compile": "tsc",
11
+ "fix": "gts fix",
12
+ "prepare": "tsc",
13
+ "pretest": "tsc"
14
+ },
15
+ "devDependencies": {
16
+ "@types/node": "20.12.7",
17
+ "gts": "^5.3.1",
18
+ "typescript": "^5.4.3",
19
+ "vite": "^5.4.1",
20
+ "vite-tsconfig-paths": "^5.0.1"
21
+ },
22
+ "dependencies": {
23
+ "class-validator": "^0.14.1",
24
+ "reflect-metadata": "^0.2.2",
25
+ "class-transformer": "^0.5.1",
26
+ "honeybee-schema": "latest"
27
+ }
28
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "useDefineForClassFields": true,
5
+ "module": "ESNext",
6
+ "lib": ["ESNext", "DOM", "DOM.Iterable"],
7
+ "skipLibCheck": true,
8
+ "esModuleInterop": true,
9
+ "allowSyntheticDefaultImports": true,
10
+ "forceConsistentCasingInFileNames": true,
11
+ "outDir": "./dist",
12
+ "incremental": true, /* Enable incremental compilation */
13
+ "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
14
+ "sourceMap": true,
15
+
16
+ /* Bundler mode */
17
+ "moduleResolution": "bundler",
18
+ "allowImportingTsExtensions": true,
19
+ "isolatedModules": true,
20
+ "moduleDetection": "force",
21
+ "noEmit": true,
22
+
23
+ /* Linting */
24
+ "strict": true,
25
+ "experimentalDecorators": true,
26
+ "emitDecoratorMetadata": true,
27
+
28
+ "noFallthroughCasesInSwitch": true
29
+ },
30
+ "include": [ "models", "helpers"],
31
+ "exclude": ["node_modules"]
32
+ }
package/vite.config.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { defineConfig, UserConfig } from 'vite';
2
+ import tsconfigPaths from 'vite-tsconfig-paths';
3
+
4
+ export default defineConfig({
5
+ plugins: [tsconfigPaths()],
6
+ build: {
7
+ lib: {
8
+ entry: './index.ts',
9
+ name: 'schema',
10
+ fileName: (format) => `index.${format}.js`
11
+ },
12
+
13
+ }
14
+ } satisfies UserConfig);