1 | /**
|
2 | * @license Angular v10.0.2
|
3 | * (c) 2010-2020 Google LLC. https://angular.io/
|
4 | * License: MIT
|
5 | */
|
6 |
|
7 | import { HashLocationStrategy } from '@angular/common';
|
8 | import { InjectionToken } from '@angular/core';
|
9 | import { Location } from '@angular/common';
|
10 | import { LocationStrategy } from '@angular/common';
|
11 | import { ModuleWithProviders } from '@angular/core';
|
12 | import { PathLocationStrategy } from '@angular/common';
|
13 | import { PlatformLocation } from '@angular/common';
|
14 | import { UpgradeModule } from '@angular/upgrade/static';
|
15 |
|
16 | /**
|
17 | * Location service that provides a drop-in replacement for the $location service
|
18 | * provided in AngularJS.
|
19 | *
|
20 | * @see [Using the Angular Unified Location Service](guide/upgrade#using-the-unified-angular-location-service)
|
21 | *
|
22 | * @publicApi
|
23 | */
|
24 | export declare class $locationShim {
|
25 | private location;
|
26 | private platformLocation;
|
27 | private urlCodec;
|
28 | private locationStrategy;
|
29 | private initalizing;
|
30 | private updateBrowser;
|
31 | private $$absUrl;
|
32 | private $$url;
|
33 | private $$protocol;
|
34 | private $$host;
|
35 | private $$port;
|
36 | private $$replace;
|
37 | private $$path;
|
38 | private $$search;
|
39 | private $$hash;
|
40 | private $$state;
|
41 | private $$changeListeners;
|
42 | private cachedState;
|
43 | private urlChanges;
|
44 | constructor($injector: any, location: Location, platformLocation: PlatformLocation, urlCodec: UrlCodec, locationStrategy: LocationStrategy);
|
45 | private initialize;
|
46 | private resetBrowserUpdate;
|
47 | private lastHistoryState;
|
48 | private lastBrowserUrl;
|
49 | private browserUrl;
|
50 | private lastCachedState;
|
51 | private cacheState;
|
52 | /**
|
53 | * This function emulates the $browser.state() function from AngularJS. It will cause
|
54 | * history.state to be cached unless changed with deep equality check.
|
55 | */
|
56 | private browserState;
|
57 | private stripBaseUrl;
|
58 | private getServerBase;
|
59 | private parseAppUrl;
|
60 | /**
|
61 | * Registers listeners for URL changes. This API is used to catch updates performed by the
|
62 | * AngularJS framework. These changes are a subset of the `$locationChangeStart` and
|
63 | * `$locationChangeSuccess` events which fire when AngularJS updates its internally-referenced
|
64 | * version of the browser URL.
|
65 | *
|
66 | * It's possible for `$locationChange` events to happen, but for the browser URL
|
67 | * (window.location) to remain unchanged. This `onChange` callback will fire only when AngularJS
|
68 | * actually updates the browser URL (window.location).
|
69 | *
|
70 | * @param fn The callback function that is triggered for the listener when the URL changes.
|
71 | * @param err The callback function that is triggered when an error occurs.
|
72 | */
|
73 | onChange(fn: (url: string, state: unknown, oldUrl: string, oldState: unknown) => void, err?: (e: Error) => void): void;
|
74 | /**
|
75 | * Parses the provided URL, and sets the current URL to the parsed result.
|
76 | *
|
77 | * @param url The URL string.
|
78 | */
|
79 | $$parse(url: string): void;
|
80 | /**
|
81 | * Parses the provided URL and its relative URL.
|
82 | *
|
83 | * @param url The full URL string.
|
84 | * @param relHref A URL string relative to the full URL string.
|
85 | */
|
86 | $$parseLinkUrl(url: string, relHref?: string | null): boolean;
|
87 | private setBrowserUrlWithFallback;
|
88 | private composeUrls;
|
89 | /**
|
90 | * Retrieves the full URL representation with all segments encoded according to
|
91 | * rules specified in
|
92 | * [RFC 3986](http://www.ietf.org/rfc/rfc3986.txt).
|
93 | *
|
94 | *
|
95 | * ```js
|
96 | * // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
|
97 | * let absUrl = $location.absUrl();
|
98 | * // => "http://example.com/#/some/path?foo=bar&baz=xoxo"
|
99 | * ```
|
100 | */
|
101 | absUrl(): string;
|
102 | /**
|
103 | * Retrieves the current URL, or sets a new URL. When setting a URL,
|
104 | * changes the path, search, and hash, and returns a reference to its own instance.
|
105 | *
|
106 | * ```js
|
107 | * // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
|
108 | * let url = $location.url();
|
109 | * // => "/some/path?foo=bar&baz=xoxo"
|
110 | * ```
|
111 | */
|
112 | url(): string;
|
113 | url(url: string): this;
|
114 | /**
|
115 | * Retrieves the protocol of the current URL.
|
116 | *
|
117 | * ```js
|
118 | * // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
|
119 | * let protocol = $location.protocol();
|
120 | * // => "http"
|
121 | * ```
|
122 | */
|
123 | protocol(): string;
|
124 | /**
|
125 | * Retrieves the protocol of the current URL.
|
126 | *
|
127 | * In contrast to the non-AngularJS version `location.host` which returns `hostname:port`, this
|
128 | * returns the `hostname` portion only.
|
129 | *
|
130 | *
|
131 | * ```js
|
132 | * // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
|
133 | * let host = $location.host();
|
134 | * // => "example.com"
|
135 | *
|
136 | * // given URL http://user:password@example.com:8080/#/some/path?foo=bar&baz=xoxo
|
137 | * host = $location.host();
|
138 | * // => "example.com"
|
139 | * host = location.host;
|
140 | * // => "example.com:8080"
|
141 | * ```
|
142 | */
|
143 | host(): string;
|
144 | /**
|
145 | * Retrieves the port of the current URL.
|
146 | *
|
147 | * ```js
|
148 | * // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
|
149 | * let port = $location.port();
|
150 | * // => 80
|
151 | * ```
|
152 | */
|
153 | port(): number | null;
|
154 | /**
|
155 | * Retrieves the path of the current URL, or changes the path and returns a reference to its own
|
156 | * instance.
|
157 | *
|
158 | * Paths should always begin with forward slash (/). This method adds the forward slash
|
159 | * if it is missing.
|
160 | *
|
161 | * ```js
|
162 | * // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
|
163 | * let path = $location.path();
|
164 | * // => "/some/path"
|
165 | * ```
|
166 | */
|
167 | path(): string;
|
168 | path(path: string | number | null): this;
|
169 | /**
|
170 | * Retrieves a map of the search parameters of the current URL, or changes a search
|
171 | * part and returns a reference to its own instance.
|
172 | *
|
173 | *
|
174 | * ```js
|
175 | * // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
|
176 | * let searchObject = $location.search();
|
177 | * // => {foo: 'bar', baz: 'xoxo'}
|
178 | *
|
179 | * // set foo to 'yipee'
|
180 | * $location.search('foo', 'yipee');
|
181 | * // $location.search() => {foo: 'yipee', baz: 'xoxo'}
|
182 | * ```
|
183 | *
|
184 | * @param {string|Object.<string>|Object.<Array.<string>>} search New search params - string or
|
185 | * hash object.
|
186 | *
|
187 | * When called with a single argument the method acts as a setter, setting the `search` component
|
188 | * of `$location` to the specified value.
|
189 | *
|
190 | * If the argument is a hash object containing an array of values, these values will be encoded
|
191 | * as duplicate search parameters in the URL.
|
192 | *
|
193 | * @param {(string|Number|Array<string>|boolean)=} paramValue If `search` is a string or number,
|
194 | * then `paramValue`
|
195 | * will override only a single search property.
|
196 | *
|
197 | * If `paramValue` is an array, it will override the property of the `search` component of
|
198 | * `$location` specified via the first argument.
|
199 | *
|
200 | * If `paramValue` is `null`, the property specified via the first argument will be deleted.
|
201 | *
|
202 | * If `paramValue` is `true`, the property specified via the first argument will be added with no
|
203 | * value nor trailing equal sign.
|
204 | *
|
205 | * @return {Object} The parsed `search` object of the current URL, or the changed `search` object.
|
206 | */
|
207 | search(): {
|
208 | [key: string]: unknown;
|
209 | };
|
210 | search(search: string | number | {
|
211 | [key: string]: unknown;
|
212 | }): this;
|
213 | search(search: string | number | {
|
214 | [key: string]: unknown;
|
215 | }, paramValue: null | undefined | string | number | boolean | string[]): this;
|
216 | /**
|
217 | * Retrieves the current hash fragment, or changes the hash fragment and returns a reference to
|
218 | * its own instance.
|
219 | *
|
220 | * ```js
|
221 | * // given URL http://example.com/#/some/path?foo=bar&baz=xoxo#hashValue
|
222 | * let hash = $location.hash();
|
223 | * // => "hashValue"
|
224 | * ```
|
225 | */
|
226 | hash(): string;
|
227 | hash(hash: string | number | null): this;
|
228 | /**
|
229 | * Changes to `$location` during the current `$digest` will replace the current
|
230 | * history record, instead of adding a new one.
|
231 | */
|
232 | replace(): this;
|
233 | /**
|
234 | * Retrieves the history state object when called without any parameter.
|
235 | *
|
236 | * Change the history state object when called with one parameter and return `$location`.
|
237 | * The state object is later passed to `pushState` or `replaceState`.
|
238 | *
|
239 | * This method is supported only in HTML5 mode and only in browsers supporting
|
240 | * the HTML5 History API methods such as `pushState` and `replaceState`. If you need to support
|
241 | * older browsers (like IE9 or Android < 4.0), don't use this method.
|
242 | *
|
243 | */
|
244 | state(): unknown;
|
245 | state(state: unknown): this;
|
246 | }
|
247 |
|
248 | /**
|
249 | * The factory function used to create an instance of the `$locationShim` in Angular,
|
250 | * and provides an API-compatiable `$locationProvider` for AngularJS.
|
251 | *
|
252 | * @publicApi
|
253 | */
|
254 | export declare class $locationShimProvider {
|
255 | private ngUpgrade;
|
256 | private location;
|
257 | private platformLocation;
|
258 | private urlCodec;
|
259 | private locationStrategy;
|
260 | constructor(ngUpgrade: UpgradeModule, location: Location, platformLocation: PlatformLocation, urlCodec: UrlCodec, locationStrategy: LocationStrategy);
|
261 | /**
|
262 | * Factory method that returns an instance of the $locationShim
|
263 | */
|
264 | $get(): $locationShim;
|
265 | /**
|
266 | * Stub method used to keep API compatible with AngularJS. This setting is configured through
|
267 | * the LocationUpgradeModule's `config` method in your Angular app.
|
268 | */
|
269 | hashPrefix(prefix?: string): void;
|
270 | /**
|
271 | * Stub method used to keep API compatible with AngularJS. This setting is configured through
|
272 | * the LocationUpgradeModule's `config` method in your Angular app.
|
273 | */
|
274 | html5Mode(mode?: any): void;
|
275 | }
|
276 |
|
277 | /**
|
278 | * A `UrlCodec` that uses logic from AngularJS to serialize and parse URLs
|
279 | * and URL parameters.
|
280 | *
|
281 | * @publicApi
|
282 | */
|
283 | export declare class AngularJSUrlCodec implements UrlCodec {
|
284 | encodePath(path: string): string;
|
285 | encodeSearch(search: string | {
|
286 | [k: string]: unknown;
|
287 | }): string;
|
288 | encodeHash(hash: string): string;
|
289 | decodePath(path: string, html5Mode?: boolean): string;
|
290 | decodeSearch(search: string): {
|
291 | [k: string]: unknown;
|
292 | };
|
293 | decodeHash(hash: string): string;
|
294 | normalize(href: string): string;
|
295 | normalize(path: string, search: {
|
296 | [k: string]: unknown;
|
297 | }, hash: string, baseUrl?: string): string;
|
298 | areEqual(valA: string, valB: string): boolean;
|
299 | parse(url: string, base?: string): {
|
300 | href: string;
|
301 | protocol: string;
|
302 | host: string;
|
303 | search: string;
|
304 | hash: string;
|
305 | hostname: string;
|
306 | port: string;
|
307 | pathname: string;
|
308 | };
|
309 | }
|
310 |
|
311 | /**
|
312 | * A provider token used to configure the location upgrade module.
|
313 | *
|
314 | * @publicApi
|
315 | */
|
316 | export declare const LOCATION_UPGRADE_CONFIGURATION: InjectionToken<LocationUpgradeConfig>;
|
317 |
|
318 | /**
|
319 | * Configuration options for LocationUpgrade.
|
320 | *
|
321 | * @publicApi
|
322 | */
|
323 | export declare interface LocationUpgradeConfig {
|
324 | /**
|
325 | * Configures whether the location upgrade module should use the `HashLocationStrategy`
|
326 | * or the `PathLocationStrategy`
|
327 | */
|
328 | useHash?: boolean;
|
329 | /**
|
330 | * Configures the hash prefix used in the URL when using the `HashLocationStrategy`
|
331 | */
|
332 | hashPrefix?: string;
|
333 | /**
|
334 | * Configures the URL codec for encoding and decoding URLs. Default is the `AngularJSCodec`
|
335 | */
|
336 | urlCodec?: typeof UrlCodec;
|
337 | /**
|
338 | * Configures the base href when used in server-side rendered applications
|
339 | */
|
340 | serverBaseHref?: string;
|
341 | /**
|
342 | * Configures the base href when used in client-side rendered applications
|
343 | */
|
344 | appBaseHref?: string;
|
345 | }
|
346 |
|
347 | /**
|
348 | * `NgModule` used for providing and configuring Angular's Unified Location Service for upgrading.
|
349 | *
|
350 | * @see [Using the Unified Angular Location Service](guide/upgrade#using-the-unified-angular-location-service)
|
351 | *
|
352 | * @publicApi
|
353 | */
|
354 | export declare class LocationUpgradeModule {
|
355 | static config(config?: LocationUpgradeConfig): ModuleWithProviders<LocationUpgradeModule>;
|
356 | }
|
357 |
|
358 |
|
359 | /**
|
360 | * A codec for encoding and decoding URL parts.
|
361 | *
|
362 | * @publicApi
|
363 | **/
|
364 | export declare abstract class UrlCodec {
|
365 | /**
|
366 | * Encodes the path from the provided string
|
367 | *
|
368 | * @param path The path string
|
369 | */
|
370 | abstract encodePath(path: string): string;
|
371 | /**
|
372 | * Decodes the path from the provided string
|
373 | *
|
374 | * @param path The path string
|
375 | */
|
376 | abstract decodePath(path: string): string;
|
377 | /**
|
378 | * Encodes the search string from the provided string or object
|
379 | *
|
380 | * @param path The path string or object
|
381 | */
|
382 | abstract encodeSearch(search: string | {
|
383 | [k: string]: unknown;
|
384 | }): string;
|
385 | /**
|
386 | * Decodes the search objects from the provided string
|
387 | *
|
388 | * @param path The path string
|
389 | */
|
390 | abstract decodeSearch(search: string): {
|
391 | [k: string]: unknown;
|
392 | };
|
393 | /**
|
394 | * Encodes the hash from the provided string
|
395 | *
|
396 | * @param path The hash string
|
397 | */
|
398 | abstract encodeHash(hash: string): string;
|
399 | /**
|
400 | * Decodes the hash from the provided string
|
401 | *
|
402 | * @param path The hash string
|
403 | */
|
404 | abstract decodeHash(hash: string): string;
|
405 | /**
|
406 | * Normalizes the URL from the provided string
|
407 | *
|
408 | * @param path The URL string
|
409 | */
|
410 | abstract normalize(href: string): string;
|
411 | /**
|
412 | * Normalizes the URL from the provided string, search, hash, and base URL parameters
|
413 | *
|
414 | * @param path The URL path
|
415 | * @param search The search object
|
416 | * @param hash The has string
|
417 | * @param baseUrl The base URL for the URL
|
418 | */
|
419 | abstract normalize(path: string, search: {
|
420 | [k: string]: unknown;
|
421 | }, hash: string, baseUrl?: string): string;
|
422 | /**
|
423 | * Checks whether the two strings are equal
|
424 | * @param valA First string for comparison
|
425 | * @param valB Second string for comparison
|
426 | */
|
427 | abstract areEqual(valA: string, valB: string): boolean;
|
428 | /**
|
429 | * Parses the URL string based on the base URL
|
430 | *
|
431 | * @param url The full URL string
|
432 | * @param base The base for the URL
|
433 | */
|
434 | abstract parse(url: string, base?: string): {
|
435 | href: string;
|
436 | protocol: string;
|
437 | host: string;
|
438 | search: string;
|
439 | hash: string;
|
440 | hostname: string;
|
441 | port: string;
|
442 | pathname: string;
|
443 | };
|
444 | }
|
445 |
|
446 | export declare function ɵangular_packages_common_upgrade_upgrade_a(config: LocationUpgradeConfig, appBaseHref?: string): string;
|
447 |
|
448 | export declare function ɵangular_packages_common_upgrade_upgrade_b(config: LocationUpgradeConfig): any;
|
449 |
|
450 | export declare function ɵangular_packages_common_upgrade_upgrade_c(platformLocation: PlatformLocation, baseHref: string, options?: LocationUpgradeConfig): HashLocationStrategy | PathLocationStrategy;
|
451 |
|
452 | export declare function ɵangular_packages_common_upgrade_upgrade_d(ngUpgrade: UpgradeModule, location: Location, platformLocation: PlatformLocation, urlCodec: UrlCodec, locationStrategy: LocationStrategy): $locationShim;
|
453 |
|
454 | export { }
|
455 |
|
\ | No newline at end of file |