Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

internal(other): Pre-Alpha M2 #91

Draft
wants to merge 163 commits into
base: develop-pre-alpha
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
c41442d
Added extra space
danijelgalic Sep 23, 2024
df36560
Added container (#92)
danijelgalic Sep 24, 2024
8ee1eb9
Added more registry methods (#92)
danijelgalic Sep 25, 2024
b7db0cd
Create ServiceProvider and ServiceManager classes (#92)
danijelgalic Sep 25, 2024
ab8ee78
Create bootable service providers (#92)
danijelgalic Sep 25, 2024
aeabb1f
Changes on callMethod (#92)
danijelgalic Sep 25, 2024
f9711b7
Adds ReflectionException (#94)
danijelgalic Sep 26, 2024
ad63495
Add instance check if an object on resolve method inside Container (#94)
danijelgalic Sep 26, 2024
b55e20b
Created Facade (#94)
danijelgalic Sep 26, 2024
750a39f
Update CHANGELOG.md (#94)
danijelgalic Sep 26, 2024
a10b006
Use of contracted form (#95)
danijelgalic Sep 26, 2024
375663a
Update description for random method (#95)
danijelgalic Sep 26, 2024
6a2c32f
Created read-only Collections (#95)
danijelgalic Sep 26, 2024
ba8edc0
Added a read-only collection as a possible Register type (#95)
danijelgalic Sep 26, 2024
0c41237
Added read-only classes (#95)
danijelgalic Sep 26, 2024
87e43e1
Renamed read-only classes (#95)
danijelgalic Sep 27, 2024
6d75fcc
Added get and exist methods to ReadonlyAssociative collection (#95)
danijelgalic Sep 27, 2024
51d3def
Update documentation (#95)
danijelgalic Sep 27, 2024
aa30b68
Added extra whitespace (#95)
danijelgalic Sep 30, 2024
82ed187
Added missing abstract constructor (#95)
danijelgalic Sep 30, 2024
8258250
Create Bag support class (#95)
danijelgalic Sep 30, 2024
6c3f450
Fixed username secret (#95)
danijelgalic Oct 1, 2024
1fef686
Create a Server and Headers bag (#95)
danijelgalic Oct 3, 2024
f24b2cd
Renamed Kernel runtime method to handle (#95)
danijelgalic Oct 3, 2024
db9e302
Renamed Kernel runtime method to handle (#95)
danijelgalic Oct 3, 2024
82d9eac
Renamed Kernel runtime method to handle (#95)
danijelgalic Oct 3, 2024
58c387b
Changed parameters from non-empty-lowercase-string to non-empty-strin…
danijelgalic Oct 3, 2024
8fe964d
Create empty request classes (#95)
danijelgalic Oct 3, 2024
7361584
Added more description (#95)
danijelgalic Oct 4, 2024
25e990f
Created basic Request and Server classes (#95)
danijelgalic Oct 4, 2024
adf99f7
Refactor container bindings (#95)
danijelgalic Oct 4, 2024
93acf46
Refactor container bindings (#95)
danijelgalic Oct 4, 2024
e3769d1
Switch Server and Request bag items (#95)
danijelgalic Oct 4, 2024
058d852
Update test (#95)
danijelgalic Oct 4, 2024
2efd1f4
Update on Kernel (#95)
danijelgalic Oct 4, 2024
5eda983
Bug with un_encoded_uri name (#95)
danijelgalic Oct 4, 2024
8f31f1f
Refactor Bootloaders (#95)
danijelgalic Oct 7, 2024
5080cd4
Wrong package (#95)
danijelgalic Oct 7, 2024
c15f478
Wrong visibility (#95)
danijelgalic Oct 7, 2024
95bbfe1
Refactor bootstraps (#95)
danijelgalic Oct 7, 2024
687d9ef
Create Url low-level class (#95)
danijelgalic Oct 7, 2024
30e9dc1
Removed final from IStr class (#95)
danijelgalic Oct 7, 2024
860a48a
Added parseQuery method (#95)
danijelgalic Oct 7, 2024
90dd21f
Refactor param docs (#95)
danijelgalic Oct 7, 2024
b0dbbdb
Create Url low-level class (#95)
danijelgalic Oct 8, 2024
f70ec10
Added phpstan ignore (#95)
danijelgalic Oct 8, 2024
7e57f3c
Changed REMOTE items from server bag to RequestHeaders bag (#95)
danijelgalic Oct 8, 2024
73ddd6f
Reactor bag items #95)
danijelgalic Oct 8, 2024
a492ebe
carryUntil and carryUntilLast had bug if none found they were returni…
danijelgalic Oct 8, 2024
5f93f00
Create Request (#95)
danijelgalic Oct 8, 2024
a0aec12
Updated Request (#95)
danijelgalic Oct 8, 2024
2e8ed3b
Added casesIf method for all enums (#95)
danijelgalic Oct 8, 2024
307d730
Added casesIf method param description (#95)
danijelgalic Oct 9, 2024
bd7e92d
Create additional request methods (#95)
danijelgalic Oct 9, 2024
c1ce8d5
Create Language enum and acceptLanguage request method (#95)
danijelgalic Oct 9, 2024
d5f9d23
Create Hash low-level class (#95)
danijelgalic Oct 10, 2024
90de974
Changed description (#95)
danijelgalic Oct 10, 2024
e787466
Added conditional request methods (#95)
danijelgalic Oct 10, 2024
833e126
Added cache to response bag (#95)
danijelgalic Oct 10, 2024
e1a16bc
Refactor any type for content encoding and mime type (#95)
danijelgalic Oct 10, 2024
88afb97
Create cache method (#95)
danijelgalic Oct 10, 2024
3713c0a
Added "vary" property (#95)
danijelgalic Oct 10, 2024
9752735
Create cookie method (#95)
danijelgalic Oct 10, 2024
4ac73fb
Create except method (#95)
danijelgalic Oct 10, 2024
bf8a0e2
Create forwarded method (#95)
danijelgalic Oct 10, 2024
cd42fe0
Refactor some methods (#95)
danijelgalic Oct 10, 2024
f9e0730
Changed permission policy from request to response and added from met…
danijelgalic Oct 10, 2024
6dc541a
Create time method for Request and fromFloat method for Timestamp (#95)
danijelgalic Oct 10, 2024
e713294
Refactor methods (#95)
danijelgalic Oct 11, 2024
f53722e
Refactor methods (#95)
danijelgalic Oct 11, 2024
fc4afea
Removed extra space (#95)
danijelgalic Oct 11, 2024
4ea4b04
Moved Url high-level class to HTTP namespace (#95)
danijelgalic Oct 11, 2024
4279a80
Create console Input high-level class (#95)
danijelgalic Oct 11, 2024
f46a221
Refactor server bag (#95)
danijelgalic Oct 11, 2024
3c54e73
Refactor kernel (#95)
danijelgalic Oct 11, 2024
45a6254
Create Server class (#95)
danijelgalic Oct 14, 2024
1951d5c
Rename bootloader RegisterKernel to RegisterBags (#95)
danijelgalic Oct 14, 2024
e2ab2bf
Added dot in description (#95)
danijelgalic Oct 14, 2024
2ca1c99
Removed class autoload suffix (#95)
danijelgalic Oct 14, 2024
8adb826
Created Request facades (#95)
danijelgalic Oct 14, 2024
968d6ef
Created Server facades (#95)
danijelgalic Oct 14, 2024
6fac17f
Added hostname to requests (#95)
danijelgalic Oct 14, 2024
67fdc91
Added hostname to requests (#95)
danijelgalic Oct 14, 2024
4008c0f
Create Network low-level class and more Server methods (#95)
danijelgalic Oct 14, 2024
07a7dcf
Create hostnameByAddress method (#95)
danijelgalic Oct 14, 2024
04289b1
Removed extra space (#95)
danijelgalic Oct 14, 2024
6f1c64c
Update docs (#95)
danijelgalic Oct 14, 2024
e7cee39
Added resource type (#95)
danijelgalic Oct 14, 2024
95a37db
Added resource type (#95)
danijelgalic Oct 14, 2024
a49f5a4
Create a PHP low-level support class (#95)
danijelgalic Oct 15, 2024
47bf33e
Create a PHP low-level support class (#95)
danijelgalic Oct 15, 2024
8e06dc5
Added more server methods (#95)
danijelgalic Oct 15, 2024
463abf3
Added more server methods (#95)
danijelgalic Oct 15, 2024
e110013
Added more server methods (#95)
danijelgalic Oct 15, 2024
b521daa
Added more server methods (#95)
danijelgalic Oct 15, 2024
f3bccc6
Added more server methods (#95)
danijelgalic Oct 15, 2024
d5a2118
Added more server methods (#95)
danijelgalic Oct 15, 2024
68caaea
Refactor (#95)
danijelgalic Oct 15, 2024
81c4fdf
Create an empty response (#95)
danijelgalic Oct 15, 2024
8d638e5
Create an empty response (#95)
danijelgalic Oct 15, 2024
94a3856
Typo (#95)
danijelgalic Oct 15, 2024
3b55b80
Refactor Request (#95)
danijelgalic Oct 17, 2024
c29011e
Create casesType method (#95)
danijelgalic Oct 17, 2024
df99ec3
Moved Method enum to support (#95)
danijelgalic Oct 17, 2024
58f6981
Create HTTP low-level proxy class (#95)
danijelgalic Oct 17, 2024
c976b48
Update HTTP low-level proxy class (#95)
danijelgalic Oct 17, 2024
8841250
Added font types to MimeType (#95)
danijelgalic Oct 17, 2024
b95a0b2
Rename MimeType to CommonMimeType (#95)
danijelgalic Oct 18, 2024
b4f8414
Rename method to authorization (#95)
danijelgalic Oct 18, 2024
bbfd9d3
Added Authentication Schema (#95)
danijelgalic Oct 18, 2024
d80719c
Added type conversion to int if argument is numeric in cache method (…
danijelgalic Oct 18, 2024
7dd97ad
Update docs (#95)
danijelgalic Oct 18, 2024
9664e7b
Fix bag values (#95)
danijelgalic Oct 18, 2024
1af90ae
Fix bag values (#95)
danijelgalic Oct 18, 2024
e7edfe9
Changed Kernel (#95)
danijelgalic Oct 18, 2024
4932217
Create HTTP Scheme Authentication enum (#95)
danijelgalic Oct 21, 2024
fd75527
Removed container from description (#95)
danijelgalic Oct 21, 2024
e85a3ce
Added codeStatus method(#95)
danijelgalic Oct 21, 2024
34da9b7
Added response methods (#95)
danijelgalic Oct 21, 2024
1ad96ed
Added response methods (#95)
danijelgalic Oct 21, 2024
e1b8259
Typo in doc (#95)
danijelgalic Oct 21, 2024
ce876cb
Create more Response methods (#95)
danijelgalic Oct 21, 2024
738ff22
Create contentSecurityPolicy method (#95)
danijelgalic Oct 22, 2024
4b467b9
Create eTag method (#95)
danijelgalic Oct 22, 2024
74fd1ec
Create lastModified method and added server bag to kernel (#95)
danijelgalic Oct 22, 2024
838829d
Create status and link methods (#95)
danijelgalic Oct 22, 2024
1615e3b
Create serverTiming method (#95)
danijelgalic Oct 22, 2024
998afc9
Create vary method (#95)
danijelgalic Oct 22, 2024
45a3c0f
Removed import (#95)
danijelgalic Oct 22, 2024
61f4e34
Update documents
danijelgalic Oct 22, 2024
062acfa
Removed the response bag and added a redirect method to Response
danijelgalic Oct 22, 2024
edfdc88
Update CHANGELOG.md (#104)
danijelgalic Oct 22, 2024
04c6b78
Typo (#104)
danijelgalic Oct 22, 2024
cf39721
Refactor Kernel constructor (#104)
danijelgalic Oct 22, 2024
6593802
Refactor Kernel constructor (#104)
danijelgalic Oct 22, 2024
b89a49a
Removed Closure from the abstract parameter in call method (#104)
danijelgalic Oct 23, 2024
4801a3b
Created Pipeline (#104)
danijelgalic Oct 24, 2024
c0de8f7
Added description for Closure (#104)
danijelgalic Oct 24, 2024
a9b674a
Added param to $destination (#104)
danijelgalic Oct 24, 2024
bccb59d
Updated docs (#104)
danijelgalic Oct 25, 2024
f88709c
Created Middleware (#104)
danijelgalic Oct 25, 2024
f6d5960
Created new notSecured method (#104)
danijelgalic Oct 25, 2024
0fe1785
Update docs (#104)
danijelgalic Oct 25, 2024
8f88966
Added parseConfigurationQuantity method (#104)
danijelgalic Oct 25, 2024
7223e52
Added contentLength method (#104)
danijelgalic Oct 25, 2024
d983f3d
Created ValidatePostSize middleware (#104)
danijelgalic Oct 25, 2024
aaa32b4
Update descx (#104)
danijelgalic Oct 25, 2024
b6e1685
Added pipeline (#104)
danijelgalic Oct 25, 2024
8849d64
Added support for an object as Pipeline pipes (#104)
danijelgalic Oct 25, 2024
d4aa09b
Created trusted and untrusted host and address middleware (#104)
danijelgalic Oct 25, 2024
c2e3086
Removed extra space (#104)
danijelgalic Oct 28, 2024
c121cda
Update docs (#104)
danijelgalic Oct 28, 2024
691a119
Rearranged bag items (#104)
danijelgalic Oct 28, 2024
6f1cc33
Return middleware (#104)
danijelgalic Oct 28, 2024
27dcf68
Update for v0.2.4 (#104)
danijelgalic Oct 28, 2024
e61d788
Create Router (#106)
danijelgalic Oct 28, 2024
35b8140
Changed title (#106)
danijelgalic Oct 28, 2024
5372fdc
Removed extra space (#106)
danijelgalic Oct 29, 2024
2a3d7c3
Removed extra space (#106)
danijelgalic Oct 29, 2024
cab5025
Update CodeCoverage.yml
dieselxxx Nov 4, 2024
ebb79f4
Update CodeCoverage.yml
dieselxxx Nov 4, 2024
e07f89a
Update CodeCoverage.yml
dieselxxx Nov 4, 2024
f34c369
Create lint.yml
dieselxxx Nov 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions .github/workflows/CodeCoverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,13 @@ jobs:
extensions: mbstring
tools: phpunit
- name: Run PHPUnit and collect coverage
run: phpunit --coverage-clover coverage.xml .
run: phpunit --log-junit junit.xml --coverage-clover coverage.xml .
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4-beta
env:
CODECOV_TOKEN: ${{ secrets.CODECOV }}
CODECOV_TOKEN: ${{ secrets.CODECOV }}
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV }}
2 changes: 1 addition & 1 deletion .github/workflows/PublishDockerImage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
on: [push, pull_request]
name: Main
jobs:
php-cs-fixer:
name: PHP-CS-Fixer
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: PHP-CS-Fixer
uses: docker://oskarstark/php-cs-fixer-ga
41 changes: 38 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,46 @@
# Release Notes for v0.x.x.pre-alpha

## [Unreleased](https://github.com/The-FireHub-Project/Core/compare/v0.2.0...develop-pre-alpha-m2)
## [Unreleased](https://github.com/The-FireHub-Project/Core/compare/v0.2.4...develop-pre-alpha-m2)

## [v0.2.0](https://github.com/The-FireHub-Project/Core/compare/v0.1.7...v0.2.0) - (2024-09-23)
## [v0.2.4](https://github.com/The-FireHub-Project/Core/compare/v0.2.3...v0.2.4) - (2024-10-28)

### Added
- Created Pipeline ([#104](https://github.com/The-FireHub-Project/Core/issues/104), [4801a3b](https://github.com/The-FireHub-Project/Core/pull/91/commits/4801a3b))
- Created Middleware ([#104](https://github.com/The-FireHub-Project/Core/issues/104), [f88709c](https://github.com/The-FireHub-Project/Core/pull/91/commits/f88709c))

## [v0.2.3](https://github.com/The-FireHub-Project/Core/compare/v0.2.2...v0.2.3) - (2024-10-22)

### Added
- Created read-only Collections ([#95](https://github.com/The-FireHub-Project/Core/issues/95), [6a2c32f](https://github.com/The-FireHub-Project/Core/pull/91/commits/6a2c32f))
- Added a read-only collection as a possible Register type ([#95](https://github.com/The-FireHub-Project/Core/issues/95), [ba8edc0](https://github.com/The-FireHub-Project/Core/pull/91/commits/ba8edc0))
- Create Bag support class ([#95](https://github.com/The-FireHub-Project/Core/issues/95), [8258250](https://github.com/The-FireHub-Project/Core/pull/91/commits/8258250))
- Create a Server and Headers bag ([#95](https://github.com/The-FireHub-Project/Core/issues/95), [1fef686](https://github.com/The-FireHub-Project/Core/pull/91/commits/1fef686))
- Create Url low-level class ([#95](https://github.com/The-FireHub-Project/Core/issues/95), [b0dbbdb](https://github.com/The-FireHub-Project/Core/pull/91/commits/b0dbbdb))
- Create Request ([#95](https://github.com/The-FireHub-Project/Core/issues/95), [5f93f00](https://github.com/The-FireHub-Project/Core/pull/91/commits/5f93f00))
- Create Hash low-level class ([#95](https://github.com/The-FireHub-Project/Core/issues/95), [d5f9d23](https://github.com/The-FireHub-Project/Core/pull/91/commits/d5f9d23))
- Create a PHP low-level support class ([#95](https://github.com/The-FireHub-Project/Core/issues/95), [a49f5a4](https://github.com/The-FireHub-Project/Core/pull/91/commits/a49f5a4))
- Added casesIf method for all enums ([#95](https://github.com/The-FireHub-Project/Core/issues/95), [2e8ed3b](https://github.com/The-FireHub-Project/Core/pull/91/commits/2e8ed3b))

### Fixed
- carryUntil and carryUntilLast had bug if none found they were returning an empty result ([#95](https://github.com/The-FireHub-Project/Core/issues/95), [a492ebe](https://github.com/The-FireHub-Project/Core/pull/91/commits/a492ebe))

## [v0.2.2](https://github.com/The-FireHub-Project/Core/compare/v0.2.1...v0.2.2) - (2024-09-26)

## Added
### Added
- Created Facade ([#94](https://github.com/The-FireHub-Project/Core/issues/94), [b55e20b](https://github.com/The-FireHub-Project/Core/pull/91/commits/b55e20b))

### Changed
- Adds ReflectionException to Container ([#94](https://github.com/The-FireHub-Project/Core/issues/94), [f9711b7](https://github.com/The-FireHub-Project/Core/pull/91/commits/f9711b7))
- Added instance check if an object on resolve method inside Container ([#94](https://github.com/The-FireHub-Project/Core/issues/94), [ad63495](https://github.com/The-FireHub-Project/Core/pull/91/commits/ad63495))

## [v0.2.1](https://github.com/The-FireHub-Project/Core/compare/v0.2.0...v0.2.1) - (2024-09-25)

### Added
- Create ServiceProvider and ServiceManager classes ([#91](https://github.com/The-FireHub-Project/Core/issues/91), [b7db0cd](https://github.com/The-FireHub-Project/Core/pull/91/commits/b7db0cd))

## [v0.2.0](https://github.com/The-FireHub-Project/Core/compare/v0.1.7...v0.2.0) - (2024-09-23)

### Added
- Create Init Instance base type ([#89](https://github.com/The-FireHub-Project/Core/issues/89), [817d2b7](https://github.com/The-FireHub-Project/Core/pull/7/commits/817d2b7))
- Create Container class ([#89](https://github.com/The-FireHub-Project/Core/issues/89), [55bb910](https://github.com/The-FireHub-Project/Core/pull/7/commits/55bb910))

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<div align="center">
<a href="./.github/SECURITY.md#supported-versions"><img alt="release" style="max-width: 100%;" src="https://img.shields.io/badge/Release-DEV-black?style=flat&labelColor=30363d&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMzMuNjUxIDM4Ny4wOSI+CiAgICA8dGl0bGU+RmlyZWh1YiBJY29uPC90aXRsZT4KICAgIDxzdHlsZT4KICAgICAgICAuY29sb3Ige2ZpbGw6ICNkNTAwMDA7fQogICAgPC9zdHlsZT4KICAgIDxnPgogICAgICAgIDxwYXRoIGNsYXNzPSJjb2xvciIgZD0iTTI2Ny4xMDYsMjYyLjU2MWMxMC41LTE3LjYzMSwxOS42My0zNi45MzEsMjAuMTItNTcuNDUxYzAuNDktMjAuNTItOS42LTQyLjQxOS0yOC40Ni01MC41MmM1LjcxLDkuNjcsMTAuMjUsMjAuNjIsOS4yOCwzMS44MWMtMC45NywxMS4xOS04Ljg2LDIyLjM3LTIwLDI0Yy0xMC40OSwxLjUyOS0yMC43Ny01Ljg1MS0yNS41MS0xNS4zNGMtNC43NC05LjQ5MS00LjYyLTIwLjU2MS00LTMxLjE1QzIyNC4zOTYsNTYuMTcsMTQyLjA0Niw1Ljk0LDEyNy4yODYsMGMwLDAsMTEuNDksMTIuMzksMTMuODgsMzAuNTNjMS45LDE0LjQ0LDAuMTcsMjkuMjItMy4zNCw0My4yNGMtMTAuODgsNDMuMzUtMzYuODYsNzcuODItNTguNTksMTE2Yy0xNC41OCwyNS41OC0yNCw1NC4wNS0yMy4zMiw4My42OWMwLjc2LDM0LDE2LDY3LjksNDIuNzMsODguODdjMTMuMDUsMTAuMjI5LDI4LjMyLDE3LjY1LDQzLjg0LDIzLjI5Yy0yLjE5LTIuNjItNC44NS01LjYyLTctOC42MDFjLTE4LjY4LTI1LjkzOS0zMi4yNi01MS41LTMzLjE3LTg0LjEwOWMtMC43Ny0yOC4yMyw3LjQtNTMuOTMsMTUuMTQtODAuNjFjLTAuOTEsMy4xNCwxLjgzLDEwLjcsMi4xLDE0LjIxYzAuNDEsNS40LDAuNDYsMTAuODIsMC41LDE2LjIyMWMwLjA4LDExLjQ3LTAuMTQsMjMsMS4zMiwzNC4zNzljMy40MiwyNi43NCwxOC4yOCw0OS43MTEsNDMuMjYsNjEuMjAxYy04LjQ3LTE5LjY5LTkuMzEtMzYuMzAxLTEuMjgtNTYuNzIxYzYuMDUtMTUuMzY5LDE0LjcxLTI5Ljc3OSwxOC45NC00NS43NWM4LjYzLTMyLjU2LTIuNDItNjcuNjQtMjAuNzUtOTUuODljMTcuMzIsMTUuMzEsMzIsMzQuNDUsMzguMyw1Ni43YzcuMzYsMjYsMi44Niw1My41NiwwLDgwLjM5Yy0yLjUxLDIzLjIxLTMuNzEsNDgsNS40Miw3MC4wNWM4LDE5LjIzLDIyLjQsMjkuNTIxLDM5LjUxLDQwYy0zLjY0NC0zLjAxMS02LjU2Ni02LjgtOC41NS0xMS4wOWMtOS4xNi0xOC4zNy02LjczLTQwLjY2LDAuNzktNTkuNzZTMjU2LjYxNiwyODAuMiwyNjcuMTA2LDI2Mi41NjF6Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNvbG9yIiBkPSJNMTczLjEzNiwyMi40M2M1LjA3OCw0Ljk5MSw5Ljg3MiwxMC4yNjIsMTQuMzYsMTUuNzljMS43NzMsMi4xODcsMy40ODMsNC40LDUuMTMsNi42NGM3OS42NzQsMTQuMjQ0LDEzMi43MTYsOTAuMzgsMTE4LjQ3MiwxNzAuMDU0Yy02Ljk0NywzOC44NTctMjkuMjc2LDczLjI3LTYxLjkzMiw5NS40NDZjLTEuNDMsMy0yLjc3LDYtNCw5Yy0yLjUyOCw2LjM3Ny00LjMzLDEzLjAxOS01LjM3LDE5LjhjODIuODQ5LTQwLjMyOSwxMTcuMzE4LTE0MC4xODUsNzYuOTg5LTIyMy4wMzNDMjg5Ljg0OSw2MC43OSwyMzQuNjM1LDI0Ljc3NywxNzMuMTM2LDIyLjQzeiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjb2xvciIgZD0iTTQ3LjA0NiwyNzMuNjA5di0wLjA4QzAuNDM1LDIwNy4zNTQsMTYuMjk2LDExNS45MjMsODIuNDcxLDY5LjMxM2MxNS4yNTQtMTAuNzQ0LDMyLjQyLTE4LjQ3Nyw1MC41NzUtMjIuNzgzYzAuMjEyLTQuOTYyLDAuMDA1LTkuOTMzLTAuNjItMTQuODZjLTAuMjUzLTEuODc1LTAuNjI0LTMuNzMxLTEuMTEtNS41NkM0MS4yOTksNDUuNzM4LTE1Ljc2MywxMzQuNjIzLDMuODY1LDIyNC42NGM3LjI4LDMzLjM5LDI0LjY0LDYzLjczOCw0OS43MzEsODYuOTRDNDkuNTU5LDI5OS4zMTQsNDcuMzUyLDI4Ni41Miw0Ny4wNDYsMjczLjYwOXoiLz4KICAgIDwvZz4KPC9zdmc+"></a>
<a href=""><img alt="version" style="max-width: 100%;" src="https://img.shields.io/badge/Version-0.2.0.pre--alpha.M2-d50000?style=flat&labelColor=30363d&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMzMuNjUxIDM4Ny4wOSI+CiAgICA8dGl0bGU+RmlyZWh1YiBJY29uPC90aXRsZT4KICAgIDxzdHlsZT4KICAgICAgICAuY29sb3Ige2ZpbGw6ICNkNTAwMDA7fQogICAgPC9zdHlsZT4KICAgIDxnPgogICAgICAgIDxwYXRoIGNsYXNzPSJjb2xvciIgZD0iTTI2Ny4xMDYsMjYyLjU2MWMxMC41LTE3LjYzMSwxOS42My0zNi45MzEsMjAuMTItNTcuNDUxYzAuNDktMjAuNTItOS42LTQyLjQxOS0yOC40Ni01MC41MmM1LjcxLDkuNjcsMTAuMjUsMjAuNjIsOS4yOCwzMS44MWMtMC45NywxMS4xOS04Ljg2LDIyLjM3LTIwLDI0Yy0xMC40OSwxLjUyOS0yMC43Ny01Ljg1MS0yNS41MS0xNS4zNGMtNC43NC05LjQ5MS00LjYyLTIwLjU2MS00LTMxLjE1QzIyNC4zOTYsNTYuMTcsMTQyLjA0Niw1Ljk0LDEyNy4yODYsMGMwLDAsMTEuNDksMTIuMzksMTMuODgsMzAuNTNjMS45LDE0LjQ0LDAuMTcsMjkuMjItMy4zNCw0My4yNGMtMTAuODgsNDMuMzUtMzYuODYsNzcuODItNTguNTksMTE2Yy0xNC41OCwyNS41OC0yNCw1NC4wNS0yMy4zMiw4My42OWMwLjc2LDM0LDE2LDY3LjksNDIuNzMsODguODdjMTMuMDUsMTAuMjI5LDI4LjMyLDE3LjY1LDQzLjg0LDIzLjI5Yy0yLjE5LTIuNjItNC44NS01LjYyLTctOC42MDFjLTE4LjY4LTI1LjkzOS0zMi4yNi01MS41LTMzLjE3LTg0LjEwOWMtMC43Ny0yOC4yMyw3LjQtNTMuOTMsMTUuMTQtODAuNjFjLTAuOTEsMy4xNCwxLjgzLDEwLjcsMi4xLDE0LjIxYzAuNDEsNS40LDAuNDYsMTAuODIsMC41LDE2LjIyMWMwLjA4LDExLjQ3LTAuMTQsMjMsMS4zMiwzNC4zNzljMy40MiwyNi43NCwxOC4yOCw0OS43MTEsNDMuMjYsNjEuMjAxYy04LjQ3LTE5LjY5LTkuMzEtMzYuMzAxLTEuMjgtNTYuNzIxYzYuMDUtMTUuMzY5LDE0LjcxLTI5Ljc3OSwxOC45NC00NS43NWM4LjYzLTMyLjU2LTIuNDItNjcuNjQtMjAuNzUtOTUuODljMTcuMzIsMTUuMzEsMzIsMzQuNDUsMzguMyw1Ni43YzcuMzYsMjYsMi44Niw1My41NiwwLDgwLjM5Yy0yLjUxLDIzLjIxLTMuNzEsNDgsNS40Miw3MC4wNWM4LDE5LjIzLDIyLjQsMjkuNTIxLDM5LjUxLDQwYy0zLjY0NC0zLjAxMS02LjU2Ni02LjgtOC41NS0xMS4wOWMtOS4xNi0xOC4zNy02LjczLTQwLjY2LDAuNzktNTkuNzZTMjU2LjYxNiwyODAuMiwyNjcuMTA2LDI2Mi41NjF6Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNvbG9yIiBkPSJNMTczLjEzNiwyMi40M2M1LjA3OCw0Ljk5MSw5Ljg3MiwxMC4yNjIsMTQuMzYsMTUuNzljMS43NzMsMi4xODcsMy40ODMsNC40LDUuMTMsNi42NGM3OS42NzQsMTQuMjQ0LDEzMi43MTYsOTAuMzgsMTE4LjQ3MiwxNzAuMDU0Yy02Ljk0NywzOC44NTctMjkuMjc2LDczLjI3LTYxLjkzMiw5NS40NDZjLTEuNDMsMy0yLjc3LDYtNCw5Yy0yLjUyOCw2LjM3Ny00LjMzLDEzLjAxOS01LjM3LDE5LjhjODIuODQ5LTQwLjMyOSwxMTcuMzE4LTE0MC4xODUsNzYuOTg5LTIyMy4wMzNDMjg5Ljg0OSw2MC43OSwyMzQuNjM1LDI0Ljc3NywxNzMuMTM2LDIyLjQzeiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjb2xvciIgZD0iTTQ3LjA0NiwyNzMuNjA5di0wLjA4QzAuNDM1LDIwNy4zNTQsMTYuMjk2LDExNS45MjMsODIuNDcxLDY5LjMxM2MxNS4yNTQtMTAuNzQ0LDMyLjQyLTE4LjQ3Nyw1MC41NzUtMjIuNzgzYzAuMjEyLTQuOTYyLDAuMDA1LTkuOTMzLTAuNjItMTQuODZjLTAuMjUzLTEuODc1LTAuNjI0LTMuNzMxLTEuMTEtNS41NkM0MS4yOTksNDUuNzM4LTE1Ljc2MywxMzQuNjIzLDMuODY1LDIyNC42NGM3LjI4LDMzLjM5LDI0LjY0LDYzLjczOCw0OS43MzEsODYuOTRDNDkuNTU5LDI5OS4zMTQsNDcuMzUyLDI4Ni41Miw0Ny4wNDYsMjczLjYwOXoiLz4KICAgIDwvZz4KPC9zdmc+"></a>
<a href=""><img alt="version" style="max-width: 100%;" src="https://img.shields.io/badge/Version-0.2.3.pre--alpha.M2-d50000?style=flat&labelColor=30363d&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMzMuNjUxIDM4Ny4wOSI+CiAgICA8dGl0bGU+RmlyZWh1YiBJY29uPC90aXRsZT4KICAgIDxzdHlsZT4KICAgICAgICAuY29sb3Ige2ZpbGw6ICNkNTAwMDA7fQogICAgPC9zdHlsZT4KICAgIDxnPgogICAgICAgIDxwYXRoIGNsYXNzPSJjb2xvciIgZD0iTTI2Ny4xMDYsMjYyLjU2MWMxMC41LTE3LjYzMSwxOS42My0zNi45MzEsMjAuMTItNTcuNDUxYzAuNDktMjAuNTItOS42LTQyLjQxOS0yOC40Ni01MC41MmM1LjcxLDkuNjcsMTAuMjUsMjAuNjIsOS4yOCwzMS44MWMtMC45NywxMS4xOS04Ljg2LDIyLjM3LTIwLDI0Yy0xMC40OSwxLjUyOS0yMC43Ny01Ljg1MS0yNS41MS0xNS4zNGMtNC43NC05LjQ5MS00LjYyLTIwLjU2MS00LTMxLjE1QzIyNC4zOTYsNTYuMTcsMTQyLjA0Niw1Ljk0LDEyNy4yODYsMGMwLDAsMTEuNDksMTIuMzksMTMuODgsMzAuNTNjMS45LDE0LjQ0LDAuMTcsMjkuMjItMy4zNCw0My4yNGMtMTAuODgsNDMuMzUtMzYuODYsNzcuODItNTguNTksMTE2Yy0xNC41OCwyNS41OC0yNCw1NC4wNS0yMy4zMiw4My42OWMwLjc2LDM0LDE2LDY3LjksNDIuNzMsODguODdjMTMuMDUsMTAuMjI5LDI4LjMyLDE3LjY1LDQzLjg0LDIzLjI5Yy0yLjE5LTIuNjItNC44NS01LjYyLTctOC42MDFjLTE4LjY4LTI1LjkzOS0zMi4yNi01MS41LTMzLjE3LTg0LjEwOWMtMC43Ny0yOC4yMyw3LjQtNTMuOTMsMTUuMTQtODAuNjFjLTAuOTEsMy4xNCwxLjgzLDEwLjcsMi4xLDE0LjIxYzAuNDEsNS40LDAuNDYsMTAuODIsMC41LDE2LjIyMWMwLjA4LDExLjQ3LTAuMTQsMjMsMS4zMiwzNC4zNzljMy40MiwyNi43NCwxOC4yOCw0OS43MTEsNDMuMjYsNjEuMjAxYy04LjQ3LTE5LjY5LTkuMzEtMzYuMzAxLTEuMjgtNTYuNzIxYzYuMDUtMTUuMzY5LDE0LjcxLTI5Ljc3OSwxOC45NC00NS43NWM4LjYzLTMyLjU2LTIuNDItNjcuNjQtMjAuNzUtOTUuODljMTcuMzIsMTUuMzEsMzIsMzQuNDUsMzguMyw1Ni43YzcuMzYsMjYsMi44Niw1My41NiwwLDgwLjM5Yy0yLjUxLDIzLjIxLTMuNzEsNDgsNS40Miw3MC4wNWM4LDE5LjIzLDIyLjQsMjkuNTIxLDM5LjUxLDQwYy0zLjY0NC0zLjAxMS02LjU2Ni02LjgtOC41NS0xMS4wOWMtOS4xNi0xOC4zNy02LjczLTQwLjY2LDAuNzktNTkuNzZTMjU2LjYxNiwyODAuMiwyNjcuMTA2LDI2Mi41NjF6Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNvbG9yIiBkPSJNMTczLjEzNiwyMi40M2M1LjA3OCw0Ljk5MSw5Ljg3MiwxMC4yNjIsMTQuMzYsMTUuNzljMS43NzMsMi4xODcsMy40ODMsNC40LDUuMTMsNi42NGM3OS42NzQsMTQuMjQ0LDEzMi43MTYsOTAuMzgsMTE4LjQ3MiwxNzAuMDU0Yy02Ljk0NywzOC44NTctMjkuMjc2LDczLjI3LTYxLjkzMiw5NS40NDZjLTEuNDMsMy0yLjc3LDYtNCw5Yy0yLjUyOCw2LjM3Ny00LjMzLDEzLjAxOS01LjM3LDE5LjhjODIuODQ5LTQwLjMyOSwxMTcuMzE4LTE0MC4xODUsNzYuOTg5LTIyMy4wMzNDMjg5Ljg0OSw2MC43OSwyMzQuNjM1LDI0Ljc3NywxNzMuMTM2LDIyLjQzeiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjb2xvciIgZD0iTTQ3LjA0NiwyNzMuNjA5di0wLjA4QzAuNDM1LDIwNy4zNTQsMTYuMjk2LDExNS45MjMsODIuNDcxLDY5LjMxM2MxNS4yNTQtMTAuNzQ0LDMyLjQyLTE4LjQ3Nyw1MC41NzUtMjIuNzgzYzAuMjEyLTQuOTYyLDAuMDA1LTkuOTMzLTAuNjItMTQuODZjLTAuMjUzLTEuODc1LTAuNjI0LTMuNzMxLTEuMTEtNS41NkM0MS4yOTksNDUuNzM4LTE1Ljc2MywxMzQuNjIzLDMuODY1LDIyNC42NGM3LjI4LDMzLjM5LDI0LjY0LDYzLjczOCw0OS43MzEsODYuOTRDNDkuNTU5LDI5OS4zMTQsNDcuMzUyLDI4Ni41Miw0Ny4wNDYsMjczLjYwOXoiLz4KICAgIDwvZz4KPC9zdmc+"></a>
<a href="LICENSE.md"><img alt="license" style="max-width: 100%;" src="https://img.shields.io/badge/License-OSL%203.0-d50000.svg?style=flat&labelColor=30363d&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMzMuNjUxIDM4Ny4wOSI+CiAgICA8dGl0bGU+RmlyZWh1YiBJY29uPC90aXRsZT4KICAgIDxzdHlsZT4KICAgICAgICAuY29sb3Ige2ZpbGw6ICNkNTAwMDA7fQogICAgPC9zdHlsZT4KICAgIDxnPgogICAgICAgIDxwYXRoIGNsYXNzPSJjb2xvciIgZD0iTTI2Ny4xMDYsMjYyLjU2MWMxMC41LTE3LjYzMSwxOS42My0zNi45MzEsMjAuMTItNTcuNDUxYzAuNDktMjAuNTItOS42LTQyLjQxOS0yOC40Ni01MC41MmM1LjcxLDkuNjcsMTAuMjUsMjAuNjIsOS4yOCwzMS44MWMtMC45NywxMS4xOS04Ljg2LDIyLjM3LTIwLDI0Yy0xMC40OSwxLjUyOS0yMC43Ny01Ljg1MS0yNS41MS0xNS4zNGMtNC43NC05LjQ5MS00LjYyLTIwLjU2MS00LTMxLjE1QzIyNC4zOTYsNTYuMTcsMTQyLjA0Niw1Ljk0LDEyNy4yODYsMGMwLDAsMTEuNDksMTIuMzksMTMuODgsMzAuNTNjMS45LDE0LjQ0LDAuMTcsMjkuMjItMy4zNCw0My4yNGMtMTAuODgsNDMuMzUtMzYuODYsNzcuODItNTguNTksMTE2Yy0xNC41OCwyNS41OC0yNCw1NC4wNS0yMy4zMiw4My42OWMwLjc2LDM0LDE2LDY3LjksNDIuNzMsODguODdjMTMuMDUsMTAuMjI5LDI4LjMyLDE3LjY1LDQzLjg0LDIzLjI5Yy0yLjE5LTIuNjItNC44NS01LjYyLTctOC42MDFjLTE4LjY4LTI1LjkzOS0zMi4yNi01MS41LTMzLjE3LTg0LjEwOWMtMC43Ny0yOC4yMyw3LjQtNTMuOTMsMTUuMTQtODAuNjFjLTAuOTEsMy4xNCwxLjgzLDEwLjcsMi4xLDE0LjIxYzAuNDEsNS40LDAuNDYsMTAuODIsMC41LDE2LjIyMWMwLjA4LDExLjQ3LTAuMTQsMjMsMS4zMiwzNC4zNzljMy40MiwyNi43NCwxOC4yOCw0OS43MTEsNDMuMjYsNjEuMjAxYy04LjQ3LTE5LjY5LTkuMzEtMzYuMzAxLTEuMjgtNTYuNzIxYzYuMDUtMTUuMzY5LDE0LjcxLTI5Ljc3OSwxOC45NC00NS43NWM4LjYzLTMyLjU2LTIuNDItNjcuNjQtMjAuNzUtOTUuODljMTcuMzIsMTUuMzEsMzIsMzQuNDUsMzguMyw1Ni43YzcuMzYsMjYsMi44Niw1My41NiwwLDgwLjM5Yy0yLjUxLDIzLjIxLTMuNzEsNDgsNS40Miw3MC4wNWM4LDE5LjIzLDIyLjQsMjkuNTIxLDM5LjUxLDQwYy0zLjY0NC0zLjAxMS02LjU2Ni02LjgtOC41NS0xMS4wOWMtOS4xNi0xOC4zNy02LjczLTQwLjY2LDAuNzktNTkuNzZTMjU2LjYxNiwyODAuMiwyNjcuMTA2LDI2Mi41NjF6Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9ImNvbG9yIiBkPSJNMTczLjEzNiwyMi40M2M1LjA3OCw0Ljk5MSw5Ljg3MiwxMC4yNjIsMTQuMzYsMTUuNzljMS43NzMsMi4xODcsMy40ODMsNC40LDUuMTMsNi42NGM3OS42NzQsMTQuMjQ0LDEzMi43MTYsOTAuMzgsMTE4LjQ3MiwxNzAuMDU0Yy02Ljk0NywzOC44NTctMjkuMjc2LDczLjI3LTYxLjkzMiw5NS40NDZjLTEuNDMsMy0yLjc3LDYtNCw5Yy0yLjUyOCw2LjM3Ny00LjMzLDEzLjAxOS01LjM3LDE5LjhjODIuODQ5LTQwLjMyOSwxMTcuMzE4LTE0MC4xODUsNzYuOTg5LTIyMy4wMzNDMjg5Ljg0OSw2MC43OSwyMzQuNjM1LDI0Ljc3NywxNzMuMTM2LDIyLjQzeiIvPgogICAgICAgIDxwYXRoIGNsYXNzPSJjb2xvciIgZD0iTTQ3LjA0NiwyNzMuNjA5di0wLjA4QzAuNDM1LDIwNy4zNTQsMTYuMjk2LDExNS45MjMsODIuNDcxLDY5LjMxM2MxNS4yNTQtMTAuNzQ0LDMyLjQyLTE4LjQ3Nyw1MC41NzUtMjIuNzgzYzAuMjEyLTQuOTYyLDAuMDA1LTkuOTMzLTAuNjItMTQuODZjLTAuMjUzLTEuODc1LTAuNjI0LTMuNzMxLTEuMTEtNS41NkM0MS4yOTksNDUuNzM4LTE1Ljc2MywxMzQuNjIzLDMuODY1LDIyNC42NGM3LjI4LDMzLjM5LDI0LjY0LDYzLjczOCw0OS43MzEsODYuOTRDNDkuNTU5LDI5OS4zMTQsNDcuMzUyLDI4Ni41Miw0Ny4wNDYsMjczLjYwOXoiLz4KICAgIDwvZz4KPC9zdmc+"></a>
</div>

Expand Down
Binary file modified phar/core.min.phar
Binary file not shown.
Binary file modified phar/core.phar
Binary file not shown.
2 changes: 1 addition & 1 deletion phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ parameters:
reportMaybesInPropertyPhpDocTypes: true
reportStaticMethodSignatures: true
reportUnmatchedIgnoredErrors: false
checkUninitializedProperties: true
checkUninitializedProperties: false
checkImplicitMixed: true
tipsOfTheDay: false
13 changes: 13 additions & 0 deletions src/base/firehub.InitEnum.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,17 @@ interface InitEnum extends Base, UnitEnum {
*/
public static function cases ():array;

/**
* ### Generates a list of cases on an enum based on callable
* @since 1.0.0
*
* @param callable(static $case):bool $callback <p>
* <code>callable(static $case):bool</code>
* Callable test.
* </p>
*
* @return array<static> Packed array of all cases in an enumeration based on callable, in order of declaration.
*/
public static function casesIf (callable $callback):array;

}
16 changes: 16 additions & 0 deletions src/base/trait/firehub.ConcreteEnum.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,20 @@ public static function asJSON ():string {

}

/**
* @inheritDoc
*
* @since 1.0.0
*/
public static function casesIf (callable $callback):array {

$cases = [];
foreach (self::cases() as $case) {
if ($callback($case)) $cases[] = $case;
}

return $cases;

}

}
31 changes: 31 additions & 0 deletions src/components/di/contracts/firehub.BootableServiceProvider.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php declare(strict_types = 1);

/**
* This file is part of FireHub Web Application Framework package
*
* @author Danijel Galić <danijel.galic@outlook.com>
* @copyright 2024 FireHub Web Application Framework
* @license <https://opensource.org/licenses/OSL-3.0> OSL Open Source License version 3
*
* @package Core\Components
*
* @version GIT: $Id$ Blob checksum.
*/

namespace FireHub\Core\Components\DI\Contracts;

/**
* ### Adds functionality that needs to be run as the service provider is added to the container
* @since 1.0.0
*/
interface BootableServiceProvider {

/**
* ### Method is invoked as soon as you register the service provider with the container
* @since 1.0.0
*
* @return void
*/
public function boot ():void;

}
31 changes: 31 additions & 0 deletions src/components/di/contracts/firehub.DeferredServiceProvider.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?php declare(strict_types = 1);

/**
* This file is part of FireHub Web Application Framework package
*
* @author Danijel Galić <danijel.galic@outlook.com>
* @copyright 2024 FireHub Web Application Framework
* @license <https://opensource.org/licenses/OSL-3.0> OSL Open Source License version 3
*
* @package Core\Components
*
* @version GIT: $Id$ Blob checksum.
*/

namespace FireHub\Core\Components\DI\Contracts;

/**
* ### Service providers will register bindings only is actually necessary
* @since 1.0.0
*/
interface DeferredServiceProvider {

/**
* ### The provides method is a way to let the container know that a service is provided by this service provider
* @since 1.0.0
*
* @return non-empty-lowercase-string[]
*/
public function provides ():array;

}
Loading
Loading