@rosen-bridge/utils 0.1.0 → 0.3.0

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 (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/constants.d.ts +3 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/constants.js +3 -0
  5. package/dist/downloadRosenAssets.d.ts +13 -0
  6. package/dist/downloadRosenAssets.d.ts.map +1 -0
  7. package/dist/downloadRosenAssets.js +48 -0
  8. package/dist/downloadTssBinary.d.ts +13 -0
  9. package/dist/downloadTssBinary.d.ts.map +1 -0
  10. package/dist/downloadTssBinary.js +45 -0
  11. package/dist/error.d.ts +4 -0
  12. package/dist/error.d.ts.map +1 -0
  13. package/dist/error.js +4 -0
  14. package/dist/index.d.ts +4 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +4 -0
  17. package/dist/lib/constants.d.ts +0 -1
  18. package/dist/lib/constants.d.ts.map +1 -1
  19. package/dist/lib/constants.js +1 -2
  20. package/dist/lib/downloadRosenAssets.d.ts.map +1 -1
  21. package/dist/lib/downloadRosenAssets.js +5 -4
  22. package/dist/lib/downloadTssBinary.d.ts.map +1 -1
  23. package/dist/lib/downloadTssBinary.js +2 -2
  24. package/dist/lib/index.d.ts +1 -0
  25. package/dist/lib/index.d.ts.map +1 -1
  26. package/dist/lib/index.js +2 -1
  27. package/dist/lib/types/index.d.ts +1 -0
  28. package/dist/lib/types/index.d.ts.map +1 -1
  29. package/dist/lib/types/index.js +1 -1
  30. package/dist/lib/utils/github.d.ts +123 -392
  31. package/dist/lib/utils/github.d.ts.map +1 -1
  32. package/dist/lib/utils/github.js +42 -11
  33. package/dist/lib/utils/rosen.d.ts +5 -0
  34. package/dist/lib/utils/rosen.d.ts.map +1 -1
  35. package/dist/lib/utils/rosen.js +6 -1
  36. package/dist/tsconfig.build.tsbuildinfo +1 -1
  37. package/dist/types/index.d.ts +7 -0
  38. package/dist/types/index.d.ts.map +1 -0
  39. package/dist/types/index.js +2 -0
  40. package/dist/utils/github.d.ts +241 -0
  41. package/dist/utils/github.d.ts.map +1 -0
  42. package/dist/utils/github.js +113 -0
  43. package/dist/utils/rosen.d.ts +19 -0
  44. package/dist/utils/rosen.d.ts.map +1 -0
  45. package/dist/utils/rosen.js +19 -0
  46. package/lib/constants.ts +0 -1
  47. package/lib/downloadRosenAssets.ts +5 -3
  48. package/lib/downloadTssBinary.ts +61 -0
  49. package/lib/index.ts +1 -0
  50. package/lib/types/index.ts +2 -0
  51. package/lib/utils/github.ts +60 -10
  52. package/lib/utils/rosen.ts +7 -0
  53. package/package.json +7 -12
  54. package/tests/data/octokit.data.ts +88 -10
  55. package/tests/downloadRosenAssets.spec.ts +9 -9
  56. package/tests/downloadTssBinary.spec.ts +153 -0
  57. package/tests/mocks/octokit.mock.ts +4 -4
  58. package/tests/utils/github.spec.ts +173 -21
  59. package/tests/utils/rosen.spec.ts +39 -1
  60. package/tsconfig.build.json +4 -0
  61. package/tsconfig.build.tsbuildinfo +1 -0
  62. package/tsconfig.json +2 -2
  63. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,18 +1,19 @@
1
1
  import { Octokit } from 'octokit';
2
2
  import { isValidAssetName } from './rosen';
3
- import { CONTRACT_REPO_NAME, DEFAULT_RELEASES_FETCHING_PAGE_SIZE, ROSEN_BRIDGE_ORGANIZATION, } from '../constants';
3
+ import { DEFAULT_RELEASES_FETCHING_PAGE_SIZE, ROSEN_BRIDGE_ORGANIZATION, } from '../constants';
4
4
  /**
5
5
  * Fetch a page of releases from Github Api in each iteration until there are no
6
6
  * more releases.
7
+ * @param repoName
7
8
  * @param pageSize
8
9
  */
9
- async function* fetchReleasesPage(pageSize = DEFAULT_RELEASES_FETCHING_PAGE_SIZE) {
10
+ async function* fetchReleasesPage(repoName, pageSize = DEFAULT_RELEASES_FETCHING_PAGE_SIZE) {
10
11
  const octokit = new Octokit();
11
12
  let currentPage = 1;
12
13
  while (true) {
13
14
  const releasesPage = await octokit.rest.repos.listReleases({
14
15
  owner: ROSEN_BRIDGE_ORGANIZATION,
15
- repo: CONTRACT_REPO_NAME,
16
+ repo: repoName,
16
17
  per_page: pageSize,
17
18
  page: currentPage,
18
19
  });
@@ -28,10 +29,11 @@ async function* fetchReleasesPage(pageSize = DEFAULT_RELEASES_FETCHING_PAGE_SIZE
28
29
  /**
29
30
  * Find the last release matching the predicate. If all releases are iterated and
30
31
  * no matching release is found, return null.
32
+ * @param repoName
31
33
  * @param predicate
32
34
  */
33
- const findLastRelease = async (predicate = () => true) => {
34
- const releasesPageIterator = fetchReleasesPage();
35
+ const findLastRelease = async (repoName, predicate = () => true) => {
36
+ const releasesPageIterator = fetchReleasesPage(repoName);
35
37
  for await (const releasesPage of releasesPageIterator) {
36
38
  const foundRelease = releasesPage.find(predicate);
37
39
  if (foundRelease) {
@@ -42,13 +44,14 @@ const findLastRelease = async (predicate = () => true) => {
42
44
  };
43
45
  /**
44
46
  * get a GitHub release by its tag
47
+ * @param repoName
45
48
  * @param tag
46
49
  */
47
- const getReleaseByTag = async (tag) => {
50
+ const getReleaseByTag = async (repoName, tag) => {
48
51
  const octokit = new Octokit();
49
52
  const release = await octokit.rest.repos.getReleaseByTag({
50
53
  owner: ROSEN_BRIDGE_ORGANIZATION,
51
- repo: CONTRACT_REPO_NAME,
54
+ repo: repoName,
52
55
  tag,
53
56
  });
54
57
  return release.data;
@@ -66,17 +69,45 @@ const hasAssetForChainType = (chainType) => (release) => release.assets.map((ass
66
69
  * @param chainType
67
70
  */
68
71
  const isStableReleaseForChainType = (chainType) => (release) => !release.prerelease && hasAssetForChainType(chainType)(release);
72
+ /**
73
+ * Return a function which checks if tagPrefix is matched with release tag_name
74
+ * @param tagPrefix
75
+ */
76
+ const hasMatchedTagPrefix = (tagPrefix) => (release) => {
77
+ const regex = new RegExp(`^${tagPrefix}`);
78
+ return regex.test(release.tag_name);
79
+ };
80
+ /**
81
+ * Return a function which checks if a release is a stable (that is, non-prerelease),
82
+ * and tagPrefix is matched with release tag_name
83
+ * @param tagPrefix
84
+ */
85
+ const isStableReleaseForRegexTagType = (tagPrefix) => (release) => !release.prerelease && hasMatchedTagPrefix(tagPrefix)(release);
69
86
  /**
70
87
  * Find latest release (prerelease or non-prerelease) having some asset matching
71
88
  * a specific chain type
89
+ * @param repoName
72
90
  * @param chainType
73
91
  */
74
- const findLatestRelease = async (chainType) => findLastRelease(hasAssetForChainType(chainType));
92
+ const findLatestRelease = async (repoName, chainType) => findLastRelease(repoName, hasAssetForChainType(chainType));
75
93
  /**
76
94
  * Find latest stable (that is, non-prerelease) release having some asset matching
77
95
  * a specific chain type
96
+ * @param repoName
78
97
  * @param chainType
79
98
  */
80
- const findLatestStableRelease = async (chainType) => findLastRelease(isStableReleaseForChainType(chainType));
81
- export { fetchReleasesPage, findLastRelease, findLatestRelease, findLatestStableRelease, getReleaseByTag, hasAssetForChainType, isStableReleaseForChainType, };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dpdGh1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUzQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG1DQUFtQyxFQUNuQyx5QkFBeUIsR0FDMUIsTUFBTSxjQUFjLENBQUM7QUFJdEI7Ozs7R0FJRztBQUNILEtBQUssU0FBUyxDQUFDLENBQUMsaUJBQWlCLENBQy9CLFFBQVEsR0FBRyxtQ0FBbUM7SUFFOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUU5QixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFFcEIsT0FBTyxJQUFJLEVBQUU7UUFDWCxNQUFNLFlBQVksR0FBRyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUN6RCxLQUFLLEVBQUUseUJBQXlCO1lBQ2hDLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFLFdBQVc7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM1QixNQUFNLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDeEIsV0FBVyxJQUFJLENBQUMsQ0FBQztTQUNsQjthQUFNO1lBQ0wsT0FBTztTQUNSO0tBQ0Y7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sZUFBZSxHQUFHLEtBQUssRUFDM0IsWUFBaUQsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUMzRCxFQUFFO0lBQ0YsTUFBTSxvQkFBb0IsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO0lBRWpELElBQUksS0FBSyxFQUFFLE1BQU0sWUFBWSxJQUFJLG9CQUFvQixFQUFFO1FBQ3JELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbEQsSUFBSSxZQUFZLEVBQUU7WUFDaEIsT0FBTyxZQUFZLENBQUM7U0FDckI7S0FDRjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDOUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDdkQsS0FBSyxFQUFFLHlCQUF5QjtRQUNoQyxJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLEdBQUc7S0FDSixDQUFDLENBQUM7SUFFSCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFzQixFQUFFLEVBQUUsQ0FDN0UsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUU5RTs7OztHQUlHO0FBQ0gsTUFBTSwyQkFBMkIsR0FDL0IsQ0FBQyxTQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQXNCLEVBQUUsRUFBRSxDQUNoRCxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFcEU7Ozs7R0FJRztBQUNILE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsRUFBRSxDQUNwRCxlQUFlLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUVuRDs7OztHQUlHO0FBQ0gsTUFBTSx1QkFBdUIsR0FBRyxLQUFLLEVBQUUsU0FBaUIsRUFBRSxFQUFFLENBQzFELGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBRTFELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQiwyQkFBMkIsR0FDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9jdG9raXQgfSBmcm9tICdvY3Rva2l0JztcblxuaW1wb3J0IHsgaXNWYWxpZEFzc2V0TmFtZSB9IGZyb20gJy4vcm9zZW4nO1xuXG5pbXBvcnQge1xuICBDT05UUkFDVF9SRVBPX05BTUUsXG4gIERFRkFVTFRfUkVMRUFTRVNfRkVUQ0hJTkdfUEFHRV9TSVpFLFxuICBST1NFTl9CUklER0VfT1JHQU5JWkFUSU9OLFxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5pbXBvcnQgeyBHaXRodWJSZWxlYXNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIEZldGNoIGEgcGFnZSBvZiByZWxlYXNlcyBmcm9tIEdpdGh1YiBBcGkgaW4gZWFjaCBpdGVyYXRpb24gdW50aWwgdGhlcmUgYXJlIG5vXG4gKiBtb3JlIHJlbGVhc2VzLlxuICogQHBhcmFtIHBhZ2VTaXplXG4gKi9cbmFzeW5jIGZ1bmN0aW9uKiBmZXRjaFJlbGVhc2VzUGFnZShcbiAgcGFnZVNpemUgPSBERUZBVUxUX1JFTEVBU0VTX0ZFVENISU5HX1BBR0VfU0laRVxuKSB7XG4gIGNvbnN0IG9jdG9raXQgPSBuZXcgT2N0b2tpdCgpO1xuXG4gIGxldCBjdXJyZW50UGFnZSA9IDE7XG5cbiAgd2hpbGUgKHRydWUpIHtcbiAgICBjb25zdCByZWxlYXNlc1BhZ2UgPSBhd2FpdCBvY3Rva2l0LnJlc3QucmVwb3MubGlzdFJlbGVhc2VzKHtcbiAgICAgIG93bmVyOiBST1NFTl9CUklER0VfT1JHQU5JWkFUSU9OLFxuICAgICAgcmVwbzogQ09OVFJBQ1RfUkVQT19OQU1FLFxuICAgICAgcGVyX3BhZ2U6IHBhZ2VTaXplLFxuICAgICAgcGFnZTogY3VycmVudFBhZ2UsXG4gICAgfSk7XG5cbiAgICBpZiAocmVsZWFzZXNQYWdlLmRhdGEubGVuZ3RoKSB7XG4gICAgICB5aWVsZCByZWxlYXNlc1BhZ2UuZGF0YTtcbiAgICAgIGN1cnJlbnRQYWdlICs9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBGaW5kIHRoZSBsYXN0IHJlbGVhc2UgbWF0Y2hpbmcgdGhlIHByZWRpY2F0ZS4gSWYgYWxsIHJlbGVhc2VzIGFyZSBpdGVyYXRlZCBhbmRcbiAqIG5vIG1hdGNoaW5nIHJlbGVhc2UgaXMgZm91bmQsIHJldHVybiBudWxsLlxuICogQHBhcmFtIHByZWRpY2F0ZVxuICovXG5jb25zdCBmaW5kTGFzdFJlbGVhc2UgPSBhc3luYyAoXG4gIHByZWRpY2F0ZTogKHJlbGVhc2U6IEdpdGh1YlJlbGVhc2UpID0+IGJvb2xlYW4gPSAoKSA9PiB0cnVlXG4pID0+IHtcbiAgY29uc3QgcmVsZWFzZXNQYWdlSXRlcmF0b3IgPSBmZXRjaFJlbGVhc2VzUGFnZSgpO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcmVsZWFzZXNQYWdlIG9mIHJlbGVhc2VzUGFnZUl0ZXJhdG9yKSB7XG4gICAgY29uc3QgZm91bmRSZWxlYXNlID0gcmVsZWFzZXNQYWdlLmZpbmQocHJlZGljYXRlKTtcblxuICAgIGlmIChmb3VuZFJlbGVhc2UpIHtcbiAgICAgIHJldHVybiBmb3VuZFJlbGVhc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufTtcblxuLyoqXG4gKiBnZXQgYSBHaXRIdWIgcmVsZWFzZSBieSBpdHMgdGFnXG4gKiBAcGFyYW0gdGFnXG4gKi9cbmNvbnN0IGdldFJlbGVhc2VCeVRhZyA9IGFzeW5jICh0YWc6IHN0cmluZykgPT4ge1xuICBjb25zdCBvY3Rva2l0ID0gbmV3IE9jdG9raXQoKTtcbiAgY29uc3QgcmVsZWFzZSA9IGF3YWl0IG9jdG9raXQucmVzdC5yZXBvcy5nZXRSZWxlYXNlQnlUYWcoe1xuICAgIG93bmVyOiBST1NFTl9CUklER0VfT1JHQU5JWkFUSU9OLFxuICAgIHJlcG86IENPTlRSQUNUX1JFUE9fTkFNRSxcbiAgICB0YWcsXG4gIH0pO1xuXG4gIHJldHVybiByZWxlYXNlLmRhdGE7XG59O1xuXG4vKipcbiAqIFJldHVybiBhIGZ1bmN0aW9uIHdoaWNoIGNoZWNrcyBpZiBhIHJlbGVhc2UgaGFzIGF0IGxlYXN0IG9uZSBhc3NldCBmb3IgYVxuICogc3BlY2lmaWMgY2hhaW4gdHlwZVxuICogQHBhcmFtIGNoYWluVHlwZVxuICogQHBhcmFtIHJlbGVhc2VcbiAqL1xuY29uc3QgaGFzQXNzZXRGb3JDaGFpblR5cGUgPSAoY2hhaW5UeXBlOiBzdHJpbmcpID0+IChyZWxlYXNlOiBHaXRodWJSZWxlYXNlKSA9PlxuICByZWxlYXNlLmFzc2V0cy5tYXAoKGFzc2V0KSA9PiBhc3NldC5uYW1lKS5zb21lKGlzVmFsaWRBc3NldE5hbWUoY2hhaW5UeXBlKSk7XG5cbi8qKlxuICogUmV0dXJuIGEgZnVuY3Rpb24gd2hpY2ggY2hlY2tzIGlmIGEgcmVsZWFzZSBpcyBhIHN0YWJsZSAodGhhdCBpcywgbm9uLXByZXJlbGVhc2UpXG4gKiBhbmQgaGFzIHNvbWUgYXNzZXQgbWF0Y2hpbmcgYSBzcGVjaWZpYyBjaGFpbiB0eXBlXG4gKiBAcGFyYW0gY2hhaW5UeXBlXG4gKi9cbmNvbnN0IGlzU3RhYmxlUmVsZWFzZUZvckNoYWluVHlwZSA9XG4gIChjaGFpblR5cGU6IHN0cmluZykgPT4gKHJlbGVhc2U6IEdpdGh1YlJlbGVhc2UpID0+XG4gICAgIXJlbGVhc2UucHJlcmVsZWFzZSAmJiBoYXNBc3NldEZvckNoYWluVHlwZShjaGFpblR5cGUpKHJlbGVhc2UpO1xuXG4vKipcbiAqIEZpbmQgbGF0ZXN0IHJlbGVhc2UgKHByZXJlbGVhc2Ugb3Igbm9uLXByZXJlbGVhc2UpIGhhdmluZyBzb21lIGFzc2V0IG1hdGNoaW5nXG4gKiBhIHNwZWNpZmljIGNoYWluIHR5cGVcbiAqIEBwYXJhbSBjaGFpblR5cGVcbiAqL1xuY29uc3QgZmluZExhdGVzdFJlbGVhc2UgPSBhc3luYyAoY2hhaW5UeXBlOiBzdHJpbmcpID0+XG4gIGZpbmRMYXN0UmVsZWFzZShoYXNBc3NldEZvckNoYWluVHlwZShjaGFpblR5cGUpKTtcblxuLyoqXG4gKiBGaW5kIGxhdGVzdCBzdGFibGUgKHRoYXQgaXMsIG5vbi1wcmVyZWxlYXNlKSByZWxlYXNlIGhhdmluZyBzb21lIGFzc2V0IG1hdGNoaW5nXG4gKiBhIHNwZWNpZmljIGNoYWluIHR5cGVcbiAqIEBwYXJhbSBjaGFpblR5cGVcbiAqL1xuY29uc3QgZmluZExhdGVzdFN0YWJsZVJlbGVhc2UgPSBhc3luYyAoY2hhaW5UeXBlOiBzdHJpbmcpID0+XG4gIGZpbmRMYXN0UmVsZWFzZShpc1N0YWJsZVJlbGVhc2VGb3JDaGFpblR5cGUoY2hhaW5UeXBlKSk7XG5cbmV4cG9ydCB7XG4gIGZldGNoUmVsZWFzZXNQYWdlLFxuICBmaW5kTGFzdFJlbGVhc2UsXG4gIGZpbmRMYXRlc3RSZWxlYXNlLFxuICBmaW5kTGF0ZXN0U3RhYmxlUmVsZWFzZSxcbiAgZ2V0UmVsZWFzZUJ5VGFnLFxuICBoYXNBc3NldEZvckNoYWluVHlwZSxcbiAgaXNTdGFibGVSZWxlYXNlRm9yQ2hhaW5UeXBlLFxufTtcbiJdfQ==
99
+ const findLatestStableRelease = async (repoName, chainType) => findLastRelease(repoName, isStableReleaseForChainType(chainType));
100
+ /**
101
+ * Find the latest stable (that is, non-prerelease) release that tagPrefix is matched with release tag_name
102
+ * @param repoName
103
+ * @param tagPrefix
104
+ */
105
+ const findLatestStableReleaseByPrefixTag = async (repoName, tagPrefix) => findLastRelease(repoName, isStableReleaseForRegexTagType(tagPrefix));
106
+ /**
107
+ * Find the latest release that tagPrefix is matched with release tag_name
108
+ * @param repoName
109
+ * @param tagPrefix
110
+ */
111
+ const findLatestReleaseByPrefixTag = async (repoName, tagPrefix) => findLastRelease(repoName, hasMatchedTagPrefix(tagPrefix));
112
+ export { fetchReleasesPage, findLastRelease, findLatestRelease, findLatestStableRelease, findLatestStableReleaseByPrefixTag, findLatestReleaseByPrefixTag, getReleaseByTag, hasAssetForChainType, isStableReleaseForChainType, isStableReleaseForRegexTagType, hasMatchedTagPrefix, };
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dpdGh1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUUzQyxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLHlCQUF5QixHQUMxQixNQUFNLGNBQWMsQ0FBQztBQUl0Qjs7Ozs7R0FLRztBQUNILEtBQUssU0FBUyxDQUFDLENBQUMsaUJBQWlCLENBQy9CLFFBQXVCLEVBQ3ZCLFFBQVEsR0FBRyxtQ0FBbUM7SUFFOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUU5QixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFFcEIsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNaLE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBQ3pELEtBQUssRUFBRSx5QkFBeUI7WUFDaEMsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsV0FBVztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsTUFBTSxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3hCLFdBQVcsSUFBSSxDQUFDLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQzNCLFFBQXVCLEVBQ3ZCLFlBQWlELEdBQUcsRUFBRSxDQUFDLElBQUksRUFDM0QsRUFBRTtJQUNGLE1BQU0sb0JBQW9CLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFD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aUIsRUFDakIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsa0NBQWtDLEVBQ2xDLDRCQUE0QixFQUM1QixlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQiw4QkFBOEIsRUFDOUIsbUJBQW1CLEdBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPY3Rva2l0IH0gZnJvbSAnb2N0b2tpdCc7XG5cbmltcG9ydCB7IGlzVmFsaWRBc3NldE5hbWUgfSBmcm9tICcuL3Jvc2VuJztcblxuaW1wb3J0IHtcbiAgREVGQVVMVF9SRUxFQVNFU19GRVRDSElOR19QQUdFX1NJWkUsXG4gIFJPU0VOX0JSSURHRV9PUkdBTklaQVRJT04sXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7IEdpdGh1YlJlbGVhc2UsIFN1cHBvcnRlZFJlcG8gfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogRmV0Y2ggYSBwYWdlIG9mIHJlbGVhc2VzIGZyb20gR2l0aHViIEFwaSBpbiBlYWNoIGl0ZXJhdGlvbiB1bnRpbCB0aGVyZSBhcmUgbm9cbiAqIG1vcmUgcmVsZWFzZXMuXG4gKiBAcGFyYW0gcmVwb05hbWVcbiAqIEBwYXJhbSBwYWdlU2l6ZVxuICovXG5hc3luYyBmdW5jdGlvbiogZmV0Y2hSZWxlYXNlc1BhZ2UoXG4gIHJlcG9OYW1lOiBTdXBwb3J0ZWRSZXBvLFxuICBwYWdlU2l6ZSA9IERFRkFVTFRfUkVMRUFTRVNfRkVUQ0hJTkdfUEFHRV9TSVpFXG4pIHtcbiAgY29uc3Qgb2N0b2tpdCA9IG5ldyBPY3Rva2l0KCk7XG5cbiAgbGV0IGN1cnJlbnRQYWdlID0gMTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IHJlbGVhc2VzUGFnZSA9IGF3YWl0IG9jdG9raXQucmVzdC5yZXBvcy5saXN0UmVsZWFzZXMoe1xuICAgICAgb3duZXI6IFJPU0VOX0JSSURHRV9PUkdBTklaQVRJT04sXG4gICAgICByZXBvOiByZXBvTmFtZSxcbiAgICAgIHBlcl9wYWdlOiBwYWdlU2l6ZSxcbiAgICAgIHBhZ2U6IGN1cnJlbnRQYWdlLFxuICAgIH0pO1xuXG4gICAgaWYgKHJlbGVhc2VzUGFnZS5kYXRhLmxlbmd0aCkge1xuICAgICAgeWllbGQgcmVsZWFzZXNQYWdlLmRhdGE7XG4gICAgICBjdXJyZW50UGFnZSArPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRmluZCB0aGUgbGFzdCByZWxlYXNlIG1hdGNoaW5nIHRoZSBwcmVkaWNhdGUuIElmIGFsbCByZWxlYXNlcyBhcmUgaXRlcmF0ZWQgYW5kXG4gKiBubyBtYXRjaGluZyByZWxlYXNlIGlzIGZvdW5kLCByZXR1cm4gbnVsbC5cbiAqIEBwYXJhbSByZXBvTmFtZVxuICogQHBhcmFtIHByZWRpY2F0ZVxuICovXG5jb25zdCBmaW5kTGFzdFJlbGVhc2UgPSBhc3luYyAoXG4gIHJlcG9OYW1lOiBTdXBwb3J0ZWRSZXBvLFxuICBwcmVkaWNhdGU6IChyZWxlYXNlOiBHaXRodWJSZWxlYXNlKSA9PiBib29sZWFuID0gKCkgPT4gdHJ1ZVxuKSA9PiB7XG4gIGNvbnN0IHJlbGVhc2VzUGFnZUl0ZXJhdG9yID0gZmV0Y2hSZWxlYXNlc1BhZ2UocmVwb05hbWUpO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcmVsZWFzZXNQYWdlIG9mIHJlbGVhc2VzUGFnZUl0ZXJhdG9yKSB7XG4gICAgY29uc3QgZm91bmRSZWxlYXNlID0gcmVsZWFzZXNQYWdlLmZpbmQocHJlZGljYXRlKTtcblxuICAgIGlmIChmb3VuZFJlbGVhc2UpIHtcbiAgICAgIHJldHVybiBmb3VuZFJlbGVhc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufTtcblxuLyoqXG4gKiBnZXQgYSBHaXRIdWIgcmVsZWFzZSBieSBpdHMgdGFnXG4gKiBAcGFyYW0gcmVwb05hbWVcbiAqIEBwYXJhbSB0YWdcbiAqL1xuY29uc3QgZ2V0UmVsZWFzZUJ5VGFnID0gYXN5bmMgKHJlcG9OYW1lOiBTdXBwb3J0ZWRSZXBvLCB0YWc6IHN0cmluZykgPT4ge1xuICBjb25zdCBvY3Rva2l0ID0gbmV3IE9jdG9raXQoKTtcbiAgY29uc3QgcmVsZWFzZSA9IGF3YWl0IG9jdG9raXQucmVzdC5yZXBvcy5nZXRSZWxlYXNlQnlUYWcoe1xuICAgIG93bmVyOiBST1NFTl9CUklER0VfT1JHQU5JWkFUSU9OLFxuICAgIHJlcG86IHJlcG9OYW1lLFxuICAgIHRhZyxcbiAgfSk7XG5cbiAgcmV0dXJuIHJlbGVhc2UuZGF0YTtcbn07XG5cbi8qKlxuICogUmV0dXJuIGEgZnVuY3Rpb24gd2hpY2ggY2hlY2tzIGlmIGEgcmVsZWFzZSBoYXMgYXQgbGVhc3Qgb25lIGFzc2V0IGZvciBhXG4gKiBzcGVjaWZpYyBjaGFpbiB0eXBlXG4gKiBAcGFyYW0gY2hhaW5UeXBlXG4gKiBAcGFyYW0gcmVsZWFzZVxuICovXG5jb25zdCBoYXNBc3NldEZvckNoYWluVHlwZSA9IChjaGFpblR5cGU6IHN0cmluZykgPT4gKHJlbGVhc2U6IEdpdGh1YlJlbGVhc2UpID0+XG4gIHJlbGVhc2UuYXNzZXRzLm1hcCgoYXNzZXQpID0+IGFzc2V0Lm5hbWUpLnNvbWUoaXNWYWxpZEFzc2V0TmFtZShjaGFpblR5cGUpKTtcblxuLyoqXG4gKiBSZXR1cm4gYSBmdW5jdGlvbiB3aGljaCBjaGVja3MgaWYgYSByZWxlYXNlIGlzIGEgc3RhYmxlICh0aGF0IGlzLCBub24tcHJlcmVsZWFzZSlcbiAqIGFuZCBoYXMgc29tZSBhc3NldCBtYXRjaGluZyBhIHNwZWNpZmljIGNoYWluIHR5cGVcbiAqIEBwYXJhbSBjaGFpblR5cGVcbiAqL1xuY29uc3QgaXNTdGFibGVSZWxlYXNlRm9yQ2hhaW5UeXBlID1cbiAgKGNoYWluVHlwZTogc3RyaW5nKSA9PiAocmVsZWFzZTogR2l0aHViUmVsZWFzZSkgPT5cbiAgICAhcmVsZWFzZS5wcmVyZWxlYXNlICYmIGhhc0Fzc2V0Rm9yQ2hhaW5UeXBlKGNoYWluVHlwZSkocmVsZWFzZSk7XG5cbi8qKlxuICogUmV0dXJuIGEgZnVuY3Rpb24gd2hpY2ggY2hlY2tzIGlmIHRhZ1ByZWZpeCBpcyBtYXRjaGVkIHdpdGggcmVsZWFzZSB0YWdfbmFtZVxuICogQHBhcmFtIHRhZ1ByZWZpeFxuICovXG5jb25zdCBoYXNNYXRjaGVkVGFnUHJlZml4ID0gKHRhZ1ByZWZpeDogc3RyaW5nKSA9PiAocmVsZWFzZTogR2l0aHViUmVsZWFzZSkgPT4ge1xuICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYF4ke3RhZ1ByZWZpeH1gKTtcbiAgcmV0dXJuIHJlZ2V4LnRlc3QocmVsZWFzZS50YWdfbmFtZSk7XG59O1xuXG4vKipcbiAqIFJldHVybiBhIGZ1bmN0aW9uIHdoaWNoIGNoZWNrcyBpZiBhIHJlbGVhc2UgaXMgYSBzdGFibGUgKHRoYXQgaXMsIG5vbi1wcmVyZWxlYXNlKSxcbiAqIGFuZCB0YWdQcmVmaXggaXMgbWF0Y2hlZCB3aXRoIHJlbGVhc2UgdGFnX25hbWVcbiAqIEBwYXJhbSB0YWdQcmVmaXhcbiAqL1xuY29uc3QgaXNTdGFibGVSZWxlYXNlRm9yUmVnZXhUYWdUeXBlID1cbiAgKHRhZ1ByZWZpeDogc3RyaW5nKSA9PiAocmVsZWFzZTogR2l0aHViUmVsZWFzZSkgPT5cbiAgICAhcmVsZWFzZS5wcmVyZWxlYXNlICYmIGhhc01hdGNoZWRUYWdQcmVmaXgodGFnUHJlZml4KShyZWxlYXNlKTtcblxuLyoqXG4gKiBGaW5kIGxhdGVzdCByZWxlYXNlIChwcmVyZWxlYXNlIG9yIG5vbi1wcmVyZWxlYXNlKSBoYXZpbmcgc29tZSBhc3NldCBtYXRjaGluZ1xuICogYSBzcGVjaWZpYyBjaGFpbiB0eXBlXG4gKiBAcGFyYW0gcmVwb05hbWVcbiAqIEBwYXJhbSBjaGFpblR5cGVcbiAqL1xuY29uc3QgZmluZExhdGVzdFJlbGVhc2UgPSBhc3luYyAocmVwb05hbWU6IFN1cHBvcnRlZFJlcG8sIGNoYWluVHlwZTogc3RyaW5nKSA9PlxuICBmaW5kTGFzdFJlbGVhc2UocmVwb05hbWUsIGhhc0Fzc2V0Rm9yQ2hhaW5UeXBlKGNoYWluVHlwZSkpO1xuXG4vKipcbiAqIEZpbmQgbGF0ZXN0IHN0YWJsZSAodGhhdCBpcywgbm9uLXByZXJlbGVhc2UpIHJlbGVhc2UgaGF2aW5nIHNvbWUgYXNzZXQgbWF0Y2hpbmdcbiAqIGEgc3BlY2lmaWMgY2hhaW4gdHlwZVxuICogQHBhcmFtIHJlcG9OYW1lXG4gKiBAcGFyYW0gY2hhaW5UeXBlXG4gKi9cbmNvbnN0IGZpbmRMYXRlc3RTdGFibGVSZWxlYXNlID0gYXN5bmMgKFxuICByZXBvTmFtZTogU3VwcG9ydGVkUmVwbyxcbiAgY2hhaW5UeXBlOiBzdHJpbmdcbikgPT4gZmluZExhc3RSZWxlYXNlKHJlcG9OYW1lLCBpc1N0YWJsZVJlbGVhc2VGb3JDaGFpblR5cGUoY2hhaW5UeXBlKSk7XG5cbi8qKlxuICogRmluZCB0aGUgbGF0ZXN0IHN0YWJsZSAodGhhdCBpcywgbm9uLXByZXJlbGVhc2UpIHJlbGVhc2UgdGhhdCB0YWdQcmVmaXggaXMgbWF0Y2hlZCB3aXRoIHJlbGVhc2UgdGFnX25hbWVcbiAqIEBwYXJhbSByZXBvTmFtZVxuICogQHBhcmFtIHRhZ1ByZWZpeFxuICovXG5jb25zdCBmaW5kTGF0ZXN0U3RhYmxlUmVsZWFzZUJ5UHJlZml4VGFnID0gYXN5bmMgKFxuICByZXBvTmFtZTogU3VwcG9ydGVkUmVwbyxcbiAgdGFnUHJlZml4OiBzdHJpbmdcbikgPT4gZmluZExhc3RSZWxlYXNlKHJlcG9OYW1lLCBpc1N0YWJsZVJlbGVhc2VGb3JSZWdleFRhZ1R5cGUodGFnUHJlZml4KSk7XG5cbi8qKlxuICogRmluZCB0aGUgbGF0ZXN0IHJlbGVhc2UgdGhhdCB0YWdQcmVmaXggaXMgbWF0Y2hlZCB3aXRoIHJlbGVhc2UgdGFnX25hbWVcbiAqIEBwYXJhbSByZXBvTmFtZVxuICogQHBhcmFtIHRhZ1ByZWZpeFxuICovXG5jb25zdCBmaW5kTGF0ZXN0UmVsZWFzZUJ5UHJlZml4VGFnID0gYXN5bmMgKFxuICByZXBvTmFtZTogU3VwcG9ydGVkUmVwbyxcbiAgdGFnUHJlZml4OiBzdHJpbmdcbikgPT4gZmluZExhc3RSZWxlYXNlKHJlcG9OYW1lLCBoYXNNYXRjaGVkVGFnUHJlZml4KHRhZ1ByZWZpeCkpO1xuXG5leHBvcnQge1xuICBmZXRjaFJlbGVhc2VzUGFnZSxcbiAgZmluZExhc3RSZWxlYXNlLFxuICBmaW5kTGF0ZXN0UmVsZWFzZSxcbiAgZmluZExhdGVzdFN0YWJsZVJlbGVhc2UsXG4gIGZpbmRMYXRlc3RTdGFibGVSZWxlYXNlQnlQcmVmaXhUYWcsXG4gIGZpbmRMYXRlc3RSZWxlYXNlQnlQcmVmaXhUYWcsXG4gIGdldFJlbGVhc2VCeVRhZyxcbiAgaGFzQXNzZXRGb3JDaGFpblR5cGUsXG4gIGlzU3RhYmxlUmVsZWFzZUZvckNoYWluVHlwZSxcbiAgaXNTdGFibGVSZWxlYXNlRm9yUmVnZXhUYWdUeXBlLFxuICBoYXNNYXRjaGVkVGFnUHJlZml4LFxufTtcbiJdfQ==
@@ -4,6 +4,11 @@
4
4
  * @param chainType
5
5
  */
6
6
  export declare const isValidAssetName: (chainType: string) => (assetName: string) => boolean;
7
+ /**
8
+ * Check if an OS name is a valid supported tss OS
9
+ * @param OSName
10
+ */
11
+ export declare const isValidOS: (OSName: string) => (releaseAssetName: string) => boolean;
7
12
  /**
8
13
  * Remove chain type and tag from the asset name and optionally replaces them
9
14
  * with a suffix
@@ -1 +1 @@
1
- {"version":3,"file":"rosen.d.ts","sourceRoot":"","sources":["../../../lib/utils/rosen.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,cAAe,MAAM,iBAAiB,MAAM,YACI,CAAC;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,cACjB,MAAM,sBACG,MAAM,WAKzB,CAAC"}
1
+ {"version":3,"file":"rosen.d.ts","sourceRoot":"","sources":["../../../lib/utils/rosen.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM,MAAM,WAAW,MAAM,YACI,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,MAAM,kBAAkB,MAAM,YACJ,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC5B,WAAW,MAAM,EACjB,oBAAoB,MAAM,WAKzB,CAAC"}
@@ -4,6 +4,11 @@
4
4
  * @param chainType
5
5
  */
6
6
  export const isValidAssetName = (chainType) => (assetName) => new RegExp(`(contracts-.+|tokensMap)-${chainType}-.+.json`).test(assetName);
7
+ /**
8
+ * Check if an OS name is a valid supported tss OS
9
+ * @param OSName
10
+ */
11
+ export const isValidOS = (OSName) => (releaseAssetName) => new RegExp(`(rosenTss-${OSName}-.+).zip`).test(releaseAssetName);
7
12
  /**
8
13
  * Remove chain type and tag from the asset name and optionally replaces them
9
14
  * with a suffix
@@ -11,4 +16,4 @@ export const isValidAssetName = (chainType) => (assetName) => new RegExp(`(contr
11
16
  * @param alternativeSuffix a suffix which will be added before `.json` (if provided)
12
17
  */
13
18
  export const truncateAssetName = (assetName, alternativeSuffix) => assetName.replace(/(contracts-.+?|tokensMap)-.+.json/, alternativeSuffix ? `$1-${alternativeSuffix}.json` : '$1.json');
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9zZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvcm9zZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUUsQ0FDM0UsSUFBSSxNQUFNLENBQUMsNEJBQTRCLFNBQVMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTlFOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FDL0IsU0FBaUIsRUFDakIsaUJBQTBCLEVBQzFCLEVBQUUsQ0FDRixTQUFTLENBQUMsT0FBTyxDQUNmLG1DQUFtQyxFQUNuQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxpQkFBaUIsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENoZWNrIGlmIGFuIGFzc2V0IG5hbWUgaXMgYSB2YWxpZCBSb3NlbiBhc3NldCBuYW1lIGFuZCBtYXRjaGVzIGEgc3BlY2lmaWNcbiAqIGNoYWluIHR5cGVcbiAqIEBwYXJhbSBjaGFpblR5cGVcbiAqL1xuZXhwb3J0IGNvbnN0IGlzVmFsaWRBc3NldE5hbWUgPSAoY2hhaW5UeXBlOiBzdHJpbmcpID0+IChhc3NldE5hbWU6IHN0cmluZykgPT5cbiAgbmV3IFJlZ0V4cChgKGNvbnRyYWN0cy0uK3x0b2tlbnNNYXApLSR7Y2hhaW5UeXBlfS0uKy5qc29uYCkudGVzdChhc3NldE5hbWUpO1xuXG4vKipcbiAqIFJlbW92ZSBjaGFpbiB0eXBlIGFuZCB0YWcgZnJvbSB0aGUgYXNzZXQgbmFtZSBhbmQgb3B0aW9uYWxseSByZXBsYWNlcyB0aGVtXG4gKiB3aXRoIGEgc3VmZml4XG4gKiBAcGFyYW0gYXNzZXROYW1lXG4gKiBAcGFyYW0gYWx0ZXJuYXRpdmVTdWZmaXggYSBzdWZmaXggd2hpY2ggd2lsbCBiZSBhZGRlZCBiZWZvcmUgYC5qc29uYCAoaWYgcHJvdmlkZWQpXG4gKi9cbmV4cG9ydCBjb25zdCB0cnVuY2F0ZUFzc2V0TmFtZSA9IChcbiAgYXNzZXROYW1lOiBzdHJpbmcsXG4gIGFsdGVybmF0aXZlU3VmZml4Pzogc3RyaW5nXG4pID0+XG4gIGFzc2V0TmFtZS5yZXBsYWNlKFxuICAgIC8oY29udHJhY3RzLS4rP3x0b2tlbnNNYXApLS4rLmpzb24vLFxuICAgIGFsdGVybmF0aXZlU3VmZml4ID8gYCQxLSR7YWx0ZXJuYXRpdmVTdWZmaXh9Lmpzb25gIDogJyQxLmpzb24nXG4gICk7XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9zZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvcm9zZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUUsQ0FDM0UsSUFBSSxNQUFNLENBQUMsNEJBQTRCLFNBQVMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTlFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxnQkFBd0IsRUFBRSxFQUFFLENBQ3hFLElBQUksTUFBTSxDQUFDLGFBQWEsTUFBTSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUVuRTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLFNBQWlCLEVBQ2pCLGlCQUEwQixFQUMxQixFQUFFLENBQ0YsU0FBUyxDQUFDLE9BQU8sQ0FDZixtQ0FBbUMsRUFDbkMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0saUJBQWlCLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDaGVjayBpZiBhbiBhc3NldCBuYW1lIGlzIGEgdmFsaWQgUm9zZW4gYXNzZXQgbmFtZSBhbmQgbWF0Y2hlcyBhIHNwZWNpZmljXG4gKiBjaGFpbiB0eXBlXG4gKiBAcGFyYW0gY2hhaW5UeXBlXG4gKi9cbmV4cG9ydCBjb25zdCBpc1ZhbGlkQXNzZXROYW1lID0gKGNoYWluVHlwZTogc3RyaW5nKSA9PiAoYXNzZXROYW1lOiBzdHJpbmcpID0+XG4gIG5ldyBSZWdFeHAoYChjb250cmFjdHMtLit8dG9rZW5zTWFwKS0ke2NoYWluVHlwZX0tLisuanNvbmApLnRlc3QoYXNzZXROYW1lKTtcblxuLyoqXG4gKiBDaGVjayBpZiBhbiBPUyBuYW1lIGlzIGEgdmFsaWQgc3VwcG9ydGVkIHRzcyBPU1xuICogQHBhcmFtIE9TTmFtZVxuICovXG5leHBvcnQgY29uc3QgaXNWYWxpZE9TID0gKE9TTmFtZTogc3RyaW5nKSA9PiAocmVsZWFzZUFzc2V0TmFtZTogc3RyaW5nKSA9PlxuICBuZXcgUmVnRXhwKGAocm9zZW5Uc3MtJHtPU05hbWV9LS4rKS56aXBgKS50ZXN0KHJlbGVhc2VBc3NldE5hbWUpO1xuXG4vKipcbiAqIFJlbW92ZSBjaGFpbiB0eXBlIGFuZCB0YWcgZnJvbSB0aGUgYXNzZXQgbmFtZSBhbmQgb3B0aW9uYWxseSByZXBsYWNlcyB0aGVtXG4gKiB3aXRoIGEgc3VmZml4XG4gKiBAcGFyYW0gYXNzZXROYW1lXG4gKiBAcGFyYW0gYWx0ZXJuYXRpdmVTdWZmaXggYSBzdWZmaXggd2hpY2ggd2lsbCBiZSBhZGRlZCBiZWZvcmUgYC5qc29uYCAoaWYgcHJvdmlkZWQpXG4gKi9cbmV4cG9ydCBjb25zdCB0cnVuY2F0ZUFzc2V0TmFtZSA9IChcbiAgYXNzZXROYW1lOiBzdHJpbmcsXG4gIGFsdGVybmF0aXZlU3VmZml4Pzogc3RyaW5nXG4pID0+XG4gIGFzc2V0TmFtZS5yZXBsYWNlKFxuICAgIC8oY29udHJhY3RzLS4rP3x0b2tlbnNNYXApLS4rLmpzb24vLFxuICAgIGFsdGVybmF0aXZlU3VmZml4ID8gYCQxLSR7YWx0ZXJuYXRpdmVTdWZmaXh9Lmpzb25gIDogJyQxLmpzb24nXG4gICk7XG4iXX0=