docs/libs/typescript.js
function getRegularTypeOfObjectLiteral(type) {
            if (!(type.flags & 16777216 /* FreshObjectLiteral */)) {
                return type;
            }
            var regularType = type.regularType;
            if (regularType) {
                return regularType;
            }
            var resolved = type;
            var members = transformTypeOfMembers(type, getRegularTypeOfObjectLiteral);
            var regularNew = createAnonymousType(resolved.symbol, members, resolved.callSignatures, resolved.constructSignatures, resolved.stringIndexInfo, resolved.numberIndexInfo);
            regularNew.flags = resolved.flags & ~16777216 /* FreshObjectLiteral */;
            type.regularType = regularNew;
            return regularNew;
        }
function getRegularTypeOfObjectLiteral(type) {
            if (!(type.flags & 16777216 /* FreshObjectLiteral */)) {
                return type;
            }
            var regularType = type.regularType;
            if (regularType) {
                return regularType;
            }
            var resolved = type;
            var members = transformTypeOfMembers(type, getRegularTypeOfObjectLiteral);
            var regularNew = createAnonymousType(resolved.symbol, members, resolved.callSignatures, resolved.constructSignatures, resolved.stringIndexInfo, resolved.numberIndexInfo);
            regularNew.flags = resolved.flags & ~16777216 /* FreshObjectLiteral */;
            type.regularType = regularNew;
            return regularNew;
        }
function getRegularTypeOfObjectLiteral ( type ) { if ( ! ( type . flags & 16777216 /* FreshObjectLiteral */ ) ) { return type ; } var regularType = type . regularType ; if ( regularType ) { return regularType ; } var resolved = type ; var members = transformTypeOfMembers ( type , getRegularTypeOfObjectLiteral ) ; var regularNew = createAnonymousType ( resolved . symbol , members , resolved . callSignatures , resolved . constructSignatures , resolved . stringIndexInfo , resolved . numberIndexInfo ) ; regularNew . flags = resolved . flags & ~ 16777216 /* FreshObjectLiteral */ ; type . regularType = regularNew ; return regularNew ; }
If the the provided object literal is subject to the excess properties check,
create a new that is exempt. Recursively mark object literal members as exempt.
Leave signatures alone since they are not subject to the check.
If the the provided object literal is subject to the excess properties check create a new that is exempt . Recursively mark object literal members as exempt . Leave signatures alone since they are not subject to the check .