function maxContentSize(bytes) {
        return (control) => {
            /** @type {?} */
            const size = control && control.value ? ((/** @type {?} */ (control.value))).files.map(f => f.size).reduce((acc, i) => acc + i, 0) : 0;
            /** @type {?} */
            const condition = bytes >= size;
            return condition
                ? null
                : {
                    maxContentSize: {
                        actualSize: size,
                        maxSize: bytes
                    }
                };
        };
    }
/**
     * Function to control content of files
     *
     * @param {?} bytes max number of bytes allowed
     *
     * @return {?}
     */
Function to control content of files
@param {?} bytes max number of bytes allowed


Function to control content of files @param { ? } bytes max number of bytes allowed
function maxContentSize(bytes) {
        return (control) => {
            const size = control && control.value ? (( (control.value))).files.map(f => f.size).reduce((acc, i) => acc + i, 0) : 0;
            const condition = bytes >= size;
            return condition
                ? null
                : {
                    maxContentSize: {
                        actualSize: size,
                        maxSize: bytes
                    }
                };
        };
    }
function maxContentSize ( bytes ) { return ( control ) => { const size = control && control . value ? ( ( ( control . value ) ) ) . files . map ( f => f . size ) . reduce ( ( acc , i ) => acc + i , 0 ) : 0 ; const condition = bytes >= size ; return condition ? null : { maxContentSize : { actualSize : size , maxSize : bytes } } ; } ; }
Function to control content of files
 @param {?}
Function to control content of files @param { ? }
/** @type {?} */ /** @type {?} */ /** @type {?} */