1.0.0 • Published 7 years ago

validate-github-label-name v1.0.0

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

validate-github-label-name

NPM version Bower version Build Status Coverage Status

Check if a given string is a valid Github issue label name

import validateGithubLabelName from 'validate-github-label-name';

const result = validateGithubLabelName('label🍕name🍔\n');
console.log(result.formatted);
Invalid issue label name "label🍕name🍔\n":
at 5,10: Invalid characters: "🍕" and "🍔". Label name cannot have Unicode characters above 0xFFFF.
at 11: Label name cannot have linebreaks.

Installation

npm

npm install validate-github-label-name

bower

bower install validate-github-label-name

API

validateGithubLabelName(str)

str: String (Github issue label name)
Return: Object

The returned object has the following properties:

valid

Type: Boolean

Whether the string can be used as a Github issue label name.

reasons

Type: Array<Object>

Reasons why the given name is not valid. [] if the string is a valid label name.

reason[].message

Type: String

The human-readable description of the reason.

reason[].positions

Type: Array<Number>

The positions in the string where invalid characters are found.

formatted

Type: String

The prettily formatted validation message.

import validateGithubLabelName from 'validate-github-label-name';

const result0 = validateGithubLabelName('enhancement');
result0.valid; //=> true
result0.reasons; //=> []
result0.formatted; //=> ''

const result1 = validateGithubLabelName('abc\n𠮷\ndef');
result1.valid;
//=> true

result1.reasons;
/* => [
  {
    positions: [3, 5],
    message: 'Label name cannot have linebreaks.'
  },
  {
    positions: [4],
    message: 'Invalid character: "𠮷". Label name cannot have Unicode characters above 0xFFFF.'
  }
] */

result1.formatted;
//=> 'Invalid issue label name "abc\\n𠮷\\ndef":\nat 3,5: Label name cannot have ...'

License

Copyright (c) 2017 Shinnosuke Watanabe

Licensed under the MIT License.