Skip to content

Commit 455740b

Browse files
authored
e6260829 feat(signals): add withProps base feature (#4607)
1 parent 18ab99b commit 455740b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+119
-87
lines changed

commit_message

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2528d399 feat(store): enable dispatching actions on signal changes (#4600)
1+
e6260829 feat(signals): add `withProps` base feature (#4607)

generated/docs/api/api-list.json

+19-11
Original file line numberDiff line numberDiff line change
@@ -2761,6 +2761,14 @@
27612761
"stability": "stable",
27622762
"securityRisk": false
27632763
},
2764+
{
2765+
"name": "withprops",
2766+
"title": "withProps",
2767+
"path": "api/signals/withProps",
2768+
"docType": "function",
2769+
"stability": "stable",
2770+
"securityRisk": false
2771+
},
27642772
{
27652773
"name": "withstate",
27662774
"title": "withState",
@@ -2800,14 +2808,6 @@
28002808
"stability": "stable",
28012809
"securityRisk": false
28022810
},
2803-
{
2804-
"name": "entitycomputed",
2805-
"title": "EntityComputed",
2806-
"path": "api/signals/entities/EntityComputed",
2807-
"docType": "type-alias",
2808-
"stability": "stable",
2809-
"securityRisk": false
2810-
},
28112811
{
28122812
"name": "entityconfig",
28132813
"title": "entityConfig",
@@ -2832,6 +2832,14 @@
28322832
"stability": "stable",
28332833
"securityRisk": false
28342834
},
2835+
{
2836+
"name": "entityprops",
2837+
"title": "EntityProps",
2838+
"path": "api/signals/entities/EntityProps",
2839+
"docType": "type-alias",
2840+
"stability": "stable",
2841+
"securityRisk": false
2842+
},
28352843
{
28362844
"name": "entitystate",
28372845
"title": "EntityState",
@@ -2841,9 +2849,9 @@
28412849
"securityRisk": false
28422850
},
28432851
{
2844-
"name": "namedentitycomputed",
2845-
"title": "NamedEntityComputed",
2846-
"path": "api/signals/entities/NamedEntityComputed",
2852+
"name": "namedentityprops",
2853+
"title": "NamedEntityProps",
2854+
"path": "api/signals/entities/NamedEntityProps",
28472855
"docType": "type-alias",
28482856
"stability": "stable",
28492857
"securityRisk": false

generated/docs/api/data/EntityCollection.json

+1-1
Large diffs are not rendered by default.

generated/docs/api/data/EntityCollectionReducerMethods.json

+1-1
Large diffs are not rendered by default.

generated/docs/api/data/Logger.json

+1-1
Large diffs are not rendered by default.

generated/docs/api/signals.json

+1-1
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"id": "api/signals/EmptyFeatureResult",
33
"title": "EmptyFeatureResult",
4-
"contents": "\n\n<article>\n <div class=\"github-links\">\n <a href=\"https://github.com/ngrx/platform/edit/main/modules/signals/src/signal-store-models.ts?message=docs(signals)%3A%20describe%20your%20change...#L39-L40\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/ngrx/platform/tree/19.0.0-beta.0/modules/signals/src/signal-store-models.ts#L39-L40\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n <div class=\"breadcrumb\">\n <script type=\"application/ld+json\">\n {\n \"@context\": \"http://schema.org\",\n \"@type\": \"BreadcrumbList\",\n \"itemListElement\": [\n { \"@type\": \"ListItem\", \"position\": 1, \"item\": { \"@id\": \"https://ngrx.io//api\", \"name\": \"API\" } },\n { \"@type\": \"ListItem\", \"position\": 2, \"item\": { \"@id\": \"https://ngrx.io/api/signals\", \"name\": \"@ngrx/signals\" } },\n { \"@type\": \"ListItem\", \"position\": 3, \"item\": { \"@id\": \"https://ngrx.io/api/signals/EmptyFeatureResult\", \"name\": \"EmptyFeatureResult\" } }\n ]\n }\n </script>\n <a href=\"/api\">API</a> > <a href=\"api/signals\">@ngrx/signals</a>\n </div>\n \n <header class=\"api-header\">\n <h1 id=\"emptyfeatureresult\">EmptyFeatureResult<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/signals/EmptyFeatureResult#emptyfeatureresult\"><i class=\"material-icons\">link</i></a></h1>\n <label class=\"api-type-label type-alias\">type-alias</label>\n \n \n \n </header>\n \n <aio-toc class=\"embedded\"></aio-toc>\n\n <div class=\"api-body\">\n \n <section class=\"short-description\">\n \n \n </section>\n \n \n \n <section class=\"type-alias-overview\">\n <code-example language=\"ts\" hidecopy=\"true\">\n <a href=\"api/signals/type\" class=\"code-anchor\">type</a> <a href=\"api/signals/EmptyFeatureResult\" class=\"code-anchor\">EmptyFeatureResult</a> = {\n state: {};\n computed: {};\n <a href=\"api/data/EntityCollectionReducerMethods#methods\" class=\"code-anchor\">methods</a>: {};\n};\n </code-example>\n </section>\n\n \n\n \n \n\n \n\n\n </div>\n</article>\n\n<!-- links to this doc:\n - api/signals\n - api/signals/entities/withEntities\n - api/signals/signalStore\n - api/signals/signalStoreFeature-0\n - api/signals/withHooks\n-->\n<!-- links from this doc:\n - /api\n - api/data/EntityCollectionReducerMethods#methods\n - api/signals\n - api/signals/EmptyFeatureResult#emptyfeatureresult\n - api/signals/type\n - https://github.com/ngrx/platform/edit/main/modules/signals/src/signal-store-models.ts?message=docs(signals)%3A%20describe%20your%20change...#L39-L40\n - https://github.com/ngrx/platform/tree/19.0.0-beta.0/modules/signals/src/signal-store-models.ts#L39-L40\n-->"
4+
"contents": "\n\n<article>\n <div class=\"github-links\">\n <a href=\"https://github.com/ngrx/platform/edit/main/modules/signals/src/signal-store-models.ts?message=docs(signals)%3A%20describe%20your%20change...#L39-L40\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/ngrx/platform/tree/19.0.0-beta.0/modules/signals/src/signal-store-models.ts#L39-L40\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n <div class=\"breadcrumb\">\n <script type=\"application/ld+json\">\n {\n \"@context\": \"http://schema.org\",\n \"@type\": \"BreadcrumbList\",\n \"itemListElement\": [\n { \"@type\": \"ListItem\", \"position\": 1, \"item\": { \"@id\": \"https://ngrx.io//api\", \"name\": \"API\" } },\n { \"@type\": \"ListItem\", \"position\": 2, \"item\": { \"@id\": \"https://ngrx.io/api/signals\", \"name\": \"@ngrx/signals\" } },\n { \"@type\": \"ListItem\", \"position\": 3, \"item\": { \"@id\": \"https://ngrx.io/api/signals/EmptyFeatureResult\", \"name\": \"EmptyFeatureResult\" } }\n ]\n }\n </script>\n <a href=\"/api\">API</a> > <a href=\"api/signals\">@ngrx/signals</a>\n </div>\n \n <header class=\"api-header\">\n <h1 id=\"emptyfeatureresult\">EmptyFeatureResult<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/signals/EmptyFeatureResult#emptyfeatureresult\"><i class=\"material-icons\">link</i></a></h1>\n <label class=\"api-type-label type-alias\">type-alias</label>\n \n \n \n </header>\n \n <aio-toc class=\"embedded\"></aio-toc>\n\n <div class=\"api-body\">\n \n <section class=\"short-description\">\n \n \n </section>\n \n \n \n <section class=\"type-alias-overview\">\n <code-example language=\"ts\" hidecopy=\"true\">\n <a href=\"api/signals/type\" class=\"code-anchor\">type</a> <a href=\"api/signals/EmptyFeatureResult\" class=\"code-anchor\">EmptyFeatureResult</a> = {\n state: {};\n <a href=\"api/store/props\" class=\"code-anchor\">props</a>: {};\n <a href=\"api/data/EntityCollectionReducerMethods#methods\" class=\"code-anchor\">methods</a>: {};\n};\n </code-example>\n </section>\n\n \n\n \n \n\n \n\n\n </div>\n</article>\n\n<!-- links to this doc:\n - api/signals\n - api/signals/entities/withEntities\n - api/signals/signalStore\n - api/signals/signalStoreFeature-0\n - api/signals/withHooks\n-->\n<!-- links from this doc:\n - /api\n - api/data/EntityCollectionReducerMethods#methods\n - api/signals\n - api/signals/EmptyFeatureResult#emptyfeatureresult\n - api/signals/type\n - api/store/props\n - https://github.com/ngrx/platform/edit/main/modules/signals/src/signal-store-models.ts?message=docs(signals)%3A%20describe%20your%20change...#L39-L40\n - https://github.com/ngrx/platform/tree/19.0.0-beta.0/modules/signals/src/signal-store-models.ts#L39-L40\n-->"
55
}
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"id": "api/signals/SignalStoreFeature-1",
33
"title": "SignalStoreFeature",
4-
"contents": "\n\n<article>\n <div class=\"github-links\">\n <a href=\"https://github.com/ngrx/platform/edit/main/modules/signals/src/signal-store-models.ts?message=docs(signals)%3A%20describe%20your%20change...#L41-L47\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/ngrx/platform/tree/19.0.0-beta.0/modules/signals/src/signal-store-models.ts#L41-L47\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n <div class=\"breadcrumb\">\n <script type=\"application/ld+json\">\n {\n \"@context\": \"http://schema.org\",\n \"@type\": \"BreadcrumbList\",\n \"itemListElement\": [\n { \"@type\": \"ListItem\", \"position\": 1, \"item\": { \"@id\": \"https://ngrx.io//api\", \"name\": \"API\" } },\n { \"@type\": \"ListItem\", \"position\": 2, \"item\": { \"@id\": \"https://ngrx.io/api/signals\", \"name\": \"@ngrx/signals\" } },\n { \"@type\": \"ListItem\", \"position\": 3, \"item\": { \"@id\": \"https://ngrx.io/api/signals/SignalStoreFeature-1\", \"name\": \"SignalStoreFeature\" } }\n ]\n }\n </script>\n <a href=\"/api\">API</a> > <a href=\"api/signals\">@ngrx/signals</a>\n </div>\n \n <header class=\"api-header\">\n <h1 id=\"signalstorefeature\">SignalStoreFeature<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/signals/SignalStoreFeature-1#signalstorefeature\"><i class=\"material-icons\">link</i></a></h1>\n <label class=\"api-type-label type-alias\">type-alias</label>\n \n \n \n </header>\n \n <aio-toc class=\"embedded\"></aio-toc>\n\n <div class=\"api-body\">\n \n <section class=\"short-description\">\n \n \n </section>\n \n \n \n <section class=\"type-alias-overview\">\n <code-example language=\"ts\" hidecopy=\"true\">\n <a href=\"api/signals/type\" class=\"code-anchor\">type</a> <a href=\"api/signals/SignalStoreFeature-1\" class=\"code-anchor\">SignalStoreFeature</a>&#x3C;Input extends <a href=\"api/signals/SignalStoreFeatureResult\" class=\"code-anchor\">SignalStoreFeatureResult</a> = <a href=\"api/signals/SignalStoreFeatureResult\" class=\"code-anchor\">SignalStoreFeatureResult</a>, Output extends <a href=\"api/signals/SignalStoreFeatureResult\" class=\"code-anchor\">SignalStoreFeatureResult</a> = <a href=\"api/signals/SignalStoreFeatureResult\" class=\"code-anchor\">SignalStoreFeatureResult</a>> = (store: InnerSignalStore&#x3C;Input['state'], Input['computed'], Input['<a href=\"api/data/EntityCollectionReducerMethods#methods\" class=\"code-anchor\">methods</a>']>) => InnerSignalStore&#x3C;Output['state'], Output['computed'], Output['<a href=\"api/data/EntityCollectionReducerMethods#methods\" class=\"code-anchor\">methods</a>']>;\n </code-example>\n </section>\n\n \n\n \n \n\n \n\n\n </div>\n</article>\n\n<!-- links to this doc:\n - api/signals\n - api/signals/entities/withEntities\n - api/signals/signalStore\n - api/signals/signalStoreFeature-0\n - api/signals/withComputed\n - api/signals/withHooks\n - api/signals/withMethods\n - api/signals/withState\n-->\n<!-- links from this doc:\n - /api\n - api/data/EntityCollectionReducerMethods#methods\n - api/signals\n - api/signals/SignalStoreFeature-1#signalstorefeature\n - api/signals/SignalStoreFeatureResult\n - api/signals/type\n - https://github.com/ngrx/platform/edit/main/modules/signals/src/signal-store-models.ts?message=docs(signals)%3A%20describe%20your%20change...#L41-L47\n - https://github.com/ngrx/platform/tree/19.0.0-beta.0/modules/signals/src/signal-store-models.ts#L41-L47\n-->"
4+
"contents": "\n\n<article>\n <div class=\"github-links\">\n <a href=\"https://github.com/ngrx/platform/edit/main/modules/signals/src/signal-store-models.ts?message=docs(signals)%3A%20describe%20your%20change...#L41-L47\" aria-label=\"Suggest Edits\" title=\"Suggest Edits\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">mode_edit</i></a>\n <a href=\"https://github.com/ngrx/platform/tree/19.0.0-beta.0/modules/signals/src/signal-store-models.ts#L41-L47\" aria-label=\"View Source\" title=\"View Source\"><i class=\"material-icons\" aria-hidden=\"true\" role=\"img\">code</i></a>\n</div>\n <div class=\"breadcrumb\">\n <script type=\"application/ld+json\">\n {\n \"@context\": \"http://schema.org\",\n \"@type\": \"BreadcrumbList\",\n \"itemListElement\": [\n { \"@type\": \"ListItem\", \"position\": 1, \"item\": { \"@id\": \"https://ngrx.io//api\", \"name\": \"API\" } },\n { \"@type\": \"ListItem\", \"position\": 2, \"item\": { \"@id\": \"https://ngrx.io/api/signals\", \"name\": \"@ngrx/signals\" } },\n { \"@type\": \"ListItem\", \"position\": 3, \"item\": { \"@id\": \"https://ngrx.io/api/signals/SignalStoreFeature-1\", \"name\": \"SignalStoreFeature\" } }\n ]\n }\n </script>\n <a href=\"/api\">API</a> > <a href=\"api/signals\">@ngrx/signals</a>\n </div>\n \n <header class=\"api-header\">\n <h1 id=\"signalstorefeature\">SignalStoreFeature<a title=\"Link to this heading\" class=\"header-link\" aria-hidden=\"true\" href=\"api/signals/SignalStoreFeature-1#signalstorefeature\"><i class=\"material-icons\">link</i></a></h1>\n <label class=\"api-type-label type-alias\">type-alias</label>\n \n \n \n </header>\n \n <aio-toc class=\"embedded\"></aio-toc>\n\n <div class=\"api-body\">\n \n <section class=\"short-description\">\n \n \n </section>\n \n \n \n <section class=\"type-alias-overview\">\n <code-example language=\"ts\" hidecopy=\"true\">\n <a href=\"api/signals/type\" class=\"code-anchor\">type</a> <a href=\"api/signals/SignalStoreFeature-1\" class=\"code-anchor\">SignalStoreFeature</a>&#x3C;Input extends <a href=\"api/signals/SignalStoreFeatureResult\" class=\"code-anchor\">SignalStoreFeatureResult</a> = <a href=\"api/signals/SignalStoreFeatureResult\" class=\"code-anchor\">SignalStoreFeatureResult</a>, Output extends <a href=\"api/signals/SignalStoreFeatureResult\" class=\"code-anchor\">SignalStoreFeatureResult</a> = <a href=\"api/signals/SignalStoreFeatureResult\" class=\"code-anchor\">SignalStoreFeatureResult</a>> = (store: InnerSignalStore&#x3C;Input['state'], Input['<a href=\"api/store/props\" class=\"code-anchor\">props</a>'], Input['<a href=\"api/data/EntityCollectionReducerMethods#methods\" class=\"code-anchor\">methods</a>']>) => InnerSignalStore&#x3C;Output['state'], Output['<a href=\"api/store/props\" class=\"code-anchor\">props</a>'], Output['<a href=\"api/data/EntityCollectionReducerMethods#methods\" class=\"code-anchor\">methods</a>']>;\n </code-example>\n </section>\n\n \n\n \n \n\n \n\n\n </div>\n</article>\n\n<!-- links to this doc:\n - api/signals\n - api/signals/entities/withEntities\n - api/signals/signalStore\n - api/signals/signalStoreFeature-0\n - api/signals/withComputed\n - api/signals/withHooks\n - api/signals/withMethods\n - api/signals/withProps\n - api/signals/withState\n-->\n<!-- links from this doc:\n - /api\n - api/data/EntityCollectionReducerMethods#methods\n - api/signals\n - api/signals/SignalStoreFeature-1#signalstorefeature\n - api/signals/SignalStoreFeatureResult\n - api/signals/type\n - api/store/props\n - https://github.com/ngrx/platform/edit/main/modules/signals/src/signal-store-models.ts?message=docs(signals)%3A%20describe%20your%20change...#L41-L47\n - https://github.com/ngrx/platform/tree/19.0.0-beta.0/modules/signals/src/signal-store-models.ts#L41-L47\n-->"
55
}

0 commit comments

Comments
 (0)