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 plist from 'plist'
import axios from 'axios' import axios from 'axios'
import { isString } from './check-types.js'
import parseMacho from './macho/index.js' import parseMacho from './macho/index.js'
const prettyBytes = require('pretty-bytes') const prettyBytes = require('pretty-bytes')
@ -27,24 +28,6 @@ const knownAppExtensions = new Set([
'.app.zip' '.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) { function callWithTimeout(timeout, func) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const timer = setTimeout(() => reject(new Error("timeout")), timeout) 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) return (typeof maybeString === 'string' || maybeString instanceof String)
} }
export function isValidHttpUrl( string ) { export function isValidHttpUrl( maybeUrl, allowUnsecure = false ) {
if ( !isString( string ) ) return false if ( !isString( maybeUrl ) ) return false
let url let url
try { try {
url = new URL(string) url = new URL(maybeUrl)
} catch (_) { } catch (_) {
return false return false
} }
return url.protocol === "http:" || url.protocol === "https:" 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 { deviceSupportsApp } from '../helpers/devices.js'
import { makeLastUpdatedFriendly } from '../helpers/parse-date.js' import { makeLastUpdatedFriendly } from '../helpers/parse-date.js'
import { getStatusOfScan } from '../helpers/statuses.js' import { getStatusOfScan } from '../helpers/statuses.js'
import { isString } from '../helpers/check-types.js'
import VideoRow from '../components-eleventy/video/row.js' import VideoRow from '../components-eleventy/video/row.js'
@ -16,10 +17,6 @@ import VideoRow from '../components-eleventy/video/row.js'
// Setup dotenv // Setup dotenv
dotenv.config() dotenv.config()
function isString( maybeString ) {
return (typeof maybeString === 'string' || maybeString instanceof String)
}
export const makeTitle = function ( app ) { export const makeTitle = function ( app ) {
return `Does ${app.name} work on Apple Silicon? - ${ config.head.title }` 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 axios from 'axios'
import { structuredDataTest } from 'structured-data-testing-tool' import { structuredDataTest } from 'structured-data-testing-tool'
import { Google, Twitter } from 'structured-data-testing-tool/presets' import { Google, Twitter } from 'structured-data-testing-tool/presets'
// import { isString } from '../helpers/check-types.js'
require('dotenv').config() require('dotenv').config()
function isString( maybeString ) {
return (typeof maybeString === 'string' || maybeString instanceof String)
}
async function pageContains ( needle, pageUrlString ) { async function pageContains ( needle, pageUrlString ) {
const pageUrlInstance = new URL( pageUrlString ) const pageUrlInstance = new URL( pageUrlString )