demo/typescript.js
function makeTempVariableName(flags) {
                if (flags && !(tempFlags & flags)) {
                    var name_19 = flags === 268435456 /* _i */ ? "_i" : "_n";
                    if (isUniqueName(name_19)) {
                        tempFlags |= flags;
                        return name_19;
                    }
                }
                while (true) {
                    var count = tempFlags & 268435455 /* CountMask */;
                    tempFlags++;
                    // Skip over 'i' and 'n'
                    if (count !== 8 && count !== 13) {
                        var name_20 = count < 26 ? "_" + String.fromCharCode(97 /* a */ + count) : "_" + (count - 26);
                        if (isUniqueName(name_20)) {
                            return name_20;
                        }
                    }
                }
            }
function makeTempVariableName(flags) {
                if (flags && !(tempFlags & flags)) {
                    var name_19 = flags === 268435456 /* _i */ ? "_i" : "_n";
                    if (isUniqueName(name_19)) {
                        tempFlags |= flags;
                        return name_19;
                    }
                }
                while (true) {
                    var count = tempFlags & 268435455 /* CountMask */;
                    tempFlags++;
                    // Skip over 'i' and 'n'
                    if (count !== 8 && count !== 13) {
                        var name_20 = count < 26 ? "_" + String.fromCharCode(97 /* a */ + count) : "_" + (count - 26);
                        if (isUniqueName(name_20)) {
                            return name_20;
                        }
                    }
                }
            }
Return the next available name in the pattern _a ... _z, _0, _1, ... TempFlags._i or TempFlags._n may be used to express a preference for that dedicated name. Note that names generated by makeTempVariableName and makeUniqueName will never conflict.