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

feat(selector-utils): add advanced selector utils #1824

Merged
merged 27 commits into from
Mar 9, 2023

Conversation

Carniatto
Copy link
Contributor

@Carniatto Carniatto commented Feb 10, 2022

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

[ ] Bugfix
[X] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: #1653, #1672

What is the new behavior?

Added some utilities for creating selectors.

Does this PR introduce a breaking change?

[ ] Yes
[X] No

Other information

packages/store/tests/property-selectors.spec.ts Outdated Show resolved Hide resolved
packages/store/tests/property-selectors.spec.ts Outdated Show resolved Hide resolved
packages/store/tests/property-selectors.spec.ts Outdated Show resolved Hide resolved
packages/store/tests/property-selectors.spec.ts Outdated Show resolved Hide resolved
@markwhitfeld
Copy link
Member

@Carniatto I am wanting to get the next minor release out, but would like to include this.
How is it going with the tests?

@bundlemon
Copy link

bundlemon bot commented Feb 24, 2023

BundleMon

Files updated (1)
Status Path Size Limits
fesm2015/ngxs-store.js
91.76KB (+2.64KB +2.96%) 125KB / +0.5%
Unchanged files (2)
Status Path Size Limits
fesm2015/ngxs-store-operators.js
6.23KB 15KB / +0.5%
fesm2015/ngxs-store-internals.js
4.22KB 20KB / +0.5%

Total files change +2.64KB +2.65%

Groups updated (3)
Status Path Size Limits
@ngxs/store(esm2015)[gzip]
./esm2015/**/*.js
175.3KB (+8.24KB +4.93%) +1%
@ngxs/store(umd)[gzip]
./bundles/*.umd.js
36.05KB (+723B +2%) +1%
@ngxs/store(fesm2015)[gzip]
./fesm2015/*.js
24.64KB (+613B +2.49%) +1%

Final result: ❌

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@bundlemon
Copy link

bundlemon bot commented Feb 24, 2023

BundleMon (NGXS Plugins)

Unchanged files (14)
Status Path Size Limits
Plugins(umd)[gzip]
storage-plugin/bundles/ngxs-storage-plugin.um
d.js
7.96KB +1%
Plugins(umd)[gzip]
router-plugin/bundles/ngxs-router-plugin.umd.
js
7.41KB +1%
Plugins(umd)[gzip]
websocket-plugin/bundles/ngxs-websocket-plugi
n.umd.js
6.92KB +1%
Plugins(umd)[gzip]
hmr-plugin/bundles/ngxs-hmr-plugin.umd.js
6.89KB +1%
Plugins(fesm2015)[gzip]
storage-plugin/fesm2015/ngxs-storage-plugin.j
s
3.64KB +1%
Plugins(umd)[gzip]
form-plugin/bundles/ngxs-form-plugin.umd.js
3.41KB +1%
Plugins(fesm2015)[gzip]
router-plugin/fesm2015/ngxs-router-plugin.js
3.09KB +1%
Plugins(umd)[gzip]
devtools-plugin/bundles/ngxs-devtools-plugin.
umd.js
2.75KB +1%
Plugins(fesm2015)[gzip]
form-plugin/fesm2015/ngxs-form-plugin.js
2.65KB +1%
Plugins(fesm2015)[gzip]
hmr-plugin/fesm2015/ngxs-hmr-plugin.js
2.65KB +1%
Plugins(fesm2015)[gzip]
websocket-plugin/fesm2015/ngxs-websocket-plug
in.js
2.59KB +1%
Plugins(umd)[gzip]
logger-plugin/bundles/ngxs-logger-plugin.umd.
js
2.53KB +1%
Plugins(fesm2015)[gzip]
devtools-plugin/fesm2015/ngxs-devtools-plugin
.js
2.17KB +1%
Plugins(fesm2015)[gzip]
logger-plugin/fesm2015/ngxs-logger-plugin.js
2.01KB +1%

No change in files bundle size

Unchanged groups (3)
Status Path Size Limits
All Plugins(esm2015)[gzip]
./-plugin/esm2015/**/.js
108.59KB +1%
All Plugins(umd)[gzip]
./-plugin/bundles/.umd.js
37.88KB +1%
All Plugins(fesm2015)[gzip]
./-plugin/fesm2015/.js
18.8KB +1%

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@bundlemon
Copy link

bundlemon bot commented Feb 24, 2023

BundleMon (Integration Projects)

Files updated (1)
Status Path Size Limits
Main bundles(Gzip)
hello-world-ng14-ivy/dist-integration/main.(h
ash).js
65.47KB (+11B +0.02%) +1%
Unchanged files (2)
Status Path Size Limits
Main bundles(Gzip)
hello-world-ng13-ivy/dist-integration/main.(h
ash).js
69.79KB +1%
Main bundles(Gzip)
hello-world-ng12-ivy/dist-integration/main.(h
ash).js
67.95KB +1%

Total files change +10B 0%

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

Copy link
Member

@arturovt arturovt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've been already using this implementation in production for the last ~2 years. I don't have anything to review here since it's obvious and clear.

@Carniatto
Copy link
Contributor Author

We've been already using this implementation in production for the last ~2 years. I don't have anything to review here since it's obvious and clear.

Same for me 💗

@markwhitfeld markwhitfeld changed the title feat(selector-utils): Impl. selector utils feat(selector-utils): add advanced selector utils Mar 9, 2023
@markwhitfeld markwhitfeld added this to the v3.next-minor milestone Mar 9, 2023
@codeclimate
Copy link

codeclimate bot commented Mar 9, 2023

Code Climate has analyzed commit 4f33f91 and detected 0 issues on this pull request.

The test coverage on the diff in this pull request is 100.0% (50% is the threshold).

This pull request will bring the total coverage in the repository to 97.0% (0.0% change).

View more on Code Climate.

@markwhitfeld markwhitfeld merged commit 81a817d into ngxs:master Mar 9, 2023
@markwhitfeld markwhitfeld modified the milestones: v3.next-minor, v3.8.0 Mar 29, 2023
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this pull request Mar 29, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [@ngxs/form-plugin](https://github.com/ngxs/store) | dependencies | minor | [`3.7.6` -> `3.8.0`](https://renovatebot.com/diffs/npm/@ngxs%2fform-plugin/3.7.6/3.8.0) |
| [@ngxs/storage-plugin](https://github.com/ngxs/store) | dependencies | minor | [`3.7.6` -> `3.8.0`](https://renovatebot.com/diffs/npm/@ngxs%2fstorage-plugin/3.7.6/3.8.0) |
| [@ngxs/store](https://github.com/ngxs/store) | dependencies | minor | [`3.7.6` -> `3.8.0`](https://renovatebot.com/diffs/npm/@ngxs%2fstore/3.7.6/3.8.0) |

---

### Release Notes

<details>
<summary>ngxs/store</summary>

### [`v3.8.0`](https://github.com/ngxs/store/blob/HEAD/CHANGELOG.md#&#8203;380-2023-03-29)

[Compare Source](ngxs/store@v3.7.6...v3.8.0)

-   Feature: Build packages in Ivy format [#&#8203;1945](ngxs/store#1945)
-   Feature: Add advanced selector utilities [#&#8203;1824](ngxs/store#1824)
-   Feature: Expose `ActionContext` and `ActionStatus` [#&#8203;1766](ngxs/store#1766)
-   Feature: `ofAction*` methods should have strong types [#&#8203;1808](ngxs/store#1808)
-   Feature: Improve contextual type inference for state operators [#&#8203;1806](ngxs/store#1806) [#&#8203;1947](ngxs/store#1947)
-   Feature: Enable warning on unhandled actions [#&#8203;1870](ngxs/store#1870) [#&#8203;1951](ngxs/store#1951)
-   Feature: Router Plugin - Provide more actions and navigation timing option [#&#8203;1932](ngxs/store#1932)
-   Feature: Storage Plugin - Allow providing namespace for keys [#&#8203;1841](ngxs/store#1841)
-   Feature: Storage Plugin - Enable providing storage engine individually [#&#8203;1935](ngxs/store#1935)
-   Feature: Devtools Plugin - Add new options to the `NgxsDevtoolsOptions` interface [#&#8203;1879](ngxs/store#1879)
-   Feature: Devtools Plugin - Add trace options to `NgxsDevtoolsOptions` [#&#8203;1968](ngxs/store#1968)
-   Feature: Form Plugin - Allow `ngxsFormDebounce` to be string [#&#8203;1972](ngxs/store#1972)
-   Performance: Tree-shake patch errors [#&#8203;1955](ngxs/store#1955)
-   Fix: Get descriptor explicitly when it's considered as a class property [#&#8203;1961](ngxs/store#1961)
-   Fix: Avoid delayed updates from state stream [#&#8203;1981](ngxs/store#1981)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4yNC41IiwidXBkYXRlZEluVmVyIjoiMzUuMjQuNSJ9-->

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1837
Reviewed-by: Epsilon_02 <epsilon_02@noreply.codeberg.org>
Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants