open-index/open-npm huggingface dataset:
npm package: @ppwcode/ng-async
Description: The SDK comes with a default implementation to extract an error from a response. To override this, add an implementation for `window.ppwcodeHttpErrorExtractor` in your application's `main.ts` file. For example:
Latest version: 21.4.1

# @ppwcode/ng-async

## Override default error extraction

The SDK comes with a default implementation to extract an error from a response. To override this, add an implementation for
`window.ppwcodeHttpErrorExtractor` in your application's `main.ts` file. For example:

```typescript
window.ppwcodeHttpErrorExtractor = (response: HttpErrorResponse): Error => {
    return new Error(response.statusText)
}
```

## Custom error handling

The SDK handles errors generically for all error codes present in the DEFAULT_ERROR_CODES constant. When such an error occurs,
the SDK will create a failed async result with the error and a null entity.

If you want to handle errors for specific error codes,
you can use the `expectHttpError` operator in combination with the `expectAsyncResultHttpError` operator.

The below facade example shows how to handle a 404 error using `expectHttpError` for a service that returns an AuditInfo object.
This facade method returns an AsyncResult with status `success` and fallback value `undefined` when the audit info is not found.

The `expectAsyncResultHttpError` operator will handle the other error codes present in the DEFAULT_HTTP_ERROR_CODES constant,
excluding what was already handled above.
Its fallback value is `null`, which will trigger the SDK to create a failed async result which will show the default error message.

```typescript
return this.#service.getAuditInfo().pipe(
    map((result: AuditInfo | null) => createSuccessAsyncResult(result)),
    expectHttpError([HttpStatusCode.NotFound], () => createSuccessAsyncResult(undefined), true),
    expectAsyncResultHttpError(DEFAULT_HTTP_ERROR_CODES, null)
)
```
npm package: @ppwcode/ng-common
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
Latest version: 21.4.1

# NgCommon

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.

## Code scaffolding

Run `ng generate component component-name --project ng-common` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ng-common`.

> Note: Don't forget to add `--project ng-common` or else it will be added to the default project in your `angular.json` file.

## Build

Run `ng build ng-common` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build ng-common`, go to the dist folder `cd dist/ng-common` and run `npm publish`.

## Running unit tests

Run `ng test ng-common` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.

## Library contents

### Mixins

#### Constructor

Defines a constructable type.

#### Handle subscriptions

Mixin to extend the given constructable with functionality to manage subscriptions.
Provides the following:

-   A function to wrap a stream with the PPW way of subscription handling.
-   An ngOnDestroy implementation to automatically unsubscribe to all known subscriptions.

#### Track pending

Enhances the given base class with functionality for tracking a "pending" state.
The initial state of the pending situation is "true".

### Pipes

#### PpwApiTranslate

A pipe to translate properties of type PpwTranslationMap that come from the API to the current active locale.

### RXJS Operators

#### TruthyFilter

An operator that only continues the stream when the incoming result is truthy

#### TruthyFirst

An operator that only continues the stream when the first incoming result is truthy
npm package: @ppwcode/ng-dialogs
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
Latest version: 21.4.1

# NgDialogs

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.

## Usage

### Theming

The following CSS variables are available for theming. Just add them to the `body` selector.

#### ppw-confirmation-dialog

| Variable name                                       | Extra info |
| --------------------------------------------------- | ---------- |
| `--ppw-confirmation-dialog-header-background-color` |            |
| `--ppw-confirmation-dialog-header-text-color`       |            |
npm package: @ppwcode/ng-forms
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
Latest version: 21.4.1

# NgForms

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.

## Code scaffolding

Run `ng generate component component-name --project ng-forms` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ng-forms`.

> Note: Don't forget to add `--project ng-forms` or else it will be added to the default project in your `angular.json` file.

## Build

Run `ng build ng-forms` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build ng-forms`, go to the dist folder `cd dist/ng-forms` and run `npm publish`.

## Running unit tests

Run `ng test ng-forms` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @ppwcode/ng-sdk
Description: This project contains the ppwcode Angular schematics to add our Angular SDK to a project.
Latest version: 21.4.1

# @ppwcode/ng-sdk

This project contains the ppwcode Angular schematics to add our Angular SDK to a project.

## ng-add

`ng add @ppwcode/ng-sdk`

Adds the Angular SDK to a project:

-   Add dependencies
-   Add Angular ESLint
-   Add Angular Material
-   Configure Angular Vitest runner
-   Modify package.json scripts

## Development

Development of this schematic is straightforward. Use the following steps to verify changes made to the schematics:

1. In a terminal, make sure you are in the root of the project (not the workspace!)
2. Run `npm run build` - This will build the project and place the artifacts in the `dist/ppwcode/ng-sdk` directory
3. In a second terminal, generate a new Angular project using the following command:
    > `ng new [name] --skip-install --ssr=false --style=scss --ai-config=none`
4. cd into the new project
5. Execute the schematic: `ng add [relative-path-to-dist]/dist/ppwcode/ng-sdk`

Repeat these steps every time you make changes to the schematics.
npm package: @ppwcode/ng-state-management
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
Latest version: 21.4.1

# NgStateManagement

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.

## Code scaffolding

Run `ng generate component component-name --project ng-state-management` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ng-state-management`.

> Note: Don't forget to add `--project ng-state-management` or else it will be added to the default project in your `angular.json` file.

## Build

Run `ng build ng-state-management` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build ng-state-management`, go to the dist folder `cd dist/ng-state-management` and run `npm publish`.

## Running unit tests

Run `ng test ng-state-management` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @ppwcode/ng-testing
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.1.0.
Latest version: 5.1.2

# NgTesting

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.1.0.

## Angular compatibility

| ng-testing version | Angular version |
| ------------------ | --------------- |
| 2.0.3              | 13              |
| 3.x.x              | 14              |
| 4.x.x              | 15              |
| 5.0.x              | 16              |
| > 5.1.x            | 16 and 17       |

## Code scaffolding

Run `ng generate component component-name --project ng-testing` to generate a new component. You can also use
`ng generate directive|pipe|service|class|guard|interface|enum|module --project ng-testing`.

> Note: Don't forget to add `--project ng-testing` or else it will be added to the default project in your
> `angular.json` file.

## Build

Run `ng build ng-testing` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build ng-testing`, go to the dist folder `cd dist/ng-testing` and run
`npm publish`.

## Running unit tests

Run `ng test ng-testing` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the
[Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @ppwcode/ng-unit-testing
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.
Latest version: 21.4.1

# NgUnitTesting

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.2.0.

## Code scaffolding

Run `ng generate component component-name --project ng-unit-testing` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ng-unit-testing`.

> Note: Don't forget to add `--project ng-unit-testing` or else it will be added to the default project in your `angular.json` file.

## Build

Run `ng build ng-unit-testing` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build ng-unit-testing`, go to the dist folder `cd dist/ng-unit-testing` and run `npm publish`.

## Running unit tests

Run `ng test ng-unit-testing` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @ppwcode/ng-vernacular-cru
Description: > NOTE > > This library is still in early stages of development. Lots of architectural decisions still need to be made based on > real-world projects. Please use this library, but only in case you are also prepared to extend the library and sit > together
Latest version: 15.5.5

# NgVernacularCru

> NOTE
>
> This library is still in early stages of development. Lots of architectural decisions still need to be made based on
> real-world projects. Please use this library, but only in case you are also prepared to extend the library and sit
> together with other developers to conclude on a way forward for your missing functionality.
>
> Where changes or considerations should still be made, this is clarified in the README docs using a NOTE like this.

## Documentation

The library is documented inside the `src/lib` folder with README files.

-   [State management](./src/lib/+state/README.md)
-   [App Frame](./src/lib/app-frame/README.md)
-   [Breadcrumbs](./src/lib/breadcrumbs/README.md)
-   [Data - Api Interaction](./src/lib/data/api-interaction/README.md)
-   [Data - CRU](./src/lib/data/CRU/README.md)
-   [Decorators](./src/lib/decorators/README.md)
-   [Dynamic Components](./src/lib/dynamic-components/README.md)
-   [Forms](./src/lib/forms/README.md)
-   [Performance](./src/lib/performance/README.md)
-   [Presentations](./src/lib/presentations/README.md)
-   [Routing](./src/lib/routing/README.md)
-   [Search](./src/lib/search/README.md)
-   [Spinner](./src/lib/spinner/README.md)

## Extending the library

### Build

Run `npm run build` to build the project. The build artifacts will be stored in the `dist/` directory.

### Publishing

After building your library with `npm run build`, go to the dist folder `cd dist/ppwcode/ng-vernacular-cru` and run
`npm publish`.

### Running unit tests

Run `ng test ng-vernacular-cru` to execute the unit tests via [Karma](https://karma-runner.github.io).
npm package: @ppwcode/ngx-components
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.0.0.
Latest version: 1.2.0

# NgxComponents

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.0.0.

## Code scaffolding

Run `ng generate component component-name --project ngx-components` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-components`.

> Note: Don't forget to add `--project ngx-components` or else it will be added to the default project in your `angular.json` file.

## Build

Run `ng build ngx-components` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build ngx-components`, go to the dist folder `cd dist/ngx-components` and run `npm publish`.

## Running unit tests

Run `ng test ngx-components` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.