X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Futils.ts;h=1606453e0e45212e04cf9591dc119415ea0f1816;hb=ba75d268596bc7b289bacf1cc4cb53493d6ad444;hp=7ba96815e282a512db020243c68816ea6899ca8a;hpb=69818c9394366b954b6ba3bd697bd9d2b09f2a16;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/utils.ts b/server/models/utils.ts index 7ba96815e..1606453e0 100644 --- a/server/models/utils.ts +++ b/server/models/utils.ts @@ -14,14 +14,23 @@ function getSort (value: string) { return [ field, direction ] } -function addMethodsToModel (model: any, classMethods: Function[], instanceMethods: Function[] = []) { - classMethods.forEach(m => model[m.name] = m) - instanceMethods.forEach(m => model.prototype[m.name] = m) +function getSortOnModel (model: any, value: string) { + let sort = getSort(value) + + if (model) return [ model, sort[0], sort[1] ] + return sort +} + +function throwIfNotValid (value: any, validator: (value: any) => boolean, fieldName = 'value') { + if (validator(value) === false) { + throw new Error(`"${value}" is not a valid ${fieldName}.`) + } } // --------------------------------------------------------------------------- export { - addMethodsToModel, - getSort + getSort, + getSortOnModel, + throwIfNotValid }