@peerbit/indexer-sqlite3 3.0.2 → 3.0.4

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.
package/dist/index.min.js CHANGED
@@ -20296,6 +20296,37 @@ var SQLConversionMap = {
20296
20296
  var WRAPPED_SIMPLE_VALUE_VARIANT = "wrapped";
20297
20297
  var JSON_GROUP_ARRAY = "json_group_array";
20298
20298
  var JSON_OBJECT = "distinct json_object";
20299
+ var coerceLocalQuery = (query) => {
20300
+ if (query instanceof Query) {
20301
+ return query;
20302
+ }
20303
+ return deserialize(serialize(query), Query);
20304
+ };
20305
+ var coerceLocalQueries = (query) => {
20306
+ if (!query) {
20307
+ return [];
20308
+ }
20309
+ if (Array.isArray(query)) {
20310
+ return query.map((entry) => coerceLocalQuery(entry));
20311
+ }
20312
+ if (query instanceof Query) {
20313
+ return [query];
20314
+ }
20315
+ try {
20316
+ return [coerceLocalQuery(query)];
20317
+ } catch {
20318
+ return toQuery(query).map((entry) => coerceLocalQuery(entry));
20319
+ }
20320
+ };
20321
+ var coerceLocalSorts = (sort) => {
20322
+ if (!sort) {
20323
+ return void 0;
20324
+ }
20325
+ if (Array.isArray(sort)) {
20326
+ return sort.map((entry) => entry instanceof Sort ? entry : deserialize(serialize(entry), Sort));
20327
+ }
20328
+ return sort instanceof Sort ? sort : deserialize(serialize(sort), Sort);
20329
+ };
20299
20330
  var u64ToI64 = (u64) => {
20300
20331
  return (typeof u64 === "number" ? BigInt(u64) : u64) - 9223372036854775808n;
20301
20332
  };
@@ -21187,14 +21218,14 @@ var resolveInstanceFromValue = async (fromTablePrefixedValues, tables, table, re
21187
21218
  return Object.assign(Object.create(table.ctor.prototype), obj);
21188
21219
  };
21189
21220
  var convertDeleteRequestToQuery = (request, tables, table) => {
21190
- const { query, bindable } = convertRequestToQuery("delete", { query: toQuery(request.query) }, tables, table);
21221
+ const { query, bindable } = convertRequestToQuery("delete", { query: coerceLocalQueries(request.query) }, tables, table);
21191
21222
  return {
21192
21223
  sql: `DELETE FROM ${table.name} WHERE ${table.name}.${table.primary} IN (SELECT ${table.primary} from ${table.name} ${query}) returning ${table.primary}`,
21193
21224
  bindable
21194
21225
  };
21195
21226
  };
21196
21227
  var convertSumRequestToQuery = (request, tables, table) => {
21197
- const { query, bindable } = convertRequestToQuery("sum", { query: toQuery(request.query), key: request.key }, tables, table);
21228
+ const { query, bindable } = convertRequestToQuery("sum", { query: coerceLocalQueries(request.query), key: request.key }, tables, table);
21198
21229
  const inlineName = getInlineTableFieldName(request.key);
21199
21230
  const field2 = table.fields.find((x) => x.name === inlineName);
21200
21231
  if (unwrapNestedType(field2.from.type) === "u64") {
@@ -21207,7 +21238,7 @@ var convertSumRequestToQuery = (request, tables, table) => {
21207
21238
  };
21208
21239
  };
21209
21240
  var convertCountRequestToQuery = (request, tables, table) => {
21210
- const { query, bindable } = convertRequestToQuery("count", { query: request?.query ? toQuery(request.query) : void 0 }, tables, table);
21241
+ const { query, bindable } = convertRequestToQuery("count", { query: coerceLocalQueries(request?.query) }, tables, table);
21211
21242
  return {
21212
21243
  sql: `SELECT count(DISTINCT ${table.name}.${table.primary}) as count FROM ${table.name} ${query}`,
21213
21244
  bindable
@@ -21243,6 +21274,10 @@ var buildOrderBy = (sort, tables, table, joinBuilder, resolverBuilder, path = []
21243
21274
  return { orderByBuilder };
21244
21275
  };
21245
21276
  var convertSearchRequestToQuery = (request, tables, rootTables, options) => {
21277
+ const normalizedRequest = request ? {
21278
+ query: coerceLocalQueries(request.query),
21279
+ sort: coerceLocalSorts(request.sort)
21280
+ } : void 0;
21246
21281
  let unionBuilder = "";
21247
21282
  let orderByClause = "";
21248
21283
  let matchedOnce = false;
@@ -21252,7 +21287,7 @@ var convertSearchRequestToQuery = (request, tables, rootTables, options) => {
21252
21287
  for (const [i, table] of rootTables.entries()) {
21253
21288
  const { selects, joins, groupBy } = selectsPerTable[i];
21254
21289
  try {
21255
- const { orderByBuilder } = buildOrderBy(request?.sort, tables, table, joins, selects, [], options);
21290
+ const { orderByBuilder } = buildOrderBy(normalizedRequest?.sort, tables, table, joins, selects, [], options);
21256
21291
  if (!orderByClause && orderByBuilder) {
21257
21292
  orderByClause = orderByBuilder.length > 0 ? orderByClause.length > 0 ? orderByClause + ", " + orderByBuilder : orderByBuilder : orderByClause;
21258
21293
  }
@@ -21264,7 +21299,7 @@ var convertSearchRequestToQuery = (request, tables, rootTables, options) => {
21264
21299
  throw error2;
21265
21300
  }
21266
21301
  const selectQuery = generateSelectQuery(table, selects);
21267
- for (const flattenRequest of flattenQuery(request)) {
21302
+ for (const flattenRequest of flattenQuery(normalizedRequest)) {
21268
21303
  try {
21269
21304
  const { query, bindable } = convertRequestToQuery(
21270
21305
  "iterate",
@@ -21318,7 +21353,7 @@ var convertRequestToQuery = (type, request, tables, table, extraJoin, path = [],
21318
21353
  let bindableBuilder = [];
21319
21354
  let joinBuilder = extraJoin || /* @__PURE__ */ new Map();
21320
21355
  getOrSetRootTable(joinBuilder, table);
21321
- const coercedQuery = toQuery(request?.query);
21356
+ const coercedQuery = coerceLocalQueries(request?.query);
21322
21357
  if (coercedQuery.length === 1) {
21323
21358
  const { where: where2, bindable } = convertQueryToSQLQuery(coercedQuery[0], tables, table, joinBuilder, path, void 0, 0);
21324
21359
  whereBuilder += where2;
@@ -22256,8 +22291,8 @@ var SQLiteIndex = class {
22256
22291
  let bindable = [];
22257
22292
  let sqlFetch = void 0;
22258
22293
  const normalizedQuery = new PlannableQuery({
22259
- query: toQuery(request?.query),
22260
- sort: request?.sort
22294
+ query: coerceLocalQueries(request?.query),
22295
+ sort: coerceLocalSorts(request?.sort)
22261
22296
  });
22262
22297
  let planningScope;
22263
22298
  const fetch2 = async (amount) => {