@angular/common 21.1.0-next.2 → 21.1.0-next.4

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.1.0-next.2
2
+ * @license Angular v21.1.0-next.4
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -31,7 +31,7 @@ class LocationStrategy {
31
31
  }
32
32
  static ɵfac = i0.ɵɵngDeclareFactory({
33
33
  minVersion: "12.0.0",
34
- version: "21.1.0-next.2",
34
+ version: "21.1.0-next.4",
35
35
  ngImport: i0,
36
36
  type: LocationStrategy,
37
37
  deps: [],
@@ -39,7 +39,7 @@ class LocationStrategy {
39
39
  });
40
40
  static ɵprov = i0.ɵɵngDeclareInjectable({
41
41
  minVersion: "12.0.0",
42
- version: "21.1.0-next.2",
42
+ version: "21.1.0-next.4",
43
43
  ngImport: i0,
44
44
  type: LocationStrategy,
45
45
  providedIn: 'root',
@@ -48,7 +48,7 @@ class LocationStrategy {
48
48
  }
49
49
  i0.ɵɵngDeclareClassMetadata({
50
50
  minVersion: "12.0.0",
51
- version: "21.1.0-next.2",
51
+ version: "21.1.0-next.4",
52
52
  ngImport: i0,
53
53
  type: LocationStrategy,
54
54
  decorators: [{
@@ -110,7 +110,7 @@ class PathLocationStrategy extends LocationStrategy {
110
110
  }
111
111
  static ɵfac = i0.ɵɵngDeclareFactory({
112
112
  minVersion: "12.0.0",
113
- version: "21.1.0-next.2",
113
+ version: "21.1.0-next.4",
114
114
  ngImport: i0,
115
115
  type: PathLocationStrategy,
116
116
  deps: [{
@@ -123,7 +123,7 @@ class PathLocationStrategy extends LocationStrategy {
123
123
  });
124
124
  static ɵprov = i0.ɵɵngDeclareInjectable({
125
125
  minVersion: "12.0.0",
126
- version: "21.1.0-next.2",
126
+ version: "21.1.0-next.4",
127
127
  ngImport: i0,
128
128
  type: PathLocationStrategy,
129
129
  providedIn: 'root'
@@ -131,7 +131,7 @@ class PathLocationStrategy extends LocationStrategy {
131
131
  }
132
132
  i0.ɵɵngDeclareClassMetadata({
133
133
  minVersion: "12.0.0",
134
- version: "21.1.0-next.2",
134
+ version: "21.1.0-next.4",
135
135
  ngImport: i0,
136
136
  type: PathLocationStrategy,
137
137
  decorators: [{
@@ -240,7 +240,7 @@ class Location {
240
240
  static stripTrailingSlash = stripTrailingSlash;
241
241
  static ɵfac = i0.ɵɵngDeclareFactory({
242
242
  minVersion: "12.0.0",
243
- version: "21.1.0-next.2",
243
+ version: "21.1.0-next.4",
244
244
  ngImport: i0,
245
245
  type: Location,
246
246
  deps: [{
@@ -250,7 +250,7 @@ class Location {
250
250
  });
251
251
  static ɵprov = i0.ɵɵngDeclareInjectable({
252
252
  minVersion: "12.0.0",
253
- version: "21.1.0-next.2",
253
+ version: "21.1.0-next.4",
254
254
  ngImport: i0,
255
255
  type: Location,
256
256
  providedIn: 'root',
@@ -259,7 +259,7 @@ class Location {
259
259
  }
260
260
  i0.ɵɵngDeclareClassMetadata({
261
261
  minVersion: "12.0.0",
262
- version: "21.1.0-next.2",
262
+ version: "21.1.0-next.4",
263
263
  ngImport: i0,
264
264
  type: Location,
265
265
  decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"_location-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/common/src/location/util.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/common/src/location/location_strategy.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/common/src/location/location.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\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nexport function joinWithSlash(start: string, end: string) {\n // If `start` is an empty string, return `end` as the result.\n if (!start) return end;\n // If `end` is an empty string, return `start` as the result.\n if (!end) return start;\n // If `start` ends with a slash, remove the leading slash from `end`.\n if (start.endsWith('/')) {\n return end.startsWith('/') ? start + end.slice(1) : start + end;\n }\n // If `start` doesn't end with a slash, add one if `end` doesn't start with a slash.\n return end.startsWith('/') ? start + end : `${start}/${end}`;\n}\n\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nexport function stripTrailingSlash(url: string): string {\n // Find the index of the first occurrence of `#`, `?`, or the end of the string.\n // This marks the start of the query string, fragment, or the end of the URL path.\n const pathEndIdx = url.search(/#|\\?|$/);\n // Check if the character before `pathEndIdx` is a trailing slash.\n // If it is, remove the trailing slash and return the modified URL.\n // Otherwise, return the URL as is.\n return url[pathEndIdx - 1] === '/' ? url.slice(0, pathEndIdx - 1) + url.slice(pathEndIdx) : url;\n}\n\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nexport function normalizeQueryParams(params: string): string {\n return params && params[0] !== '?' ? `?${params}` : params;\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 DOCUMENT,\n Inject,\n inject,\n Injectable,\n InjectionToken,\n OnDestroy,\n Optional,\n} from '@angular/core';\n\nimport {LocationChangeListener, PlatformLocation} from './platform_location';\nimport {joinWithSlash, normalizeQueryParams} from './util';\n\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * <code class=\"no-auto-link\">http://example.com/#/foo</code>,\n * and `PathLocationStrategy` produces\n * <code class=\"no-auto-link\">http://example.com/foo</code> as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root', useFactory: () => inject(PathLocationStrategy)})\nexport abstract class LocationStrategy {\n abstract path(includeHash?: boolean): string;\n abstract prepareExternalUrl(internal: string): string;\n abstract getState(): unknown;\n abstract pushState(state: any, title: string, url: string, queryParams: string): void;\n abstract replaceState(state: any, title: string, url: string, queryParams: string): void;\n abstract forward(): void;\n abstract back(): void;\n historyGo?(relativePosition: number): void {\n throw new Error(ngDevMode ? 'Not implemented' : '');\n }\n abstract onPopState(fn: LocationChangeListener): void;\n abstract getBaseHref(): string;\n}\n\n/**\n * A predefined DI token for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```ts\n * import {NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nexport const APP_BASE_HREF = new InjectionToken<string>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'appBaseHref' : '',\n);\n\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you may provide a {@link APP_BASE_HREF}\n * or add a `<base href>` element to the document to override the default.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `<base href>` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `<base href='/my/app/'/>` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `<base href>` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root'})\nexport class PathLocationStrategy extends LocationStrategy implements OnDestroy {\n private _baseHref: string;\n private _removeListenerFns: (() => void)[] = [];\n\n constructor(\n private _platformLocation: PlatformLocation,\n @Optional() @Inject(APP_BASE_HREF) href?: string,\n ) {\n super();\n\n this._baseHref =\n href ??\n this._platformLocation.getBaseHrefFromDOM() ??\n inject(DOCUMENT).location?.origin ??\n '';\n }\n\n /** @docs-private */\n ngOnDestroy(): void {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()!();\n }\n }\n\n override onPopState(fn: LocationChangeListener): void {\n this._removeListenerFns.push(\n this._platformLocation.onPopState(fn),\n this._platformLocation.onHashChange(fn),\n );\n }\n\n override getBaseHref(): string {\n return this._baseHref;\n }\n\n override prepareExternalUrl(internal: string): string {\n return joinWithSlash(this._baseHref, internal);\n }\n\n override path(includeHash: boolean = false): string {\n const pathname =\n this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n\n override pushState(state: any, title: string, url: string, queryParams: string) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n\n override replaceState(state: any, title: string, url: string, queryParams: string) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n\n override forward(): void {\n this._platformLocation.forward();\n }\n\n override back(): void {\n this._platformLocation.back();\n }\n\n override getState(): unknown {\n return this._platformLocation.getState();\n }\n\n override historyGo(relativePosition: number = 0): void {\n this._platformLocation.historyGo?.(relativePosition);\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 {Injectable, OnDestroy, ɵɵinject} from '@angular/core';\nimport {Subject, SubscriptionLike} from 'rxjs';\n\nimport {LocationStrategy} from './location_strategy';\nimport {joinWithSlash, normalizeQueryParams, stripTrailingSlash} from './util';\n\n/** @publicApi */\nexport interface PopStateEvent {\n pop?: boolean;\n state?: any;\n type?: string;\n url?: string;\n}\n\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\n@Injectable({\n providedIn: 'root',\n // See #23917\n useFactory: createLocation,\n})\nexport class Location implements OnDestroy {\n /** @internal */\n _subject = new Subject<PopStateEvent>();\n /** @internal */\n _basePath: string;\n /** @internal */\n _locationStrategy: LocationStrategy;\n /** @internal */\n _urlChangeListeners: ((url: string, state: unknown) => void)[] = [];\n /** @internal */\n _urlChangeSubscription: SubscriptionLike | null = null;\n\n constructor(locationStrategy: LocationStrategy) {\n this._locationStrategy = locationStrategy;\n const baseHref = this._locationStrategy.getBaseHref();\n // Note: This class's interaction with base HREF does not fully follow the rules\n // outlined in the spec https://www.freesoft.org/CIE/RFC/1808/18.htm.\n // Instead of trying to fix individual bugs with more and more code, we should\n // investigate using the URL constructor and providing the base as a second\n // argument.\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/URL#parameters\n this._basePath = _stripOrigin(stripTrailingSlash(_stripIndexHtml(baseHref)));\n this._locationStrategy.onPopState((ev) => {\n this._subject.next({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n\n /** @docs-private */\n ngOnDestroy(): void {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeListeners = [];\n }\n\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash: boolean = false): string {\n return this.normalize(this._locationStrategy.path(includeHash));\n }\n\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState(): unknown {\n return this._locationStrategy.getState();\n }\n\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path: string, query: string = ''): boolean {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url: string): string {\n return Location.stripTrailingSlash(_stripBasePath(this._basePath, _stripIndexHtml(url)));\n }\n\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url: string): string {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._locationStrategy.prepareExternalUrl(url);\n }\n\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path: string, query: string = '', state: any = null): void {\n this._locationStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(\n this.prepareExternalUrl(path + normalizeQueryParams(query)),\n state,\n );\n }\n\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path: string, query: string = '', state: any = null): void {\n this._locationStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(\n this.prepareExternalUrl(path + normalizeQueryParams(query)),\n state,\n );\n }\n\n /**\n * Navigates forward in the platform's history.\n */\n forward(): void {\n this._locationStrategy.forward();\n }\n\n /**\n * Navigates back in the platform's history.\n */\n back(): void {\n this._locationStrategy.back();\n }\n\n /**\n * Navigate to a specific page from session history, identified by its relative position to the\n * current page.\n *\n * @param relativePosition Position of the target page in the history relative to the current\n * page.\n * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\n * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\n * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\n * when `relativePosition` equals 0.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\n */\n historyGo(relativePosition: number = 0): void {\n this._locationStrategy.historyGo?.(relativePosition);\n }\n\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n * @returns A function that, when executed, unregisters a URL change listener.\n */\n onUrlChange(fn: (url: string, state: unknown) => void): VoidFunction {\n this._urlChangeListeners.push(fn);\n\n this._urlChangeSubscription ??= this.subscribe((v) => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n\n return () => {\n const fnIndex = this._urlChangeListeners.indexOf(fn);\n this._urlChangeListeners.splice(fnIndex, 1);\n\n if (this._urlChangeListeners.length === 0) {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeSubscription = null;\n }\n };\n }\n\n /** @internal */\n _notifyUrlChangeListeners(url: string = '', state: unknown) {\n this._urlChangeListeners.forEach((fn) => fn(url, state));\n }\n\n /**\n * Subscribes to the platform's `popState` events.\n *\n * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\n * `Location.onUrlChange()` to subscribe to URL changes instead.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\n *\n * @returns Subscribed events.\n */\n subscribe(\n onNext: (value: PopStateEvent) => void,\n onThrow?: ((exception: any) => void) | null,\n onReturn?: (() => void) | null,\n ): SubscriptionLike {\n return this._subject.subscribe({\n next: onNext,\n error: onThrow ?? undefined,\n complete: onReturn ?? undefined,\n });\n }\n\n /**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\n public static normalizeQueryParams: (params: string) => string = normalizeQueryParams;\n\n /**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\n public static joinWithSlash: (start: string, end: string) => string = joinWithSlash;\n\n /**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\n public static stripTrailingSlash: (url: string) => string = stripTrailingSlash;\n}\n\nexport function createLocation() {\n return new Location(ɵɵinject(LocationStrategy as any));\n}\n\nfunction _stripBasePath(basePath: string, url: string): string {\n if (!basePath || !url.startsWith(basePath)) {\n return url;\n }\n const strippedUrl = url.substring(basePath.length);\n if (strippedUrl === '' || ['/', ';', '?', '#'].includes(strippedUrl[0])) {\n return strippedUrl;\n }\n return url;\n}\n\nfunction _stripIndexHtml(url: string): string {\n return url.replace(/\\/index.html$/, '');\n}\n\nfunction _stripOrigin(baseHref: string): string {\n // DO NOT REFACTOR! Previously, this check looked like this:\n // `/^(https?:)?\\/\\//.test(baseHref)`, but that resulted in\n // syntactically incorrect code after Closure Compiler minification.\n // This was likely caused by a bug in Closure Compiler, but\n // for now, the check is rewritten to use `new RegExp` instead.\n const isAbsoluteUrl = new RegExp('^(https?:)?//').test(baseHref);\n if (isAbsoluteUrl) {\n const [, pathname] = baseHref.split(/\\/\\/[^\\/]+/);\n return pathname;\n }\n return baseHref;\n}\n"],"names":["joinWithSlash","start","end","endsWith","startsWith","slice","stripTrailingSlash","url","pathEndIdx","search","normalizeQueryParams","params","LocationStrategy","historyGo","relativePosition","Error","ngDevMode","deps","target","i0","ɵɵFactoryTarget","Injectable","providedIn","useFactory","inject","PathLocationStrategy","decorators","args","APP_BASE_HREF","InjectionToken","_platformLocation","_baseHref","_removeListenerFns","constructor","href","getBaseHrefFromDOM","DOCUMENT","location","origin","ngOnDestroy","length","pop","onPopState","fn","push","onHashChange","getBaseHref","prepareExternalUrl","internal","path","includeHash","pathname","hash","pushState","state","title","queryParams","externalUrl","replaceState","forward","back","getState","ɵfac","ɵɵngDeclareFactory","minVersion","version","ngImport","type","optional","ɵprov","ɵɵngDeclareInjectable","Optional","Inject","Location","_subject","Subject","_basePath","_locationStrategy","_urlChangeListeners","_urlChangeSubscription","locationStrategy","baseHref","_stripOrigin","_stripIndexHtml","ev","next","unsubscribe","normalize","isCurrentPathEqualTo","query","_stripBasePath","go","_notifyUrlChangeListeners","onUrlChange","subscribe","v","fnIndex","indexOf","splice","forEach","onNext","onThrow","onReturn","error","undefined","complete","token","i1","createLocation","ɵɵinject","basePath","strippedUrl","substring","includes","replace","isAbsoluteUrl","RegExp","test","split"],"mappings":"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"}
1
+ {"version":3,"file":"_location-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/common/src/location/util.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/common/src/location/location_strategy.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/common/src/location/location.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\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nexport function joinWithSlash(start: string, end: string) {\n // If `start` is an empty string, return `end` as the result.\n if (!start) return end;\n // If `end` is an empty string, return `start` as the result.\n if (!end) return start;\n // If `start` ends with a slash, remove the leading slash from `end`.\n if (start.endsWith('/')) {\n return end.startsWith('/') ? start + end.slice(1) : start + end;\n }\n // If `start` doesn't end with a slash, add one if `end` doesn't start with a slash.\n return end.startsWith('/') ? start + end : `${start}/${end}`;\n}\n\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nexport function stripTrailingSlash(url: string): string {\n // Find the index of the first occurrence of `#`, `?`, or the end of the string.\n // This marks the start of the query string, fragment, or the end of the URL path.\n const pathEndIdx = url.search(/#|\\?|$/);\n // Check if the character before `pathEndIdx` is a trailing slash.\n // If it is, remove the trailing slash and return the modified URL.\n // Otherwise, return the URL as is.\n return url[pathEndIdx - 1] === '/' ? url.slice(0, pathEndIdx - 1) + url.slice(pathEndIdx) : url;\n}\n\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nexport function normalizeQueryParams(params: string): string {\n return params && params[0] !== '?' ? `?${params}` : params;\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 DOCUMENT,\n Inject,\n inject,\n Injectable,\n InjectionToken,\n OnDestroy,\n Optional,\n} from '@angular/core';\n\nimport {LocationChangeListener, PlatformLocation} from './platform_location';\nimport {joinWithSlash, normalizeQueryParams} from './util';\n\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * <code class=\"no-auto-link\">http://example.com/#/foo</code>,\n * and `PathLocationStrategy` produces\n * <code class=\"no-auto-link\">http://example.com/foo</code> as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root', useFactory: () => inject(PathLocationStrategy)})\nexport abstract class LocationStrategy {\n abstract path(includeHash?: boolean): string;\n abstract prepareExternalUrl(internal: string): string;\n abstract getState(): unknown;\n abstract pushState(state: any, title: string, url: string, queryParams: string): void;\n abstract replaceState(state: any, title: string, url: string, queryParams: string): void;\n abstract forward(): void;\n abstract back(): void;\n historyGo?(relativePosition: number): void {\n throw new Error(ngDevMode ? 'Not implemented' : '');\n }\n abstract onPopState(fn: LocationChangeListener): void;\n abstract getBaseHref(): string;\n}\n\n/**\n * A predefined DI token for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```ts\n * import {NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nexport const APP_BASE_HREF = new InjectionToken<string>(\n typeof ngDevMode !== 'undefined' && ngDevMode ? 'appBaseHref' : '',\n);\n\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you may provide a {@link APP_BASE_HREF}\n * or add a `<base href>` element to the document to override the default.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `<base href>` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `<base href='/my/app/'/>` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `<base href>` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\n@Injectable({providedIn: 'root'})\nexport class PathLocationStrategy extends LocationStrategy implements OnDestroy {\n private _baseHref: string;\n private _removeListenerFns: (() => void)[] = [];\n\n constructor(\n private _platformLocation: PlatformLocation,\n @Optional() @Inject(APP_BASE_HREF) href?: string,\n ) {\n super();\n\n this._baseHref =\n href ??\n this._platformLocation.getBaseHrefFromDOM() ??\n inject(DOCUMENT).location?.origin ??\n '';\n }\n\n /** @docs-private */\n ngOnDestroy(): void {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()!();\n }\n }\n\n override onPopState(fn: LocationChangeListener): void {\n this._removeListenerFns.push(\n this._platformLocation.onPopState(fn),\n this._platformLocation.onHashChange(fn),\n );\n }\n\n override getBaseHref(): string {\n return this._baseHref;\n }\n\n override prepareExternalUrl(internal: string): string {\n return joinWithSlash(this._baseHref, internal);\n }\n\n override path(includeHash: boolean = false): string {\n const pathname =\n this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n\n override pushState(state: any, title: string, url: string, queryParams: string) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n\n override replaceState(state: any, title: string, url: string, queryParams: string) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n\n override forward(): void {\n this._platformLocation.forward();\n }\n\n override back(): void {\n this._platformLocation.back();\n }\n\n override getState(): unknown {\n return this._platformLocation.getState();\n }\n\n override historyGo(relativePosition: number = 0): void {\n this._platformLocation.historyGo?.(relativePosition);\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 {Injectable, OnDestroy, ɵɵinject} from '@angular/core';\nimport {Subject, SubscriptionLike} from 'rxjs';\n\nimport {LocationStrategy} from './location_strategy';\nimport {joinWithSlash, normalizeQueryParams, stripTrailingSlash} from './util';\n\n/** @publicApi */\nexport interface PopStateEvent {\n pop?: boolean;\n state?: any;\n type?: string;\n url?: string;\n}\n\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\n@Injectable({\n providedIn: 'root',\n // See #23917\n useFactory: createLocation,\n})\nexport class Location implements OnDestroy {\n /** @internal */\n _subject = new Subject<PopStateEvent>();\n /** @internal */\n _basePath: string;\n /** @internal */\n _locationStrategy: LocationStrategy;\n /** @internal */\n _urlChangeListeners: ((url: string, state: unknown) => void)[] = [];\n /** @internal */\n _urlChangeSubscription: SubscriptionLike | null = null;\n\n constructor(locationStrategy: LocationStrategy) {\n this._locationStrategy = locationStrategy;\n const baseHref = this._locationStrategy.getBaseHref();\n // Note: This class's interaction with base HREF does not fully follow the rules\n // outlined in the spec https://www.freesoft.org/CIE/RFC/1808/18.htm.\n // Instead of trying to fix individual bugs with more and more code, we should\n // investigate using the URL constructor and providing the base as a second\n // argument.\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/URL#parameters\n this._basePath = _stripOrigin(stripTrailingSlash(_stripIndexHtml(baseHref)));\n this._locationStrategy.onPopState((ev) => {\n this._subject.next({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n\n /** @docs-private */\n ngOnDestroy(): void {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeListeners = [];\n }\n\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash: boolean = false): string {\n return this.normalize(this._locationStrategy.path(includeHash));\n }\n\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState(): unknown {\n return this._locationStrategy.getState();\n }\n\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path: string, query: string = ''): boolean {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url: string): string {\n return Location.stripTrailingSlash(_stripBasePath(this._basePath, _stripIndexHtml(url)));\n }\n\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url: string): string {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._locationStrategy.prepareExternalUrl(url);\n }\n\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path: string, query: string = '', state: any = null): void {\n this._locationStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(\n this.prepareExternalUrl(path + normalizeQueryParams(query)),\n state,\n );\n }\n\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path: string, query: string = '', state: any = null): void {\n this._locationStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(\n this.prepareExternalUrl(path + normalizeQueryParams(query)),\n state,\n );\n }\n\n /**\n * Navigates forward in the platform's history.\n */\n forward(): void {\n this._locationStrategy.forward();\n }\n\n /**\n * Navigates back in the platform's history.\n */\n back(): void {\n this._locationStrategy.back();\n }\n\n /**\n * Navigate to a specific page from session history, identified by its relative position to the\n * current page.\n *\n * @param relativePosition Position of the target page in the history relative to the current\n * page.\n * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\n * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\n * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\n * when `relativePosition` equals 0.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\n */\n historyGo(relativePosition: number = 0): void {\n this._locationStrategy.historyGo?.(relativePosition);\n }\n\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n * @returns A function that, when executed, unregisters a URL change listener.\n */\n onUrlChange(fn: (url: string, state: unknown) => void): VoidFunction {\n this._urlChangeListeners.push(fn);\n\n this._urlChangeSubscription ??= this.subscribe((v) => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n\n return () => {\n const fnIndex = this._urlChangeListeners.indexOf(fn);\n this._urlChangeListeners.splice(fnIndex, 1);\n\n if (this._urlChangeListeners.length === 0) {\n this._urlChangeSubscription?.unsubscribe();\n this._urlChangeSubscription = null;\n }\n };\n }\n\n /** @internal */\n _notifyUrlChangeListeners(url: string = '', state: unknown) {\n this._urlChangeListeners.forEach((fn) => fn(url, state));\n }\n\n /**\n * Subscribes to the platform's `popState` events.\n *\n * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\n * `Location.onUrlChange()` to subscribe to URL changes instead.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\n *\n * @returns Subscribed events.\n */\n subscribe(\n onNext: (value: PopStateEvent) => void,\n onThrow?: ((exception: any) => void) | null,\n onReturn?: (() => void) | null,\n ): SubscriptionLike {\n return this._subject.subscribe({\n next: onNext,\n error: onThrow ?? undefined,\n complete: onReturn ?? undefined,\n });\n }\n\n /**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\n public static normalizeQueryParams: (params: string) => string = normalizeQueryParams;\n\n /**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\n public static joinWithSlash: (start: string, end: string) => string = joinWithSlash;\n\n /**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\n public static stripTrailingSlash: (url: string) => string = stripTrailingSlash;\n}\n\nexport function createLocation() {\n return new Location(ɵɵinject(LocationStrategy as any));\n}\n\nfunction _stripBasePath(basePath: string, url: string): string {\n if (!basePath || !url.startsWith(basePath)) {\n return url;\n }\n const strippedUrl = url.substring(basePath.length);\n if (strippedUrl === '' || ['/', ';', '?', '#'].includes(strippedUrl[0])) {\n return strippedUrl;\n }\n return url;\n}\n\nfunction _stripIndexHtml(url: string): string {\n return url.replace(/\\/index.html$/, '');\n}\n\nfunction _stripOrigin(baseHref: string): string {\n // DO NOT REFACTOR! Previously, this check looked like this:\n // `/^(https?:)?\\/\\//.test(baseHref)`, but that resulted in\n // syntactically incorrect code after Closure Compiler minification.\n // This was likely caused by a bug in Closure Compiler, but\n // for now, the check is rewritten to use `new RegExp` instead.\n const isAbsoluteUrl = new RegExp('^(https?:)?//').test(baseHref);\n if (isAbsoluteUrl) {\n const [, pathname] = baseHref.split(/\\/\\/[^\\/]+/);\n return pathname;\n }\n return baseHref;\n}\n"],"names":["joinWithSlash","start","end","endsWith","startsWith","slice","stripTrailingSlash","url","pathEndIdx","search","normalizeQueryParams","params","LocationStrategy","historyGo","relativePosition","Error","ngDevMode","deps","target","i0","ɵɵFactoryTarget","Injectable","providedIn","useFactory","inject","PathLocationStrategy","decorators","args","APP_BASE_HREF","InjectionToken","_platformLocation","_baseHref","_removeListenerFns","constructor","href","getBaseHrefFromDOM","DOCUMENT","location","origin","ngOnDestroy","length","pop","onPopState","fn","push","onHashChange","getBaseHref","prepareExternalUrl","internal","path","includeHash","pathname","hash","pushState","state","title","queryParams","externalUrl","replaceState","forward","back","getState","ɵfac","ɵɵngDeclareFactory","minVersion","version","ngImport","type","optional","ɵprov","ɵɵngDeclareInjectable","Optional","Inject","Location","_subject","Subject","_basePath","_locationStrategy","_urlChangeListeners","_urlChangeSubscription","locationStrategy","baseHref","_stripOrigin","_stripIndexHtml","ev","next","unsubscribe","normalize","isCurrentPathEqualTo","query","_stripBasePath","go","_notifyUrlChangeListeners","onUrlChange","subscribe","v","fnIndex","indexOf","splice","forEach","onNext","onThrow","onReturn","error","undefined","complete","token","i1","createLocation","ɵɵinject","basePath","strippedUrl","substring","includes","replace","isAbsoluteUrl","RegExp","test","split"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.1.0-next.2
2
+ * @license Angular v21.1.0-next.4
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -975,7 +975,7 @@ class FetchBackend {
975
975
  }
976
976
  static ɵfac = i0.ɵɵngDeclareFactory({
977
977
  minVersion: "12.0.0",
978
- version: "21.1.0-next.2",
978
+ version: "21.1.0-next.4",
979
979
  ngImport: i0,
980
980
  type: FetchBackend,
981
981
  deps: [],
@@ -983,14 +983,14 @@ class FetchBackend {
983
983
  });
984
984
  static ɵprov = i0.ɵɵngDeclareInjectable({
985
985
  minVersion: "12.0.0",
986
- version: "21.1.0-next.2",
986
+ version: "21.1.0-next.4",
987
987
  ngImport: i0,
988
988
  type: FetchBackend
989
989
  });
990
990
  }
991
991
  i0.ɵɵngDeclareClassMetadata({
992
992
  minVersion: "12.0.0",
993
- version: "21.1.0-next.2",
993
+ version: "21.1.0-next.4",
994
994
  ngImport: i0,
995
995
  type: FetchBackend,
996
996
  decorators: [{
@@ -1245,7 +1245,7 @@ class HttpXhrBackend {
1245
1245
  }
1246
1246
  static ɵfac = i0.ɵɵngDeclareFactory({
1247
1247
  minVersion: "12.0.0",
1248
- version: "21.1.0-next.2",
1248
+ version: "21.1.0-next.4",
1249
1249
  ngImport: i0,
1250
1250
  type: HttpXhrBackend,
1251
1251
  deps: [{
@@ -1255,7 +1255,7 @@ class HttpXhrBackend {
1255
1255
  });
1256
1256
  static ɵprov = i0.ɵɵngDeclareInjectable({
1257
1257
  minVersion: "12.0.0",
1258
- version: "21.1.0-next.2",
1258
+ version: "21.1.0-next.4",
1259
1259
  ngImport: i0,
1260
1260
  type: HttpXhrBackend,
1261
1261
  providedIn: 'root'
@@ -1263,7 +1263,7 @@ class HttpXhrBackend {
1263
1263
  }
1264
1264
  i0.ɵɵngDeclareClassMetadata({
1265
1265
  minVersion: "12.0.0",
1266
- version: "21.1.0-next.2",
1266
+ version: "21.1.0-next.4",
1267
1267
  ngImport: i0,
1268
1268
  type: HttpXhrBackend,
1269
1269
  decorators: [{
@@ -1294,7 +1294,6 @@ const HTTP_INTERCEPTOR_FNS = new InjectionToken(typeof ngDevMode !== 'undefined'
1294
1294
  });
1295
1295
  const HTTP_ROOT_INTERCEPTOR_FNS = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'HTTP_ROOT_INTERCEPTOR_FNS' : '');
1296
1296
  const REQUESTS_CONTRIBUTE_TO_STABILITY = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'REQUESTS_CONTRIBUTE_TO_STABILITY' : '', {
1297
- providedIn: 'root',
1298
1297
  factory: () => true
1299
1298
  });
1300
1299
  function legacyInterceptorFnFactory() {
@@ -1320,7 +1319,7 @@ function legacyInterceptorFnFactory() {
1320
1319
  class HttpBackend {
1321
1320
  static ɵfac = i0.ɵɵngDeclareFactory({
1322
1321
  minVersion: "12.0.0",
1323
- version: "21.1.0-next.2",
1322
+ version: "21.1.0-next.4",
1324
1323
  ngImport: i0,
1325
1324
  type: HttpBackend,
1326
1325
  deps: [],
@@ -1328,7 +1327,7 @@ class HttpBackend {
1328
1327
  });
1329
1328
  static ɵprov = i0.ɵɵngDeclareInjectable({
1330
1329
  minVersion: "12.0.0",
1331
- version: "21.1.0-next.2",
1330
+ version: "21.1.0-next.4",
1332
1331
  ngImport: i0,
1333
1332
  type: HttpBackend,
1334
1333
  providedIn: 'root',
@@ -1337,7 +1336,7 @@ class HttpBackend {
1337
1336
  }
1338
1337
  i0.ɵɵngDeclareClassMetadata({
1339
1338
  minVersion: "12.0.0",
1340
- version: "21.1.0-next.2",
1339
+ version: "21.1.0-next.4",
1341
1340
  ngImport: i0,
1342
1341
  type: HttpBackend,
1343
1342
  decorators: [{
@@ -1380,7 +1379,7 @@ class HttpInterceptorHandler {
1380
1379
  }
1381
1380
  static ɵfac = i0.ɵɵngDeclareFactory({
1382
1381
  minVersion: "12.0.0",
1383
- version: "21.1.0-next.2",
1382
+ version: "21.1.0-next.4",
1384
1383
  ngImport: i0,
1385
1384
  type: HttpInterceptorHandler,
1386
1385
  deps: [{
@@ -1392,7 +1391,7 @@ class HttpInterceptorHandler {
1392
1391
  });
1393
1392
  static ɵprov = i0.ɵɵngDeclareInjectable({
1394
1393
  minVersion: "12.0.0",
1395
- version: "21.1.0-next.2",
1394
+ version: "21.1.0-next.4",
1396
1395
  ngImport: i0,
1397
1396
  type: HttpInterceptorHandler,
1398
1397
  providedIn: 'root'
@@ -1400,7 +1399,7 @@ class HttpInterceptorHandler {
1400
1399
  }
1401
1400
  i0.ɵɵngDeclareClassMetadata({
1402
1401
  minVersion: "12.0.0",
1403
- version: "21.1.0-next.2",
1402
+ version: "21.1.0-next.4",
1404
1403
  ngImport: i0,
1405
1404
  type: HttpInterceptorHandler,
1406
1405
  decorators: [{
@@ -1418,7 +1417,7 @@ i0.ɵɵngDeclareClassMetadata({
1418
1417
  class HttpHandler {
1419
1418
  static ɵfac = i0.ɵɵngDeclareFactory({
1420
1419
  minVersion: "12.0.0",
1421
- version: "21.1.0-next.2",
1420
+ version: "21.1.0-next.4",
1422
1421
  ngImport: i0,
1423
1422
  type: HttpHandler,
1424
1423
  deps: [],
@@ -1426,7 +1425,7 @@ class HttpHandler {
1426
1425
  });
1427
1426
  static ɵprov = i0.ɵɵngDeclareInjectable({
1428
1427
  minVersion: "12.0.0",
1429
- version: "21.1.0-next.2",
1428
+ version: "21.1.0-next.4",
1430
1429
  ngImport: i0,
1431
1430
  type: HttpHandler,
1432
1431
  providedIn: 'root',
@@ -1435,7 +1434,7 @@ class HttpHandler {
1435
1434
  }
1436
1435
  i0.ɵɵngDeclareClassMetadata({
1437
1436
  minVersion: "12.0.0",
1438
- version: "21.1.0-next.2",
1437
+ version: "21.1.0-next.4",
1439
1438
  ngImport: i0,
1440
1439
  type: HttpHandler,
1441
1440
  decorators: [{
@@ -1585,7 +1584,7 @@ class HttpClient {
1585
1584
  }
1586
1585
  static ɵfac = i0.ɵɵngDeclareFactory({
1587
1586
  minVersion: "12.0.0",
1588
- version: "21.1.0-next.2",
1587
+ version: "21.1.0-next.4",
1589
1588
  ngImport: i0,
1590
1589
  type: HttpClient,
1591
1590
  deps: [{
@@ -1595,7 +1594,7 @@ class HttpClient {
1595
1594
  });
1596
1595
  static ɵprov = i0.ɵɵngDeclareInjectable({
1597
1596
  minVersion: "12.0.0",
1598
- version: "21.1.0-next.2",
1597
+ version: "21.1.0-next.4",
1599
1598
  ngImport: i0,
1600
1599
  type: HttpClient,
1601
1600
  providedIn: 'root'
@@ -1603,7 +1602,7 @@ class HttpClient {
1603
1602
  }
1604
1603
  i0.ɵɵngDeclareClassMetadata({
1605
1604
  minVersion: "12.0.0",
1606
- version: "21.1.0-next.2",
1605
+ version: "21.1.0-next.4",
1607
1606
  ngImport: i0,
1608
1607
  type: HttpClient,
1609
1608
  decorators: [{
@@ -1718,7 +1717,7 @@ class JsonpClientBackend {
1718
1717
  }
1719
1718
  static ɵfac = i0.ɵɵngDeclareFactory({
1720
1719
  minVersion: "12.0.0",
1721
- version: "21.1.0-next.2",
1720
+ version: "21.1.0-next.4",
1722
1721
  ngImport: i0,
1723
1722
  type: JsonpClientBackend,
1724
1723
  deps: [{
@@ -1730,14 +1729,14 @@ class JsonpClientBackend {
1730
1729
  });
1731
1730
  static ɵprov = i0.ɵɵngDeclareInjectable({
1732
1731
  minVersion: "12.0.0",
1733
- version: "21.1.0-next.2",
1732
+ version: "21.1.0-next.4",
1734
1733
  ngImport: i0,
1735
1734
  type: JsonpClientBackend
1736
1735
  });
1737
1736
  }
1738
1737
  i0.ɵɵngDeclareClassMetadata({
1739
1738
  minVersion: "12.0.0",
1740
- version: "21.1.0-next.2",
1739
+ version: "21.1.0-next.4",
1741
1740
  ngImport: i0,
1742
1741
  type: JsonpClientBackend,
1743
1742
  decorators: [{
@@ -1769,7 +1768,7 @@ class JsonpInterceptor {
1769
1768
  }
1770
1769
  static ɵfac = i0.ɵɵngDeclareFactory({
1771
1770
  minVersion: "12.0.0",
1772
- version: "21.1.0-next.2",
1771
+ version: "21.1.0-next.4",
1773
1772
  ngImport: i0,
1774
1773
  type: JsonpInterceptor,
1775
1774
  deps: [{
@@ -1779,14 +1778,14 @@ class JsonpInterceptor {
1779
1778
  });
1780
1779
  static ɵprov = i0.ɵɵngDeclareInjectable({
1781
1780
  minVersion: "12.0.0",
1782
- version: "21.1.0-next.2",
1781
+ version: "21.1.0-next.4",
1783
1782
  ngImport: i0,
1784
1783
  type: JsonpInterceptor
1785
1784
  });
1786
1785
  }
1787
1786
  i0.ɵɵngDeclareClassMetadata({
1788
1787
  minVersion: "12.0.0",
1789
- version: "21.1.0-next.2",
1788
+ version: "21.1.0-next.4",
1790
1789
  ngImport: i0,
1791
1790
  type: JsonpInterceptor,
1792
1791
  decorators: [{
@@ -1802,7 +1801,6 @@ const XSRF_ENABLED = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDe
1802
1801
  });
1803
1802
  const XSRF_DEFAULT_COOKIE_NAME = 'XSRF-TOKEN';
1804
1803
  const XSRF_COOKIE_NAME = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'XSRF_COOKIE_NAME' : '', {
1805
- providedIn: 'root',
1806
1804
  factory: () => XSRF_DEFAULT_COOKIE_NAME
1807
1805
  });
1808
1806
  const XSRF_DEFAULT_HEADER_NAME = 'X-XSRF-TOKEN';
@@ -1830,7 +1828,7 @@ class HttpXsrfCookieExtractor {
1830
1828
  }
1831
1829
  static ɵfac = i0.ɵɵngDeclareFactory({
1832
1830
  minVersion: "12.0.0",
1833
- version: "21.1.0-next.2",
1831
+ version: "21.1.0-next.4",
1834
1832
  ngImport: i0,
1835
1833
  type: HttpXsrfCookieExtractor,
1836
1834
  deps: [],
@@ -1838,7 +1836,7 @@ class HttpXsrfCookieExtractor {
1838
1836
  });
1839
1837
  static ɵprov = i0.ɵɵngDeclareInjectable({
1840
1838
  minVersion: "12.0.0",
1841
- version: "21.1.0-next.2",
1839
+ version: "21.1.0-next.4",
1842
1840
  ngImport: i0,
1843
1841
  type: HttpXsrfCookieExtractor,
1844
1842
  providedIn: 'root'
@@ -1846,7 +1844,7 @@ class HttpXsrfCookieExtractor {
1846
1844
  }
1847
1845
  i0.ɵɵngDeclareClassMetadata({
1848
1846
  minVersion: "12.0.0",
1849
- version: "21.1.0-next.2",
1847
+ version: "21.1.0-next.4",
1850
1848
  ngImport: i0,
1851
1849
  type: HttpXsrfCookieExtractor,
1852
1850
  decorators: [{
@@ -1859,7 +1857,7 @@ i0.ɵɵngDeclareClassMetadata({
1859
1857
  class HttpXsrfTokenExtractor {
1860
1858
  static ɵfac = i0.ɵɵngDeclareFactory({
1861
1859
  minVersion: "12.0.0",
1862
- version: "21.1.0-next.2",
1860
+ version: "21.1.0-next.4",
1863
1861
  ngImport: i0,
1864
1862
  type: HttpXsrfTokenExtractor,
1865
1863
  deps: [],
@@ -1867,7 +1865,7 @@ class HttpXsrfTokenExtractor {
1867
1865
  });
1868
1866
  static ɵprov = i0.ɵɵngDeclareInjectable({
1869
1867
  minVersion: "12.0.0",
1870
- version: "21.1.0-next.2",
1868
+ version: "21.1.0-next.4",
1871
1869
  ngImport: i0,
1872
1870
  type: HttpXsrfTokenExtractor,
1873
1871
  providedIn: 'root',
@@ -1876,7 +1874,7 @@ class HttpXsrfTokenExtractor {
1876
1874
  }
1877
1875
  i0.ɵɵngDeclareClassMetadata({
1878
1876
  minVersion: "12.0.0",
1879
- version: "21.1.0-next.2",
1877
+ version: "21.1.0-next.4",
1880
1878
  ngImport: i0,
1881
1879
  type: HttpXsrfTokenExtractor,
1882
1880
  decorators: [{
@@ -1921,7 +1919,7 @@ class HttpXsrfInterceptor {
1921
1919
  }
1922
1920
  static ɵfac = i0.ɵɵngDeclareFactory({
1923
1921
  minVersion: "12.0.0",
1924
- version: "21.1.0-next.2",
1922
+ version: "21.1.0-next.4",
1925
1923
  ngImport: i0,
1926
1924
  type: HttpXsrfInterceptor,
1927
1925
  deps: [],
@@ -1929,14 +1927,14 @@ class HttpXsrfInterceptor {
1929
1927
  });
1930
1928
  static ɵprov = i0.ɵɵngDeclareInjectable({
1931
1929
  minVersion: "12.0.0",
1932
- version: "21.1.0-next.2",
1930
+ version: "21.1.0-next.4",
1933
1931
  ngImport: i0,
1934
1932
  type: HttpXsrfInterceptor
1935
1933
  });
1936
1934
  }
1937
1935
  i0.ɵɵngDeclareClassMetadata({
1938
1936
  minVersion: "12.0.0",
1939
- version: "21.1.0-next.2",
1937
+ version: "21.1.0-next.4",
1940
1938
  ngImport: i0,
1941
1939
  type: HttpXsrfInterceptor,
1942
1940
  decorators: [{
@@ -2082,7 +2080,7 @@ class HttpClientXsrfModule {
2082
2080
  }
2083
2081
  static ɵfac = i0.ɵɵngDeclareFactory({
2084
2082
  minVersion: "12.0.0",
2085
- version: "21.1.0-next.2",
2083
+ version: "21.1.0-next.4",
2086
2084
  ngImport: i0,
2087
2085
  type: HttpClientXsrfModule,
2088
2086
  deps: [],
@@ -2090,13 +2088,13 @@ class HttpClientXsrfModule {
2090
2088
  });
2091
2089
  static ɵmod = i0.ɵɵngDeclareNgModule({
2092
2090
  minVersion: "14.0.0",
2093
- version: "21.1.0-next.2",
2091
+ version: "21.1.0-next.4",
2094
2092
  ngImport: i0,
2095
2093
  type: HttpClientXsrfModule
2096
2094
  });
2097
2095
  static ɵinj = i0.ɵɵngDeclareInjector({
2098
2096
  minVersion: "12.0.0",
2099
- version: "21.1.0-next.2",
2097
+ version: "21.1.0-next.4",
2100
2098
  ngImport: i0,
2101
2099
  type: HttpClientXsrfModule,
2102
2100
  providers: [HttpXsrfInterceptor, {
@@ -2117,7 +2115,7 @@ class HttpClientXsrfModule {
2117
2115
  }
2118
2116
  i0.ɵɵngDeclareClassMetadata({
2119
2117
  minVersion: "12.0.0",
2120
- version: "21.1.0-next.2",
2118
+ version: "21.1.0-next.4",
2121
2119
  ngImport: i0,
2122
2120
  type: HttpClientXsrfModule,
2123
2121
  decorators: [{
@@ -2143,7 +2141,7 @@ i0.ɵɵngDeclareClassMetadata({
2143
2141
  class HttpClientModule {
2144
2142
  static ɵfac = i0.ɵɵngDeclareFactory({
2145
2143
  minVersion: "12.0.0",
2146
- version: "21.1.0-next.2",
2144
+ version: "21.1.0-next.4",
2147
2145
  ngImport: i0,
2148
2146
  type: HttpClientModule,
2149
2147
  deps: [],
@@ -2151,13 +2149,13 @@ class HttpClientModule {
2151
2149
  });
2152
2150
  static ɵmod = i0.ɵɵngDeclareNgModule({
2153
2151
  minVersion: "14.0.0",
2154
- version: "21.1.0-next.2",
2152
+ version: "21.1.0-next.4",
2155
2153
  ngImport: i0,
2156
2154
  type: HttpClientModule
2157
2155
  });
2158
2156
  static ɵinj = i0.ɵɵngDeclareInjector({
2159
2157
  minVersion: "12.0.0",
2160
- version: "21.1.0-next.2",
2158
+ version: "21.1.0-next.4",
2161
2159
  ngImport: i0,
2162
2160
  type: HttpClientModule,
2163
2161
  providers: [provideHttpClient(withInterceptorsFromDi())]
@@ -2165,7 +2163,7 @@ class HttpClientModule {
2165
2163
  }
2166
2164
  i0.ɵɵngDeclareClassMetadata({
2167
2165
  minVersion: "12.0.0",
2168
- version: "21.1.0-next.2",
2166
+ version: "21.1.0-next.4",
2169
2167
  ngImport: i0,
2170
2168
  type: HttpClientModule,
2171
2169
  decorators: [{
@@ -2178,7 +2176,7 @@ i0.ɵɵngDeclareClassMetadata({
2178
2176
  class HttpClientJsonpModule {
2179
2177
  static ɵfac = i0.ɵɵngDeclareFactory({
2180
2178
  minVersion: "12.0.0",
2181
- version: "21.1.0-next.2",
2179
+ version: "21.1.0-next.4",
2182
2180
  ngImport: i0,
2183
2181
  type: HttpClientJsonpModule,
2184
2182
  deps: [],
@@ -2186,13 +2184,13 @@ class HttpClientJsonpModule {
2186
2184
  });
2187
2185
  static ɵmod = i0.ɵɵngDeclareNgModule({
2188
2186
  minVersion: "14.0.0",
2189
- version: "21.1.0-next.2",
2187
+ version: "21.1.0-next.4",
2190
2188
  ngImport: i0,
2191
2189
  type: HttpClientJsonpModule
2192
2190
  });
2193
2191
  static ɵinj = i0.ɵɵngDeclareInjector({
2194
2192
  minVersion: "12.0.0",
2195
- version: "21.1.0-next.2",
2193
+ version: "21.1.0-next.4",
2196
2194
  ngImport: i0,
2197
2195
  type: HttpClientJsonpModule,
2198
2196
  providers: [withJsonpSupport().ɵproviders]
@@ -2200,7 +2198,7 @@ class HttpClientJsonpModule {
2200
2198
  }
2201
2199
  i0.ɵɵngDeclareClassMetadata({
2202
2200
  minVersion: "12.0.0",
2203
- version: "21.1.0-next.2",
2201
+ version: "21.1.0-next.4",
2204
2202
  ngImport: i0,
2205
2203
  type: HttpClientJsonpModule,
2206
2204
  decorators: [{