@restorecommerce/chassis-srv
Version:
Restore Commerce microservice chassis
82 lines (81 loc) • 3.36 kB
TypeScript
/**
* Ensure that the collection exists and process the query
* @param {Object} db arangodb connection
* @param {string} collectionName collection name
* @param {string} query query string
* @param {Object} args list of arguments, optional
* @return {Promise} arangojs query result
*/
export declare const query: (db: any, collectionName: string, query: string | any, args?: object) => Promise<any>;
/**
* Convert id to arangodb friendly key.
* @param {string} id document identification
* @return {any} arangodb friendly key
*/
export declare const idToKey: (id: string) => any;
/**
* Remove arangodb specific fields.
* @param {Object} document A document returned from arangodb.
* @return {Object} A clone of the document without arangodb specific fields.
*/
export declare const sanitizeOutputFields: (document: object) => object;
export declare const sanitizeInputFields: (document: any) => any;
/**
* Auto-casting reference value by using native function of arangoDB
*
* @param {string} key
* @param {object} value - raw value optional
* @return {object} interpreted value
*/
export declare const autoCastKey: (key: any, value?: any) => any;
/**
* Auto-casting raw data
*
* @param {object} value - raw value
* @returns {any} interpreted value
*/
export declare const autoCastValue: (value: any) => any;
/**
* Links children of filter together via a comparision operator.
* @param {any} filter
* @param {string} op comparision operator
* @param {number} index to keep track of bind variables
* @param {any} bindVarsMap mapping of keys to values for bind variables
* @return {any} query template string and bind variables
*/
export declare const buildComparison: (filter: any, op: string, index: number, bindVarsMap: any) => any;
/**
* Creates a filter key, value.
* When the value is a string, boolean, number or date a equal comparision is created.
* Otherwise if the key corresponds to a known operator, the operator is constructed.
* @param {string} key
* @param {string|boolean|number|date|object} value
* @param {number} index to keep track of bind variables
* @param {any} bindVarsMap mapping of keys to values for bind variables
* @return {String} query template string
*/
export declare const buildField: (key: any, value: any, index: number, bindVarsMap: any) => string;
/**
* Build ArangoDB query based on filter.
* @param {Object} filter key, value tree object.
* @param {number} index to keep track of bind variables
* @param {any} bindVarsMap mapping of keys to values for bind variables
* @return {any} query template string and bind variables
*/
export declare const buildFilter: (filter: any, index?: number, bindVarsMap?: any) => any;
/**
* Build count and offset filters.
* @param {Object} options query options
* @return {String} template query string
*/
export declare const buildLimiter: (options: any) => string;
/**
* Build sort filter.
* @param {Object} options query options
* @param {number} index to keep track of bind variables
* @param {any} bindVarsMap Object containing bind key to values
* @return {any} template query string and bind variables Object
*/
export declare const buildSorter: (options: any, index?: number, bindVarsMap?: any) => any;
export declare const buildReturn: (options: any) => any;
export declare const encodeMessage: (object: object) => Buffer;