StructMatcher
2.0.1
Evaluate declarative rule sets against nested structured data and return matching results. Supports JSON, hashtables, PSCustomObjects, and iterable rule collections.
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) 2026 Peter Kaagman. Licensed under MIT License.
Package Details
Author(s)
- Peter Kaagman
Tags
PowerShell StructMatcher RuleEngine Conditions Rules JSON Hashtable PSCustomObject
Functions
Dependencies
This module has no dependencies.
Release Notes
Exports Invoke-StructMatcher for evaluating conditions against nested structures.
2.0.1
- Refactored internal rule evaluation.
- Public API reduced to Invoke-StructMatcher.
- Added support for Hashtables, PSCustomObjects, and JSON text as input.
1.0.1
- Initial release
- Outer loop for rule evaluation not within the function, but rather in the calling context.
- Input data is expected to be a hashtable or PSCustomObject.
FileList
- StructMatcher.nuspec
- LICENSE
- .git\HEAD
- .git\hooks\pre-commit.sample
- .git\info\exclude
- .git\objects\3f\7fe6042df153891e8d510779432e78acbcbc40
- .git\objects\92\60338a222a4b2c0490d8ecdc32d4e3ba4371f5
- .git\objects\bb\f5d4960318437e33dfb1540763191a6c9f2f99
- .git\objects\eb\0f2563a1386ea3020776f3f1fc91c9ae4c6d25
- README.md
- .git\index
- .git\hooks\pre-merge-commit.sample
- .git\logs\HEAD
- .git\objects\41\a65b88fc34a9cb317526012fcae7e10d2fe516
- .git\objects\92\c2e78feb7f16bbf57bc29a540b473994a87e13
- .git\objects\c1\fd9fb5cb57bbcae42cf461e60a938e289490bd
- .git\objects\f4\5fb27f26c2995b29de85e07266427648d99d35
- .git\ORIG_HEAD
- .git\hooks\pre-push.sample
- Tests\Data\Rules.json
- .git\objects\54\1568778ed2b7d60d2746ea0c3c59cb279b205d
- .git\objects\98\f4324952782264d6ba1c95b002feeb6deb504f
- .git\objects\ce\2bc28d62b7b23634ea479c1f9ea0caeffa3e7c
- .git\refs\heads\main
- StructMatcher.psd1
- Tests\StructMatcher.Tests.ps1
- .git\hooks\pre-rebase.sample
- .git\objects\05\a0661ead3776eaccf4c5200c99ad848d08aaad
- .git\objects\58\ffb980b916a627b35c9ab8f4b42af517ac67a1
- .git\objects\9e\0f73608ce04ee7f36a2fe58476ab6f05806106
- .git\objects\cf\b09edf28b5e6300f88954d8e4a619edb4d1472
- .git\logs\refs\heads\main
- StructMatcher.psm1
- .git\hooks\applypatch-msg.sample
- .git\hooks\pre-receive.sample
- .git\objects\11\b89b580296fb762bfc80210e03eb3b52f35ef3
- .git\objects\79\ab3ff78ea78c0632f5d5ad24b3a39b4fb7a910
- .git\objects\9e\70a60436c49c1b71cc436a60ec32cfe6ad666a
- .git\objects\da\fd216a5f123ef5b0a8912ae0c604e5a7945ea9
- .git\refs\remotes\origin\HEAD
- .git\COMMIT_EDITMSG
- .git\hooks\commit-msg.sample
- .git\hooks\prepare-commit-msg.sample
- .git\objects\20\fd46eb274c174dd1e8bb6aced2783361aa655d
- .git\objects\85\d8737d02effe8a46efb2776b9a3ab7ad3e1c5c
- .git\objects\a0\8895c46ded9f6b45da4082b9dfdfbc879d1503
- .git\objects\db\bae92152e9e783cbbd8df28275311a8a8b1b03
- .git\refs\remotes\origin\main
- .git\config
- .git\hooks\fsmonitor-watchman.sample
- .git\hooks\push-to-checkout.sample
- .git\objects\23\3aa56c50885145dce606592f64a25553491d91
- .git\objects\86\4938ae903ef869774e245864c0c0e78d555e80
- .git\objects\a2\715bfe12397585749599295d8f0c3ba18df7ba
- .git\objects\dd\9ba180ae7efdfd25a1b11af1b0bc5e92baca22
- .git\logs\refs\remotes\origin\HEAD
- .git\description
- .git\hooks\post-update.sample
- .git\hooks\sendemail-validate.sample
- .git\objects\27\0bb86c1f15e1eade6778d6c61cb3125b35147d
- .git\objects\90\7c550b1b22a04746c744c605459467f6566192
- .git\objects\a3\41f0b2c91b84eb27cdd36dad5296e93cd710a6
- .git\objects\df\55c21344d2bc1eec66bde50462a2cb62652c38
- .git\logs\refs\remotes\origin\main
- .git\FETCH_HEAD
- .git\hooks\pre-applypatch.sample
- .git\hooks\update.sample
- .git\objects\2e\df91f2cbf7e3865ca73e9bcc78e243cff53a8b
- .git\objects\91\34d5036002be75aa8a88bcb468f9e8652204da
- .git\objects\bb\28ac69a6485d50ec1646d30b8f8463b0a553e5
- .git\objects\e1\7d3cb9c46b6a40c351ae149580a80d03463d6c
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 2.0.1 (current version) | 6 | 9/5/2026 |