Skip to content

Feat/implement multiple new features#83

Merged
3m1n3nc3 merged 30 commits intomainfrom
feat/implement-multiple-new-features
Jan 16, 2026
Merged

Feat/implement multiple new features#83
3m1n3nc3 merged 30 commits intomainfrom
feat/implement-multiple-new-features

Conversation

@3m1n3nc3
Copy link
Copy Markdown
Member

@3m1n3nc3 3m1n3nc3 commented Jan 16, 2026

feat: Refactor URL handling and update related interfaces
feat: Implement hashing interfaces and session driver

  • Added IArgonHasher, IBcryptHasher, IBaseHashManager, and IHashManager interfaces for hashing functionalities.
  • Created HashManagerContract to define hash algorithm configurations.
  • Introduced ISessionDriver interface for consistent session management across different storage mechanisms.
  • Developed IRouteUrlGenerator and IUrlGenerator interfaces for URL generation.
  • Implemented global helper functions for application instance, request, response, session, and URL generation.
  • Added HashFacade, RequestFacade, and ResponseFacade for easier access to hashing and HTTP functionalities.
  • Introduced InteractsWithTime trait for handling time-related functionalities.

feat: Implement Finalizable and Magic mixins for enhanced class functionality

  • Added Finalizable trait to allow automatic finalization of class instances.
  • Introduced UseMagic mixin to emulate PHP magic methods in TypeScript classes.
  • Created comprehensive tests for mixins and traits to ensure expected behavior.
  • Developed Tappable and Macroable traits to enhance class capabilities with tap and macro functionalities.
  • Established AssetsServiceProvider and RouteServiceProvider for handling asset loading and routing registration.
  • Introduced BadMethodCallException for better error handling in macro calls.
  • Enhanced Facades system for improved application instance management.

feat(router): refactor route validation and pipeline structure

  • Removed Pipeline.ts contract and moved Pipe type to Utilities.ts.
  • Introduced IRouteValidator interface for route validation.
  • Updated HostValidator, MethodValidator, SchemeValidator, and UriValidator to extend IRouteValidator.
  • Enhanced Route class to include validators and fallback route functionality.
  • Improved RouteCollection to match routes based on request methods.
  • Added JsonResponse class for handling JSON responses.
  • Introduced Console utility for logging.
  • Updated Logger to handle error formatting and console-like output.
  • Updated dependencies in pnpm-lock.yaml and pnpm-workspace.yaml.

feat(router): implement RouteAction, RouteCollection, RouteGroup, RouteParameterBinder, RouteUri, and RouteDependencyResolver classes

  • Added RouteAction class for handling route actions and parsing.
  • Introduced RouteCollection class to manage routes and their lookups.
  • Created RouteGroup class for merging route group attributes.
  • Implemented RouteParameterBinder for binding route parameters from requests.
  • Developed RouteUri class for parsing and managing route URIs.
  • Added RouteDependencyResolver for resolving controller method dependencies.

test(router): add tests for router functionality

  • Implemented tests for route matching and action lookups.
  • Verified route registration and retrieval functionality.

feat(support): enhance Collection and Helpers

  • Introduced Collection class extending BaseCollection for better type handling.
  • Added tap function for executing callbacks with values.
  • Implemented HigherOrderTapProxy for dynamic method calls.

feat(validation): export validation contracts

  • Exported MessagesForRules and RulesForData types from validation contracts.
    feat(session): create session management library
    feat(validation): implement validation library

3m1n3nc3 and others added 30 commits November 7, 2025 03:39
- bind global default middleware via app.globalMiddleware
- improve core http kernel
- add withMiddleware handler to core Foundation class
- create middleware handling pipeline.
- bind global default middleware via app.globalMiddleware
- improve core http kernel
- add withMiddleware handler to core Foundation class
- create middleware handling pipeline.
…teParameterBinder, RouteUri, and RouteDependencyResolver classes

- Added RouteAction class for handling route actions and parsing.
- Introduced RouteCollection class to manage routes and their lookups.
- Created RouteGroup class for merging route group attributes.
- Implemented RouteParameterBinder for binding route parameters from requests.
- Developed RouteUri class for parsing and managing route URIs.
- Added RouteDependencyResolver for resolving controller method dependencies.

test(router): add tests for router functionality

- Implemented tests for route matching and action lookups.
- Verified route registration and retrieval functionality.

feat(support): enhance Collection and Helpers

- Introduced Collection class extending BaseCollection for better type handling.
- Added tap function for executing callbacks with values.
- Implemented HigherOrderTapProxy for dynamic method calls.

feat(validation): export validation contracts

- Exported MessagesForRules and RulesForData types from validation contracts.
- Removed Pipeline.ts contract and moved Pipe type to Utilities.ts.
- Introduced IRouteValidator interface for route validation.
- Updated HostValidator, MethodValidator, SchemeValidator, and UriValidator to extend IRouteValidator.
- Enhanced Route class to include validators and fallback route functionality.
- Improved RouteCollection to match routes based on request methods.
- Added JsonResponse class for handling JSON responses.
- Introduced Console utility for logging.
- Updated Logger to handle error formatting and console-like output.
- Updated dependencies in pnpm-lock.yaml and pnpm-workspace.yaml.
…ionality

- Added `Finalizable` trait to allow automatic finalization of class instances.
- Introduced `UseMagic` mixin to emulate PHP magic methods in TypeScript classes.
- Created comprehensive tests for mixins and traits to ensure expected behavior.
- Developed `Tappable` and `Macroable` traits to enhance class capabilities with tap and macro functionalities.
- Established `AssetsServiceProvider` and `RouteServiceProvider` for handling asset loading and routing registration.
- Introduced `BadMethodCallException` for better error handling in macro calls.
- Enhanced `Facades` system for improved application instance management.
- Moved `CreatesRegularExpressionRouteConstraints` import to a new `Traits` directory for better structure.
- Updated `Pipeline` class to improve error logging for unbound middlewares.
- Enhanced `Route` class with new methods for parameter management and trashed model bindings.
- Introduced `ImplicitRouteBinding` for resolving implicit route bindings with soft delete support.
- Added `RouteParameter` and `RouteSignatureParameters` classes for better parameter handling in routes.
- Implemented new exception classes for model not found scenarios.
- Updated shared package version to 0.28.0 and `@h3ravel/arquebus` to 0.7.3.
- Created a new `ProjectController` and `Project` model in the example app for demonstration.
- Added IArgonHasher, IBcryptHasher, IBaseHashManager, and IHashManager interfaces for hashing functionalities.
- Created HashManagerContract to define hash algorithm configurations.
- Introduced ISessionDriver interface for consistent session management across different storage mechanisms.
- Developed IRouteUrlGenerator and IUrlGenerator interfaces for URL generation.
- Implemented global helper functions for application instance, request, response, session, and URL generation.
- Added HashFacade, RequestFacade, and ResponseFacade for easier access to hashing and HTTP functionalities.
- Introduced InteractsWithTime trait for handling time-related functionalities.
…avel/framework into feat/implement-multiple-new-features
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment