open-index/open-npm huggingface dataset:
npm package: @ssiagvance/dexx
Description: Dexx is an offline browser storage solution that uses indexedDB
Author: ssi@agvance.net
Latest version: 1.0.0

# Dexx

Dexx is an offline browser storage solution that uses indexedDB. The data stored can be of any type. Each piece of data is stored with attribute metadata. Data can be retrieved or removed by partially or exactly matching the metadata attributes.

## Storage Interface

```typescript
export interface DexxStorage {
  save: (data: any, attributes: DexxAttributeMap, expiration: string) => Promise<void>;
  get: (attributes: DexxAttributeMap, exact?: boolean) => Promise<any[]>;
  getFirst: (attributes: DexxAttributeMap, exact?: boolean) => Promise<any>;
  remove: (attributes: DexxAttributeMap, exact?: boolean) => Promise<void>;
  clear: () => Promise<void>;
}

export interface DexxAttributeMap {
  [name: string]: string[];
}
```

### Expiration

Expiration strings are made up of an integer and a duration character. Valid durations are:

| Duration Symbol | Meaning |
| ----------------| ------- |
| s               | seconds |
| m               | minutes |
| h               | hours   |
| d               | days    |
| w               | weeks   |
| n               | months  |
| y               | years   |

So a valid expiration would be `2d` for `two days`. Or `3h` for `3 hours`.

## Http Client Interface

```typescript
export interface DexxHttp {
  get(url: string, expiration: string, attributes?: DexxAttributeMap, headers?: Headers): Promise<ResponseInfo>;
}

export interface DexxAttributeMap {
  [name: string]: string[];
}

export interface ResponseInfo {
  url: string;
  body: any;
  status: number;
  headers: { [name: string]: string };
}
```
npm package: @ssibrahimbas/ms-hub
Description: A CommonJS Tool Hub For Microservice
Author: Sami Salih İBRAHİMBAŞ
Latest version: 0.0.2

<p align="center"><br><img src="https://avatars.githubusercontent.com/u/76786120?v=4" width="128" height="128" style="border-radius: 50px;" /></p>
<h3 align="center">Ssibrahimbas Microservices Hub</h3>
<p align="center"><strong><code>@ssibrahimbas/ms-hub</code></strong></p>
<p align="center">
  A CommonJS Tool Hub For Microservice
</p>

## Maintainers

| Maintainer            | GitHub                                          | Web                                                     |
|-----------------------|-------------------------------------------------|---------------------------------------------------------|
| Sami Salih İbrahimbaş | [ssibrahimbas](https://github.com/ssibrahimbas) | [@ssibrahimbas](https://www.samisalihibrahimbas.com.tr) |
npm package: @ssibrahimbas/nestjs-mysql2
Description: mysql2 module and service for nest
Author: Sami Salih İBRAHİMBAŞ
Latest version: 0.0.2

<p align="center"><br><img src="https://avatars.githubusercontent.com/u/76786120?v=4" width="128" height="128" style="border-radius: 50px;" /></p>
<h3 align="center">@ssibrahimbas/nestjs-mysql2</h3>
<p align="center">
  mysql2 module and service for nest
</p>

### What is it?

This package aims to use `nestjs` and `mysql2` package without any extra requirements. Includes 100% compatibility with `mysql2` and `@ssibrahimbas/query` package.

### Installation

To include this package in your project, run the following command:

```
npm install @ssibrahimbas/nestjs-mysql2 mysql2
```

> or with yarn
>
> ```
> yarn add @ssibrahimbas/nestjs-mysql2 mysql2
> ```

### Getting Started

Let's register the MySqlModule in `app.module.ts`
```typescript
import {Module} from "@nestjs/common"
import {MySqlModule} from "@ssibrahimbas/nestjs-mysql2"

@Module({
    imports: [
        MySqlModule.forRoot({
            host: 'localhost',
            port: 3306,
            user: 'root',
            password: '12345',
            database: 'myDb',
        })
    ]
})
export class AppModule {}
```

Use entity for mysql2 raw:

```typescript
// user.entity.ts
import { RowDataPacket } from 'mysql2';

export interface UserEntity extends RowDataPacket {
  id: number;
  fullName: string;
}
```

And your any injectable file:

```typescript
import { Injectable } from '@nestjs/common';
import { MySqlService } from '@ssibrahimbas/nestjs-mysql2'

@Injectable()
export class UserRepository {
    constructor(private mysqlService: MySqlService) {}

    async getAll() : Promise<Array<UserEntity>> {
        return this.mysqlService.exec<UserEntity>("SELECT * FROM users");
    }

    async getById(id) : Promise<UserEntity> {
        return this.mysqlService.execSingle<UserEntity>("SELECT * FROM users WHERE id = 1")
    }
}
```

Or With `@ssibrahimbas/query` package:

> install package:
> ```
> npm install @ssibrahimbas/query
> ```

```typescript
import { Injectable } from '@nestjs/common';
import { MySqlService } from '@ssibrahimbas/nestjs-mysql2'
import { Query } from '@ssibrahimbas/query'

@Injectable()
export class UserRepository {
    constructor(private mysqlService: MySqlService) {}

    async getAll() : Promise<Array<UserEntity>> {
        return this.mysqlService.exec<UserEntity>(Query.table('users').getAll());
    }

    async getById(id) : Promise<UserEntity> {
        return this.mysqlService.execSingle<UserEntity>(Query.table('users').where('id', '=', id).getAll());
    }
}
```

That's it!

Check out the github repo for example usage!
npm package: @ssibrahimbas/v-mask
Description: mask directive for vue3
Author: Sami Salih İBRAHİMBAŞ
Latest version: 1.0.0

<p align="center"><br><img src="https://avatars.githubusercontent.com/u/76786120?v=4" width="128" height="128" style="border-radius: 50px;" /></p>
<h3 align="center">@ssibrahimbas/v-mask</h3>
<p align="center">
  Mask for Vue.js 3
</p>

### What Is It?

`v-mask` is a directive for Vue.js 3 that allows you to mask input fields.

This package inspired by [vue-the-mask](https://github.com/vuejs-tips/vue-the-mask)

### Installation

```bash
npm install @ssibrahimbas/v-mask
```

### Usage

```js
import { createApp } from "vue";
import VMask from "@ssibrahimbas/v-mask";

const app = createApp(App).use(VMask).mount("#app");
```

```html
<input v-mask="'###-##-##'" />
```

### Tokens

| Token | Description                |
| ----- | -------------------------- |
| `#`   | Digit                      |
| `X`   | Any character              |
| `S`   | Any text character         |
| `A`   | Any uppercase character    |
| `a`   | Any lowercase character    |
| `!`   | Any alphanumeric character |

### Options

| Option | Type     | Default | Description                     |
| ------ | -------- | ------- | ------------------------------- |
| `mask` | `String` | `''`    | Mask to be applied to the input |
npm package: @ssigwart/webpack-typescript-directory-compile-plugin
Description: Webpack plugin to take a source directory of typescript files and compile them to a destination directory of javascript files.
Author: Stephen Sigwart
Latest version: 1.0.0

This Webpack plugin takes a source directory of typescript files and compiles them to a destination directory.

## Including Package
```bash
npm install @ssigwart/webpack-typescript-directory-compile-plugin --save-dev
```

## Example Usage

```js
const path = require('path');
const { TypescriptDirectoryCompileWebpackPlugin } = require('@ssigwart/webpack-typescript-directory-compile-plugin');

const tsDirCompilePlugin = new TypescriptDirectoryCompileWebpackPlugin(path.resolve(__dirname, "./ts/web"), path.resolve(__dirname, "www/js"));

module.exports = {
	entry: tsDirCompilePlugin.getEntry(),
	output: {
		path: tsDirCompilePlugin.getOutputPath(),
		filename: "[name].js",
	},
	resolve: {
		extensions: [".ts"],
	},
	module: {
		rules: [
			{ test: /\.ts$/, loader: "ts-loader" },
		],
	},
	plugins: [
		tsDirCompilePlugin
	]
};
```