@peers-app/peers-sdk 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/context/data-context.d.ts +4 -4
  2. package/dist/context/data-context.js +1 -1
  3. package/dist/context/index.d.ts +3 -3
  4. package/dist/context/index.js +4 -0
  5. package/dist/context/user-context-singleton.js +13 -14
  6. package/dist/context/user-context.d.ts +4 -4
  7. package/dist/context/user-context.js +48 -31
  8. package/dist/data/assistants.d.ts +1 -1
  9. package/dist/data/assistants.js +35 -24
  10. package/dist/data/change-tracking.d.ts +8 -8
  11. package/dist/data/change-tracking.js +45 -39
  12. package/dist/data/channels.js +5 -5
  13. package/dist/data/data-locks.d.ts +2 -2
  14. package/dist/data/data-locks.js +21 -23
  15. package/dist/data/data-locks.test.js +73 -75
  16. package/dist/data/device-sync-info.d.ts +1 -1
  17. package/dist/data/device-sync-info.js +4 -4
  18. package/dist/data/devices.d.ts +1 -1
  19. package/dist/data/devices.js +9 -12
  20. package/dist/data/embeddings.js +14 -11
  21. package/dist/data/files/file-read-stream.d.ts +2 -2
  22. package/dist/data/files/file-read-stream.js +23 -14
  23. package/dist/data/files/file-write-stream.d.ts +2 -2
  24. package/dist/data/files/file-write-stream.js +8 -8
  25. package/dist/data/files/file.types.d.ts +2 -2
  26. package/dist/data/files/file.types.js +17 -11
  27. package/dist/data/files/files.d.ts +6 -6
  28. package/dist/data/files/files.js +17 -19
  29. package/dist/data/files/files.test.js +213 -214
  30. package/dist/data/files/index.d.ts +4 -4
  31. package/dist/data/files/index.js +4 -4
  32. package/dist/data/group-member-roles.js +2 -2
  33. package/dist/data/group-members.d.ts +5 -5
  34. package/dist/data/group-members.js +27 -18
  35. package/dist/data/group-members.test.js +73 -73
  36. package/dist/data/group-permissions.d.ts +3 -3
  37. package/dist/data/group-permissions.js +13 -11
  38. package/dist/data/group-share.d.ts +2 -2
  39. package/dist/data/group-share.js +29 -24
  40. package/dist/data/groups.d.ts +4 -4
  41. package/dist/data/groups.js +27 -19
  42. package/dist/data/groups.test.js +44 -44
  43. package/dist/data/index.d.ts +6 -6
  44. package/dist/data/index.js +6 -6
  45. package/dist/data/knowledge/peer-types.js +9 -9
  46. package/dist/data/messages.d.ts +5 -5
  47. package/dist/data/messages.js +43 -30
  48. package/dist/data/orm/client-proxy.data-source.d.ts +4 -4
  49. package/dist/data/orm/client-proxy.data-source.js +10 -12
  50. package/dist/data/orm/cursor.d.ts +1 -1
  51. package/dist/data/orm/cursor.js +2 -2
  52. package/dist/data/orm/cursor.test.js +92 -93
  53. package/dist/data/orm/data-query.d.ts +3 -3
  54. package/dist/data/orm/data-query.js +24 -18
  55. package/dist/data/orm/data-query.mongo.d.ts +1 -1
  56. package/dist/data/orm/data-query.mongo.js +49 -51
  57. package/dist/data/orm/data-query.mongo.test.js +173 -204
  58. package/dist/data/orm/data-query.sqlite.d.ts +1 -1
  59. package/dist/data/orm/data-query.sqlite.js +84 -73
  60. package/dist/data/orm/data-query.sqlite.test.js +164 -176
  61. package/dist/data/orm/data-query.test.js +216 -224
  62. package/dist/data/orm/decorators.js +3 -3
  63. package/dist/data/orm/dependency-injection.test.js +53 -56
  64. package/dist/data/orm/doc.d.ts +4 -4
  65. package/dist/data/orm/doc.js +17 -21
  66. package/dist/data/orm/event-registry.d.ts +1 -1
  67. package/dist/data/orm/event-registry.test.js +16 -16
  68. package/dist/data/orm/factory.d.ts +2 -2
  69. package/dist/data/orm/factory.js +33 -33
  70. package/dist/data/orm/index.d.ts +10 -10
  71. package/dist/data/orm/index.js +10 -10
  72. package/dist/data/orm/multi-cursors.d.ts +1 -1
  73. package/dist/data/orm/multi-cursors.js +6 -6
  74. package/dist/data/orm/multi-cursors.test.js +152 -144
  75. package/dist/data/orm/sql.data-source.d.ts +7 -7
  76. package/dist/data/orm/sql.data-source.js +88 -93
  77. package/dist/data/orm/sql.data-source.test.js +109 -101
  78. package/dist/data/orm/subscribable.data-source.d.ts +4 -4
  79. package/dist/data/orm/subscribable.data-source.js +5 -5
  80. package/dist/data/orm/table-container-events.test.js +34 -26
  81. package/dist/data/orm/table-container.d.ts +6 -6
  82. package/dist/data/orm/table-container.js +33 -21
  83. package/dist/data/orm/table-container.test.js +64 -53
  84. package/dist/data/orm/table-definitions.system.d.ts +3 -3
  85. package/dist/data/orm/table-definitions.system.js +3 -3
  86. package/dist/data/orm/table-definitions.type.d.ts +5 -5
  87. package/dist/data/orm/table-dependencies.d.ts +2 -2
  88. package/dist/data/orm/table.d.ts +5 -5
  89. package/dist/data/orm/table.event-source.test.js +105 -115
  90. package/dist/data/orm/table.js +35 -34
  91. package/dist/data/orm/types.d.ts +3 -3
  92. package/dist/data/orm/types.js +26 -25
  93. package/dist/data/orm/types.test.js +166 -92
  94. package/dist/data/package-permissions.d.ts +1 -1
  95. package/dist/data/package-permissions.js +2 -2
  96. package/dist/data/package-version-permissions.d.ts +1 -1
  97. package/dist/data/package-version-permissions.js +2 -2
  98. package/dist/data/package-versions.d.ts +9 -9
  99. package/dist/data/package-versions.js +47 -33
  100. package/dist/data/packages.d.ts +2 -2
  101. package/dist/data/packages.js +36 -18
  102. package/dist/data/packages.utils.d.ts +2 -2
  103. package/dist/data/packages.utils.js +4 -4
  104. package/dist/data/persistent-vars.d.ts +15 -15
  105. package/dist/data/persistent-vars.js +165 -154
  106. package/dist/data/table-definitions-table.d.ts +5 -5
  107. package/dist/data/table-definitions-table.js +13 -12
  108. package/dist/data/tool-tests.js +6 -6
  109. package/dist/data/tools.js +29 -19
  110. package/dist/data/user-permissions.d.ts +1 -1
  111. package/dist/data/user-permissions.js +5 -5
  112. package/dist/data/user-permissions.test.js +90 -88
  113. package/dist/data/user-trust-levels.js +10 -10
  114. package/dist/data/users.d.ts +4 -4
  115. package/dist/data/users.js +16 -15
  116. package/dist/data/voice-messages.d.ts +2 -2
  117. package/dist/data/voice-messages.js +13 -13
  118. package/dist/data/welcome-modal.pvar.js +3 -1
  119. package/dist/data/workflow-logs.js +26 -18
  120. package/dist/data/workflow-runs.d.ts +6 -6
  121. package/dist/data/workflow-runs.js +70 -44
  122. package/dist/data/workflows.d.ts +2 -2
  123. package/dist/data/workflows.js +7 -9
  124. package/dist/device/binary-peer-connection-v2.d.ts +7 -7
  125. package/dist/device/binary-peer-connection-v2.js +32 -28
  126. package/dist/device/binary-peer-connection-v2.test.js +80 -67
  127. package/dist/device/binary-peer-connection.d.ts +7 -7
  128. package/dist/device/binary-peer-connection.js +29 -28
  129. package/dist/device/binary-peer-connection.test.js +35 -31
  130. package/dist/device/connection.d.ts +5 -5
  131. package/dist/device/connection.js +59 -48
  132. package/dist/device/connection.test.js +74 -68
  133. package/dist/device/device-election.d.ts +2 -2
  134. package/dist/device/device-election.js +25 -20
  135. package/dist/device/device-election.test.js +35 -36
  136. package/dist/device/device.d.ts +2 -2
  137. package/dist/device/device.js +10 -4
  138. package/dist/device/device.test.js +16 -17
  139. package/dist/device/get-trust-level-fn.d.ts +2 -2
  140. package/dist/device/get-trust-level-fn.js +22 -11
  141. package/dist/device/get-trust-level-fn.test.js +58 -58
  142. package/dist/device/socket-io-binary-peer.d.ts +1 -1
  143. package/dist/device/socket-io-binary-peer.js +16 -13
  144. package/dist/device/socket.type.d.ts +2 -2
  145. package/dist/device/streamed-socket.d.ts +2 -2
  146. package/dist/device/streamed-socket.js +8 -8
  147. package/dist/device/streamed-socket.test.js +40 -40
  148. package/dist/device/tx-encoding.test.js +77 -77
  149. package/dist/events.d.ts +1 -1
  150. package/dist/events.js +5 -2
  151. package/dist/group-invite/group-invite.js +110 -19
  152. package/dist/group-invite/group-invite.pvars.d.ts +2 -2
  153. package/dist/group-invite/group-invite.pvars.js +21 -13
  154. package/dist/group-invite/group-invite.types.d.ts +1 -1
  155. package/dist/group-invite/index.d.ts +3 -3
  156. package/dist/group-invite/index.js +1 -1
  157. package/dist/index.d.ts +25 -24
  158. package/dist/index.js +30 -25
  159. package/dist/keys.d.ts +3 -3
  160. package/dist/keys.js +31 -30
  161. package/dist/keys.test.js +69 -61
  162. package/dist/logging/console-logger.d.ts +1 -1
  163. package/dist/logging/console-logger.js +35 -40
  164. package/dist/logging/console-logger.test.js +115 -115
  165. package/dist/logging/console-logs.table.d.ts +3 -3
  166. package/dist/logging/console-logs.table.js +28 -23
  167. package/dist/mentions.js +16 -12
  168. package/dist/observable.d.ts +2 -2
  169. package/dist/observable.js +15 -9
  170. package/dist/observable.test.js +47 -47
  171. package/dist/package-loader/get-require.js +3 -4
  172. package/dist/package-loader/package-loader.d.ts +2 -2
  173. package/dist/package-loader/package-loader.js +52 -34
  174. package/dist/peers-ui/peers-ui.d.ts +2 -2
  175. package/dist/peers-ui/peers-ui.js +2 -4
  176. package/dist/peers-ui/peers-ui.types.d.ts +3 -3
  177. package/dist/peers-ui/peers-ui.types.js +0 -1
  178. package/dist/rpc-types.d.ts +61 -59
  179. package/dist/rpc-types.js +61 -55
  180. package/dist/serial-json.d.ts +1 -1
  181. package/dist/serial-json.js +50 -43
  182. package/dist/serial-json.test.js +22 -22
  183. package/dist/system-ids.js +8 -8
  184. package/dist/tools/index.d.ts +1 -1
  185. package/dist/tools/tools-factory.d.ts +1 -1
  186. package/dist/tools/tools-factory.js +2 -2
  187. package/dist/types/assistant-runner-args.d.ts +3 -3
  188. package/dist/types/peer-device.d.ts +1 -1
  189. package/dist/types/peers-package.d.ts +3 -3
  190. package/dist/types/workflow-logger.d.ts +1 -1
  191. package/dist/types/workflow-run-context.d.ts +4 -4
  192. package/dist/types/workflow.d.ts +4 -4
  193. package/dist/types/workflow.js +27 -14
  194. package/dist/types/zod-types.d.ts +2 -1
  195. package/dist/types/zod-types.js +9 -3
  196. package/dist/user-connect/connection-code.d.ts +1 -1
  197. package/dist/user-connect/connection-code.js +7 -7
  198. package/dist/user-connect/connection-code.test.js +106 -106
  199. package/dist/user-connect/index.d.ts +3 -3
  200. package/dist/user-connect/index.js +1 -1
  201. package/dist/user-connect/user-connect.pvars.js +13 -11
  202. package/dist/user-connect/user-connect.types.d.ts +3 -3
  203. package/dist/users.query.d.ts +2 -2
  204. package/dist/users.query.js +40 -30
  205. package/dist/utils.d.ts +2 -2
  206. package/dist/utils.js +34 -32
  207. package/dist/utils.test.js +12 -8
  208. package/dist/workflow-log-formatter.d.ts +1 -1
  209. package/dist/workflow-log-formatter.js +17 -18
  210. package/package.json +14 -8
@@ -15,29 +15,29 @@ function dataFilterToSqlWhere(filter) {
15
15
  return handleFilterObject(filter);
16
16
  }
17
17
  function handleOrArray(filters) {
18
- const conditions = filters.map(f => dataFilterToSqlWhere(f));
19
- const orStatement = conditions.join(' OR ').trim();
20
- return `(${orStatement || '1=1'})`;
18
+ const conditions = filters.map((f) => dataFilterToSqlWhere(f));
19
+ const orStatement = conditions.join(" OR ").trim();
20
+ return `(${orStatement || "1=1"})`;
21
21
  }
22
22
  function handleFilterObject(filter) {
23
23
  const fieldNames = Object.keys(filter);
24
24
  if (!fieldNames.length) {
25
- return '(1=1)';
25
+ return "(1=1)";
26
26
  }
27
- const conditions = fieldNames.map(name => handleFilterField(name, filter[name]));
28
- return `(${conditions.join(' AND ')})`;
27
+ const conditions = fieldNames.map((name) => handleFilterField(name, filter[name]));
28
+ return `(${conditions.join(" AND ")})`;
29
29
  }
30
30
  function handleFilterField(name, value) {
31
- if (name === '$or') {
31
+ if (name === "$or") {
32
32
  return handleOrOperator(value);
33
33
  }
34
- if (name === '$and') {
34
+ if (name === "$and") {
35
35
  return handleAndOperator(value);
36
36
  }
37
- if (name === '$substr') {
37
+ if (name === "$substr") {
38
38
  return substrDirectiveToSqlite(value);
39
39
  }
40
- if (name === '$expr') {
40
+ if (name === "$expr") {
41
41
  return handleExprOperator(value);
42
42
  }
43
43
  return handleFieldCondition(name, value);
@@ -48,16 +48,19 @@ function handleFieldCondition(fieldName, value) {
48
48
  return `"${escapedName}" IS NULL`;
49
49
  }
50
50
  if ((0, lodash_1.isArray)(value)) {
51
- throw new Error(`Invalid filter: Arrays are not allowed as direct field values. Use $in instead: { ${fieldName}: { $in: [${value.slice(0, 2).map(v => typeof v === 'string' ? `'${v}'` : v).join(', ')}${value.length > 2 ? ', ...' : ''}] } }`);
51
+ throw new Error(`Invalid filter: Arrays are not allowed as direct field values. Use $in instead: { ${fieldName}: { $in: [${value
52
+ .slice(0, 2)
53
+ .map((v) => (typeof v === "string" ? `'${v}'` : v))
54
+ .join(", ")}${value.length > 2 ? ", ..." : ""}] } }`);
52
55
  }
53
- if (typeof value === 'object') {
56
+ if (typeof value === "object") {
54
57
  return handleObjectValue(escapedName, value);
55
58
  }
56
59
  return `"${escapedName}" = ${dataFieldScalarToSqlValue(value)}`;
57
60
  }
58
61
  function handleObjectValue(fieldName, value) {
59
62
  const keys = Object.keys(value);
60
- if (keys.length !== 1 || !keys[0].startsWith('$')) {
63
+ if (keys.length !== 1 || !keys[0].startsWith("$")) {
61
64
  throw new Error(`Invalid object value for field ${fieldName}`);
62
65
  }
63
66
  const operator = keys[0];
@@ -66,40 +69,40 @@ function handleObjectValue(fieldName, value) {
66
69
  }
67
70
  function handleFieldOperator(fieldName, operator, value) {
68
71
  switch (operator) {
69
- case '$in':
72
+ case "$in":
70
73
  return handleInOperator(fieldName, value);
71
- case '$nin':
74
+ case "$nin":
72
75
  return handleNinOperator(fieldName, value);
73
- case '$matchWords':
76
+ case "$matchWords":
74
77
  return handleMatchWordsOperator(fieldName, value);
75
- case '$exists':
78
+ case "$exists":
76
79
  return handleExistsOperator(fieldName, value);
77
- case '$ne':
80
+ case "$ne":
78
81
  return handleNeOperator(fieldName, value);
79
- case '$eq':
80
- case '$gt':
81
- case '$gte':
82
- case '$lt':
83
- case '$lte':
82
+ case "$eq":
83
+ case "$gt":
84
+ case "$gte":
85
+ case "$lt":
86
+ case "$lte":
84
87
  return handleComparisonOperator(fieldName, operator, value);
85
88
  default:
86
89
  throw new Error(`Unknown operator: ${operator}`);
87
90
  }
88
91
  }
89
92
  function handleOrOperator(value) {
90
- const conditions = value.map(f => dataFilterToSqlWhere(f));
91
- const orStatement = conditions.join(' OR ').trim();
92
- return `(${orStatement || '1=1'})`;
93
+ const conditions = value.map((f) => dataFilterToSqlWhere(f));
94
+ const orStatement = conditions.join(" OR ").trim();
95
+ return `(${orStatement || "1=1"})`;
93
96
  }
94
97
  function handleAndOperator(value) {
95
98
  if (value.length === 0) {
96
- return '(1=1)';
99
+ return "(1=1)";
97
100
  }
98
- const conditions = value.map(f => dataFilterToSqlWhere(f));
99
- return `(${conditions.join(' AND ')})`;
101
+ const conditions = value.map((f) => dataFilterToSqlWhere(f));
102
+ return `(${conditions.join(" AND ")})`;
100
103
  }
101
104
  function handleExprOperator(value) {
102
- let expr = '';
105
+ let expr = "";
103
106
  let lhsSet = false;
104
107
  for (const exprPart of Object.values(value)) {
105
108
  if (!lhsSet) {
@@ -118,24 +121,27 @@ function handleInOperator(fieldName, value) {
118
121
  if (!(0, lodash_1.isArray)(value)) {
119
122
  throw new Error(`$in value must be an array`);
120
123
  }
121
- const inValues = value.map(v => dataFilterToSqlWhere(v)).join(', ');
124
+ const inValues = value.map((v) => dataFilterToSqlWhere(v)).join(", ");
122
125
  return `"${fieldName}" IN (${inValues})`;
123
126
  }
124
127
  function handleNinOperator(fieldName, value) {
125
128
  if (!(0, lodash_1.isArray)(value)) {
126
129
  throw new Error(`$nin value must be an array`);
127
130
  }
128
- const ninValues = value.map(v => dataFilterToSqlWhere(v)).join(', ');
131
+ const ninValues = value.map((v) => dataFilterToSqlWhere(v)).join(", ");
129
132
  return `"${fieldName}" NOT IN (${ninValues})`;
130
133
  }
131
134
  function handleMatchWordsOperator(fieldName, value) {
132
- if (typeof value !== 'string') {
135
+ if (typeof value !== "string") {
133
136
  throw new Error(`$matchWords value must be a string`);
134
137
  }
135
- return value.split(' ').map((word) => {
138
+ return value
139
+ .split(" ")
140
+ .map((word) => {
136
141
  const escapedWord = word.replace(/'/g, "''");
137
142
  return `"${fieldName}" LIKE '%${escapedWord}%'`;
138
- }).join(' AND ');
143
+ })
144
+ .join(" AND ");
139
145
  }
140
146
  function handleExistsOperator(fieldName, value) {
141
147
  if (value) {
@@ -151,12 +157,12 @@ function handleNeOperator(fieldName, value) {
151
157
  }
152
158
  function handleComparisonOperator(fieldName, operator, value) {
153
159
  const sqlOperator = {
154
- '$eq': '=',
155
- '$ne': '<>',
156
- '$gt': '>',
157
- '$gte': '>=',
158
- '$lt': '<',
159
- '$lte': '<='
160
+ $eq: "=",
161
+ $ne: "<>",
162
+ $gt: ">",
163
+ $gte: ">=",
164
+ $lt: "<",
165
+ $lte: "<=",
160
166
  }[operator];
161
167
  if (!sqlOperator) {
162
168
  throw new Error(`Unknown operator: ${operator}`);
@@ -168,28 +174,26 @@ function escapeFieldName(name) {
168
174
  return name.replace(/"/g, `""`);
169
175
  }
170
176
  function isScalarValue(value) {
171
- return (typeof value !== 'object' ||
172
- (0, lodash_1.isDate)(value) ||
173
- value === null);
177
+ return typeof value !== "object" || (0, lodash_1.isDate)(value) || value === null;
174
178
  }
175
179
  function dataFieldScalarToSqlValue(value) {
176
180
  if (value === undefined || value === null) {
177
- return 'NULL';
181
+ return "NULL";
178
182
  }
179
- else if (typeof value === 'boolean') {
180
- return value ? '1' : '0';
183
+ else if (typeof value === "boolean") {
184
+ return value ? "1" : "0";
181
185
  }
182
- else if (typeof value === 'number') {
186
+ else if (typeof value === "number") {
183
187
  return String(value);
184
188
  }
185
- else if (typeof value === 'string') {
186
- if (value.startsWith('$')) {
189
+ else if (typeof value === "string") {
190
+ if (value.startsWith("$")) {
187
191
  const escapedValue = value.substring(1).replace(/"/g, `""`);
188
192
  return `"${escapedValue}"`;
189
193
  }
190
194
  else {
191
195
  let processedValue = value;
192
- if (value.startsWith('\\$')) {
196
+ if (value.startsWith("\\$")) {
193
197
  processedValue = value.substring(1);
194
198
  }
195
199
  const escapedValue = processedValue.replace(/'/g, "''");
@@ -210,21 +214,23 @@ function dataQueryToSqliteQuery(dataQuery) {
210
214
  let orderBy = "1";
211
215
  const sortBy = dataQuery.sortBy;
212
216
  if (sortBy?.length) {
213
- const sortBys = sortBy.map(s => String(s));
214
- orderBy = sortBys.map(s => {
215
- if (s.startsWith('-')) {
217
+ const sortBys = sortBy.map((s) => String(s));
218
+ orderBy = sortBys
219
+ .map((s) => {
220
+ if (s.startsWith("-")) {
216
221
  return `"${s.substring(1)}" DESC`;
217
222
  }
218
223
  else {
219
224
  return `"${s}" ASC`;
220
225
  }
221
- }).join(', ');
226
+ })
227
+ .join(", ");
222
228
  }
223
- let where = dataFilterToSqlWhere(dataQuery.filter || {}) || '(1=1)';
229
+ let where = dataFilterToSqlWhere(dataQuery.filter || {}) || "(1=1)";
224
230
  if (dataQuery.textSearch?.trim()) {
225
231
  const textSearch = dataFilterToSqliteTextSearch(dataQuery);
226
232
  if (textSearch) {
227
- if (where === '(1=1)') {
233
+ if (where === "(1=1)") {
228
234
  where = textSearch;
229
235
  }
230
236
  else {
@@ -232,9 +238,9 @@ function dataQueryToSqliteQuery(dataQuery) {
232
238
  }
233
239
  }
234
240
  }
235
- if ((!where.trim()) || where === '()') {
241
+ if (!where.trim() || where === "()") {
236
242
  console.warn(`dataQueryToSqliteQuery: where clause is empty, using '1=1'`);
237
- where = '(1=1)';
243
+ where = "(1=1)";
238
244
  }
239
245
  let sql = `
240
246
  SELECT
@@ -251,9 +257,7 @@ function dataQueryToSqliteQuery(dataQuery) {
251
257
  OFFSET ${pageSize * (page - 1)}
252
258
  `.substring(3);
253
259
  }
254
- sql = sql
255
- .trim()
256
- .replace(/ /g, '');
260
+ sql = sql.trim().replace(/ {4}/g, "");
257
261
  return sql;
258
262
  }
259
263
  /**
@@ -262,27 +266,34 @@ function dataQueryToSqliteQuery(dataQuery) {
262
266
  function dataFilterToSqliteTextSearch(query) {
263
267
  const textSearch = query.textSearch;
264
268
  if (!textSearch?.trim()) {
265
- return '';
269
+ return "";
266
270
  }
267
- const fieldNames = query.table.metaData.fields.map(f => f.name);
271
+ const fieldNames = query.table.metaData.fields.map((f) => f.name);
268
272
  // escape single quotes
269
273
  const escapedTextSearch = textSearch.replace(/'/g, "''");
270
274
  if (query.textSearchExact) {
271
- const strFilter = fieldNames.map(name => {
275
+ const strFilter = fieldNames
276
+ .map((name) => {
272
277
  return `"${name}" LIKE '%${escapedTextSearch}%'`;
273
- }).join(' OR ');
278
+ })
279
+ .join(" OR ");
274
280
  return `(${strFilter})`;
275
281
  }
276
282
  else {
277
- const words = escapedTextSearch.replace(/\s/mg, ' ').split(' ').filter(s => s);
283
+ const words = escapedTextSearch
284
+ .replace(/\s/gm, " ")
285
+ .split(" ")
286
+ .filter((s) => s);
278
287
  const strFilters = [];
279
288
  for (const word of words) {
280
- const strFilter = fieldNames.map(name => {
289
+ const strFilter = fieldNames
290
+ .map((name) => {
281
291
  return `"${name}" LIKE '%${word}%'`;
282
- }).join(' OR ');
292
+ })
293
+ .join(" OR ");
283
294
  strFilters.push(`(${strFilter})`);
284
295
  }
285
- return `(${strFilters.join(' AND ')})`;
296
+ return `(${strFilters.join(" AND ")})`;
286
297
  }
287
298
  }
288
299
  /**
@@ -290,8 +301,8 @@ function dataFilterToSqliteTextSearch(query) {
290
301
  */
291
302
  function substrDirectiveToSqlite(substrArgs) {
292
303
  const args = substrArgs;
293
- let arg0 = dataFilterToSqlWhere(args[0]);
294
- let arg1 = dataFilterToSqlWhere(args[1]);
295
- let arg2 = dataFilterToSqlWhere(args[2]);
304
+ const arg0 = dataFilterToSqlWhere(args[0]);
305
+ const arg1 = dataFilterToSqlWhere(args[1]);
306
+ const arg2 = dataFilterToSqlWhere(args[2]);
296
307
  return `substr(${arg0}, ${arg1}, ${arg2})`;
297
308
  }