@builder.io/sdk-svelte 1.0.8 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/blocks/BaseText.svelte +1 -3
- package/lib/browser/blocks/button/button.svelte +2 -3
- package/lib/browser/blocks/columns/columns.svelte +3 -5
- package/lib/browser/blocks/form/form/form.svelte +5 -7
- package/lib/browser/blocks/form/submit-button/submit-button.svelte +2 -4
- package/lib/browser/blocks/image/image.svelte +5 -8
- package/lib/browser/blocks/video/video.svelte +2 -5
- package/lib/browser/components/block/block.helpers.d.ts +4 -0
- package/lib/browser/components/block/block.helpers.js +14 -1
- package/lib/browser/components/block/block.svelte +4 -10
- package/lib/browser/components/block/components/block-wrapper.svelte +2 -4
- package/lib/browser/components/block/components/interactive-element.svelte +2 -4
- package/lib/browser/components/blocks/blocks-wrapper.svelte +1 -3
- package/lib/browser/components/blocks/blocks.svelte +2 -2
- package/lib/browser/components/content/components/enable-editor.svelte +8 -5
- package/lib/browser/components/content/content.svelte +3 -5
- package/lib/browser/components/content-variants/content-variants.svelte +0 -2
- package/lib/browser/components/dynamic-renderer/dynamic-renderer.svelte +4 -6
- package/lib/browser/constants/sdk-version.d.ts +1 -1
- package/lib/browser/constants/sdk-version.js +1 -1
- package/lib/browser/functions/evaluate/browser-runtime/browser.js +1 -1
- package/lib/browser/functions/evaluate/evaluate.d.ts +3 -1
- package/lib/browser/functions/evaluate/evaluate.js +39 -3
- package/lib/browser/functions/evaluate/helpers.d.ts +1 -0
- package/lib/browser/functions/get-block-actions-handler.js +2 -1
- package/lib/browser/functions/get-processed-block.js +2 -1
- package/lib/edge/blocks/BaseText.svelte +1 -3
- package/lib/edge/blocks/button/button.svelte +2 -3
- package/lib/edge/blocks/columns/columns.svelte +3 -5
- package/lib/edge/blocks/form/form/form.svelte +5 -7
- package/lib/edge/blocks/form/submit-button/submit-button.svelte +2 -4
- package/lib/edge/blocks/image/image.svelte +5 -8
- package/lib/edge/blocks/video/video.svelte +2 -5
- package/lib/edge/components/block/block.helpers.d.ts +4 -0
- package/lib/edge/components/block/block.helpers.js +14 -1
- package/lib/edge/components/block/block.svelte +4 -10
- package/lib/edge/components/block/components/block-wrapper.svelte +2 -4
- package/lib/edge/components/block/components/interactive-element.svelte +2 -4
- package/lib/edge/components/blocks/blocks-wrapper.svelte +1 -3
- package/lib/edge/components/blocks/blocks.svelte +2 -2
- package/lib/edge/components/content/components/enable-editor.svelte +8 -5
- package/lib/edge/components/content/content.svelte +3 -5
- package/lib/edge/components/content-variants/content-variants.svelte +0 -2
- package/lib/edge/components/dynamic-renderer/dynamic-renderer.svelte +4 -6
- package/lib/edge/constants/sdk-version.d.ts +1 -1
- package/lib/edge/constants/sdk-version.js +1 -1
- package/lib/edge/functions/evaluate/browser-runtime/browser.js +1 -1
- package/lib/edge/functions/evaluate/evaluate.d.ts +3 -1
- package/lib/edge/functions/evaluate/evaluate.js +39 -3
- package/lib/edge/functions/evaluate/helpers.d.ts +1 -0
- package/lib/edge/functions/get-block-actions-handler.js +2 -1
- package/lib/edge/functions/get-processed-block.js +2 -1
- package/lib/node/blocks/BaseText.svelte +1 -3
- package/lib/node/blocks/button/button.svelte +2 -3
- package/lib/node/blocks/columns/columns.svelte +3 -5
- package/lib/node/blocks/form/form/form.svelte +5 -7
- package/lib/node/blocks/form/submit-button/submit-button.svelte +2 -4
- package/lib/node/blocks/image/image.svelte +5 -8
- package/lib/node/blocks/video/video.svelte +2 -5
- package/lib/node/components/block/block.helpers.d.ts +4 -0
- package/lib/node/components/block/block.helpers.js +14 -1
- package/lib/node/components/block/block.svelte +4 -10
- package/lib/node/components/block/components/block-wrapper.svelte +2 -4
- package/lib/node/components/block/components/interactive-element.svelte +2 -4
- package/lib/node/components/blocks/blocks-wrapper.svelte +1 -3
- package/lib/node/components/blocks/blocks.svelte +2 -2
- package/lib/node/components/content/components/enable-editor.svelte +8 -5
- package/lib/node/components/content/content.svelte +3 -5
- package/lib/node/components/content-variants/content-variants.svelte +0 -2
- package/lib/node/components/dynamic-renderer/dynamic-renderer.svelte +4 -6
- package/lib/node/constants/sdk-version.d.ts +1 -1
- package/lib/node/constants/sdk-version.js +1 -1
- package/lib/node/functions/evaluate/browser-runtime/browser.js +1 -1
- package/lib/node/functions/evaluate/evaluate.d.ts +3 -1
- package/lib/node/functions/evaluate/evaluate.js +39 -3
- package/lib/node/functions/evaluate/helpers.d.ts +1 -0
- package/lib/node/functions/get-block-actions-handler.js +2 -1
- package/lib/node/functions/get-processed-block.js +2 -1
- package/package.json +1 -1
- package/src/blocks/BaseText.svelte +1 -3
- package/src/blocks/button/button.svelte +2 -3
- package/src/blocks/columns/columns.svelte +3 -5
- package/src/blocks/form/form/form.svelte +5 -7
- package/src/blocks/form/submit-button/submit-button.svelte +2 -4
- package/src/blocks/image/image.svelte +5 -8
- package/src/blocks/video/video.svelte +2 -5
- package/src/components/block/block.helpers.ts +20 -1
- package/src/components/block/block.svelte +8 -11
- package/src/components/block/components/block-wrapper.svelte +2 -4
- package/src/components/block/components/interactive-element.svelte +2 -4
- package/src/components/blocks/blocks-wrapper.svelte +1 -3
- package/src/components/blocks/blocks.svelte +2 -2
- package/src/components/content/components/enable-editor.svelte +21 -10
- package/src/components/content/content.svelte +3 -5
- package/src/components/content-variants/content-variants.svelte +0 -2
- package/src/components/dynamic-renderer/dynamic-renderer.svelte +4 -6
- package/src/constants/sdk-version.ts +1 -1
- package/src/functions/evaluate/browser-runtime/browser.ts +1 -1
- package/src/functions/evaluate/evaluate.ts +44 -4
- package/src/functions/evaluate/helpers.ts +1 -0
- package/src/functions/get-block-actions-handler.ts +2 -1
- package/src/functions/get-processed-block.ts +2 -1
|
@@ -95,7 +95,6 @@
|
|
|
95
95
|
id={`variants-styles-${content?.id}`}
|
|
96
96
|
styles={hideVariantsStyleString()}
|
|
97
97
|
/>
|
|
98
|
-
|
|
99
98
|
<InlinedScript scriptStr={updateCookieAndStylesScriptStr()} />
|
|
100
99
|
|
|
101
100
|
{#each getVariants(content) as variant (variant.testVariationId)}
|
|
@@ -121,7 +120,6 @@
|
|
|
121
120
|
/>
|
|
122
121
|
{/each}
|
|
123
122
|
{/if}
|
|
124
|
-
|
|
125
123
|
<ContentComponent
|
|
126
124
|
{...{}}
|
|
127
125
|
content={defaultContent()}
|
|
@@ -21,14 +21,12 @@
|
|
|
21
21
|
<svelte:element
|
|
22
22
|
this={TagName}
|
|
23
23
|
{...attributes}
|
|
24
|
-
use:setAttrs={actionAttributes}
|
|
24
|
+
use:setAttrs={actionAttributes}><slot /></svelte:element
|
|
25
25
|
>
|
|
26
|
-
<slot />
|
|
27
|
-
</svelte:element>
|
|
28
26
|
{:else}
|
|
29
|
-
<svelte:component this={TagName} {...attributes} {...actionAttributes}
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
<svelte:component this={TagName} {...attributes} {...actionAttributes}
|
|
28
|
+
><slot /></svelte:component
|
|
29
|
+
>
|
|
32
30
|
{/if}
|
|
33
31
|
{:else}
|
|
34
32
|
<svelte:element
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = "1.0.
|
|
1
|
+
export const SDK_VERSION = "1.0.12"
|
|
@@ -2,6 +2,33 @@ import { logger } from '../../helpers/logger.js';
|
|
|
2
2
|
import { chooseBrowserOrServerEval } from './choose-eval.js';
|
|
3
3
|
import type { EvaluatorArgs, ExecutorArgs } from './helpers.js';
|
|
4
4
|
import { getBuilderGlobals, parseCode } from './helpers.js';
|
|
5
|
+
type EvalValue = unknown;
|
|
6
|
+
class EvalCache {
|
|
7
|
+
static cacheLimit = 20;
|
|
8
|
+
static cache = new Map<string, {
|
|
9
|
+
value: EvalValue;
|
|
10
|
+
} | undefined>();
|
|
11
|
+
static getCacheKey(args: ExecutorArgs) {
|
|
12
|
+
return JSON.stringify({
|
|
13
|
+
...args,
|
|
14
|
+
// replace the event with a random number to break cache
|
|
15
|
+
// thats because we can't serialize the event object due to circular refs in DOM node refs.
|
|
16
|
+
event: args.event ? Math.random() : undefined
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
static getCachedValue(key: string) {
|
|
20
|
+
const cachedVal = EvalCache.cache.get(key);
|
|
21
|
+
return cachedVal;
|
|
22
|
+
}
|
|
23
|
+
static setCachedValue(key: string, value: EvalValue) {
|
|
24
|
+
if (EvalCache.cache.size > 20) {
|
|
25
|
+
EvalCache.cache.delete(EvalCache.cache.keys().next().value);
|
|
26
|
+
}
|
|
27
|
+
EvalCache.cache.set(key, {
|
|
28
|
+
value
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
5
32
|
export function evaluate({
|
|
6
33
|
code,
|
|
7
34
|
context,
|
|
@@ -9,11 +36,12 @@ export function evaluate({
|
|
|
9
36
|
rootState,
|
|
10
37
|
rootSetState,
|
|
11
38
|
event,
|
|
12
|
-
isExpression = true
|
|
13
|
-
|
|
39
|
+
isExpression = true,
|
|
40
|
+
enableCache
|
|
41
|
+
}: EvaluatorArgs): EvalValue {
|
|
14
42
|
if (code === '') {
|
|
15
43
|
logger.warn('Skipping evaluation of empty code block.');
|
|
16
|
-
return;
|
|
44
|
+
return undefined;
|
|
17
45
|
}
|
|
18
46
|
const args: ExecutorArgs = {
|
|
19
47
|
code: parseCode(code, {
|
|
@@ -26,8 +54,20 @@ export function evaluate({
|
|
|
26
54
|
rootState,
|
|
27
55
|
localState
|
|
28
56
|
};
|
|
57
|
+
if (enableCache) {
|
|
58
|
+
const cacheKey = EvalCache.getCacheKey(args);
|
|
59
|
+
const cachedValue = EvalCache.getCachedValue(cacheKey);
|
|
60
|
+
if (cachedValue) {
|
|
61
|
+
return cachedValue.value;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
29
64
|
try {
|
|
30
|
-
|
|
65
|
+
const newEval = chooseBrowserOrServerEval(args);
|
|
66
|
+
if (enableCache) {
|
|
67
|
+
const cacheKey = EvalCache.getCacheKey(args);
|
|
68
|
+
EvalCache.setCachedValue(cacheKey, newEval);
|
|
69
|
+
}
|
|
70
|
+
return newEval;
|
|
31
71
|
} catch (e: any) {
|
|
32
72
|
logger.error('Failed code evaluation: ' + e.message, {
|
|
33
73
|
code
|
|
@@ -5,6 +5,7 @@ import { getUserAttributes } from '../track/helpers.js';
|
|
|
5
5
|
export type EvaluatorArgs = Omit<ExecutorArgs, 'builder' | 'event'> & {
|
|
6
6
|
event?: Event;
|
|
7
7
|
isExpression?: boolean;
|
|
8
|
+
enableCache: boolean;
|
|
8
9
|
};
|
|
9
10
|
export type BuilderGlobals = {
|
|
10
11
|
isEditing: boolean | undefined;
|