jqlgen
Version:
A better way to generate jql
36 lines (34 loc) • 1.15 kB
TypeScript
type Sign = "=" | "<" | ">" | "<=" | ">=" | "!=" | "is not" | "is" | "~" | "in" | "not in" | "!~" | "was" | "was in" | "was not in" | "was not" | "changed";
type JqlStatement = {
left: string;
sign: Sign;
right: string | number | string[] | number[];
};
type OrderByOperator = {
field: string;
type: "asc" | "desc";
};
type Operator = {
type: "and" | "or";
jql: JqlGen;
};
declare class JqlGen {
private statement?;
private externalStatement?;
private operators;
private orderByOperators;
constructor(statement?: JqlStatement);
and(statement: JqlGen | JqlStatement): JqlGen;
or(statement: JqlGen | JqlStatement): JqlGen;
orderBy(orderByItem: OrderByOperator): JqlGen;
injectExternal(str: string): JqlGen;
toString(): string;
private escapeStatement;
private forwardOrderBy;
private toStringStatement;
private toStringOperators;
private toStringOrderBy;
}
/** if you're lazy, hey I don't blame you, tiny wrapper to not spam new new new */
declare function jql(statement?: JqlStatement): JqlGen;
export { JqlGen, JqlStatement, Operator, OrderByOperator, Sign, jql };