@blueprint-ts/core 4.0.0-beta.2 → 4.0.0-beta.3

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/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## v4.0.0-beta.3 - 2026-02-26 (beta)
2
+
3
+ # [4.0.0-beta.3](/compare/v4.0.0-beta.2...v4.0.0-beta.3) (2026-02-26)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Make PropertyAwareArray nominal to avoid array type confusion b68b6fe
1
9
  ## v4.0.0-beta.2 - 2026-02-26 (beta)
2
10
 
3
11
  # [4.0.0-beta.2](/compare/v4.0.0-beta.1...v4.0.0-beta.2) (2026-02-26)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blueprint-ts/core",
3
- "version": "4.0.0-beta.2",
3
+ "version": "4.0.0-beta.3",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,12 +23,17 @@ export type PropertyAware<T> = {
23
23
  * computed getters/setters, error tracking, and dirty flags.
24
24
  */
25
25
  export class PropertyAwareArray<T = unknown> extends Array<T> {
26
+ // Private brand to prevent plain arrays from being assignable to PropertyAwareArray.
27
+ // This keeps conditional types from treating normal arrays as property-aware.
28
+ // eslint-disable-next-line @typescript-eslint/no-unused-private-class-members
29
+ private readonly __propertyAwareArrayBrand!: void
26
30
  /**
27
31
  * Creates a new PropertyAwareArray instance
28
32
  */
29
33
  public constructor(items: T[] = []) {
30
34
  // Call Array constructor with array length
31
35
  super()
36
+ void this.__propertyAwareArrayBrand
32
37
 
33
38
  // Add items to the array
34
39
  if (items && items.length) {