open-index/open-npm huggingface dataset:
npm package: @mediaclip/dependency-injection
Description: Another strongly-typed dependency injection. Without decorators
Latest version: 1.0.6

# Dependency injection

A library for a simple strongly typed dependency injection.

It supports Singleton and Scoped registrations and guarantee at compile time that everything as been registered.

## Example

Simple example with singletons only. You need to create a token to register a service in the container, and then you can use this token to resolve the service.
You can register a service with it's instance directly or with a factory.
The first parameter of the factory is the `IDiContainer` so you can use this to resolve other services if you have a service depending on naother one.

```ts
import {DiContainer, DiToken} from "@mediaclip/dependency-injection";

interface IService1 {}
class Service1 implements IService1 {}
interface IService2 {}
class Service2 implements IService2 {}
interface IService3 {}
class Service3 implements IService3 {
    constructor(
        private readonly service1: IService1,
        private readonly service2: IService2
    ) {
    }
}

let tokenService1 = DiToken.create<IService1>('Service1')
let tokenService2 = DiToken.create<IService2>('Service2')
let tokenService3 = DiToken.create<IService3>('Service3')

let container = new DiContainer();
container.registerSingleton(tokenService1, new Service1());
container.registerSingleton(tokenService2, new Service2());
container.registerSingleton(tokenService3, c => new Service3(
    c.resolve(tokenService1),
    c.resolve(tokenService2)
));

const service3 = container.resolve(tokenService3)
```

## Scoped vs Singleton

When registering a service on the container you can either register it as `singleton` or as `scoped`.
A singleton service will only be instantiated once, and a scoped service will have one instance of each scope.
A scope is created by calling `container.createScope()`

Example: See [sample](samples/src/scoped.ts)

## Module patterns

To avoid having a big file with the configuration of all the DI, it's preferable to split this into multiple files, kind of 1 module / folder or per things that go together.


Example: See [sample](samples/src/module.ts)
npm package: @mediacologne/angular-annotato-module
Description: ## Installation
Author: sreule
Latest version: 0.5.1

# mediacologne-angular-annotato-module

## Installation

To install this library, run:

```bash
$ npm install @mediacologne/angular-annotato-module
```


To build the library

```bash
npm run build
```

To run the playground

```bash
npm run playground
```

To publish the library

```bash
# The automatic release way
npm release:patch
npm release:minor
npm release:major

# The manual way
npm run build
npm publish --access=public dist
```
npm package: @mediacologne/angular-auth-module
Latest version: 6.0.0

# @mediacologne/angular-auth-module


# News


# Installation

## Install the NPM Module

```bash
$ npm install @mediacologne/angular-auth-module
```

## Using the Library

Nach der Installation muss die Library durch das Importieren des `AuthModule` verfügbar gemacht werden.

```typescript
// Import your library
import { AuthModule } from '@mediacologne/angular-auth-module';

@NgModule({
  imports: [
    AuthModule
  ]
})
export class AppModule { }
```

# Documentation

## Concepts

Es folgt eine kurze Erklärung über die Konzepte der einzelnen Komponenten dieser Library.









# Developing the Library

Während der Entwicklung an der Library muss diese getestet werden, gebuilded werden sowie gepublished werden können. Hier steht wie's geht:

---
## Testing

Um die Library zu testen muss im `./demo` Ordner ein `ng serve` ausgeführt werden. 

> Aus irgendeinem Grund kommt nach dem Start von `ng serve` sofort ein Fehler
>
> `ERROR in Error: Error encountered resolving symbol values statically. Function calls are not supported. Consider replacing the function or lambda with a reference to an exported function`
>
> Dieser Fehler kann ignoriert werden, denn er verschwindet bei der nächsten Quellcode Änderung. Grund des Fehlers ist unklar => https://github.com/angular/angular-cli/issues/3707

---
## Building

Um die Library zu builden wird im `./` Verzeichnis ein `npm run build` ausgeführt. Dadurch wird die kompilierte Version im `./dist` Verzeichnis erzeugt. Der Buildprozess läuft über die Gulp Tasks innerhalb der `./gulpfile.js`.
Die Library wurde erstellt mittels `yo a2lib libname` von https://github.com/johannesjo/generator-angular2-lib

---
## Publishing

Um eine neue Version der Library zu publishen wird im `./` Verzeichnis ein `npm publish` ausgeführt. Es ist zu beachten, dass vor dem publishen einer neuen Version unbedingt die Versionsnummer angehoben werden muss.

> Generell empfiehlt es sich, zuerst die Versionsnummer anzuheben und anschließend ein build anzustoßen. Ist dies erfolgreich kann die Library gepublished und anschließend die Code Änderung commited werden.
npm package: @mediacologne/angular-utility-module
Latest version: 5.1.0

# @mediacologne/angular-utility-module


# News


# Installation

## Install the NPM Module

```bash
$ npm install @mediacologne/angular-utility-module
```

## Using the Library

Nach der Installation muss die Library durch das Importieren des `UtilityModule` verfügbar gemacht werden.

```typescript
// Import your library
import { AuthModule } from '@mediacologne/angular-utility-module';

@NgModule({
  imports: [
    UtilityModule
  ]
})
export class AppModule { }
```

# Documentation

## Concepts

Es folgt eine kurze Erklärung über die Konzepte der einzelnen Komponenten dieser Library.









# Developing the Library

Während der Entwicklung an der Library muss diese getestet werden, gebuilded werden sowie gepublished werden können. Hier steht wie's geht:

---
## Testing

Um die Library zu testen muss im `./demo` Ordner ein `ng serve` ausgeführt werden. 

> Aus irgendeinem Grund kommt nach dem Start von `ng serve` sofort ein Fehler
>
> `ERROR in Error: Error encountered resolving symbol values statically. Function calls are not supported. Consider replacing the function or lambda with a reference to an exported function`
>
> Dieser Fehler kann ignoriert werden, denn er verschwindet bei der nächsten Quellcode Änderung. Grund des Fehlers ist unklar => https://github.com/angular/angular-cli/issues/3707

---
## Building

Um die Library zu builden wird im `./` Verzeichnis ein `npm run build` ausgeführt. Dadurch wird die kompilierte Version im `./dist` Verzeichnis erzeugt. Der Buildprozess läuft über die Gulp Tasks innerhalb der `./gulpfile.js`.
Die Library wurde erstellt mittels `yo a2lib libname` von https://github.com/johannesjo/generator-angular2-lib

---
## Publishing

Um eine neue Version der Library zu publishen wird im `./` Verzeichnis ein `npm publish` ausgeführt. Es ist zu beachten, dass vor dem publishen einer neuen Version unbedingt die Versionsnummer angehoben werden muss.

> Generell empfiehlt es sich, zuerst die Versionsnummer anzuheben und anschließend ein build anzustoßen. Ist dies erfolgreich kann die Library gepublished und anschließend die Code Änderung commited werden.
npm package: @mediacomem/ipgeolocation
Description: Get IP location information with ipgeolocation.io
Author: Media Engineering Institute
Latest version: 1.0.0

# ipgeolocation

> Get the geolocation of IP addresses in a CSV file using
> https://ipgeolocation.io.

This tool expects a CSV file with IP addresses in the first column and a
one-line header, for example:

```csv
IP Address,Whatever
100.101.102.103,foo
104.105.106.107,bar
200.201.202.203,baz
```

It will output a CSV file with geolocation data about each IP address. This is a
simplified example of the output:

```csv
ip,type,result,country_code2,country_name,state_prov,city,...
100.101.102.103,ipv4,success,US,United States,New York,Syracuse,...
```

The description of all returned geolocation data can be found here:
https://ipgeolocation.io/documentation/ip-geolocation-api.html

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->


- [Requirements](#requirements)
- [Installation](#installation)
- [Usage](#usage)
- [Examples](#examples)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## Requirements

* [Node.js](https://nodejs.org) 12+

## Installation

```bash
npm install --global @mediacomem/ipgeolocation
```

> Or with [npx](https://github.com/npm/npx#readme):
>
> ```bash
> npx @mediacomem/ipgeolocation --help
> ```

## Usage

```
ipgeolocation [options...]

Options:
  --version                Show version number                         [boolean]
  --apiKey, -k, --api-key  Provide your ipgeolocation API key[string] [required]
  --apiUrl, -u, --api-url  Change the default ipgeolocation API URL
                        [string] [default: "https://api.ipgeolocation.io/ipgeo"]
  --input, -i              CSV input file (- for standard input)
                                                         [string] [default: "-"]
  --output, -o             CSV output file (standard output if not specified)
                                                                        [string]
  --help                   Show help                                   [boolean]
```

## Examples

* Geolocate IP addresses in a CSV file and save the results to another file:

      ipgeolocation -i input.csv -o output.csv --api-key CHANGEME
* Geolocate IP adresses in CSV from standard input and print the results to
  standard output:

      cat input.csv | ipgeolocation --api-key CHANGEME > output.csv