Home

Awesome

<p align="center"> <a href="https://github.com/Celtian/ngx-nullable" target="blank"><img src="assets/logo.svg?sanitize=true" alt="" width="120"></a> <h1 align="center">NgxNullable</h1> </p>

npm version Package License NPM Downloads Snyk codecov stars forks HitCount

This library provides a way to make properties nullable in Angular templates.

Angular 18 compatible

Here's the demo

🛠️ Install

  1. Use yarn (or npm) to install the package
yarn add ngx-nullable
  1. Add provideNullable into your config (optional)
import { provideNullable } from 'ngx-nullable';

export const appConfig: ApplicationConfig = {
  providers: [
    // ...
    provideNullable({
      character: '---',
      separator: ' | ',
      displayZero: true
    })
  ]
};

or module

  import { provideNullable } from 'ngx-nullable';

  @NgModule({
   // ...
   providers: [
     // ...
     provideNullable({
       character: '---',
       separator: ' | ',
       displayZero: true
     })
   ]
  })

🚀 Quick start

Pipe example

<ul>
  <li>{{ -1000 | ngxNullable }}</li>
  <li>{{ 1000 | ngxNullable }}</li>
  <li>{{ 0 | ngxNullable }}</li>
  <li>{{ null | ngxNullable }}</li>
  <li>{{ undefined | ngxNullable }}</li>
  <li>{{ 'string' | ngxNullable }}</li>
  <li>{{ '' | ngxNullable }}</li>
  <li>{{ ' ' | ngxNullable }}</li>
</ul>

<ul>
  <li>{{ ['', ' ', undefined, null] | ngxNullableJoin }}</li>
  <li>{{ ['AAA', 'BBB', 'CCC'] | ngxNullableJoin }}</li>
  <li>{{ ['AAA', '', ' ', undefined, null, 'BBB'] | ngxNullableJoin }}</li>
  <li>{{ [] | ngxNullableJoin }}</li>
</ul>

Signals example


@Component({
  // ...
})
class Example {
  private readonly nullable = inject(NgxNullableService);
  public readonly input = signal<string>('');
  public readonly computed = computed(() => this.nullable.fromString(this.input()));
}

🛠️ Options

Root options

OptionTypeDefaultDescription
characterstring'—'The character to display when the value is null or undefined
separatorstring', 'The separator to use when joining multiple values
displayZerobooleantrueWhether to display zero when the value is zero

📦 Dependencies

None

🪪 License

Copyright © 2024 Dominik Hladik

All contents are licensed under the MIT license.