feathers-utils 1.11.0 → 1.12.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.
package/README.md CHANGED
@@ -21,6 +21,7 @@ npm i feathers-utils
21
21
 
22
22
  - `checkMulti`: throws if the request is **multi** data, but the service has `allowsMulti(method)` returns `false`
23
23
  - `createRelated`: simply create related items from a hook.
24
+ - `onDelete`: simply remove/set null related items from a hook.
24
25
  - `removeRelated`: simple remove related items from a hook. Basically `cascade` at feathers level.
25
26
  - `runPerItem`: run a function for every item. Meant for `multi:true`.
26
27
  - `setData`: map properties from `context` to `data`. Something like `userId: context.params.user.id`
@@ -32,3 +32,4 @@ export { getItemsIsArray } from "./utils/getItemsIsArray";
32
32
  export { onDelete } from "./hooks/onDelete";
33
33
  export { shouldSkip } from "./utils/shouldSkip";
34
34
  export * from "./types";
35
+ export * from "./utility-types/utility-types";
package/dist/esm/index.js CHANGED
@@ -5,7 +5,7 @@ import { runPerItem } from "./hooks/runPerItem";
5
5
  export const hooks = {
6
6
  checkMulti,
7
7
  setData,
8
- runPerItem
8
+ runPerItem,
9
9
  };
10
10
  export { checkMulti };
11
11
  export { createRelated } from "./hooks/createRelated";
@@ -15,7 +15,7 @@ export { runPerItem };
15
15
  import { debounceMixin, DebouncedStore } from "./mixins/debounce-mixin";
16
16
  export const mixins = {
17
17
  debounceMixin,
18
- DebouncedStore
18
+ DebouncedStore,
19
19
  };
20
20
  export { debounceMixin };
21
21
  export { DebouncedStore };
@@ -33,3 +33,4 @@ export { getItemsIsArray } from "./utils/getItemsIsArray";
33
33
  export { onDelete } from "./hooks/onDelete";
34
34
  export { shouldSkip } from "./utils/shouldSkip";
35
35
  export * from "./types";
36
+ export * from "./utility-types/utility-types";
@@ -0,0 +1,33 @@
1
+ export declare type InferCreateData<S> = S extends {
2
+ create: (data: infer D, params: any) => any;
3
+ } ? D : never;
4
+ export declare type InferCreateDataSingle<S> = S extends {
5
+ create: (data: infer D, params: any) => any;
6
+ } ? D extends Array<infer T> ? T : D : never;
7
+ export declare type InferUpdateData<S> = S extends {
8
+ update: (id: any, data: infer D, params: any) => any;
9
+ } ? D : never;
10
+ export declare type InferPatchData<S> = S extends {
11
+ patch: (id: any, data: infer D, params: any) => any;
12
+ } ? D : never;
13
+ export declare type InferGetResult<S> = S extends {
14
+ get: (id: any, params: any) => infer R;
15
+ } ? Awaited<R> : never;
16
+ export declare type InferFindResult<S> = S extends {
17
+ find: (params: any) => infer R;
18
+ } ? Awaited<R> : never;
19
+ export declare type InferCreateResult<S, D = any> = S extends {
20
+ create: (data: D, params: any) => infer R;
21
+ } ? Awaited<R> : never;
22
+ export declare type InferCreateResultSingle<S> = S extends {
23
+ create: (data: any, params: any) => infer R;
24
+ } ? Awaited<R> extends Array<infer T> ? T : Awaited<R> : never;
25
+ export declare type InferUpdateResult<S> = S extends {
26
+ update: (id: any, data: any, params: any) => infer R;
27
+ } ? Awaited<R> : never;
28
+ export declare type InferPatchResult<S, Id = any> = S extends {
29
+ patch: (id: Id, data: any, params: any) => infer R;
30
+ } ? Awaited<R> : never;
31
+ export declare type InferRemoveResult<S, Id = any> = S extends {
32
+ remove: (id: Id, params: any) => infer R;
33
+ } ? Awaited<R> : never;
@@ -0,0 +1 @@
1
+ export {};
package/dist/index.d.ts CHANGED
@@ -32,3 +32,4 @@ export { getItemsIsArray } from "./utils/getItemsIsArray";
32
32
  export { onDelete } from "./hooks/onDelete";
33
33
  export { shouldSkip } from "./utils/shouldSkip";
34
34
  export * from "./types";
35
+ export * from "./utility-types/utility-types";
package/dist/index.js CHANGED
@@ -25,7 +25,7 @@ Object.defineProperty(exports, "runPerItem", { enumerable: true, get: function (
25
25
  exports.hooks = {
26
26
  checkMulti: checkMulti_1.checkMulti,
27
27
  setData: setData_1.setData,
28
- runPerItem: runPerItem_1.runPerItem
28
+ runPerItem: runPerItem_1.runPerItem,
29
29
  };
30
30
  var createRelated_1 = require("./hooks/createRelated");
31
31
  Object.defineProperty(exports, "createRelated", { enumerable: true, get: function () { return createRelated_1.createRelated; } });
@@ -36,7 +36,7 @@ Object.defineProperty(exports, "debounceMixin", { enumerable: true, get: functio
36
36
  Object.defineProperty(exports, "DebouncedStore", { enumerable: true, get: function () { return debounce_mixin_1.DebouncedStore; } });
37
37
  exports.mixins = {
38
38
  debounceMixin: debounce_mixin_1.debounceMixin,
39
- DebouncedStore: debounce_mixin_1.DebouncedStore
39
+ DebouncedStore: debounce_mixin_1.DebouncedStore,
40
40
  };
41
41
  var addHook_1 = require("./utils/addHook");
42
42
  Object.defineProperty(exports, "addHook", { enumerable: true, get: function () { return addHook_1.addHook; } });
@@ -65,3 +65,4 @@ Object.defineProperty(exports, "onDelete", { enumerable: true, get: function ()
65
65
  var shouldSkip_1 = require("./utils/shouldSkip");
66
66
  Object.defineProperty(exports, "shouldSkip", { enumerable: true, get: function () { return shouldSkip_1.shouldSkip; } });
67
67
  __exportStar(require("./types"), exports);
68
+ __exportStar(require("./utility-types/utility-types"), exports);
@@ -0,0 +1,33 @@
1
+ export declare type InferCreateData<S> = S extends {
2
+ create: (data: infer D, params: any) => any;
3
+ } ? D : never;
4
+ export declare type InferCreateDataSingle<S> = S extends {
5
+ create: (data: infer D, params: any) => any;
6
+ } ? D extends Array<infer T> ? T : D : never;
7
+ export declare type InferUpdateData<S> = S extends {
8
+ update: (id: any, data: infer D, params: any) => any;
9
+ } ? D : never;
10
+ export declare type InferPatchData<S> = S extends {
11
+ patch: (id: any, data: infer D, params: any) => any;
12
+ } ? D : never;
13
+ export declare type InferGetResult<S> = S extends {
14
+ get: (id: any, params: any) => infer R;
15
+ } ? Awaited<R> : never;
16
+ export declare type InferFindResult<S> = S extends {
17
+ find: (params: any) => infer R;
18
+ } ? Awaited<R> : never;
19
+ export declare type InferCreateResult<S, D = any> = S extends {
20
+ create: (data: D, params: any) => infer R;
21
+ } ? Awaited<R> : never;
22
+ export declare type InferCreateResultSingle<S> = S extends {
23
+ create: (data: any, params: any) => infer R;
24
+ } ? Awaited<R> extends Array<infer T> ? T : Awaited<R> : never;
25
+ export declare type InferUpdateResult<S> = S extends {
26
+ update: (id: any, data: any, params: any) => infer R;
27
+ } ? Awaited<R> : never;
28
+ export declare type InferPatchResult<S, Id = any> = S extends {
29
+ patch: (id: Id, data: any, params: any) => infer R;
30
+ } ? Awaited<R> : never;
31
+ export declare type InferRemoveResult<S, Id = any> = S extends {
32
+ remove: (id: Id, params: any) => infer R;
33
+ } ? Awaited<R> : never;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "feathers-utils",
3
- "version": "1.11.0",
3
+ "version": "1.12.0",
4
4
  "description": "Some utils for projects using '@feathersjs/feathers'",
5
5
  "author": "fratzinger",
6
6
  "repository": {
package/src/index.ts CHANGED
@@ -7,7 +7,7 @@ import { runPerItem } from "./hooks/runPerItem";
7
7
  export const hooks = {
8
8
  checkMulti,
9
9
  setData,
10
- runPerItem
10
+ runPerItem,
11
11
  };
12
12
 
13
13
  export { checkMulti };
@@ -20,7 +20,7 @@ import { debounceMixin, DebouncedStore } from "./mixins/debounce-mixin";
20
20
 
21
21
  export const mixins = {
22
22
  debounceMixin,
23
- DebouncedStore
23
+ DebouncedStore,
24
24
  };
25
25
 
26
26
  export { debounceMixin };
@@ -41,5 +41,5 @@ export { getItemsIsArray } from "./utils/getItemsIsArray";
41
41
  export { onDelete } from "./hooks/onDelete";
42
42
  export { shouldSkip } from "./utils/shouldSkip";
43
43
 
44
-
45
- export * from "./types";
44
+ export * from "./types";
45
+ export * from "./utility-types/utility-types";
@@ -0,0 +1,69 @@
1
+ export type InferCreateData<S> = S extends {
2
+ create: (data: infer D, params: any) => any;
3
+ }
4
+ ? D
5
+ : never;
6
+
7
+ export type InferCreateDataSingle<S> = S extends {
8
+ create: (data: infer D, params: any) => any;
9
+ }
10
+ ? D extends Array<infer T>
11
+ ? T
12
+ : D
13
+ : never;
14
+
15
+ export type InferUpdateData<S> = S extends {
16
+ update: (id: any, data: infer D, params: any) => any;
17
+ }
18
+ ? D
19
+ : never;
20
+
21
+ export type InferPatchData<S> = S extends {
22
+ patch: (id: any, data: infer D, params: any) => any;
23
+ }
24
+ ? D
25
+ : never;
26
+
27
+ export type InferGetResult<S> = S extends {
28
+ get: (id: any, params: any) => infer R;
29
+ }
30
+ ? Awaited<R>
31
+ : never;
32
+
33
+ export type InferFindResult<S> = S extends {
34
+ find: (params: any) => infer R;
35
+ }
36
+ ? Awaited<R>
37
+ : never;
38
+
39
+ export type InferCreateResult<S, D = any> = S extends {
40
+ create: (data: D, params: any) => infer R;
41
+ }
42
+ ? Awaited<R>
43
+ : never;
44
+
45
+ export type InferCreateResultSingle<S> = S extends {
46
+ create: (data: any, params: any) => infer R;
47
+ }
48
+ ? Awaited<R> extends Array<infer T>
49
+ ? T
50
+ : Awaited<R>
51
+ : never;
52
+
53
+ export type InferUpdateResult<S> = S extends {
54
+ update: (id: any, data: any, params: any) => infer R;
55
+ }
56
+ ? Awaited<R>
57
+ : never;
58
+
59
+ export type InferPatchResult<S, Id = any> = S extends {
60
+ patch: (id: Id, data: any, params: any) => infer R;
61
+ }
62
+ ? Awaited<R>
63
+ : never;
64
+
65
+ export type InferRemoveResult<S, Id = any> = S extends {
66
+ remove: (id: Id, params: any) => infer R;
67
+ }
68
+ ? Awaited<R>
69
+ : never;