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