export function objectHasRequiredProperties()

in source/lambda/util/utility-functions.ts [4:23]


export function objectHasRequiredProperties(obj: any, requiredProperties: string[], errorOnStringEmptyOrWhitespace: boolean): boolean {
    for (const requiredProperty of requiredProperties) {
        if (!obj.hasOwnProperty(requiredProperty)) {
            console.log(`Missing required property: ${requiredProperty}`);
            return false;
        }

        if (obj[requiredProperty] === null || obj[requiredProperty] === undefined) {
            console.log(`Missing required property: ${requiredProperty}`);
            return false;
        }

        if (errorOnStringEmptyOrWhitespace && typeof obj[requiredProperty] === 'string' && obj[requiredProperty].trim() === '') {
            console.log(`Required property (${requiredProperty}) is empty`);
            return false;
        }
    }

    return true;
}