open-index/open-npm huggingface dataset:
npm package: @sk39/dotenv-ex
Description: Dotenv extension. Switch settings with NODE_ENV
Author: sk39
Latest version: 1.0.1

# dotenv-ex
Dotenv extension. Switch settings with NODE_ENV.

[![NPM](https://img.shields.io/npm/v/@sk39/dotenv-ex.svg)](https://www.npmjs.com/package/@sk39/dotenv-ex) 

## Install

```bash
npm install @sk39/dotenv-ex
```

## Usage

As early as possible in your application, require and configure dotenv.

```javascript
require('@sk39/dotenv-ex').config()
```

Create a `.env` file in the root directory of your project. Add
environment-specific variables on new lines in the form of `NAME=VALUE`.
For example:

```dosini
DEBUG=true
SERVER_URL="http://127.0.0.1:3000/"
NUMBER_FLAG=0
FLOAT_FLAG=0.0034
```

further. 
You can overwrite the NODE_ENV specific settings by creating a `.env.{NODE_ENV}` file.

`process.env` now has the keys and values you defined in your `.env` file.

```javascript
const env = require("dotenv-ex").config();
console.log(process.env.SERVER_URL)
```
npm package: @sk39/expo-image-cache
Description: Image Cache for React Native Expo
Author: sk39
Latest version: 1.0.0

# expo-image-cache

Image Cache for React Native Expo.

![20201008_190924](https://user-images.githubusercontent.com/28267362/95445312-da2d9a00-0999-11eb-8a3b-3c9346daceb6.gif)

* Use [react-native-expo-image-cache](https://github.com/wcandillon/react-native-expo-image-cache).
* Load only once if many components display the same image at the same time.
* Show skeleton loader while loading. Use [react-native-skeleton-content](https://github.com/alexZajac/react-native-skeleton-content).

## Install

```bash
npm install @sk39/expo-image-cache
```

## Usage

### Props

| Props        | Default     | Description  |
| ------------- |:-------------:| -----:|
| source      | - | ImagSource |
| backgroundColor     | '#e9eaf8'      |  |
| onLoaded     |  null    |  |
| onError     | null      |  |

### CacheImage
```jsx
import React, { Component } from 'react'
import {CacheImage} from "@sk39/expo-image-cache"

class Example extends Component {
  render () {
    const source = {uri: "https://picsum.photos/510/300?random"}
    return (
        <View style={{width: 100, height: 60}}>
            <CacheImage source={source}/>
        </View>
    )
  }
}
```

### Clear cache

```ts
import {ImageStore} from "@sk39/expo-image-cache";

await ImageStore.getInstance().clear()
```

## License

MIT © [sk39](https://github.com/sk39)
npm package: @sk39/lottie-files
Description: lottie-files
Latest version: 0.0.1

# @sk39/lottie-files

lottie-files

## Install

```bash
npm install @sk39/lottie-files
```

## Usage

```jsx
import React, {Component} from 'react'
import Lottie from "react-lottie";
import animationData from '@sk39/lottie-files/dist/success-icon.json'


const options = {
  loop: true,
  autoplay: true,
  animationData,
  rendererSettings: {
    preserveAspectRatio: "xMidYMid slice"
  }
}


export default class App extends Component {
  render() {
    return (
      <Lottie options={options} height={260} width={260}/>
    )
  }
}
```

## License

MIT © [sk39](https://github.com/sk39)
npm package: @sk39/react-native-action-menu
Description: Action menu for React Native
Author: sk39
Latest version: 1.0.0-alpha.0

# react-native-action-menu

Action menu for React Native.

[![NPM](https://img.shields.io/npm/v/@sk39/react-native-action-menu.svg)](https://www.npmjs.com/package/@sk39/react-native-action-menu)

<img width="234" alt="menu" src="https://user-images.githubusercontent.com/28267362/97999905-3ec00580-1e2f-11eb-9fec-006266222a7c.png">

## Dependencies
* [react-native-elements](https://github.com/react-native-elements/react-native-elements).
* [react-native-portalize](https://github.com/jeremybarbet/react-native-portalize).

## Install

```bash
npm install @sk39/react-native-action-menu
```

## Usage

### Props

| Props        | Default     | Description  |
| ------------- |:-------------:| -----:|
| duration      | 400 |  |
| centralCircleSize     | 130      |  |
| circleSpaceSize     |  56    |  |


```jsx
import React, {Component} from 'react';
import {TouchableOpacity, View} from 'react-native';
import {ActionMenu} from "react-native-action-menu";

class Example extends Component {
  menuRef = React.createRef<ActionMenu>();

  onSelect(ev, item) {
    const actions = [
        {
            title: "Show Detail",
            method: ()=>console.log("Show Detail"),
            icon: {name: "eye", type: "feather"},
            color: Colors.primary
        },
        {
            title: "Invest",
            method: ()=>console.log("Show Detail"),
            icon: {name: "shopping-cart", type: "feather"},
            color: Colors.second
        }
    ];

    this.menuRef.current.show({
        title: item.name,
        actions,
        py: ev.nativeEvent.pageY
    })
  }

  render () {
    return (
       <View>
          <TouchableOpacity onPress={ev => this.onSelect(ev, item)}>...</TouchableOpacity>
          <ActionMenu ref={this.menuRef}/>
       </View>
    )
  }
}
```

## License

MIT © [sk39](https://github.com/sk39)
npm package: @sk5s/404shortjs
Description: 快速製作簡易短連結檔案，只要將js加入404頁面，就可以快速完成多個短連結，使用javascript重新導向，不用後端程式，404shortjs make a short link just in a minutes, use javascript to redirect. Just add js to 404 page.
Author: samko5sam
Latest version: 0.4.0

# 404shortjs
![](https://img.shields.io/github/v/release/jsolink/404shortjs?style=for-the-badge)
![](https://img.shields.io/github/last-commit/jsolink/404shortjs?style=for-the-badge)
![](https://img.shields.io/github/license/jsolink/404shortjs?style=for-the-badge)
![](https://img.shields.io/github/languages/top/jsolink/404shortjs?style=for-the-badge)
![](https://img.shields.io/npm/v/@sk5s/404shortjs?style=for-the-badge)

[![](https://nodei.co/npm/@sk5s/404shortjs.png)](https://www.sk5s.cyou/)

快速製作簡易短連結檔案，只要將js加入404頁面，就可以快速完成多個短連結，使用javascript重新導向，不用後端程式，404shortjs make a short link just in a minutes, use javascript to redirect. Just add js to 404 page.

---

Use
---
1. add `index.js` or cdn to your html
2. add config into your `.html` file
example
```js
<script>
  let fourofour_book_location = 'book.json' // your redirect data path
  let fourofour_defaultLink = 'https://www.sk5s.cyou/' // redirect to default when error
  let fourofour_defaultLink_delay = 5 // how many seconds you want to stay on this page not redirect to default link when user go to 404 page.
  function found_redirect(){
    alert("found redirect")
  }// a function which will be called when 404shortjs found redirect term in book
  function not_found(){
    alert("not found")
  }// a function which will be called when 404shortjs can't find redirect
</script>
```
copy here
```js
<script>
  let fourofour_book_location = ''
  let fourofour_defaultLink = 'https://www.sk5s.cyou/'
  let fourofour_defaultLink_delay = 5
  function found_redirect(){
    alert("found redirect")
  }
  function not_found(){
    alert("not found")
  }
</script>
```
3. create `.json` file
content:
```js
{
  "google": "https://google.com",
  "sk5s": "https://www.sk5s.cyou/"
}
```

CDN
---
### jsdelivr
```
https://cdn.jsdelivr.net/npm/@sk5s/404shortjs/index.js
```
or
```
https://cdn.jsdelivr.net/gh/jsolink/404shortjs/index.js
```

---

[![sk5s site](https://upload.cc/i1/2021/10/29/dVn6TN.png)](https://www.sk5s.cyou/)
[![forthebadge](https://forthebadge.com/images/badges/open-source.svg)](https://www.sk5s.cyou/)

[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?style=for-the-badge)](CODE_OF_CONDUCT.md)

```
     _    ____                        _           _   
 ___| | __ ___| ___   _ __  _ __ ___ (_) ___  ___| |_ 
/ __| |/ /___ \/ __| | '_ \| '__/ _ \| |/ _ \/ __| __|
\__ \   < ___) \__ \ | |_) | | | (_) | |  __/ (__| |_ 
|___/_|\_\____/|___/ | .__/|_|  \___// |\___|\___|\__|
                     |_|           |__/               
```

🔗 [https://git.io/404shortjs](https://git.io/404shortjs)