integreat 0.8.0-rc.6 → 0.8.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.
Files changed (92) hide show
  1. package/README.md +17 -13
  2. package/dist/adapters/index.d.ts +1 -4
  3. package/dist/adapters/index.js +1 -4
  4. package/dist/adapters/index.js.map +1 -1
  5. package/dist/adapters/uri.d.ts +3 -0
  6. package/dist/adapters/uri.js +23 -0
  7. package/dist/adapters/uri.js.map +1 -0
  8. package/dist/authenticators/index.d.ts +2 -5
  9. package/dist/authenticators/index.js +2 -6
  10. package/dist/authenticators/index.js.map +1 -1
  11. package/dist/create.d.ts +3 -1
  12. package/dist/create.js +2 -1
  13. package/dist/create.js.map +1 -1
  14. package/dist/dispatch.js +17 -14
  15. package/dist/dispatch.js.map +1 -1
  16. package/dist/handlers/delete.d.ts +2 -2
  17. package/dist/handlers/delete.js +6 -7
  18. package/dist/handlers/delete.js.map +1 -1
  19. package/dist/handlers/expire.d.ts +2 -2
  20. package/dist/handlers/expire.js +10 -11
  21. package/dist/handlers/expire.js.map +1 -1
  22. package/dist/handlers/get.d.ts +2 -2
  23. package/dist/handlers/get.js +18 -18
  24. package/dist/handlers/get.js.map +1 -1
  25. package/dist/handlers/getAll.d.ts +2 -2
  26. package/dist/handlers/getAll.js +6 -7
  27. package/dist/handlers/getAll.js.map +1 -1
  28. package/dist/handlers/getIdent.d.ts +2 -2
  29. package/dist/handlers/getIdent.js +11 -10
  30. package/dist/handlers/getIdent.js.map +1 -1
  31. package/dist/handlers/getMeta.d.ts +2 -2
  32. package/dist/handlers/getMeta.js +7 -7
  33. package/dist/handlers/getMeta.js.map +1 -1
  34. package/dist/handlers/queue.d.ts +2 -2
  35. package/dist/handlers/queue.js +3 -4
  36. package/dist/handlers/queue.js.map +1 -1
  37. package/dist/handlers/run.d.ts +2 -2
  38. package/dist/handlers/run.js +73 -73
  39. package/dist/handlers/run.js.map +1 -1
  40. package/dist/handlers/service.d.ts +2 -2
  41. package/dist/handlers/service.js +5 -5
  42. package/dist/handlers/service.js.map +1 -1
  43. package/dist/handlers/set.d.ts +2 -2
  44. package/dist/handlers/set.js +5 -6
  45. package/dist/handlers/set.js.map +1 -1
  46. package/dist/handlers/setMeta.d.ts +2 -2
  47. package/dist/handlers/setMeta.js +4 -5
  48. package/dist/handlers/setMeta.js.map +1 -1
  49. package/dist/handlers/sync.d.ts +2 -2
  50. package/dist/handlers/sync.js +16 -15
  51. package/dist/handlers/sync.js.map +1 -1
  52. package/dist/index.d.ts +3 -2
  53. package/dist/index.js +4 -3
  54. package/dist/index.js.map +1 -1
  55. package/dist/middleware/completeIdent.js +2 -4
  56. package/dist/middleware/completeIdent.js.map +1 -1
  57. package/dist/middleware/index.d.ts +1 -4
  58. package/dist/middleware/index.js +1 -4
  59. package/dist/middleware/index.js.map +1 -1
  60. package/dist/service/authorize/data.js +7 -7
  61. package/dist/service/authorize/data.js.map +1 -1
  62. package/dist/service/index.js +21 -19
  63. package/dist/service/index.js.map +1 -1
  64. package/dist/service/types.d.ts +3 -6
  65. package/dist/transformers/generateUri.d.ts +2 -0
  66. package/dist/transformers/generateUri.js +4 -7
  67. package/dist/transformers/generateUri.js.map +1 -1
  68. package/dist/types.d.ts +6 -6
  69. package/dist/utils/createUnknownServiceError.d.ts +2 -2
  70. package/dist/utils/createUnknownServiceError.js +3 -3
  71. package/dist/utils/createUnknownServiceError.js.map +1 -1
  72. package/dist/utils/mutateAndSend.d.ts +4 -0
  73. package/dist/utils/mutateAndSend.js +8 -0
  74. package/dist/utils/mutateAndSend.js.map +1 -0
  75. package/dist/utils/mutationHelpers.js +5 -8
  76. package/dist/utils/mutationHelpers.js.map +1 -1
  77. package/package.json +2 -2
  78. package/dist/adapters/json.d.ts +0 -6
  79. package/dist/adapters/json.js +0 -69
  80. package/dist/adapters/json.js.map +0 -1
  81. package/dist/transformers/not.d.ts +0 -3
  82. package/dist/transformers/not.js +0 -3
  83. package/dist/transformers/not.js.map +0 -1
  84. package/dist/utils/createAction.d.ts +0 -2
  85. package/dist/utils/createAction.js +0 -7
  86. package/dist/utils/createAction.js.map +0 -1
  87. package/dist/utils/createError.d.ts +0 -3
  88. package/dist/utils/createError.js +0 -20
  89. package/dist/utils/createError.js.map +0 -1
  90. package/dist/utils/mappingHelpers.d.ts +0 -3
  91. package/dist/utils/mappingHelpers.js +0 -36
  92. package/dist/utils/mappingHelpers.js.map +0 -1
package/README.md CHANGED
@@ -299,7 +299,7 @@ specify a few things:
299
299
  More one this in the [Match properties](#match-properties) section.
300
300
  - `mutation`: A mutation pipeline for the endpoint. The pipeline is run for both
301
301
  actions going to a service and the response coming back, so keep this in mind
302
- when you set up this pipeline. See [Mutation pipelines](#mutation-pipelines)
302
+ when you set up this pipeline. See [Mutation pipelines](#mutations)
303
303
  for more on how to define the mutation.
304
304
  - `options`: This object will be passed on to the transporter and may contain
305
305
  any properties that are meaningful to the transporter. You may also add other
@@ -522,7 +522,7 @@ Both on the service and on endpoints, you define mutation pipelines. The service
522
522
  mutation is run before the endpoint mutation for data coming from a service, and
523
523
  in the oposite order when going to a service.
524
524
 
525
- A nice, but sometimes complicated, thing about mutations, is that they are run
525
+ A nice - but sometimes complicated - thing about mutations, is that they are run
526
526
  in both directions. They are by default defined for mutating data coming _from_
527
527
  a service, and will be run in reverse for data going _to_ a service. In some
528
528
  cases this reversing of the pipeline will work as expected without modifications
@@ -549,7 +549,12 @@ Each step may be one of the following:
549
549
  want as a result, where the keys are dot notation paths and the values are
550
550
  mutation pipelines. Each pipeline on the mutation object will be run on the
551
551
  data, and then set on the path, resulting in an object that will be passed on
552
- to the next step.
552
+ to the next step. Setting `$iterate: true` on the object will cause it to
553
+ iterate over items in an array, otherwise it will be applied to the array.
554
+ Setting `$modify: true` will cause any properties on an object in the pipeline
555
+ not set in the mutation, to be included, much like the spread in JavaScript.
556
+ Setting `$modify` to a path works the same, but you will spread from the
557
+ object at the path (`$modify: true` is equal to `$modify: '.'`).
553
558
  - **A transform object** letting you run a transformer function on the data,
554
559
  e.g. `{ $transform: 'number' }` to transform the value into a number, or
555
560
  `undefined` if not possible.
@@ -1535,11 +1540,10 @@ async function (action, { dispatch, getService, setProgress, options }) { ... }
1535
1540
  object used for mapping ident schemas to ids, roles, and tokens (see
1536
1541
  [the `completeIdent` middleware](#completeIdent-middleware)).
1537
1542
 
1538
- Your action handler must return the `action` it received with a `response`
1539
- object set on it. If your handler just relays to another action handler, it may
1540
- reuse the `response` from that handler, but in many cases it will be more
1541
- correct to generate your own response, possibly based on what the actions you
1542
- dispatch returns.
1543
+ Your action handler must return a [response object](#action-response). If your
1544
+ handler just relays to another action handler, it may pass on the response
1545
+ returned from that handler, but in many cases it will be more correct to
1546
+ generate your own response.
1543
1547
 
1544
1548
  You provide your custom actions to Integreat on setup, by providing an object
1545
1549
  with the key set to the action type your handler will be responsible for, and
@@ -1734,17 +1738,17 @@ A middleware is a function that accepts a `next()` function as only argument,
1734
1738
  and returns an async function that will be called with the action on dispatch.
1735
1739
  The returned function is expected to call `next()` with the action, and return
1736
1740
  the result from the `next()` function, but is not required to do so. The only
1737
- requirement is that the functions returns a valid Integreat action object,
1738
- most likely with a `response` object on it.
1741
+ requirement is that the functions returns a valid
1742
+ [response object](#action-response).
1739
1743
 
1740
1744
  Example implementation of a very simple logger middleware:
1741
1745
 
1742
1746
  ```javascript
1743
1747
  const logger = (next) => async (action) => {
1744
1748
  console.log('Dispatch was called with action', action)
1745
- const responseAction = await next(action)
1746
- console.log('Dispatch completed with response', responseAction.response)
1747
- return responseAction
1749
+ const response = await next(action)
1750
+ console.log('Dispatch completed with response', response)
1751
+ return respons
1748
1752
  }
1749
1753
  ```
1750
1754
 
@@ -1,4 +1 @@
1
- declare const _default: {
2
- json: import("../types.js").Adapter;
3
- };
4
- export default _default;
1
+ export * as uri from './uri.js';
@@ -1,5 +1,2 @@
1
- import json from './json.js';
2
- export default {
3
- json,
4
- };
1
+ export * as uri from './uri.js';
5
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,eAAe;IACb,IAAI;CACL,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { Adapter } from '../types.js';
2
+ declare const adapter: Adapter;
3
+ export default adapter;
@@ -0,0 +1,23 @@
1
+ import { prepareTemplate, replaceTemplate, } from '../transformers/generateUri.js';
2
+ const adapter = {
3
+ prepareOptions(_options, _serviceId) {
4
+ return {};
5
+ },
6
+ async normalize(action, _options) {
7
+ return action;
8
+ },
9
+ async serialize(action, _options) {
10
+ const template = action.meta?.options?.uri;
11
+ if (typeof template === 'string') {
12
+ const parts = prepareTemplate(template);
13
+ const uri = replaceTemplate(parts, action);
14
+ return {
15
+ ...action,
16
+ meta: { ...action.meta, options: { ...action.meta?.options, uri } },
17
+ };
18
+ }
19
+ return action;
20
+ },
21
+ };
22
+ export default adapter;
23
+ //# sourceMappingURL=uri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/adapters/uri.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,gCAAgC,CAAA;AAGvC,MAAM,OAAO,GAAY;IACvB,cAAc,CAAC,QAAQ,EAAE,UAAU;QACjC,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ;QAC9B,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAA;QAC1C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;YACvC,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YAC1C,OAAO;gBACL,GAAG,MAAM;gBACT,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;aACpE,CAAA;SACF;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -1,5 +1,2 @@
1
- declare const _default: {
2
- options: import("../index.js").Authenticator<import("../index.js").Authentication>;
3
- token: import("../index.js").Authenticator<import("../index.js").Authentication>;
4
- };
5
- export default _default;
1
+ export * as options from './options.js';
2
+ export * as token from './token.js';
@@ -1,7 +1,3 @@
1
- import options from './options.js';
2
- import token from './token.js';
3
- export default {
4
- options,
5
- token,
6
- };
1
+ export * as options from './options.js';
2
+ export * as token from './token.js';
7
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authenticators/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,eAAe;IACb,OAAO;IACP,KAAK;CACN,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authenticators/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA"}
package/dist/create.d.ts CHANGED
@@ -7,6 +7,7 @@ import type { SchemaDef } from './schema/types.js';
7
7
  import Auth from './service/Auth.js';
8
8
  import { Schema } from './schema/index.js';
9
9
  export interface Definitions {
10
+ id?: string;
10
11
  schemas: SchemaDef[];
11
12
  services: ServiceDef[];
12
13
  mutations?: Record<string, TransformDefinition>;
@@ -24,6 +25,7 @@ export interface Resources {
24
25
  transformers?: Record<string, Transformer>;
25
26
  }
26
27
  export interface Instance<ResponseData = unknown> {
28
+ id?: string;
27
29
  services: Record<string, Service>;
28
30
  schemas: Record<string, Schema>;
29
31
  identType?: string;
@@ -35,4 +37,4 @@ export interface Instance<ResponseData = unknown> {
35
37
  on: (eventName: string, listener: (...args: unknown[]) => void) => EventEmitter;
36
38
  }
37
39
  export declare const setUpAuth: (authenticators?: Record<string, Authenticator>) => (def: AuthDef) => Auth;
38
- export default function create({ services: serviceDefs, schemas: schemaDefs, mutations, auths: authDefs, identConfig, queueService, dictionaries, jobs: jobsDefs, }: Definitions, { transporters, adapters, transformers, handlers, authenticators }: Resources, middlewareForDispatch?: Middleware[], middlewareForService?: Middleware[]): Instance;
40
+ export default function create({ id, services: serviceDefs, schemas: schemaDefs, mutations, auths: authDefs, identConfig, queueService, dictionaries, jobs: jobsDefs, }: Definitions, { transporters, adapters, transformers, handlers, authenticators }: Resources, middlewareForDispatch?: Middleware[], middlewareForService?: Middleware[]): Instance;
package/dist/create.js CHANGED
@@ -22,7 +22,7 @@ export const setUpAuth = (authenticators) => function setUpAuth(def) {
22
22
  }
23
23
  return new Auth(def.id, authenticator, def.options);
24
24
  };
25
- export default function create({ services: serviceDefs, schemas: schemaDefs, mutations, auths: authDefs, identConfig, queueService, dictionaries, jobs: jobsDefs = [], }, { transporters, adapters, transformers, handlers, authenticators }, middlewareForDispatch = [], middlewareForService = []) {
25
+ export default function create({ id, services: serviceDefs, schemas: schemaDefs, mutations, auths: authDefs, identConfig, queueService, dictionaries, jobs: jobsDefs = [], }, { transporters, adapters, transformers, handlers, authenticators }, middlewareForDispatch = [], middlewareForService = []) {
26
26
  if (!Array.isArray(serviceDefs) || !Array.isArray(schemaDefs)) {
27
27
  throw new TypeError('Please provide Integreat with at least services and schemas');
28
28
  }
@@ -64,6 +64,7 @@ export default function create({ services: serviceDefs, schemas: schemaDefs, mut
64
64
  const scheduled = jobsDefs.filter(isObject).map(createSchedule);
65
65
  const dispatchScheduled = createDispatchScheduled(dispatch, scheduled);
66
66
  return {
67
+ id,
67
68
  services,
68
69
  schemas,
69
70
  identType: identConfig?.type,
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
package/dist/dispatch.js CHANGED
@@ -3,7 +3,7 @@ import pProgress from 'p-progress';
3
3
  import debugLib from 'debug';
4
4
  import { QUEUE_SYMBOL } from './handlers/index.js';
5
5
  import setupGetService from './utils/getService.js';
6
- import { setErrorOnAction, setResponseOnAction } from './utils/action.js';
6
+ import { setErrorOnAction, createErrorResponse, setResponseOnAction, } from './utils/action.js';
7
7
  const debug = debugLib('great');
8
8
  export const compose = (...fns) => fns.reduce((f, g) => (...args) => f(g(...args)));
9
9
  const shouldQueue = (action, options) => action.meta?.queue === true && !!options.queueService;
@@ -39,10 +39,15 @@ async function mapIncomingAction(action, getService) {
39
39
  }
40
40
  return { action };
41
41
  }
42
- const mapIncomingResponse = async (action, service, endpoint) => service && endpoint
43
- ? await service.mutateResponse(action, endpoint, true)
44
- : action;
45
- const responseFromAction = ({ response: { status, ...response } = {}, meta: { ident } = {}, }) => ({ ...response, status, access: { ident } });
42
+ async function mapIncomingResponse(action, service, endpoint) {
43
+ const response = service && endpoint
44
+ ? await service.mutateResponse(action, endpoint, true)
45
+ : action.response || {};
46
+ return {
47
+ ...response,
48
+ access: { ident: action.meta?.ident, ...response.access },
49
+ };
50
+ }
46
51
  function setIds(action) {
47
52
  const id = action.meta?.id || nanoid();
48
53
  const cid = action.meta?.cid || id;
@@ -55,12 +60,12 @@ const wrapDispatch = (internalDispatch, getService) => (action) => pProgress(asy
55
60
  const actionWithIds = setIds(action);
56
61
  const { action: mappedAction, service, endpoint, } = await mapIncomingAction(actionWithIds, getService);
57
62
  if (mappedAction.response?.status) {
58
- return responseFromAction(await mapIncomingResponse(mappedAction, service, endpoint));
63
+ return await mapIncomingResponse(mappedAction, service, endpoint);
59
64
  }
60
65
  const p = internalDispatch(mappedAction);
61
66
  p.onProgress(setProgress);
62
- const responseAction = await p;
63
- return responseFromAction(await mapIncomingResponse(responseAction, service, endpoint));
67
+ const response = await p;
68
+ return await mapIncomingResponse(setResponseOnAction(action, response), service, endpoint);
64
69
  });
65
70
  const prepareAction = ({ payload: { service, ...payload }, meta: { queue, authorized, ...meta } = {}, ...action }) => ({
66
71
  ...action,
@@ -70,7 +75,7 @@ const prepareAction = ({ payload: { service, ...payload }, meta: { queue, author
70
75
  async function handleAction(handlerType, action, resources, handlers) {
71
76
  const handler = getActionHandlerFromType(handlerType, handlers);
72
77
  if (!handler) {
73
- return setErrorOnAction(action, `No handler for ${String(handlerType)} action`, 'badrequest');
78
+ return createErrorResponse(`No handler for ${String(handlerType)} action`, 'badrequest');
74
79
  }
75
80
  return await handler(action, resources);
76
81
  }
@@ -90,17 +95,15 @@ export default function createDispatch({ handlers = {}, schemas = {}, services =
90
95
  };
91
96
  try {
92
97
  if (shouldQueue(action, options)) {
93
- const response = await handleAction(QUEUE_SYMBOL, nextAction, resources, handlers);
94
- return response;
98
+ return await handleAction(QUEUE_SYMBOL, nextAction, resources, handlers);
95
99
  }
96
100
  else {
97
101
  const next = async (action) => handleAction(action.type, action, resources, handlers);
98
- const { response } = await middlewareFn(next)(nextAction);
99
- return setResponseOnAction(nextAction, response);
102
+ return await middlewareFn(next)(nextAction);
100
103
  }
101
104
  }
102
105
  catch (err) {
103
- return setErrorOnAction(action, `Error thrown in dispatch: ${err}`);
106
+ return createErrorResponse(`Error thrown in dispatch: ${err}`);
104
107
  }
105
108
  });
106
109
  return wrapDispatch(internalDispatch, getService);
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import type { Action, ActionHandlerResources } from '../types.js';
2
- export default function deleteFn(action: Action, { getService }: ActionHandlerResources): Promise<Action>;
1
+ import type { Action, Response, ActionHandlerResources } from '../types.js';
2
+ export default function deleteFn(action: Action, { getService }: ActionHandlerResources): Promise<Response>;
@@ -1,6 +1,6 @@
1
1
  import debugLib from 'debug';
2
- import pPipe from 'p-pipe';
3
- import { setErrorOnAction, setResponseOnAction, setDataOnActionPayload, } from '../utils/action.js';
2
+ import mutateAndSend from '../utils/mutateAndSend.js';
3
+ import { setDataOnActionPayload, createErrorResponse } from '../utils/action.js';
4
4
  import createUnknownServiceError from '../utils/createUnknownServiceError.js';
5
5
  const debug = debugLib('great');
6
6
  const prepareData = ({ type, id, data }) => type && id
@@ -12,11 +12,11 @@ export default async function deleteFn(action, { getService }) {
12
12
  const { type, id, targetService: serviceId, endpoint: endpointId, } = action.payload;
13
13
  const service = getService(type, serviceId);
14
14
  if (!service) {
15
- return createUnknownServiceError(action, type, serviceId, 'DELETE');
15
+ return createUnknownServiceError(type, serviceId, 'DELETE');
16
16
  }
17
17
  const data = prepareData(action.payload);
18
18
  if (data.length === 0) {
19
- return setErrorOnAction(action, `No items to delete from service '${service.id}'`, 'noaction');
19
+ return createErrorResponse(`No items to delete from service '${service.id}'`, 'noaction');
20
20
  }
21
21
  const endpointDebug = endpointId
22
22
  ? `endpoint '${endpointId}'`
@@ -25,9 +25,8 @@ export default async function deleteFn(action, { getService }) {
25
25
  const nextAction = setDataOnActionPayload(action, data);
26
26
  const endpoint = service.endpointFromAction(nextAction);
27
27
  if (!endpoint) {
28
- return setErrorOnAction(nextAction, `No endpoint matching ${nextAction.type} request to service '${serviceId}'.`, 'badrequest');
28
+ return createErrorResponse(`No endpoint matching ${nextAction.type} request to service '${serviceId}'.`, 'badrequest');
29
29
  }
30
- const { response } = await pPipe(service.authorizeAction, (action) => service.mutateRequest(action, endpoint), service.send, (action) => service.mutateResponse(action, endpoint))(nextAction);
31
- return setResponseOnAction(action, response);
30
+ return await mutateAndSend(service, endpoint, nextAction);
32
31
  }
33
32
  //# sourceMappingURL=delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/handlers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,OAAO,CAAA;AAC5B,OAAO,KAAK,MAAM,QAAQ,CAAA;AAC1B,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,yBAAyB,MAAM,uCAAuC,CAAA;AAG7E,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE/B,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAW,EAAE,EAAE,CAClD,IAAI,IAAI,EAAE;IACR,CAAC;QACC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC;QACE,EAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAKpD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,QAAQ,CACpC,MAAc,EACd,EAAE,UAAU,EAA0B;IAEtC,MAAM,EACJ,IAAI,EACJ,EAAE,EACF,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,UAAU,GACrB,GAAG,MAAM,CAAC,OAAO,CAAA;IAElB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC3C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,yBAAyB,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;KACpE;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,gBAAgB,CACrB,MAAM,EACN,oCAAoC,OAAO,CAAC,EAAE,GAAG,EACjD,UAAU,CACX,CAAA;KACF;IAED,MAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,aAAa,UAAU,GAAG;QAC5B,CAAC,CAAC,qBAAqB,IAAI,QAAQ,EAAE,EAAE,CAAA;IACzC,KAAK,CAAC,yCAAyC,EAAE,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;IAE3E,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACvD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,gBAAgB,CACrB,UAAU,EACV,wBAAwB,UAAU,CAAC,IAAI,wBAAwB,SAAS,IAAI,EAC5E,YAAY,CACb,CAAA;KACF;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,KAAK,CAC9B,OAAO,CAAC,eAAe,EACvB,CAAC,MAAc,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC3D,OAAO,CAAC,IAAI,EACZ,CAAC,MAAc,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC7D,CAAC,UAAU,CAAC,CAAA;IAEb,OAAO,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/handlers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,OAAO,CAAA;AAC5B,OAAO,aAAa,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,yBAAyB,MAAM,uCAAuC,CAAA;AAQ7E,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;AAE/B,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAW,EAAE,EAAE,CAClD,IAAI,IAAI,EAAE;IACR,CAAC;QACC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC;QACE,EAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AAKpD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,QAAQ,CACpC,MAAc,EACd,EAAE,UAAU,EAA0B;IAEtC,MAAM,EACJ,IAAI,EACJ,EAAE,EACF,aAAa,EAAE,SAAS,EACxB,QAAQ,EAAE,UAAU,GACrB,GAAG,MAAM,CAAC,OAAO,CAAA;IAElB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAC3C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;KAC5D;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,mBAAmB,CACxB,oCAAoC,OAAO,CAAC,EAAE,GAAG,EACjD,UAAU,CACX,CAAA;KACF;IAED,MAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,aAAa,UAAU,GAAG;QAC5B,CAAC,CAAC,qBAAqB,IAAI,QAAQ,EAAE,EAAE,CAAA;IACzC,KAAK,CAAC,yCAAyC,EAAE,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;IAE3E,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;IACvD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,mBAAmB,CACxB,wBAAwB,UAAU,CAAC,IAAI,wBAAwB,SAAS,IAAI,EAC5E,YAAY,CACb,CAAA;KACF;IAED,OAAO,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;AAC3D,CAAC"}
@@ -1,2 +1,2 @@
1
- import type { Action, ActionHandlerResources } from '../types.js';
2
- export default function expire(action: Action, { dispatch }: ActionHandlerResources): Promise<Action>;
1
+ import type { Action, Response, ActionHandlerResources } from '../types.js';
2
+ export default function expire(action: Action, { dispatch }: ActionHandlerResources): Promise<Response>;
@@ -1,4 +1,4 @@
1
- import { setResponseOnAction, setErrorOnAction } from '../utils/action.js';
1
+ import { createErrorResponse } from '../utils/action.js';
2
2
  import { isTypedData } from '../utils/is.js';
3
3
  const isTypedDataArray = (value) => Array.isArray(value) && isTypedData(value[0]);
4
4
  const getExpired = async (targetService, type, endpointId, msFromNow, dispatch, cid, ident) => {
@@ -29,23 +29,22 @@ export default async function expire(action, { dispatch }) {
29
29
  const { payload: { type, endpoint: endpointId, targetService: serviceId }, meta: { ident, cid } = {}, } = action;
30
30
  const msFromNow = action.payload.msFromNow || 0;
31
31
  if (!serviceId) {
32
- return setErrorOnAction(action, `Can't delete expired without a specified service`);
32
+ return createErrorResponse(`Can't delete expired without a specified service`);
33
33
  }
34
34
  if (!endpointId) {
35
- return setErrorOnAction(action, `Can't delete expired from service '${serviceId}' without an endpoint`);
35
+ return createErrorResponse(`Can't delete expired from service '${serviceId}' without an endpoint`);
36
36
  }
37
37
  if (!type) {
38
- return setErrorOnAction(action, `Can't delete expired from service '${serviceId}' without one or more specified types`);
38
+ return createErrorResponse(`Can't delete expired from service '${serviceId}' without one or more specified types`);
39
39
  }
40
- const expiredAction = await getExpired(serviceId, type, endpointId, msFromNow, dispatch, cid, ident);
41
- if (expiredAction.response?.status !== 'ok') {
42
- return setErrorOnAction(action, `Could not get items from service '${serviceId}'. Reason: ${expiredAction.response?.status} ${expiredAction.response?.error}`, 'error');
40
+ const expiredResponse = await getExpired(serviceId, type, endpointId, msFromNow, dispatch, cid, ident);
41
+ if (expiredResponse.status !== 'ok') {
42
+ return createErrorResponse(`Could not get items from service '${serviceId}'. Reason: ${expiredResponse.status} ${expiredResponse.error}`, 'error');
43
43
  }
44
- const data = expiredAction.response?.data;
44
+ const data = expiredResponse.data;
45
45
  if (!isTypedDataArray(data)) {
46
- return setErrorOnAction(action, `No items to expire from service '${serviceId}'`, 'noaction');
46
+ return createErrorResponse(`No items to expire from service '${serviceId}'`, 'noaction');
47
47
  }
48
- const { response } = await deleteExpired(data, serviceId, dispatch, cid, ident);
49
- return setResponseOnAction(action, response);
48
+ return await deleteExpired(data, serviceId, dispatch, cid, ident);
50
49
  }
51
50
  //# sourceMappingURL=expire.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"expire.js","sourceRoot":"","sources":["../../src/handlers/expire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expire.js","sourceRoot":"","sources":["../../src/handlers/expire.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import type { Action, ActionHandlerResources } from '../types.js';
2
- export default function get(action: Action, { getService }: ActionHandlerResources): Promise<Action>;
1
+ import type { Action, Response, ActionHandlerResources } from '../types.js';
2
+ export default function get(action: Action, { getService }: ActionHandlerResources): Promise<Response>;
@@ -1,38 +1,35 @@
1
1
  import debugLib from 'debug';
2
- import pPipe from 'p-pipe';
3
2
  import pLimit from 'p-limit';
4
- import { setResponseOnAction, setErrorOnAction } from '../utils/action.js';
3
+ import { createErrorResponse, setResponseOnAction } from '../utils/action.js';
5
4
  import createUnknownServiceError from '../utils/createUnknownServiceError.js';
6
5
  const debug = debugLib('great');
7
- const isErrorAction = (action) => action.response?.status !== 'ok' && action.response?.status !== 'notfound';
6
+ const isErrorResponse = (response) => response.status !== 'ok' && response.status !== 'notfound';
8
7
  const getIdFromAction = ({ payload: { id } }) => Array.isArray(id) && id.length === 1 ? id[0] : id;
9
- const combineActions = (action, actions) => actions.some(isErrorAction)
10
- ? setErrorOnAction(action, `One or more of the requests for ids ${getIdFromAction(action)} failed.`)
11
- : setResponseOnAction(action, {
8
+ const combineResponses = (action, responses) => responses.some(isErrorResponse)
9
+ ? createErrorResponse(`One or more of the requests for ids ${getIdFromAction(action)} failed.`)
10
+ : {
12
11
  ...action.response,
13
12
  status: 'ok',
14
- data: actions.map((action) => Array.isArray(action.response?.data)
15
- ? action.response?.data[0]
16
- : action.response?.data),
17
- });
13
+ data: responses.map((response) => Array.isArray(response.data) ? response.data[0] : response.data),
14
+ };
18
15
  const isMembersScope = (endpoint) => endpoint?.match?.scope === 'members';
19
16
  const setIdOnActionPayload = (action, id) => ({
20
17
  ...action,
21
18
  payload: { ...action.payload, id },
22
19
  });
23
- const createNoEndpointError = (action, serviceId) => setErrorOnAction(action, `No endpoint matching ${action.type} request to service '${serviceId}'.`, 'badrequest');
20
+ const createNoEndpointError = (action, serviceId) => createErrorResponse(`No endpoint matching ${action.type} request to service '${serviceId}'.`, 'badrequest');
24
21
  async function runAsIndividualActions(action, service, mapPerId) {
25
22
  const actions = action.payload.id.map((oneId) => setIdOnActionPayload(action, oneId));
26
23
  const endpoint = service.endpointFromAction(actions[0]);
27
24
  if (!endpoint) {
28
25
  return createNoEndpointError(action, service.id);
29
26
  }
30
- return combineActions(action, await Promise.all(actions.map((action) => pLimit(1)(() => mapPerId(endpoint)(action)))));
27
+ return combineResponses(action, await Promise.all(actions.map((action) => pLimit(1)(() => mapPerId(endpoint)(action)))));
31
28
  }
32
29
  const doRunIndividualIds = (action, endpoint) => Array.isArray(action.payload.id) &&
33
30
  action.meta?.authorized &&
34
31
  !isMembersScope(endpoint);
35
- async function mapOneOrMany(action, service, mapPerId) {
32
+ async function runOneOrMany(action, service, mapPerId) {
36
33
  const endpoint = service.endpointFromAction(action);
37
34
  if (doRunIndividualIds(action, endpoint)) {
38
35
  return runAsIndividualActions(action, service, mapPerId);
@@ -42,23 +39,26 @@ async function mapOneOrMany(action, service, mapPerId) {
42
39
  }
43
40
  return mapPerId(endpoint)(action);
44
41
  }
42
+ const runOne = (service) => (endpoint) => async function (action) {
43
+ const requestAction = await service.mutateRequest(action, endpoint);
44
+ const response = await service.send(requestAction);
45
+ return await service.mutateResponse(setResponseOnAction(action, response), endpoint);
46
+ };
45
47
  export default async function get(action, { getService }) {
46
48
  const { type, targetService: serviceId, endpoint: endpointId, } = action.payload;
47
49
  const id = getIdFromAction(action);
48
50
  if (Array.isArray(id) && id.length === 0) {
49
- return setErrorOnAction(action, 'GET action was dispatched with empty array of ids', 'noaction');
51
+ return createErrorResponse('GET action was dispatched with empty array of ids', 'noaction');
50
52
  }
51
53
  const service = getService(type, serviceId);
52
54
  if (!service) {
53
- return createUnknownServiceError(action, type, serviceId, 'GET');
55
+ return createUnknownServiceError(type, serviceId, 'GET');
54
56
  }
55
57
  const endpointDebug = endpointId
56
58
  ? `endpoint '${endpointId}'`
57
59
  : `endpoint matching type '${type}' and id '${id}'`;
58
60
  debug('GET: Fetch from service %s at %s', service.id, endpointDebug);
59
61
  const nextAction = setIdOnActionPayload(action, id);
60
- const mapPerId = (endpoint) => pPipe((action) => service.mutateRequest(action, endpoint), service.send, (action) => service.mutateResponse(action, endpoint));
61
- const { response } = await mapOneOrMany(service.authorizeAction(nextAction), service, mapPerId);
62
- return setResponseOnAction(action, response);
62
+ return await runOneOrMany(service.authorizeAction(nextAction), service, runOne(service));
63
63
  }
64
64
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/handlers/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/handlers/get.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import type { Action, ActionHandlerResources } from '../types.js';
2
- export default function getAll(action: Action, { dispatch }: ActionHandlerResources): Promise<Action>;
1
+ import type { Action, Response, ActionHandlerResources } from '../types.js';
2
+ export default function getAll(action: Action, { dispatch }: ActionHandlerResources): Promise<Response>;
@@ -1,4 +1,4 @@
1
- import { setErrorOnAction, setResponseOnAction } from '../utils/action.js';
1
+ import { createErrorResponse } from '../utils/action.js';
2
2
  import { isObject, isTypedData } from '../utils/is.js';
3
3
  const extractLastId = (data, field = 'id') => Array.isArray(data) && isObject(data[data.length - 1])
4
4
  ?
@@ -39,12 +39,11 @@ const createNextPaging = (payload, paging) => hasProps(paging) ? { ...payload, .
39
39
  export default async function getAll(action, { dispatch }) {
40
40
  const { pageSize, noLoopCheck = false } = action.payload;
41
41
  if (typeof pageSize !== 'number') {
42
- const { response } = await dispatch({
42
+ return await dispatch({
43
43
  type: 'GET',
44
44
  payload: action.payload,
45
45
  meta: action.meta,
46
46
  });
47
- return setResponseOnAction(action, response);
48
47
  }
49
48
  const data = [];
50
49
  let page = getCurrentPage(action.payload);
@@ -52,9 +51,9 @@ export default async function getAll(action, { dispatch }) {
52
51
  let lastSize = -1;
53
52
  let prevFirstId = null;
54
53
  do {
55
- const { response } = await dispatch(createAction(page++, action.payload, paging, data, cleanMeta(action.meta)));
54
+ const response = await dispatch(createAction(page++, action.payload, paging, data, cleanMeta(action.meta)));
56
55
  if (response?.status !== 'ok') {
57
- return setResponseOnAction(action, response);
56
+ return response;
58
57
  }
59
58
  const usePageId = !!paging || response?.paging?.next !== undefined;
60
59
  paging = createNextPaging(action.payload, response?.paging?.next);
@@ -63,7 +62,7 @@ export default async function getAll(action, { dispatch }) {
63
62
  if (!noLoopCheck) {
64
63
  const firstId = getFirstId(responseData);
65
64
  if (typeof firstId === 'string' && firstId === prevFirstId) {
66
- return setErrorOnAction(action, 'GET_ALL detected a possible infinite loop');
65
+ return createErrorResponse('GET_ALL detected a possible infinite loop');
67
66
  }
68
67
  prevFirstId = firstId;
69
68
  }
@@ -74,6 +73,6 @@ export default async function getAll(action, { dispatch }) {
74
73
  lastSize = 0;
75
74
  }
76
75
  } while (lastSize === pageSize);
77
- return setResponseOnAction(action, { status: 'ok', data });
76
+ return { status: 'ok', data };
78
77
  }
79
78
  //# sourceMappingURL=getAll.js.map