open-index/open-npm huggingface dataset:
npm package: @premkumarhulikoppe/my-lib
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.0.0.
Latest version: 0.0.1

# MyLib

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

## Code scaffolding

Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file. 

## Build

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

## Publishing

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

## Running unit tests

Run `ng test my-lib` 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: @premotec/ngx-essentials
Description: * [Installation](#installation) * [Usage](#usage) * [API](#api)
Latest version: 6.2.0

#@premotec/ngx-essentials [![npm version](https://badge.fury.io/js/%40premotec%2Fngx-essentials.svg)](https://badge.fury.io/js/%40premotec%2Fngx-essentials)

## Table of Contents
* [Installation](#installation)
* [Usage](#usage)
* [API](#api)

##Installation

First you need to install the npm module:

```bash
    npm i @premotec/ngx-essentials --save
```

##Usage

1. Add NgxEssentials into your SharedModule class. Don't forget to add NgxEssentialsModule to the exports array. Shared.module.ts would look like this:

```typescript
import {NgModule} from '@angular/core';
import {NgxEssentialsModule} from '@premotec/ngx-essentials/';

@NgModule({
    imports: [NgxEssentialsModule],
    exports: [NgxEssentialsModule]
})
export class SharedModule {
}
```
Then import SharedModule everywhere you need the LoadingIndicatorComponent or ConfirmationModalComponent.

2. Provide singleton services and interceptors in your AppModule or CoreModule class. The import of TimeStampInterceptor in your core.module.ts would look like this.

```typescript
import { NgModule, ModuleWithProviders, Optional, SkipSelf, LOCALE_ID } from '@angular/core';
import { CommonModule } from '@angular/common';
import { HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';
import { TimeStampInterceptor } from '@premotec/ngx-essentials';

@NgModule({
  imports: [
    CommonModule,
  ]
})
export class CoreModule {
  static forRoot(): ModuleWithProviders {
    return {
      ngModule: CoreModule,
      providers: [
        {
          provide: HTTP_INTERCEPTORS,
          useClass: TimeStampInterceptor,
          multi: true
        },
      ],
    };
  }

  constructor (@Optional() @SkipSelf() parentModule: CoreModule) {
    if (parentModule) {
      throw new Error(
        'CoreModule is already loaded. Import it in the AppModule only');
    }
  }
}
```

## API

| Type  | Name |  Description |
| -------- | -------- | -------- |
| Component | BaseComponent | Base component to use that helps handle cleaning up of ressources |
| Component | LoadingIndicatorComponent | Provides a loading indicator. Just embed <pmt-loading-indicator></pmt-loading-indicator> into your html template file to use it.|
| Class | ObjectHelper | Helper for mapping and navigating on properties. |
| Directive | AutoWindowHeightDirective | Directive to adapt the height of an element to the height of the window. |
| Interceptor | TimeStampInterceptor | Interceptor which adds a timestamp to http requests in order to avoid browser caching. Import it to your application as descripted [here](#usage) |
| Model | WebAppInfoModel | Model for WebAppAssembly-API |