import { URL } from 'url'
import { truncate } from 'lodash'
import { exec } from 'child_process'
-import { isArray } from './custom-validators/misc'
const objectConverter = (oldObject: any, keyConverter: (e: string) => string, valueConverter: (e: any) => any) => {
if (!oldObject || typeof oldObject !== 'object') {
return valueConverter(oldObject)
}
- if (isArray(oldObject)) {
+ if (Array.isArray(oldObject)) {
return oldObject.map(e => objectConverter(e, keyConverter, valueConverter))
}
month: 3600000 * 24 * 30
}
-export function parseDuration (duration: number | string): number {
+export function parseDurationToMs (duration: number | string): number {
if (typeof duration === 'number') return duration
if (typeof duration === 'string') {
}
}
- throw new Error('Duration could not be properly parsed')
+ throw new Error(`Duration ${duration} could not be properly parsed`)
}
export function parseBytes (value: string | number): number {
return process.env.NODE_ENV === 'production'
}
+function getAppNumber () {
+ return process.env.NODE_APP_INSTANCE
+}
+
function root () {
// We are in /helpers/utils.js
const paths = [ __dirname, '..', '..' ]
return truncate(str, options)
}
-function sha256 (str: string, encoding: HexBase64Latin1Encoding = 'hex') {
+function sha256 (str: string | Buffer, encoding: HexBase64Latin1Encoding = 'hex') {
return createHash('sha256').update(str).digest(encoding)
}
+function sha1 (str: string | Buffer, encoding: HexBase64Latin1Encoding = 'hex') {
+ return createHash('sha1').update(str).digest(encoding)
+}
+
function promisify0<A> (func: (cb: (err: any, result: A) => void) => void): () => Promise<A> {
return function promisified (): Promise<A> {
return new Promise<A>((resolve: (arg: A) => void, reject: (err: any) => void) => {
export {
isTestInstance,
isProdInstance,
+ getAppNumber,
objectConverter,
root,
sanitizeHost,
buildPath,
peertubeTruncate,
+
sha256,
+ sha1,
promisify0,
promisify1,