Use check-types helper

This commit is contained in:
Sam Carlton 2021-11-28 23:44:06 -06:00
parent fb46377e2c
commit 27ebf55bb7
4 changed files with 10 additions and 28 deletions

View file

@ -1,6 +1,7 @@
import plist from 'plist'
import axios from 'axios'
import { isString } from './check-types.js'
import parseMacho from './macho/index.js'
const prettyBytes = require('pretty-bytes')
@ -27,24 +28,6 @@ const knownAppExtensions = new Set([
'.app.zip'
])
function isString( maybeString ) {
return (typeof maybeString === 'string' || maybeString instanceof String)
}
function isValidHttpUrl( string ) {
if ( !isString( string ) ) return false
let url
try {
url = new URL(string)
} catch (_) {
return false
}
return url.protocol === "http:" || url.protocol === "https:"
}
function callWithTimeout(timeout, func) {
return new Promise((resolve, reject) => {
const timer = setTimeout(() => reject(new Error("timeout")), timeout)

View file

@ -4,16 +4,20 @@ export function isString( maybeString ) {
return (typeof maybeString === 'string' || maybeString instanceof String)
}
export function isValidHttpUrl( string ) {
if ( !isString( string ) ) return false
export function isValidHttpUrl( maybeUrl, allowUnsecure = false ) {
if ( !isString( maybeUrl ) ) return false
let url
try {
url = new URL(string)
url = new URL(maybeUrl)
} catch (_) {
return false
}
return url.protocol === "http:" || url.protocol === "https:"
}
export function isObject( maybeObject ) {
return maybeObject === Object( maybeObject )
}

View file

@ -6,6 +6,7 @@ import { getAppType, getRouteType } from '../helpers/app-derived.js'
import { deviceSupportsApp } from '../helpers/devices.js'
import { makeLastUpdatedFriendly } from '../helpers/parse-date.js'
import { getStatusOfScan } from '../helpers/statuses.js'
import { isString } from '../helpers/check-types.js'
import VideoRow from '../components-eleventy/video/row.js'
@ -16,10 +17,6 @@ import VideoRow from '../components-eleventy/video/row.js'
// Setup dotenv
dotenv.config()
function isString( maybeString ) {
return (typeof maybeString === 'string' || maybeString instanceof String)
}
export const makeTitle = function ( app ) {
return `Does ${app.name} work on Apple Silicon? - ${ config.head.title }`
}

View file

@ -7,12 +7,10 @@ import parser from 'fast-xml-parser'
import axios from 'axios'
import { structuredDataTest } from 'structured-data-testing-tool'
import { Google, Twitter } from 'structured-data-testing-tool/presets'
// import { isString } from '../helpers/check-types.js'
require('dotenv').config()
function isString( maybeString ) {
return (typeof maybeString === 'string' || maybeString instanceof String)
}
async function pageContains ( needle, pageUrlString ) {
const pageUrlInstance = new URL( pageUrlString )