0.1.0 • Published 5 months ago

ngx-nullable v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

npm version Package License NPM Downloads Snyk codecov stars forks HitCount

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

Angular 19 compatible

Here's the demo

  • Lightweight
  • No dependencies!

🛠️ 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 - 2025 Dominik Hladik

All contents are licensed under the MIT license.

0.1.0

5 months ago

0.0.3

8 months ago

0.0.5

8 months ago

0.0.4

8 months ago

0.0.6

8 months ago

0.0.2

9 months ago

0.0.1

9 months ago