@m1212e/rumble 0.18.2 → 0.18.6

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/out/index.cjs CHANGED
@@ -208,20 +208,20 @@ function mapNullFieldsToUndefined(obj) {
208
208
  }
209
209
  //#endregion
210
210
  //#region package.json
211
- var version = "0.18.2";
211
+ var version = "0.18.6";
212
212
  //#endregion
213
213
  //#region lib/helpers/mergeFilters.ts
214
- function mergeFilters(filterA, filterB) {
214
+ function mergeFilters(filterA, filterB, mode = "AND") {
215
215
  return {
216
- where: filterA?.where && filterB?.where ? { AND: [filterA?.where, filterB?.where] } : filterA?.where ?? filterB?.where,
216
+ where: filterA?.where && filterB?.where ? mode === "OR" ? { OR: [filterA.where, filterB.where] } : { AND: [filterA.where, filterB.where] } : filterA?.where ?? filterB?.where,
217
217
  columns: filterA?.columns || filterB?.columns ? new Set([Object.entries(filterA?.columns ?? {}), Object.entries(filterB?.columns ?? {})].flat().filter(([, v]) => v === true).map(([k]) => k)).entries().reduce((acc, [key]) => {
218
218
  acc[key] = true;
219
219
  return acc;
220
220
  }, {}) : void 0,
221
221
  extras: filterA?.extras || filterB?.extras ? (0, es_toolkit.toMerged)(filterA?.extras ?? {}, filterB?.extras ?? {}) : void 0,
222
222
  orderBy: filterA?.orderBy || filterB?.orderBy ? (0, es_toolkit.toMerged)(filterA?.orderBy ?? {}, filterB?.orderBy ?? {}) : void 0,
223
- limit: filterA?.limit || filterB?.limit ? Math.min(filterA?.limit ?? Infinity, filterB?.limit ?? Infinity) : void 0,
224
- offset: filterA?.offset || filterB?.offset ? Math.min(filterA?.offset ?? Infinity, filterB?.offset ?? Infinity) : void 0,
223
+ limit: mode === "OR" ? filterA?.limit === void 0 || filterB?.limit === void 0 ? void 0 : Math.max(filterA.limit, filterB.limit) : filterA?.limit || filterB?.limit ? Math.min(filterA?.limit ?? Infinity, filterB?.limit ?? Infinity) : void 0,
224
+ offset: mode === "OR" ? filterA?.offset === void 0 || filterB?.offset === void 0 ? void 0 : Math.min(filterA.offset, filterB.offset) : filterA?.offset || filterB?.offset ? Math.min(filterA?.offset ?? Infinity, filterB?.offset ?? Infinity) : void 0,
225
225
  with: filterA?.with || filterB?.with ? (0, es_toolkit.toMerged)(filterA?.with ?? {}, filterB?.with ?? {}) : void 0
226
226
  };
227
227
  }
@@ -649,8 +649,8 @@ by: (explicitFilter) => {
649
649
  return transformToResponse(blockEverythingFilter);
650
650
  }
651
651
  const mergedFilters = allQueryFilters.length === 1 ? allQueryFilters[0] : allQueryFilters.reduce((a, b) => {
652
- return mergeFilters(a, b);
653
- }, {});
652
+ return mergeFilters(a, b, "OR");
653
+ });
654
654
  span?.setAttribute("abilities.status", "applied");
655
655
  return transformToResponse(mergedFilters);
656
656
  };
@@ -1205,7 +1205,7 @@ const createObjectImplementer = ({ db, search, schemaBuilder, makePubSubInstance
1205
1205
  let filterSpecifier = "many";
1206
1206
  if (value instanceof drizzle_orm.One) {
1207
1207
  isMany = false;
1208
- nullable = !value.sourceColumns.every((column) => column.notNull);
1208
+ nullable = value.optional || !value.sourceColumns.every((column) => column.notNull);
1209
1209
  filterSpecifier = "single";
1210
1210
  }
1211
1211
  const subscribe = (subscriptions, _element) => {