forked from auxolotl/docs
5123 lines
126 KiB
HTML
5123 lines
126 KiB
HTML
|
|
<!doctype html>
|
|
<html lang="en" class="no-js">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
<meta name="description" content="Aux Documentation">
|
|
|
|
|
|
<meta name="author" content="Nixpkgs Aux, and Lix Contributors">
|
|
|
|
|
|
<link rel="canonical" href="https://docs.auxolotl.org/Nixpkgs/Library-Reference/trivial/">
|
|
|
|
|
|
<link rel="prev" href="../strings/">
|
|
|
|
|
|
<link rel="next" href="../versions/">
|
|
|
|
|
|
<link rel="icon" href="../../../assets/aux-logo.svg">
|
|
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.29">
|
|
|
|
|
|
|
|
<title>lib.trivial: miscellaneous functions - Aux Docs</title>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../../assets/stylesheets/main.76a95c52.min.css">
|
|
|
|
|
|
<link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link rel="stylesheet" href="https://fonts.bunny.net/css?family=IBM+Plex+Sans:300,300i,400,400i,700,700i%7CIBM+Plex+Mono:400,400i,700,700i&display=fallback">
|
|
<style>:root{--md-text-font:"IBM Plex Sans";--md-code-font:"IBM Plex Mono"}</style>
|
|
|
|
|
|
|
|
<script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta property="og:type" content="website" >
|
|
|
|
<meta property="og:title" content="lib.trivial: miscellaneous functions {#sec-functions-library-trivial} - Aux Docs" >
|
|
|
|
<meta property="og:description" content="Aux Documentation" >
|
|
|
|
<meta property="og:image" content="https://docs.auxolotl.org/assets/images/social/Nixpkgs/Library-Reference/trivial.png" >
|
|
|
|
<meta property="og:image:type" content="image/png" >
|
|
|
|
<meta property="og:image:width" content="1200" >
|
|
|
|
<meta property="og:image:height" content="630" >
|
|
|
|
<meta property="og:url" content="https://docs.auxolotl.org/Nixpkgs/Library-Reference/trivial/" >
|
|
|
|
<meta name="twitter:card" content="summary_large_image" >
|
|
|
|
<meta name="twitter:title" content="lib.trivial: miscellaneous functions {#sec-functions-library-trivial} - Aux Docs" >
|
|
|
|
<meta name="twitter:description" content="Aux Documentation" >
|
|
|
|
<meta name="twitter:image" content="https://docs.auxolotl.org/assets/images/social/Nixpkgs/Library-Reference/trivial.png" >
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="blue">
|
|
|
|
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
<label class="md-overlay" for="__drawer"></label>
|
|
<div data-md-component="skip">
|
|
|
|
|
|
<a href="#sec-functions-library-trivial" class="md-skip">
|
|
Skip to content
|
|
</a>
|
|
|
|
</div>
|
|
<div data-md-component="announce">
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<header class="md-header" data-md-component="header">
|
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
<a href="../../.." title="Aux Docs" class="md-header__button md-logo" aria-label="Aux Docs" data-md-component="logo">
|
|
|
|
<img src="../../../assets/aux-logo.svg" alt="logo">
|
|
|
|
</a>
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
|
|
</label>
|
|
<div class="md-header__title" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
Aux Docs
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
|
|
lib.trivial: miscellaneous functions
|
|
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<form class="md-header__option" data-md-component="palette">
|
|
|
|
|
|
|
|
|
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="blue" aria-label="Dark Mode" type="radio" name="__palette" id="__palette_0">
|
|
|
|
<label class="md-header__button md-icon" title="Dark Mode" for="__palette_1" hidden>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg>
|
|
</label>
|
|
|
|
|
|
|
|
|
|
|
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="blue" aria-label="Light Mode" type="radio" name="__palette" id="__palette_1">
|
|
|
|
<label class="md-header__button md-icon" title="Light Mode" for="__palette_0" hidden>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg>
|
|
</label>
|
|
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
|
|
|
|
|
|
|
<label class="md-header__button md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
|
</label>
|
|
<div class="md-search" data-md-component="search" role="dialog">
|
|
<label class="md-search__overlay" for="__search"></label>
|
|
<div class="md-search__inner" role="search">
|
|
<form class="md-search__form" name="search">
|
|
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
|
<label class="md-search__icon md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
|
</label>
|
|
<nav class="md-search__options" aria-label="Search">
|
|
|
|
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
|
</button>
|
|
</nav>
|
|
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|
<div class="md-search-result" data-md-component="search-result">
|
|
<div class="md-search-result__meta">
|
|
Initializing search
|
|
</div>
|
|
<ol class="md-search-result__list" role="presentation"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="md-header__source">
|
|
<a href="https://git.auxolotl.org/auxolotl/docs" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.777 0a2.9 2.9 0 1 1-2.529 4.322H12.91a4.266 4.266 0 0 0-4.265 4.195v2.118a7.076 7.076 0 0 1 4.147-1.42l.118-.002h1.338a2.9 2.9 0 0 1 5.43 1.422 2.9 2.9 0 0 1-5.43 1.422H12.91a4.266 4.266 0 0 0-4.265 4.195v2.319A2.9 2.9 0 0 1 7.222 24 2.9 2.9 0 0 1 5.8 18.57V8.589a7.109 7.109 0 0 1 6.991-7.108l.118-.001h1.338A2.9 2.9 0 0 1 16.778 0ZM7.223 19.905a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Zm9.554-10.464a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.39Zm0-7.735a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Z"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
auxolotl/docs
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
</header>
|
|
|
|
<div class="md-container" data-md-component="container">
|
|
|
|
|
|
|
|
|
|
|
|
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
|
|
<div class="md-grid">
|
|
<ul class="md-tabs__list">
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../.." class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Aux Documentation Hub
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../../TODO/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
TODO
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../../Aux/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Aux
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../../Lix/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Lix
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item">
|
|
<a href="../../../NixOS/appstream/" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
NixOS
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-tabs__item md-tabs__item--active">
|
|
<a href="../../" class="md-tabs__link">
|
|
|
|
|
|
|
|
|
|
Nixpkgs
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
|
|
|
|
|
|
<main class="md-main" data-md-component="main">
|
|
<div class="md-main__inner md-grid">
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
|
<label class="md-nav__title" for="__drawer">
|
|
<a href="../../.." title="Aux Docs" class="md-nav__button md-logo" aria-label="Aux Docs" data-md-component="logo">
|
|
|
|
<img src="../../../assets/aux-logo.svg" alt="logo">
|
|
|
|
</a>
|
|
Aux Docs
|
|
</label>
|
|
|
|
<div class="md-nav__source">
|
|
<a href="https://git.auxolotl.org/auxolotl/docs" title="Go to repository" class="md-source" data-md-component="source">
|
|
<div class="md-source__icon md-icon">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.777 0a2.9 2.9 0 1 1-2.529 4.322H12.91a4.266 4.266 0 0 0-4.265 4.195v2.118a7.076 7.076 0 0 1 4.147-1.42l.118-.002h1.338a2.9 2.9 0 0 1 5.43 1.422 2.9 2.9 0 0 1-5.43 1.422H12.91a4.266 4.266 0 0 0-4.265 4.195v2.319A2.9 2.9 0 0 1 7.222 24 2.9 2.9 0 0 1 5.8 18.57V8.589a7.109 7.109 0 0 1 6.991-7.108l.118-.001h1.338A2.9 2.9 0 0 1 16.778 0ZM7.223 19.905a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Zm9.554-10.464a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.39Zm0-7.735a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Z"/></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
auxolotl/docs
|
|
</div>
|
|
</a>
|
|
</div>
|
|
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../.." class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Aux Documentation Hub
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../../TODO/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
TODO
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../../Aux/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Aux
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../../Lix/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Lix
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../../NixOS/appstream/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
NixOS
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
|
|
|
|
|
|
|
|
<div class="md-nav__link md-nav__container">
|
|
<a href="../../" class="md-nav__link ">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Nixpkgs
|
|
</span>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
</div>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
|
|
<label class="md-nav__title" for="__nav_6">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Nixpkgs
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../options/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Options
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../Build-Helpers/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Build Helpers
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../Development/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Development
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../Functions/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Functions
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../Hooks/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Hooks
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../Languages-And-Frameworks/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Languages And Frameworks
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_8" checked>
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_6_8" id="__nav_6_8_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Library Reference
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_8_label" aria-expanded="true">
|
|
<label class="md-nav__title" for="__nav_6_8">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Library Reference
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../asserts/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.asserts: assertion functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../attrsets/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.attrsets: attribute set functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../cli/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.cli: command-line serialization functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../customisation/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.customisation: Functions to customise (derivation-related) functions, derivatons, or attribute sets
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../debug/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.debug: debugging functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../derivations/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.derivations: miscellaneous derivation-specific functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../fileset/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.fileset: file set functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../filesystem/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.filesystem: filesystem functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../fixedPoints/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.fixedPoints: explicit recursion functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../generators/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.generators: functions that create file formats from nix data structures
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../gvariant/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.gvariant: GVariant formatted string serialization functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../lists/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.lists: list manipulation functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../meta/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.meta: functions for derivation metadata
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../options/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.options: NixOS / nixpkgs option handling
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../path/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.path: path functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../sources/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.sources: source filtering functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../strings/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.strings: string manipulation functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active">
|
|
|
|
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.trivial: miscellaneous functions
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<a href="./" class="md-nav__link md-nav__link--active">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.trivial: miscellaneous functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.id" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.id
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.id">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.const" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.const
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.const">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.pipe" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.pipe
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.pipe">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_2" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_2" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.concat" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.concat
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.concat">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_3" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_3" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_2" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.or" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.or
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.or">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_4" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.and" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.and
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.and">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_5" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.xor" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.xor
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.xor">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_6" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.bitNot" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.bitNot
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.boolToString" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.boolToString
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.boolToString">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_7" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_4" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.mergeAttrs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.mergeAttrs
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.mergeAttrs">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_8" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_3" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.flip" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.flip
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.flip">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_9" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_5" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_4" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.mapNullable" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.mapNullable
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.mapNullable">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_10" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_5" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.version" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.version
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.release" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.release
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.oldestSupportedRelease" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.oldestSupportedRelease
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.isInOldestRelease" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.isInOldestRelease
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.isInOldestRelease">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_11" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.codeName" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.codeName
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.versionSuffix" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.versionSuffix
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.revisionWithDefault" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.revisionWithDefault
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.revisionWithDefault">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_12" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_6" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.inNixShell" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.inNixShell
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.inNixShell">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_7" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.inPureEvalMode" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.inPureEvalMode
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.inPureEvalMode">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_8" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.min" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.min
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.min">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_13" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.max" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.max
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.max">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_14" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.mod" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.mod
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.mod">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_15" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_6" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.compare" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.compare
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.compare">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_16" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.splitByAndCompare" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.splitByAndCompare
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.splitByAndCompare">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_17" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_9" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_7" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.importJSON" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.importJSON
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.importJSON">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_8" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_18" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_10" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.importTOML" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.importTOML
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.importTOML">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_9" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_19" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_11" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.warn" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.warn
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.warn">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_20" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_12" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.warnIf" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.warnIf
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.warnIf">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_21" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_13" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.warnIfNot" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.warnIfNot
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.warnIfNot">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_22" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_14" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.throwIfNot" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.throwIfNot
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.throwIfNot">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_23" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_15" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_10" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.throwIf" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.throwIf
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.throwIf">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_24" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_16" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.checkListOfEnum" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.checkListOfEnum
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.checkListOfEnum">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_25" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_17" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_11" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.setFunctionArgs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.setFunctionArgs
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.setFunctionArgs">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_26" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.functionArgs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.functionArgs
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.functionArgs">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_27" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.isFunction" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.isFunction
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.isFunction">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_28" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.mirrorFunctionArgs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.mirrorFunctionArgs
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.mirrorFunctionArgs">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_29" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_18" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_12" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.toFunction" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.toFunction
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.toFunction">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_30" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_13" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.fromHexString" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.fromHexString
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.fromHexString">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_19" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_14" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.toHexString" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.toHexString
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.toBaseDigits" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.toBaseDigits
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.toBaseDigits">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_31" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../versions/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
lib.versions: version string functions
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../Module-System/module-system.chapter/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Module System
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../Packages/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Packages
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../Standard-Environment/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Standard Environment
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--pruned md-nav__item--nested">
|
|
|
|
|
|
|
|
|
|
<a href="../../Using-Nixpkgs/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Using Nixpkgs
|
|
</span>
|
|
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.id" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.id
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.id">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.const" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.const
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.const">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.pipe" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.pipe
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.pipe">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_2" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_2" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_1" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.concat" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.concat
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.concat">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_3" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_3" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_2" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.or" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.or
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.or">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_4" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.and" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.and
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.and">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_5" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.xor" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.xor
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.xor">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_6" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.bitNot" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.bitNot
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.boolToString" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.boolToString
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.boolToString">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_7" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_4" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.mergeAttrs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.mergeAttrs
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.mergeAttrs">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_8" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_3" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.flip" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.flip
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.flip">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_9" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_5" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_4" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.mapNullable" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.mapNullable
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.mapNullable">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_10" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_5" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.version" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.version
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.release" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.release
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.oldestSupportedRelease" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.oldestSupportedRelease
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.isInOldestRelease" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.isInOldestRelease
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.isInOldestRelease">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_11" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.codeName" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.codeName
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.versionSuffix" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.versionSuffix
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.revisionWithDefault" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.revisionWithDefault
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.revisionWithDefault">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_12" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_6" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.inNixShell" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.inNixShell
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.inNixShell">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_7" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.inPureEvalMode" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.inPureEvalMode
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.inPureEvalMode">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_8" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.min" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.min
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.min">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_13" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.max" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.max
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.max">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_14" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.mod" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.mod
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.mod">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_15" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_6" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.compare" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.compare
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.compare">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_16" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.splitByAndCompare" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.splitByAndCompare
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.splitByAndCompare">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_17" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_9" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_7" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.importJSON" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.importJSON
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.importJSON">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_8" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_18" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_10" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.importTOML" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.importTOML
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.importTOML">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_9" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_19" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_11" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.warn" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.warn
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.warn">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_20" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_12" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.warnIf" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.warnIf
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.warnIf">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_21" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_13" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.warnIfNot" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.warnIfNot
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.warnIfNot">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_22" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_14" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.throwIfNot" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.throwIfNot
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.throwIfNot">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_23" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_15" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_10" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.throwIf" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.throwIf
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.throwIf">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_24" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_16" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.checkListOfEnum" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.checkListOfEnum
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.checkListOfEnum">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_25" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_17" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_11" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.setFunctionArgs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.setFunctionArgs
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.setFunctionArgs">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_26" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.functionArgs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.functionArgs
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.functionArgs">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_27" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.isFunction" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.isFunction
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.isFunction">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_28" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.mirrorFunctionArgs" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.mirrorFunctionArgs
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.mirrorFunctionArgs">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_29" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_18" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_12" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.toFunction" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.toFunction
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.toFunction">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_30" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_13" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.fromHexString" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.fromHexString
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.fromHexString">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#type_19" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Type
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#examples_14" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Examples
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.toHexString" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.toHexString
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#function-library-lib.trivial.toBaseDigits" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
lib.trivial.toBaseDigits
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="lib.trivial.toBaseDigits">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#inputs_31" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Inputs
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-content" data-md-component="content">
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
|
|
|
|
|
|
<h1 id="sec-functions-library-trivial">lib.trivial: miscellaneous functions</h1>
|
|
<h2 id="function-library-lib.trivial.id"><code>lib.trivial.id</code></h2>
|
|
<p>The identity function
|
|
For when you need a function that does “nothing”.</p>
|
|
<h3 id="inputs">Inputs</h3>
|
|
<p><code>x</code></p>
|
|
<p>: The value to return</p>
|
|
<h3 id="type">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>id :: a -> a
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L39">lib/trivial.nix:39</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.const"><code>lib.trivial.const</code></h2>
|
|
<p>The constant function</p>
|
|
<p>Ignores the second argument. If called with only one argument,
|
|
constructs a function that always returns a static value.</p>
|
|
<h3 id="inputs_1">Inputs</h3>
|
|
<p><code>x</code></p>
|
|
<p>: Value to return</p>
|
|
<p><code>y</code></p>
|
|
<p>: Value to ignore</p>
|
|
<h3 id="type_1">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>const :: a -> b -> a
|
|
</code></pre></div>
|
|
<h3 id="examples">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.const</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code><span class="k">let</span> <span class="ss">f</span> <span class="o">=</span> const <span class="mi">5</span><span class="p">;</span> <span class="k">in</span> f <span class="mi">10</span>
|
|
<span class="o">=></span> <span class="mi">5</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L75">lib/trivial.nix:75</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.pipe"><code>lib.trivial.pipe</code></h2>
|
|
<p>Pipes a value through a list of functions, left to right.</p>
|
|
<h3 id="inputs_2">Inputs</h3>
|
|
<p><code>value</code></p>
|
|
<p>: Value to start piping.</p>
|
|
<p><code>fns</code></p>
|
|
<p>: List of functions to apply sequentially.</p>
|
|
<h3 id="type_2">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>pipe :: a -> [<functions>] -> <return type of last function>
|
|
</code></pre></div>
|
|
<h3 id="examples_1">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.pipe</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code>pipe <span class="mi">2</span> <span class="p">[</span>
|
|
<span class="p">(</span>x<span class="p">:</span> x <span class="o">+</span> <span class="mi">2</span><span class="p">)</span> <span class="c1"># 2 + 2 = 4</span>
|
|
<span class="p">(</span>x<span class="p">:</span> x <span class="o">*</span> <span class="mi">2</span><span class="p">)</span> <span class="c1"># 4 * 2 = 8</span>
|
|
<span class="p">]</span>
|
|
<span class="o">=></span> <span class="mi">8</span> <span class="s2">"ideal to do text transformations</span>
|
|
<span class="s2">pipe [ "</span><span class="l">a/b</span><span class="s2">" "</span><span class="l">a/c</span><span class="s2">" ] [</span>
|
|
|
|
<span class="s2"> # create the cp command</span>
|
|
<span class="s2"> (map (file: ''cp "</span><span class="si">${</span>src<span class="si">}</span><span class="o">/</span><span class="si">${</span>file<span class="si">}</span><span class="s2">" $out</span><span class="se">\n</span><span class="s2">''))</span>
|
|
|
|
<span class="s2"> # concatenate all commands into one string</span>
|
|
<span class="s2"> lib.concatStrings</span>
|
|
|
|
<span class="s2"> # make that string into a nix derivation</span>
|
|
<span class="s2"> (pkgs.runCommand "</span>copy-to-out<span class="s2">" {})</span>
|
|
|
|
<span class="s2">]</span>
|
|
<span class="s2">=> <drv which copies all files to $out></span>
|
|
|
|
<span class="s2">The output type of each function has to be the input type</span>
|
|
<span class="s2">of the next function, and the last function returns the</span>
|
|
<span class="s2">final value.</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L131">lib/trivial.nix:131</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.concat"><code>lib.trivial.concat</code></h2>
|
|
<p>Concatenate two lists</p>
|
|
<h3 id="inputs_3">Inputs</h3>
|
|
<p><code>x</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>y</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<h3 id="type_3">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>concat :: [a] -> [a] -> [a]
|
|
</code></pre></div>
|
|
<h3 id="examples_2">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.concat</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code>concat <span class="p">[</span> <span class="mi">1</span> <span class="mi">2</span> <span class="p">]</span> <span class="p">[</span> <span class="mi">3</span> <span class="mi">4</span> <span class="p">]</span>
|
|
<span class="o">=></span> <span class="p">[</span> <span class="mi">1</span> <span class="mi">2</span> <span class="mi">3</span> <span class="mi">4</span> <span class="p">]</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L171">lib/trivial.nix:171</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.or"><code>lib.trivial.or</code></h2>
|
|
<p>boolean “or”</p>
|
|
<h3 id="inputs_4">Inputs</h3>
|
|
<p><code>x</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>y</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L187">lib/trivial.nix:187</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.and"><code>lib.trivial.and</code></h2>
|
|
<p>boolean “and”</p>
|
|
<h3 id="inputs_5">Inputs</h3>
|
|
<p><code>x</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>y</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L203">lib/trivial.nix:203</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.xor"><code>lib.trivial.xor</code></h2>
|
|
<p>boolean “exclusive or”</p>
|
|
<h3 id="inputs_6">Inputs</h3>
|
|
<p><code>x</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>y</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L221">lib/trivial.nix:221</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.bitNot"><code>lib.trivial.bitNot</code></h2>
|
|
<p>bitwise “not”</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L226">lib/trivial.nix:226</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.boolToString"><code>lib.trivial.boolToString</code></h2>
|
|
<p>Convert a boolean to a string.</p>
|
|
<p>This function uses the strings "true" and "false" to represent
|
|
boolean values. Calling <code>toString</code> on a bool instead returns "1"
|
|
and "" (sic!).</p>
|
|
<h3 id="inputs_7">Inputs</h3>
|
|
<p><code>b</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<h3 id="type_4">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>boolToString :: bool -> string
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L248">lib/trivial.nix:248</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.mergeAttrs"><code>lib.trivial.mergeAttrs</code></h2>
|
|
<p>Merge two attribute sets shallowly, right side trumps left</p>
|
|
<p>mergeAttrs :: attrs -> attrs -> attrs</p>
|
|
<h3 id="inputs_8">Inputs</h3>
|
|
<p><code>x</code></p>
|
|
<p>: Left attribute set</p>
|
|
<p><code>y</code></p>
|
|
<p>: Right attribute set (higher precedence for equal keys)</p>
|
|
<h3 id="examples_3">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.mergeAttrs</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code>mergeAttrs <span class="p">{</span> <span class="ss">a</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="ss">b</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="p">}</span> <span class="p">{</span> <span class="ss">b</span> <span class="o">=</span> <span class="mi">3</span><span class="p">;</span> <span class="ss">c</span> <span class="o">=</span> <span class="mi">4</span><span class="p">;</span> <span class="p">}</span>
|
|
<span class="o">=></span> <span class="p">{</span> <span class="ss">a</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="ss">b</span> <span class="o">=</span> <span class="mi">3</span><span class="p">;</span> <span class="ss">c</span> <span class="o">=</span> <span class="mi">4</span><span class="p">;</span> <span class="p">}</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L278">lib/trivial.nix:278</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.flip"><code>lib.trivial.flip</code></h2>
|
|
<p>Flip the order of the arguments of a binary function.</p>
|
|
<h3 id="inputs_9">Inputs</h3>
|
|
<p><code>f</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>a</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<p><code>b</code></p>
|
|
<p>: 3. Function argument</p>
|
|
<h3 id="type_5">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>flip :: (a -> b -> c) -> (b -> a -> c)
|
|
</code></pre></div>
|
|
<h3 id="examples_4">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.flip</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code>flip concat <span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="p">[</span><span class="mi">2</span><span class="p">]</span>
|
|
<span class="o">=></span> <span class="p">[</span> <span class="mi">2</span> <span class="mi">1</span> <span class="p">]</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L317">lib/trivial.nix:317</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.mapNullable"><code>lib.trivial.mapNullable</code></h2>
|
|
<p>Apply function if the supplied argument is non-null.</p>
|
|
<h3 id="inputs_10">Inputs</h3>
|
|
<p><code>f</code></p>
|
|
<p>: Function to call</p>
|
|
<p><code>a</code></p>
|
|
<p>: Argument to check for null before passing it to <code>f</code></p>
|
|
<h3 id="examples_5">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.mapNullable</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code>mapNullable <span class="p">(</span>x<span class="p">:</span> x<span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="no">null</span>
|
|
<span class="o">=></span> <span class="no">null</span>
|
|
mapNullable <span class="p">(</span>x<span class="p">:</span> x<span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="mi">22</span>
|
|
<span class="o">=></span> <span class="mi">23</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L347">lib/trivial.nix:347</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.version"><code>lib.trivial.version</code></h2>
|
|
<p>Returns the current full nixpkgs version number.</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L363">lib/trivial.nix:363</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.release"><code>lib.trivial.release</code></h2>
|
|
<p>Returns the current nixpkgs release number as string.</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L368">lib/trivial.nix:368</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.oldestSupportedRelease"><code>lib.trivial.oldestSupportedRelease</code></h2>
|
|
<p>The latest release that is supported, at the time of release branch-off,
|
|
if applicable.</p>
|
|
<p>Ideally, out-of-tree modules should be able to evaluate cleanly with all
|
|
supported Nixpkgs versions (master, release and old release until EOL).
|
|
So if possible, deprecation warnings should take effect only when all
|
|
out-of-tree expressions/libs/modules can upgrade to the new way without
|
|
losing support for supported Nixpkgs versions.</p>
|
|
<p>This release number allows deprecation warnings to be implemented such that
|
|
they take effect as soon as the oldest release reaches end of life.</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L383">lib/trivial.nix:383</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.isInOldestRelease"><code>lib.trivial.isInOldestRelease</code></h2>
|
|
<p>Whether a feature is supported in all supported releases (at the time of
|
|
release branch-off, if applicable). See <code>oldestSupportedRelease</code>.</p>
|
|
<h3 id="inputs_11">Inputs</h3>
|
|
<p><code>release</code></p>
|
|
<p>: Release number of feature introduction as an integer, e.g. 2111 for 21.11.
|
|
Set it to the upcoming release, matching the nixpkgs/.version file.</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L399">lib/trivial.nix:399</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.codeName"><code>lib.trivial.codeName</code></h2>
|
|
<p>Returns the current nixpkgs release code name.</p>
|
|
<p>On each release the first letter is bumped and a new animal is chosen
|
|
starting with that new letter.</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L409">lib/trivial.nix:409</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.versionSuffix"><code>lib.trivial.versionSuffix</code></h2>
|
|
<p>Returns the current nixpkgs version suffix as string.</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L414">lib/trivial.nix:414</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.revisionWithDefault"><code>lib.trivial.revisionWithDefault</code></h2>
|
|
<p>Attempts to return the the current revision of nixpkgs and
|
|
returns the supplied default value otherwise.</p>
|
|
<h3 id="inputs_12">Inputs</h3>
|
|
<p><code>default</code></p>
|
|
<p>: Default value to return if revision can not be determined</p>
|
|
<h3 id="type_6">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>revisionWithDefault :: string -> string
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L437">lib/trivial.nix:437</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.inNixShell"><code>lib.trivial.inNixShell</code></h2>
|
|
<p>Determine whether the function is being called from inside a Nix
|
|
shell.</p>
|
|
<h3 id="type_7">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>inNixShell :: bool
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L459">lib/trivial.nix:459</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.inPureEvalMode"><code>lib.trivial.inPureEvalMode</code></h2>
|
|
<p>Determine whether the function is being called from inside pure-eval mode
|
|
by seeing whether <code>builtins</code> contains <code>currentSystem</code>. If not, we must be in
|
|
pure-eval mode.</p>
|
|
<h3 id="type_8">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>inPureEvalMode :: bool
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L472">lib/trivial.nix:472</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.min"><code>lib.trivial.min</code></h2>
|
|
<p>Return minimum of two numbers.</p>
|
|
<h3 id="inputs_13">Inputs</h3>
|
|
<p><code>x</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>y</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L490">lib/trivial.nix:490</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.max"><code>lib.trivial.max</code></h2>
|
|
<p>Return maximum of two numbers.</p>
|
|
<h3 id="inputs_14">Inputs</h3>
|
|
<p><code>x</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>y</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L506">lib/trivial.nix:506</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.mod"><code>lib.trivial.mod</code></h2>
|
|
<p>Integer modulus</p>
|
|
<h3 id="inputs_15">Inputs</h3>
|
|
<p><code>base</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>int</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<h3 id="examples_6">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.mod</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code>mod <span class="mi">11</span> <span class="mi">10</span>
|
|
<span class="o">=></span> <span class="mi">1</span>
|
|
mod <span class="mi">1</span> <span class="mi">10</span>
|
|
<span class="o">=></span> <span class="mi">1</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L536">lib/trivial.nix:536</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.compare"><code>lib.trivial.compare</code></h2>
|
|
<p>C-style comparisons</p>
|
|
<p>a < b, compare a b => -1
|
|
a == b, compare a b => 0
|
|
a > b, compare a b => 1</p>
|
|
<h3 id="inputs_16">Inputs</h3>
|
|
<p><code>a</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>b</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L559">lib/trivial.nix:559</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.splitByAndCompare"><code>lib.trivial.splitByAndCompare</code></h2>
|
|
<p>Split type into two subtypes by predicate <code>p</code>, take all elements
|
|
of the first subtype to be less than all the elements of the
|
|
second subtype, compare elements of a single subtype with <code>yes</code>
|
|
and <code>no</code> respectively.</p>
|
|
<h3 id="inputs_17">Inputs</h3>
|
|
<p><code>p</code></p>
|
|
<p>: Predicate</p>
|
|
<p><code>yes</code></p>
|
|
<p>: Comparison function if predicate holds for both values</p>
|
|
<p><code>no</code></p>
|
|
<p>: Comparison function if predicate holds for neither value</p>
|
|
<p><code>a</code></p>
|
|
<p>: First value to compare</p>
|
|
<p><code>b</code></p>
|
|
<p>: Second value to compare</p>
|
|
<h3 id="type_9">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>(a -> bool) -> (a -> a -> int) -> (a -> a -> int) -> (a -> a -> int)
|
|
</code></pre></div>
|
|
<h3 id="examples_7">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.splitByAndCompare</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code><span class="k">let</span> <span class="ss">cmp</span> <span class="o">=</span> splitByAndCompare <span class="p">(</span>hasPrefix <span class="s2">"foo"</span><span class="p">)</span> compare compare<span class="p">;</span> <span class="k">in</span>
|
|
|
|
cmp <span class="s2">"a"</span> <span class="s2">"z"</span> <span class="o">=></span> <span class="mi">-1</span>
|
|
cmp <span class="s2">"fooa"</span> <span class="s2">"fooz"</span> <span class="o">=></span> <span class="mi">-1</span>
|
|
|
|
cmp <span class="s2">"f"</span> <span class="s2">"a"</span> <span class="o">=></span> <span class="mi">1</span>
|
|
cmp <span class="s2">"fooa"</span> <span class="s2">"a"</span> <span class="o">=></span> <span class="mi">-1</span>
|
|
<span class="c1"># while</span>
|
|
compare <span class="s2">"fooa"</span> <span class="s2">"a"</span> <span class="o">=></span> <span class="mi">1</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L619">lib/trivial.nix:619</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.importJSON"><code>lib.trivial.importJSON</code></h2>
|
|
<p>Reads a JSON file.</p>
|
|
<h3 id="examples_8">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.importJSON</code> usage example</p>
|
|
<p>example.json
|
|
<div class="highlight"><pre><span></span><code><span class="p">{</span>
|
|
<span class="w"> </span><span class="nt">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Example JSON"</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="nt">"hello"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="nt">"world"</span><span class="p">:</span><span class="w"> </span><span class="s2">"foo"</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="nt">"bar"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
|
<span class="w"> </span><span class="nt">"foobar"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span>
|
|
<span class="w"> </span><span class="p">}</span>
|
|
<span class="w"> </span><span class="p">}</span>
|
|
<span class="p">}</span>
|
|
</code></pre></div></p>
|
|
<div class="highlight"><pre><span></span><code>importJSON <span class="l">./example.json</span>
|
|
<span class="o">=></span> <span class="p">{</span>
|
|
<span class="ss">title</span> <span class="o">=</span> <span class="s2">"Example JSON"</span><span class="p">;</span>
|
|
<span class="ss">hello</span> <span class="o">=</span> <span class="p">{</span>
|
|
<span class="ss">world</span> <span class="o">=</span> <span class="s2">"foo"</span><span class="p">;</span>
|
|
<span class="ss">bar</span> <span class="o">=</span> <span class="p">{</span>
|
|
<span class="ss">foobar</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
|
|
<span class="p">};</span>
|
|
<span class="p">};</span>
|
|
<span class="p">}</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<h3 id="inputs_18">Inputs</h3>
|
|
<p><code>path</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<h3 id="type_10">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>importJSON :: path -> any
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L673">lib/trivial.nix:673</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.importTOML"><code>lib.trivial.importTOML</code></h2>
|
|
<p>Reads a TOML file.</p>
|
|
<h3 id="examples_9">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.importTOML</code> usage example</p>
|
|
<p>example.toml
|
|
<div class="highlight"><pre><span></span><code><span class="n">title</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"TOML Example"</span>
|
|
|
|
<span class="k">[hello]</span>
|
|
<span class="n">world</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"foo"</span>
|
|
|
|
<span class="k">[hello.bar]</span>
|
|
<span class="n">foobar</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span>
|
|
</code></pre></div></p>
|
|
<div class="highlight"><pre><span></span><code>importTOML <span class="l">./example.toml</span>
|
|
<span class="o">=></span> <span class="p">{</span>
|
|
<span class="ss">title</span> <span class="o">=</span> <span class="s2">"TOML Example"</span><span class="p">;</span>
|
|
<span class="ss">hello</span> <span class="o">=</span> <span class="p">{</span>
|
|
<span class="ss">world</span> <span class="o">=</span> <span class="s2">"foo"</span><span class="p">;</span>
|
|
<span class="ss">bar</span> <span class="o">=</span> <span class="p">{</span>
|
|
<span class="ss">foobar</span> <span class="o">=</span> <span class="no">true</span><span class="p">;</span>
|
|
<span class="p">};</span>
|
|
<span class="p">};</span>
|
|
<span class="p">}</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<h3 id="inputs_19">Inputs</h3>
|
|
<p><code>path</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<h3 id="type_11">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>importTOML :: path -> any
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L721">lib/trivial.nix:721</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.warn"><code>lib.trivial.warn</code></h2>
|
|
<p><code>warn</code> <em><code>message</code></em> <em><code>value</code></em></p>
|
|
<p>Print a warning before returning the second argument.</p>
|
|
<p>See <a href="https://nix.dev/manual/nix/latest/language/builtins.html#builtins-warn"><code>builtins.warn</code></a> (Nix >= 2.23).
|
|
On older versions, the Nix 2.23 behavior is emulated with <a href="https://nix.dev/manual/nix/latest/language/builtins.html#builtins-warn"><code>builtins.trace</code></a>, including the <a href="https://nix.dev/manual/nix/latest/command-ref/conf-file#conf-abort-on-warn"><code>NIX_ABORT_ON_WARN</code></a> behavior, but not the <code>nix.conf</code> setting or command line option.</p>
|
|
<h3 id="inputs_20">Inputs</h3>
|
|
<p><em><code>message</code></em> (String)</p>
|
|
<p>: Warning message to print before evaluating <em><code>value</code></em>.</p>
|
|
<p><em><code>value</code></em> (any value)</p>
|
|
<p>: Value to return as-is.</p>
|
|
<h3 id="type_12">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>String -> a -> a
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L749">lib/trivial.nix:749</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.warnIf"><code>lib.trivial.warnIf</code></h2>
|
|
<p><code>warnIf</code> <em><code>condition</code></em> <em><code>message</code></em> <em><code>value</code></em></p>
|
|
<p>Like <code>warn</code>, but only warn when the first argument is <code>true</code>.</p>
|
|
<h3 id="inputs_21">Inputs</h3>
|
|
<p><em><code>condition</code></em> (Boolean)</p>
|
|
<p>: <code>true</code> to trigger the warning before continuing with <em><code>value</code></em>.</p>
|
|
<p><em><code>message</code></em> (String)</p>
|
|
<p>: Warning message to print before evaluating</p>
|
|
<p><em><code>value</code></em> (any value)</p>
|
|
<p>: Value to return as-is.</p>
|
|
<h3 id="type_13">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>Bool -> String -> a -> a
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L789">lib/trivial.nix:789</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.warnIfNot"><code>lib.trivial.warnIfNot</code></h2>
|
|
<p><code>warnIfNot</code> <em><code>condition</code></em> <em><code>message</code></em> <em><code>value</code></em></p>
|
|
<p>Like <code>warnIf</code>, but negated: warn if the first argument is <code>false</code>.</p>
|
|
<h3 id="inputs_22">Inputs</h3>
|
|
<p><em><code>condition</code></em></p>
|
|
<p>: <code>false</code> to trigger the warning before continuing with <code>val</code>.</p>
|
|
<p><em><code>message</code></em></p>
|
|
<p>: Warning message to print before evaluating <em><code>value</code></em>.</p>
|
|
<p><em><code>value</code></em></p>
|
|
<p>: Value to return as-is.</p>
|
|
<h3 id="type_14">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>Boolean -> String -> a -> a
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L817">lib/trivial.nix:817</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.throwIfNot"><code>lib.trivial.throwIfNot</code></h2>
|
|
<p>Like the <code>assert b; e</code> expression, but with a custom error message and
|
|
without the semicolon.</p>
|
|
<p>If true, return the identity function, <code>r: r</code>.</p>
|
|
<p>If false, throw the error message.</p>
|
|
<p>Calls can be juxtaposed using function application, as <code>(r: r) a = a</code>, so
|
|
<code>(r: r) (r: r) a = a</code>, and so forth.</p>
|
|
<h3 id="inputs_23">Inputs</h3>
|
|
<p><code>cond</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>msg</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<h3 id="type_15">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>bool -> string -> a -> a
|
|
</code></pre></div>
|
|
<h3 id="examples_10">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.throwIfNot</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code>throwIfNot <span class="p">(</span>lib<span class="o">.</span>isList overlays<span class="p">)</span> <span class="s2">"The overlays argument to nixpkgs must be a list."</span>
|
|
lib<span class="o">.</span>foldr <span class="p">(</span>x<span class="p">:</span> throwIfNot <span class="p">(</span>lib<span class="o">.</span>isFunction x<span class="p">)</span> <span class="s2">"All overlays passed to nixpkgs must be functions."</span><span class="p">)</span> <span class="p">(</span>r<span class="p">:</span> r<span class="p">)</span> overlays
|
|
pkgs
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L859">lib/trivial.nix:859</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.throwIf"><code>lib.trivial.throwIf</code></h2>
|
|
<p>Like throwIfNot, but negated (throw if the first argument is <code>true</code>).</p>
|
|
<h3 id="inputs_24">Inputs</h3>
|
|
<p><code>cond</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>msg</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<h3 id="type_16">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>bool -> string -> a -> a
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L881">lib/trivial.nix:881</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.checkListOfEnum"><code>lib.trivial.checkListOfEnum</code></h2>
|
|
<p>Check if the elements in a list are valid values from a enum, returning the identity function, or throwing an error message otherwise.</p>
|
|
<h3 id="inputs_25">Inputs</h3>
|
|
<p><code>msg</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>valid</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<p><code>given</code></p>
|
|
<p>: 3. Function argument</p>
|
|
<h3 id="type_17">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>String -> List ComparableVal -> List ComparableVal -> a -> a
|
|
</code></pre></div>
|
|
<h3 id="examples_11">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.checkListOfEnum</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code><span class="k">let</span> <span class="ss">colorVariants</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"bright"</span> <span class="s2">"dark"</span> <span class="s2">"black"</span><span class="p">]</span>
|
|
<span class="k">in</span> checkListOfEnum <span class="s2">"color variants"</span> <span class="p">[</span> <span class="s2">"standard"</span> <span class="s2">"light"</span> <span class="s2">"dark"</span> <span class="p">]</span> colorVariants<span class="p">;</span>
|
|
<span class="o">=></span>
|
|
error<span class="p">:</span> color variants<span class="p">:</span> bright<span class="p">,</span> black unexpected<span class="p">;</span> valid ones<span class="p">:</span> standard<span class="p">,</span> light<span class="p">,</span> dark
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L920">lib/trivial.nix:920</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.setFunctionArgs"><code>lib.trivial.setFunctionArgs</code></h2>
|
|
<p>Add metadata about expected function arguments to a function.
|
|
The metadata should match the format given by
|
|
builtins.functionArgs, i.e. a set from expected argument to a bool
|
|
representing whether that argument has a default or not.
|
|
setFunctionArgs : (a → b) → Map String Bool → (a → b)</p>
|
|
<p>This function is necessary because you can't dynamically create a
|
|
function of the { a, b ? foo, ... }: format, but some facilities
|
|
like callPackage expect to be able to query expected arguments.</p>
|
|
<h3 id="inputs_26">Inputs</h3>
|
|
<p><code>f</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>args</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L955">lib/trivial.nix:955</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.functionArgs"><code>lib.trivial.functionArgs</code></h2>
|
|
<p>Extract the expected function arguments from a function.
|
|
This works both with nix-native { a, b ? foo, ... }: style
|
|
functions and functions with args set with 'setFunctionArgs'. It
|
|
has the same return type and semantics as builtins.functionArgs.
|
|
setFunctionArgs : (a → b) → Map String Bool.</p>
|
|
<h3 id="inputs_27">Inputs</h3>
|
|
<p><code>f</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L975">lib/trivial.nix:975</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.isFunction"><code>lib.trivial.isFunction</code></h2>
|
|
<p>Check whether something is a function or something
|
|
annotated with function args.</p>
|
|
<h3 id="inputs_28">Inputs</h3>
|
|
<p><code>f</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L991">lib/trivial.nix:991</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.mirrorFunctionArgs"><code>lib.trivial.mirrorFunctionArgs</code></h2>
|
|
<p><code>mirrorFunctionArgs f g</code> creates a new function <code>g'</code> with the same behavior as <code>g</code> (<code>g' x == g x</code>)
|
|
but its function arguments mirroring <code>f</code> (<code>lib.functionArgs g' == lib.functionArgs f</code>).</p>
|
|
<h3 id="inputs_29">Inputs</h3>
|
|
<p><code>f</code></p>
|
|
<p>: Function to provide the argument metadata</p>
|
|
<p><code>g</code></p>
|
|
<p>: Function to set the argument metadata to</p>
|
|
<h3 id="type_18">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>mirrorFunctionArgs :: (a -> b) -> (a -> c) -> (a -> c)
|
|
</code></pre></div>
|
|
<h3 id="examples_12">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.mirrorFunctionArgs</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code><span class="ss">addab</span> <span class="o">=</span> <span class="p">{</span>a<span class="p">,</span> b<span class="p">}:</span> a <span class="o">+</span> b
|
|
addab <span class="p">{</span> <span class="ss">a</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="ss">b</span> <span class="o">=</span> <span class="mi">4</span><span class="p">;</span> <span class="p">}</span>
|
|
<span class="o">=></span> <span class="mi">6</span>
|
|
lib<span class="o">.</span>functionArgs <span class="ss">addab</span>
|
|
<span class="o">=></span> <span class="p">{</span> <span class="ss">a</span> <span class="o">=</span> <span class="no">false</span><span class="p">;</span> <span class="ss">b</span> <span class="o">=</span> <span class="no">false</span><span class="p">;</span> <span class="p">}</span>
|
|
<span class="ss">addab1</span> <span class="o">=</span> attrs<span class="p">:</span> addab attrs <span class="o">+</span> <span class="mi">1</span>
|
|
addab1 <span class="p">{</span> <span class="ss">a</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="ss">b</span> <span class="o">=</span> <span class="mi">4</span><span class="p">;</span> <span class="p">}</span>
|
|
<span class="o">=></span> <span class="mi">7</span>
|
|
lib<span class="o">.</span>functionArgs <span class="ss">addab1</span>
|
|
<span class="o">=></span> <span class="p">{</span> <span class="p">}</span>
|
|
addab1' <span class="o">=</span> lib<span class="o">.</span>mirrorFunctionArgs addab addab1
|
|
addab1' <span class="p">{</span> <span class="ss">a</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="ss">b</span> <span class="o">=</span> <span class="mi">4</span><span class="p">;</span> <span class="p">}</span>
|
|
<span class="o">=></span> <span class="mi">7</span>
|
|
lib<span class="o">.</span>functionArgs addab1'
|
|
<span class="o">=></span> <span class="p">{</span> <span class="ss">a</span> <span class="o">=</span> <span class="no">false</span><span class="p">;</span> <span class="ss">b</span> <span class="o">=</span> <span class="no">false</span><span class="p">;</span> <span class="p">}</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L1039">lib/trivial.nix:1039</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.toFunction"><code>lib.trivial.toFunction</code></h2>
|
|
<p>Turns any non-callable values into constant functions.
|
|
Returns callable values as is.</p>
|
|
<h3 id="inputs_30">Inputs</h3>
|
|
<p><code>v</code></p>
|
|
<p>: Any value</p>
|
|
<h3 id="examples_13">Examples</h3>
|
|
<div class="admonition example">
|
|
<p class="admonition-title"><code>lib.trivial.toFunction</code> usage example</p>
|
|
<div class="highlight"><pre><span></span><code>nix-repl<span class="o">></span> lib<span class="o">.</span>toFunction <span class="mi">1</span> <span class="mi">2</span>
|
|
<span class="mi">1</span>
|
|
|
|
nix-repl<span class="o">></span> lib<span class="o">.</span>toFunction <span class="p">(</span>x<span class="p">:</span> x <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="mi">2</span>
|
|
<span class="mi">3</span>
|
|
</code></pre></div>
|
|
</div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L1073">lib/trivial.nix:1073</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.fromHexString"><code>lib.trivial.fromHexString</code></h2>
|
|
<p>Convert a hexadecimal string to it's integer representation.</p>
|
|
<h3 id="type_19">Type</h3>
|
|
<div class="highlight"><pre><span></span><code>fromHexString :: String -> [ String ]
|
|
</code></pre></div>
|
|
<h3 id="examples_14">Examples</h3>
|
|
<div class="highlight"><pre><span></span><code>fromHexString <span class="s2">"FF"</span>
|
|
<span class="o">=></span> <span class="mi">255</span>
|
|
|
|
fromHexString <span class="p">(</span><span class="nb">builtins</span><span class="o">.</span>hashString <span class="s2">"sha256"</span> <span class="s2">"test"</span><span class="p">)</span>
|
|
<span class="o">=></span> <span class="mi">9223372036854775807</span>
|
|
</code></pre></div>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L1098">lib/trivial.nix:1098</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.toHexString"><code>lib.trivial.toHexString</code></h2>
|
|
<p>Convert the given positive integer to a string of its hexadecimal
|
|
representation. For example:</p>
|
|
<p>toHexString 0 => "0"</p>
|
|
<p>toHexString 16 => "10"</p>
|
|
<p>toHexString 250 => "FA"</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L1115">lib/trivial.nix:1115</a> in <code><nixpkgs></code>.</p>
|
|
<h2 id="function-library-lib.trivial.toBaseDigits"><code>lib.trivial.toBaseDigits</code></h2>
|
|
<p><code>toBaseDigits base i</code> converts the positive integer i to a list of its
|
|
digits in the given base. For example:</p>
|
|
<p>toBaseDigits 10 123 => [ 1 2 3 ]</p>
|
|
<p>toBaseDigits 2 6 => [ 1 1 0 ]</p>
|
|
<p>toBaseDigits 16 250 => [ 15 10 ]</p>
|
|
<h3 id="inputs_31">Inputs</h3>
|
|
<p><code>base</code></p>
|
|
<p>: 1. Function argument</p>
|
|
<p><code>i</code></p>
|
|
<p>: 2. Function argument</p>
|
|
<p>Located at <a href="https://github.com/NixOS/nixpkgs/blob/master/lib/trivial.nix#L1151">lib/trivial.nix:1151</a> in <code><nixpkgs></code>.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
</div>
|
|
|
|
|
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
</div>
|
|
|
|
</main>
|
|
|
|
<footer class="md-footer">
|
|
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
<div class="md-copyright">
|
|
|
|
<div class="md-copyright__highlight">
|
|
Licenced MIT
|
|
</div>
|
|
|
|
|
|
Made with
|
|
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|
Material for MkDocs
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<div class="md-social">
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://git.auxolotl.org/auxolotl/docs" target="_blank" rel="noopener" title="Aux Docs Repo" class="md-social__link">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16.777 0a2.9 2.9 0 1 1-2.529 4.322H12.91a4.266 4.266 0 0 0-4.265 4.195v2.118a7.076 7.076 0 0 1 4.147-1.42l.118-.002h1.338a2.9 2.9 0 0 1 5.43 1.422 2.9 2.9 0 0 1-5.43 1.422H12.91a4.266 4.266 0 0 0-4.265 4.195v2.319A2.9 2.9 0 0 1 7.222 24 2.9 2.9 0 0 1 5.8 18.57V8.589a7.109 7.109 0 0 1 6.991-7.108l.118-.001h1.338A2.9 2.9 0 0 1 16.778 0ZM7.223 19.905a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Zm9.554-10.464a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.39Zm0-7.735a1.194 1.194 0 1 0 0 2.389 1.194 1.194 0 0 0 0-2.389Z"/></svg>
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://forum.aux.computer/" target="_blank" rel="noopener" title="Aux Forum" class="md-social__link">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.103 0C18.666 0 24 5.485 24 11.997c0 6.51-5.33 11.99-11.9 11.99L0 24V11.79C0 5.28 5.532 0 12.103 0zm.116 4.563a7.395 7.395 0 0 0-6.337 3.57 7.247 7.247 0 0 0-.148 7.22L4.4 19.61l4.794-1.074a7.424 7.424 0 0 0 8.136-1.39 7.256 7.256 0 0 0 1.737-7.997 7.375 7.375 0 0 0-6.84-4.585h-.008z"/></svg>
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
<a href="https://wiki.auxolotl.org/" target="_blank" rel="noopener" title="Aux Wiki" class="md-social__link">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.801 13.557c.148.098.288.202.417.313 1.854 1.6 3.127 4.656 2.582 7.311-1.091-.255-5.747-1.055-7.638-3.383-.91-1.12-1.366-2.081-1.569-2.885a5.65 5.65 0 0 0 .034-.219c.089.198.197.35.313.466.24.24.521.335.766.372.304.046.594-.006.806-.068l.001.001c.05-.015.433-.116.86-.342.325-.173 2.008-.931 3.428-1.566Zm-7.384 1.435C9.156 16.597 6.6 18.939.614 18.417c.219-1.492 1.31-3.019 2.51-4.11.379-.345.906-.692 1.506-1.009.286.168.598.332.939.486 2.689 1.221 3.903 1.001 4.89.573a1.3 1.3 0 0 0 .054-.025 6.156 6.156 0 0 0-.096.66Zm4.152-.462c.38-.341.877-.916 1.383-1.559-.389-.15-.866-.371-1.319-.591-.598-.29-1.305-.283-2.073-.315a4.685 4.685 0 0 1-.804-.103c.014-.123.027-.246.038-.369.062.104.673.057.871.057.354 0 1.621.034 3.074-.574 1.452-.608 2.55-1.706 3.022-3.225.474-1.52.22-3.091-.168-3.952-.169.709-1.453 2.381-1.926 2.871-.473.489-2.381 2.296-2.972 2.921-.7.74-.688.793-1.332 1.302-.202.19-.499.402-.563.53.027-.338.039-.675.027-.997a7.653 7.653 0 0 0-.032-.523c.322-.059.567-.522.567-.861 0-.224-.106-.247-.271-.229.075-.894.382-3.923 1.254-4.281.218.109.831.068.649-.295-.182-.364-.825-.074-1.081.266-.28.374-.956 2.046-.92 4.324-.113.014-.174.033-.322.033-.171 0-.321-.04-.433-.05.034-2.275-.714-3.772-.84-4.169-.12-.375-.491-.596-.781-.596-.146 0-.272.056-.333.179-.182.363.459.417.677.308.706.321 1.156 3.519 1.254 4.277-.125-.006-.199.035-.199.233 0 .311.17.756.452.843a.442.442 0 0 0-.007.03s-.287.99-.413 2.189a4.665 4.665 0 0 1-.718-.225c-.714-.286-1.355-.583-2.019-.566-.664.018-1.366.023-1.804-.036-.438-.058-.649-.15-.649-.15s-.234.365.257 1.075c.42.607 1.055 1.047 1.644 1.18.589.134 1.972.18 2.785-.377.16-.109.317-.228.459-.34a8.717 8.717 0 0 0-.013.626c-.289.753-.571 1.993-.268 3.338 0-.001.701-.842.787-2.958.006-.144.009-.271.01-.383.052-.248.103-.518.148-.799.072.135.151.277.234.413.511.842 1.791 1.37 2.383 1.49.091.019.187.032.285.038Zm-1.12.745c-.188.055-.445.1-.713.059-.21-.031-.45-.11-.655-.316-.169-.168-.312-.419-.401-.789a9.837 9.837 0 0 0 .039-.82l.049-.243c.563.855 1.865 1.398 2.476 1.522.036.008.072.014.109.02l-.013.009c-.579.415-.76.503-.891.558Zm6.333-2.818c-.257.114-4.111 1.822-5.246 2.363.98-.775 3.017-3.59 3.699-4.774 1.062.661 1.468 1.109 1.623 1.441.101.217.09.38.096.515a.57.57 0 0 1-.172.455Zm-9.213 1.62a1.606 1.606 0 0 1-.19.096c-.954.414-2.126.61-4.728-.571-2.023-.918-3.024-2.157-3.371-2.666.476.161 1.471.473 2.157.524.282.021.703.068 1.167.125.021.209.109.486.345.829l.001.001c.451.651 1.134 1.119 1.765 1.262.622.141 2.083.182 2.942-.407a3.12 3.12 0 0 0 .132-.093l.001.179a6.052 6.052 0 0 0-.221.721Zm5.512-1.271a17.49 17.49 0 0 1-1.326-.589c.437.042 1.054.083 1.692.108-.121.162-.244.323-.366.481Zm.932-1.26c-.12.17-.245.343-.373.517-.241.018-.478.03-.709.038a29.05 29.05 0 0 1-.741-.048c.608-.065 1.228-.252 1.823-.507Zm.22-.315c-.809.382-1.679.648-2.507.648-.472 0-.833.018-1.139.039v.001c-.324-.031-.665-.039-1.019-.054a3.555 3.555 0 0 1-.152-.009c.102-.002.192-.006.249-.006.363 0 1.662.034 3.151-.589 1.508-.632 2.645-1.773 3.136-3.351.37-1.186.31-2.402.086-3.312.458-.336.86-.651 1.147-.91.501-.451.743-.733.848-.869.199.206.714.864.685 2.138-.036 1.611-.606 3.187-1.501 4.154a9.099 9.099 0 0 1-1.321 1.132 11.978 11.978 0 0 0-.644-.422l-.089-.055-.051.091c-.184.332-.5.825-.879 1.374ZM4.763 5.817c-.157 1.144.113 2.323.652 3.099.539.776 2.088 2.29 3.614 2.505.991.14 2.055.134 2.055.134s-.593-.576-1.114-1.66c-.521-1.085-.948-2.104-1.734-2.786-.785-.681-1.601-1.416-2.045-1.945-.444-.53-.59-.86-.59-.86s-.656.175-.838 1.513Zm14.301 4.549a9.162 9.162 0 0 0 1.3-1.12c.326-.352.611-.782.845-1.265 1.315.145 2.399.371 2.791.434 0 0-.679 1.971-3.945 3.022l-.016-.035c-.121-.26-.385-.594-.975-1.036Zm-11.634.859a8.537 8.537 0 0 1-.598-.224c-1.657-.693-2.91-1.944-3.449-3.678-.498-1.601-.292-3.251.091-4.269.225.544.758 1.34 1.262 2.01a3.58 3.58 0 0 0-.172.726c-.163 1.197.123 2.428.687 3.24.416.599 1.417 1.62 2.555 2.193-.128.002-.253.003-.376.002Zm-1.758-.077c-.958-.341-1.901-.787-2.697-1.368C-.07 7.559 0 6.827 0 6.827s1.558-.005 3.088.179c.03.126.065.251.104.377.557 1.791 1.851 3.086 3.562 3.803l.047.019a4.254 4.254 0 0 1-.267-.026h-.001c-.401-.053-.595-.135-.595-.135l-.157-.069-.092.144-.017.029Zm6.807-1.59c.086.017.136.058.136.145 0 .197-.242.5-.597.597l-.01-.161a.887.887 0 0 0 .283-.243c.078-.099.142-.217.188-.338Zm-1.591.006c.033.1.076.197.129.282.061.097.134.18.217.24l-.021.083c-.276-.093-.424-.293-.424-.466 0-.078.035-.119.099-.139Zm-.025-.664c-.275-.816-.795-2.022-1.505-2.179-.296.072-.938.096-.691-.145.246-.24 1.085-.048 1.283.217.145.194.744.806 1.011 1.737l.032.227a.324.324 0 0 0-.13.143Zm1.454-.266c.251-.99.889-1.639 1.039-1.841.197-.265 1.036-.457 1.283-.217.247.241-.395.217-.691.145-.69.152-1.2 1.296-1.481 2.109a.364.364 0 0 0-.067-.059.37.37 0 0 0-.092-.043l.009-.094Zm4.802-2.708a9.875 9.875 0 0 1-.596.705c-.304.315-1.203 1.176-1.963 1.916.647-.955 1.303-1.806 2.184-2.376.123-.08.249-.161.375-.245Z"/></svg>
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
<div class="md-dialog" data-md-component="dialog">
|
|
<div class="md-dialog__inner md-typeset"></div>
|
|
</div>
|
|
|
|
|
|
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.tooltips", "search.highlight", "navigation.tabs", "navigation.indexes", "navigation.prune"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
|
|
|
|
<script src="../../../assets/javascripts/bundle.fe8b6f2b.min.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |