function map(server) { server.host = new URL(server.url).host; server.location = server.name; server.distance = server.dist; return server; }
// Is the value of a `funding` property of a `package.json` // a valid type+url for `npm fund` to display? function validFundingField (funding) { if (!funding) return false if (Array.isArray(funding)) { return funding.every(f => !Array.isArray(f) && validFundingField(f)) } try { var parsed = new URL(funding.url || funding) } catch (error) { return false } if ( parsed.protocol !== 'https:' && parsed.protocol !== 'http:' ) return false return Boolean(parsed.host) }