validate-github-label-name

1.0.0 • Public • Published

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.

Package Sidebar

Install

npm i validate-github-label-name

Weekly Downloads

1

Version

1.0.0

License

MIT

Last publish

Collaborators

  • shinnn