feathers-utils 2.0.0-0 → 2.0.0-10
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/LICENSE +1 -1
- package/README.md +16 -9
- package/dist/index.cjs +861 -0
- package/dist/index.d.ts +193 -28
- package/dist/index.mjs +837 -0
- package/package.json +47 -31
- package/src/filters/array.ts +30 -0
- package/src/filters/index.ts +2 -0
- package/src/filters/object.ts +27 -0
- package/src/hooks/checkMulti.ts +13 -6
- package/src/hooks/createRelated.ts +61 -0
- package/src/hooks/index.ts +6 -0
- package/src/hooks/makeSequelizeQuery.ts_ +4 -4
- package/src/hooks/onDelete.ts +78 -0
- package/src/hooks/removeRelated.ts +61 -0
- package/src/hooks/runPerItem.ts +30 -21
- package/src/hooks/setData.ts +43 -22
- package/src/index.ts +4 -37
- package/src/mixins/debounce-mixin/DebouncedStore.ts +60 -55
- package/src/mixins/debounce-mixin/debounceMixin.ts +33 -0
- package/src/mixins/debounce-mixin/index.ts +3 -36
- package/src/mixins/debounce-mixin/types.ts +16 -0
- package/src/mixins/index.ts +1 -0
- package/src/types.ts +9 -90
- package/src/typesInternal.ts +6 -0
- package/src/utils/filterQuery.ts +31 -20
- package/src/utils/getItemsIsArray.ts +25 -0
- package/src/utils/getPaginate.ts +19 -17
- package/src/utils/index.ts +11 -0
- package/src/utils/isMulti.ts +13 -2
- package/src/utils/isPaginated.ts +10 -5
- package/src/utils/markHookForSkip.ts +21 -16
- package/src/utils/mergeQuery/index.ts +3 -367
- package/src/utils/mergeQuery/mergeArrays.ts +25 -18
- package/src/utils/mergeQuery/mergeQuery.ts +104 -0
- package/src/utils/mergeQuery/types.ts +25 -0
- package/src/utils/mergeQuery/utils.ts +342 -0
- package/src/utils/pushSet.ts +20 -10
- package/src/utils/setResultEmpty.ts +13 -8
- package/src/utils/shouldSkip.ts +22 -20
- package/src/utils/validateQueryProperty.ts +34 -0
- package/.eslintignore +0 -3
- package/.eslintrc.js +0 -44
- package/.gitlab-ci.yml +0 -11
- package/.mocharc.js +0 -11
- package/.nycrc.json +0 -22
- package/dist/esm/hooks/checkMulti.d.ts +0 -2
- package/dist/esm/hooks/checkMulti.js +0 -18
- package/dist/esm/hooks/runPerItem.d.ts +0 -4
- package/dist/esm/hooks/runPerItem.js +0 -26
- package/dist/esm/hooks/setData.d.ts +0 -4
- package/dist/esm/hooks/setData.js +0 -34
- package/dist/esm/index.d.ts +0 -30
- package/dist/esm/index.js +0 -30
- package/dist/esm/mixins/debounce-mixin/DebouncedStore.d.ts +0 -15
- package/dist/esm/mixins/debounce-mixin/DebouncedStore.js +0 -46
- package/dist/esm/mixins/debounce-mixin/index.d.ts +0 -8
- package/dist/esm/mixins/debounce-mixin/index.js +0 -20
- package/dist/esm/types.d.ts +0 -60
- package/dist/esm/types.js +0 -2
- package/dist/esm/utils/filterQuery.d.ts +0 -3
- package/dist/esm/utils/filterQuery.js +0 -28
- package/dist/esm/utils/getPaginate.d.ts +0 -7
- package/dist/esm/utils/getPaginate.js +0 -14
- package/dist/esm/utils/isMulti.d.ts +0 -2
- package/dist/esm/utils/isMulti.js +0 -17
- package/dist/esm/utils/isPaginated.d.ts +0 -2
- package/dist/esm/utils/isPaginated.js +0 -8
- package/dist/esm/utils/markHookForSkip.d.ts +0 -3
- package/dist/esm/utils/markHookForSkip.js +0 -14
- package/dist/esm/utils/mergeQuery/index.d.ts +0 -3
- package/dist/esm/utils/mergeQuery/index.js +0 -327
- package/dist/esm/utils/mergeQuery/mergeArrays.d.ts +0 -2
- package/dist/esm/utils/mergeQuery/mergeArrays.js +0 -37
- package/dist/esm/utils/pushSet.d.ts +0 -2
- package/dist/esm/utils/pushSet.js +0 -19
- package/dist/esm/utils/setResultEmpty.d.ts +0 -2
- package/dist/esm/utils/setResultEmpty.js +0 -25
- package/dist/esm/utils/shouldSkip.d.ts +0 -2
- package/dist/esm/utils/shouldSkip.js +0 -29
- package/dist/hooks/checkMulti.d.ts +0 -2
- package/dist/hooks/checkMulti.js +0 -22
- package/dist/hooks/runPerItem.d.ts +0 -4
- package/dist/hooks/runPerItem.js +0 -39
- package/dist/hooks/setData.d.ts +0 -4
- package/dist/hooks/setData.js +0 -42
- package/dist/index.js +0 -53
- package/dist/mixins/debounce-mixin/DebouncedStore.d.ts +0 -15
- package/dist/mixins/debounce-mixin/DebouncedStore.js +0 -65
- package/dist/mixins/debounce-mixin/index.d.ts +0 -8
- package/dist/mixins/debounce-mixin/index.js +0 -24
- package/dist/types.d.ts +0 -60
- package/dist/types.js +0 -3
- package/dist/utils/filterQuery.d.ts +0 -3
- package/dist/utils/filterQuery.js +0 -33
- package/dist/utils/getPaginate.d.ts +0 -7
- package/dist/utils/getPaginate.js +0 -15
- package/dist/utils/isMulti.d.ts +0 -2
- package/dist/utils/isMulti.js +0 -21
- package/dist/utils/isPaginated.d.ts +0 -2
- package/dist/utils/isPaginated.js +0 -12
- package/dist/utils/markHookForSkip.d.ts +0 -3
- package/dist/utils/markHookForSkip.js +0 -18
- package/dist/utils/mergeQuery/index.d.ts +0 -3
- package/dist/utils/mergeQuery/index.js +0 -334
- package/dist/utils/mergeQuery/mergeArrays.d.ts +0 -2
- package/dist/utils/mergeQuery/mergeArrays.js +0 -41
- package/dist/utils/pushSet.d.ts +0 -2
- package/dist/utils/pushSet.js +0 -26
- package/dist/utils/setResultEmpty.d.ts +0 -2
- package/dist/utils/setResultEmpty.js +0 -29
- package/dist/utils/shouldSkip.d.ts +0 -2
- package/dist/utils/shouldSkip.js +0 -33
- package/index.js +0 -9
- package/tsconfig-esm.json +0 -9
- package/tsconfig.json +0 -16
- package/tsconfig.test.json +0 -13
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# feathers-utils
|
|
2
2
|
|
|
3
|
-

|
|
4
|
-

|
|
5
|
-

|
|
6
|
-

|
|
7
|
-

|
|
3
|
+
[](https://www.npmjs.com/package/feathers-utils)
|
|
4
|
+
[](https://github.com/fratzinger/feathers-utils/actions/workflows/node.js.yml?query=branch%3Amain)
|
|
5
|
+
[](https://codeclimate.com/github/fratzinger/feathers-utils)
|
|
6
|
+
[](https://codeclimate.com/github/fratzinger/feathers-utils)
|
|
7
|
+
[](https://libraries.io/npm/feathers-utils)
|
|
8
|
+
[](https://www.npmjs.com/package/feathers-utils)
|
|
9
9
|
[](https://github.com/fratzinger/feathers-utils/blob/main/LICENSE.md)
|
|
10
10
|
|
|
11
11
|
|
|
@@ -19,8 +19,12 @@ npm i feathers-utils
|
|
|
19
19
|
|
|
20
20
|
### Hooks
|
|
21
21
|
|
|
22
|
-
- `
|
|
23
|
-
- `
|
|
22
|
+
- `checkMulti`: throws if the request is **multi** data, but the services `allowsMulti(method)` returns `false`
|
|
23
|
+
- `createRelated`: simply create related items from a hook.
|
|
24
|
+
- `onDelete`: simply remove/set null related items from a hook.
|
|
25
|
+
- `removeRelated`: simple remove related items from a hook. Basically `cascade` at feathers level.
|
|
26
|
+
- `runPerItem`: run a function for every item. Meant for `multi:true`.
|
|
27
|
+
- `setData`: map properties from `context` to `data`. Something like `userId: context.params.user.id`
|
|
24
28
|
|
|
25
29
|
### Mixins
|
|
26
30
|
|
|
@@ -28,11 +32,14 @@ npm i feathers-utils
|
|
|
28
32
|
|
|
29
33
|
### Utils
|
|
30
34
|
|
|
31
|
-
- `addHook`: add hooks to specific services
|
|
32
35
|
- `filterQuery`
|
|
36
|
+
- `getItemsIsArray(context)`: returns `{ items: any[], isArray: boolean }`
|
|
37
|
+
- `getPaginate`
|
|
33
38
|
- `isMulti(context) => Boolean`: returns true, if `find`, `create/patch/remove`: multi
|
|
39
|
+
- `isPaginated`
|
|
34
40
|
- `markHookForSkip`: add hookName to `context.params.skipHooks` - also see `shouldSkip`
|
|
35
41
|
- `mergeQuery`: deeply merges queries
|
|
36
42
|
- `mergeArrays`: merges arrays with intersection options
|
|
37
43
|
- `pushSet`: if existing array: *push*, else *set*
|
|
44
|
+
- `setResultEmpty`
|
|
38
45
|
- `shouldSkip`: checks `context.params.skipHooks` for `'all' | '${hookName}' | '${type}:${hookName}'` - also see `markHookForSkip`
|