@hyperlane-xyz/utils 0.0.0-beta-20251201221151

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 (210) hide show
  1. package/README.md +20 -0
  2. package/dist/addresses.d.ts +65 -0
  3. package/dist/addresses.d.ts.map +1 -0
  4. package/dist/addresses.js +475 -0
  5. package/dist/addresses.js.map +1 -0
  6. package/dist/addresses.test.d.ts +2 -0
  7. package/dist/addresses.test.d.ts.map +1 -0
  8. package/dist/addresses.test.js +68 -0
  9. package/dist/addresses.test.js.map +1 -0
  10. package/dist/amount.d.ts +70 -0
  11. package/dist/amount.d.ts.map +1 -0
  12. package/dist/amount.js +143 -0
  13. package/dist/amount.js.map +1 -0
  14. package/dist/amount.test.d.ts +2 -0
  15. package/dist/amount.test.d.ts.map +1 -0
  16. package/dist/amount.test.js +113 -0
  17. package/dist/amount.test.js.map +1 -0
  18. package/dist/arrays.d.ts +11 -0
  19. package/dist/arrays.d.ts.map +1 -0
  20. package/dist/arrays.js +26 -0
  21. package/dist/arrays.js.map +1 -0
  22. package/dist/arrays.test.d.ts +2 -0
  23. package/dist/arrays.test.d.ts.map +1 -0
  24. package/dist/arrays.test.js +77 -0
  25. package/dist/arrays.test.js.map +1 -0
  26. package/dist/async.d.ts +66 -0
  27. package/dist/async.d.ts.map +1 -0
  28. package/dist/async.js +146 -0
  29. package/dist/async.js.map +1 -0
  30. package/dist/async.test.d.ts +2 -0
  31. package/dist/async.test.d.ts.map +1 -0
  32. package/dist/async.test.js +204 -0
  33. package/dist/async.test.js.map +1 -0
  34. package/dist/base58.d.ts +5 -0
  35. package/dist/base58.d.ts.map +1 -0
  36. package/dist/base58.js +15 -0
  37. package/dist/base58.js.map +1 -0
  38. package/dist/base58.test.d.ts +2 -0
  39. package/dist/base58.test.d.ts.map +1 -0
  40. package/dist/base58.test.js +31 -0
  41. package/dist/base58.test.js.map +1 -0
  42. package/dist/base64.d.ts +3 -0
  43. package/dist/base64.d.ts.map +1 -0
  44. package/dist/base64.js +25 -0
  45. package/dist/base64.js.map +1 -0
  46. package/dist/base64.test.d.ts +2 -0
  47. package/dist/base64.test.d.ts.map +1 -0
  48. package/dist/base64.test.js +54 -0
  49. package/dist/base64.test.js.map +1 -0
  50. package/dist/big-numbers.d.ts +50 -0
  51. package/dist/big-numbers.d.ts.map +1 -0
  52. package/dist/big-numbers.js +80 -0
  53. package/dist/big-numbers.js.map +1 -0
  54. package/dist/big-numbers.test.d.ts +2 -0
  55. package/dist/big-numbers.test.d.ts.map +1 -0
  56. package/dist/big-numbers.test.js +96 -0
  57. package/dist/big-numbers.test.js.map +1 -0
  58. package/dist/calldata.d.ts +3 -0
  59. package/dist/calldata.d.ts.map +1 -0
  60. package/dist/calldata.js +4 -0
  61. package/dist/calldata.js.map +1 -0
  62. package/dist/checkpoints.d.ts +6 -0
  63. package/dist/checkpoints.d.ts.map +1 -0
  64. package/dist/checkpoints.js +24 -0
  65. package/dist/checkpoints.js.map +1 -0
  66. package/dist/checkpoints.test.d.ts +2 -0
  67. package/dist/checkpoints.test.d.ts.map +1 -0
  68. package/dist/checkpoints.test.js +105 -0
  69. package/dist/checkpoints.test.js.map +1 -0
  70. package/dist/config.d.ts +25 -0
  71. package/dist/config.d.ts.map +1 -0
  72. package/dist/config.js +84 -0
  73. package/dist/config.js.map +1 -0
  74. package/dist/domains.d.ts +2 -0
  75. package/dist/domains.d.ts.map +1 -0
  76. package/dist/domains.js +6 -0
  77. package/dist/domains.js.map +1 -0
  78. package/dist/env.d.ts +4 -0
  79. package/dist/env.d.ts.map +1 -0
  80. package/dist/env.js +17 -0
  81. package/dist/env.js.map +1 -0
  82. package/dist/env.test.d.ts +2 -0
  83. package/dist/env.test.d.ts.map +1 -0
  84. package/dist/env.test.js +16 -0
  85. package/dist/env.test.js.map +1 -0
  86. package/dist/eslint-rules/index.d.ts +157 -0
  87. package/dist/eslint-rules/index.d.ts.map +1 -0
  88. package/dist/eslint-rules/index.js +58 -0
  89. package/dist/eslint-rules/index.js.map +1 -0
  90. package/dist/eslint-rules/no-restricted-imports-from-exports.d.ts +4 -0
  91. package/dist/eslint-rules/no-restricted-imports-from-exports.d.ts.map +1 -0
  92. package/dist/eslint-rules/no-restricted-imports-from-exports.js +141 -0
  93. package/dist/eslint-rules/no-restricted-imports-from-exports.js.map +1 -0
  94. package/dist/eslint-rules/no-restricted-imports-from-exports.test.d.ts +2 -0
  95. package/dist/eslint-rules/no-restricted-imports-from-exports.test.d.ts.map +1 -0
  96. package/dist/eslint-rules/no-restricted-imports-from-exports.test.js +258 -0
  97. package/dist/eslint-rules/no-restricted-imports-from-exports.test.js.map +1 -0
  98. package/dist/eslint-rules/sort-yaml-arrays.d.ts +39 -0
  99. package/dist/eslint-rules/sort-yaml-arrays.d.ts.map +1 -0
  100. package/dist/eslint-rules/sort-yaml-arrays.js +74 -0
  101. package/dist/eslint-rules/sort-yaml-arrays.js.map +1 -0
  102. package/dist/eslint-rules/sort-yaml-arrays.test.d.ts +2 -0
  103. package/dist/eslint-rules/sort-yaml-arrays.test.d.ts.map +1 -0
  104. package/dist/eslint-rules/sort-yaml-arrays.test.js +621 -0
  105. package/dist/eslint-rules/sort-yaml-arrays.test.js.map +1 -0
  106. package/dist/ids.d.ts +20 -0
  107. package/dist/ids.d.ts.map +1 -0
  108. package/dist/ids.js +42 -0
  109. package/dist/ids.js.map +1 -0
  110. package/dist/ids.test.d.ts +2 -0
  111. package/dist/ids.test.d.ts.map +1 -0
  112. package/dist/ids.test.js +39 -0
  113. package/dist/ids.test.js.map +1 -0
  114. package/dist/index.d.ts +30 -0
  115. package/dist/index.d.ts.map +1 -0
  116. package/dist/index.js +29 -0
  117. package/dist/index.js.map +1 -0
  118. package/dist/logging.d.ts +32 -0
  119. package/dist/logging.d.ts.map +1 -0
  120. package/dist/logging.js +146 -0
  121. package/dist/logging.js.map +1 -0
  122. package/dist/logging.test.d.ts +2 -0
  123. package/dist/logging.test.d.ts.map +1 -0
  124. package/dist/logging.test.js +35 -0
  125. package/dist/logging.test.js.map +1 -0
  126. package/dist/math.d.ts +6 -0
  127. package/dist/math.d.ts.map +1 -0
  128. package/dist/math.js +21 -0
  129. package/dist/math.js.map +1 -0
  130. package/dist/math.test.d.ts +2 -0
  131. package/dist/math.test.d.ts.map +1 -0
  132. package/dist/math.test.js +45 -0
  133. package/dist/math.test.js.map +1 -0
  134. package/dist/messages.d.ts +22 -0
  135. package/dist/messages.d.ts.map +1 -0
  136. package/dist/messages.js +64 -0
  137. package/dist/messages.js.map +1 -0
  138. package/dist/multisig.d.ts +4 -0
  139. package/dist/multisig.d.ts.map +1 -0
  140. package/dist/multisig.js +53 -0
  141. package/dist/multisig.js.map +1 -0
  142. package/dist/objects.d.ts +74 -0
  143. package/dist/objects.d.ts.map +1 -0
  144. package/dist/objects.js +331 -0
  145. package/dist/objects.js.map +1 -0
  146. package/dist/objects.test.d.ts +2 -0
  147. package/dist/objects.test.d.ts.map +1 -0
  148. package/dist/objects.test.js +655 -0
  149. package/dist/objects.test.js.map +1 -0
  150. package/dist/result.d.ts +11 -0
  151. package/dist/result.d.ts.map +1 -0
  152. package/dist/result.js +7 -0
  153. package/dist/result.js.map +1 -0
  154. package/dist/sets.d.ts +5 -0
  155. package/dist/sets.d.ts.map +1 -0
  156. package/dist/sets.js +33 -0
  157. package/dist/sets.js.map +1 -0
  158. package/dist/sets.test.d.ts +2 -0
  159. package/dist/sets.test.d.ts.map +1 -0
  160. package/dist/sets.test.js +35 -0
  161. package/dist/sets.test.js.map +1 -0
  162. package/dist/strings.d.ts +11 -0
  163. package/dist/strings.d.ts.map +1 -0
  164. package/dist/strings.js +49 -0
  165. package/dist/strings.js.map +1 -0
  166. package/dist/strings.test.d.ts +2 -0
  167. package/dist/strings.test.d.ts.map +1 -0
  168. package/dist/strings.test.js +42 -0
  169. package/dist/strings.test.js.map +1 -0
  170. package/dist/typeof.d.ts +3 -0
  171. package/dist/typeof.d.ts.map +1 -0
  172. package/dist/typeof.js +7 -0
  173. package/dist/typeof.js.map +1 -0
  174. package/dist/typeof.test.d.ts +2 -0
  175. package/dist/typeof.test.d.ts.map +1 -0
  176. package/dist/typeof.test.js +34 -0
  177. package/dist/typeof.test.js.map +1 -0
  178. package/dist/types.d.ts +111 -0
  179. package/dist/types.d.ts.map +1 -0
  180. package/dist/types.js +23 -0
  181. package/dist/types.js.map +1 -0
  182. package/dist/url.d.ts +4 -0
  183. package/dist/url.d.ts.map +1 -0
  184. package/dist/url.js +34 -0
  185. package/dist/url.js.map +1 -0
  186. package/dist/url.test.d.ts +2 -0
  187. package/dist/url.test.d.ts.map +1 -0
  188. package/dist/url.test.js +29 -0
  189. package/dist/url.test.js.map +1 -0
  190. package/dist/validation.d.ts +2 -0
  191. package/dist/validation.d.ts.map +1 -0
  192. package/dist/validation.js +6 -0
  193. package/dist/validation.js.map +1 -0
  194. package/dist/validation.test.d.ts +2 -0
  195. package/dist/validation.test.d.ts.map +1 -0
  196. package/dist/validation.test.js +11 -0
  197. package/dist/validation.test.js.map +1 -0
  198. package/dist/validator.d.ts +30 -0
  199. package/dist/validator.d.ts.map +1 -0
  200. package/dist/validator.js +76 -0
  201. package/dist/validator.js.map +1 -0
  202. package/dist/yaml.d.ts +22 -0
  203. package/dist/yaml.d.ts.map +1 -0
  204. package/dist/yaml.js +293 -0
  205. package/dist/yaml.js.map +1 -0
  206. package/dist/yaml.test.d.ts +2 -0
  207. package/dist/yaml.test.d.ts.map +1 -0
  208. package/dist/yaml.test.js +519 -0
  209. package/dist/yaml.test.js.map +1 -0
  210. package/package.json +80 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects.test.js","sourceRoot":"","sources":["../src/objects.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /********* RESULT MONAD *********/
2
+ export type Result<T> = {
3
+ success: true;
4
+ data: T;
5
+ } | {
6
+ success: false;
7
+ error: string;
8
+ };
9
+ export declare function success<T>(data: T): Result<T>;
10
+ export declare function failure<T>(error: string): Result<T>;
11
+ //# sourceMappingURL=result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,MAAM,MAAM,MAAM,CAAC,CAAC,IAChB;IACE,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;CACT,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAE7C;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAEnD"}
package/dist/result.js ADDED
@@ -0,0 +1,7 @@
1
+ export function success(data) {
2
+ return { success: true, data };
3
+ }
4
+ export function failure(error) {
5
+ return { success: false, error };
6
+ }
7
+ //# sourceMappingURL=result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,OAAO,CAAI,IAAO;IAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,KAAa;IACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC"}
package/dist/sets.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export declare function difference<T>(a: Set<T>, b: Set<T>): Set<T>;
2
+ export declare function symmetricDifference<T>(a: Set<T>, b: Set<T>): Set<T>;
3
+ export declare function setEquality<T>(a: Set<T>, b: Set<T>): boolean;
4
+ export declare function intersection<T>(a: Set<T>, b: Set<T>): Set<T>;
5
+ //# sourceMappingURL=sets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sets.d.ts","sourceRoot":"","sources":["../src/sets.ts"],"names":[],"mappings":"AACA,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAMjD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAU1D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,WAElD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAQnD"}
package/dist/sets.js ADDED
@@ -0,0 +1,33 @@
1
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#implementing_basic_set_operations
2
+ export function difference(a, b) {
3
+ const _difference = new Set(a);
4
+ for (const elem of b) {
5
+ _difference.delete(elem);
6
+ }
7
+ return _difference;
8
+ }
9
+ export function symmetricDifference(a, b) {
10
+ const _difference = new Set(a);
11
+ for (const elem of b) {
12
+ if (_difference.has(elem)) {
13
+ _difference.delete(elem);
14
+ }
15
+ else {
16
+ _difference.add(elem);
17
+ }
18
+ }
19
+ return _difference;
20
+ }
21
+ export function setEquality(a, b) {
22
+ return symmetricDifference(a, b).size === 0;
23
+ }
24
+ export function intersection(a, b) {
25
+ const _intersection = new Set();
26
+ a.forEach((elem) => {
27
+ if (b.has(elem)) {
28
+ _intersection.add(elem);
29
+ }
30
+ });
31
+ return _intersection;
32
+ }
33
+ //# sourceMappingURL=sets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sets.js","sourceRoot":"","sources":["../src/sets.ts"],"names":[],"mappings":"AAAA,yHAAyH;AACzH,MAAM,UAAU,UAAU,CAAI,CAAS,EAAE,CAAS;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;QACrB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAI,CAAS,EAAE,CAAS;IACzD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,CAAS,EAAE,CAAS;IACjD,OAAO,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,CAAS,EAAE,CAAS;IAClD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAK,CAAC;IACnC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sets.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sets.test.d.ts","sourceRoot":"","sources":["../src/sets.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { expect } from 'chai';
2
+ import { difference, setEquality, symmetricDifference } from './sets.js';
3
+ describe('Set Operations', () => {
4
+ describe('difference', () => {
5
+ it('should return the difference of two sets', () => {
6
+ const setA = new Set([1, 2, 3, undefined]);
7
+ const setB = new Set([2, 3, 4]);
8
+ const result = difference(setA, setB);
9
+ expect(result).to.deep.equal(new Set([1, undefined]));
10
+ });
11
+ });
12
+ describe('symmetricDifference', () => {
13
+ it('should return the symmetric difference of two sets', () => {
14
+ const setA = new Set([1, 2, 3]);
15
+ const setB = new Set([2, 3, 4]);
16
+ const result = symmetricDifference(setA, setB);
17
+ expect(result).to.deep.equal(new Set([1, 4]));
18
+ });
19
+ });
20
+ describe('setEquality', () => {
21
+ it('should return true for equal sets', () => {
22
+ const setA = new Set([1, 2, 3]);
23
+ const setB = new Set([1, 2, 3]);
24
+ const result = setEquality(setA, setB);
25
+ expect(result).to.be.true;
26
+ });
27
+ it('should return false for non-equal sets', () => {
28
+ const setA = new Set([1, 2, 3]);
29
+ const setB = new Set([1, 2, 4]);
30
+ const result = setEquality(setA, setB);
31
+ expect(result).to.be.false;
32
+ });
33
+ });
34
+ });
35
+ //# sourceMappingURL=sets.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sets.test.js","sourceRoot":"","sources":["../src/sets.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEzE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ export declare function toTitleCase(str: string): string;
4
+ export declare function toUpperCamelCase(string: string): string;
5
+ export declare function sanitizeString(str: string): string;
6
+ export declare function trimToLength(value: string, maxLength: number): string;
7
+ export declare function streamToString(stream: NodeJS.ReadableStream): Promise<string>;
8
+ export declare function errorToString(error: any, maxLength?: number): string;
9
+ export declare const fromHexString: (hexstr: string) => Buffer;
10
+ export declare const toHexString: (buf: Buffer) => string;
11
+ //# sourceMappingURL=strings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":";;AAEA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,UAItC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,UAE9C;AAID,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,UAGzC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAM5D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,SAAM,UAOxD;AAED,eAAO,MAAM,aAAa,WAAY,MAAM,WACP,CAAC;AAEtC,eAAO,MAAM,WAAW,QAAS,MAAM,WAAkC,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { ensure0x, strip0x } from './addresses.js';
2
+ export function toTitleCase(str) {
3
+ return str.replace(/\w\S*/g, (txt) => {
4
+ return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
5
+ });
6
+ }
7
+ export function toUpperCamelCase(string) {
8
+ return string.charAt(0).toUpperCase() + string.slice(1);
9
+ }
10
+ // Only allows letters and numbers
11
+ const alphanumericRgex = /[^a-zA-Z0-9]/gi;
12
+ export function sanitizeString(str) {
13
+ if (!str || typeof str !== 'string')
14
+ return '';
15
+ return str.replaceAll(alphanumericRgex, '').toLowerCase();
16
+ }
17
+ export function trimToLength(value, maxLength) {
18
+ if (!value)
19
+ return '';
20
+ const trimmed = value.trim();
21
+ return trimmed.length > maxLength
22
+ ? trimmed.substring(0, maxLength) + '...'
23
+ : trimmed;
24
+ }
25
+ export function streamToString(stream) {
26
+ return new Promise((resolve, reject) => {
27
+ const chunks = [];
28
+ stream
29
+ .setEncoding('utf8')
30
+ .on('data', (chunk) => chunks.push(chunk))
31
+ .on('error', (err) => reject(err))
32
+ .on('end', () => resolve(String.prototype.concat(...chunks)));
33
+ });
34
+ }
35
+ export function errorToString(error, maxLength = 300) {
36
+ if (!error)
37
+ return 'Unknown Error';
38
+ if (typeof error === 'string')
39
+ return trimToLength(error, maxLength);
40
+ if (typeof error === 'number')
41
+ return `Error code: ${error}`;
42
+ const details = error.message || error.reason || error;
43
+ if (typeof details === 'string')
44
+ return trimToLength(details, maxLength);
45
+ return trimToLength(JSON.stringify(details), maxLength);
46
+ }
47
+ export const fromHexString = (hexstr) => Buffer.from(strip0x(hexstr), 'hex');
48
+ export const toHexString = (buf) => ensure0x(buf.toString('hex'));
49
+ //# sourceMappingURL=strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=strings.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.test.d.ts","sourceRoot":"","sources":["../src/strings.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import { expect } from 'chai';
2
+ import { Readable } from 'stream';
3
+ import { errorToString, fromHexString, sanitizeString, streamToString, toHexString, toTitleCase, trimToLength, } from './strings.js';
4
+ describe('String Utilities', () => {
5
+ it('should convert string to title case', () => {
6
+ expect(toTitleCase('hello world')).to.equal('Hello World');
7
+ expect(toTitleCase('HELLO WORLD')).to.equal('Hello World');
8
+ expect(toTitleCase('4ELLO WORLD')).to.equal('4ello World');
9
+ expect(toTitleCase('')).to.equal('');
10
+ });
11
+ it('should sanitize string by removing non-alphanumeric characters', () => {
12
+ expect(sanitizeString('Hello, World!')).to.equal('helloworld');
13
+ expect(sanitizeString('123-456')).to.equal('123456');
14
+ expect(sanitizeString('')).to.equal('');
15
+ });
16
+ it('should trim string to specified length', () => {
17
+ expect(trimToLength('Hello, World!', 5)).to.equal('Hello...');
18
+ expect(trimToLength('Short', 10)).to.equal('Short');
19
+ expect(trimToLength('', 10)).to.equal('');
20
+ });
21
+ it('should convert stream to string', async () => {
22
+ const stream = new Readable();
23
+ stream.push('Hello, ');
24
+ stream.push('World!');
25
+ stream.push(null);
26
+ const result = await streamToString(stream);
27
+ expect(result).to.equal('Hello, World!');
28
+ });
29
+ it('should convert error to string', () => {
30
+ expect(errorToString('Error message')).to.equal('Error message');
31
+ expect(errorToString({ message: 'Error object' })).to.equal('Error object');
32
+ expect(errorToString(404)).to.equal('Error code: 404');
33
+ expect(errorToString(null)).to.equal('Unknown Error');
34
+ });
35
+ it('should convert hex string to buffer and back', () => {
36
+ const hexString = '0x48656c6c6f';
37
+ const buffer = fromHexString(hexString);
38
+ expect(buffer.toString('utf8')).to.equal('Hello');
39
+ expect(toHexString(buffer)).to.equal(hexString);
40
+ });
41
+ });
42
+ //# sourceMappingURL=strings.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.test.js","sourceRoot":"","sources":["../src/strings.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function isNullish<T>(val: T): val is T extends null | undefined ? T : never;
2
+ export declare function isNumeric(value: string | number): boolean;
3
+ //# sourceMappingURL=typeof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeof.d.ts","sourceRoot":"","sources":["../src/typeof.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EACzB,GAAG,EAAE,CAAC,GACL,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,KAAK,CAE/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,WAE/C"}
package/dist/typeof.js ADDED
@@ -0,0 +1,7 @@
1
+ export function isNullish(val) {
2
+ return val === null || val === undefined;
3
+ }
4
+ export function isNumeric(value) {
5
+ return typeof value === 'number' || /^\d+$/.test(value);
6
+ }
7
+ //# sourceMappingURL=typeof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeof.js","sourceRoot":"","sources":["../src/typeof.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CACvB,GAAM;IAEN,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAsB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typeof.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeof.test.d.ts","sourceRoot":"","sources":["../src/typeof.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { expect } from 'chai';
2
+ import { isNullish, isNumeric } from './typeof.js';
3
+ describe('isNullish', () => {
4
+ it('should return true for null', () => {
5
+ expect(isNullish(null)).to.be.true;
6
+ });
7
+ it('should return true for undefined', () => {
8
+ expect(isNullish(undefined)).to.be.true;
9
+ });
10
+ it('should return false for non-nullish values', () => {
11
+ expect(isNullish('')).to.be.false;
12
+ expect(isNullish(0)).to.be.false;
13
+ expect(isNullish(false)).to.be.false;
14
+ });
15
+ });
16
+ describe('isNumeric', () => {
17
+ it('should return true for numeric strings', () => {
18
+ expect(isNumeric('123')).to.be.true;
19
+ });
20
+ it('should return true for numbers', () => {
21
+ expect(isNumeric(123)).to.be.true;
22
+ });
23
+ it('should return true for negative numbers', () => {
24
+ expect(isNumeric(-123)).to.be.true;
25
+ });
26
+ it('should return true for floating point numbers', () => {
27
+ expect(isNumeric(123.45)).to.be.true;
28
+ });
29
+ it('should return false for non-numeric strings', () => {
30
+ expect(isNumeric('abc')).to.be.false;
31
+ expect(isNumeric('123abc')).to.be.false;
32
+ });
33
+ });
34
+ //# sourceMappingURL=typeof.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeof.test.js","sourceRoot":"","sources":["../src/typeof.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACjC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACrC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,111 @@
1
+ import type { SignatureLike } from '@ethersproject/bytes';
2
+ import type { BigNumber, ethers } from 'ethers';
3
+ export declare enum ProtocolType {
4
+ Ethereum = "ethereum",
5
+ Sealevel = "sealevel",
6
+ Cosmos = "cosmos",
7
+ CosmosNative = "cosmosnative",
8
+ Starknet = "starknet",
9
+ Radix = "radix"
10
+ }
11
+ export type ProtocolTypeValue = `${ProtocolType}`;
12
+ export declare const ProtocolSmallestUnit: {
13
+ ethereum: string;
14
+ sealevel: string;
15
+ cosmos: string;
16
+ cosmosnative: string;
17
+ starknet: string;
18
+ radix: string;
19
+ };
20
+ /********* BASIC TYPES *********/
21
+ export type Domain = number;
22
+ export type EvmChainId = number;
23
+ export type ChainId = string | number;
24
+ export type Address = string;
25
+ export type AddressBytes32 = string;
26
+ export type ChainCaip2Id = `${string}:${string}`;
27
+ export type TokenCaip19Id = `${string}:${string}/${string}:${string}`;
28
+ export type HexString = string;
29
+ export type Numberish = number | string | bigint;
30
+ export type WithAddress<T> = T & {
31
+ address: Address;
32
+ };
33
+ export type MerkleProof = {
34
+ branch: ethers.utils.BytesLike[];
35
+ leaf: ethers.utils.BytesLike;
36
+ index: number;
37
+ };
38
+ /********* HYPERLANE CORE *********/
39
+ export type Announcement = {
40
+ mailbox_domain: Domain;
41
+ mailbox_address: Address;
42
+ validator: Address;
43
+ storage_location: string;
44
+ };
45
+ export type Checkpoint = {
46
+ root: string;
47
+ index: number;
48
+ mailbox_domain: Domain;
49
+ merkle_tree_hook_address: Address;
50
+ };
51
+ export type CheckpointWithId = {
52
+ checkpoint: Checkpoint;
53
+ message_id: HexString;
54
+ };
55
+ export { SignatureLike };
56
+ /**
57
+ * Shape of a checkpoint in S3 as published by the agent.
58
+ */
59
+ export type S3CheckpointWithId = {
60
+ value: CheckpointWithId;
61
+ signature: SignatureLike;
62
+ };
63
+ export type S3Announcement = {
64
+ value: Announcement;
65
+ signature: SignatureLike;
66
+ };
67
+ export type S3Checkpoint = {
68
+ value: Checkpoint;
69
+ signature: SignatureLike;
70
+ };
71
+ export type CallData = {
72
+ to: Address;
73
+ data: string;
74
+ value?: BigNumber;
75
+ };
76
+ export declare enum MessageStatus {
77
+ NONE = 0,
78
+ PROCESSED = 1
79
+ }
80
+ export type ParsedMessage = {
81
+ version: number;
82
+ nonce: number;
83
+ origin: number;
84
+ originChain?: string;
85
+ sender: string;
86
+ destination: number;
87
+ destinationChain?: string;
88
+ recipient: string;
89
+ body: string;
90
+ };
91
+ export type ParsedWarpRouteMessage = {
92
+ recipient: string;
93
+ amount: bigint;
94
+ };
95
+ export type ParsedLegacyMultisigIsmMetadata = {
96
+ checkpointRoot: string;
97
+ checkpointIndex: number;
98
+ originMailbox: string;
99
+ proof: ethers.utils.BytesLike[];
100
+ signatures: ethers.utils.BytesLike[];
101
+ validators: ethers.utils.BytesLike[];
102
+ };
103
+ export type Annotated<T> = T & {
104
+ annotation?: string;
105
+ };
106
+ export type ValidatorMetadata = {
107
+ git_sha: string;
108
+ rpcs?: string[];
109
+ allows_public_rpcs?: boolean;
110
+ };
111
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,23 @@
1
+ export var ProtocolType;
2
+ (function (ProtocolType) {
3
+ ProtocolType["Ethereum"] = "ethereum";
4
+ ProtocolType["Sealevel"] = "sealevel";
5
+ ProtocolType["Cosmos"] = "cosmos";
6
+ ProtocolType["CosmosNative"] = "cosmosnative";
7
+ ProtocolType["Starknet"] = "starknet";
8
+ ProtocolType["Radix"] = "radix";
9
+ })(ProtocolType || (ProtocolType = {}));
10
+ export const ProtocolSmallestUnit = {
11
+ [ProtocolType.Ethereum]: 'wei',
12
+ [ProtocolType.Sealevel]: 'lamports',
13
+ [ProtocolType.Cosmos]: 'uATOM',
14
+ [ProtocolType.CosmosNative]: 'uATOM',
15
+ [ProtocolType.Starknet]: 'fri',
16
+ [ProtocolType.Radix]: 'attos',
17
+ };
18
+ export var MessageStatus;
19
+ (function (MessageStatus) {
20
+ MessageStatus[MessageStatus["NONE"] = 0] = "NONE";
21
+ MessageStatus[MessageStatus["PROCESSED"] = 1] = "PROCESSED";
22
+ })(MessageStatus || (MessageStatus = {}));
23
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,6CAA6B,CAAA;IAC7B,qCAAqB,CAAA;IACrB,+BAAe,CAAA;AACjB,CAAC,EAPW,YAAY,KAAZ,YAAY,QAOvB;AAID,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC9B,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,UAAU;IACnC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO;IAC9B,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,OAAO;IACpC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC9B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,OAAO;CAC9B,CAAC;AAqEF,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,2DAAS,CAAA;AACX,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB"}
package/dist/url.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare function isUrl(value?: string | null): boolean;
2
+ export declare function isHttpsUrl(value?: string | null): boolean;
3
+ export declare function isRelativeUrl(value?: string | null, base?: string): boolean;
4
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,WAQ1C;AAED,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,WAQ/C;AAED,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAQ3E"}
package/dist/url.js ADDED
@@ -0,0 +1,34 @@
1
+ export function isUrl(value) {
2
+ try {
3
+ if (!value)
4
+ return false;
5
+ const url = new URL(value);
6
+ return !!url.hostname;
7
+ }
8
+ catch {
9
+ return false;
10
+ }
11
+ }
12
+ export function isHttpsUrl(value) {
13
+ try {
14
+ if (!value)
15
+ return false;
16
+ const url = new URL(value);
17
+ return url.protocol === 'https:';
18
+ }
19
+ catch {
20
+ return false;
21
+ }
22
+ }
23
+ export function isRelativeUrl(value, base) {
24
+ try {
25
+ if (!value || !value.startsWith('/'))
26
+ return false;
27
+ const url = new URL(value, base || 'https://hyperlane.xyz');
28
+ return !!url.pathname;
29
+ }
30
+ catch {
31
+ return false;
32
+ }
33
+ }
34
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../src/url.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,KAAK,CAAC,KAAqB;IACzC,IAAI,CAAC;QACH,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAqB;IAC9C,IAAI,CAAC;QACH,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAqB,EAAE,IAAa;IAChE,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,uBAAuB,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=url.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.test.d.ts","sourceRoot":"","sources":["../src/url.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { expect } from 'chai';
2
+ import { isHttpsUrl, isRelativeUrl, isUrl } from './url.js';
3
+ describe('URL Utilities', () => {
4
+ it('isUrl', () => {
5
+ expect(isUrl(undefined)).to.be.false;
6
+ expect(isUrl(null)).to.be.false;
7
+ expect(isUrl('')).to.be.false;
8
+ expect(isUrl('foobar')).to.be.false;
9
+ expect(isUrl('https://hyperlane.xyz')).to.be.true;
10
+ });
11
+ it('isHttpsUrl', () => {
12
+ expect(isHttpsUrl(undefined)).to.be.false;
13
+ expect(isHttpsUrl(null)).to.be.false;
14
+ expect(isHttpsUrl('')).to.be.false;
15
+ expect(isHttpsUrl('foobar')).to.be.false;
16
+ expect(isHttpsUrl('http://hyperlane.xyz')).to.be.false;
17
+ expect(isHttpsUrl('https://hyperlane.xyz')).to.be.true;
18
+ });
19
+ it('isRelativeUrl', () => {
20
+ expect(isRelativeUrl(undefined)).to.be.false;
21
+ expect(isRelativeUrl(null)).to.be.false;
22
+ expect(isRelativeUrl('')).to.be.false;
23
+ expect(isRelativeUrl('foobar')).to.be.false;
24
+ expect(isRelativeUrl('https://hyperlane.xyz')).to.be.false;
25
+ expect(isRelativeUrl('/foobar')).to.be.true;
26
+ expect(isRelativeUrl('/foo/bar', 'https://hyperlane.xyz')).to.be.true;
27
+ });
28
+ });
29
+ //# sourceMappingURL=url.test.js.map