217
218
with(change: { scheme?: string; authority?: string | null; path?: string | null; query?: string | null; fragment?: string | null }): URI {
220
>
if (!change) {
221
return this;
222
}
224
>
let { scheme, authority, path, query, fragment } = change;
225
>
if (scheme === undefined) {
226
scheme = this.scheme;
227
>
} else if (scheme === null) {
uri.ts
228
scheme = _empty;
229
}
230
>
if (authority === undefined) {
uri.ts
231
authority = this.authority;
232
>
} else if (authority === null) {
uri.ts
233
authority = _empty;
234
}
235
>
if (path === undefined) {
uri.ts
236
path = this.path;
237
>
} else if (path === null) {
uri.ts
238
path = _empty;
239
}
240
>
if (query === undefined) {
uri.ts
241
query = this.query;
242
>
} else if (query === null) {
uri.ts
243
query = _empty;
244
}
245
>
if (fragment === undefined) {
uri.ts
246
fragment = this.fragment;
247
>
} else if (fragment === null) {
uri.ts
248
fragment = _empty;
249
}
251
>
if (scheme === this.scheme
252
&& authority === this.authority
253
&& path === this.path
254
&& query === this.query
255
>
&& fragment === this.fragment) {
uri.ts
256
257
return this;