@nordcraft/runtime 1.0.81 → 1.0.83

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.
@@ -14,7 +14,7 @@ export function handleAction(action, data, ctx, event, workflowCallback) {
14
14
  case 'Switch': {
15
15
  // find the first case that resolves to true.
16
16
  // Only one case in a switch will be executed.
17
- const actionList = action.cases.find(({ condition }) => toBoolean(applyFormula(condition, {
17
+ const actionList = action.cases?.find(({ condition }) => toBoolean(applyFormula(condition, {
18
18
  data,
19
19
  component: ctx.component,
20
20
  formulaCache: ctx.formulaCache,
@@ -23,11 +23,8 @@ export function handleAction(action, data, ctx, event, workflowCallback) {
23
23
  toddle: ctx.toddle,
24
24
  env: ctx.env,
25
25
  }))) ?? action.default;
26
- if (!actionList) {
27
- return;
28
- }
29
26
  // handle all actions for the case
30
- for (const action of actionList.actions) {
27
+ for (const action of actionList?.actions ?? []) {
31
28
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
32
29
  handleAction(action, { ...data, ...ctx.dataSignal.get() }, ctx, event, workflowCallback);
33
30
  }
@@ -258,13 +255,28 @@ export function handleAction(action, data, ctx, event, workflowCallback) {
258
255
  }
259
256
  };
260
257
  api.fetch().then(() => {
261
- triggerActions(action.onSuccess.actions);
258
+ triggerActions(action.onSuccess?.actions ?? []);
262
259
  }, () => {
263
- triggerActions(action.onError.actions);
260
+ triggerActions(action.onError?.actions ?? []);
264
261
  });
265
262
  }
266
263
  break;
267
264
  }
265
+ case 'AbortFetch': {
266
+ const api = ctx.apis[action.api];
267
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
268
+ if (!api) {
269
+ console.error('The api ', action.api, 'does not exist');
270
+ return;
271
+ }
272
+ if (isContextApiV2(api)) {
273
+ api.cancel();
274
+ }
275
+ else {
276
+ console.warn(`AbortFetch action is not supported for API "${action.api}" as it is not a v2 API.`);
277
+ }
278
+ break;
279
+ }
268
280
  case 'TriggerWorkflow': {
269
281
  const parameters = mapValues(action.parameters ?? {}, (parameter) => applyFormula(parameter.formula, {
270
282
  data,
@@ -326,7 +338,7 @@ export function handleAction(action, data, ctx, event, workflowCallback) {
326
338
  const triggerActionEvent = (trigger, eventData) => {
327
339
  const subEvent = action.events?.[trigger];
328
340
  if (subEvent) {
329
- subEvent.actions.forEach((action) => handleAction(action, eventData
341
+ subEvent.actions?.forEach((action) => handleAction(action, eventData
330
342
  ? { ...data, ...ctx.dataSignal.get(), Event: eventData }
331
343
  : { ...data, ...ctx.dataSignal.get() }, ctx, eventData ?? event, workflowCallback));
332
344
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handleAction.js","sourceRoot":"","sources":["../../../src/events/handleAction.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,sCAAsC;AACtC,MAAM,UAAU,YAAY,CAC1B,MAAmB,EACnB,IAAmB,EACnB,GAAqB,EACrB,KAAa,EACb,gBAAyD,EACzD;IACA,IAAI,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAC1C,CAAC;QACD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,QAAQ,EAAE,CAAC;gBACd,6CAA6C;gBAC7C,8CAA8C;gBAC9C,MAAM,UAAU,GACd,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAClC,SAAS,CACP,YAAY,CAAC,SAAS,EAAE;oBACtB,IAAI;oBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;iBACb,CAAC,CACH,CACF,IAAI,MAAM,CAAC,OAAO,CAAA;gBACrB,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAM;gBACR,CAAC;gBACD,kCAAkC;gBAClC,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxC,mEAAmE;oBACnE,YAAY,CACV,MAAM,EACN,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EACpC,GAAG,EACH,KAAK,EACL,gBAAgB,CACjB,CAAA;gBACH,CAAC;gBACD,MAAK;YACP,CAAC;YACD,KAAK,aAAa,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE;oBACtC,IAAI;oBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;iBACb,CAAC,CAAA;gBACF,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC9B,OAAO;wBACL,GAAG,IAAI;wBACP,SAAS,EAAE;4BACT,GAAG,IAAI,CAAC,SAAS;4BACjB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK;yBACzB;qBACF,CAAA;gBAAA,CACF,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YACD,KAAK,cAAc,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE;oBACxC,IAAI;oBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;iBACb,CAAC,CAAA;gBACF,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;gBACvC,MAAK;YACP,CAAC;YACD,KAAK,yBAAyB,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE;oBACxC,IAAI;oBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;iBACb,CAAC,CAAA;gBACF,gBAAgB,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;gBACzC,MAAK;YACP,CAAC;YACD,KAAK,iBAAiB,EAAE,CAAC;gBACvB,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE;wBACtC,IAAI;wBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;qBACb,CAAC,CAAA;oBACF,qEAAqE;oBACrE,0DAA0D;oBAC1D,IAAI,WAA6D,CAAA;oBACjE,IAAI,WAAiC,CAAA;oBACrC,kDAAkD;oBAClD,8CAA8C;oBAC9C,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;wBACjE,WAAW,GAAG,MAAM,CAAA;wBACpB,WAAW,GAAG;4BACZ,GAAG,OAAO;4BACV,MAAM,EAAE;gCACN,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gCAC/C,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK;6BAC1B;yBACF,CAAA;oBACH,CAAC;oBACD,6DAA6D;oBAC7D,kDAAkD;oBAClD,+FAA+F;yBAC1F,CAAC;wBACJ,WAAW,GAAG,SAAS,CAAA;wBACvB,WAAW,GAAG;4BACZ,GAAG,OAAO;4BACV,KAAK,EAAE;gCACL,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gCAC9C,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;6BAC7D;yBACF,CAAA;oBACH,CAAC;oBACD,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,kCAAkC;wBAClC,OAAO,OAAO,CAAA;oBAChB,CAAC;oBAED,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;oBAC1C,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;oBAC9C,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;wBAC9B,2DAA2D;wBAC3D,kEAAkE;wBAClE,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,WAAW,CAAA;wBAC/C,oCAAoC;wBACpC,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;4BAC3B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;wBAC9C,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;wBACjD,CAAC;oBACH,CAAC;oBACD,OAAO,WAAW,CAAA;gBAAA,CACnB,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YACD,KAAK,kBAAkB,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;gBAC1D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAM;gBACR,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;wBACnB,0DAA0D;wBAC1D,OAAO,OAAO,CAAA;oBAChB,CAAC;oBACD,qEAAqE;oBACrE,IAAI,WAAW,GAA8C,SAAS,CAAA;oBACtE,MAAM,YAAY,GAA2B,EAAE,CAAA;oBAC/C,MAAM,WAAW,GAA2B,EAAE,CAAA;oBAC9C,MAAM,eAAe,GAAG;wBACtB,IAAI;wBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;qBACb,CAAA;oBACD,mCAAmC;oBACnC,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,EAAE,CAC7C,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAC9C,CAAA;oBACH,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAE,EAAE,CAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CACxB,CAAA;oBAEH,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC;wBAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,IAAI,CAAA;wBAC5D,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;4BACpC,WAAW,GAAG,MAAM,CAAA;4BACpB,WAAW,CAAC,SAAS,CAAC,GAAG,KAAe,CAAA;wBAC1C,CAAC;6BAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;4BAC5C,YAAY,CAAC,SAAS,CAAC,GAAG,KAAe,CAAA;wBAC3C,CAAC;oBACH,CAAC;oBACD,IACE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;wBACrC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EACtC,CAAC;wBACD,kCAAkC;wBAClC,6CAA6C;wBAC7C,OAAO,OAAO,CAAA;oBAChB,CAAC;oBAED,MAAM,WAAW,GAAG;wBAClB,GAAG,OAAO;wBACV,MAAM,EAAE;4BACN,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BACrD,GAAG,WAAW;yBACf;wBACD,KAAK,EAAE;4BACL,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;4BACrD,GAAG,YAAY;yBAChB;qBACF,CAAA;oBACD,IAAI,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC;wBACxC,kCAAkC;wBAClC,OAAO,OAAO,CAAA;oBAChB,CAAC;oBAED,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;oBAC1C,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;oBAC9C,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;wBAC9B,2DAA2D;wBAC3D,kEAAkE;wBAClE,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,WAAW,CAAA;wBAC/C,oCAAoC;wBACpC,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;4BAC3B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;wBAC9C,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;wBACjD,CAAC;oBACH,CAAC;oBACD,OAAO,WAAW,CAAA;gBAAA,CACnB,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAChC,uEAAuE;gBACvE,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;oBACvD,OAAM;gBACR,CAAC;gBAED,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,4EAA4E;oBAC5E,4EAA4E;oBAC5E,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAC5D,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE;wBAC1B,IAAI;wBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;qBACb,CAAC,CACH,CAAA;oBACD,MAAM,YAAY,GAAG;wBACnB,uEAAuE;wBACvE,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE;wBAC5C,uEAAuE;wBACvE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;wBACvC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE;qBAC3C,CAAA;oBACD,KAAK,GAAG,CAAC,KAAK,CAAC;wBACb,YAAY;wBACZ,YAAY;wBACZ,aAAa,EAAE,IAAI;wBACnB,gBAAgB;qBACjB,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,cAAc,GAAG,CAAC,OAAsB,EAAE,EAAE,CAAC;wBACjD,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;4BAChC,mEAAmE;4BACnE,YAAY,CACV,SAAS,EACT,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EACpC,GAAG,EACH,KAAK,EACL,gBAAgB,CACjB,CAAA;wBACH,CAAC;oBAAA,CACF,CAAA;oBACD,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CACd,GAAG,EAAE,CAAC;wBACJ,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;oBAAA,CACzC,EACD,GAAG,EAAE,CAAC;wBACJ,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;oBAAA,CACvC,CACF,CAAA;gBACH,CAAC;gBAED,MAAK;YACP,CAAC;YACD,KAAK,iBAAiB,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAClE,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE;oBAC9B,IAAI;oBACJ,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,YAAY,EAAE,GAAG,CAAC,YAAY;oBAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;iBACb,CAAC,CACH,CAAA;gBACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;gBAClC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GACZ,GAAG,CAAC,SAAS,CACX,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAClE,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;oBAC5C,MAAM,QAAQ,GAAG,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,IAAI,QAAQ,EAAE,CAAC;4BACb,OAAO,CAAC,IAAI,CACV,yBAAyB,MAAM,CAAC,QAAQ,mBAAmB,MAAM,CAAC,eAAe,4CAA4C,CAC9H,CAAA;wBACH,CAAC;wBACD,OAAM;oBACR,CAAC;oBAED,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,YAAY,CACV,MAAM,EACN;wBACE,GAAG,IAAI;wBACP,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE;wBAChC,UAAU,EAAE,UAAU;qBACvB,EACD,QAAQ,CAAC,GAAG,EACZ,KAAK,EACL,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC;wBAC9B,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC,YAAY,CAAC,CAAA;wBAC1C,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACpC,YAAY,CACV,MAAM,EACN;4BACE,GAAG,IAAI;4BACP,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE;4BACvB,UAAU,EAAE,UAAU;4BACtB,KAAK,EAAE,YAAY;yBACpB,EACD,GAAG,EACH,KAAK,EACL,gBAAgB,CACjB,CACF,CAAA;oBAAA,CACF,CACF,CACF,CAAA;oBACD,OAAM;gBACR,CAAC;gBAED,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CACV,YAAY,MAAM,CAAC,QAAQ,gCAAgC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAChF,CAAA;oBACD,OAAM;gBACR,CAAC;gBAED,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,YAAY,CACV,MAAM,EACN;oBACE,GAAG,IAAI;oBACP,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE;oBACvB,UAAU,EAAE,UAAU;iBACvB,EACD,GAAG,EACH,KAAK,EACL,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC,YAAY,CAAC,CAAA;oBAC1C,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACpC,YAAY,CACV,MAAM,EACN;wBACE,GAAG,IAAI;wBACP,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE;wBACvB,UAAU,EAAE,UAAU;wBACtB,KAAK,EAAE,YAAY;qBACpB,EACD,GAAG,EACH,KAAK,EACL,gBAAgB,CACjB,CACF,CAAA;gBAAA,CACF,CACF,CACF,CAAA;gBACD,MAAK;YACP,CAAC;YACD,SAAS,CAAC;gBACR,IAAI,CAAC;oBACH,iDAAiD;oBACjD,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,SAAc,EAAE,EAAE,CAAC;wBAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAA;wBACzC,IAAI,QAAQ,EAAE,CAAC;4BACb,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,YAAY,CACV,MAAM,EACN,SAAS;gCACP,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;gCACxD,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EACxC,GAAG,EACH,SAAS,IAAI,KAAK,EAClB,gBAAgB,CACjB,CACF,CAAA;wBACH,CAAC;oBAAA,CACF,CAAA;oBACD,MAAM,SAAS,GACb,MAAM,CAAC,OAAO,KAAK,CAAC;wBAClB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CACxD,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAC9B;wBACH,CAAC,CAAC,SAAS,CAAA;oBACf,IAAI,SAAS,EAAE,CAAC;wBACd,qDAAqD;wBACrD,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAG1C,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CACZ,GAAG;4BACD,CAAC,CAAC;gCACE,GAAG,IAAI;gCACP,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE;oCACpC,IAAI;oCACJ,SAAS,EAAE,GAAG,CAAC,SAAS;oCACxB,YAAY,EAAE,GAAG,CAAC,YAAY;oCAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;oCACd,OAAO,EAAE,GAAG,CAAC,OAAO;oCACpB,MAAM,EAAE,GAAG,CAAC,MAAM;oCAClB,GAAG,EAAE,GAAG,CAAC,GAAG;iCACb,CAAC;6BACH;4BACH,CAAC,CAAC,IAAI,EACV,EAAE,CACH,CAAA;wBACD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAChC,IAAI,EACJ;4BACE,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,kBAAkB;yBACnB,EACD,KAAK,CACN,CAAA;wBACD,gIAAgI;wBAChI,sDAAsD;wBACtD,IACE,MAAM;4BACN,CAAC,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,YAAY,OAAO,CAAC,EAC3D,CAAC;4BACD,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;gCACvC,OAAO,EAAE,GAAG,EAAE,CAAC;oCACb,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;wCAC9B,MAAM;6CACH,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;4CACjB,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;gDAClC,OAAO,EAAE,CAAA;4CACX,CAAC;wCAAA,CACF,CAAC;6CACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;oCACvC,CAAC;yCAAM,CAAC;wCACN,MAAM,EAAE,CAAA;oCACV,CAAC;gCAAA,CACF;6BACF,CAAC,CAAA;wBACJ,CAAC;wBAED,OAAO,MAAM,CAAA;oBACf,CAAC;yBAAM,CAAC;wBACN,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBACvD,IAAI,CAAC,aAAa,EAAE,CAAC;4BACnB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;4BACnD,OAAM;wBACR,CAAC;wBACD,qDAAqD;wBACrD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACzC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE;4BACzB,IAAI;4BACJ,SAAS,EAAE,GAAG,CAAC,SAAS;4BACxB,YAAY,EAAE,GAAG,CAAC,YAAY;4BAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,OAAO,EAAE,GAAG,CAAC,OAAO;4BACpB,MAAM,EAAE,GAAG,CAAC,MAAM;4BAClB,GAAG,EAAE,GAAG,CAAC,GAAG;yBACb,CAAC,CACH,IAAI;4BACH,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE;gCACxB,IAAI;gCACJ,SAAS,EAAE,GAAG,CAAC,SAAS;gCACxB,YAAY,EAAE,GAAG,CAAC,YAAY;gCAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;gCACd,OAAO,EAAE,GAAG,CAAC,OAAO;gCACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gCAClB,GAAG,EAAE,GAAG,CAAC,GAAG;6BACb,CAAC;yBACH,CAAA,CAAC,2EAA2E;wBAC7E,OAAO,aAAa,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,EAAE,kBAAkB,EAAE,EAAE,KAAK,CAAC,CAAA;oBACnE,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;AAAA,CACF"}
1
+ {"version":3,"file":"handleAction.js","sourceRoot":"","sources":["../../../src/events/handleAction.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -9,8 +9,8 @@
9
9
  "directory": "packages/runtime"
10
10
  },
11
11
  "dependencies": {
12
- "@nordcraft/core": "1.0.81",
13
- "@nordcraft/std-lib": "1.0.81",
12
+ "@nordcraft/core": "1.0.83",
13
+ "@nordcraft/std-lib": "1.0.83",
14
14
  "fast-deep-equal": "3.1.3",
15
15
  "path-to-regexp": "6.3.0"
16
16
  },
@@ -23,5 +23,5 @@
23
23
  "files": ["dist", "src"],
24
24
  "main": "dist/page.main.js",
25
25
  "types": "dist/page.main.d.ts",
26
- "version": "1.0.81"
26
+ "version": "1.0.83"
27
27
  }
@@ -0,0 +1,65 @@
1
+ import type { ToddleRequestInit } from '@nordcraft/core/dist/api/apiTypes'
2
+ import { describe, expect, test } from 'bun:test'
3
+ import { ApiAbortHandler } from './apiUtils'
4
+
5
+ describe('apiUtils', () => {
6
+ describe('ApiAbortHandler', () => {
7
+ test('applyAbortSignal should return a requestInit with a signal', () => {
8
+ const handler = new ApiAbortHandler()
9
+ const request: ToddleRequestInit = { headers: new Headers() }
10
+ const requestInit = handler.applyAbortSignal(request)
11
+ expect(requestInit.signal).toBeDefined()
12
+ expect(requestInit.signal).toBeInstanceOf(AbortSignal)
13
+ })
14
+
15
+ test('cancelAbortSignals should abort all signals created via applyAbortSignal', () => {
16
+ const handler = new ApiAbortHandler()
17
+ const requestInit1 = handler.applyAbortSignal({ headers: new Headers() })
18
+ const requestInit2 = handler.applyAbortSignal({ headers: new Headers() })
19
+
20
+ expect(requestInit1.signal.aborted).toBe(false)
21
+ expect(requestInit2.signal.aborted).toBe(false)
22
+
23
+ handler.abort()
24
+
25
+ expect(requestInit1.signal.aborted).toBe(true)
26
+ expect(requestInit2.signal.aborted).toBe(true)
27
+ })
28
+
29
+ test('applyAbortSignal should merge with an existing signal', async () => {
30
+ const handler = new ApiAbortHandler()
31
+ const timeout = AbortSignal.timeout(50)
32
+ const requestInit = handler.applyAbortSignal({
33
+ signal: timeout,
34
+ headers: new Headers(),
35
+ })
36
+
37
+ expect(requestInit.signal).toBeDefined()
38
+ expect(requestInit.signal.aborted).toBe(false)
39
+ handler.abort()
40
+ expect(requestInit.signal.aborted).toBe(true)
41
+ })
42
+
43
+ test('merged signal should abort if cancelAbortSignals is called', () => {
44
+ const handler = new ApiAbortHandler()
45
+ const requestInit = handler.applyAbortSignal({
46
+ signal: AbortSignal.timeout(50),
47
+ headers: new Headers(),
48
+ })
49
+ expect(requestInit.signal.aborted).toBe(false)
50
+ handler.abort()
51
+ expect(requestInit.signal.aborted).toBe(true)
52
+ })
53
+
54
+ test('it should handle multiple calls to cancelAbortSignals', () => {
55
+ const handler = new ApiAbortHandler()
56
+ const requestInit = handler.applyAbortSignal({ headers: new Headers() })
57
+
58
+ handler.abort()
59
+ expect(requestInit.signal?.aborted).toBe(true)
60
+
61
+ // Should not throw
62
+ expect(() => handler.abort()).not.toThrow()
63
+ })
64
+ })
65
+ })
@@ -1,4 +1,34 @@
1
+ import type { ToddleRequestInit } from '@nordcraft/core/dist/api/apiTypes'
1
2
  import type { ContextApi, ContextApiV2 } from '../types'
2
3
 
3
4
  export const isContextApiV2 = (api: ContextApi): api is ContextApiV2 =>
4
5
  'triggerActions' in api
6
+
7
+ export class ApiAbortHandler {
8
+ private abortControllers: AbortController[] = []
9
+
10
+ public applyAbortSignal = (requestInit: ToddleRequestInit) => {
11
+ const abortController = new AbortController()
12
+ this.abortControllers.push(abortController)
13
+ this.cleanupAbortedControllers()
14
+ return {
15
+ ...requestInit,
16
+ signal: requestInit.signal
17
+ ? AbortSignal.any([requestInit.signal, abortController.signal])
18
+ : abortController.signal,
19
+ }
20
+ }
21
+
22
+ public abort = () => {
23
+ this.abortControllers.forEach((controller) => {
24
+ controller.abort()
25
+ })
26
+ this.abortControllers = []
27
+ }
28
+
29
+ private cleanupAbortedControllers = () => {
30
+ this.abortControllers = this.abortControllers.filter(
31
+ (controller) => !controller.signal.aborted,
32
+ )
33
+ }
34
+ }
@@ -39,6 +39,7 @@ import { isDefined, toBoolean } from '@nordcraft/core/dist/utils/util'
39
39
  import { handleAction } from '../events/handleAction'
40
40
  import type { Signal } from '../signal/signal'
41
41
  import type { ComponentContext, ContextApiV2 } from '../types'
42
+ import { ApiAbortHandler } from './apiUtils'
42
43
 
43
44
  /**
44
45
  * Set up an api v2 for a component.
@@ -368,7 +369,7 @@ export function createAPI({
368
369
  }
369
370
  }
370
371
 
371
- // Execute the request - potentially to the cloudflare Query proxy
372
+ // Execute the request - potentially to the Nordcraft Query proxy
372
373
  async function execute({
373
374
  api,
374
375
  url,
@@ -409,6 +410,8 @@ export function createAPI({
409
410
  ) ?? false)
410
411
  : false
411
412
 
413
+ // Ensure we can cancel the request
414
+ requestSettings = abortHandler.applyAbortSignal(requestSettings)
412
415
  if (proxy === false) {
413
416
  response = await fetch(url, requestSettings)
414
417
  } else {
@@ -444,10 +447,19 @@ export function createAPI({
444
447
  workflowCallback,
445
448
  })
446
449
  return
447
- } catch (error: any) {
448
- const body = error.cause
449
- ? { message: error.message, data: error.cause }
450
- : error.message
450
+ } catch (error: unknown) {
451
+ let body: string | { message: string; data?: any } = 'Unknown error'
452
+ if (error instanceof Error) {
453
+ body = error.cause
454
+ ? { message: error.message, data: error.cause }
455
+ : error.message
456
+ if (error.name === 'TimeoutError') {
457
+ // Later we might want to add a timeout specific message, but that would currently
458
+ // be a breaking change. The "body" for a timeout will currently be: "signal timed out"
459
+ } else if (error.name === 'AbortError') {
460
+ body = 'Request was aborted'
461
+ }
462
+ }
451
463
  apiError({
452
464
  api,
453
465
  componentData,
@@ -966,6 +978,8 @@ export function createAPI({
966
978
  }>
967
979
  | undefined
968
980
 
981
+ const abortHandler = new ApiAbortHandler()
982
+
969
983
  // eslint-disable-next-line prefer-const
970
984
  payloadSignal = ctx.dataSignal.map((data) => {
971
985
  const payloadContext = getFormulaContext(api, data)
@@ -1136,6 +1150,7 @@ export function createAPI({
1136
1150
  workflowCallback,
1137
1151
  })
1138
1152
  },
1153
+ cancel: abortHandler.abort,
1139
1154
  update: (newApi, componentData) => {
1140
1155
  api = newApi
1141
1156
  const updateContext = getFormulaContext(api, componentData)
@@ -368,7 +368,9 @@ export const createRoot = (
368
368
  }
369
369
 
370
370
  updateStyle(component)
371
- update()
371
+ // Since changes to other components might affect the current component
372
+ // (if context was changed or a component node should be re-rendered)
373
+ update({ forceRerender: true })
372
374
  }
373
375
 
374
376
  break
@@ -1184,7 +1186,7 @@ export const createRoot = (
1184
1186
  }
1185
1187
  }
1186
1188
 
1187
- const update = () => {
1189
+ const update = ({ forceRerender }: { forceRerender?: boolean } = {}) => {
1188
1190
  const _component = getCurrentComponent()
1189
1191
  if (!_component || !components || !packageComponents) {
1190
1192
  return
@@ -1453,6 +1455,7 @@ export const createRoot = (
1453
1455
  }
1454
1456
 
1455
1457
  if (
1458
+ forceRerender ||
1456
1459
  fastDeepEqual(newCtx.component.nodes, ctx?.component?.nodes) === false ||
1457
1460
  fastDeepEqual(newCtx.component.formulas, ctx?.component?.formulas) ===
1458
1461
  false
@@ -30,7 +30,7 @@ export function handleAction(
30
30
  // find the first case that resolves to true.
31
31
  // Only one case in a switch will be executed.
32
32
  const actionList =
33
- action.cases.find(({ condition }) =>
33
+ action.cases?.find(({ condition }) =>
34
34
  toBoolean(
35
35
  applyFormula(condition, {
36
36
  data,
@@ -43,11 +43,8 @@ export function handleAction(
43
43
  }),
44
44
  ),
45
45
  ) ?? action.default
46
- if (!actionList) {
47
- return
48
- }
49
46
  // handle all actions for the case
50
- for (const action of actionList.actions) {
47
+ for (const action of actionList?.actions ?? []) {
51
48
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
52
49
  handleAction(
53
50
  action,
@@ -302,16 +299,32 @@ export function handleAction(
302
299
  }
303
300
  api.fetch().then(
304
301
  () => {
305
- triggerActions(action.onSuccess.actions)
302
+ triggerActions(action.onSuccess?.actions ?? [])
306
303
  },
307
304
  () => {
308
- triggerActions(action.onError.actions)
305
+ triggerActions(action.onError?.actions ?? [])
309
306
  },
310
307
  )
311
308
  }
312
309
 
313
310
  break
314
311
  }
312
+ case 'AbortFetch': {
313
+ const api = ctx.apis[action.api]
314
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
315
+ if (!api) {
316
+ console.error('The api ', action.api, 'does not exist')
317
+ return
318
+ }
319
+ if (isContextApiV2(api)) {
320
+ api.cancel()
321
+ } else {
322
+ console.warn(
323
+ `AbortFetch action is not supported for API "${action.api}" as it is not a v2 API.`,
324
+ )
325
+ }
326
+ break
327
+ }
315
328
  case 'TriggerWorkflow': {
316
329
  const parameters = mapValues(action.parameters ?? {}, (parameter) =>
317
330
  applyFormula(parameter.formula, {
@@ -417,7 +430,7 @@ export function handleAction(
417
430
  const triggerActionEvent = (trigger: string, eventData: any) => {
418
431
  const subEvent = action.events?.[trigger]
419
432
  if (subEvent) {
420
- subEvent.actions.forEach((action) =>
433
+ subEvent.actions?.forEach((action) =>
421
434
  handleAction(
422
435
  action,
423
436
  eventData
package/src/types.d.ts CHANGED
@@ -112,7 +112,8 @@ export interface ContextApiV2 {
112
112
  componentData: ComponentData
113
113
  workflowCallback?: (event: string, data: unknown) => void
114
114
  }) => Promise<unknown>
115
- destroy: Function
115
+ cancel: () => void
116
+ destroy: () => void
116
117
  update: (newApi: CoreApiRequest, componentData: ComponentData) => void // for updating the dataSignal
117
118
  triggerActions: (componentData: ComponentData) => void // for triggering actions explicitly. Useful when initializing apis
118
119
  }