From 5ec54e320442f2c0014ec23afed6885af2d38e47 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Fri, 24 May 2024 08:53:36 -0700 Subject: [PATCH] Improve relay validation and add sort function --- packages/lib/Tools.ts | 4 +++- packages/lib/package.json | 2 +- packages/util/Relay.ts | 2 ++ packages/util/package.json | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/lib/Tools.ts b/packages/lib/Tools.ts index 2f77965..a7acd2a 100644 --- a/packages/lib/Tools.ts +++ b/packages/lib/Tools.ts @@ -207,8 +207,10 @@ export const uniqBy = (f: (x: T) => any, xs: T[]) => { return r } +export const sort = (xs: T[]) => [...xs].sort() + export const sortBy = (f: (x: T) => number, xs: T[]) => - xs.sort((a: T, b: T) => f(a) - f(b)) + [...xs].sort((a: T, b: T) => f(a) - f(b)) export const groupBy = (f: (x: T) => K, xs: T[]) => { const r = new Map() diff --git a/packages/lib/package.json b/packages/lib/package.json index 79531b6..952b250 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/lib", - "version": "0.0.7", + "version": "0.0.8", "author": "hodlbod", "license": "MIT", "description": "A collection of utilities.", diff --git a/packages/util/Relay.ts b/packages/util/Relay.ts index 2d03d0e..8ea17fb 100644 --- a/packages/util/Relay.ts +++ b/packages/util/Relay.ts @@ -19,6 +19,8 @@ export const isShareableRelayUrl = (url: string) => !url.match(/\s|%/) && // Don't match stuff with a port number !url.slice(6).match(/:\d+/) && + // Don't match stuff with a numeric tld + !url.slice(6).match(/\.\d+\b/) && // Don't match raw ip addresses !url.slice(6).match(/\d+\.\d+\.\d+\.\d+/) && // Skip nostr.wine's virtual relays diff --git a/packages/util/package.json b/packages/util/package.json index 31e676f..49aba06 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/util", - "version": "0.0.10", + "version": "0.0.11", "author": "hodlbod", "license": "MIT", "description": "A collection of nostr-related utilities.",