feat: list orders function and a validations utils #10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Validation Centralization:
Introduced a new utils/validation.ts module containing reusable functions for validating public keys, private keys, and orders.
Replaced inline validations across the codebase with centralized methods to enhance reusability and consistency.
Core Enhancements in core/order.ts:
Added parseOrder, a function to transform Nostr events into Order objects.
Updated createOrder to leverage centralized validations and improved error handling for invalid inputs.
Client Extensions in client/order.ts:
Implemented listOrders, a function to fetch and deserialize orders from a Nostr relay using optional filters.
Refactored newOrder to validate inputs with centralized utilities, improving code robustness and clarity.
Improved Error Handling:
Added detailed error messages for cases like invalid keys, malformed orders, or relay fetch errors.