docs/libs/typescript.js
function getPropagatingFlagsOfTypes(types, excludeKinds) {
            var result = 0;
            for (var _i = 0, types_3 = types; _i < types_3.length; _i++) {
                var type = types_3[_i];
                if (!(type.flags & excludeKinds)) {
                    result |= type.flags;
                }
            }
            return result & 234881024 /* PropagatingFlags */;
        }
function getPropagatingFlagsOfTypes(types, excludeKinds) {
            var result = 0;
            for (var _i = 0, types_3 = types; _i < types_3.length; _i++) {
                var type = types_3[_i];
                if (!(type.flags & excludeKinds)) {
                    result |= type.flags;
                }
            }
            return result & 234881024 /* PropagatingFlags */;
        }
function getPropagatingFlagsOfTypes ( types , excludeKinds ) { var result = 0 ; for ( var _i = 0 , types_3 = types ; _i < types_3 . length ; _i ++ ) { var type = types_3 [ _i ] ; if ( ! ( type . flags & excludeKinds ) ) { result |= type . flags ; } } return result & 234881024 /* PropagatingFlags */ ; }
This function is used to propagate certain flags when creating new object type references and union types. It is only necessary to do so if a constituent type might be the undefined type, the null type, the type of an object literal or the anyFunctionType. This is because there are operations in the type checker that care about the presence of such types at arbitrary depth in a containing type.
This function is used to propagate certain flags when creating new object type references and union types . It is only necessary to do so if a constituent type might be the undefined type the null type the type of an object literal or the anyFunctionType . This is because there are operations in the type checker that care about the presence of such types at arbitrary depth in a containing type .