feathers-utils 2.0.0-2 → 2.0.0-3

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.
@@ -1,2 +1,2 @@
1
1
  import type { FilterQueryOptions } from "@feathersjs/adapter-commons";
2
- export declare const filterArray: () => (arr: any, { operators }: FilterQueryOptions) => any;
2
+ export declare const filterArray: (key: string) => (arr: any, { operators }: FilterQueryOptions) => any;
@@ -1,7 +1,7 @@
1
1
  import { validateQueryProperty } from "../utils/validateQueryProperty";
2
- export const filterArray = () => (arr, { operators }) => {
2
+ export const filterArray = (key) => (arr, { operators }) => {
3
3
  if (arr && !Array.isArray(arr)) {
4
- throw new Error("Invalid query parameter $and. It has to be an array");
4
+ throw new Error(`Invalid query parameter '${key}'. It has to be an array`);
5
5
  }
6
6
  if (Array.isArray(arr)) {
7
7
  return arr.map((current) => validateQueryProperty(current, operators));
@@ -0,0 +1,2 @@
1
+ import type { FilterQueryOptions } from "@feathersjs/adapter-commons";
2
+ export declare const filterObject: (key: string) => (obj: any, { operators }: FilterQueryOptions) => import("@feathersjs/feathers/lib").Query;
@@ -0,0 +1,8 @@
1
+ import { validateQueryProperty } from "../utils/validateQueryProperty";
2
+ import _isObject from "lodash/isObject";
3
+ export const filterObject = (key) => (obj, { operators }) => {
4
+ if (obj && !_isObject(obj)) {
5
+ throw new Error(`Invalid query parameter: '${key}'. It has to be an object`);
6
+ }
7
+ return validateQueryProperty(obj, operators);
8
+ };
@@ -33,4 +33,5 @@ export { onDelete } from "./hooks/onDelete";
33
33
  export { shouldSkip } from "./utils/shouldSkip";
34
34
  export { validateQueryProperty } from "./utils/validateQueryProperty";
35
35
  export { filterArray } from "./filters/array";
36
+ export { filterObject } from "./filters/object";
36
37
  export * from "./types";
package/dist/esm/index.js CHANGED
@@ -34,4 +34,5 @@ export { shouldSkip } from "./utils/shouldSkip";
34
34
  export { validateQueryProperty } from "./utils/validateQueryProperty";
35
35
  // query filters
36
36
  export { filterArray } from "./filters/array";
37
+ export { filterObject } from "./filters/object";
37
38
  export * from "./types";
@@ -1,2 +1,2 @@
1
1
  import type { FilterQueryOptions } from "@feathersjs/adapter-commons";
2
- export declare const filterArray: () => (arr: any, { operators }: FilterQueryOptions) => any;
2
+ export declare const filterArray: (key: string) => (arr: any, { operators }: FilterQueryOptions) => any;
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.filterArray = void 0;
4
4
  const validateQueryProperty_1 = require("../utils/validateQueryProperty");
5
- const filterArray = () => (arr, { operators }) => {
5
+ const filterArray = (key) => (arr, { operators }) => {
6
6
  if (arr && !Array.isArray(arr)) {
7
- throw new Error("Invalid query parameter $and. It has to be an array");
7
+ throw new Error(`Invalid query parameter '${key}'. It has to be an array`);
8
8
  }
9
9
  if (Array.isArray(arr)) {
10
10
  return arr.map((current) => (0, validateQueryProperty_1.validateQueryProperty)(current, operators));
@@ -0,0 +1,2 @@
1
+ import type { FilterQueryOptions } from "@feathersjs/adapter-commons";
2
+ export declare const filterObject: (key: string) => (obj: any, { operators }: FilterQueryOptions) => import("@feathersjs/feathers/lib").Query;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.filterObject = void 0;
7
+ const validateQueryProperty_1 = require("../utils/validateQueryProperty");
8
+ const isObject_1 = __importDefault(require("lodash/isObject"));
9
+ const filterObject = (key) => (obj, { operators }) => {
10
+ if (obj && !(0, isObject_1.default)(obj)) {
11
+ throw new Error(`Invalid query parameter: '${key}'. It has to be an object`);
12
+ }
13
+ return (0, validateQueryProperty_1.validateQueryProperty)(obj, operators);
14
+ };
15
+ exports.filterObject = filterObject;
package/dist/index.d.ts CHANGED
@@ -33,4 +33,5 @@ export { onDelete } from "./hooks/onDelete";
33
33
  export { shouldSkip } from "./utils/shouldSkip";
34
34
  export { validateQueryProperty } from "./utils/validateQueryProperty";
35
35
  export { filterArray } from "./filters/array";
36
+ export { filterObject } from "./filters/object";
36
37
  export * from "./types";
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.filterArray = exports.validateQueryProperty = exports.shouldSkip = exports.onDelete = exports.getItemsIsArray = exports.filterQuery = exports.markHookForSkip = exports.setResultEmpty = exports.pushSet = exports.mergeArrays = exports.mergeQuery = exports.isPaginated = exports.isMulti = exports.getPaginate = exports.DebouncedStore = exports.debounceMixin = exports.mixins = exports.runPerItem = exports.removeRelated = exports.setData = exports.createRelated = exports.checkMulti = exports.hooks = void 0;
17
+ exports.filterObject = exports.filterArray = exports.validateQueryProperty = exports.shouldSkip = exports.onDelete = exports.getItemsIsArray = exports.filterQuery = exports.markHookForSkip = exports.setResultEmpty = exports.pushSet = exports.mergeArrays = exports.mergeQuery = exports.isPaginated = exports.isMulti = exports.getPaginate = exports.DebouncedStore = exports.debounceMixin = exports.mixins = exports.runPerItem = exports.removeRelated = exports.setData = exports.createRelated = exports.checkMulti = exports.hooks = void 0;
18
18
  // hooks
19
19
  const checkMulti_1 = require("./hooks/checkMulti");
20
20
  Object.defineProperty(exports, "checkMulti", { enumerable: true, get: function () { return checkMulti_1.checkMulti; } });
@@ -67,4 +67,6 @@ Object.defineProperty(exports, "validateQueryProperty", { enumerable: true, get:
67
67
  // query filters
68
68
  var array_1 = require("./filters/array");
69
69
  Object.defineProperty(exports, "filterArray", { enumerable: true, get: function () { return array_1.filterArray; } });
70
+ var object_1 = require("./filters/object");
71
+ Object.defineProperty(exports, "filterObject", { enumerable: true, get: function () { return object_1.filterObject; } });
70
72
  __exportStar(require("./types"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "feathers-utils",
3
- "version": "2.0.0-2",
3
+ "version": "2.0.0-3",
4
4
  "description": "Some utils for projects using '@feathersjs/feathers'",
5
5
  "author": "fratzinger",
6
6
  "repository": {
@@ -1,9 +1,9 @@
1
1
  import type { FilterQueryOptions } from "@feathersjs/adapter-commons";
2
2
  import { validateQueryProperty } from "../utils/validateQueryProperty";
3
3
 
4
- export const filterArray = () => (arr: any, { operators }: FilterQueryOptions) => {
4
+ export const filterArray = (key: string) => (arr: any, { operators }: FilterQueryOptions) => {
5
5
  if (arr && !Array.isArray(arr)) {
6
- throw new Error("Invalid query parameter $and. It has to be an array");
6
+ throw new Error(`Invalid query parameter '${key}'. It has to be an array`);
7
7
  }
8
8
 
9
9
  if (Array.isArray(arr)) {
@@ -0,0 +1,11 @@
1
+ import type { FilterQueryOptions } from "@feathersjs/adapter-commons";
2
+ import { validateQueryProperty } from "../utils/validateQueryProperty";
3
+ import _isObject from "lodash/isObject";
4
+
5
+ export const filterObject = (key: string) => (obj: any, { operators }: FilterQueryOptions) => {
6
+ if (obj && !_isObject(obj)) {
7
+ throw new Error(`Invalid query parameter: '${key}'. It has to be an object`);
8
+ }
9
+
10
+ return validateQueryProperty(obj, operators);
11
+ };
package/src/index.ts CHANGED
@@ -46,5 +46,6 @@ export { validateQueryProperty } from "./utils/validateQueryProperty";
46
46
 
47
47
  // query filters
48
48
  export { filterArray } from "./filters/array";
49
+ export { filterObject } from "./filters/object";
49
50
 
50
51
  export * from "./types";