Skip to content

Commit

Permalink
Create README.md files
Browse files Browse the repository at this point in the history
  • Loading branch information
KSXGitHub committed Sep 6, 2018
1 parent f259f89 commit 425ddf3
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 0 deletions.
11 changes: 11 additions & 0 deletions packages/typescript/convenient-typescript-utilities/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# convenient-typescript-utilities

Convenient types and functions for TypeScript

## Purpose

This package is meant to be used privately by public packages of [ksxnodemodules/nodemonorepo](https://github.com/ksxnodemodules/nodemonorepo.git)

## License

[MIT](https://git.io/vhaEz) © [Hoàng Văn Khải](https://github.com/KSXGitHub)
63 changes: 63 additions & 0 deletions packages/typescript/parse-dependency-range/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# parse-dependency-range

Parse dependency source/version

## Requirements

* Node.js ≥ 8.9.0

## Usage

### Syntax

```javascript
import parse from 'parse-dependency-range'
const struct = parse('^0.1.2') // { type: 'semver', value: '^0.1.2', ... }
```

### Overview

Function `parse` takes a string (which is value of each dependency in field `dependencies` in your `package.json`) and returns an object called `struct` (of interface `Struct` in TypeScript).

There're 7 subtypes of `Struct` corresponding to 7 syntaxes of input string. All subtypes of `Struct` share a common set of properties: `type` and `value`; `type` is a constant dictates which subtype a `Struct` falls into, `value` is input string.

* `Struct.Semver`: When input string is a version range.
* `type = 'semver'`
* `value: string`
* `range: string` is value of `semver.validRange(value)`

* `Struct.Tarball`: When input string is an URL to a tarball archive.
* `type = 'tarball'`
* `value: string`
* `url: URL` is value of `url.parse(value)`
* `url.extension: string` is tarball extension

* `Struct.Git`: When input string is an URL to a git repo (must have `git:` or `git+...:` as protocol).
* `type = 'git'`
* `value: string`
* `url: URL` is value of `url.parse(value)`

* `Struct.GitHub`: When input string is a GitHub shorthand (`org/repo` or `org/repo#hash`).
* `type = 'github'`
* `value: string`
* `org: string` is name of organization or user that owns the repository
* `repo: string` is name of the repository
* `hash?: string` is either a commit hash, git branch or git tag

* `Struct.Local`: When input string is pointing to a local directory (begins with `file:` or `link:`).
* `type = 'local'`
* `value: string`
* `path: string` is path to the directory
* `protocol: string` is either `file:` or `link:`

* `Struct.Latest`: When input string is litterally `'latest'`.
* `type = 'latest'`
* `value = 'latest'`

* `Struct.Unknown`: When input string doesn't fit any of aformentioned syntaxes.
* `type = 'unknown'`
* `value: string`

## License

[MIT](https://git.io/vhaEz) © [Hoàng Văn Khải](https://github.com/KSXGitHub)
20 changes: 20 additions & 0 deletions packages/typescript/split-string-once/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# split-string-once

Split a string only once

## Requirements

* Node.js ≥ 8.9.0

## Usage

```javascript
const splitOnce = require('split-string-once')
const a = splitOnce('abc,def,ghi', ',') // ['abc', 'def,ghi']
const b = splitOnce('abcdefghi', ',') // ['abc,def,ghi']
console.log({a, b})
```

## License

[MIT](https://git.io/vhaEz) © [Hoàng Văn Khải](https://github.com/KSXGitHub)

0 comments on commit 425ddf3

Please sign in to comment.