open-index/open-npm huggingface dataset:
npm package: @juit/pgproxy-client-node
Description: This package provides a NodeJS specific client for PGProxy Servers.
Author: Juit Developers
Latest version: 1.4.23

# PostgreSQL Proxy Client (NodeJS Implementation)

This package provides a NodeJS specific client for PGProxy Servers.

* [Usage with PGClient](#usage-with-pgclient)
* [Direct Usage](#direct-usage)
* [PGProxy](https://github.com/juitnow/juit-pgproxy/blob/main/README.md)
* [Copyright Notice](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
* [License](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)

### Usage with PGClient

Simply register the client by importing it, and ensure that the `PGURL`
environment variable is set to the HTTP/HTTPS url of the server (or specify
the URL in the constructor):

```ts
import '@juit/pgproxy-client-node'
import { PGClient } from '@juit/pgproxy-client'

const client = new PGClient('https://my-secret@my-pgproxy-server:54321/')
```

### Direct usage

The NodeJS client can be used directly by simply importing the `NodeClient`
class:

```ts
import { NodeClient } from '@juit/pgproxy-client-node'

const client = new NodeClient('https://my-secret@my-pgproxy-server:54321/')
```
npm package: @juit/pgproxy-client-psql
Description: This package provides a `PGClient` implementation _directly connecting_ to PostgreSQL servers, and not requiring a PGProxy Server to run.
Author: Juit Developers
Latest version: 1.4.23

# PostgreSQL Proxy Client (LibPQ Implementation)

This package provides a `PGClient` implementation _directly connecting_ to
PostgreSQL servers, and not requiring a PGProxy Server to run.

This is useful (mostly? only?) when running tests with a PostgreSQL instance
running on a developer's machine, or in CI environments.

* [Usage with PGClient](#usage-with-pgclient)
* [Direct Usage](#direct-usage)
* [Environment Variables](#environment-variables)
* [PGProxy](https://github.com/juitnow/juit-pgproxy/blob/main/README.md)
* [Copyright Notice](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
* [License](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)

### Usage with PGClient

Simply register the client by importing it, and ensure that the `PGURL`
environment variable is set to the `psql` url of the PostgreSQL server (or
specify the URL in the constructor):

```ts
import '@juit/pgproxy-client-psql'
import { PGClient } from '@juit/pgproxy-client'

const client = new PGClient('psql://username:password@locahost:5432/my-database')
```

### Direct usage

The PSQL client can be used directly by simply importing the `PSQLClient`
class:

```ts
import { PSQLClient } from '@juit/pgproxy-client-psql'

const client = new PSQLClient('psql://username:password@locahost:5432/my-database')
```

### Environment Variables

The `PSQLClient` implementation does not _require_ a connection URL, and all
connection parameters can be specified via `libpq` environment variables.

The special (empty) URL `psql:///` can be used with `PGClient` in order to
trigger this behaviour or `PSQLClient` instances can be constructed without
an URL parameter.

For a description of the environment variables supported by `libpq` simply look
at the [official documentation](https://www.postgresql.org/docs/current/libpq-envars.html).
npm package: @juit/pgproxy-client-whatwg
Description: This package provides client for PGProxy Servers based on WHATWG `fetch` and WebSockets, and the WebCrypto API.
Author: Juit Developers
Latest version: 1.4.23

# PostgreSQL Proxy Client (WHATWG + WebCrypto Implementation)

This package provides client for PGProxy Servers based on WHATWG `fetch` and
WebSockets, and the WebCrypto API.

* [Usage with PGClient](#usage-with-pgclient)
* [Direct Usage](#direct-usage)
* [PGProxy](https://github.com/juitnow/juit-pgproxy/blob/main/README.md)
* [Copyright Notice](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
* [License](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)

### Usage with PGClient

Simply register the client by importing it, and ensure that the `PGURL`
environment variable is set to the HTTP/HTTPS url of the server (or specify
the URL in the constructor):

```ts
import '@juit/pgproxy-client-whatwg'
import { PGClient } from '@juit/pgproxy-client'

const client = new PGClient('https://my-secret@my-pgproxy-server:54321/')
```

### Direct usage

The WHATWG client can be used directly by simply importing the `WHATWGClient`
class:

```ts
import { WHATWGClient } from '@juit/pgproxy-client-whatwg'

const client = new WHATWGClient('https://my-secret@my-pgproxy-server:54321/')
```
npm package: @juit/pgproxy-model
Description: This package exports _only the types_ required by the [PGProxy Persister interface](https://github.com/juitnow/juit-pgproxy/blob/main/workspaces/persister/README.md).
Author: Juit Developers
Latest version: 1.4.23

# PostgreSQL Proxy Persister Model Types

This package exports _only the types_ required by the [PGProxy Persister
interface](https://github.com/juitnow/juit-pgproxy/blob/main/workspaces/persister/README.md).

This simplifies type management allowing **consumers** of libraries and APIs
using Persister to ship this (and their inferred types) as a simple dependency
without bringing in any extra code.

* [PGProxy](https://github.com/juitnow/juit-pgproxy/blob/main/README.md)
* [Copyright Notice](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
* [License](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
npm package: @juit/pgproxy-pool
Description: This package provides low-level connectivity and a connection pool implementation to connect to PosgreSQL databases using `libpq`.
Author: Juit Developers
Latest version: 1.4.23

# PostgreSQL Proxy Connection Pool

This package provides low-level connectivity and a connection pool
implementation to connect to PosgreSQL databases using `libpq`.

* [PGProxy](https://github.com/juitnow/juit-pgproxy/blob/main/README.md)
* [Copyright Notice](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
* [License](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
npm package: @juit/pgproxy-server
Description: This package provides the core of the PGProxy HTTP and WebSocket server to be used in connection with PGProxy clients.
Author: Juit Developers
Latest version: 1.4.23

# PostgreSQL Proxy Server

This package provides the core of the PGProxy HTTP and WebSocket server to
be used in connection with PGProxy clients.

* [PGProxy](https://github.com/juitnow/juit-pgproxy/blob/main/README.md)
* [Copyright Notice](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
* [License](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
npm package: @juit/pgproxy-types
Description: This package provides two-way type conversion between PostgreSQL strings and the data types they represent in JavaScript.
Author: Juit Developers
Latest version: 1.4.23

# PostgreSQL Proxy Types Conversion

This package provides two-way type conversion between PostgreSQL strings and
the data types they represent in JavaScript.

New parsers for OIDs can be registered in the various `Registry` instances
(or globally with the static `Registry.registerDefaultParser(...)` method).

Custom serialization can be achieved by having values implementing the
`PGSerializable` interface.

* [PGProxy](https://github.com/juitnow/juit-pgproxy/blob/main/README.md)
* [Copyright Notice](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
* [License](https://github.com/juitnow/juit-pgproxy/blob/main/NOTICE.md)
npm package: @juit/vite-plugin-vue-svg
Description: SVG support for Vue/Vite (with TypeScript!)
Author: Pier Fumagalli
Latest version: 1.0.2
Deprecated: Use `vite-svg-loader`

# SVG support for Vue/Vite (with TypeScript!)

This plugin allows SVG images to be used as Vue components.

This plugin was _heavily_ inspired by [`vite-plugin-vue-svg`][1] from which it
boorrows its idea, overall structure, and integration with [`svgo`][2].

### Install

If you're using `npm` then:

```bash
npm install --save-dev '@juit/vite-plugin-vue-svg'
```

### Setup

Simply add the plugin to your `vite.config.ts` as follows:

```typescript
import vue from '@vitejs/plugin-vue'
import vueSvg from '@juit/vite-plugin-vue-svg'

// See https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueSvg(/* ... svgo options ... */),
  ],
})
```

The plugin can be configured with any [`svgo`][2] options.

### Types

For _types_ to be working correctly, reference our component definition in any
of your `.d.ts` files:

```typescript
/// <reference types="@juit/vite-plugin-vue-svg/client" />
```

Or simply add a couple of definition for `*.svg?component` and
`*.svg?component-raw` modules:

```typescript
declare module '*.svg?component' {
  const component: { render: Function }
  export default component
}

declare module '*.svg?component-raw' {
  const component: { render: Function }
  export default component
}
```

### Usage

Simply import the SVG file using the `.svg?component` extension and use it
in your `.vue` file:

```html
<template>
  <div>
    <svg-image />
  </div>
</template>

<script>
import svgImage from './asset/image.svg?component'

export default {
  components: {
    svgImage,
  },
};
</script>
```

If you prefer to skip the [`svgo`][2] optimization all together (useful
for example when preserving `clipPath`s within `defs`) simply import your
file as `image.svg?component-raw`.

### License

Licensed under the [Apache License, Version 2.0](LICENSE.md).

[1]: https://www.npmjs.com/package/vite-plugin-vue-svg
[2]: https://www.npmjs.com/package/svgo
npm package: @juit/vue-modal
Description: TypeScript Modals for Vue.js 3
Author: Pier Fumagalli
Latest version: 1.0.22

# TypeScript Modals for Vue.js 3

This package contains a package that will mount a Vue component and `await`
for the result value emitted by the `dismissModal` event it triggers.

### Usage

Import the plugin as usual:

```typescript
import { modals } from '@juit/vue-modal'

import App from '../App.vue'

export const app = createSSRApp(App)
    .use(i18n)
```

Then, somewhere in your app use the `<modal-stack />` component (automatically
registered) where you want your _modals_ to be mounted.

The `<modal-stack />` component emits a few events, all with a single parameter
indicating whether modals are currently active or not:

* `modalCreated`: emitted every time a modal is created.
* `modalDismissed`: emitted every time a modal is dismissed.
* `modals`: emitted every time a modal is created or dismissed.

A modal component might look like somewhat like this:

```html
<template>
  <button :onclick="dismiss">DESTROY THIS MODAL</button>
</template>

<script lang="ts">
  import { defineComponent } from 'vue'

  export default defineComponent({
    emits: {
      dismissModal: (result: string) => true,
    },
    methods: {
      dismiss() {
        this.$emit('dismissModal', 'hello, world')
      },
    },
  })
</script>
```

And the code to create, mount, and await for the result of the _modal_
(inside a `defineComponent` stanza) will look like:

```ts
this.$createModal(Modal, { /* ... props for the modal ... */ })
  .then((result) => console.log('MODAL RESULT', result))
```

### License

Licensed under the [Apache License, Version 2.0](LICENSE.md).

[1]: https://www.npmjs.com/package/vite-plugin-vue-svg
[2]: https://www.npmjs.com/package/svgo
npm package: @juit/vue-tiny-editor
Description: Juit Tiny Editor (for mentions!) ================================
Author: Juit Developers
Latest version: 1.0.68

Juit Tiny Editor (for mentions!)
================================

A simple Vue component providing an editable text area supporting bold, italic,
links and mentions.

Look here for a simple [demo](https://juitnow.github.io/juit-vue-tiny-editor/).

#### Model

The `v-model` of the component contains the HTML produced by the editor, and
can be used to inject the initial text to be edited.

#### Props

* `editable`: A flag indicating whether editing is enabled or not.
* `dark`: A flag indicating whether the **dark** theme should be used in the
          editor or not.
* `placeholder`: The placeholder text to display when no content is available.
* `mentions`: A `Record<string, string>` of the available mentions to display
              in the editor. The _key_ will be the mention's `name`, and the
              _value_ will be the mention's `title`. When this property is
              `null` the mentions popup will display a loader spinner.

#### Emits

* `mention`: The `string` of the mention being typed (for example `@x`).
* `submit`: When the send button is clicked, the `string` parameter will contain
            the HTML contents of the editor. When this emit is not listened to
            the _send_ button is not displayed.

#### HTML format

The editor supports a very basic HTML format, with only `<b>`, `<i>` and
`<a href="...">` supported.

Mentions will be emitted as `<link rel="mention">` tags, with the `name`
attribute set the the mention's own name (the primary key of mentions) and
`title` as the user-visible value of the mention itself.

#### Legal Stuff

* [Copyright Notice](NOTICE.md)
* [License](LICENSE.md)
npm package: @juit/vue-z
Description: Widgets Libray for Juit GmbH
Author: Juit Developers
Latest version: 0.0.70

# Juit Widgets Library

This is the widget library used at [Juit GmbH](https://www.juit.com/) in our
internal tools.

While not meant for public release, someone might draw some inspiration from
how we built it.

It is heavily reliant on the [Quasar Framework](https://quasar.dev/) and our
[I18n Library](https://www.npmjs.com/package/@juit/vue-i18n).

And here is a little [demo](https://juitnow.github.io/juit-vue-z/).

* [License](LICENSE.md)
* [Copyright Notice](NOTICE.md)

### Usage

Import the library, and configure it using Quasar's own plugin options.

No need to import Quasar, styles, ... all is done for you!

```typescript
import { JuitWidgets } from '@juit/vue-z'
import { Loading, Notify } from 'quasar'
import { i18n } from '@juit/vue-i18n'

import { createApp } from 'vue'

const myApp = createApp(App)

myApp.use(i18n, { defaultLanguage: 'en-GB' })
myApp.use(JuitWidgets, {
  plugins: { Notify, Loading }, // Quasar plugins
})

myApp.mount('#app')
```

### Quick Demo

Simply run and point your browser to localhost:

```bash
npm run dev
```
npm package: @juiz/datastore
Description: [![npm (scoped)](https://img.shields.io/npm/v/@juiz/datastore.svg?style=flat-square)](https://www.npmjs.com/package/@juiz/datastore)
Latest version: 0.0.5

# juiz/dataStore

[![npm (scoped)](https://img.shields.io/npm/v/@juiz/datastore.svg?style=flat-square)](https://www.npmjs.com/package/@juiz/datastore)

Database Accesser Objects
npm package: @juiz/github
Description: [![npm (scoped)](https://img.shields.io/npm/v/@juiz/github.svg?flat-square)](https://www.npmjs.com/package/@juiz/github)
Latest version: 0.0.3

# juiz/github package

[![npm (scoped)](https://img.shields.io/npm/v/@juiz/github.svg?flat-square)](https://www.npmjs.com/package/@juiz/github)

Gihutb API Clients

# How to

for rest client(v3 api)

```typescript
import { RestClient } from "@teitei-tk/juiz-github/clients";

const client = new RestClient({
  token: your_github_token
});

// create new pull request
// eg.
// url: https://github.com/teitei-tk/juiz/number
// title: new-feature
// base:master head:develop
client.createPullRequest({
  owner: "teitei-tk",
  repo: "juiz",
  title: "new-feature",
  head: "develop",
  base: "master"
});
```

for GraphQLClient(v4 api)

```typescript
import { GraphQLClient } from "@teitei-tk/juiz-github/clients";

const client = new GraphQLClient({
  token: your_github_token
});

const result = await client.request(`{
  repository(owner: "teitei-tk", name: "juiz") {
    name
    owner {
      login
    }
    description
  }
}`);

console.log(result);
/*
{
  "data": {
    "repository": {
      "name": "juiz",
      "owner": {
        "login": "teitei-tk"
      },
      "description": "Manage Github PullRequest Code reviewer assign"
    }
  }
}
*/
```
npm package: @juiz/team
Description: [![npm (scoped)](https://img.shields.io/npm/v/@juiz/team.svg?style=flat-square)](https://www.npmjs.com/package/@juiz/team)
Latest version: 0.0.6

# juiz/team package

[![npm (scoped)](https://img.shields.io/npm/v/@juiz/team.svg?style=flat-square)](https://www.npmjs.com/package/@juiz/team)

team developments utility logic(Shuffle, Notify, CodeReview Request, etc)

# How to

```typescript
// do repository interfaces override.
import { JSONClient } from "@juiz/datastore"
import { Team } from "@juiz/team/entities/team";
import { ITeamRepository } from "@juiz/team/repositories/interfaces/team";

class TeamRepository implements ITeamRepository {
  context: JSONClient;

  constructor(context: JSONClient) {
    this.context = context;
  }

  create(json: Team): Promise<{ entity: Team }> {
    this.context.create(json.toJSON());

    return Promise.resolve({
      entity: json
    });
  }

  update(json: Team) {
    this.context.put(json.toJSON());

    return Promise.resolve({
      entity: json
    });
  }

  delete(json?: Team) {
    this.context.delete();

    return Promise.resolve({
      entity: json
    });
  }

  find(): Promise<{ entity: Team }> {
    const j = this.context.get<TeamJSON>();
    return Promise.resolve({
      entity: Team.fromJSON(j)
    });
  }

  findAll() {
    throw new Error("not supported");

    return Promise.resolve({
      entities: []
    });
  }
}

(async () => {
  const repo = new TeamRepository(
    new JSONClient("/tmp/foo");
  );

  const id = Team.generateUUID();
  const name = "GithubTeam";
  const accountJson = {
    id: 'a70db95d-1d8e-4cd9-ad25-0b2f10babd20',
    name: "teitei_tk",
    serviceAccounts: [
      {
        id: '1032869f-8967-4209-bcc3-9daf234e8328',
        name: "teitei-tk",
        displayName: 'teitei-tk',
        service: 0
      },
      {
        id: 'a193784a-6511-4e64-bd7e-25b02bdbc671',
        name: "teitei_tk",
        displayName: 'teitei_tk',
        service: 1
      }
    ]
  };

  const team = new Team({
    id,
    name
  });

  repo.create(Team)
  const account = await repo.find();
  console.log(account.toJSON());
  /*
    {
      id: 'b4d77b82-ee15-484a-8585-cf381e8d4692',
      name: 'GithubTeam',
      accounts:[
        {
          id: 'a70db95d-1d8e-4cd9-ad25-0b2f10babd20',
          name: 'teitei_tk',
          serviceAccounts: [
            {
              id: '1032869f-8967-4209-bcc3-9daf234e8328',
              name: 'teitei-tk',
              displayName: 'teitei-tk',
              service: 0
            },
            {
              id: 'a193784a-6511-4e64-bd7e-25b02bdbc671',
              name: 'teitei_tk',
              displayName: 'john teitei_tk doe',
              service: 1
            }
          ]
        }
      ]
    }
  */
});
```