@nordcraft/runtime 1.0.14 → 1.0.15

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.
@@ -0,0 +1,2 @@
1
+ import type { ContextApi, ContextApiV2 } from '../types';
2
+ export declare const isContextApiV2: (api: ContextApi) => api is ContextApiV2;
@@ -0,0 +1,2 @@
1
+ export const isContextApiV2 = (api) => 'triggerActions' in api;
2
+ //# sourceMappingURL=apiUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiUtils.js","sourceRoot":"","sources":["../../src/api/apiUtils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAe,EAAuB,EAAE,CACrE,gBAAgB,IAAI,GAAG,CAAA"}
@@ -15,6 +15,6 @@ export type ApiRequest = {
15
15
  * or sent directly to the api endpoint (when api.proxy === false)
16
16
  */
17
17
  export declare function createLegacyAPI(api: LegacyComponentAPI, ctx: ComponentContext): {
18
- fetch: Function;
19
- destroy: Function;
18
+ fetch: (request?: ApiRequest) => Promise<unknown>;
19
+ destroy: () => void | undefined;
20
20
  };
@@ -1,7 +1,11 @@
1
1
  import type { ApiRequest } from '@nordcraft/core/dist/api/apiTypes';
2
- import type { RequireFields } from '@nordcraft/core/dist/types';
3
- import type { ComponentContext, ContextApi } from '../types';
2
+ import type { ComponentData } from '@nordcraft/core/dist/component/component.types';
3
+ import type { ComponentContext, ContextApiV2 } from '../types';
4
4
  /**
5
5
  * Set up an api v2 for a component.
6
6
  */
7
- export declare function createAPI(apiRequest: ApiRequest, ctx: ComponentContext): RequireFields<ContextApi, 'update' | 'triggerActions'>;
7
+ export declare function createAPI({ apiRequest, componentData: initialComponentData, ctx, }: {
8
+ apiRequest: ApiRequest;
9
+ componentData: ComponentData;
10
+ ctx: ComponentContext;
11
+ }): ContextApiV2;
@@ -9,11 +9,11 @@ import { handleAction } from '../events/handleAction';
9
9
  /**
10
10
  * Set up an api v2 for a component.
11
11
  */
12
- export function createAPI(apiRequest, ctx) {
12
+ export function createAPI({ apiRequest, componentData: initialComponentData, ctx, }) {
13
13
  // If `__toddle` isn't found it is in a web component context. We behave as if the page isn't loaded.
14
14
  let timer = null;
15
15
  let api = { ...apiRequest };
16
- function constructRequest(api) {
16
+ function constructRequest(api, componentData) {
17
17
  // Get baseUrl and validate it. (It wont be in web component context)
18
18
  let baseUrl = window.origin;
19
19
  try {
@@ -24,7 +24,7 @@ export function createAPI(apiRequest, ctx) {
24
24
  }
25
25
  const request = createApiRequest({
26
26
  api,
27
- formulaContext: getFormulaContext(api),
27
+ formulaContext: getFormulaContext(api, componentData),
28
28
  baseUrl,
29
29
  defaultHeaders: undefined,
30
30
  });
@@ -43,7 +43,7 @@ export function createAPI(apiRequest, ctx) {
43
43
  };
44
44
  }
45
45
  // Create the formula context for the api
46
- function getFormulaContext(api) {
46
+ function getFormulaContext(api, componentData) {
47
47
  // Use the general formula context to evaluate the arguments of the api
48
48
  const formulaContext = {
49
49
  data: ctx.dataSignal.get(),
@@ -61,6 +61,7 @@ export function createAPI(apiRequest, ctx) {
61
61
  }, {});
62
62
  const data = {
63
63
  ...formulaContext.data,
64
+ ...componentData,
64
65
  ApiInputs: {
65
66
  ...evaluatedInputs,
66
67
  },
@@ -75,12 +76,13 @@ export function createAPI(apiRequest, ctx) {
75
76
  env: ctx.env,
76
77
  };
77
78
  }
78
- function handleRedirectRules(api) {
79
+ function handleRedirectRules(api, componentData) {
79
80
  for (const [ruleName, rule] of sortObjectEntries(api.redirectRules ?? {}, ([_, rule]) => rule.index)) {
81
+ const formulaContext = getFormulaContext(api, componentData);
80
82
  const location = applyFormula(rule.formula, {
81
- ...getFormulaContext(api),
83
+ ...formulaContext,
82
84
  data: {
83
- ...getFormulaContext(api).data,
85
+ ...formulaContext.data,
84
86
  Apis: {
85
87
  [api.name]: ctx.dataSignal.get().Apis?.[api.name],
86
88
  },
@@ -104,14 +106,14 @@ export function createAPI(apiRequest, ctx) {
104
106
  }
105
107
  }
106
108
  }
107
- function triggerActions(eventName, api, data) {
109
+ function triggerActions({ eventName, api, data, componentData, }) {
110
+ const formulaContext = getFormulaContext(api, componentData);
108
111
  switch (eventName) {
109
112
  case 'message': {
110
113
  const event = createApiEvent('message', data.body);
111
114
  api.client?.onMessage?.actions?.forEach((action) => {
112
115
  handleAction(action, {
113
- ...getFormulaContext(api).data,
114
- ...ctx.dataSignal.get(),
116
+ ...formulaContext.data,
115
117
  Event: event,
116
118
  }, ctx, event);
117
119
  });
@@ -121,8 +123,7 @@ export function createAPI(apiRequest, ctx) {
121
123
  const event = createApiEvent('success', data.body);
122
124
  api.client?.onCompleted?.actions?.forEach((action) => {
123
125
  handleAction(action, {
124
- ...getFormulaContext(api).data,
125
- ...ctx.dataSignal.get(),
126
+ ...formulaContext.data,
126
127
  Event: event,
127
128
  }, ctx, event);
128
129
  });
@@ -135,8 +136,7 @@ export function createAPI(apiRequest, ctx) {
135
136
  });
136
137
  api.client?.onFailed?.actions?.forEach((action) => {
137
138
  handleAction(action, {
138
- ...getFormulaContext(api).data,
139
- ...ctx.dataSignal.get(),
139
+ ...formulaContext.data,
140
140
  Event: event,
141
141
  }, ctx, event);
142
142
  });
@@ -144,7 +144,7 @@ export function createAPI(apiRequest, ctx) {
144
144
  }
145
145
  }
146
146
  }
147
- function apiSuccess(api, data, performance) {
147
+ function apiSuccess({ api, componentData, data, performance, }) {
148
148
  const latestRequestStart = ctx.dataSignal.get().Apis?.[api.name]?.response?.performance?.requestStart;
149
149
  if (typeof latestRequestStart === 'number' &&
150
150
  latestRequestStart > (performance.requestStart ?? 0)) {
@@ -166,7 +166,7 @@ export function createAPI(apiRequest, ctx) {
166
166
  },
167
167
  },
168
168
  });
169
- const appliedRedirectRule = handleRedirectRules(api);
169
+ const appliedRedirectRule = handleRedirectRules(api, componentData);
170
170
  if (appliedRedirectRule) {
171
171
  ctx.dataSignal.set({
172
172
  ...ctx.dataSignal.get(),
@@ -189,7 +189,7 @@ export function createAPI(apiRequest, ctx) {
189
189
  });
190
190
  }
191
191
  }
192
- function apiError(api, data, performance) {
192
+ function apiError({ api, componentData, data, performance, }) {
193
193
  const latestRequestStart = ctx.dataSignal.get().Apis?.[api.name]?.response?.performance?.requestStart;
194
194
  if (typeof latestRequestStart === 'number' &&
195
195
  latestRequestStart > (performance.requestStart ?? 0)) {
@@ -211,7 +211,7 @@ export function createAPI(apiRequest, ctx) {
211
211
  },
212
212
  },
213
213
  });
214
- const appliedRedirectRule = handleRedirectRules(api);
214
+ const appliedRedirectRule = handleRedirectRules(api, componentData);
215
215
  if (appliedRedirectRule) {
216
216
  ctx.dataSignal.set({
217
217
  ...ctx.dataSignal.get(),
@@ -235,7 +235,7 @@ export function createAPI(apiRequest, ctx) {
235
235
  }
236
236
  }
237
237
  // Execute the request - potentially to the cloudflare Query proxy
238
- async function execute(api, url, requestSettings) {
238
+ async function execute({ api, url, requestSettings, componentData, }) {
239
239
  const run = async () => {
240
240
  const performance = {
241
241
  requestStart: Date.now(),
@@ -256,7 +256,7 @@ export function createAPI(apiRequest, ctx) {
256
256
  let response;
257
257
  try {
258
258
  const proxy = api.server?.proxy
259
- ? (applyFormula(api.server.proxy.enabled.formula, getFormulaContext(api)) ?? false)
259
+ ? (applyFormula(api.server.proxy.enabled.formula, getFormulaContext(api, componentData)) ?? false)
260
260
  : false;
261
261
  if (proxy === false) {
262
262
  response = await fetch(url, requestSettings);
@@ -269,15 +269,25 @@ export function createAPI(apiRequest, ctx) {
269
269
  response = await fetch(proxyUrl, requestSettings);
270
270
  }
271
271
  performance.responseStart = Date.now();
272
- await handleResponse(api, response, performance);
272
+ await handleResponse({ api, componentData, res: response, performance });
273
273
  return;
274
274
  }
275
275
  catch (error) {
276
276
  const body = error.cause
277
277
  ? { message: error.message, data: error.cause }
278
278
  : error.message;
279
- apiError(api, { body }, { ...performance, responseEnd: Date.now() });
280
- triggerActions('failed', api, { body });
279
+ apiError({
280
+ api,
281
+ componentData,
282
+ data: { body },
283
+ performance: { ...performance, responseEnd: Date.now() },
284
+ });
285
+ triggerActions({
286
+ eventName: 'failed',
287
+ api,
288
+ data: { body },
289
+ componentData,
290
+ });
281
291
  return Promise.reject(error);
282
292
  }
283
293
  };
@@ -289,12 +299,12 @@ export function createAPI(apiRequest, ctx) {
289
299
  }
290
300
  timer = setTimeout(() => {
291
301
  run().then(resolve, reject);
292
- }, applyFormula(api.client?.debounce?.formula, getFormulaContext(api)));
302
+ }, applyFormula(api.client?.debounce?.formula, getFormulaContext(api, componentData)));
293
303
  });
294
304
  }
295
305
  return run();
296
306
  }
297
- function handleResponse(api, res, performance) {
307
+ function handleResponse({ api, componentData, res, performance, }) {
298
308
  let parserMode = api.client?.parserMode ?? 'auto';
299
309
  if (parserMode === 'auto') {
300
310
  const contentType = res.headers.get('content-type');
@@ -319,20 +329,20 @@ export function createAPI(apiRequest, ctx) {
319
329
  }
320
330
  switch (parserMode) {
321
331
  case 'text':
322
- return textStreamResponse(api, res, performance);
332
+ return textStreamResponse({ api, componentData, res, performance });
323
333
  case 'json':
324
- return jsonResponse(api, res, performance);
334
+ return jsonResponse({ api, componentData, res, performance });
325
335
  case 'event-stream':
326
- return eventStreamingResponse(api, res, performance);
336
+ return eventStreamingResponse({ api, componentData, res, performance });
327
337
  case 'json-stream':
328
- return jsonStreamResponse(api, res, performance);
338
+ return jsonStreamResponse({ api, componentData, res, performance });
329
339
  case 'blob':
330
- return blobResponse(api, res, performance);
340
+ return blobResponse({ api, componentData, res, performance });
331
341
  default:
332
- return textStreamResponse(api, res, performance);
342
+ return textStreamResponse({ api, componentData, res, performance });
333
343
  }
334
344
  }
335
- function textStreamResponse(api, res, performance) {
345
+ function textStreamResponse({ api, res, performance, componentData, }) {
336
346
  return handleStreaming({
337
347
  api,
338
348
  res,
@@ -341,9 +351,10 @@ export function createAPI(apiRequest, ctx) {
341
351
  useTextDecoder: true,
342
352
  parseChunk: (chunk) => chunk,
343
353
  parseChunksForData: (chunks) => chunks.join(''),
354
+ componentData,
344
355
  });
345
356
  }
346
- function jsonStreamResponse(api, res, performance) {
357
+ function jsonStreamResponse({ api, res, performance, componentData, }) {
347
358
  const parseChunk = (chunk) => {
348
359
  let parsedData = chunk;
349
360
  try {
@@ -365,9 +376,10 @@ export function createAPI(apiRequest, ctx) {
365
376
  parseChunk,
366
377
  parseChunksForData: (chunks) => [...chunks],
367
378
  delimiters: ['\r\n', '\n'],
379
+ componentData,
368
380
  });
369
381
  }
370
- async function jsonResponse(api, res, performance) {
382
+ async function jsonResponse({ api, componentData, res, performance, }) {
371
383
  const body = await res.json();
372
384
  const status = {
373
385
  data: body,
@@ -378,9 +390,9 @@ export function createAPI(apiRequest, ctx) {
378
390
  headers: Object.fromEntries(res.headers.entries()),
379
391
  },
380
392
  };
381
- return endResponse(api, status, performance);
393
+ return endResponse({ api, apiStatus: status, componentData, performance });
382
394
  }
383
- async function blobResponse(api, res, performance) {
395
+ async function blobResponse({ api, componentData, res, performance, }) {
384
396
  const blob = await res.blob();
385
397
  const status = {
386
398
  isLoading: false,
@@ -391,9 +403,9 @@ export function createAPI(apiRequest, ctx) {
391
403
  headers: Object.fromEntries(res.headers.entries()),
392
404
  },
393
405
  };
394
- return endResponse(api, status, performance);
406
+ return endResponse({ api, apiStatus: status, componentData, performance });
395
407
  }
396
- function eventStreamingResponse(api, res, performance) {
408
+ function eventStreamingResponse({ api, res, performance, componentData, }) {
397
409
  const parseChunk = (chunk) => {
398
410
  const event = chunk.match(/event: (.*)/)?.[1] ?? 'message';
399
411
  const data = chunk.match(/data: (.*)/)?.[1] ?? '';
@@ -422,10 +434,11 @@ export function createAPI(apiRequest, ctx) {
422
434
  parseChunk,
423
435
  parseChunksForData: (chunks) => [...chunks],
424
436
  delimiters: ['\n\n', '\r\n\r\n'],
437
+ componentData,
425
438
  });
426
439
  }
427
- async function handleStreaming({ api, res, performance, streamType, useTextDecoder, parseChunk, parseChunksForData, delimiters, // There can be various delimiters for the same stream. SSE might use both \n\n and \r\n\r\n
428
- }) {
440
+ async function handleStreaming({ api, res, performance, streamType, useTextDecoder, parseChunk, parseChunksForData, delimiters, // There can be various delimiters for the same stream. SSE might use both \n\n and \r\n\r\n,
441
+ componentData, }) {
429
442
  const chunks = {
430
443
  chunks: [],
431
444
  currentChunk: '',
@@ -450,7 +463,12 @@ export function createAPI(apiRequest, ctx) {
450
463
  },
451
464
  });
452
465
  if ((api.client?.onMessage?.actions ?? []).length > 0) {
453
- triggerActions('message', api, { body: parsedChunk });
466
+ triggerActions({
467
+ eventName: 'message',
468
+ api,
469
+ data: { body: parsedChunk },
470
+ componentData,
471
+ });
454
472
  }
455
473
  }
456
474
  },
@@ -505,9 +523,9 @@ export function createAPI(apiRequest, ctx) {
505
523
  cause: chunks.chunks.join(''),
506
524
  });
507
525
  }
508
- return endResponse(api, status, performance);
526
+ return endResponse({ api, apiStatus: status, componentData, performance });
509
527
  }
510
- function endResponse(api, apiStatus, performance) {
528
+ function endResponse({ api, apiStatus, componentData, performance, }) {
511
529
  performance.responseEnd = Date.now();
512
530
  const data = {
513
531
  body: apiStatus.data,
@@ -524,7 +542,7 @@ export function createAPI(apiRequest, ctx) {
524
542
  status: data.status,
525
543
  headers: data.headers,
526
544
  },
527
- formulaContext: getFormulaContext(api),
545
+ formulaContext: getFormulaContext(api, componentData),
528
546
  errorFormula: api.isError,
529
547
  performance,
530
548
  });
@@ -532,12 +550,12 @@ export function createAPI(apiRequest, ctx) {
532
550
  if (!data.body && apiStatus.error) {
533
551
  data.body = apiStatus.error;
534
552
  }
535
- apiError(api, data, performance);
536
- triggerActions('failed', api, data);
553
+ apiError({ api, componentData, data, performance });
554
+ triggerActions({ eventName: 'failed', api, componentData, data });
537
555
  }
538
556
  else {
539
- apiSuccess(api, data, performance);
540
- triggerActions('success', api, data);
557
+ apiSuccess({ api, componentData, data, performance });
558
+ triggerActions({ eventName: 'success', api, componentData, data });
541
559
  }
542
560
  }
543
561
  function getApiForComparison(api) {
@@ -552,9 +570,9 @@ export function createAPI(apiRequest, ctx) {
552
570
  let payloadSignal;
553
571
  // eslint-disable-next-line prefer-const
554
572
  payloadSignal = ctx.dataSignal.map((_) => {
555
- const payloadContext = getFormulaContext(api);
573
+ const payloadContext = getFormulaContext(api, initialComponentData);
556
574
  return {
557
- request: constructRequest(api),
575
+ request: constructRequest(api, initialComponentData),
558
576
  api: getApiForComparison(api),
559
577
  autoFetch: api.autoFetch
560
578
  ? applyFormula(api.autoFetch, payloadContext)
@@ -563,7 +581,7 @@ export function createAPI(apiRequest, ctx) {
563
581
  };
564
582
  });
565
583
  payloadSignal.subscribe(async (_) => {
566
- const { url, requestSettings } = constructRequest(api);
584
+ const { url, requestSettings } = constructRequest(api, initialComponentData);
567
585
  // Ensure we only use caching if the page is currently loading
568
586
  const cacheMatch =
569
587
  // We lookup the API from cache as long as autofetch is defined (and not statically falsy)
@@ -575,32 +593,47 @@ export function createAPI(apiRequest, ctx) {
575
593
  : undefined;
576
594
  if (cacheMatch) {
577
595
  if (cacheMatch.error) {
578
- apiError(api, {
579
- body: cacheMatch.error,
580
- status: cacheMatch.response?.status,
581
- headers: cacheMatch.response?.headers ?? undefined,
582
- }, {
583
- requestStart: cacheMatch.response?.performance?.requestStart ?? null,
584
- responseStart: cacheMatch.response?.performance?.responseStart ?? null,
585
- responseEnd: cacheMatch.response?.performance?.responseEnd ?? null,
596
+ apiError({
597
+ api,
598
+ data: {
599
+ body: cacheMatch.error,
600
+ status: cacheMatch.response?.status,
601
+ headers: cacheMatch.response?.headers ?? undefined,
602
+ },
603
+ performance: {
604
+ requestStart: cacheMatch.response?.performance?.requestStart ?? null,
605
+ responseStart: cacheMatch.response?.performance?.responseStart ?? null,
606
+ responseEnd: cacheMatch.response?.performance?.responseEnd ?? null,
607
+ },
608
+ componentData: initialComponentData,
586
609
  });
587
610
  }
588
611
  else {
589
- apiSuccess(api, {
590
- body: cacheMatch.data,
591
- status: cacheMatch.response?.status,
592
- headers: cacheMatch.response?.headers ?? undefined,
593
- }, {
594
- requestStart: cacheMatch.response?.performance?.requestStart ?? null,
595
- responseStart: cacheMatch.response?.performance?.responseStart ?? null,
596
- responseEnd: cacheMatch.response?.performance?.responseEnd ?? null,
612
+ apiSuccess({
613
+ api,
614
+ data: {
615
+ body: cacheMatch.data,
616
+ status: cacheMatch.response?.status,
617
+ headers: cacheMatch.response?.headers ?? undefined,
618
+ },
619
+ performance: {
620
+ requestStart: cacheMatch.response?.performance?.requestStart ?? null,
621
+ responseStart: cacheMatch.response?.performance?.responseStart ?? null,
622
+ responseEnd: cacheMatch.response?.performance?.responseEnd ?? null,
623
+ },
624
+ componentData: initialComponentData,
597
625
  });
598
626
  }
599
627
  }
600
628
  else {
601
- if (applyFormula(api.autoFetch, getFormulaContext(api))) {
629
+ if (applyFormula(api.autoFetch, getFormulaContext(api, initialComponentData))) {
602
630
  // Execute will set the initial status of the api in the dataSignal
603
- await execute(api, url, requestSettings);
631
+ await execute({
632
+ api,
633
+ url,
634
+ requestSettings,
635
+ componentData: initialComponentData,
636
+ });
604
637
  }
605
638
  else {
606
639
  ctx.dataSignal.update((data) => {
@@ -620,7 +653,7 @@ export function createAPI(apiRequest, ctx) {
620
653
  }
621
654
  });
622
655
  return {
623
- fetch: ({ actionInputs, actionModels, }) => {
656
+ fetch: ({ actionInputs, actionModels, componentData }) => {
624
657
  // Inputs might already be evaluated. If they are we add them as a value formula to be evaluated later.
625
658
  const inputs = Object.entries(actionInputs ?? {}).reduce((acc, [inputName, input]) => {
626
659
  if (input !== null && typeof input === 'object' && 'formula' in input) {
@@ -662,37 +695,52 @@ export function createAPI(apiRequest, ctx) {
662
695
  },
663
696
  },
664
697
  };
665
- const { url, requestSettings } = constructRequest(apiWithInputsAndActions);
666
- return execute(apiWithInputsAndActions, url, requestSettings);
698
+ const { url, requestSettings } = constructRequest(apiWithInputsAndActions, componentData);
699
+ return execute({
700
+ api: apiWithInputsAndActions,
701
+ url,
702
+ requestSettings,
703
+ componentData,
704
+ });
667
705
  },
668
- update: (newApi) => {
706
+ update: (newApi, componentData) => {
669
707
  api = newApi;
670
- const updateContext = getFormulaContext(api);
708
+ const updateContext = getFormulaContext(api, componentData);
671
709
  const autoFetch = api.autoFetch && applyFormula(api.autoFetch, updateContext);
672
710
  if (autoFetch) {
673
711
  payloadSignal?.set({
674
- request: constructRequest(newApi),
712
+ request: constructRequest(newApi, componentData),
675
713
  api: getApiForComparison(newApi),
676
714
  autoFetch,
677
715
  proxy: applyFormula(newApi.server?.proxy?.enabled.formula, updateContext),
678
716
  });
679
717
  }
680
718
  },
681
- triggerActions: () => {
719
+ triggerActions: (componentData) => {
682
720
  const apiData = ctx.dataSignal.get().Apis?.[api.name];
683
721
  if (apiData === undefined ||
684
722
  (apiData.data === null && apiData.error === null)) {
685
723
  return;
686
724
  }
687
725
  if (apiData.error) {
688
- triggerActions('failed', api, {
689
- body: apiData.error,
690
- status: apiData.response?.status,
726
+ triggerActions({
727
+ eventName: 'failed',
728
+ api,
729
+ data: {
730
+ body: apiData.error,
731
+ status: apiData.response?.status,
732
+ },
733
+ componentData,
691
734
  });
692
735
  }
693
736
  else {
694
- triggerActions('success', api, {
695
- body: apiData.data,
737
+ triggerActions({
738
+ eventName: 'success',
739
+ api,
740
+ data: {
741
+ body: apiData.data,
742
+ },
743
+ componentData,
696
744
  });
697
745
  }
698
746
  },
@@ -1 +1 @@
1
- {"version":3,"file":"createAPIv2.js","sourceRoot":"","sources":["../../src/api/createAPIv2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAPIv2.js","sourceRoot":"","sources":["../../src/api/createAPIv2.ts"],"names":[],"mappings":"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"}