Skip to content

fix(ids): check a type object's own property sets in IDSProperty - #824

Merged
agviegas merged 1 commit into
ThatOpen:mainfrom
helenkwok:fix/ids-type-object-psets
Oct 11, 2026
Merged

agviegas merged 1 commit into
ThatOpen:mainfrom
helenkwok:fix/ids-type-object-psets

Conversation

@helenkwok

@helenkwok helenkwok commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Description

Fixes #823.

IDSProperty.getTypePsets now also returns the item's own HasPropertySets. So when the applicability selects a type object (e.g. IFCWALLTYPE), its own property sets are checked. Before, only the sets of the item's type definitions were read, which covers occurrences inheriting from their type but not the type itself.

Additional context

  • New facets/property-type-object.test.ts on tests/fixtures/type-psets.ifc: IFCWALLTYPE + Pset_WallCommon.IsExternal = TRUE passes for IfcWallType Test feature #52. It fails without the change. The buildingSMART IDS test case property/pass-properties_can_be_inherited_from_the_type_2_2 (applicability IFCWALLTYPE) also fails on main and passes with it.
  • vitest --run in packages/core: all pass, with no change to existing tests. tsc -p tsconfig-build.json --noEmit is clean.
  • The applicability side, where a Property facet doesn't select the type object itself, is left as a question in the issue, because it would change the expectations of property.test.ts.

What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

Before submitting the PR, please make sure you do the following:

  • Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
  • Follow the Conventional Commits v1.0.0 standard for PR naming (e.g. feat(examples): add hello-world example).
  • Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
  • Ideally, include relevant tests that fail without this PR but pass with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

IDS: properties on a type object itself (IfcWallType.HasPropertySets) are not checked

2 participants