UNPKG

synapse-react-client

Version:

[![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synapse-react-client) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettie

121 lines (120 loc) 3.72 kB
import { ColumnSingleValueFilterOperator as u, ColumnMultiValueFunction as c } from "@sage-bionetworks/synapse-types"; import { SYNAPSE_ENTITY_ID_REGEX as d } from "./RegularExpressions.js"; import { splitAndTrim as m } from "./StringUtils.js"; const S = 3, E = (e) => `${e}-temp-QueryFilter-array`; function f(e) { return e.match(d) ? e.substring(S) : e; } const R = (e, n) => `__${n ?? ""}_${e}`, _ = "SEARCH_TERM", T = "SEARCH_ROLE", g = "FTS_SEARCH_TERM", C = "FTS_SEARCH_ROLE", b = (e, n = u.LIKE, o) => { const s = o ? sessionStorage.getItem( E(o) ) : void 0; let r = []; if (s && (r = JSON.parse( s )), e) { const i = (t) => t.startsWith("qw") || t.startsWith("__"); r = r.concat( Object.keys(e || {}).filter( (t) => !i(t) && e[t] != null && e[t].trim() != "" ).map((t) => { if (t == _ || t == g) return { concreteType: "org.sagebionetworks.repo.model.table.TextMatchesQueryFilter", searchExpression: e[t] }; switch (n) { case u.EQUAL: return { concreteType: "org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter", columnName: t, operator: n, values: [e[t]] }; case u.IN: return { concreteType: "org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter", columnName: t, operator: n, values: m(e[t]) }; case c.HAS: return { concreteType: "org.sagebionetworks.repo.model.table.ColumnMultiValueFunctionQueryFilter", columnName: t, function: n, _function: n, values: m(e[t]) }; case u.LIKE: return { concreteType: "org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter", columnName: t, operator: n, // Add wildcards around the value values: [`%${f(e[t])}%`] }; case c.HAS_LIKE: return { concreteType: "org.sagebionetworks.repo.model.table.ColumnMultiValueFunctionQueryFilter", columnName: t, function: n, _function: n, values: e[t].split(",").map((a) => `%${f(a)}%`) }; } }) ); } return r.length === 0 ? void 0 : r; }, A = (e) => { const n = e.match(/(from)\s+(syn)\d+/gi); return n && n[0] ? n[0].substr(5).trim() : ""; }, v = (e) => { const o = /from\s+(syn\d+)(?:\.(\d+))?/i.exec(e); return o ? { entityId: o[1], versionNumber: o[2] ? parseInt(o[2]) : void 0 } : { entityId: void 0, versionNumber: void 0 }; }, w = (e, n) => { const o = n.map((r) => r.values), s = e.map((r) => r.name); return o.map((r) => { const i = {}; return r.forEach((t, l) => { i[s[l]] = t; }), i; }); }, N = (e, n, o) => { if (!e) return; const s = e.toLowerCase(); if (n) { const r = n.findIndex( (i) => i.name?.toLowerCase() === s ); if (r != -1) return r; } if (o) { const r = o.findIndex( (i) => i.name?.toLowerCase() === s ); if (r !== -1) return r; } }; export { C as FTS_SEARCH_ROLE, g as FTS_SEARCH_TERM, E as QUERY_FILTERS_SESSION_STORAGE_KEY, T as SEARCH_ROLE, _ as SEARCH_TERM, b as getAdditionalFilters, N as getColumnIndex, R as getIgnoredQueryFilterSearchParamKey, v as parseEntityIdAndVersionFromSqlStatement, A as parseEntityIdFromSqlStatement, f as removePrefixIfSynId, w as resultToJson }; //# sourceMappingURL=SqlFunctions.js.map