@angular/core 19.2.0-next.0 → 19.2.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/fesm2022/core.mjs +953 -1124
  2. package/fesm2022/core.mjs.map +1 -1
  3. package/fesm2022/primitives/event-dispatch.mjs +2 -1
  4. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  5. package/fesm2022/primitives/signals.mjs +1 -1
  6. package/fesm2022/rxjs-interop.mjs +2 -7
  7. package/fesm2022/rxjs-interop.mjs.map +1 -1
  8. package/fesm2022/testing.mjs +4 -4
  9. package/index.d.ts +42 -23
  10. package/package.json +1 -1
  11. package/primitives/event-dispatch/index.d.ts +1 -1
  12. package/primitives/signals/index.d.ts +1 -1
  13. package/rxjs-interop/index.d.ts +12 -2
  14. package/schematics/bundles/{apply_import_manager-deecd687.js → apply_import_manager-d8ea426b.js} +3 -3
  15. package/schematics/bundles/{checker-78667e44.js → checker-9af84be9.js} +6 -5
  16. package/schematics/bundles/cleanup-unused-imports.js +6 -6
  17. package/schematics/bundles/{compiler_host-38c8eab2.js → compiler_host-dbff2781.js} +2 -2
  18. package/schematics/bundles/control-flow-migration.js +3 -3
  19. package/schematics/bundles/explicit-standalone-flag.js +5 -5
  20. package/schematics/bundles/{imports-abe29092.js → imports-31a38653.js} +1 -1
  21. package/schematics/bundles/{index-6713e562.js → index-23b503a4.js} +4 -4
  22. package/schematics/bundles/{index-de135c2f.js → index-93e324de.js} +4 -4
  23. package/schematics/bundles/inject-migration.js +6 -6
  24. package/schematics/bundles/{leading_space-d190b83b.js → leading_space-6e7a8ec6.js} +1 -1
  25. package/schematics/bundles/{migrate_ts_type_references-e6411f51.js → migrate_ts_type_references-c6615b87.js} +6 -6
  26. package/schematics/bundles/{nodes-a9f0b985.js → nodes-88c2157f.js} +2 -2
  27. package/schematics/bundles/output-migration.js +6 -6
  28. package/schematics/bundles/pending-tasks.js +5 -5
  29. package/schematics/bundles/{program-b0d98952.js → program-66386e72.js} +101 -27
  30. package/schematics/bundles/{project_tsconfig_paths-e9ccccbf.js → project_tsconfig_paths-6c9cde78.js} +1 -1
  31. package/schematics/bundles/provide-initializer.js +5 -5
  32. package/schematics/bundles/route-lazy-loading.js +4 -4
  33. package/schematics/bundles/signal-input-migration.js +8 -8
  34. package/schematics/bundles/signal-queries-migration.js +8 -8
  35. package/schematics/bundles/signals.js +8 -8
  36. package/schematics/bundles/standalone-migration.js +8 -8
  37. package/testing/index.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.0-next.0
2
+ * @license Angular v19.2.0-next.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.0-next.0
2
+ * @license Angular v19.2.0-next.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -304,16 +304,11 @@ function pendingUntilEvent(injector) {
304
304
  };
305
305
  }
306
306
 
307
- /**
308
- * Like `resource` but uses an RxJS based `loader` which maps the request to an `Observable` of the
309
- * resource's value. Like `firstValueFrom`, only the first emission of the Observable is considered.
310
- *
311
- * @experimental
312
- */
313
307
  function rxResource(opts) {
314
308
  opts?.injector || assertInInjectionContext(rxResource);
315
309
  return resource({
316
310
  ...opts,
311
+ loader: undefined,
317
312
  stream: (params) => {
318
313
  let sub;
319
314
  // Track the abort listener so it can be removed if the Observable completes (as a memory
@@ -1 +1 @@
1
- {"version":3,"file":"rxjs-interop.mjs","sources":["../../../../../../packages/core/rxjs-interop/src/take_until_destroyed.ts","../../../../../../packages/core/rxjs-interop/src/output_from_observable.ts","../../../../../../packages/core/rxjs-interop/src/output_to_observable.ts","../../../../../../packages/core/rxjs-interop/src/to_observable.ts","../../../../../../packages/core/rxjs-interop/src/to_signal.ts","../../../../../../packages/core/rxjs-interop/src/pending_until_event.ts","../../../../../../packages/core/rxjs-interop/src/rx_resource.ts","../../../../../../packages/core/rxjs-interop/rxjs-interop.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {assertInInjectionContext, DestroyRef, inject} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n/**\n * Operator which completes the Observable when the calling context (component, directive, service,\n * etc) is destroyed.\n *\n * @param destroyRef optionally, the `DestroyRef` representing the current context. This can be\n * passed explicitly to use `takeUntilDestroyed` outside of an [injection\n * context](guide/di/dependency-injection-context). Otherwise, the current `DestroyRef` is injected.\n *\n * @publicApi\n */\nexport function takeUntilDestroyed<T>(destroyRef?: DestroyRef): MonoTypeOperatorFunction<T> {\n if (!destroyRef) {\n assertInInjectionContext(takeUntilDestroyed);\n destroyRef = inject(DestroyRef);\n }\n\n const destroyed$ = new Observable<void>((observer) => {\n const unregisterFn = destroyRef!.onDestroy(observer.next.bind(observer));\n return unregisterFn;\n });\n\n return <T>(source: Observable<T>) => {\n return source.pipe(takeUntil(destroyed$));\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n assertInInjectionContext,\n DestroyRef,\n inject,\n OutputOptions,\n OutputRef,\n OutputRefSubscription,\n ɵRuntimeError,\n ɵRuntimeErrorCode,\n} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {takeUntilDestroyed} from './take_until_destroyed';\n\n/**\n * Implementation of `OutputRef` that emits values from\n * an RxJS observable source.\n *\n * @internal\n */\nclass OutputFromObservableRef<T> implements OutputRef<T> {\n private destroyed = false;\n\n destroyRef = inject(DestroyRef);\n\n constructor(private source: Observable<T>) {\n this.destroyRef.onDestroy(() => {\n this.destroyed = true;\n });\n }\n\n subscribe(callbackFn: (value: T) => void): OutputRefSubscription {\n if (this.destroyed) {\n throw new ɵRuntimeError(\n ɵRuntimeErrorCode.OUTPUT_REF_DESTROYED,\n ngDevMode &&\n 'Unexpected subscription to destroyed `OutputRef`. ' +\n 'The owning directive/component is destroyed.',\n );\n }\n\n // Stop yielding more values when the directive/component is already destroyed.\n const subscription = this.source.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({\n next: (value) => callbackFn(value),\n });\n\n return {\n unsubscribe: () => subscription.unsubscribe(),\n };\n }\n}\n\n/**\n * Declares an Angular output that is using an RxJS observable as a source\n * for events dispatched to parent subscribers.\n *\n * The behavior for an observable as source is defined as followed:\n * 1. New values are forwarded to the Angular output (next notifications).\n * 2. Errors notifications are not handled by Angular. You need to handle these manually.\n * For example by using `catchError`.\n * 3. Completion notifications stop the output from emitting new values.\n *\n * @usageNotes\n * Initialize an output in your directive by declaring a\n * class field and initializing it with the `outputFromObservable()` function.\n *\n * ```ts\n * @Directive({..})\n * export class MyDir {\n * nameChange$ = <some-observable>;\n * nameChange = outputFromObservable(this.nameChange$);\n * }\n * ```\n *\n * @publicApi\n */\nexport function outputFromObservable<T>(\n observable: Observable<T>,\n opts?: OutputOptions,\n): OutputRef<T> {\n ngDevMode && assertInInjectionContext(outputFromObservable);\n return new OutputFromObservableRef<T>(observable);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {OutputRef, ɵgetOutputDestroyRef} from '@angular/core';\nimport {Observable} from 'rxjs';\n\n/**\n * Converts an Angular output declared via `output()` or `outputFromObservable()`\n * to an observable.\n *\n * You can subscribe to the output via `Observable.subscribe` then.\n *\n * @publicApi\n */\nexport function outputToObservable<T>(ref: OutputRef<T>): Observable<T> {\n const destroyRef = ɵgetOutputDestroyRef(ref);\n\n return new Observable<T>((observer) => {\n // Complete the observable upon directive/component destroy.\n // Note: May be `undefined` if an `EventEmitter` is declared outside\n // of an injection context.\n destroyRef?.onDestroy(() => observer.complete());\n\n const subscription = ref.subscribe((v) => observer.next(v));\n return () => subscription.unsubscribe();\n });\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n assertInInjectionContext,\n DestroyRef,\n effect,\n inject,\n Injector,\n Signal,\n untracked,\n ɵmicrotaskEffect as microtaskEffect,\n} from '@angular/core';\nimport {Observable, ReplaySubject} from 'rxjs';\n\n/**\n * Options for `toObservable`.\n *\n * @developerPreview\n */\nexport interface ToObservableOptions {\n /**\n * The `Injector` to use when creating the underlying `effect` which watches the signal.\n *\n * If this isn't specified, the current [injection context](guide/di/dependency-injection-context)\n * will be used.\n */\n injector?: Injector;\n}\n\n/**\n * Exposes the value of an Angular `Signal` as an RxJS `Observable`.\n *\n * The signal's value will be propagated into the `Observable`'s subscribers using an `effect`.\n *\n * `toObservable` must be called in an injection context unless an injector is provided via options.\n *\n * @developerPreview\n */\nexport function toObservable<T>(source: Signal<T>, options?: ToObservableOptions): Observable<T> {\n !options?.injector && assertInInjectionContext(toObservable);\n const injector = options?.injector ?? inject(Injector);\n const subject = new ReplaySubject<T>(1);\n\n const watcher = effect(\n () => {\n let value: T;\n try {\n value = source();\n } catch (err) {\n untracked(() => subject.error(err));\n return;\n }\n untracked(() => subject.next(value));\n },\n {injector, manualCleanup: true},\n );\n\n injector.get(DestroyRef).onDestroy(() => {\n watcher.destroy();\n subject.complete();\n });\n\n return subject.asObservable();\n}\n\nexport function toObservableMicrotask<T>(\n source: Signal<T>,\n options?: ToObservableOptions,\n): Observable<T> {\n !options?.injector && assertInInjectionContext(toObservable);\n const injector = options?.injector ?? inject(Injector);\n const subject = new ReplaySubject<T>(1);\n\n const watcher = microtaskEffect(\n () => {\n let value: T;\n try {\n value = source();\n } catch (err) {\n untracked(() => subject.error(err));\n return;\n }\n untracked(() => subject.next(value));\n },\n {injector, manualCleanup: true},\n );\n\n injector.get(DestroyRef).onDestroy(() => {\n watcher.destroy();\n subject.complete();\n });\n\n return subject.asObservable();\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n assertInInjectionContext,\n assertNotInReactiveContext,\n computed,\n DestroyRef,\n inject,\n Injector,\n signal,\n Signal,\n WritableSignal,\n ɵRuntimeError,\n ɵRuntimeErrorCode,\n} from '@angular/core';\nimport {ValueEqualityFn} from '@angular/core/primitives/signals';\nimport {Observable, Subscribable} from 'rxjs';\n\n/**\n * Options for `toSignal`.\n *\n * @publicApi\n */\nexport interface ToSignalOptions<T> {\n /**\n * Initial value for the signal produced by `toSignal`.\n *\n * This will be the value of the signal until the observable emits its first value.\n */\n initialValue?: unknown;\n\n /**\n * Whether to require that the observable emits synchronously when `toSignal` subscribes.\n *\n * If this is `true`, `toSignal` will assert that the observable produces a value immediately upon\n * subscription. Setting this option removes the need to either deal with `undefined` in the\n * signal type or provide an `initialValue`, at the cost of a runtime error if this requirement is\n * not met.\n */\n requireSync?: boolean;\n\n /**\n * `Injector` which will provide the `DestroyRef` used to clean up the Observable subscription.\n *\n * If this is not provided, a `DestroyRef` will be retrieved from the current [injection\n * context](guide/di/dependency-injection-context), unless manual cleanup is requested.\n */\n injector?: Injector;\n\n /**\n * Whether the subscription should be automatically cleaned up (via `DestroyRef`) when\n * `toSignal`'s creation context is destroyed.\n *\n * If manual cleanup is enabled, then `DestroyRef` is not used, and the subscription will persist\n * until the `Observable` itself completes.\n */\n manualCleanup?: boolean;\n\n /**\n * Whether `toSignal` should throw errors from the Observable error channel back to RxJS, where\n * they'll be processed as uncaught exceptions.\n *\n * In practice, this means that the signal returned by `toSignal` will keep returning the last\n * good value forever, as Observables which error produce no further values. This option emulates\n * the behavior of the `async` pipe.\n */\n rejectErrors?: boolean;\n\n /**\n * A comparison function which defines equality for values emitted by the observable.\n *\n * Equality comparisons are executed against the initial value if one is provided.\n */\n equal?: ValueEqualityFn<T>;\n}\n\n// Base case: no options -> `undefined` in the result type.\nexport function toSignal<T>(source: Observable<T> | Subscribable<T>): Signal<T | undefined>;\n// Options with `undefined` initial value and no `requiredSync` -> `undefined`.\nexport function toSignal<T>(\n source: Observable<T> | Subscribable<T>,\n options: NoInfer<ToSignalOptions<T | undefined>> & {\n initialValue?: undefined;\n requireSync?: false;\n },\n): Signal<T | undefined>;\n// Options with `null` initial value -> `null`.\nexport function toSignal<T>(\n source: Observable<T> | Subscribable<T>,\n options: NoInfer<ToSignalOptions<T | null>> & {initialValue?: null; requireSync?: false},\n): Signal<T | null>;\n// Options with `undefined` initial value and `requiredSync` -> strict result type.\nexport function toSignal<T>(\n source: Observable<T> | Subscribable<T>,\n options: NoInfer<ToSignalOptions<T>> & {initialValue?: undefined; requireSync: true},\n): Signal<T>;\n// Options with a more specific initial value type.\nexport function toSignal<T, const U extends T>(\n source: Observable<T> | Subscribable<T>,\n options: NoInfer<ToSignalOptions<T | U>> & {initialValue: U; requireSync?: false},\n): Signal<T | U>;\n\n/**\n * Get the current value of an `Observable` as a reactive `Signal`.\n *\n * `toSignal` returns a `Signal` which provides synchronous reactive access to values produced\n * by the given `Observable`, by subscribing to that `Observable`. The returned `Signal` will always\n * have the most recent value emitted by the subscription, and will throw an error if the\n * `Observable` errors.\n *\n * With `requireSync` set to `true`, `toSignal` will assert that the `Observable` produces a value\n * immediately upon subscription. No `initialValue` is needed in this case, and the returned signal\n * does not include an `undefined` type.\n *\n * By default, the subscription will be automatically cleaned up when the current [injection\n * context](guide/di/dependency-injection-context) is destroyed. For example, when `toSignal` is\n * called during the construction of a component, the subscription will be cleaned up when the\n * component is destroyed. If an injection context is not available, an explicit `Injector` can be\n * passed instead.\n *\n * If the subscription should persist until the `Observable` itself completes, the `manualCleanup`\n * option can be specified instead, which disables the automatic subscription teardown. No injection\n * context is needed in this configuration as well.\n *\n * @developerPreview\n */\nexport function toSignal<T, U = undefined>(\n source: Observable<T> | Subscribable<T>,\n options?: ToSignalOptions<T | U> & {initialValue?: U},\n): Signal<T | U> {\n ngDevMode &&\n assertNotInReactiveContext(\n toSignal,\n 'Invoking `toSignal` causes new subscriptions every time. ' +\n 'Consider moving `toSignal` outside of the reactive context and read the signal value where needed.',\n );\n\n const requiresCleanup = !options?.manualCleanup;\n requiresCleanup && !options?.injector && assertInInjectionContext(toSignal);\n const cleanupRef = requiresCleanup\n ? (options?.injector?.get(DestroyRef) ?? inject(DestroyRef))\n : null;\n\n const equal = makeToSignalEqual(options?.equal);\n\n // Note: T is the Observable value type, and U is the initial value type. They don't have to be\n // the same - the returned signal gives values of type `T`.\n let state: WritableSignal<State<T | U>>;\n if (options?.requireSync) {\n // Initially the signal is in a `NoValue` state.\n state = signal({kind: StateKind.NoValue}, {equal});\n } else {\n // If an initial value was passed, use it. Otherwise, use `undefined` as the initial value.\n state = signal<State<T | U>>(\n {kind: StateKind.Value, value: options?.initialValue as U},\n {equal},\n );\n }\n\n // Note: This code cannot run inside a reactive context (see assertion above). If we'd support\n // this, we would subscribe to the observable outside of the current reactive context, avoiding\n // that side-effect signal reads/writes are attribute to the current consumer. The current\n // consumer only needs to be notified when the `state` signal changes through the observable\n // subscription. Additional context (related to async pipe):\n // https://github.com/angular/angular/pull/50522.\n const sub = source.subscribe({\n next: (value) => state.set({kind: StateKind.Value, value}),\n error: (error) => {\n if (options?.rejectErrors) {\n // Kick the error back to RxJS. It will be caught and rethrown in a macrotask, which causes\n // the error to end up as an uncaught exception.\n throw error;\n }\n state.set({kind: StateKind.Error, error});\n },\n // Completion of the Observable is meaningless to the signal. Signals don't have a concept of\n // \"complete\".\n });\n\n if (options?.requireSync && state().kind === StateKind.NoValue) {\n throw new ɵRuntimeError(\n ɵRuntimeErrorCode.REQUIRE_SYNC_WITHOUT_SYNC_EMIT,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n '`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.',\n );\n }\n\n // Unsubscribe when the current context is destroyed, if requested.\n cleanupRef?.onDestroy(sub.unsubscribe.bind(sub));\n\n // The actual returned signal is a `computed` of the `State` signal, which maps the various states\n // to either values or errors.\n return computed(\n () => {\n const current = state();\n switch (current.kind) {\n case StateKind.Value:\n return current.value;\n case StateKind.Error:\n throw current.error;\n case StateKind.NoValue:\n // This shouldn't really happen because the error is thrown on creation.\n throw new ɵRuntimeError(\n ɵRuntimeErrorCode.REQUIRE_SYNC_WITHOUT_SYNC_EMIT,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n '`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.',\n );\n }\n },\n {equal: options?.equal},\n );\n}\n\nfunction makeToSignalEqual<T>(\n userEquality: ValueEqualityFn<T> = Object.is,\n): ValueEqualityFn<State<T>> {\n return (a, b) =>\n a.kind === StateKind.Value && b.kind === StateKind.Value && userEquality(a.value, b.value);\n}\n\nconst enum StateKind {\n NoValue,\n Value,\n Error,\n}\n\ninterface NoValueState {\n kind: StateKind.NoValue;\n}\n\ninterface ValueState<T> {\n kind: StateKind.Value;\n value: T;\n}\n\ninterface ErrorState {\n kind: StateKind.Error;\n error: unknown;\n}\n\ntype State<T> = NoValueState | ValueState<T> | ErrorState;\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {assertInInjectionContext, PendingTasks, inject, Injector} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable} from 'rxjs';\n\n/**\n * Operator which makes the application unstable until the observable emits, complets, errors, or is unsubscribed.\n *\n * Use this operator in observables whose subscriptions are important for rendering and should be included in SSR serialization.\n *\n * @param injector The `Injector` to use during creation. If this is not provided, the current injection context will be used instead (via `inject`).\n *\n * @experimental\n */\nexport function pendingUntilEvent<T>(injector?: Injector): MonoTypeOperatorFunction<T> {\n if (injector === undefined) {\n assertInInjectionContext(pendingUntilEvent);\n injector = inject(Injector);\n }\n const taskService = injector.get(PendingTasks);\n\n return (sourceObservable) => {\n return new Observable<T>((originalSubscriber) => {\n // create a new task on subscription\n const removeTask = taskService.add();\n\n let cleanedUp = false;\n function cleanupTask() {\n if (cleanedUp) {\n return;\n }\n\n removeTask();\n cleanedUp = true;\n }\n\n const innerSubscription = sourceObservable.subscribe({\n next: (v) => {\n originalSubscriber.next(v);\n cleanupTask();\n },\n complete: () => {\n originalSubscriber.complete();\n cleanupTask();\n },\n error: (e) => {\n originalSubscriber.error(e);\n cleanupTask();\n },\n });\n innerSubscription.add(() => {\n originalSubscriber.unsubscribe();\n cleanupTask();\n });\n return innerSubscription;\n });\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n assertInInjectionContext,\n resource,\n ResourceLoaderParams,\n ResourceRef,\n Signal,\n signal,\n BaseResourceOptions,\n} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\n\n/**\n * Like `ResourceOptions` but uses an RxJS-based `loader`.\n *\n * @experimental\n */\nexport interface RxResourceOptions<T, R> extends BaseResourceOptions<T, R> {\n loader: (params: ResourceLoaderParams<R>) => Observable<T>;\n}\n\n/**\n * Like `resource` but uses an RxJS based `loader` which maps the request to an `Observable` of the\n * resource's value. Like `firstValueFrom`, only the first emission of the Observable is considered.\n *\n * @experimental\n */\nexport function rxResource<T, R>(opts: RxResourceOptions<T, R>): ResourceRef<T | undefined> {\n opts?.injector || assertInInjectionContext(rxResource);\n return resource<T, R>({\n ...opts,\n stream: (params) => {\n let sub: Subscription;\n\n // Track the abort listener so it can be removed if the Observable completes (as a memory\n // optimization).\n const onAbort = () => sub.unsubscribe();\n params.abortSignal.addEventListener('abort', onAbort);\n\n // Start off stream as undefined.\n const stream = signal<{value: T} | {error: unknown}>({value: undefined as T});\n let resolve: ((value: Signal<{value: T} | {error: unknown}>) => void) | undefined;\n const promise = new Promise<Signal<{value: T} | {error: unknown}>>((r) => (resolve = r));\n\n function send(value: {value: T} | {error: unknown}): void {\n stream.set(value);\n resolve?.(stream);\n resolve = undefined;\n }\n\n sub = opts.loader(params).subscribe({\n next: (value) => send({value}),\n error: (error) => send({error}),\n complete: () => {\n if (resolve) {\n send({error: new Error('Resource completed before producing a value')});\n }\n params.abortSignal.removeEventListener('abort', onAbort);\n },\n });\n\n return promise;\n },\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["microtaskEffect"],"mappings":"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"}
1
+ {"version":3,"file":"rxjs-interop.mjs","sources":["../../../../../../packages/core/rxjs-interop/src/take_until_destroyed.ts","../../../../../../packages/core/rxjs-interop/src/output_from_observable.ts","../../../../../../packages/core/rxjs-interop/src/output_to_observable.ts","../../../../../../packages/core/rxjs-interop/src/to_observable.ts","../../../../../../packages/core/rxjs-interop/src/to_signal.ts","../../../../../../packages/core/rxjs-interop/src/pending_until_event.ts","../../../../../../packages/core/rxjs-interop/src/rx_resource.ts","../../../../../../packages/core/rxjs-interop/rxjs-interop.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {assertInInjectionContext, DestroyRef, inject} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n/**\n * Operator which completes the Observable when the calling context (component, directive, service,\n * etc) is destroyed.\n *\n * @param destroyRef optionally, the `DestroyRef` representing the current context. This can be\n * passed explicitly to use `takeUntilDestroyed` outside of an [injection\n * context](guide/di/dependency-injection-context). Otherwise, the current `DestroyRef` is injected.\n *\n * @publicApi\n */\nexport function takeUntilDestroyed<T>(destroyRef?: DestroyRef): MonoTypeOperatorFunction<T> {\n if (!destroyRef) {\n assertInInjectionContext(takeUntilDestroyed);\n destroyRef = inject(DestroyRef);\n }\n\n const destroyed$ = new Observable<void>((observer) => {\n const unregisterFn = destroyRef!.onDestroy(observer.next.bind(observer));\n return unregisterFn;\n });\n\n return <T>(source: Observable<T>) => {\n return source.pipe(takeUntil(destroyed$));\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n assertInInjectionContext,\n DestroyRef,\n inject,\n OutputOptions,\n OutputRef,\n OutputRefSubscription,\n ɵRuntimeError,\n ɵRuntimeErrorCode,\n} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {takeUntilDestroyed} from './take_until_destroyed';\n\n/**\n * Implementation of `OutputRef` that emits values from\n * an RxJS observable source.\n *\n * @internal\n */\nclass OutputFromObservableRef<T> implements OutputRef<T> {\n private destroyed = false;\n\n destroyRef = inject(DestroyRef);\n\n constructor(private source: Observable<T>) {\n this.destroyRef.onDestroy(() => {\n this.destroyed = true;\n });\n }\n\n subscribe(callbackFn: (value: T) => void): OutputRefSubscription {\n if (this.destroyed) {\n throw new ɵRuntimeError(\n ɵRuntimeErrorCode.OUTPUT_REF_DESTROYED,\n ngDevMode &&\n 'Unexpected subscription to destroyed `OutputRef`. ' +\n 'The owning directive/component is destroyed.',\n );\n }\n\n // Stop yielding more values when the directive/component is already destroyed.\n const subscription = this.source.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({\n next: (value) => callbackFn(value),\n });\n\n return {\n unsubscribe: () => subscription.unsubscribe(),\n };\n }\n}\n\n/**\n * Declares an Angular output that is using an RxJS observable as a source\n * for events dispatched to parent subscribers.\n *\n * The behavior for an observable as source is defined as followed:\n * 1. New values are forwarded to the Angular output (next notifications).\n * 2. Errors notifications are not handled by Angular. You need to handle these manually.\n * For example by using `catchError`.\n * 3. Completion notifications stop the output from emitting new values.\n *\n * @usageNotes\n * Initialize an output in your directive by declaring a\n * class field and initializing it with the `outputFromObservable()` function.\n *\n * ```ts\n * @Directive({..})\n * export class MyDir {\n * nameChange$ = <some-observable>;\n * nameChange = outputFromObservable(this.nameChange$);\n * }\n * ```\n *\n * @publicApi\n */\nexport function outputFromObservable<T>(\n observable: Observable<T>,\n opts?: OutputOptions,\n): OutputRef<T> {\n ngDevMode && assertInInjectionContext(outputFromObservable);\n return new OutputFromObservableRef<T>(observable);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {OutputRef, ɵgetOutputDestroyRef} from '@angular/core';\nimport {Observable} from 'rxjs';\n\n/**\n * Converts an Angular output declared via `output()` or `outputFromObservable()`\n * to an observable.\n *\n * You can subscribe to the output via `Observable.subscribe` then.\n *\n * @publicApi\n */\nexport function outputToObservable<T>(ref: OutputRef<T>): Observable<T> {\n const destroyRef = ɵgetOutputDestroyRef(ref);\n\n return new Observable<T>((observer) => {\n // Complete the observable upon directive/component destroy.\n // Note: May be `undefined` if an `EventEmitter` is declared outside\n // of an injection context.\n destroyRef?.onDestroy(() => observer.complete());\n\n const subscription = ref.subscribe((v) => observer.next(v));\n return () => subscription.unsubscribe();\n });\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n assertInInjectionContext,\n DestroyRef,\n effect,\n inject,\n Injector,\n Signal,\n untracked,\n ɵmicrotaskEffect as microtaskEffect,\n} from '@angular/core';\nimport {Observable, ReplaySubject} from 'rxjs';\n\n/**\n * Options for `toObservable`.\n *\n * @developerPreview\n */\nexport interface ToObservableOptions {\n /**\n * The `Injector` to use when creating the underlying `effect` which watches the signal.\n *\n * If this isn't specified, the current [injection context](guide/di/dependency-injection-context)\n * will be used.\n */\n injector?: Injector;\n}\n\n/**\n * Exposes the value of an Angular `Signal` as an RxJS `Observable`.\n *\n * The signal's value will be propagated into the `Observable`'s subscribers using an `effect`.\n *\n * `toObservable` must be called in an injection context unless an injector is provided via options.\n *\n * @developerPreview\n */\nexport function toObservable<T>(source: Signal<T>, options?: ToObservableOptions): Observable<T> {\n !options?.injector && assertInInjectionContext(toObservable);\n const injector = options?.injector ?? inject(Injector);\n const subject = new ReplaySubject<T>(1);\n\n const watcher = effect(\n () => {\n let value: T;\n try {\n value = source();\n } catch (err) {\n untracked(() => subject.error(err));\n return;\n }\n untracked(() => subject.next(value));\n },\n {injector, manualCleanup: true},\n );\n\n injector.get(DestroyRef).onDestroy(() => {\n watcher.destroy();\n subject.complete();\n });\n\n return subject.asObservable();\n}\n\nexport function toObservableMicrotask<T>(\n source: Signal<T>,\n options?: ToObservableOptions,\n): Observable<T> {\n !options?.injector && assertInInjectionContext(toObservable);\n const injector = options?.injector ?? inject(Injector);\n const subject = new ReplaySubject<T>(1);\n\n const watcher = microtaskEffect(\n () => {\n let value: T;\n try {\n value = source();\n } catch (err) {\n untracked(() => subject.error(err));\n return;\n }\n untracked(() => subject.next(value));\n },\n {injector, manualCleanup: true},\n );\n\n injector.get(DestroyRef).onDestroy(() => {\n watcher.destroy();\n subject.complete();\n });\n\n return subject.asObservable();\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n assertInInjectionContext,\n assertNotInReactiveContext,\n computed,\n DestroyRef,\n inject,\n Injector,\n signal,\n Signal,\n WritableSignal,\n ɵRuntimeError,\n ɵRuntimeErrorCode,\n} from '@angular/core';\nimport {ValueEqualityFn} from '@angular/core/primitives/signals';\nimport {Observable, Subscribable} from 'rxjs';\n\n/**\n * Options for `toSignal`.\n *\n * @publicApi\n */\nexport interface ToSignalOptions<T> {\n /**\n * Initial value for the signal produced by `toSignal`.\n *\n * This will be the value of the signal until the observable emits its first value.\n */\n initialValue?: unknown;\n\n /**\n * Whether to require that the observable emits synchronously when `toSignal` subscribes.\n *\n * If this is `true`, `toSignal` will assert that the observable produces a value immediately upon\n * subscription. Setting this option removes the need to either deal with `undefined` in the\n * signal type or provide an `initialValue`, at the cost of a runtime error if this requirement is\n * not met.\n */\n requireSync?: boolean;\n\n /**\n * `Injector` which will provide the `DestroyRef` used to clean up the Observable subscription.\n *\n * If this is not provided, a `DestroyRef` will be retrieved from the current [injection\n * context](guide/di/dependency-injection-context), unless manual cleanup is requested.\n */\n injector?: Injector;\n\n /**\n * Whether the subscription should be automatically cleaned up (via `DestroyRef`) when\n * `toSignal`'s creation context is destroyed.\n *\n * If manual cleanup is enabled, then `DestroyRef` is not used, and the subscription will persist\n * until the `Observable` itself completes.\n */\n manualCleanup?: boolean;\n\n /**\n * Whether `toSignal` should throw errors from the Observable error channel back to RxJS, where\n * they'll be processed as uncaught exceptions.\n *\n * In practice, this means that the signal returned by `toSignal` will keep returning the last\n * good value forever, as Observables which error produce no further values. This option emulates\n * the behavior of the `async` pipe.\n */\n rejectErrors?: boolean;\n\n /**\n * A comparison function which defines equality for values emitted by the observable.\n *\n * Equality comparisons are executed against the initial value if one is provided.\n */\n equal?: ValueEqualityFn<T>;\n}\n\n// Base case: no options -> `undefined` in the result type.\nexport function toSignal<T>(source: Observable<T> | Subscribable<T>): Signal<T | undefined>;\n// Options with `undefined` initial value and no `requiredSync` -> `undefined`.\nexport function toSignal<T>(\n source: Observable<T> | Subscribable<T>,\n options: NoInfer<ToSignalOptions<T | undefined>> & {\n initialValue?: undefined;\n requireSync?: false;\n },\n): Signal<T | undefined>;\n// Options with `null` initial value -> `null`.\nexport function toSignal<T>(\n source: Observable<T> | Subscribable<T>,\n options: NoInfer<ToSignalOptions<T | null>> & {initialValue?: null; requireSync?: false},\n): Signal<T | null>;\n// Options with `undefined` initial value and `requiredSync` -> strict result type.\nexport function toSignal<T>(\n source: Observable<T> | Subscribable<T>,\n options: NoInfer<ToSignalOptions<T>> & {initialValue?: undefined; requireSync: true},\n): Signal<T>;\n// Options with a more specific initial value type.\nexport function toSignal<T, const U extends T>(\n source: Observable<T> | Subscribable<T>,\n options: NoInfer<ToSignalOptions<T | U>> & {initialValue: U; requireSync?: false},\n): Signal<T | U>;\n\n/**\n * Get the current value of an `Observable` as a reactive `Signal`.\n *\n * `toSignal` returns a `Signal` which provides synchronous reactive access to values produced\n * by the given `Observable`, by subscribing to that `Observable`. The returned `Signal` will always\n * have the most recent value emitted by the subscription, and will throw an error if the\n * `Observable` errors.\n *\n * With `requireSync` set to `true`, `toSignal` will assert that the `Observable` produces a value\n * immediately upon subscription. No `initialValue` is needed in this case, and the returned signal\n * does not include an `undefined` type.\n *\n * By default, the subscription will be automatically cleaned up when the current [injection\n * context](guide/di/dependency-injection-context) is destroyed. For example, when `toSignal` is\n * called during the construction of a component, the subscription will be cleaned up when the\n * component is destroyed. If an injection context is not available, an explicit `Injector` can be\n * passed instead.\n *\n * If the subscription should persist until the `Observable` itself completes, the `manualCleanup`\n * option can be specified instead, which disables the automatic subscription teardown. No injection\n * context is needed in this configuration as well.\n *\n * @developerPreview\n */\nexport function toSignal<T, U = undefined>(\n source: Observable<T> | Subscribable<T>,\n options?: ToSignalOptions<T | U> & {initialValue?: U},\n): Signal<T | U> {\n ngDevMode &&\n assertNotInReactiveContext(\n toSignal,\n 'Invoking `toSignal` causes new subscriptions every time. ' +\n 'Consider moving `toSignal` outside of the reactive context and read the signal value where needed.',\n );\n\n const requiresCleanup = !options?.manualCleanup;\n requiresCleanup && !options?.injector && assertInInjectionContext(toSignal);\n const cleanupRef = requiresCleanup\n ? (options?.injector?.get(DestroyRef) ?? inject(DestroyRef))\n : null;\n\n const equal = makeToSignalEqual(options?.equal);\n\n // Note: T is the Observable value type, and U is the initial value type. They don't have to be\n // the same - the returned signal gives values of type `T`.\n let state: WritableSignal<State<T | U>>;\n if (options?.requireSync) {\n // Initially the signal is in a `NoValue` state.\n state = signal({kind: StateKind.NoValue}, {equal});\n } else {\n // If an initial value was passed, use it. Otherwise, use `undefined` as the initial value.\n state = signal<State<T | U>>(\n {kind: StateKind.Value, value: options?.initialValue as U},\n {equal},\n );\n }\n\n // Note: This code cannot run inside a reactive context (see assertion above). If we'd support\n // this, we would subscribe to the observable outside of the current reactive context, avoiding\n // that side-effect signal reads/writes are attribute to the current consumer. The current\n // consumer only needs to be notified when the `state` signal changes through the observable\n // subscription. Additional context (related to async pipe):\n // https://github.com/angular/angular/pull/50522.\n const sub = source.subscribe({\n next: (value) => state.set({kind: StateKind.Value, value}),\n error: (error) => {\n if (options?.rejectErrors) {\n // Kick the error back to RxJS. It will be caught and rethrown in a macrotask, which causes\n // the error to end up as an uncaught exception.\n throw error;\n }\n state.set({kind: StateKind.Error, error});\n },\n // Completion of the Observable is meaningless to the signal. Signals don't have a concept of\n // \"complete\".\n });\n\n if (options?.requireSync && state().kind === StateKind.NoValue) {\n throw new ɵRuntimeError(\n ɵRuntimeErrorCode.REQUIRE_SYNC_WITHOUT_SYNC_EMIT,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n '`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.',\n );\n }\n\n // Unsubscribe when the current context is destroyed, if requested.\n cleanupRef?.onDestroy(sub.unsubscribe.bind(sub));\n\n // The actual returned signal is a `computed` of the `State` signal, which maps the various states\n // to either values or errors.\n return computed(\n () => {\n const current = state();\n switch (current.kind) {\n case StateKind.Value:\n return current.value;\n case StateKind.Error:\n throw current.error;\n case StateKind.NoValue:\n // This shouldn't really happen because the error is thrown on creation.\n throw new ɵRuntimeError(\n ɵRuntimeErrorCode.REQUIRE_SYNC_WITHOUT_SYNC_EMIT,\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n '`toSignal()` called with `requireSync` but `Observable` did not emit synchronously.',\n );\n }\n },\n {equal: options?.equal},\n );\n}\n\nfunction makeToSignalEqual<T>(\n userEquality: ValueEqualityFn<T> = Object.is,\n): ValueEqualityFn<State<T>> {\n return (a, b) =>\n a.kind === StateKind.Value && b.kind === StateKind.Value && userEquality(a.value, b.value);\n}\n\nconst enum StateKind {\n NoValue,\n Value,\n Error,\n}\n\ninterface NoValueState {\n kind: StateKind.NoValue;\n}\n\ninterface ValueState<T> {\n kind: StateKind.Value;\n value: T;\n}\n\ninterface ErrorState {\n kind: StateKind.Error;\n error: unknown;\n}\n\ntype State<T> = NoValueState | ValueState<T> | ErrorState;\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {assertInInjectionContext, PendingTasks, inject, Injector} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable} from 'rxjs';\n\n/**\n * Operator which makes the application unstable until the observable emits, complets, errors, or is unsubscribed.\n *\n * Use this operator in observables whose subscriptions are important for rendering and should be included in SSR serialization.\n *\n * @param injector The `Injector` to use during creation. If this is not provided, the current injection context will be used instead (via `inject`).\n *\n * @experimental\n */\nexport function pendingUntilEvent<T>(injector?: Injector): MonoTypeOperatorFunction<T> {\n if (injector === undefined) {\n assertInInjectionContext(pendingUntilEvent);\n injector = inject(Injector);\n }\n const taskService = injector.get(PendingTasks);\n\n return (sourceObservable) => {\n return new Observable<T>((originalSubscriber) => {\n // create a new task on subscription\n const removeTask = taskService.add();\n\n let cleanedUp = false;\n function cleanupTask() {\n if (cleanedUp) {\n return;\n }\n\n removeTask();\n cleanedUp = true;\n }\n\n const innerSubscription = sourceObservable.subscribe({\n next: (v) => {\n originalSubscriber.next(v);\n cleanupTask();\n },\n complete: () => {\n originalSubscriber.complete();\n cleanupTask();\n },\n error: (e) => {\n originalSubscriber.error(e);\n cleanupTask();\n },\n });\n innerSubscription.add(() => {\n originalSubscriber.unsubscribe();\n cleanupTask();\n });\n return innerSubscription;\n });\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n assertInInjectionContext,\n resource,\n ResourceLoaderParams,\n ResourceRef,\n Signal,\n signal,\n BaseResourceOptions,\n} from '@angular/core';\nimport {Observable, Subscription} from 'rxjs';\n\n/**\n * Like `ResourceOptions` but uses an RxJS-based `loader`.\n *\n * @experimental\n */\nexport interface RxResourceOptions<T, R> extends BaseResourceOptions<T, R> {\n loader: (params: ResourceLoaderParams<R>) => Observable<T>;\n}\n\n/**\n * Like `resource` but uses an RxJS based `loader` which maps the request to an `Observable` of the\n * resource's value.\n *\n * @experimental\n */\nexport function rxResource<T, R>(\n opts: RxResourceOptions<T, R> & {defaultValue: NoInfer<T>},\n): ResourceRef<T>;\n\n/**\n * Like `resource` but uses an RxJS based `loader` which maps the request to an `Observable` of the\n * resource's value.\n *\n * @experimental\n */\nexport function rxResource<T, R>(opts: RxResourceOptions<T, R>): ResourceRef<T | undefined>;\nexport function rxResource<T, R>(opts: RxResourceOptions<T, R>): ResourceRef<T | undefined> {\n opts?.injector || assertInInjectionContext(rxResource);\n return resource<T, R>({\n ...opts,\n loader: undefined,\n stream: (params) => {\n let sub: Subscription;\n\n // Track the abort listener so it can be removed if the Observable completes (as a memory\n // optimization).\n const onAbort = () => sub.unsubscribe();\n params.abortSignal.addEventListener('abort', onAbort);\n\n // Start off stream as undefined.\n const stream = signal<{value: T} | {error: unknown}>({value: undefined as T});\n let resolve: ((value: Signal<{value: T} | {error: unknown}>) => void) | undefined;\n const promise = new Promise<Signal<{value: T} | {error: unknown}>>((r) => (resolve = r));\n\n function send(value: {value: T} | {error: unknown}): void {\n stream.set(value);\n resolve?.(stream);\n resolve = undefined;\n }\n\n sub = opts.loader(params).subscribe({\n next: (value) => send({value}),\n error: (error) => send({error}),\n complete: () => {\n if (resolve) {\n send({error: new Error('Resource completed before producing a value')});\n }\n params.abortSignal.removeEventListener('abort', onAbort);\n },\n });\n\n return promise;\n },\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["microtaskEffect"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.0-next.0
2
+ * @license Angular v19.2.0-next.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -175,10 +175,10 @@ class TestBedApplicationErrorHandler {
175
175
  throw e;
176
176
  }
177
177
  }
178
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0-next.0", ngImport: i0, type: TestBedApplicationErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
179
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.0-next.0", ngImport: i0, type: TestBedApplicationErrorHandler });
178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0-next.2", ngImport: i0, type: TestBedApplicationErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
179
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.0-next.2", ngImport: i0, type: TestBedApplicationErrorHandler });
180
180
  }
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0-next.0", ngImport: i0, type: TestBedApplicationErrorHandler, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0-next.2", ngImport: i0, type: TestBedApplicationErrorHandler, decorators: [{
182
182
  type: Injectable
183
183
  }] });
184
184
 
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.0-next.0
2
+ * @license Angular v19.2.0-next.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1118,6 +1118,7 @@ export declare class ApplicationRef {
1118
1118
  * detection pass during which all change detection must complete.
1119
1119
  */
1120
1120
  tick(): void;
1121
+ private tickImpl;
1121
1122
  /**
1122
1123
  * Performs the core work of synchronizing the application state with the UI, resolving any
1123
1124
  * pending dirtiness (potentially in a loop).
@@ -1283,6 +1284,11 @@ export declare interface BaseResourceOptions<T, R> {
1283
1284
  * If a request function isn't provided, the loader won't rerun unless the resource is reloaded.
1284
1285
  */
1285
1286
  request?: () => R;
1287
+ /**
1288
+ * The value which will be returned from the resource when a server value is unavailable, such as
1289
+ * when the resource is still loading, or in an error state.
1290
+ */
1291
+ defaultValue?: NoInfer<T>;
1286
1292
  /**
1287
1293
  * Equality function used to compare the return value of the loader.
1288
1294
  */
@@ -6902,7 +6908,7 @@ declare const enum LContainerFlags {
6902
6908
  declare type LegacyInputPartialMapping = string | [bindingPropertyName: string, classPropertyName: string, transformFunction?: Function];
6903
6909
 
6904
6910
  /**
6905
- * Creates a writable signals whose value is initialized and reset by the linked, reactive computation.
6911
+ * Creates a writable signal whose value is initialized and reset by the linked, reactive computation.
6906
6912
  *
6907
6913
  * @developerPreview
6908
6914
  */
@@ -6911,7 +6917,7 @@ export declare function linkedSignal<D>(computation: () => D, options?: {
6911
6917
  }): WritableSignal<D>;
6912
6918
 
6913
6919
  /**
6914
- * Creates a writable signals whose value is initialized and reset by the linked, reactive computation.
6920
+ * Creates a writable signal whose value is initialized and reset by the linked, reactive computation.
6915
6921
  * This is an advanced API form where the computation has access to the previous value of the signal and the computation result.
6916
6922
  *
6917
6923
  * Note: The computation is reactive, meaning the linked signal will automatically update whenever any of the signals used within the computation change.
@@ -8791,6 +8797,10 @@ export declare interface PromiseResourceOptions<T, R> extends BaseResourceOption
8791
8797
  * Loading function which returns a `Promise` of the resource's value for a given request.
8792
8798
  */
8793
8799
  loader: ResourceLoader<T, R>;
8800
+ /**
8801
+ * Cannot specify `stream` and `loader` at the same time.
8802
+ */
8803
+ stream?: never;
8794
8804
  }
8795
8805
 
8796
8806
  /**
@@ -9795,6 +9805,20 @@ export declare interface Resource<T> {
9795
9805
  reload(): boolean;
9796
9806
  }
9797
9807
 
9808
+ /**
9809
+ * Constructs a `Resource` that projects a reactive request to an asynchronous operation defined by
9810
+ * a loader function, which exposes the result of the loading operation via signals.
9811
+ *
9812
+ * Note that `resource` is intended for _read_ operations, not operations which perform mutations.
9813
+ * `resource` will cancel in-progress loads via the `AbortSignal` when destroyed or when a new
9814
+ * request object becomes available, which could prematurely abort mutations.
9815
+ *
9816
+ * @experimental
9817
+ */
9818
+ export declare function resource<T, R>(options: ResourceOptions<T, R> & {
9819
+ defaultValue: NoInfer<T>;
9820
+ }): ResourceRef<T>;
9821
+
9798
9822
  /**
9799
9823
  * Constructs a `Resource` that projects a reactive request to an asynchronous operation defined by
9800
9824
  * a loader function, which exposes the result of the loading operation via signals.
@@ -9839,6 +9863,7 @@ export declare type ResourceOptions<T, R> = PromiseResourceOptions<T, R> | Strea
9839
9863
  * @experimental
9840
9864
  */
9841
9865
  export declare interface ResourceRef<T> extends WritableResource<T> {
9866
+ hasValue(): this is ResourceRef<Exclude<T, undefined>>;
9842
9867
  /**
9843
9868
  * Manually destroy the resource, which cancels pending requests and returns it to `idle` state.
9844
9869
  */
@@ -9890,11 +9915,16 @@ export declare enum ResourceStatus {
9890
9915
  *
9891
9916
  * @experimental
9892
9917
  */
9893
- export declare type ResourceStreamingLoader<T, R> = (param: ResourceLoaderParams<R>) => PromiseLike<Signal<{
9918
+ export declare type ResourceStreamingLoader<T, R> = (param: ResourceLoaderParams<R>) => PromiseLike<Signal<ResourceStreamItem<T>>>;
9919
+
9920
+ /**
9921
+ * @experimental
9922
+ */
9923
+ export declare type ResourceStreamItem<T> = {
9894
9924
  value: T;
9895
9925
  } | {
9896
9926
  error: unknown;
9897
- }>>;
9927
+ };
9898
9928
 
9899
9929
  /**
9900
9930
  * Injection token for response initialization options.
@@ -10418,6 +10448,10 @@ export declare interface StreamingResourceOptions<T, R> extends BaseResourceOpti
10418
10448
  * request, which can change over time as new values are received from a stream.
10419
10449
  */
10420
10450
  stream: ResourceStreamingLoader<T, R>;
10451
+ /**
10452
+ * Cannot specify `stream` and `loader` at the same time.
10453
+ */
10454
+ loader?: never;
10421
10455
  }
10422
10456
 
10423
10457
  declare const T_HOST = 5;
@@ -14030,21 +14064,6 @@ export declare class ɵLContext {
14030
14064
  native: RNode);
14031
14065
  }
14032
14066
 
14033
- /**
14034
- * Used to enable lifecycle hooks on the root component.
14035
- *
14036
- * Include this feature when calling `renderComponent` if the root component
14037
- * you are rendering has lifecycle hooks defined. Otherwise, the hooks won't
14038
- * be called properly.
14039
- *
14040
- * Example:
14041
- *
14042
- * ```ts
14043
- * renderComponent(AppComponent, {hostFeatures: [LifecycleHooksFeature]});
14044
- * ```
14045
- */
14046
- export declare function ɵLifecycleHooksFeature(): void;
14047
-
14048
14067
  /**
14049
14068
  * Index of each type of locale data from the locale data array
14050
14069
  */
@@ -14542,15 +14561,15 @@ export declare class ɵRender3ComponentFactory<T> extends ComponentFactory<T> {
14542
14561
  *
14543
14562
  */
14544
14563
  export declare class ɵRender3ComponentRef<T> extends ComponentRef<T> {
14545
- location: ElementRef;
14546
14564
  private _rootLView;
14547
- private _tNode;
14548
14565
  instance: T;
14549
14566
  hostView: ɵViewRef<T>;
14550
14567
  changeDetectorRef: ChangeDetectorRef;
14551
14568
  componentType: Type<T>;
14569
+ location: ElementRef;
14552
14570
  private previousInputValues;
14553
- constructor(componentType: Type<T>, instance: T, location: ElementRef, _rootLView: LView, _tNode: TElementNode | TContainerNode | TElementContainerNode);
14571
+ private _tNode;
14572
+ constructor(componentType: Type<T>, _rootLView: LView);
14554
14573
  setInput(name: string, value: unknown): void;
14555
14574
  get injector(): Injector;
14556
14575
  destroy(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "19.2.0-next.0",
3
+ "version": "19.2.0-next.2",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.0-next.0
2
+ * @license Angular v19.2.0-next.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.0-next.0
2
+ * @license Angular v19.2.0-next.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.2.0-next.0
2
+ * @license Angular v19.2.0-next.2
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -67,7 +67,17 @@ export declare function pendingUntilEvent<T>(injector?: Injector): MonoTypeOpera
67
67
 
68
68
  /**
69
69
  * Like `resource` but uses an RxJS based `loader` which maps the request to an `Observable` of the
70
- * resource's value. Like `firstValueFrom`, only the first emission of the Observable is considered.
70
+ * resource's value.
71
+ *
72
+ * @experimental
73
+ */
74
+ export declare function rxResource<T, R>(opts: RxResourceOptions<T, R> & {
75
+ defaultValue: NoInfer<T>;
76
+ }): ResourceRef<T>;
77
+
78
+ /**
79
+ * Like `resource` but uses an RxJS based `loader` which maps the request to an `Observable` of the
80
+ * resource's value.
71
81
  *
72
82
  * @experimental
73
83
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,8 +10,8 @@ var core = require('@angular-devkit/core');
10
10
  var posixPath = require('node:path/posix');
11
11
  var os = require('os');
12
12
  var ts = require('typescript');
13
- var checker = require('./checker-78667e44.js');
14
- var program = require('./program-b0d98952.js');
13
+ var checker = require('./checker-9af84be9.js');
14
+ var program = require('./program-66386e72.js');
15
15
  require('path');
16
16
 
17
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -30696,7 +30696,7 @@ function publishFacade(global) {
30696
30696
  * @description
30697
30697
  * Entry point for all public APIs of the compiler package.
30698
30698
  */
30699
- new Version('19.2.0-next.0');
30699
+ new Version('19.2.0-next.2');
30700
30700
 
30701
30701
  const _I18N_ATTR = 'i18n';
30702
30702
  const _I18N_ATTR_PREFIX = 'i18n-';
@@ -32104,7 +32104,7 @@ class NodeJSPathManipulation {
32104
32104
  // G3-ESM-MARKER: G3 uses CommonJS, but externally everything in ESM.
32105
32105
  // CommonJS/ESM interop for determining the current file name and containing dir.
32106
32106
  const isCommonJS = typeof __filename !== 'undefined';
32107
- const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT' && document.currentScript.src || new URL('checker-78667e44.js', document.baseURI).href));
32107
+ const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT' && document.currentScript.src || new URL('checker-9af84be9.js', document.baseURI).href));
32108
32108
  const currentFileName = isCommonJS ? __filename : url.fileURLToPath(currentFileUrl);
32109
32109
  /**
32110
32110
  * A wrapper around the Node.js file-system that supports readonly operations and path manipulation.
@@ -35155,10 +35155,10 @@ class StaticInterpreter {
35155
35155
  visitEnumDeclaration(node, context) {
35156
35156
  const enumRef = this.getReference(node, context);
35157
35157
  const map = new Map();
35158
- node.members.forEach((member) => {
35158
+ node.members.forEach((member, index) => {
35159
35159
  const name = this.stringNameFromPropertyName(member.name, context);
35160
35160
  if (name !== undefined) {
35161
- const resolved = member.initializer && this.visit(member.initializer, context);
35161
+ const resolved = member.initializer ? this.visit(member.initializer, context) : index;
35162
35162
  map.set(name, new EnumValue(enumRef, name, resolved));
35163
35163
  }
35164
35164
  });
@@ -46339,6 +46339,7 @@ exports.PropertyRead = PropertyRead;
46339
46339
  exports.PropertyWrite = PropertyWrite;
46340
46340
  exports.QUERY_INITIALIZER_FNS = QUERY_INITIALIZER_FNS;
46341
46341
  exports.R3TargetBinder = R3TargetBinder;
46342
+ exports.ReadVarExpr = ReadVarExpr;
46342
46343
  exports.RecursiveAstVisitor = RecursiveAstVisitor$1;
46343
46344
  exports.RecursiveAstVisitor$1 = RecursiveAstVisitor;
46344
46345
  exports.RecursiveVisitor = RecursiveVisitor;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -9,14 +9,14 @@
9
9
  Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
13
- var apply_import_manager = require('./apply_import_manager-deecd687.js');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
13
+ var apply_import_manager = require('./apply_import_manager-d8ea426b.js');
14
14
  require('os');
15
15
  var ts = require('typescript');
16
- var checker = require('./checker-78667e44.js');
17
- var program = require('./program-b0d98952.js');
16
+ var checker = require('./checker-9af84be9.js');
17
+ var program = require('./program-66386e72.js');
18
18
  require('path');
19
- require('./index-de135c2f.js');
19
+ require('./index-93e324de.js');
20
20
  require('@angular-devkit/core');
21
21
  require('node:path/posix');
22
22
  require('fs');
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
9
  var ts = require('typescript');
10
- var checker = require('./checker-78667e44.js');
10
+ var checker = require('./checker-9af84be9.js');
11
11
  require('os');
12
12
  var p = require('path');
13
13
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,8 +10,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var p = require('path');
13
- var compiler_host = require('./compiler_host-38c8eab2.js');
14
- var checker = require('./checker-78667e44.js');
13
+ var compiler_host = require('./compiler_host-dbff2781.js');
14
+ var checker = require('./checker-9af84be9.js');
15
15
  var ts = require('typescript');
16
16
  require('os');
17
17
  require('fs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,12 +10,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var p = require('path');
13
- var project_tsconfig_paths = require('./project_tsconfig_paths-e9ccccbf.js');
14
- var compiler_host = require('./compiler_host-38c8eab2.js');
13
+ var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
14
+ var compiler_host = require('./compiler_host-dbff2781.js');
15
15
  var ts = require('typescript');
16
- var imports = require('./imports-abe29092.js');
16
+ var imports = require('./imports-31a38653.js');
17
17
  require('@angular-devkit/core');
18
- require('./checker-78667e44.js');
18
+ require('./checker-9af84be9.js');
19
19
  require('os');
20
20
  require('fs');
21
21
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,10 +8,10 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var checker = require('./checker-78667e44.js');
12
- var program = require('./program-b0d98952.js');
11
+ var checker = require('./checker-9af84be9.js');
12
+ var program = require('./program-66386e72.js');
13
13
  require('path');
14
- var apply_import_manager = require('./apply_import_manager-deecd687.js');
14
+ var apply_import_manager = require('./apply_import_manager-d8ea426b.js');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.2.0-next.0
3
+ * @license Angular v19.2.0-next.2
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,8 +8,8 @@
8
8
 
9
9
  require('os');
10
10
  require('typescript');
11
- var checker = require('./checker-78667e44.js');
12
- require('./program-b0d98952.js');
11
+ var checker = require('./checker-9af84be9.js');
12
+ require('./program-66386e72.js');
13
13
  require('path');
14
14
 
15
15
  /**
@@ -17,7 +17,7 @@ require('path');
17
17
  * @description
18
18
  * Entry point for all public APIs of the compiler-cli package.
19
19
  */
20
- new checker.Version('19.2.0-next.0');
20
+ new checker.Version('19.2.0-next.2');
21
21
 
22
22
  var LogLevel;
23
23
  (function (LogLevel) {