integreat 0.8.0-beta.2 → 0.8.0-beta.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.
@@ -10,10 +10,11 @@ const prepareAction = (action, meta) => ({
10
10
  });
11
11
  const isOkResponse = (response) => typeof response?.status === 'string' &&
12
12
  ['ok', 'noaction'].includes(response.status);
13
+ const addModify = (mutation) => (0, is_1.isObject)(mutation) ? { $modify: true, ...mutation } : mutation;
13
14
  function mutateAction(action, mutation, responses, mapOptions) {
14
15
  if (mutation && (0, is_1.isAction)(action)) {
15
16
  const mutationIncludingAction = Array.isArray(mutation)
16
- ? ['$action', ...mutation]
17
+ ? ['$action', ...mutation.map(addModify)]
17
18
  : { '.': '$action', ...mutation };
18
19
  const responsesIncludingAction = { ...responses, $action: action };
19
20
  return (0, map_transform_1.mapTransform)(mutationIncludingAction, mapOptions)(responsesIncludingAction);
@@ -76,8 +77,9 @@ function isStepOk(steps, responses) {
76
77
  async function runStep(step, responses, newResponses, dispatch, mapOptions, meta, prevStep) {
77
78
  let response;
78
79
  if (step.conditions) {
79
- if (!(0, validateFilters_1.default)(step.conditions)(responses)) {
80
- response = setStepError(step.id, 'Conditions were not met');
80
+ const validationErrors = (0, validateFilters_1.default)(step.conditions, true)(responses);
81
+ if (validationErrors.length > 0) {
82
+ response = setStepError(step.id, validationErrors.join(' | '));
81
83
  }
82
84
  }
83
85
  else if (prevStep) {
@@ -153,7 +155,10 @@ exports.default = (jobs, mapOptions) => async function run(action, { dispatch })
153
155
  }
154
156
  const prevResponses = { action };
155
157
  const responses = await runFlow(job, prevResponses, dispatch, mapOptions, meta);
156
- const response = getFlowResponse(job, responses);
157
- return cleanUpResponse(mutateAction({ ...action, response }, job.responseMutation, { ...responses, action }, mapOptions));
158
+ const actionWithResponse = {
159
+ ...action,
160
+ response: getFlowResponse(job, responses),
161
+ };
162
+ return cleanUpResponse(mutateAction(actionWithResponse, job.responseMutation, { ...responses, action: actionWithResponse }, mapOptions));
158
163
  };
159
164
  //# sourceMappingURL=run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/handlers/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/handlers/run.ts"],"names":[],"mappings":"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"}
@@ -19,16 +19,14 @@ const matchParams = ({ match: { params } = {} }, { payload }) => typeof params !
19
19
  const matchIncoming = ({ match: { incoming: incomingEndpoint } = {} }, isIncoming) => incomingEndpoint === undefined || incomingEndpoint === isIncoming;
20
20
  function isMatch(endpoint) {
21
21
  const match = endpoint.match || {};
22
- const matchFilters = match.filters
23
- ? (0, validateFilters_1.default)(match.filters)
24
- : () => true;
22
+ const matchFilters = match.filters ? (0, validateFilters_1.default)(match.filters) : () => [];
25
23
  return (action, isIncoming = false) => matchId(endpoint, action) &&
26
24
  matchType(endpoint, action) &&
27
25
  matchScope(endpoint, action) &&
28
26
  matchAction(endpoint, action) &&
29
27
  matchParams(endpoint, action) &&
30
28
  matchIncoming(endpoint, isIncoming) &&
31
- matchFilters(action);
29
+ matchFilters(action).length === 0;
32
30
  }
33
31
  exports.default = isMatch;
34
32
  //# sourceMappingURL=match.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"match.js","sourceRoot":"","sources":["../../../src/service/endpoints/match.ts"],"names":[],"mappings":";;AAAA,iEAAyD;AAGzD,6CAAiD;AAEjD,MAAM,UAAU,GAAG,CAAC,KAAyB,EAAE,KAAyB,EAAE,EAAE,CAC1E,IAAA,qBAAa,EAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAE7B,MAAM,QAAQ,GAAG,CAAC,MAA0B,EAAE,GAAW,EAAE,EAAE,CAC3D,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAA;AAErC,MAAM,OAAO,GAAG,CACd,QAAqB,EACrB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,EAAU,EAClD,EAAE,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,EAAE,KAAK,UAAU,CAAA;AAE9C,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAe,EAAE,EAAE,OAAO,EAAU,EAAE,EAAE,CACrE,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;AAErD,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAe,EAAE,EAAE,OAAO,EAAU,EAAE,EAAE,CACtE,CAAC,KAAK,CAAC,KAAK;IACZ,UAAU,CACR,KAAK,CAAC,KAAK,EACX,OAAO,CAAC,EAAE;QACR,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ;QACZ,CAAC,CAAC,YAAY,CACjB,CAAA;AAEH,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAe,EAAE,EAAE,IAAI,EAAU,EAAE,EAAE,CACpE,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAEjD,MAAM,WAAW,GAAG,CAClB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAe,EACvC,EAAE,OAAO,EAAU,EACnB,EAAE,CACF,OAAO,MAAM,KAAK,QAAQ;IAC1B,MAAM,KAAK,IAAI;IACf,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAC1B,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAC7D,CAAA;AAEH,MAAM,aAAa,GAAG,CACpB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAe,EAC3D,UAAmB,EACnB,EAAE,CAAC,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,UAAU,CAAA;AAQtE,SAAwB,OAAO,CAC7B,QAAqB;IAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAA;IAClC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO;QAChC,CAAC,CAAC,IAAA,yBAAe,EAAC,KAAK,CAAC,OAAO,CAAC;QAChC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAA;IAEd,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE,CACpC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC7B,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC;QACnC,YAAY,CAAC,MAAM,CAAC,CAAA;AACxB,CAAC;AAhBD,0BAgBC"}
1
+ {"version":3,"file":"match.js","sourceRoot":"","sources":["../../../src/service/endpoints/match.ts"],"names":[],"mappings":";;AAAA,iEAAyD;AAGzD,6CAAiD;AAEjD,MAAM,UAAU,GAAG,CAAC,KAAyB,EAAE,KAAyB,EAAE,EAAE,CAC1E,IAAA,qBAAa,EAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAE7B,MAAM,QAAQ,GAAG,CAAC,MAA0B,EAAE,GAAW,EAAE,EAAE,CAC3D,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAA;AAErC,MAAM,OAAO,GAAG,CACd,QAAqB,EACrB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,EAAU,EAClD,EAAE,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,EAAE,KAAK,UAAU,CAAA;AAE9C,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAe,EAAE,EAAE,OAAO,EAAU,EAAE,EAAE,CACrE,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;AAErD,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAe,EAAE,EAAE,OAAO,EAAU,EAAE,EAAE,CACtE,CAAC,KAAK,CAAC,KAAK;IACZ,UAAU,CACR,KAAK,CAAC,KAAK,EACX,OAAO,CAAC,EAAE;QACR,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ;QACZ,CAAC,CAAC,YAAY,CACjB,CAAA;AAEH,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAe,EAAE,EAAE,IAAI,EAAU,EAAE,EAAE,CACpE,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAEjD,MAAM,WAAW,GAAG,CAClB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAe,EACvC,EAAE,OAAO,EAAU,EACnB,EAAE,CACF,OAAO,MAAM,KAAK,QAAQ;IAC1B,MAAM,KAAK,IAAI;IACf,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAC1B,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAC7D,CAAA;AAEH,MAAM,aAAa,GAAG,CACpB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAe,EAC3D,UAAmB,EACnB,EAAE,CAAC,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,UAAU,CAAA;AAQtE,SAAwB,OAAO,CAC7B,QAAqB;IAErB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAA;IAClC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,yBAAe,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAA;IAE9E,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE,CACpC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC7B,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC;QACnC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;AACrC,CAAC;AAdD,0BAcC"}
@@ -1,12 +1,12 @@
1
1
  import { MapDefinition } from 'map-transform';
2
- import { Action, JsonSchema } from '../../types';
2
+ import { Action, Condition } from '../../types';
3
3
  export declare type EndpointOptions = Record<string, unknown>;
4
4
  export interface MatchObject {
5
5
  action?: string | string[];
6
6
  type?: string | string[];
7
7
  scope?: string | string[];
8
8
  params?: Record<string, boolean | undefined>;
9
- filters?: Record<string, JsonSchema | undefined>;
9
+ filters?: Record<string, Condition | boolean | undefined>;
10
10
  incoming?: boolean;
11
11
  }
12
12
  export interface EndpointDef {
package/dist/types.d.ts CHANGED
@@ -3,7 +3,6 @@ import { MapObject, MapPipe } from 'map-transform';
3
3
  import { EndpointOptions } from './service/endpoints/types';
4
4
  import { IdentConfig } from './service/types';
5
5
  import { Service } from './service/types';
6
- export declare type JsonSchema = Record<string, unknown> | boolean;
7
6
  export interface Reference {
8
7
  id: string | null;
9
8
  $ref: string;
@@ -32,9 +31,12 @@ export declare type ScheduleObject = {
32
31
  wm?: number[];
33
32
  wy?: number[];
34
33
  };
34
+ export interface Condition extends Record<string, unknown> {
35
+ failMessage?: string;
36
+ }
35
37
  interface JobFields {
36
38
  id: string;
37
- conditions?: Record<string, JsonSchema | undefined>;
39
+ conditions?: Record<string, Condition | undefined>;
38
40
  mutation?: MapObject | MapPipe;
39
41
  }
40
42
  export interface JobWithFlow extends JobFields {
@@ -1,3 +1,3 @@
1
- import { JsonSchema } from '../types';
1
+ import { Condition } from '../types';
2
2
  export declare type FilterFn = (data: unknown) => boolean;
3
- export default function validateFilters(filters: Record<string, JsonSchema | undefined>): (data: unknown) => boolean;
3
+ export default function validateFilters(filters: Record<string, Condition | boolean | undefined>, useFriendlyMessages?: boolean): (data: unknown) => string[];
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const util = require("util");
3
4
  const map_transform_1 = require("map-transform");
4
5
  const is_1 = require("./is");
6
+ const cleanCondition = ({ failMessage, ...filter }) => filter;
7
+ const cleanFilter = (filter) => (0, is_1.isObject)(filter) ? cleanCondition(filter) : filter;
5
8
  function prepareFilter(path, filter) {
6
9
  if (path === '$or') {
7
10
  if ((0, is_1.isObject)(filter)) {
@@ -9,19 +12,30 @@ function prepareFilter(path, filter) {
9
12
  }
10
13
  }
11
14
  else if (filter) {
12
- return (0, map_transform_1.validate)(path, filter);
15
+ return (0, map_transform_1.validate)(path, cleanFilter(filter));
13
16
  }
14
17
  return undefined;
15
18
  }
16
- function validateFilters(filters) {
19
+ const prepareMessage = (path, filter, useFriendlyMessages) => !useFriendlyMessages
20
+ ? () => path
21
+ : (0, is_1.isObject)(filter)
22
+ ? filter.failMessage
23
+ ? () => filter.failMessage
24
+ : () => `'${path}' did not pass ${util.inspect(filter)}`
25
+ : () => `'${path}' did not pass its condition`;
26
+ function validateFilters(filters, useFriendlyMessages = false) {
17
27
  const filterFns = Object.entries(filters)
18
- .map(([path, filter]) => prepareFilter(path, filter))
19
- .filter(Boolean);
28
+ .map(([path, filter]) => [
29
+ prepareFilter(path, filter),
30
+ prepareMessage(path, filter, useFriendlyMessages),
31
+ ])
32
+ .filter(([filter]) => !!filter);
20
33
  const isOrFilters = filters.$or === true;
21
34
  return function validate(data) {
22
- return isOrFilters
23
- ? filterFns.some((filter) => filter(data))
24
- : filterFns.every((filter) => filter(data));
35
+ const errors = filterFns
36
+ .map(([filter, getMessage]) => (filter(data) ? undefined : getMessage()))
37
+ .filter(Boolean);
38
+ return isOrFilters && errors.length < filterFns.length ? [] : errors;
25
39
  };
26
40
  }
27
41
  exports.default = validateFilters;
@@ -1 +1 @@
1
- {"version":3,"file":"validateFilters.js","sourceRoot":"","sources":["../../src/utils/validateFilters.ts"],"names":[],"mappings":";;AAAA,iDAAwC;AAExC,6BAA+B;AAI/B,SAAS,aAAa,CAAC,IAAY,EAAE,MAAmB;IACtD,IAAI,IAAI,KAAK,KAAK,EAAE;QAClB,IAAI,IAAA,aAAQ,EAAC,MAAM,CAAC,EAAE;YACpB,OAAO,eAAe,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;SACjD;KACF;SAAM,IAAI,MAAM,EAAE;QACjB,OAAO,IAAA,wBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAC9B;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAwB,eAAe,CACrC,OAA+C;IAE/C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACpD,MAAM,CAAC,OAAO,CAAe,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,KAAK,IAAI,CAAA;IAExC,OAAO,SAAS,QAAQ,CAAC,IAAa;QACpC,OAAO,WAAW;YAChB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC;AAbD,kCAaC"}
1
+ {"version":3,"file":"validateFilters.js","sourceRoot":"","sources":["../../src/utils/validateFilters.ts"],"names":[],"mappings":";;AAAA,6BAA6B;AAC7B,iDAAwC;AAExC,6BAA+B;AAM/B,MAAM,cAAc,GAAG,CAAC,EAAE,WAAW,EAAE,GAAG,MAAM,EAAa,EAAE,EAAE,CAAC,MAAM,CAAA;AACxE,MAAM,WAAW,GAAG,CAAC,MAA2B,EAAE,EAAE,CAClD,IAAA,aAAQ,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AAEpD,SAAS,aAAa,CACpB,IAAY,EACZ,MAA0C;IAE1C,IAAI,IAAI,KAAK,KAAK,EAAE;QAClB,IAAI,IAAA,aAAQ,EAAC,MAAM,CAAC,EAAE;YACpB,OAAO,eAAe,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;SACjD;KACF;SAAM,IAAI,MAAM,EAAE;QACjB,OAAO,IAAA,wBAAQ,EAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;KAC3C;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,cAAc,GAAG,CACrB,IAAY,EACZ,MAAuC,EACvC,mBAA4B,EAC5B,EAAE,CACF,CAAC,mBAAmB;IAClB,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI;IACZ,CAAC,CAAC,IAAA,aAAQ,EAAC,MAAM,CAAC;QAClB,CAAC,CAAC,MAAM,CAAC,WAAW;YAClB,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW;YAC1B,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC1D,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,8BAA8B,CAAA;AAElD,SAAwB,eAAe,CACrC,OAAwD,EACxD,mBAAmB,GAAG,KAAK;IAE3B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QACvB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,CAAC;KAClD,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAuB,CAAA;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,KAAK,IAAI,CAAA;IAExC,OAAO,SAAS,QAAQ,CAAC,IAAa;QACpC,MAAM,MAAM,GAAG,SAAS;aACrB,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;aACxE,MAAM,CAAC,OAAO,CAAa,CAAA;QAC9B,OAAO,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IACtE,CAAC,CAAA;AACH,CAAC;AAlBD,kCAkBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "integreat",
3
- "version": "0.8.0-beta.2",
3
+ "version": "0.8.0-beta.3",
4
4
  "description": "Node.js integration layer",
5
5
  "author": "Kjell-Morten Bratsberg Thorsen <kjellmorten@integreat.io> (https://integreat.io/)",
6
6
  "license": "ISC",
@@ -56,8 +56,8 @@
56
56
  "devDependencies": {
57
57
  "@integreat/ts-dev-setup": "^2.3.1",
58
58
  "@types/sinon": "^10.0.13",
59
- "integreat-transporter-http": "0.1.0-alpha.26",
59
+ "integreat-transporter-http": "0.1.0-beta.0",
60
60
  "nock": "^13.2.9",
61
- "sinon": "^14.0.0"
61
+ "sinon": "^14.0.1"
62
62
  }
63
63
  }