@vived/core 1.5.0 → 1.6.0

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 (86) hide show
  1. package/README.md +1 -48
  2. package/dist/cjs/AppObject/AppObjectRepo.js +7 -0
  3. package/dist/cjs/AppObject/AppObjectRepo.js.map +1 -1
  4. package/dist/cjs/DomainFactories/Entities/DomainFactoryRepo.js +5 -0
  5. package/dist/cjs/DomainFactories/Entities/DomainFactoryRepo.js.map +1 -1
  6. package/dist/cjs/ExampleFeature/Factory/ExampleFeatureFactory.js +65 -0
  7. package/dist/cjs/ExampleFeature/Factory/ExampleFeatureFactory.js.map +1 -0
  8. package/dist/cjs/ValueObjects/Vector2.js +5 -6
  9. package/dist/cjs/ValueObjects/Vector2.js.map +1 -1
  10. package/dist/cjs/index.js +0 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/esm/AppObject/AppObjectRepo.js +7 -0
  13. package/dist/esm/AppObject/AppObjectRepo.js.map +1 -1
  14. package/dist/esm/DomainFactories/Entities/DomainFactoryRepo.js +4 -0
  15. package/dist/esm/DomainFactories/Entities/DomainFactoryRepo.js.map +1 -1
  16. package/dist/esm/ExampleFeature/Factory/ExampleFeatureFactory.js +60 -0
  17. package/dist/esm/ExampleFeature/Factory/ExampleFeatureFactory.js.map +1 -0
  18. package/dist/esm/ValueObjects/Vector2.js +5 -6
  19. package/dist/esm/ValueObjects/Vector2.js.map +1 -1
  20. package/dist/esm/index.js +0 -1
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/types/AppObject/AppObjectRepo.d.ts +7 -0
  23. package/dist/types/AppObject/AppObjectRepo.d.ts.map +1 -1
  24. package/dist/types/DomainFactories/Entities/DomainFactoryRepo.d.ts +1 -0
  25. package/dist/types/DomainFactories/Entities/DomainFactoryRepo.d.ts.map +1 -1
  26. package/dist/types/ExampleFeature/Factory/ExampleFeatureFactory.d.ts +44 -0
  27. package/dist/types/ExampleFeature/Factory/ExampleFeatureFactory.d.ts.map +1 -0
  28. package/dist/types/ValueObjects/Vector2.d.ts +2 -2
  29. package/dist/types/ValueObjects/Vector2.d.ts.map +1 -1
  30. package/dist/types/index.d.ts +0 -1
  31. package/dist/types/index.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/dist/cjs/ExampleFeature/Adapters/index.js +0 -19
  34. package/dist/cjs/ExampleFeature/Adapters/index.js.map +0 -1
  35. package/dist/cjs/ExampleFeature/Controllers/index.js +0 -19
  36. package/dist/cjs/ExampleFeature/Controllers/index.js.map +0 -1
  37. package/dist/cjs/ExampleFeature/Entities/index.js +0 -20
  38. package/dist/cjs/ExampleFeature/Entities/index.js.map +0 -1
  39. package/dist/cjs/ExampleFeature/Factory/index.js +0 -18
  40. package/dist/cjs/ExampleFeature/Factory/index.js.map +0 -1
  41. package/dist/cjs/ExampleFeature/Factory/setupExampleFeature.js +0 -29
  42. package/dist/cjs/ExampleFeature/Factory/setupExampleFeature.js.map +0 -1
  43. package/dist/cjs/ExampleFeature/Mocks/index.js +0 -21
  44. package/dist/cjs/ExampleFeature/Mocks/index.js.map +0 -1
  45. package/dist/cjs/ExampleFeature/PMs/index.js +0 -19
  46. package/dist/cjs/ExampleFeature/PMs/index.js.map +0 -1
  47. package/dist/cjs/ExampleFeature/UCs/index.js +0 -19
  48. package/dist/cjs/ExampleFeature/UCs/index.js.map +0 -1
  49. package/dist/cjs/ExampleFeature/index.js +0 -24
  50. package/dist/cjs/ExampleFeature/index.js.map +0 -1
  51. package/dist/esm/ExampleFeature/Adapters/index.js +0 -3
  52. package/dist/esm/ExampleFeature/Adapters/index.js.map +0 -1
  53. package/dist/esm/ExampleFeature/Controllers/index.js +0 -3
  54. package/dist/esm/ExampleFeature/Controllers/index.js.map +0 -1
  55. package/dist/esm/ExampleFeature/Entities/index.js +0 -4
  56. package/dist/esm/ExampleFeature/Entities/index.js.map +0 -1
  57. package/dist/esm/ExampleFeature/Factory/index.js +0 -2
  58. package/dist/esm/ExampleFeature/Factory/index.js.map +0 -1
  59. package/dist/esm/ExampleFeature/Factory/setupExampleFeature.js +0 -26
  60. package/dist/esm/ExampleFeature/Factory/setupExampleFeature.js.map +0 -1
  61. package/dist/esm/ExampleFeature/Mocks/index.js +0 -5
  62. package/dist/esm/ExampleFeature/Mocks/index.js.map +0 -1
  63. package/dist/esm/ExampleFeature/PMs/index.js +0 -3
  64. package/dist/esm/ExampleFeature/PMs/index.js.map +0 -1
  65. package/dist/esm/ExampleFeature/UCs/index.js +0 -3
  66. package/dist/esm/ExampleFeature/UCs/index.js.map +0 -1
  67. package/dist/esm/ExampleFeature/index.js +0 -8
  68. package/dist/esm/ExampleFeature/index.js.map +0 -1
  69. package/dist/types/ExampleFeature/Adapters/index.d.ts +0 -3
  70. package/dist/types/ExampleFeature/Adapters/index.d.ts.map +0 -1
  71. package/dist/types/ExampleFeature/Controllers/index.d.ts +0 -3
  72. package/dist/types/ExampleFeature/Controllers/index.d.ts.map +0 -1
  73. package/dist/types/ExampleFeature/Entities/index.d.ts +0 -4
  74. package/dist/types/ExampleFeature/Entities/index.d.ts.map +0 -1
  75. package/dist/types/ExampleFeature/Factory/index.d.ts +0 -2
  76. package/dist/types/ExampleFeature/Factory/index.d.ts.map +0 -1
  77. package/dist/types/ExampleFeature/Factory/setupExampleFeature.d.ts +0 -17
  78. package/dist/types/ExampleFeature/Factory/setupExampleFeature.d.ts.map +0 -1
  79. package/dist/types/ExampleFeature/Mocks/index.d.ts +0 -5
  80. package/dist/types/ExampleFeature/Mocks/index.d.ts.map +0 -1
  81. package/dist/types/ExampleFeature/PMs/index.d.ts +0 -3
  82. package/dist/types/ExampleFeature/PMs/index.d.ts.map +0 -1
  83. package/dist/types/ExampleFeature/UCs/index.d.ts +0 -3
  84. package/dist/types/ExampleFeature/UCs/index.d.ts.map +0 -1
  85. package/dist/types/ExampleFeature/index.d.ts +0 -8
  86. package/dist/types/ExampleFeature/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Vector2.js","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle } from \".\";\r\n\r\nexport class Vector2 {\r\n /**\r\n * Creates a zero vector\r\n * @returns Vector [0,0]\r\n */\r\n public static Zero(): Vector2 {\r\n return new Vector2(0, 0);\r\n }\r\n\r\n /**\r\n * Creates a one vector\r\n * @returns Vector [1,1]\r\n */\r\n public static One(): Vector2 {\r\n return new Vector2(1, 1);\r\n }\r\n\r\n /**\r\n * Checks to see if Vector A equals Vector B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns True if Vector A === Vector B\r\n */\r\n public static Equal(a: Vector2, b: Vector2): boolean {\r\n if (a.x !== b.x) return false;\r\n if (a.y !== b.y) return false;\r\n return true;\r\n }\r\n\r\n /**\r\n * Creates a Vector from a Data Transfer Object\r\n * @param dto The Data Transfer Object\r\n * @returns The Vector\r\n */\r\n public static FromDTO(dto: { x: number; y: number }): Vector2 {\r\n return new Vector2(dto.x, dto.y);\r\n }\r\n\r\n /**\r\n * Adds Vector B to Vector A\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A + B\r\n */\r\n public static Add(a: Vector2, b: Vector2): Vector2 {\r\n return new Vector2(a.x + b.x, a.y + b.y);\r\n }\r\n\r\n /**\r\n * Subtracts Vector B from Vector A\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A - B\r\n */\r\n public static Subtract(a: Vector2, b: Vector2): Vector2 {\r\n return new Vector2(a.x - b.x, a.y - b.y);\r\n }\r\n\r\n /**\r\n * Checks to see if Vector A is close to Vector B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @param threshold Tolerance to define \"close\". Defaults to 0.01\r\n * @returns True if A and B are close enough\r\n */\r\n public static Close = (\r\n a: Vector2,\r\n b: Vector2,\r\n threshold: number = 0.01\r\n ): boolean => {\r\n const diff = Vector2.Subtract(a, b);\r\n const diffMag = diff.magnitude;\r\n\r\n if (diffMag < threshold) return true;\r\n else return false;\r\n };\r\n\r\n /**\r\n * Rotates a vector by an angle\r\n * @param vec The original vector\r\n * @param angle The angle\r\n * @returns A new Vector that has been rotated from the original by an angle\r\n */\r\n public static Rotate = (vec: Vector2, angle: Angle): Vector2 => {\r\n const x = vec.x * Math.cos(angle.radians) - vec.y * Math.sin(angle.radians);\r\n const y = vec.x * Math.sin(angle.radians) + vec.y * Math.cos(angle.radians);\r\n return new Vector2(x, y);\r\n };\r\n\r\n /**\r\n * Scales a vector uniformly\r\n * @param vector The original vector\r\n * @param scale Scale factor\r\n * @returns A new, scaled vector\r\n */\r\n public static Scale = (vector: Vector2, scale: number): Vector2 => {\r\n const x = scale * vector.x;\r\n const y = scale * vector.y;\r\n return new Vector2(x, y);\r\n };\r\n\r\n /**\r\n * Creates a new vector of a given length and a unit that is equal to the original vector\r\n * @param vector The original vector. This determines the unit of the final vector\r\n * @param length The desired length of the final vector\r\n * @returns The final vector\r\n */\r\n public static NewVectorOfLength = (\r\n vector: Vector2,\r\n length: number\r\n ): Vector2 => {\r\n const unit = vector.unit;\r\n const x = length * unit.x;\r\n const y = length * unit.y;\r\n return new Vector2(x, y);\r\n };\r\n\r\n /**\r\n * Calculate the dot product between Vectors A and B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns The Dot product between A and B\r\n */\r\n public static Dot = (a: Vector2, b: Vector2): number => {\r\n return a.x * b.x + a.y * b.y;\r\n };\r\n\r\n /**\r\n * Calculates the dot product between Vectors A and B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A . B\r\n */\r\n public static AngleBetween = (a: Vector2, b: Vector2): Angle => {\r\n const dot = Vector2.Dot(a, b);\r\n const magnitudes = a.magnitude * b.magnitude;\r\n\r\n const angRadians = Math.acos(dot / magnitudes);\r\n\r\n return Angle.FromRadians(angRadians);\r\n };\r\n\r\n /**\r\n * Calculates the Cross product between Vectors A and B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A X B\r\n */\r\n public static Cross = (a: Vector2, b: Vector2): number => {\r\n return a.x * b.y - a.y * b.x;\r\n };\r\n\r\n readonly x: number;\r\n readonly y: number;\r\n\r\n /**\r\n * Get the magnitude (length) of the vector\r\n */\r\n get magnitude(): number {\r\n const xSqr = this.x * this.x;\r\n const ySqr = this.y * this.y;\r\n\r\n const magnitude = Math.sqrt(xSqr + ySqr);\r\n return magnitude;\r\n }\r\n \r\n /**\r\n * @deprecated Use magnitude instead - this property is kept for backward compatibility\r\n * Get the magnitude (length) of the vector\r\n */\r\n get magnitued(): number {\r\n return this.magnitude;\r\n }\r\n\r\n /**\r\n * Get the unit vector\r\n */\r\n get unit(): Vector2 {\r\n const mag = this.magnitude;\r\n if (mag === 0) {\r\n return Vector2.Zero();\r\n }\r\n\r\n const unitX = this.x / mag;\r\n const unitY = this.y / mag;\r\n return new Vector2(unitX, unitY);\r\n }\r\n\r\n /**\r\n * Returns the angle of the direction of this vector in degrees.\r\n * A right vector [1,0] will return 0, a left vector [-1,0] will return 180, an up vector [0,1] will return 90 and a down vector [0,-1] will return -90\r\n */\r\n get theta(): number {\r\n return (Math.atan2(this.y, this.x) * 180) / Math.PI;\r\n }\r\n\r\n /**\r\n * Returns the vector as an array of numbers [x,y]\r\n */\r\n get array(): [number, number] {\r\n return [this.x, this.y];\r\n }\r\n\r\n /**\r\n * Get the vector as a Data Transfer Object\r\n */\r\n get dto(): { x: number; y: number } {\r\n return { x: this.x, y: this.y };\r\n }\r\n\r\n constructor(x: number, y: number) {\r\n this.x = x;\r\n this.y = y;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Vector2.js","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.ts"],"names":[],"mappings":"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","sourcesContent":["import { Angle } from \".\";\r\n\r\nexport class Vector2 {\r\n /**\r\n * Creates a zero vector\r\n * @returns Vector [0,0]\r\n */\r\n public static Zero(): Vector2 {\r\n return new Vector2(0, 0);\r\n }\r\n\r\n /**\r\n * Creates a one vector\r\n * @returns Vector [1,1]\r\n */\r\n public static One(): Vector2 {\r\n return new Vector2(1, 1);\r\n }\r\n\r\n /**\r\n * Checks to see if Vector A equals Vector B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns True if Vector A === Vector B\r\n */\r\n public static Equal(a: Vector2, b: Vector2): boolean {\r\n if (a.x !== b.x) return false;\r\n if (a.y !== b.y) return false;\r\n return true;\r\n }\r\n\r\n /**\r\n * Creates a Vector from a Data Transfer Object\r\n * @param dto The Data Transfer Object\r\n * @returns The Vector\r\n */\r\n public static FromDTO(dto: { x: number; y: number }): Vector2 {\r\n return new Vector2(dto.x, dto.y);\r\n }\r\n\r\n /**\r\n * Adds Vector B to Vector A\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A + B\r\n */\r\n public static Add(a: Vector2, b: Vector2): Vector2 {\r\n return new Vector2(a.x + b.x, a.y + b.y);\r\n }\r\n\r\n /**\r\n * Subtracts Vector B from Vector A\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A - B\r\n */\r\n public static Subtract(a: Vector2, b: Vector2): Vector2 {\r\n return new Vector2(a.x - b.x, a.y - b.y);\r\n }\r\n\r\n /**\r\n * Checks to see if Vector A is close to Vector B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @param threshold Tolerance to define \"close\". Defaults to 0.01\r\n * @returns True if A and B are close enough\r\n */\r\n public static Close = (\r\n a: Vector2,\r\n b: Vector2,\r\n threshold: number = 0.01\r\n ): boolean => {\r\n const diff = Vector2.Subtract(a, b);\r\n const diffMag = diff.magnitude;\r\n\r\n if (diffMag < threshold) return true;\r\n else return false;\r\n };\r\n\r\n /**\r\n * Rotates a vector by an angle\r\n * @param vec The original vector\r\n * @param angle The angle\r\n * @returns A new Vector that has been rotated from the original by an angle\r\n */\r\n public static Rotate = (vec: Vector2, angle: Angle): Vector2 => {\r\n const x = vec.x * Math.cos(angle.radians) - vec.y * Math.sin(angle.radians);\r\n const y = vec.x * Math.sin(angle.radians) + vec.y * Math.cos(angle.radians);\r\n return new Vector2(x, y);\r\n };\r\n\r\n /**\r\n * Scales a vector uniformly\r\n * @param vector The original vector\r\n * @param scale Scale factor\r\n * @returns A new, scaled vector\r\n */\r\n public static Scale = (vector: Vector2, scale: number): Vector2 => {\r\n const x = scale * vector.x;\r\n const y = scale * vector.y;\r\n return new Vector2(x, y);\r\n };\r\n\r\n /**\r\n * Creates a new vector of a given length and a unit that is equal to the original vector\r\n * @param vector The original vector. This determines the unit of the final vector\r\n * @param length The desired length of the final vector\r\n * @returns The final vector\r\n */\r\n public static NewVectorOfLength = (\r\n vector: Vector2,\r\n length: number\r\n ): Vector2 => {\r\n const unit = vector.unit;\r\n const x = length * unit.x;\r\n const y = length * unit.y;\r\n return new Vector2(x, y);\r\n };\r\n\r\n /**\r\n * Calculate the dot product between Vectors A and B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns The Dot product between A and B\r\n */\r\n public static Dot = (a: Vector2, b: Vector2): number => {\r\n return a.x * b.x + a.y * b.y;\r\n };\r\n /**\r\n * Calculates the angle between Vectors A and B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns The angle between A and B\r\n */\r\n public static AngleBetween = (a: Vector2, b: Vector2): Angle => {\r\n const angleA = Math.atan2(a.y, a.x);\r\n const angleB = Math.atan2(b.y, b.x);\r\n\r\n return Angle.FromRadians(angleB - angleA);\r\n };\r\n\r\n /**\r\n * Calculates the Cross product between Vectors A and B\r\n * @param a Vector A\r\n * @param b Vector B\r\n * @returns A X B\r\n */\r\n public static Cross = (a: Vector2, b: Vector2): number => {\r\n return a.x * b.y - a.y * b.x;\r\n };\r\n\r\n readonly x: number;\r\n readonly y: number;\r\n\r\n /**\r\n * Get the magnitude (length) of the vector\r\n */\r\n get magnitude(): number {\r\n const xSqr = this.x * this.x;\r\n const ySqr = this.y * this.y;\r\n\r\n const magnitude = Math.sqrt(xSqr + ySqr);\r\n return magnitude;\r\n }\r\n\r\n /**\r\n * @deprecated Use magnitude instead - this property is kept for backward compatibility\r\n * Get the magnitude (length) of the vector\r\n */\r\n get magnitued(): number {\r\n return this.magnitude;\r\n }\r\n\r\n /**\r\n * Get the unit vector\r\n */\r\n get unit(): Vector2 {\r\n const mag = this.magnitude;\r\n if (mag === 0) {\r\n return Vector2.Zero();\r\n }\r\n\r\n const unitX = this.x / mag;\r\n const unitY = this.y / mag;\r\n return new Vector2(unitX, unitY);\r\n }\r\n\r\n /**\r\n * Returns the angle of the direction of this vector in degrees.\r\n * A right vector [1,0] will return 0, a left vector [-1,0] will return 180, an up vector [0,1] will return 90 and a down vector [0,-1] will return -90\r\n */\r\n get theta(): number {\r\n return (Math.atan2(this.y, this.x) * 180) / Math.PI;\r\n }\r\n\r\n /**\r\n * Returns the vector as an array of numbers [x,y]\r\n */\r\n get array(): [number, number] {\r\n return [this.x, this.y];\r\n }\r\n\r\n /**\r\n * Get the vector as a Data Transfer Object\r\n */\r\n get dto(): { x: number; y: number } {\r\n return { x: this.x, y: this.y };\r\n }\r\n\r\n constructor(x: number, y: number) {\r\n this.x = x;\r\n this.y = y;\r\n }\r\n}\r\n"]}
package/dist/esm/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from "./AppObject";
2
2
  export * from "./DomainFactories";
3
3
  export * from "./Entities";
4
- export * from "./ExampleFeature";
5
4
  export * from "./Types";
6
5
  export * from "./Utilities";
7
6
  export * from "./ValueObjects";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC","sourcesContent":["export * from \"./AppObject\";\r\nexport * from \"./DomainFactories\"\r\nexport * from \"./Entities\";\r\nexport * from \"./ExampleFeature\"\r\nexport * from \"./Types\";\r\nexport * from \"./Utilities\";\r\nexport * from \"./ValueObjects\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC","sourcesContent":["export * from \"./AppObject\";\r\nexport * from \"./DomainFactories\"\r\nexport * from \"./Entities\";\r\nexport * from \"./Types\";\r\nexport * from \"./Utilities\";\r\nexport * from \"./ValueObjects\";\r\n"]}
@@ -84,6 +84,13 @@ export declare abstract class AppObjectRepo extends ObservableEntity {
84
84
  * @param {AppObjectComponent} component - The component to register as a singleton
85
85
  */
86
86
  abstract registerSingleton(component: AppObjectComponent): void;
87
+ /**
88
+ * Checks if a singleton component of the specified type exists.
89
+ *
90
+ * @param {string} type - The type of the singleton to check
91
+ * @returns {boolean} True if a singleton of the specified type exists, false otherwise
92
+ */
93
+ abstract hasSingleton(type: string): boolean;
87
94
  /**
88
95
  * Gets a singleton component of the specified type.
89
96
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AppObjectRepo.d.ts","sourceRoot":"","sources":["../../../src/AppObject/AppObjectRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;GAQG;AACH,8BAAsB,aAAc,SAAQ,gBAAgB;IAC1D;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAExC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAExD;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAEpD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAEzD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAE7D;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAE3D;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAE3D;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAE/D;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,kBAAkB,EAChD,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,SAAS;IAEhB;;;;;;;OAOG;IACH,QAAQ,CAAC,qBAAqB,CAAC,CAAC,SAAS,kBAAkB,EACzD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,SAAS;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE;IAE1E;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE;IAE1E;;;;OAIG;IACH,QAAQ,CAAC,yBAAyB,EAAE,CAClC,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,KAAK,IAAI,KACvC,IAAI,CAAC;IAEV;;;;OAIG;IACH,QAAQ,CAAC,4BAA4B,EAAE,CACrC,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,KAAK,IAAI,KACvC,IAAI,CAAC;IAEV;;;;OAIG;IACH,QAAQ,CAAC,2BAA2B,EAAE,CACpC,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,KAAK,IAAI,KACvC,IAAI,CAAC;IAEV;;;;OAIG;IACH,QAAQ,CAAC,+BAA+B,EAAE,CACxC,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,KAAK,IAAI,KACvC,IAAI,CAAC;CACX;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAEjD"}
1
+ {"version":3,"file":"AppObjectRepo.d.ts","sourceRoot":"","sources":["../../../src/AppObject/AppObjectRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;GAQG;AACH,8BAAsB,aAAc,SAAQ,gBAAgB;IAC1D;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAExC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAExD;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS;IAEpD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAEzD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAE7D;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAE3D;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAE3D;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAE/D;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAE5C;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,kBAAkB,EAChD,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,SAAS;IAEhB;;;;;;;OAOG;IACH,QAAQ,CAAC,qBAAqB,CAAC,CAAC,SAAS,kBAAkB,EACzD,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,SAAS;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE;IAE1E;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE;IAE1E;;;;OAIG;IACH,QAAQ,CAAC,yBAAyB,EAAE,CAClC,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,KAAK,IAAI,KACvC,IAAI,CAAC;IAEV;;;;OAIG;IACH,QAAQ,CAAC,4BAA4B,EAAE,CACrC,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,KAAK,IAAI,KACvC,IAAI,CAAC;IAEV;;;;OAIG;IACH,QAAQ,CAAC,2BAA2B,EAAE,CACpC,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,KAAK,IAAI,KACvC,IAAI,CAAC;IAEV;;;;OAIG;IACH,QAAQ,CAAC,+BAA+B,EAAE,CACxC,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,KAAK,IAAI,KACvC,IAAI,CAAC;CACX;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAEjD"}
@@ -41,4 +41,5 @@ export declare class DomainFactoryRepo extends AppObjectEntityRepo<DomainFactory
41
41
  */
42
42
  constructor(appObject: AppObject);
43
43
  }
44
+ export declare function makeDomainFactoryRepo(appObjects: AppObjectRepo): DomainFactoryRepo;
44
45
  //# sourceMappingURL=DomainFactoryRepo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DomainFactoryRepo.d.ts","sourceRoot":"","sources":["../../../../src/DomainFactories/Entities/DomainFactoryRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,aAAa,EAEd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IACvE,gDAAgD;IAChD,MAAM,CAAC,IAAI,SAAuB;IAElC;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa;IAOpC;;;;OAIG;IACH,WAAW,aAsBT;IAEF;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAKlD;;;OAGG;gBACS,SAAS,EAAE,SAAS;CAGjC"}
1
+ {"version":3,"file":"DomainFactoryRepo.d.ts","sourceRoot":"","sources":["../../../../src/DomainFactories/Entities/DomainFactoryRepo.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,aAAa,EAEd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IACvE,gDAAgD;IAChD,MAAM,CAAC,IAAI,SAAuB;IAElC;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa;IAOpC;;;;OAIG;IACH,WAAW,aAsBT;IAEF;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAKlD;;;OAGG;gBACS,SAAS,EAAE,SAAS;CAGjC;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,aAAa,qBAG9D"}
@@ -0,0 +1,44 @@
1
+ import { AppObjectRepo } from "../../AppObject";
2
+ import { DomainFactory } from "../../DomainFactories";
3
+ /**
4
+ * Factory responsible for setting up the Example Feature domain components.
5
+ *
6
+ * This factory initializes all entities, use cases, and presentation models
7
+ * required for the Example Feature functionality. It follows the domain-driven
8
+ * design pattern by organizing components into their respective layers.
9
+ *
10
+ * @extends DomainFactory
11
+ */
12
+ export declare class ExampleFeatureFactory extends DomainFactory {
13
+ factoryName: string;
14
+ /**
15
+ * Sets up all entities required for the Example Feature.
16
+ *
17
+ * Initializes singleton entities that maintain the state and business
18
+ * logic for the example feature functionality.
19
+ */
20
+ setupEntities(): void;
21
+ /**
22
+ * Sets up all use cases for the Example Feature.
23
+ *
24
+ * Initializes use cases that define the business operations and
25
+ * workflows available in the example feature.
26
+ */
27
+ setupUCs(): void;
28
+ /**
29
+ * Sets up all presentation models for the Example Feature.
30
+ *
31
+ * Initializes presentation models that handle the view logic and
32
+ * state management for UI components related to the example feature.
33
+ */
34
+ setupPMs(): void;
35
+ /**
36
+ * Performs any final setup operations after all components are initialized.
37
+ *
38
+ * This method is called after entities, use cases, and presentation models
39
+ * have been set up. Currently no additional setup is required for this feature.
40
+ */
41
+ finalSetup(): void;
42
+ }
43
+ export declare function makeExampleFeatureFactory(appObjects: AppObjectRepo): ExampleFeatureFactory;
44
+ //# sourceMappingURL=ExampleFeatureFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExampleFeatureFactory.d.ts","sourceRoot":"","sources":["../../../../src/ExampleFeature/Factory/ExampleFeatureFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKtD;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;IAEvD,WAAW,SAA2B;IAEtC;;;;;OAKG;IACH,aAAa,IAAI,IAAI;IAKrB;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAKhB;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAKhB;;;;;OAKG;IACH,UAAU,IAAI,IAAI;CAIlB;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,aAAa,GAAE,qBAAqB,CAGzF"}
@@ -77,10 +77,10 @@ export declare class Vector2 {
77
77
  */
78
78
  static Dot: (a: Vector2, b: Vector2) => number;
79
79
  /**
80
- * Calculates the dot product between Vectors A and B
80
+ * Calculates the angle between Vectors A and B
81
81
  * @param a Vector A
82
82
  * @param b Vector B
83
- * @returns A . B
83
+ * @returns The angle between A and B
84
84
  */
85
85
  static AngleBetween: (a: Vector2, b: Vector2) => Angle;
86
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;AAE1B,qBAAa,OAAO;IAClB;;;OAGG;WACW,IAAI,IAAI,OAAO;IAI7B;;;OAGG;WACW,GAAG,IAAI,OAAO;IAI5B;;;;;OAKG;WACW,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAMpD;;;;OAIG;WACW,OAAO,CAAC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAI7D;;;;;OAKG;WACW,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAIlD;;;;;OAKG;WACW,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAIvD;;;;;;OAMG;IACH,OAAc,KAAK,GACjB,GAAG,OAAO,EACV,GAAG,OAAO,EACV,YAAW,MAAa,KACvB,OAAO,CAMR;IAEF;;;;;OAKG;IACH,OAAc,MAAM,GAAI,KAAK,OAAO,EAAE,OAAO,KAAK,KAAG,OAAO,CAI1D;IAEF;;;;;OAKG;IACH,OAAc,KAAK,GAAI,QAAQ,OAAO,EAAE,OAAO,MAAM,KAAG,OAAO,CAI7D;IAEF;;;;;OAKG;IACH,OAAc,iBAAiB,GAC7B,QAAQ,OAAO,EACf,QAAQ,MAAM,KACb,OAAO,CAKR;IAEF;;;;;OAKG;IACH,OAAc,GAAG,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,MAAM,CAElD;IAEF;;;;;OAKG;IACH,OAAc,YAAY,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,KAAK,CAO1D;IAEF;;;;;OAKG;IACH,OAAc,KAAK,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,MAAM,CAEpD;IAEF,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAMtB;IAED;;;OAGG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CASlB;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5B;IAED;;OAEG;IACH,IAAI,GAAG,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAElC;gBAEW,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAIjC"}
1
+ {"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../../../src/ValueObjects/Vector2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;AAE1B,qBAAa,OAAO;IAClB;;;OAGG;WACW,IAAI,IAAI,OAAO;IAI7B;;;OAGG;WACW,GAAG,IAAI,OAAO;IAI5B;;;;;OAKG;WACW,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAMpD;;;;OAIG;WACW,OAAO,CAAC,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAI7D;;;;;OAKG;WACW,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAIlD;;;;;OAKG;WACW,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAIvD;;;;;;OAMG;IACH,OAAc,KAAK,GACjB,GAAG,OAAO,EACV,GAAG,OAAO,EACV,YAAW,MAAa,KACvB,OAAO,CAMR;IAEF;;;;;OAKG;IACH,OAAc,MAAM,GAAI,KAAK,OAAO,EAAE,OAAO,KAAK,KAAG,OAAO,CAI1D;IAEF;;;;;OAKG;IACH,OAAc,KAAK,GAAI,QAAQ,OAAO,EAAE,OAAO,MAAM,KAAG,OAAO,CAI7D;IAEF;;;;;OAKG;IACH,OAAc,iBAAiB,GAC7B,QAAQ,OAAO,EACf,QAAQ,MAAM,KACb,OAAO,CAKR;IAEF;;;;;OAKG;IACH,OAAc,GAAG,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,MAAM,CAElD;IACF;;;;;OAKG;IACH,OAAc,YAAY,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,KAAK,CAK1D;IAEF;;;;;OAKG;IACH,OAAc,KAAK,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,MAAM,CAEpD;IAEF,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAMtB;IAED;;;OAGG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CASlB;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5B;IAED;;OAEG;IACH,IAAI,GAAG,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAElC;gBAEW,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAIjC"}
@@ -1,7 +1,6 @@
1
1
  export * from "./AppObject";
2
2
  export * from "./DomainFactories";
3
3
  export * from "./Entities";
4
- export * from "./ExampleFeature";
5
4
  export * from "./Types";
6
5
  export * from "./Utilities";
7
6
  export * from "./ValueObjects";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vived/core",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "Core Components for VIVED Apps and Hosts",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./examplePmAdapter"), exports);
18
- __exportStar(require("./exampleSingletonPmAdapter"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Adapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,8DAA4C","sourcesContent":["export * from \"./examplePmAdapter\";\r\nexport * from \"./exampleSingletonPmAdapter\";\r\n"]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./setExampleText"), exports);
18
- __exportStar(require("./toggleExampleBoolean"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,yDAAuC","sourcesContent":["export * from \"./setExampleText\";\r\nexport * from \"./toggleExampleBoolean\";\r\n"]}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ExampleEntity"), exports);
18
- __exportStar(require("./ExampleRepo"), exports);
19
- __exportStar(require("./ExampleSingletonEntity"), exports);
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,gDAA8B;AAC9B,2DAAyC","sourcesContent":["export * from \"./ExampleEntity\";\r\nexport * from \"./ExampleRepo\";\r\nexport * from \"./ExampleSingletonEntity\";\r\n"]}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./setupExampleFeature"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Factory/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC","sourcesContent":["export * from \"./setupExampleFeature\";"]}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- /**
3
- * setupExampleFeature.ts
4
- *
5
- * This file provides a setup function to initialize the ExampleFeature components.
6
- * It creates a dedicated AppObject for ExampleFeature and adds all required
7
- * singleton components to it.
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.setupExampleFeature = setupExampleFeature;
11
- const ExampleSingletonEntity_1 = require("../Entities/ExampleSingletonEntity");
12
- const ExampleSingletonPM_1 = require("../PMs/ExampleSingletonPM");
13
- const ToggleExampleBooleanUC_1 = require("../UCs/ToggleExampleBooleanUC");
14
- /**
15
- * Sets up the ExampleFeature by creating an AppObject and attaching required components.
16
- *
17
- * @param appObjects - Repository of AppObjects to use for creating the feature
18
- * @returns The singleton entity instance
19
- */
20
- function setupExampleFeature(appObjects) {
21
- // Create a dedicated AppObject for ExampleFeature
22
- const appObject = appObjects.getOrCreate("ExampleFeature");
23
- // Add singleton components to the AppObject
24
- const entity = (0, ExampleSingletonEntity_1.makeSingletonEntityExample)(appObject);
25
- (0, ExampleSingletonPM_1.makeExampleSingletonPM)(appObject);
26
- (0, ToggleExampleBooleanUC_1.makeToggleExampleBooleanUC)(appObject);
27
- return entity;
28
- }
29
- //# sourceMappingURL=setupExampleFeature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setupExampleFeature.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Factory/setupExampleFeature.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAaH,kDAUC;AApBD,+EAAwG;AACxG,kEAAmE;AACnE,0EAA2E;AAE3E;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,UAAyB;IAC3D,kDAAkD;IAClD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAE3D,4CAA4C;IAC5C,MAAM,MAAM,GAAG,IAAA,mDAA0B,EAAC,SAAS,CAAC,CAAC;IACrD,IAAA,2CAAsB,EAAC,SAAS,CAAC,CAAC;IAClC,IAAA,mDAA0B,EAAC,SAAS,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/**\r\n * setupExampleFeature.ts\r\n * \r\n * This file provides a setup function to initialize the ExampleFeature components.\r\n * It creates a dedicated AppObject for ExampleFeature and adds all required\r\n * singleton components to it.\r\n */\r\n\r\nimport { AppObjectRepo } from \"../../AppObject\";\r\nimport { makeSingletonEntityExample, SingletonEntityExample } from \"../Entities/ExampleSingletonEntity\";\r\nimport { makeExampleSingletonPM } from \"../PMs/ExampleSingletonPM\";\r\nimport { makeToggleExampleBooleanUC } from \"../UCs/ToggleExampleBooleanUC\";\r\n\r\n/**\r\n * Sets up the ExampleFeature by creating an AppObject and attaching required components.\r\n * \r\n * @param appObjects - Repository of AppObjects to use for creating the feature\r\n * @returns The singleton entity instance\r\n */\r\nexport function setupExampleFeature(appObjects: AppObjectRepo): SingletonEntityExample {\r\n // Create a dedicated AppObject for ExampleFeature\r\n const appObject = appObjects.getOrCreate(\"ExampleFeature\");\r\n \r\n // Add singleton components to the AppObject\r\n const entity = makeSingletonEntityExample(appObject);\r\n makeExampleSingletonPM(appObject);\r\n makeToggleExampleBooleanUC(appObject);\r\n \r\n return entity;\r\n}"]}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./MockEditExampleStringUC"), exports);
18
- __exportStar(require("./MockExamplePM"), exports);
19
- __exportStar(require("./MockExampleSingletonPM"), exports);
20
- __exportStar(require("./MockToggleExampleBooleanUC"), exports);
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Mocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,kDAAgC;AAChC,2DAAyC;AACzC,+DAA6C","sourcesContent":["export * from \"./MockEditExampleStringUC\";\r\nexport * from \"./MockExamplePM\";\r\nexport * from \"./MockExampleSingletonPM\";\r\nexport * from \"./MockToggleExampleBooleanUC\";\r\n"]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ExamplePM"), exports);
18
- __exportStar(require("./ExampleSingletonPM"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/PMs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,uDAAqC","sourcesContent":["export * from \"./ExamplePM\";\r\nexport * from \"./ExampleSingletonPM\";\r\n"]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./EditExampleStringUC"), exports);
18
- __exportStar(require("./ToggleExampleBooleanUC"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/UCs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,2DAAyC","sourcesContent":["export * from \"./EditExampleStringUC\";\r\nexport * from \"./ToggleExampleBooleanUC\";\r\n"]}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Adapters"), exports);
18
- __exportStar(require("./Controllers"), exports);
19
- __exportStar(require("./Entities"), exports);
20
- __exportStar(require("./Factory"), exports);
21
- __exportStar(require("./Mocks"), exports);
22
- __exportStar(require("./PMs"), exports);
23
- __exportStar(require("./UCs"), exports);
24
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ExampleFeature/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,gDAA8B;AAC9B,6CAA2B;AAC3B,4CAA0B;AAC1B,0CAAwB;AACxB,wCAAsB;AACtB,wCAAsB","sourcesContent":["export * from \"./Adapters\";\r\nexport * from \"./Controllers\";\r\nexport * from \"./Entities\";\r\nexport * from \"./Factory\";\r\nexport * from \"./Mocks\";\r\nexport * from \"./PMs\";\r\nexport * from \"./UCs\";"]}
@@ -1,3 +0,0 @@
1
- export * from "./examplePmAdapter";
2
- export * from "./exampleSingletonPmAdapter";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC","sourcesContent":["export * from \"./examplePmAdapter\";\r\nexport * from \"./exampleSingletonPmAdapter\";\r\n"]}
@@ -1,3 +0,0 @@
1
- export * from "./setExampleText";
2
- export * from "./toggleExampleBoolean";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC","sourcesContent":["export * from \"./setExampleText\";\r\nexport * from \"./toggleExampleBoolean\";\r\n"]}
@@ -1,4 +0,0 @@
1
- export * from "./ExampleEntity";
2
- export * from "./ExampleRepo";
3
- export * from "./ExampleSingletonEntity";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC","sourcesContent":["export * from \"./ExampleEntity\";\r\nexport * from \"./ExampleRepo\";\r\nexport * from \"./ExampleSingletonEntity\";\r\n"]}
@@ -1,2 +0,0 @@
1
- export * from "./setupExampleFeature";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Factory/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./setupExampleFeature\";"]}
@@ -1,26 +0,0 @@
1
- /**
2
- * setupExampleFeature.ts
3
- *
4
- * This file provides a setup function to initialize the ExampleFeature components.
5
- * It creates a dedicated AppObject for ExampleFeature and adds all required
6
- * singleton components to it.
7
- */
8
- import { makeSingletonEntityExample } from "../Entities/ExampleSingletonEntity";
9
- import { makeExampleSingletonPM } from "../PMs/ExampleSingletonPM";
10
- import { makeToggleExampleBooleanUC } from "../UCs/ToggleExampleBooleanUC";
11
- /**
12
- * Sets up the ExampleFeature by creating an AppObject and attaching required components.
13
- *
14
- * @param appObjects - Repository of AppObjects to use for creating the feature
15
- * @returns The singleton entity instance
16
- */
17
- export function setupExampleFeature(appObjects) {
18
- // Create a dedicated AppObject for ExampleFeature
19
- const appObject = appObjects.getOrCreate("ExampleFeature");
20
- // Add singleton components to the AppObject
21
- const entity = makeSingletonEntityExample(appObject);
22
- makeExampleSingletonPM(appObject);
23
- makeToggleExampleBooleanUC(appObject);
24
- return entity;
25
- }
26
- //# sourceMappingURL=setupExampleFeature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setupExampleFeature.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Factory/setupExampleFeature.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,0BAA0B,EAA0B,MAAM,oCAAoC,CAAC;AACxG,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAyB;IAC3D,kDAAkD;IAClD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAE3D,4CAA4C;IAC5C,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACrD,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/**\r\n * setupExampleFeature.ts\r\n * \r\n * This file provides a setup function to initialize the ExampleFeature components.\r\n * It creates a dedicated AppObject for ExampleFeature and adds all required\r\n * singleton components to it.\r\n */\r\n\r\nimport { AppObjectRepo } from \"../../AppObject\";\r\nimport { makeSingletonEntityExample, SingletonEntityExample } from \"../Entities/ExampleSingletonEntity\";\r\nimport { makeExampleSingletonPM } from \"../PMs/ExampleSingletonPM\";\r\nimport { makeToggleExampleBooleanUC } from \"../UCs/ToggleExampleBooleanUC\";\r\n\r\n/**\r\n * Sets up the ExampleFeature by creating an AppObject and attaching required components.\r\n * \r\n * @param appObjects - Repository of AppObjects to use for creating the feature\r\n * @returns The singleton entity instance\r\n */\r\nexport function setupExampleFeature(appObjects: AppObjectRepo): SingletonEntityExample {\r\n // Create a dedicated AppObject for ExampleFeature\r\n const appObject = appObjects.getOrCreate(\"ExampleFeature\");\r\n \r\n // Add singleton components to the AppObject\r\n const entity = makeSingletonEntityExample(appObject);\r\n makeExampleSingletonPM(appObject);\r\n makeToggleExampleBooleanUC(appObject);\r\n \r\n return entity;\r\n}"]}
@@ -1,5 +0,0 @@
1
- export * from "./MockEditExampleStringUC";
2
- export * from "./MockExamplePM";
3
- export * from "./MockExampleSingletonPM";
4
- export * from "./MockToggleExampleBooleanUC";
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/Mocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC","sourcesContent":["export * from \"./MockEditExampleStringUC\";\r\nexport * from \"./MockExamplePM\";\r\nexport * from \"./MockExampleSingletonPM\";\r\nexport * from \"./MockToggleExampleBooleanUC\";\r\n"]}
@@ -1,3 +0,0 @@
1
- export * from "./ExamplePM";
2
- export * from "./ExampleSingletonPM";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/PMs/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC","sourcesContent":["export * from \"./ExamplePM\";\r\nexport * from \"./ExampleSingletonPM\";\r\n"]}
@@ -1,3 +0,0 @@
1
- export * from "./EditExampleStringUC";
2
- export * from "./ToggleExampleBooleanUC";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ExampleFeature/UCs/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC","sourcesContent":["export * from \"./EditExampleStringUC\";\r\nexport * from \"./ToggleExampleBooleanUC\";\r\n"]}
@@ -1,8 +0,0 @@
1
- export * from "./Adapters";
2
- export * from "./Controllers";
3
- export * from "./Entities";
4
- export * from "./Factory";
5
- export * from "./Mocks";
6
- export * from "./PMs";
7
- export * from "./UCs";
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ExampleFeature/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC","sourcesContent":["export * from \"./Adapters\";\r\nexport * from \"./Controllers\";\r\nexport * from \"./Entities\";\r\nexport * from \"./Factory\";\r\nexport * from \"./Mocks\";\r\nexport * from \"./PMs\";\r\nexport * from \"./UCs\";"]}
@@ -1,3 +0,0 @@
1
- export * from "./examplePmAdapter";
2
- export * from "./exampleSingletonPmAdapter";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ExampleFeature/Adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from "./setExampleText";
2
- export * from "./toggleExampleBoolean";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ExampleFeature/Controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from "./ExampleEntity";
2
- export * from "./ExampleRepo";
3
- export * from "./ExampleSingletonEntity";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ExampleFeature/Entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./setupExampleFeature";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ExampleFeature/Factory/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}