SIGN IN SIGN UP
TanStack / query UNCLAIMED

🤖 Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue Query.

49011 0 1 TypeScript
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
---
id: quick-start
title: Quick Start
---
> IMPORTANT: This library is currently in an experimental stage. This means that breaking changes will happen in minor AND patch releases. Upgrade carefully. If you use this in production while in experimental stage, please lock your version to a patch-level version to avoid unexpected breaking changes.
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
[//]: # 'Example'
If you're looking for a fully functioning example, please have a look at our [basic codesandbox example](../examples/basic)
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
### Provide the client to your App
```ts
import { provideHttpClient } from '@angular/common/http'
import {
provideTanStackQuery,
QueryClient,
} from '@tanstack/angular-query-experimental'
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
bootstrapApplication(AppComponent, {
providers: [provideHttpClient(), provideTanStackQuery(new QueryClient())],
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
})
```
or in a NgModule-based app
```ts
import { provideHttpClient } from '@angular/common/http'
import {
provideTanStackQuery,
QueryClient,
} from '@tanstack/angular-query-experimental'
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule],
providers: [provideTanStackQuery(new QueryClient())],
bootstrap: [AppComponent],
})
export class AppModule {}
```
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
### Component with query and mutation
```angular-ts
2023-12-01 20:01:16 +01:00
import { Component, Injectable, inject } from '@angular/core'
import { HttpClient } from '@angular/common/http'
import { lastValueFrom } from 'rxjs'
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
import {
injectMutation,
injectQuery,
QueryClient
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
} from '@tanstack/angular-query-experimental'
2023-12-01 20:01:16 +01:00
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
@Component({
standalone: true,
template: `
<div>
2023-12-01 20:01:16 +01:00
<button (click)="onAddTodo()">Add Todo</button>
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
<ul>
2023-12-01 20:01:16 +01:00
@for (todo of query.data(); track todo.title) {
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
<li>{{ todo.title }}</li>
}
</ul>
</div>
`,
})
export class TodosComponent {
todoService = inject(TodoService)
queryClient = inject(QueryClient)
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
query = injectQuery(() => ({
queryKey: ['todos'],
2023-12-01 20:01:16 +01:00
queryFn: () => this.todoService.getTodos(),
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
}))
mutation = injectMutation(() => ({
2023-12-01 20:01:16 +01:00
mutationFn: (todo: Todo) => this.todoService.addTodo(todo),
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
onSuccess: () => {
this.queryClient.invalidateQueries({ queryKey: ['todos'] })
},
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
}))
onAddTodo() {
this.mutation.mutate({
2023-12-01 20:01:16 +01:00
id: Date.now().toString(),
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
title: 'Do Laundry',
})
}
}
@Injectable({ providedIn: 'root' })
2023-12-01 20:01:16 +01:00
export class TodoService {
private http = inject(HttpClient)
2023-12-01 20:01:16 +01:00
getTodos(): Promise<Todo[]> {
return lastValueFrom(
this.http.get<Todo[]>('https://jsonplaceholder.typicode.com/todos'),
)
2023-12-01 20:01:16 +01:00
}
addTodo(todo: Todo): Promise<Todo> {
return lastValueFrom(
this.http.post<Todo>('https://jsonplaceholder.typicode.com/todos', todo),
)
2023-12-01 20:01:16 +01:00
}
}
interface Todo {
id: string
title: string
feat: experimental angular query adapter (#6195) * feat(angular-query): add Angular Query * feat(angular-query): integration test * fix(angular-query): PR feedback on QueryClientService injection * fix(angular-query): PR feedback * chore(angular-query): update unit tests * feat(angular-query): custom inject functions * feat(angular-query): docs * fix(angular-query): replace React context mention with Angular injector * fix(angular-query): re-add missing angular-query-experimental package config * feat: updated angular version * feat: code improvements, DX improvements, fixed small doc example to use http client, * Update docs/angular/overview.md * version fixes * feat: use proxy object to create single signals (computed) for query fields instead of query itself being a signal and improved types * fix: docs * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * Update packages/angular-query-experimental/src/query-proxy.ts Co-authored-by: Chau Tran <nartc7789@gmail.com> * fix: add missing import * revert: use helper method for injectQueryClient * Add Angular-CLI apps for testing * fix: useValue instead of useFactory * fix(angular-query): examples * chore(angular-query): remove build script from angular 17 integration * fix(angular-query): add sandbox config * build working for angular-query-devtools-experimental * fix(angular-query): improve development workflow * fix(angular-query): downgrade vitest * fix(angular-query): eslint and unit test typing fix * fix(angular-query): test:ci fixes * fix(angular-query): relative workspace path to build dir * fix(angular-query): configure workspaces for top directories only * chore(angular-query): remove dead code found by Knip --------- Co-authored-by: Enea Jahollari <jahollarienea14@gmail.com> Co-authored-by: Chau Tran <nartc7789@gmail.com> Co-authored-by: Tomasz Ducin <tomasz@ducin.it> Co-authored-by: Tomasz Ducin <tomasz.ducin@gmail.com> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
2023-12-01 14:09:39 +01:00
}
```
[//]: # 'Example'