Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
vkleen committed Apr 11, 2023
1 parent 252221b commit c90a06e
Showing 1 changed file with 32 additions and 5 deletions.
37 changes: 32 additions & 5 deletions src/pages/stdlib/{StdlibSection.slug}.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,36 @@ const Stdlib = ({data}) => {
headings: data.stdlibSection.functions,
};

const HeaderWithTypes = ({id, name, types, contracts}) => {
if(!types && !contracts.length) {
return (<h3 id={id}><code className={'language-nickel'}>{name}</code></h3>);
}

if(types && !contracts.length) {
return (<h3 id={id}><code className={'language-nickel'}>{name} : {types}</code></h3>);
}

if(!types && contracts) {
return (
<React.Fragment>
<h3 id={id}><code className={'language-nickel'}>{name} | {contracts[0]}</code></h3>
{contracts.slice(1).map((ctr) => {
return (<h4><code className={'language-nickel'}>{name} | {ctr}</code></h4>);
})}
</React.Fragment>
);
}

return (
<React.Fragment>
<h3 id={id}><code className={'language-nickel'}>{name} : {types}</code></h3>
{contracts.map((ctr) => {
return (<h4><code className={'language-nickel'}>{name} | {ctr}</code></h4>);
})}
</React.Fragment>
);
};

const markdownComponents = {
h1: 'h4',
h2: 'h5',
Expand All @@ -45,14 +75,11 @@ const Stdlib = ({data}) => {
{Object.entries(object[`${slug}`].fields).sort(([k1, v1], [k2, v2]) => k1.localeCompare(k2)).map(([k, v]) => {
return (
<React.Fragment>
<h3 id={`sub-${slug}-${k}`}>{k}</h3>
{v.types ? (<h4><code className={'language-nickel'}>{k} : {v.types}</code></h4>) : ""}
{v.contracts.map((ctr) => {
return (<h4><code className={'language-nickel'}>{k} | {ctr}</code></h4>);
})}
<HeaderWithTypes id={`sub-${slug}-${k}`} name={k} types={v.types} contracts={v.contracts}/>
<ReactMarkdown components={markdownComponents}>
{v.documentation}
</ReactMarkdown>
<hr/>
</React.Fragment>
);
})}
Expand Down

0 comments on commit c90a06e

Please sign in to comment.