main page
This commit is contained in:
74
node_modules/appwrite/src/query.ts
generated
vendored
Normal file
74
node_modules/appwrite/src/query.ts
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
type QueryTypesSingle = string | number | boolean;
|
||||
export type QueryTypesList = string[] | number[] | boolean[];
|
||||
export type QueryTypes = QueryTypesSingle | QueryTypesList;
|
||||
|
||||
export class Query {
|
||||
static equal = (attribute: string, value: QueryTypes): string =>
|
||||
Query.addQuery(attribute, "equal", value);
|
||||
|
||||
static notEqual = (attribute: string, value: QueryTypes): string =>
|
||||
Query.addQuery(attribute, "notEqual", value);
|
||||
|
||||
static lessThan = (attribute: string, value: QueryTypes): string =>
|
||||
Query.addQuery(attribute, "lessThan", value);
|
||||
|
||||
static lessThanEqual = (attribute: string, value: QueryTypes): string =>
|
||||
Query.addQuery(attribute, "lessThanEqual", value);
|
||||
|
||||
static greaterThan = (attribute: string, value: QueryTypes): string =>
|
||||
Query.addQuery(attribute, "greaterThan", value);
|
||||
|
||||
static greaterThanEqual = (attribute: string, value: QueryTypes): string =>
|
||||
Query.addQuery(attribute, "greaterThanEqual", value);
|
||||
|
||||
static isNull = (attribute: string): string =>
|
||||
`isNull("${attribute}")`;
|
||||
|
||||
static isNotNull = (attribute: string): string =>
|
||||
`isNotNull("${attribute}")`;
|
||||
|
||||
static between = (attribute: string, start: string|number, end: string|number): string =>
|
||||
`between("${attribute}", ${Query.parseValues(start)}, ${Query.parseValues(end)})`;
|
||||
|
||||
static startsWith = (attribute: string, value: string): string =>
|
||||
Query.addQuery(attribute, "startsWith", value);
|
||||
|
||||
static endsWith = (attribute: string, value: string): string =>
|
||||
Query.addQuery(attribute, "endsWith", value);
|
||||
|
||||
static select = (attributes: string[]): string =>
|
||||
`select([${attributes.map((attr: string) => `"${attr}"`).join(",")}])`;
|
||||
|
||||
static search = (attribute: string, value: string): string =>
|
||||
Query.addQuery(attribute, "search", value);
|
||||
|
||||
static orderDesc = (attribute: string): string =>
|
||||
`orderDesc("${attribute}")`;
|
||||
|
||||
static orderAsc = (attribute: string): string =>
|
||||
`orderAsc("${attribute}")`;
|
||||
|
||||
static cursorAfter = (documentId: string): string =>
|
||||
`cursorAfter("${documentId}")`;
|
||||
|
||||
static cursorBefore = (documentId: string): string =>
|
||||
`cursorBefore("${documentId}")`;
|
||||
|
||||
static limit = (limit: number): string =>
|
||||
`limit(${limit})`;
|
||||
|
||||
static offset = (offset: number): string =>
|
||||
`offset(${offset})`;
|
||||
|
||||
private static addQuery = (attribute: string, method: string, value: QueryTypes): string =>
|
||||
value instanceof Array
|
||||
? `${method}("${attribute}", [${value
|
||||
.map((v: QueryTypesSingle) => Query.parseValues(v))
|
||||
.join(",")}])`
|
||||
: `${method}("${attribute}", [${Query.parseValues(value)}])`;
|
||||
|
||||
private static parseValues = (value: QueryTypes): string =>
|
||||
typeof value === "string" || value instanceof String
|
||||
? `"${value}"`
|
||||
: `${value}`;
|
||||
}
|
||||
Reference in New Issue
Block a user