@adviser/cement 0.4.32 → 0.4.34

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 (141) hide show
  1. package/cjs/cli/patch-version-cmd.cjs +25 -9
  2. package/cjs/cli/patch-version-cmd.cjs.map +1 -1
  3. package/cjs/cli/patch-version-cmd.d.ts +1 -1
  4. package/cjs/cli/patch-version-cmd.d.ts.map +1 -1
  5. package/cjs/index.cjs +1 -0
  6. package/cjs/index.cjs.map +1 -1
  7. package/cjs/index.d.ts +1 -0
  8. package/cjs/index.d.ts.map +1 -1
  9. package/cjs/load-asset.cjs +6 -5
  10. package/cjs/load-asset.cjs.map +1 -1
  11. package/cjs/load-asset.d.ts.map +1 -1
  12. package/cjs/logger.cjs +2 -2
  13. package/cjs/logger.cjs.map +1 -1
  14. package/cjs/logger.d.ts.map +1 -1
  15. package/cjs/logger.test.cjs +1 -1
  16. package/cjs/logger.test.cjs.map +1 -1
  17. package/cjs/mutable-url.cjs +281 -0
  18. package/cjs/mutable-url.cjs.map +1 -0
  19. package/cjs/mutable-url.d.ts +72 -0
  20. package/cjs/mutable-url.d.ts.map +1 -0
  21. package/cjs/mutable-url.test.cjs +452 -0
  22. package/cjs/mutable-url.test.cjs.map +1 -0
  23. package/cjs/mutable-url.test.d.ts +2 -0
  24. package/cjs/mutable-url.test.d.ts.map +1 -0
  25. package/cjs/uri.cjs +32 -161
  26. package/cjs/uri.cjs.map +1 -1
  27. package/cjs/uri.d.ts +4 -30
  28. package/cjs/uri.d.ts.map +1 -1
  29. package/cjs/uri.test.cjs +24 -36
  30. package/cjs/uri.test.cjs.map +1 -1
  31. package/cjs/utils/coerce-uint8.cjs.map +1 -1
  32. package/cjs/utils/coerce-uint8.d.ts.map +1 -1
  33. package/cjs/version.cjs +1 -1
  34. package/deno.json +1 -1
  35. package/esm/cli/patch-version-cmd.d.ts +1 -1
  36. package/esm/cli/patch-version-cmd.d.ts.map +1 -1
  37. package/esm/cli/patch-version-cmd.js +25 -9
  38. package/esm/cli/patch-version-cmd.js.map +1 -1
  39. package/esm/index.d.ts +1 -0
  40. package/esm/index.d.ts.map +1 -1
  41. package/esm/index.js +1 -0
  42. package/esm/index.js.map +1 -1
  43. package/esm/load-asset.d.ts.map +1 -1
  44. package/esm/load-asset.js +7 -6
  45. package/esm/load-asset.js.map +1 -1
  46. package/esm/logger.d.ts.map +1 -1
  47. package/esm/logger.js +2 -2
  48. package/esm/logger.js.map +1 -1
  49. package/esm/logger.test.js +2 -2
  50. package/esm/logger.test.js.map +1 -1
  51. package/esm/mutable-url.d.ts +72 -0
  52. package/esm/mutable-url.d.ts.map +1 -0
  53. package/esm/mutable-url.js +275 -0
  54. package/esm/mutable-url.js.map +1 -0
  55. package/esm/mutable-url.test.d.ts +2 -0
  56. package/esm/mutable-url.test.d.ts.map +1 -0
  57. package/esm/mutable-url.test.js +450 -0
  58. package/esm/mutable-url.test.js.map +1 -0
  59. package/esm/uri.d.ts +4 -30
  60. package/esm/uri.d.ts.map +1 -1
  61. package/esm/uri.js +26 -154
  62. package/esm/uri.js.map +1 -1
  63. package/esm/uri.test.js +25 -37
  64. package/esm/uri.test.js.map +1 -1
  65. package/esm/utils/coerce-uint8.d.ts.map +1 -1
  66. package/esm/utils/coerce-uint8.js.map +1 -1
  67. package/esm/version.js +1 -1
  68. package/package.json +2 -1
  69. package/src/cli/patch-version-cmd.ts +26 -9
  70. package/src/index.ts +1 -0
  71. package/src/load-asset.ts +7 -6
  72. package/src/logger.ts +3 -2
  73. package/src/mutable-url.ts +365 -0
  74. package/src/uri.ts +51 -195
  75. package/src/utils/coerce-uint8.ts +1 -2
  76. package/ts/cjs/cli/patch-version-cmd.d.ts +1 -1
  77. package/ts/cjs/cli/patch-version-cmd.d.ts.map +1 -1
  78. package/ts/cjs/cli/patch-version-cmd.js +25 -9
  79. package/ts/cjs/cli/patch-version-cmd.js.map +1 -1
  80. package/ts/cjs/index.d.ts +1 -0
  81. package/ts/cjs/index.d.ts.map +1 -1
  82. package/ts/cjs/index.js +1 -0
  83. package/ts/cjs/index.js.map +1 -1
  84. package/ts/cjs/load-asset.d.ts.map +1 -1
  85. package/ts/cjs/load-asset.js +6 -5
  86. package/ts/cjs/load-asset.js.map +1 -1
  87. package/ts/cjs/logger.d.ts.map +1 -1
  88. package/ts/cjs/logger.js +2 -2
  89. package/ts/cjs/logger.js.map +1 -1
  90. package/ts/cjs/logger.test.js +1 -1
  91. package/ts/cjs/logger.test.js.map +1 -1
  92. package/ts/cjs/mutable-url.d.ts +72 -0
  93. package/ts/cjs/mutable-url.d.ts.map +1 -0
  94. package/ts/cjs/mutable-url.js +281 -0
  95. package/ts/cjs/mutable-url.js.map +1 -0
  96. package/ts/cjs/mutable-url.test.d.ts +2 -0
  97. package/ts/cjs/mutable-url.test.d.ts.map +1 -0
  98. package/ts/cjs/mutable-url.test.js +452 -0
  99. package/ts/cjs/mutable-url.test.js.map +1 -0
  100. package/ts/cjs/uri.d.ts +4 -30
  101. package/ts/cjs/uri.d.ts.map +1 -1
  102. package/ts/cjs/uri.js +32 -161
  103. package/ts/cjs/uri.js.map +1 -1
  104. package/ts/cjs/uri.test.js +24 -36
  105. package/ts/cjs/uri.test.js.map +1 -1
  106. package/ts/cjs/utils/coerce-uint8.d.ts.map +1 -1
  107. package/ts/cjs/utils/coerce-uint8.js.map +1 -1
  108. package/ts/cjs/version.js +1 -1
  109. package/ts/esm/cli/patch-version-cmd.d.ts +1 -1
  110. package/ts/esm/cli/patch-version-cmd.d.ts.map +1 -1
  111. package/ts/esm/cli/patch-version-cmd.js +25 -9
  112. package/ts/esm/cli/patch-version-cmd.js.map +1 -1
  113. package/ts/esm/index.d.ts +1 -0
  114. package/ts/esm/index.d.ts.map +1 -1
  115. package/ts/esm/index.js +1 -0
  116. package/ts/esm/index.js.map +1 -1
  117. package/ts/esm/load-asset.d.ts.map +1 -1
  118. package/ts/esm/load-asset.js +7 -6
  119. package/ts/esm/load-asset.js.map +1 -1
  120. package/ts/esm/logger.d.ts.map +1 -1
  121. package/ts/esm/logger.js +2 -2
  122. package/ts/esm/logger.js.map +1 -1
  123. package/ts/esm/logger.test.js +2 -2
  124. package/ts/esm/logger.test.js.map +1 -1
  125. package/ts/esm/mutable-url.d.ts +72 -0
  126. package/ts/esm/mutable-url.d.ts.map +1 -0
  127. package/ts/esm/mutable-url.js +275 -0
  128. package/ts/esm/mutable-url.js.map +1 -0
  129. package/ts/esm/mutable-url.test.d.ts +2 -0
  130. package/ts/esm/mutable-url.test.d.ts.map +1 -0
  131. package/ts/esm/mutable-url.test.js +450 -0
  132. package/ts/esm/mutable-url.test.js.map +1 -0
  133. package/ts/esm/uri.d.ts +4 -30
  134. package/ts/esm/uri.d.ts.map +1 -1
  135. package/ts/esm/uri.js +26 -154
  136. package/ts/esm/uri.js.map +1 -1
  137. package/ts/esm/uri.test.js +25 -37
  138. package/ts/esm/uri.test.js.map +1 -1
  139. package/ts/esm/utils/coerce-uint8.d.ts.map +1 -1
  140. package/ts/esm/utils/coerce-uint8.js.map +1 -1
  141. package/ts/esm/version.js +1 -1
@@ -0,0 +1,450 @@
1
+ import { ReadonlyURL, WritableURL, URLSearchParamsEntries } from "./mutable-url.js";
2
+ describe("URLSearchParamsEntries", () => {
3
+ it("should iterate over URLSearchParams entries", () => {
4
+ const params = new URLSearchParams();
5
+ params.set("key1", "value1");
6
+ params.set("key2", "value2");
7
+ const entries = Array.from(URLSearchParamsEntries(params));
8
+ expect(entries).toEqual([
9
+ ["key1", "value1"],
10
+ ["key2", "value2"],
11
+ ]);
12
+ });
13
+ it("should handle empty URLSearchParams", () => {
14
+ const params = new URLSearchParams();
15
+ const entries = Array.from(URLSearchParamsEntries(params));
16
+ expect(entries).toEqual([]);
17
+ });
18
+ it("should handle multiple values for same key", () => {
19
+ const params = new URLSearchParams();
20
+ params.append("key", "value1");
21
+ params.append("key", "value2");
22
+ const entries = Array.from(URLSearchParamsEntries(params));
23
+ expect(entries.length).toBeGreaterThan(0);
24
+ expect(entries.some(([k, v]) => k === "key" && (v === "value1" || v === "value2"))).toBe(true);
25
+ });
26
+ });
27
+ describe("ReadonlyURL", () => {
28
+ describe("constructor and basic properties", () => {
29
+ it("should create ReadonlyURL with http protocol", () => {
30
+ const url = ReadonlyURL.fromThrow("http://example.com/path");
31
+ expect(url.protocol).toBe("http:");
32
+ expect(url.hostname).toBe("example.com");
33
+ expect(url.pathname).toBe("/path");
34
+ });
35
+ it("should create ReadonlyURL with https protocol", () => {
36
+ const url = ReadonlyURL.fromThrow("https://example.com:8080/path");
37
+ expect(url.protocol).toBe("https:");
38
+ expect(url.hostname).toBe("example.com");
39
+ expect(url.port).toBe("8080");
40
+ expect(url.pathname).toBe("/path");
41
+ });
42
+ it("should create ReadonlyURL with custom protocol without host part", () => {
43
+ const url = ReadonlyURL.fromThrow("file://path/to/file");
44
+ expect(url.protocol).toBe("file:");
45
+ expect(url.pathname).toBe("path/to/file");
46
+ });
47
+ it("should throw error for invalid URL", () => {
48
+ expect(() => ReadonlyURL.fromThrow("invalid-url")).toThrow();
49
+ });
50
+ });
51
+ describe("readonly setters", () => {
52
+ let url;
53
+ beforeEach(() => {
54
+ url = ReadonlyURL.fromThrow("http://example.com/path");
55
+ });
56
+ it("should throw error when setting origin", () => {
57
+ expect(() => {
58
+ url.origin = "http://other.com";
59
+ }).toThrow("origin is readonly");
60
+ });
61
+ it("should throw error when setting href", () => {
62
+ expect(() => {
63
+ url.href = "http://other.com";
64
+ }).toThrow("href is readonly");
65
+ });
66
+ it("should throw error when setting password", () => {
67
+ expect(() => {
68
+ url.password = "pass";
69
+ }).toThrow("password is readonly");
70
+ });
71
+ it("should throw error when setting username", () => {
72
+ expect(() => {
73
+ url.username = "user";
74
+ }).toThrow("username is readonly");
75
+ });
76
+ it("should throw error when setting hash", () => {
77
+ expect(() => {
78
+ url.hash = "#test";
79
+ }).toThrow("hash is readonly");
80
+ });
81
+ it("should throw error when setting host", () => {
82
+ expect(() => {
83
+ url.host = "other.com";
84
+ }).toThrow("host is readonly");
85
+ });
86
+ it("should throw error when setting hostname", () => {
87
+ expect(() => {
88
+ url.hostname = "other.com";
89
+ }).toThrow("hostname is readonly");
90
+ });
91
+ it("should throw error when setting pathname", () => {
92
+ expect(() => {
93
+ url.pathname = "/other";
94
+ }).toThrow("pathname is readonly");
95
+ });
96
+ it("should throw error when setting port", () => {
97
+ expect(() => {
98
+ url.port = "8080";
99
+ }).toThrow("port is readonly");
100
+ });
101
+ it("should throw error when setting protocol", () => {
102
+ expect(() => {
103
+ url.protocol = "https:";
104
+ }).toThrow("protocol is readonly");
105
+ });
106
+ it("should throw error when setting search", () => {
107
+ expect(() => {
108
+ url.search = "?test=1";
109
+ }).toThrow("search is readonly");
110
+ });
111
+ it("should throw error when setting searchParams", () => {
112
+ expect(() => {
113
+ url.searchParams = new URLSearchParams();
114
+ }).toThrow("searchParams is readonly");
115
+ });
116
+ });
117
+ describe("host-related properties for non-host protocols", () => {
118
+ let url;
119
+ beforeEach(() => {
120
+ url = ReadonlyURL.fromThrow("file://path/to/file");
121
+ });
122
+ it("should throw error when accessing host for non-host protocol", () => {
123
+ expect(() => url.host).toThrow("you can use hostname only if protocol is");
124
+ });
125
+ it("should throw error when accessing hostname for non-host protocol", () => {
126
+ expect(() => url.hostname).toThrow("you can use hostname only if protocol is");
127
+ });
128
+ it("should throw error when accessing port for non-host protocol", () => {
129
+ expect(() => url.port).toThrow("you can use hostname only if protocol is");
130
+ });
131
+ });
132
+ describe("search and searchParams", () => {
133
+ it("should handle empty search params", () => {
134
+ const url = ReadonlyURL.fromThrow("http://example.com/path");
135
+ expect(url.search).toBe("");
136
+ });
137
+ it("should handle search params", () => {
138
+ const url = ReadonlyURL.fromThrow("http://example.com/path?b=2&a=1");
139
+ expect(url.search).toBe("?a=1&b=2");
140
+ });
141
+ it("should encode search param values", () => {
142
+ const url = ReadonlyURL.fromThrow("http://example.com/path");
143
+ url.searchParams.set("key", "value with spaces");
144
+ expect(url.search).toBe("?key=value%20with%20spaces");
145
+ });
146
+ });
147
+ describe("toString", () => {
148
+ it("should return correct string for host-based URL", () => {
149
+ const url = ReadonlyURL.fromThrow("http://example.com:8080/path?a=1#hash");
150
+ expect(url.toString()).toBe("http://example.com:8080/path?a=1#hash");
151
+ });
152
+ it("should return correct string for non-host URL", () => {
153
+ const url = ReadonlyURL.fromThrow("file://path/to/file");
154
+ expect(url.toString()).toBe("file://path/to/file");
155
+ });
156
+ it("should handle URL without leading slash in pathname", () => {
157
+ const url = ReadonlyURL.fromThrow("http://example.com");
158
+ expect(url.toString()).toContain("http://example.com/");
159
+ });
160
+ });
161
+ describe("utility methods", () => {
162
+ let url;
163
+ beforeEach(() => {
164
+ url = ReadonlyURL.fromThrow("http://example.com/path");
165
+ });
166
+ it("test serialization", () => {
167
+ const url = ReadonlyURL.fromThrow("http://example.com/path");
168
+ expect(JSON.stringify(url)).toBe(`"${url.toString()}"`);
169
+ });
170
+ it("should return JSON string", () => {
171
+ expect(url.toJSON()).toBe(url.toString());
172
+ });
173
+ it("should return string for custom inspect", () => {
174
+ const customInspectSymbol = Symbol.for("nodejs.util.inspect.custom");
175
+ expect(url[customInspectSymbol]()).toBe(url.toString());
176
+ });
177
+ it("should clone and return same instance", () => {
178
+ const cloned = url.clone();
179
+ expect(cloned).toBe(url);
180
+ });
181
+ });
182
+ });
183
+ describe("WritableURL", () => {
184
+ describe("static factory methods", () => {
185
+ it("should create WritableURL with fromThrow", () => {
186
+ const url = WritableURL.fromThrow("http://example.com/path");
187
+ expect(url).toBeInstanceOf(WritableURL);
188
+ expect(url.toString()).toBe("http://example.com/path");
189
+ });
190
+ it("should throw error with fromThrow for invalid URL", () => {
191
+ expect(() => WritableURL.fromThrow("invalid-url")).toThrow();
192
+ });
193
+ it("should create Result.Ok with from for valid URL", () => {
194
+ const result = WritableURL.from("http://example.com/path");
195
+ expect(result.isOk()).toBe(true);
196
+ expect(result.Ok()).toBeInstanceOf(WritableURL);
197
+ });
198
+ it("should create Result.Err with from for invalid URL", () => {
199
+ const result = WritableURL.from("invalid-url");
200
+ expect(result.isErr()).toBe(true);
201
+ expect(result.Err().message).toContain("Invalid URL");
202
+ });
203
+ });
204
+ describe("mutable setters", () => {
205
+ let url;
206
+ beforeEach(() => {
207
+ url = WritableURL.fromThrow("http://example.com/path");
208
+ });
209
+ it("should throw error when setting origin", () => {
210
+ expect(() => {
211
+ url.origin = "http://other.com";
212
+ }).toThrow("don't use origin");
213
+ });
214
+ it("should set href", () => {
215
+ expect(() => {
216
+ url.href = "http://other.com/other";
217
+ }).toThrow("don't use href");
218
+ });
219
+ it("should set password", () => {
220
+ url.password = "newpass";
221
+ expect(url.password).toBe("newpass");
222
+ });
223
+ it("should set username", () => {
224
+ url.username = "newuser";
225
+ expect(url.username).toBe("newuser");
226
+ });
227
+ it("should set hash", () => {
228
+ url.hash = "#newhash";
229
+ expect(url.hash).toBe("#newhash");
230
+ });
231
+ it("should set host", () => {
232
+ url.host = "other.com:9000";
233
+ expect(url.host).toBe("other.com:9000");
234
+ });
235
+ it("should set hostname", () => {
236
+ url.hostname = "other.com";
237
+ expect(url.hostname).toBe("other.com");
238
+ });
239
+ it("should set pathname", () => {
240
+ url.pathname = "/newpath";
241
+ expect(url.pathname).toBe("/newpath");
242
+ });
243
+ it("should set port", () => {
244
+ url.port = "9000";
245
+ expect(url.port).toBe("9000");
246
+ });
247
+ it("should set protocol with colon", () => {
248
+ url.protocol = "https:";
249
+ expect(url.protocol).toBe("https:");
250
+ });
251
+ it("should set protocol without colon", () => {
252
+ url.protocol = "https";
253
+ expect(url.protocol).toBe("https:");
254
+ });
255
+ it("should set search", () => {
256
+ url.search = "?new=param";
257
+ expect(url.search).toBe("?new=param");
258
+ });
259
+ it("should verify state change when setting username and password", () => {
260
+ url.username = "testuser";
261
+ url.password = "testpass";
262
+ expect(url.username).toBe("testuser");
263
+ expect(url.password).toBe("testpass");
264
+ expect(url.href).toContain("testuser:testpass@");
265
+ });
266
+ it("should verify state change when setting empty values", () => {
267
+ url.hash = "#test";
268
+ url.search = "?test=value";
269
+ expect(url.hash).toBe("#test");
270
+ expect(url.search).toBe("?test=value");
271
+ url.hash = "";
272
+ url.search = "";
273
+ expect(url.hash).toBe("");
274
+ expect(url.search).toBe("");
275
+ });
276
+ });
277
+ describe("host-related setters for non-host protocols", () => {
278
+ let url;
279
+ beforeEach(() => {
280
+ url = WritableURL.fromThrow("file://path/to/file");
281
+ });
282
+ it("should throw error when setting hostname for non-host protocol", () => {
283
+ expect(() => {
284
+ url.hostname = "example.com";
285
+ }).toThrow("you can use hostname only if protocol is");
286
+ });
287
+ it("should throw error when setting port for non-host protocol", () => {
288
+ expect(() => {
289
+ url.port = "8080";
290
+ }).toThrow("you can use port only if protocol is");
291
+ });
292
+ });
293
+ describe("searchParams setter", () => {
294
+ let url;
295
+ beforeEach(() => {
296
+ url = WritableURL.fromThrow("http://example.com/path?existing=param");
297
+ });
298
+ it("should replace searchParams completely", () => {
299
+ const originalSearch = url.search;
300
+ const newParams = new URLSearchParams();
301
+ newParams.set("new", "value");
302
+ newParams.set("another", "param");
303
+ url.searchParams = newParams;
304
+ expect(url.searchParams.get("new")).toBe("value");
305
+ expect(url.searchParams.get("another")).toBe("param");
306
+ expect(url.searchParams.get("existing")).toBeNull();
307
+ expect(url.search).not.toBe(originalSearch);
308
+ expect(url.search).toContain("new=value");
309
+ expect(url.search).toContain("another=param");
310
+ });
311
+ it("should handle empty searchParams", () => {
312
+ const originalSearch = url.search;
313
+ url.searchParams = new URLSearchParams();
314
+ expect(url.search).toBe("");
315
+ expect(url.search).not.toBe(originalSearch);
316
+ expect(url.searchParams.toString()).toBe("");
317
+ });
318
+ });
319
+ describe("comprehensive state change verification", () => {
320
+ let url;
321
+ beforeEach(() => {
322
+ url = WritableURL.fromThrow("http://example.com/path?existing=param");
323
+ });
324
+ it("should verify all mutable setters change state correctly", () => {
325
+ const originalHash = url.hash;
326
+ const originalHost = url.host;
327
+ const originalHostname = url.hostname;
328
+ const originalPathname = url.pathname;
329
+ const originalPort = url.port;
330
+ const originalProtocol = url.protocol;
331
+ const originalSearch = url.search;
332
+ const originalUsername = url.username;
333
+ const originalPassword = url.password;
334
+ url.hash = "#newHash";
335
+ url.host = "newhost.com:8080";
336
+ url.pathname = "/newpath";
337
+ url.protocol = "https";
338
+ url.search = "?new=value";
339
+ url.username = "newuser";
340
+ url.password = "newpass";
341
+ expect(url.hash).toBe("#newHash");
342
+ expect(url.hash).not.toBe(originalHash);
343
+ expect(url.host).toBe("newhost.com:8080");
344
+ expect(url.host).not.toBe(originalHost);
345
+ expect(url.hostname).toBe("newhost.com");
346
+ expect(url.hostname).not.toBe(originalHostname);
347
+ expect(url.pathname).toBe("/newpath");
348
+ expect(url.pathname).not.toBe(originalPathname);
349
+ expect(url.port).toBe("8080");
350
+ expect(url.port).not.toBe(originalPort);
351
+ expect(url.protocol).toBe("https:");
352
+ expect(url.protocol).not.toBe(originalProtocol);
353
+ expect(url.search).toBe("?new=value");
354
+ expect(url.search).not.toBe(originalSearch);
355
+ expect(url.username).toBe("newuser");
356
+ expect(url.username).not.toBe(originalUsername);
357
+ expect(url.password).toBe("newpass");
358
+ expect(url.password).not.toBe(originalPassword);
359
+ expect(url.toString()).toContain("https://");
360
+ expect(url.toString()).toContain("newuser:newpass@");
361
+ expect(url.toString()).toContain("newhost.com:8080");
362
+ expect(url.toString()).toContain("/newpath");
363
+ expect(url.toString()).toContain("?new=value");
364
+ expect(url.toString()).toContain("#newHash");
365
+ });
366
+ });
367
+ describe("clone method", () => {
368
+ it("should create new instance with same URL", () => {
369
+ const url = WritableURL.fromThrow("http://example.com/path?param=value#hash");
370
+ const cloned = url.clone();
371
+ expect(cloned).toBeInstanceOf(WritableURL);
372
+ expect(cloned).not.toBe(url);
373
+ expect(cloned.toString()).toBe(url.toString());
374
+ });
375
+ });
376
+ describe("utility methods", () => {
377
+ let url;
378
+ beforeEach(() => {
379
+ url = WritableURL.fromThrow("http://example.com/path");
380
+ });
381
+ it("test serialization", () => {
382
+ const url = WritableURL.fromThrow("http://example.com/path");
383
+ expect(JSON.stringify(url)).toBe(`"${url.toString()}"`);
384
+ });
385
+ it("should return JSON string", () => {
386
+ expect(url.toJSON()).toBe(url.toString());
387
+ });
388
+ it("should return string for custom inspect", () => {
389
+ const customInspectSymbol = Symbol.for("nodejs.util.inspect.custom");
390
+ expect(url[customInspectSymbol]()).toBe(url.toString());
391
+ });
392
+ });
393
+ });
394
+ describe("ReadonlyURL.from", () => {
395
+ it("should return Ok for valid url with protocol", () => {
396
+ const result = ReadonlyURL.from("http://example.com/foo");
397
+ expect(result.isOk()).toBe(true);
398
+ expect(result.Ok().toString()).toBe("http://example.com/foo");
399
+ });
400
+ it("should return Err for invalid url", () => {
401
+ const result = ReadonlyURL.from("not-a-url");
402
+ expect(result.isErr()).toBe(true);
403
+ });
404
+ it("should return Err for invalid url 1", () => {
405
+ const result = ReadonlyURL.from("not-a-url:");
406
+ expect(result.isErr()).toBe(true);
407
+ });
408
+ it("should return Err for invalid url 2", () => {
409
+ const result = ReadonlyURL.from("not-a-url:/");
410
+ expect(result.isErr()).toBe(true);
411
+ });
412
+ it("should return Err for invalid urll 3", () => {
413
+ const result = ReadonlyURL.from("not-a-url://kdkkef/df:dkdkfkdk");
414
+ expect(result.isErr()).toBe(true);
415
+ });
416
+ it("should return Ok for custom protocol", () => {
417
+ const result = ReadonlyURL.from("b0lix://foo/bar");
418
+ expect(result.isOk()).toBe(true);
419
+ expect(result.Ok().toString()).toBe("b0lix://foo/bar");
420
+ });
421
+ });
422
+ describe("WritableURL.from", () => {
423
+ it("should return Ok for valid url with protocol", () => {
424
+ const result = WritableURL.from("http://example.com/foo");
425
+ expect(result.isOk()).toBe(true);
426
+ expect(result.Ok().toString()).toBe("http://example.com/foo");
427
+ });
428
+ it("should return Err for invalid url", () => {
429
+ const result = WritableURL.from("not-a-url");
430
+ expect(result.isErr()).toBe(true);
431
+ });
432
+ it("should return Err for invalid url 1", () => {
433
+ const result = WritableURL.from("not-a-url:");
434
+ expect(result.isErr()).toBe(true);
435
+ });
436
+ it("should return Err for invalid url 2", () => {
437
+ const result = WritableURL.from("not-a-url:/");
438
+ expect(result.isErr()).toBe(true);
439
+ });
440
+ it("should return Err for invalid urll 3", () => {
441
+ const result = WritableURL.from("not-a-url://kdkkef/df:dkdkfkdk");
442
+ expect(result.isErr()).toBe(true);
443
+ });
444
+ it("should return Ok for custom protocol", () => {
445
+ const result = WritableURL.from("b0lix://foo/bar");
446
+ expect(result.isOk()).toBe(true);
447
+ expect(result.Ok().toString()).toBe("b0lix://foo/bar");
448
+ });
449
+ });
450
+ //# sourceMappingURL=mutable-url.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutable-url.test.js","sourceRoot":"","sources":["../../../src/mutable-url.test.ts"],"names":[],"mappings":"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"}
package/ts/esm/uri.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Result } from "./result.js";
2
2
  import { KeysParam } from "./utils/get-params-result.js";
3
3
  import { StripCommand } from "./utils/stripper.js";
4
+ import { ReadonlyURL, WritableURL } from "./mutable-url.js";
4
5
  type NullOrUndef = null | undefined;
5
6
  type OneKey<K extends string, V = string> = Record<K, V>;
6
7
  export interface IsURIResult {
@@ -44,35 +45,8 @@ export interface HostURIObject extends URIObject {
44
45
  readonly port: string;
45
46
  }
46
47
  export declare function isURL(value: unknown): value is URL;
47
- declare const customInspectSymbol: unique symbol;
48
- export declare class MutableURL extends URL {
49
- private readonly _sysURL;
50
- private _protocol;
51
- private _pathname;
52
- private _hasHostpart;
53
- static fromThrow(urlStr: string): MutableURL;
54
- static from(urlStr: string): Result<MutableURL>;
55
- private constructor();
56
- toJSON(): string;
57
- [customInspectSymbol](): string;
58
- clone(): MutableURL;
59
- get host(): string;
60
- get port(): string;
61
- set port(p: string);
62
- get hostname(): string;
63
- set hostname(h: string);
64
- set pathname(p: string);
65
- get pathname(): string;
66
- get protocol(): string;
67
- set protocol(p: string);
68
- get hash(): string;
69
- set hash(h: string);
70
- get searchParams(): URLSearchParams;
71
- get search(): string;
72
- toString(): string;
73
- }
74
48
  export declare class BuildURI implements URIInterface<BuildURI> {
75
- _url: MutableURL;
49
+ _url: WritableURL;
76
50
  private constructor();
77
51
  static is(value: unknown): value is BuildURI;
78
52
  static from(strURLUri?: CoerceURI, defaultProtocol?: string): BuildURI;
@@ -105,7 +79,7 @@ export declare class BuildURI implements URIInterface<BuildURI> {
105
79
  get withoutHostAndSchema(): string;
106
80
  URI(): URI;
107
81
  }
108
- export type CoerceURI = string | URI | MutableURL | URL | BuildURI | NullOrUndef;
82
+ export type CoerceURI = string | URI | ReadonlyURL | WritableURL | URL | BuildURI | NullOrUndef;
109
83
  export declare function isCoerceURI(value: unknown): value is CoerceURI;
110
84
  export declare const hasHostPartProtocols: Set<string>;
111
85
  export declare class URI implements URIInterface<URI> {
@@ -115,7 +89,7 @@ export declare class URI implements URIInterface<URI> {
115
89
  static is(value: unknown): value is URI;
116
90
  static from(strURLUri?: CoerceURI, defaultProtocol?: string): URI;
117
91
  static fromResult(strURLUri?: CoerceURI, defaultProtocol?: string): Result<URI>;
118
- readonly _url: MutableURL;
92
+ readonly _url: ReadonlyURL;
119
93
  private constructor();
120
94
  build(): BuildURI;
121
95
  get hostname(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../../../src/uri.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../../../src/uri.ts"],"names":[],"mappings":"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"}