Skip to content

feat(operators): add updateItems operator#2413

Merged
arturovt merged 1 commit into
masterfrom
feat/update-items
Mar 28, 2026
Merged

feat(operators): add updateItems operator#2413
arturovt merged 1 commit into
masterfrom
feat/update-items

Conversation

@arturovt
Copy link
Copy Markdown
Member

@arturovt arturovt commented Mar 28, 2026

Introduces updateItems as a multi-match counterpart to updateItem — applies a replacement value or state operator to every array element that satisfies a predicate in a single pass. Exported from the public operators index alongside the existing single-item variant.

Includes JSDoc with why-focused inline comments and an @example, and a full unit test suite covering empty/non-array edge cases, single and multiple matches, no-op predicate, and nested patch composition.

@nx-cloud
Copy link
Copy Markdown

nx-cloud Bot commented Mar 28, 2026

View your CI Pipeline Execution ↗ for commit c010d44

Command Status Duration Result
nx lint-types store ✅ Succeeded <1s View ↗
nx run-many --target=test --all --configuration... ✅ Succeeded 2s View ↗
nx run-many --target=lint --all --configuration... ✅ Succeeded 1s View ↗
nx run-many --target=build --all ✅ Succeeded 3s View ↗

☁️ Nx Cloud last updated this comment at 2026-03-28 21:06:46 UTC

Introduces updateItems<T> as a multi-match counterpart to updateItem —
applies a replacement value or state operator to every array element
that satisfies a predicate in a single pass. Exported from the public
operators index alongside the existing single-item variant.

Includes JSDoc with why-focused inline comments and an @example, and a
full unit test suite covering empty/non-array edge cases, single and
multiple matches, no-op predicate, and nested patch composition.
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Mar 28, 2026

Open in StackBlitz

@ngxs/devtools-plugin

npm i https://pkg.pr.new/@ngxs/devtools-plugin@2413

@ngxs/form-plugin

npm i https://pkg.pr.new/@ngxs/form-plugin@2413

@ngxs/hmr-plugin

npm i https://pkg.pr.new/@ngxs/hmr-plugin@2413

@ngxs/router-plugin

npm i https://pkg.pr.new/@ngxs/router-plugin@2413

@ngxs/storage-plugin

npm i https://pkg.pr.new/@ngxs/storage-plugin@2413

@ngxs/store

npm i https://pkg.pr.new/@ngxs/store@2413

@ngxs/websocket-plugin

npm i https://pkg.pr.new/@ngxs/websocket-plugin@2413

commit: c010d44

@arturovt arturovt force-pushed the feat/update-items branch from f295ca7 to c010d44 Compare March 28, 2026 21:00
@bundlemon
Copy link
Copy Markdown

bundlemon Bot commented Mar 28, 2026

BundleMon

Files updated (1)
Status Path Size Limits
fesm2022/ngxs-store-operators.mjs
13.82KB (+1.76KB +14.61%) 14KB / +0.5%
Unchanged files (5)
Status Path Size Limits
fesm2022/ngxs-store.mjs
111.92KB 114KB / +0.5%
fesm2022/ngxs-store-internals.mjs
13.74KB 15KB / +0.5%
fesm2022/ngxs-store-internals-testing.mjs
10.32KB 13KB / +0.5%
fesm2022/ngxs-store-plugins.mjs
2.37KB 3KB / +0.5%
fesm2022/ngxs-store-experimental.mjs
574B 2KB / +0.5%

Total files change +1.76KB +1.17%

Groups updated (1)
Status Path Size Limits
@ngxs/store(fesm2022)[gzip]
./fesm2022/*.mjs
37.99KB (+374B +0.97%) +1%

Final result: ❌

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@bundlemon
Copy link
Copy Markdown

bundlemon Bot commented Mar 28, 2026

BundleMon (NGXS Plugins)

Unchanged files (9)
Status Path Size Limits
Plugins(fesm2022)[gzip]
storage-plugin/fesm2022/ngxs-storage-plugin.m
js
4.1KB +0.5%
Plugins(fesm2022)[gzip]
router-plugin/fesm2022/ngxs-router-plugin.mjs
3.4KB +0.5%
Plugins(fesm2022)[gzip]
hmr-plugin/fesm2022/ngxs-hmr-plugin.mjs
2.72KB +0.5%
Plugins(fesm2022)[gzip]
websocket-plugin/fesm2022/ngxs-websocket-plug
in.mjs
2.58KB +0.5%
Plugins(fesm2022)[gzip]
form-plugin/fesm2022/ngxs-form-plugin.mjs
2.47KB +0.5%
Plugins(fesm2022)[gzip]
devtools-plugin/fesm2022/ngxs-devtools-plugin
.mjs
2.23KB +0.5%
Plugins(fesm2022)[gzip]
logger-plugin/fesm2022/ngxs-logger-plugin.mjs
2.03KB +0.5%
Plugins(fesm2022)[gzip]
storage-plugin/fesm2022/ngxs-storage-plugin-i
nternals.mjs
947B +0.5%
Plugins(fesm2022)[gzip]
router-plugin/fesm2022/ngxs-router-plugin-int
ernals.mjs
453B +0.5%

No change in files bundle size

Unchanged groups (1)
Status Path Size Limits
All Plugins(fesm2022)[gzip]
./-plugin/fesm2022/.mjs
20.89KB +0.5%

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@bundlemon
Copy link
Copy Markdown

bundlemon Bot commented Mar 28, 2026

BundleMon (Integration Projects)

Unchanged files (1)
Status Path Size Limits
Main bundles(Gzip)
hello-world-ng21/dist-integration/browser/mai
n-(hash).js
67.33KB +1%

No change in files bundle size

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@arturovt arturovt merged commit 31acb66 into master Mar 28, 2026
15 of 16 checks passed
@arturovt arturovt deleted the feat/update-items branch March 28, 2026 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant