MCPcopy Index your code
hub / github.com/parse-community/parse-server / queryHash

Function queryHash

src/LiveQuery/QueryTools.js:99–135  ·  view source on GitHub ↗

* Generate a hash from a query, with unique fields for columns, values, order, * skip, and limit.

(query)

Source from the content-addressed store, hash-verified

97 * skip, and limit.
98 */
99function queryHash(query) {
100 if (query instanceof Parse.Query) {
101 query = {
102 className: query.className,
103 where: query._where,
104 };
105 }
106 var where = flattenOrQueries(query.where || {});
107 var columns = [];
108 var values = [];
109 var i;
110 if (Array.isArray(where)) {
111 var uniqueColumns = {};
112 for (i = 0; i < where.length; i++) {
113 var subValues = {};
114 var keys = Object.keys(where[i]);
115 keys.sort();
116 for (var j = 0; j < keys.length; j++) {
117 subValues[keys[j]] = where[i][keys[j]];
118 uniqueColumns[keys[j]] = true;
119 }
120 values.push(subValues);
121 }
122 columns = Object.keys(uniqueColumns);
123 columns.sort();
124 } else {
125 columns = Object.keys(where);
126 columns.sort();
127 for (i = 0; i < columns.length; i++) {
128 values.push(where[columns[i]]);
129 }
130 }
131
132 var sections = [columns.join(','), stringify(values)];
133
134 return query.className + ':' + sections.join('|');
135}
136
137/**
138 * contains -- Determines if an object is contained in a list with special handling for Parse pointers.

Callers 2

_handleSubscribeMethod · 0.90
QueryTools.spec.jsFile · 0.85

Calls 2

flattenOrQueriesFunction · 0.85
stringifyFunction · 0.85

Tested by

no test coverage detected