UNPKG

@rxap/pipes

Version:

Provides a set of Angular pipes for common data transformations, including currency formatting, string manipulation, and object property access. These pipes offer standalone functionality for easy integration into Angular templates. The package includes p

504 lines (414 loc) 22.1 kB
<!doctype html> <html class="no-js" lang=""> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>angular-pipes</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="../images/favicon.ico"> <link rel="stylesheet" href="../styles/style.css"> <link rel="stylesheet" href="../styles/dark.css"> </head> <body> <script> // Blocking script to avoid flickering dark mode // Dark mode toggle button var useDark = window.matchMedia('(prefers-color-scheme: dark)'); var darkModeState = useDark.matches; var $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input'); var $darkModeToggles = document.querySelectorAll('.dark-mode-switch'); var darkModeStateLocal = localStorage.getItem('compodoc_darkmode-state'); function checkToggle(check) { for (var i = 0; i < $darkModeToggleSwitchers.length; i++) { $darkModeToggleSwitchers[i].checked = check; } } function toggleDarkMode(state) { if (window.localStorage) { localStorage.setItem('compodoc_darkmode-state', state); } checkToggle(state); const hasClass = document.body.classList.contains('dark'); if (state) { for (var i = 0; i < $darkModeToggles.length; i++) { $darkModeToggles[i].classList.add('dark'); } if (!hasClass) { document.body.classList.add('dark'); } } else { for (var i = 0; i < $darkModeToggles.length; i++) { $darkModeToggles[i].classList.remove('dark'); } if (hasClass) { document.body.classList.remove('dark'); } } } useDark.addEventListener('change', function (evt) { toggleDarkMode(evt.matches); }); if (darkModeStateLocal) { darkModeState = darkModeStateLocal === 'true'; } toggleDarkMode(darkModeState); </script> <div class="navbar navbar-default navbar-fixed-top d-md-none p-0"> <div class="d-flex"> <a href="../" class="navbar-brand">angular-pipes</a> <button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button> </div> </div> <div class="xs-menu menu" id="mobile-menu"> <div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu> </div> <div class="container-fluid main"> <div class="row main"> <div class="d-none d-md-block menu"> <compodoc-menu mode="normal"></compodoc-menu> </div> <!-- START CONTENT --> <div class="content pipe"> <div class="content-data"> <ol class="breadcrumb"> <li class="breadcrumb-item">Pipes</li> <li class="breadcrumb-item" >RxapCurrencyPipe</li> </ol> <ul class="nav nav-tabs" role="tablist"> <li class="nav-item"> <a href="#info" class="nav-link" class="nav-link active" role="tab" id="info-tab" data-bs-toggle="tab" data-link="info">Info</a> </li> <li class="nav-item"> <a href="#source" class="nav-link" role="tab" id="source-tab" data-bs-toggle="tab" data-link="source">Source</a> </li> </ul> <div class="tab-content"> <div class="tab-pane fade active in" id="info"> <p class="comment"> <h3>File</h3> </p> <p class="comment"> <code>src/lib/currency.pipe.ts</code> </p> <section data-compodoc="block-metadata"> <h3>Metadata</h3> <table class="table table-sm table-hover metadata"> <tbody> <tr> <td class="col-md-3">Name</td> <td class="col-md-9">currency</td> </tr> <tr> <td class="col-md-3">Standalone</td> <td class="col-md-9"><code>true</code></td> </tr> </tbody> </table> </section> <section data-compodoc="block-methods"> <h3 id="methods"> Methods </h3> <table class="table table-sm table-bordered"> <tbody> <tr> <td class="col-md-4"> <a name="transform"></a> <span class="name"> <span class="modifier">Public</span> <span ><b>transform</b></span> <a href="#transform"><span class="icon ion-ios-link"></span></a> </span> </td> </tr> <tr> <td class="col-md-4"> <span class="modifier-icon icon ion-ios-reset"></span> <code>transform(value: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank">number</a>, currencyCode?: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, display?: "code" | "symbol" | "symbol-narrow" | string | boolean, digitsInfo?: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, locale?: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code> </td> </tr> <tr> <td class="col-md-4"> <div class="io-line">Defined in <a href="" data-line="50" class="link-to-prism">src/lib/currency.pipe.ts:50</a></div> </td> </tr> <tr> <td class="col-md-4"> <div class="io-description"><p>such as <code>USD</code> for the US dollar and <code>EUR</code> for the euro. The default currency code can be configured using the <code>DEFAULT_CURRENCY_CODE</code> injection token.</p> <ul> <li><code>code</code>: Show the code (such as <code>USD</code>).</li> <li><code>symbol</code>(default): Show the symbol (such as <code>$</code>).</li> <li><code>symbol-narrow</code>: Use the narrow symbol for locales that have two symbols for their currency. For example, the Canadian dollar CAD has the symbol <code>CA$</code> and the symbol-narrow <code>$</code>. If the locale has no narrow symbol, uses the standard symbol for the locale.</li> <li>String: Use the given string value instead of a code or a symbol. For example, an empty string will suppress the currency &amp; symbol.</li> <li>Boolean (marked deprecated in v5): <code>true</code> for symbol and false for <code>code</code>.</li> </ul> <p>in the following format:<br> <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.</p> <ul> <li><code>minIntegerDigits</code>: The minimum number of integer digits before the decimal point. Default is <code>1</code>.</li> <li><code>minFractionDigits</code>: The minimum number of digits after the decimal point. Default is <code>2</code>.</li> <li><code>maxFractionDigits</code>: The maximum number of digits after the decimal point. Default is <code>2</code>. If not provided, the number will be formatted with the proper amount of digits, depending on what the <a href="https://en.wikipedia.org/wiki/ISO_4217">ISO 4217</a> specifies. For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none. When not supplied, uses the value of <code>LOCALE_ID</code>, which is <code>en-US</code> by default. See <a href="guide/i18n#setting-up-the-locale-of-your-app">Setting your app locale</a>.</li> </ul> </div> <div class="io-description"> <b>Parameters :</b> <table class="params"> <thead> <tr> <td>Name</td> <td>Type</td> <td>Optional</td> <td>Description</td> </tr> </thead> <tbody> <tr> <td>value</td> <td> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code> </td> <td> No </td> <td> <p>The number to be formatted as currency.</p> </td> </tr> <tr> <td>currencyCode</td> <td> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> </td> <td> Yes </td> <td> <p>The <a href="https://en.wikipedia.org/wiki/ISO_4217">ISO 4217</a> currency code, such as <code>USD</code> for the US dollar and <code>EUR</code> for the euro. The default currency code can be configured using the <code>DEFAULT_CURRENCY_CODE</code> injection token.</p> </td> </tr> <tr> <td>display</td> <td> <code>&quot;code&quot; | &quot;symbol&quot; | &quot;symbol-narrow&quot; | string | boolean</code> </td> <td> Yes </td> <td> <p>The format for the currency indicator. One of the following:</p> <ul> <li><code>code</code>: Show the code (such as <code>USD</code>).</li> <li><code>symbol</code>(default): Show the symbol (such as <code>$</code>).</li> <li><code>symbol-narrow</code>: Use the narrow symbol for locales that have two symbols for their currency. For example, the Canadian dollar CAD has the symbol <code>CA$</code> and the symbol-narrow <code>$</code>. If the locale has no narrow symbol, uses the standard symbol for the locale.</li> <li>String: Use the given string value instead of a code or a symbol. For example, an empty string will suppress the currency &amp; symbol.</li> <li>Boolean (marked deprecated in v5): <code>true</code> for symbol and false for <code>code</code>.</li> </ul> </td> </tr> <tr> <td>digitsInfo</td> <td> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> </td> <td> Yes </td> <td> <p>Decimal representation options, specified by a string in the following format:<br> <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.</p> <ul> <li><code>minIntegerDigits</code>: The minimum number of integer digits before the decimal point. Default is <code>1</code>.</li> <li><code>minFractionDigits</code>: The minimum number of digits after the decimal point. Default is <code>2</code>.</li> <li><code>maxFractionDigits</code>: The maximum number of digits after the decimal point. Default is <code>2</code>. If not provided, the number will be formatted with the proper amount of digits, depending on what the <a href="https://en.wikipedia.org/wiki/ISO_4217">ISO 4217</a> specifies. For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.</li> </ul> </td> </tr> <tr> <td>locale</td> <td> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code> </td> <td> Yes </td> <td> <p>A locale code for the locale format rules to use. When not supplied, uses the value of <code>LOCALE_ID</code>, which is <code>en-US</code> by default. See <a href="guide/i18n#setting-up-the-locale-of-your-app">Setting your app locale</a>.</p> </td> </tr> </tbody> </table> </div> <div class="io-description"> <b>Returns : </b> <code>string | null</code> </div> <div class="io-description"> </div> </td> </tr> </tbody> </table> </section> </div> <div class="tab-pane fade tab-source-code" id="source"> <pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { NgModule, Pipe, PipeTransform, } from &#x27;@angular/core&#x27;; import { CurrencyPipe } from &#x27;@angular/common&#x27;; @Pipe({ name: &#x27;currency&#x27;, standalone: true, }) export class RxapCurrencyPipe implements PipeTransform { constructor(private readonly currency: CurrencyPipe) { } /** * * @param value The number to be formatted as currency. * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code, * such as &#x60;USD&#x60; for the US dollar and &#x60;EUR&#x60; for the euro. The default currency code can be * configured using the &#x60;DEFAULT_CURRENCY_CODE&#x60; injection token. * @param display The format for the currency indicator. One of the following: * - &#x60;code&#x60;: Show the code (such as &#x60;USD&#x60;). * - &#x60;symbol&#x60;(default): Show the symbol (such as &#x60;$&#x60;). * - &#x60;symbol-narrow&#x60;: Use the narrow symbol for locales that have two symbols for their * currency. * For example, the Canadian dollar CAD has the symbol &#x60;CA$&#x60; and the symbol-narrow &#x60;$&#x60;. If the * locale has no narrow symbol, uses the standard symbol for the locale. * - String: Use the given string value instead of a code or a symbol. * For example, an empty string will suppress the currency &amp; symbol. * - Boolean (marked deprecated in v5): &#x60;true&#x60; for symbol and false for &#x60;code&#x60;. * * @param digitsInfo Decimal representation options, specified by a string * in the following format:&lt;br&gt; * &lt;code&gt;{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}&lt;/code&gt;. * - &#x60;minIntegerDigits&#x60;: The minimum number of integer digits before the decimal point. * Default is &#x60;1&#x60;. * - &#x60;minFractionDigits&#x60;: The minimum number of digits after the decimal point. * Default is &#x60;2&#x60;. * - &#x60;maxFractionDigits&#x60;: The maximum number of digits after the decimal point. * Default is &#x60;2&#x60;. * If not provided, the number will be formatted with the proper amount of digits, * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies. * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none. * @param locale A locale code for the locale format rules to use. * When not supplied, uses the value of &#x60;LOCALE_ID&#x60;, which is &#x60;en-US&#x60; by default. * See [Setting your app locale](guide/i18n#setting-up-the-locale-of-your-app). */ public transform( value: number, currencyCode?: string, display?: &#x27;code&#x27; | &#x27;symbol&#x27; | &#x27;symbol-narrow&#x27; | string | boolean, digitsInfo?: string, locale?: string, ): string | null { return this.currency.transform(value / 100, currencyCode, display, digitsInfo, locale); } } @NgModule({ imports: [ RxapCurrencyPipe ], exports: [ RxapCurrencyPipe ], providers: [ CurrencyPipe ], }) export class CurrencyPipeModule { } </code></pre> </div> </div> </div><div class="search-results"> <div class="has-results"> <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1> <ul class="search-results-list"></ul> </div> <div class="no-results"> <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1> </div> </div> </div> <!-- END CONTENT --> </div> </div> <label class="dark-mode-switch"> <input type="checkbox"> <span class="slider"> <svg class="slider-icon" viewBox="0 0 24 24" fill="none" height="20" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" width="20" xmlns="http://www.w3.org/2000/svg"> <path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path> </svg> </span> </label> <script> var COMPODOC_CURRENT_PAGE_DEPTH = 1; var COMPODOC_CURRENT_PAGE_CONTEXT = 'pipe'; var COMPODOC_CURRENT_PAGE_URL = 'RxapCurrencyPipe.html'; var MAX_SEARCH_RESULTS = 15; </script> <script> $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input'); checkToggle(darkModeState); if ($darkModeToggleSwitchers.length > 0) { for (var i = 0; i < $darkModeToggleSwitchers.length; i++) { $darkModeToggleSwitchers[i].addEventListener('change', function (event) { darkModeState = !darkModeState; toggleDarkMode(darkModeState); }); } } </script> <script src="../js/libs/custom-elements.min.js"></script> <script src="../js/libs/lit-html.js"></script> <script src="../js/menu-wc.js" defer></script> <script nomodule src="../js/menu-wc_es5.js" defer></script> <script src="../js/libs/bootstrap-native.js"></script> <script src="../js/libs/es6-shim.min.js"></script> <script src="../js/libs/EventDispatcher.js"></script> <script src="../js/libs/promise.min.js"></script> <script src="../js/libs/zepto.min.js"></script> <script src="../js/compodoc.js"></script> <script src="../js/tabs.js"></script> <script src="../js/menu.js"></script> <script src="../js/libs/clipboard.min.js"></script> <script src="../js/libs/prism.js"></script> <script src="../js/sourceCode.js"></script> <script src="../js/search/search.js"></script> <script src="../js/search/lunr.min.js"></script> <script src="../js/search/search-lunr.js"></script> <script src="../js/search/search_index.js"></script> <script src="../js/lazy-load-graphs.js"></script> </body> </html>