<commit_before>{{! Each type gets its own inline helper to determine how it is rendered. }}
{{! The name of the helper is the value of the 'type' property on the type.}}

{{!
The type helper accepts an optional needsParens parameter that is checked
if an inner type may result in invalid output without them. For example:
1 | 2[] !== (1 | 2)[]
() => 1 | 2 !== (() => 1) | 2
}}

{{#*inline 'array'}}
    {{#with elementType}}
        {{> type needsParens=true}}
        <span class="tsd-signature-symbol">[]</span>
    {{/with}}
{{/inline}}

{{#*inline 'conditional'}}
    {{#if needsParens}}
        <span class="tsd-signature-symbol">(</span>
    {{/if}}
    {{#with checkType}}
        {{> type needsParens=true}}
    {{/with}}
    <span class="tsd-signature-symbol"> extends </span>
    {{#with extendsType}}
        {{> type}}
    {{/with}}
    <span class="tsd-signature-symbol"> ? </span>
    {{#with trueType}}
        {{> type}}
    {{/with}}
    <span class="tsd-signature-symbol"> : </span>
    {{#with falseType}}
        {{> type}}
    {{/with}}
    {{#if needsParens}}
        <span class="tsd-signature-symbol">)</span>
    {{/if}}
{{/inline}}

{{#*inline 'indexedAccess'}}
    {{#with objectType}}
        {{> type}}
    {{/with}}
    <span class="tsd-signature-symbol">[</span>
    {{#with indexType}}
        {{> type}}
    {{/with}}
    <span class="tsd-signature-symbol">]</span>
{{/inline}}

{{#*inline 'inferred'}}
    <span class="tsd-signature-symbol">infer </span> {{name}}
{{/inline}}

{{#*inline 'intersection'}}
    {{#if needsParens}}
        <span class="tsd-signature-symbol">(</span>
    {{/if}}
    {{#each types}}
        {{#unless @first}}
            <span class="tsd-signature-symbol"> &amp; </span>
        {{/unless}}
        {{> type}}
    {{/each}}
    {{#if needsParens}}
        <span class="tsd-signature-symbol">)</span>
    {{/if}}
{{/inline}}

{{#*inline 'intrinsic'}}
    <span class="tsd-signature-type">{{name}}</span>
{{/inline}}

{{#*inline 'literal'}}
    <span class="tsd-signature-type">{{json value}}</span>
{{/inline}}

{{#*inline 'mapped'}}
    <span class="tsd-signature-symbol">{</span>
    {{#ifCond readonlyModifier '===' '+'}}
        <span class="tsd-signature-symbol">readonly</span>
    {{else}}
        {{#ifCond readonlyModifier '===' '-'}}<commit_msg>feat: Support for bigint literal types<commit_after>{{! Each type gets its own inline helper to determine how it is rendered. }}
{{! The name of the helper is the value of the 'type' property on the type.}}

{{!
The type helper accepts an optional needsParens parameter that is checked
if an inner type may result in invalid output without them. For example:
1 | 2[] !== (1 | 2)[]
() => 1 | 2 !== (() => 1) | 2
}}

{{#*inline 'array'}}
    {{#with elementType}}
        {{> type needsParens=true}}
        <span class="tsd-signature-symbol">[]</span>
    {{/with}}
{{/inline}}

{{#*inline 'conditional'}}
    {{#if needsParens}}
        <span class="tsd-signature-symbol">(</span>
    {{/if}}
    {{#with checkType}}
        {{> type needsParens=true}}
    {{/with}}
    <span class="tsd-signature-symbol"> extends </span>
    {{#with extendsType}}
        {{> type}}
    {{/with}}
    <span class="tsd-signature-symbol"> ? </span>
    {{#with trueType}}
        {{> type}}
    {{/with}}
    <span class="tsd-signature-symbol"> : </span>
    {{#with falseType}}
        {{> type}}
    {{/with}}
    {{#if needsParens}}
        <span class="tsd-signature-symbol">)</span>
    {{/if}}
{{/inline}}

{{#*inline 'indexedAccess'}}
    {{#with objectType}}
        {{> type}}
    {{/with}}
    <span class="tsd-signature-symbol">[</span>
    {{#with indexType}}
        {{> type}}
    {{/with}}
    <span class="tsd-signature-symbol">]</span>
{{/inline}}

{{#*inline 'inferred'}}
    <span class="tsd-signature-symbol">infer </span> {{name}}
{{/inline}}

{{#*inline 'intersection'}}
    {{#if needsParens}}
        <span class="tsd-signature-symbol">(</span>
    {{/if}}
    {{#each types}}
        {{#unless @first}}
            <span class="tsd-signature-symbol"> &amp; </span>
        {{/unless}}
        {{> type}}
    {{/each}}
    {{#if needsParens}}
        <span class="tsd-signature-symbol">)</span>
    {{/if}}
{{/inline}}

{{#*inline 'intrinsic'}}
    <span class="tsd-signature-type">{{name}}</span>
{{/inline}}

{{#*inline 'literal'}}
    <span class="tsd-signature-type">{{stringify value}}</span>
{{/inline}}

{{#*inline 'mapped'}}
    <span class="tsd-signature-symbol">{</span>
    {{#ifCond readonlyModifier '===' '+'}}
        <span class="tsd-signature-symbol">readonly</span>
    {{else}}
        {{#ifCond readonlyModifier '===' '-'}}
{'fraction_non_alphanumeric': 0.23029134532990575, 'fraction_numerical': 0.003427592116538132, 'mean_word_length': 3.0389273356401385, 'pattern_counts': {'":': 0, '<': 67, '<?xml version=': 0, '>': 87, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3719279', 'n_tokens_mistral': 1616, 'n_tokens_neox': 1559, 'n_words': 363}