mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
73 lines
1.3 KiB
TypeScript
73 lines
1.3 KiB
TypeScript
import issueParser = require("issue-parser");
|
|
import { Action } from "issue-parser";
|
|
|
|
// Without options
|
|
issueParser();
|
|
|
|
// With predefined options
|
|
issueParser("github");
|
|
issueParser("bitbucket");
|
|
issueParser("gitlab");
|
|
issueParser("waffle");
|
|
|
|
// With custom format
|
|
issueParser({
|
|
actions: {
|
|
fix: ["complete"],
|
|
hold: ["holds up"]
|
|
},
|
|
issuePrefixes: ["🐛"]
|
|
});
|
|
|
|
// Extend existing format
|
|
issueParser("github", {
|
|
actions: {
|
|
parent: ["parent of"],
|
|
related: ["related to"]
|
|
}
|
|
});
|
|
|
|
const parse = issueParser("github");
|
|
const result = parse("#1");
|
|
|
|
// Parse references
|
|
result.refs.forEach(ref => {
|
|
ref.issue;
|
|
ref.slug;
|
|
ref.raw;
|
|
ref.prefix;
|
|
});
|
|
|
|
// Parse closing keywords
|
|
result.actions.close.forEach(action => {
|
|
action.raw;
|
|
action.action;
|
|
action.slug;
|
|
action.prefix;
|
|
action.issue;
|
|
});
|
|
|
|
// Parse user mentions
|
|
result.mentions.forEach(mention => {
|
|
mention.raw;
|
|
mention.prefix;
|
|
mention.user;
|
|
});
|
|
|
|
// allRefs
|
|
const isAction = (ref: any): ref is Action => true;
|
|
result.allRefs.forEach(ref => {
|
|
if (isAction(ref)) {
|
|
ref.raw;
|
|
ref.action;
|
|
ref.slug;
|
|
ref.prefix;
|
|
ref.issue;
|
|
} else {
|
|
ref.raw;
|
|
ref.slug;
|
|
ref.prefix;
|
|
ref.issue;
|
|
}
|
|
});
|