# sming-list-generator

> 1시간 분량에 가까운 스밍 리스트를 입력된 설정 파일에 기반하여 생성하는 라이브러리입니다.

Latest version **1.0.1** (published 2018-01-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install sming-list-generator
pnpm add sming-list-generator
yarn add sming-list-generator
bun add sming-list-generator
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2018-01-17 |
| First published | 2018-01-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | iamchanii |

## Links

- npm: https://www.npmjs.com/package/sming-list-generator
- Repository: https://github.com/iamchanii/nodejs-sming-list-generator
- npm.io page: https://npm.io/package/sming-list-generator

## Dependencies (1)

- [mz](https://npm.io/package/mz.md) ^2.7.0

## Recent versions

- 1.0.1 (latest) — 2018-01-17
- 1.0.0 — 2018-01-17

## README

# sming-list-generator

1시간 분량에 가까운 스밍 리스트를 입력된 설정 파일에 기반하여 생성하는 라이브러리입니다.

## Install

```
yarn add sming-list-generator
```

## Test

```
yarn test
```

## Usage

```js
const slg = require('sming-list-generator');

const options = {
  // 스밍 목록이 입력되어 있는 json 파일 위치.
  configFile: './sming-list.json',

  // 또는 configData에 직접 값을 전달.
  configData: { ... },

  // 스밍 리스트에 삽입할 방법을 선택.
  // true: 타이틀곡 1 + 수록곡 2 방식으로 삽입
  // false: 타이틀곡 1 + 수록곡 1 방식으로 삽입
  insertType: false,
};

slg()
  .then(data => { ... })
  .catch(e => { ... });
```

## Config

아래 트랙 리스트는 아직 앨범 발매 전이기 때문에 공개된 트랙 리스트를 기준으로 임의로 길이값을 입력함.

```json
{
  "title": {
    "name": "Roller Coaster",
    "length": "3:24"
  },
  "tracks": [
    {
      "name": "Offset",
      "length": "1:02"
    },
    {
      "name": "Do It",
      "length": "2m58s"
    },
    {
      "name": "Bad Boy",
      "length": "3:15"
    },
    {
      "name": "너의 온도 (Remind of you)",
      "length": "4:03"
    }
  ]
}
```

1. `title`과 `tracks`항목으로 구분하며 각각 타이틀곡 정보와 수록곡 정보를 담는 항목. `tracks`는 여러 항목을 담는 `Array` 타입으로 입력해야 함.
2. `title` 및 `tracks`의 아이템은 `name`과 `length` 항목를 가져야 함. 각각 곡명과 재생 시간을 받는 항목.
3. `length` 항목에는 `number` 또는 `string` 타입으로 입력되어야 함. `number` 타입일 경우 시간을 초 단위로 환산하여 입력해야 하고 `string` 타입인 경우 `2m09s` 또는 `2:09` 형식으로 입력하면 초 단위로 파싱함.

## Result

```js
{ totalLength: 3524,
  playList:
   [ { name: 'Roller Coaster', length: 204 },
     { name: 'Offset', length: 62 },
     { name: 'Do It', length: 178 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Bad Boy', length: 195 },
     { name: '너의 온도 (Remind of you)', length: 243 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Offset', length: 62 },
     { name: 'Do It', length: 178 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Bad Boy', length: 195 },
     { name: '너의 온도 (Remind of you)', length: 243 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Offset', length: 62 },
     { name: 'Do It', length: 178 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Bad Boy', length: 195 },
     { name: '너의 온도 (Remind of you)', length: 243 },
     { name: 'Roller Coaster', length: 204 },
     { name: 'Offset', length: 62 } ] }
```

---
_Source: https://npm.io/package/sming-list-generator · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
