open-index/open-npm huggingface dataset:
npm package: @lingard/graphql-codegen-flow-apollo
Description: Flow port of [graphql-godegen-typescript-apollo](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/react-apollo/src/index.ts)
Author: Christer Lingard
Latest version: 0.1.1

# graphql-codgen-flow-apollo

Flow port of [graphql-godegen-typescript-apollo](https://github.com/dotansimha/graphql-code-generator/blob/master/packages/plugins/typescript/react-apollo/src/index.ts)
npm package: @lingash/capacitor-meta-audience-network
Description: This is the capacitor android package for implementing meta audience network
Author: Lin Gash
Latest version: 1.0.2

# Capacitor Meta Audience Plugin

This Capacitor plugin integrates Meta Audience Network ads into your Android application. It supports both **banner ads** and **interstitial ads**

## Features

- **Banner Ads**: Display banner ads at the **top, center, or bottom** of the screen.
- **Interstitial Ads**: Show full-screen interstitial ads.
- **Test Devices Support**: Optionally add test device IDs to receive test ads.
- **Android-Only**: This plugin currently supports **Android** only.

## Installation

```bash
npm install @lingash/capacitor-meta-audience-network
```

## Usage

### Import and Initialize

```typescript
import MetaAudiencePlugin from '@lingash/capacitor-meta-audience-network';

async showInterstitial() {
    try{
        await MetaAudiencePlugin.showInterstitialAd({placementId: this.interstitialPlacementId, testDevices: ["c23f7790-1359-4af9-8c25-e6534c0de019"]});
        // testDevices is optional
    }catch(err){
        console.log('err from loadInterstitial: ', err);
        return null
    }
}

async showBanner(position: 'TOP' | 'CENTER' | 'BUTTON' = 'BUTTON') {
    try{
        await MetaAudiencePlugin.showBannerAd({placementId: 'YOUR_BANNER_ID', position: 'BUTTON', testDevices: ["c23f7790-1359-4af9-8c25-e6534c0de019"]});
            // testDevices is optional
    }catch(err){
        console.log("err from loadBanner: ",err);
    }
}

async removeBanner() {
    try{
        await MetaAudiencePlugin.removeBannerAd();
    }catch(err){
        console.log("err from removeBanner: ",err);
    }
}
```

## API

### `showInterstitialAd(options: { placementId: string, testDevices?: string[] })`
- **Description**: Displays an interstitial ad.
- **Parameters**:
  - `placementId` (**string**): The ad placement ID.
  - `testDevices` (**string[]**, optional): List of test device IDs.
- **Returns**: A promise that resolves when the ad is displayed.

### `showBannerAd(options: { placementId: string, position: 'TOP' | 'CENTER' | 'BOTTOM', testDevices?: string[] })`
- **Description**: Displays a banner ad.
- **Parameters**:
  - `placementId` (**string**): The ad placement ID.
  - `position` (**'TOP' | 'CENTER' | 'BOTTOM'**): Position of the banner.
  - `testDevices` (**string[]**, optional): List of test device IDs.
- **Returns**: A promise that resolves when the banner is displayed.

### `removeBannerAd()`
- **Description**: Removes the banner ad.
- **Parameters**: None.
- **Returns**: A promise that resolves when the banner is removed.

## Notes

- Ensure that your **Meta Audience Network** account is properly set up and approved.
- Use **test devices** to avoid violations of Meta Audience Network policies.
- This plugin currently supports **Android only**.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Support

For any issues or feature requests, please file an issue on [GitHub](https://github.com/LinGash/capacitor-meta-audience-network/issues).
npm package: @lingc-sun/abap-adt-api
Description: 基于 abap-adt-api 的修改版
Author: lingcsun
Latest version: 1.0.0

[![npm](https://img.shields.io/npm/v/abap-adt-api?label=abap-adt-api)](https://www.npmjs.com/package/abap-adt-api)

# ADT - Abap Developer Tools client

This library simplifies access to the ADT REST interface.

Supports a good share of what Eclipse tools can do with a simple JS/TS interface.

Designed for general use, mostly used in [ABAP remote filesystem extension for visual studio code](https://github.com/marcellourbani/vscode_abap_remote_fs)

## Sample usage

```typescript
// create a client object
import { ADTClient } from "abap-adt-api"
const client = new ADTClient(
  "http://vhcalnplci.bti.local:8000",
  "developer",
  "mypassword"
)

const nodes = await client.nodeContents("DEVC/K", "$TMP")
```
## 关于本包
本包基于 [abap-adt-api](https://github.com/marcellourbani/abap-adt-api) 修改。  
在原作者发布新版本前，可作为临时替代使用。  
所有版权归原作者所有，修改部分遵循相同许可证（MIT）。
npm package: @lingcz/lock-scroll
Description: a util for locked element scroll
Author: lingcz
Latest version: 1.0.1

## 安装

```shell
npm i @lingcz/lock-scroll
# or
yarn add @lingcz/lock-scroll
```

## 使用

```javascript
import { lock, unlock, clearLock } from '@lingcz/lock-scroll'

//默认锁住body滚动
lock()

//解除锁定
unlokc()

//多次锁定
lock()
lock()

//解除
unlock()

//解除了一次，此时还是不能滚动
//再解除一次
unlock()
//可以滚动

clearLock() //清除所有锁定
```

-   指定元素

```javascript
import { lock, unlock, clearLock } from '@lingcz/lock-scroll'

const el = document.getElementById('box')

lock(el)

unlock(el)

//可以传一个数组

// lock([el1,el2...])
```
npm package: @lingcz/scroll-lock
Description: a util for locked element scroll
Author: Lingchenzheng
Latest version: 1.0.1

## 安装

```shell
npm i @lingcz/lock-scroll
# or
yarn add @lingcz/lock-scroll
```

## 使用

```javascript
import { lock, unlock, clearLock } from '@lingcz/lock-scroll'

//默认锁住body滚动
lock()

//解除锁定
unlokc()

//多次锁定
lock()
lock()

//解除
unlock()

//解除了一次，此时还是不能滚动
//再解除一次
unlock()
//可以滚动

clearLock() //清除所有锁定
```

-   指定元素

```javascript
import { lock, unlock, clearLock } from '@lingcz/lock-scroll'

const el = document.getElementById('box')

lock(el)

unlock(el)

//可以传一个数组

// lock([el1,el2...])
```
npm package: @lingcz/shared
Description: Now I’m the model of a modern major general / The venerated Virginian veteran whose men are all / Lining up, to put me up on a pedestal / Writin’ letters to relatives / Embellishin’ my elegance and eloquence / But the elephant is in the room / The truth i
Author: lingchenzheng
Latest version: 1.1.0

# `shared`

> TODO: description

## Usage

```
const shared = require('shared');

// TODO: DEMONSTRATE API
```
npm package: @lingcz/utf8
Description: a js encode and decode utf8 lib
Author: lingchenzheng
Latest version: 2.1.0

# `@lingcz/utf8`

## Usage

```javascript
const utf8 = require('@lingcz/utf8')
const str = 'I love 中国'
const result = utf8.encode(str)
/*
{
  hexStr: '49206c6f766520e4b8ade59bbd',
  buffer: ArrayBuffer {
    [Uint8Contents]: <49 20 6c 6f 76 65 20 e4 b8 ad e5 9b bd>,
    byteLength: 13
  },
  bytes: [
     73,  32, 108, 111, 118,
    101,  32, 228, 184, 173,
    229, 155, 189
  ]
}
*/

const originStr = utf8.decode(result.hexStr)
const originStr = utf8.decode(result.buffer)
const originStr = utf8.decode(result.bytes)

// 'I love 中国'
```
npm package: @lingcz/vue-click-outside
Description: a vue3 util for click outside
Author: lingchenzheng
Latest version: 1.1.0

# `@lingcz/vue-click-outside`

> TODO: description

## install

```shell
npm i @lingcz/vue-click-outside --save
#or
yarn add @lingcz/vue-click-outside
```

## usage

### there are three ways to use

-   as a directive

```javascript
import {
    ClickOutsideDirective,
    clickOutsideDirective
} from '@lingcz/vue-click-outside'
//the name of directive default is 'click-outside',but you can pass a name as second param
//register to global
app.use(ClickOutsideDirective, 'click-outside')

// <div v-click-outside="fn" ></div>
//
//  setup() {
//      const fn = () => {}
//      return { fn }
//  }
//
//

//register to local component

export default {
    directives: {
        'click-outside': clickOutsideDirective
    }
}
```

-   as a component

```html
<template>
    <ClickOutsideComponent @click-outside="clickOutside">
        <div>test1</div>
        <div>test2</div>
    </ClickOutsideComponent>
</template>
<script>
    import { ClickOutsideComponent } from '@lingcz/vue-click-outside'
    export default {
        components: {
            ClickOutsideComponent
        },
        methods: {
            clickOutside() {}
        }
    }
</script>
```

-   as a function

```javascript
import { clickOutside } from '@lingcz/vue-click-outside'
const dom = document.getElementById('test')
const close = clickOutside(dom, () => {
    //TODO
})

//you also can pass an array
//clickOutside([dom1,dom2,...],() => {})

//then can removeListener

close()
```
npm package: @lingcz/vue-keep-scroll
Description: cache position of scrolls and resume it
Author: lingcz
Latest version: 1.1.1

## install

```shell
npm install @lingcz/vue-keep-scroll --save

# or

yarn add @lingcz/vue-keep-scroll
```

## usage

```vue
<template>
    <div>
        <div class="container" style="overflow-y: scroll;"></div>
    </div>
</template>

<script>
import vueKeepScroll from '@lingczvue-keep-scroll'

export default {
    mixins: [vueKeepScroll('.container', { x: true })]
}
</script>
```