@builder.io/sdk-react-native 5.0.1 → 5.1.1
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/commonjs/components/block/components/block-wrapper.js +8 -1
- package/lib/browser/commonjs/components/block/components/block-wrapper.js.map +1 -1
- package/lib/browser/commonjs/components/block/components/interactive-element.js +8 -1
- package/lib/browser/commonjs/components/block/components/interactive-element.js.map +1 -1
- package/lib/browser/commonjs/constants/sdk-version.js +1 -1
- package/lib/browser/commonjs/functions/evaluate/evaluate.js +3 -2
- package/lib/browser/commonjs/functions/evaluate/evaluate.js.map +1 -1
- package/lib/browser/commonjs/functions/evaluate/helpers.js +21 -2
- package/lib/browser/commonjs/functions/evaluate/helpers.js.map +1 -1
- package/lib/browser/commonjs/functions/evaluate/node-runtime/node-runtime.js +72 -68
- package/lib/browser/commonjs/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
- package/lib/browser/commonjs/functions/get-block-actions-handler.js +2 -1
- package/lib/browser/commonjs/functions/get-block-actions-handler.js.map +1 -1
- package/lib/browser/commonjs/functions/get-block-actions.js.map +1 -1
- package/lib/browser/module/components/block/components/block-wrapper.js +8 -1
- package/lib/browser/module/components/block/components/block-wrapper.js.map +1 -1
- package/lib/browser/module/components/block/components/interactive-element.js +8 -1
- package/lib/browser/module/components/block/components/interactive-element.js.map +1 -1
- package/lib/browser/module/constants/sdk-version.js +1 -1
- package/lib/browser/module/functions/evaluate/evaluate.js +3 -2
- package/lib/browser/module/functions/evaluate/evaluate.js.map +1 -1
- package/lib/browser/module/functions/evaluate/helpers.js +21 -2
- package/lib/browser/module/functions/evaluate/helpers.js.map +1 -1
- package/lib/browser/module/functions/evaluate/node-runtime/node-runtime.js +72 -68
- package/lib/browser/module/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
- package/lib/browser/module/functions/get-block-actions-handler.js +2 -1
- package/lib/browser/module/functions/get-block-actions-handler.js.map +1 -1
- package/lib/browser/module/functions/get-block-actions.js.map +1 -1
- package/lib/browser/typescript/components/block/components/block-wrapper.d.ts.map +1 -1
- package/lib/browser/typescript/components/block/components/interactive-element.d.ts.map +1 -1
- package/lib/browser/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/browser/typescript/functions/evaluate/evaluate.d.ts +1 -1
- package/lib/browser/typescript/functions/evaluate/evaluate.d.ts.map +1 -1
- package/lib/browser/typescript/functions/evaluate/helpers.d.ts +9 -1
- package/lib/browser/typescript/functions/evaluate/helpers.d.ts.map +1 -1
- package/lib/browser/typescript/functions/get-block-actions-handler.d.ts +2 -0
- package/lib/browser/typescript/functions/get-block-actions-handler.d.ts.map +1 -1
- package/lib/browser/typescript/functions/get-block-actions.d.ts +2 -0
- package/lib/browser/typescript/functions/get-block-actions.d.ts.map +1 -1
- package/lib/edge/commonjs/components/block/components/block-wrapper.js +8 -1
- package/lib/edge/commonjs/components/block/components/block-wrapper.js.map +1 -1
- package/lib/edge/commonjs/components/block/components/interactive-element.js +8 -1
- package/lib/edge/commonjs/components/block/components/interactive-element.js.map +1 -1
- package/lib/edge/commonjs/constants/sdk-version.js +1 -1
- package/lib/edge/commonjs/functions/evaluate/evaluate.js +3 -2
- package/lib/edge/commonjs/functions/evaluate/evaluate.js.map +1 -1
- package/lib/edge/commonjs/functions/evaluate/helpers.js +21 -2
- package/lib/edge/commonjs/functions/evaluate/helpers.js.map +1 -1
- package/lib/edge/commonjs/functions/evaluate/node-runtime/node-runtime.js +72 -68
- package/lib/edge/commonjs/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
- package/lib/edge/commonjs/functions/get-block-actions-handler.js +2 -1
- package/lib/edge/commonjs/functions/get-block-actions-handler.js.map +1 -1
- package/lib/edge/commonjs/functions/get-block-actions.js.map +1 -1
- package/lib/edge/module/components/block/components/block-wrapper.js +8 -1
- package/lib/edge/module/components/block/components/block-wrapper.js.map +1 -1
- package/lib/edge/module/components/block/components/interactive-element.js +8 -1
- package/lib/edge/module/components/block/components/interactive-element.js.map +1 -1
- package/lib/edge/module/constants/sdk-version.js +1 -1
- package/lib/edge/module/functions/evaluate/evaluate.js +3 -2
- package/lib/edge/module/functions/evaluate/evaluate.js.map +1 -1
- package/lib/edge/module/functions/evaluate/helpers.js +21 -2
- package/lib/edge/module/functions/evaluate/helpers.js.map +1 -1
- package/lib/edge/module/functions/evaluate/node-runtime/node-runtime.js +72 -68
- package/lib/edge/module/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
- package/lib/edge/module/functions/get-block-actions-handler.js +2 -1
- package/lib/edge/module/functions/get-block-actions-handler.js.map +1 -1
- package/lib/edge/module/functions/get-block-actions.js.map +1 -1
- package/lib/edge/typescript/components/block/components/block-wrapper.d.ts.map +1 -1
- package/lib/edge/typescript/components/block/components/interactive-element.d.ts.map +1 -1
- package/lib/edge/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/edge/typescript/functions/evaluate/evaluate.d.ts +1 -1
- package/lib/edge/typescript/functions/evaluate/evaluate.d.ts.map +1 -1
- package/lib/edge/typescript/functions/evaluate/helpers.d.ts +9 -1
- package/lib/edge/typescript/functions/evaluate/helpers.d.ts.map +1 -1
- package/lib/edge/typescript/functions/get-block-actions-handler.d.ts +2 -0
- package/lib/edge/typescript/functions/get-block-actions-handler.d.ts.map +1 -1
- package/lib/edge/typescript/functions/get-block-actions.d.ts +2 -0
- package/lib/edge/typescript/functions/get-block-actions.d.ts.map +1 -1
- package/lib/node/commonjs/components/block/components/block-wrapper.js +8 -1
- package/lib/node/commonjs/components/block/components/block-wrapper.js.map +1 -1
- package/lib/node/commonjs/components/block/components/interactive-element.js +8 -1
- package/lib/node/commonjs/components/block/components/interactive-element.js.map +1 -1
- package/lib/node/commonjs/constants/sdk-version.js +1 -1
- package/lib/node/commonjs/functions/evaluate/evaluate.js +3 -2
- package/lib/node/commonjs/functions/evaluate/evaluate.js.map +1 -1
- package/lib/node/commonjs/functions/evaluate/helpers.js +21 -2
- package/lib/node/commonjs/functions/evaluate/helpers.js.map +1 -1
- package/lib/node/commonjs/functions/evaluate/node-runtime/node-runtime.js +72 -68
- package/lib/node/commonjs/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
- package/lib/node/commonjs/functions/get-block-actions-handler.js +2 -1
- package/lib/node/commonjs/functions/get-block-actions-handler.js.map +1 -1
- package/lib/node/commonjs/functions/get-block-actions.js.map +1 -1
- package/lib/node/module/components/block/components/block-wrapper.js +8 -1
- package/lib/node/module/components/block/components/block-wrapper.js.map +1 -1
- package/lib/node/module/components/block/components/interactive-element.js +8 -1
- package/lib/node/module/components/block/components/interactive-element.js.map +1 -1
- package/lib/node/module/constants/sdk-version.js +1 -1
- package/lib/node/module/functions/evaluate/evaluate.js +3 -2
- package/lib/node/module/functions/evaluate/evaluate.js.map +1 -1
- package/lib/node/module/functions/evaluate/helpers.js +21 -2
- package/lib/node/module/functions/evaluate/helpers.js.map +1 -1
- package/lib/node/module/functions/evaluate/node-runtime/node-runtime.js +72 -68
- package/lib/node/module/functions/evaluate/node-runtime/node-runtime.js.map +1 -1
- package/lib/node/module/functions/get-block-actions-handler.js +2 -1
- package/lib/node/module/functions/get-block-actions-handler.js.map +1 -1
- package/lib/node/module/functions/get-block-actions.js.map +1 -1
- package/lib/node/typescript/components/block/components/block-wrapper.d.ts.map +1 -1
- package/lib/node/typescript/components/block/components/interactive-element.d.ts.map +1 -1
- package/lib/node/typescript/constants/sdk-version.d.ts +1 -1
- package/lib/node/typescript/functions/evaluate/evaluate.d.ts +1 -1
- package/lib/node/typescript/functions/evaluate/evaluate.d.ts.map +1 -1
- package/lib/node/typescript/functions/evaluate/helpers.d.ts +9 -1
- package/lib/node/typescript/functions/evaluate/helpers.d.ts.map +1 -1
- package/lib/node/typescript/functions/get-block-actions-handler.d.ts +2 -0
- package/lib/node/typescript/functions/get-block-actions-handler.d.ts.map +1 -1
- package/lib/node/typescript/functions/get-block-actions.d.ts +2 -0
- package/lib/node/typescript/functions/get-block-actions.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/block/components/block-wrapper.tsx +6 -0
- package/src/components/block/components/interactive-element.tsx +6 -0
- package/src/constants/sdk-version.ts +1 -1
- package/src/functions/evaluate/evaluate.ts +3 -2
- package/src/functions/evaluate/helpers.ts +29 -2
- package/src/functions/evaluate/node-runtime/node-runtime.ts +73 -69
- package/src/functions/get-block-actions-handler.ts +4 -1
- package/src/functions/get-block-actions.ts +2 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SDK_VERSION = "5.
|
|
1
|
+
export const SDK_VERSION = "5.1.1";
|
|
2
2
|
//# sourceMappingURL=sdk-version.js.map
|
|
@@ -25,7 +25,8 @@ export function evaluate({
|
|
|
25
25
|
rootState,
|
|
26
26
|
rootSetState,
|
|
27
27
|
event,
|
|
28
|
-
isExpression = true
|
|
28
|
+
isExpression = true,
|
|
29
|
+
trackingContext
|
|
29
30
|
}) {
|
|
30
31
|
if (code.trim() === '') {
|
|
31
32
|
return undefined;
|
|
@@ -48,7 +49,7 @@ export function evaluate({
|
|
|
48
49
|
code: parseCode(code, {
|
|
49
50
|
isExpression
|
|
50
51
|
}),
|
|
51
|
-
builder: getBuilderGlobals(),
|
|
52
|
+
builder: getBuilderGlobals(trackingContext),
|
|
52
53
|
context,
|
|
53
54
|
event,
|
|
54
55
|
rootSetState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","get","chooseBrowserOrServerEval","getBuilderGlobals","parseCode","STATE_GETTER_REGEX","VIRTUAL_INDEX_REGEX","getSimpleExpressionGetPath","code","_STATE_GETTER_REGEX$e","_VIRTUAL_INDEX_REGEX$","exec","trim","groups","getPath","slice","evaluate","context","localState","rootState","rootSetState","event","isExpression","undefined","args","builder","newEval","e","error","message"],"sourceRoot":"../../../../../src","sources":["functions/evaluate/evaluate.ts"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,GAAG;AACZ,SAASC,yBAAyB;AAElC,SAASC,iBAAiB,EAAEC,SAAS;AAGrC;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,oDAAoD;;AAE/E;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG,2GAA2G;AACvI,OAAO,MAAMC,0BAA0B,GAAIC,IAAY,IAAK;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EAC1D,OAAO,EAAAD,qBAAA,GAAAJ,kBAAkB,CAACM,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC,cAAAH,qBAAA,gBAAAA,qBAAA,GAApCA,qBAAA,CAAsCI,MAAM,cAAAJ,qBAAA,gBAAAA,qBAAA,GAA5CA,qBAAA,CAA8CK,OAAO,cAAAL,qBAAA,uBAArDA,qBAAA,CAAuDM,KAAK,CAAC,CAAC,CAAC,OAAAL,qBAAA,GAAIJ,mBAAmB,CAACK,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC,cAAAF,qBAAA,gBAAAA,qBAAA,GAArCA,qBAAA,CAAuCG,MAAM,cAAAH,qBAAA,gBAAAA,qBAAA,GAA7CA,qBAAA,CAA+CI,OAAO,cAAAJ,qBAAA,uBAAtDA,qBAAA,CAAwDK,KAAK,CAAC,CAAC,CAAC;AAC5I,CAAC;AACD,OAAO,SAASC,QAAQA,CAAC;EACvBR,IAAI;EACJS,OAAO;EACPC,UAAU;EACVC,SAAS;EACTC,YAAY;EACZC,KAAK;EACLC,YAAY,GAAG;
|
|
1
|
+
{"version":3,"names":["logger","get","chooseBrowserOrServerEval","getBuilderGlobals","parseCode","STATE_GETTER_REGEX","VIRTUAL_INDEX_REGEX","getSimpleExpressionGetPath","code","_STATE_GETTER_REGEX$e","_VIRTUAL_INDEX_REGEX$","exec","trim","groups","getPath","slice","evaluate","context","localState","rootState","rootSetState","event","isExpression","trackingContext","undefined","args","builder","newEval","e","error","message"],"sourceRoot":"../../../../../src","sources":["functions/evaluate/evaluate.ts"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,GAAG;AACZ,SAASC,yBAAyB;AAElC,SAASC,iBAAiB,EAAEC,SAAS;AAGrC;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,oDAAoD;;AAE/E;AACA;AACA;AACA;AACA,MAAMC,mBAAmB,GAAG,2GAA2G;AACvI,OAAO,MAAMC,0BAA0B,GAAIC,IAAY,IAAK;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EAC1D,OAAO,EAAAD,qBAAA,GAAAJ,kBAAkB,CAACM,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC,cAAAH,qBAAA,gBAAAA,qBAAA,GAApCA,qBAAA,CAAsCI,MAAM,cAAAJ,qBAAA,gBAAAA,qBAAA,GAA5CA,qBAAA,CAA8CK,OAAO,cAAAL,qBAAA,uBAArDA,qBAAA,CAAuDM,KAAK,CAAC,CAAC,CAAC,OAAAL,qBAAA,GAAIJ,mBAAmB,CAACK,IAAI,CAACH,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC,cAAAF,qBAAA,gBAAAA,qBAAA,GAArCA,qBAAA,CAAuCG,MAAM,cAAAH,qBAAA,gBAAAA,qBAAA,GAA7CA,qBAAA,CAA+CI,OAAO,cAAAJ,qBAAA,uBAAtDA,qBAAA,CAAwDK,KAAK,CAAC,CAAC,CAAC;AAC5I,CAAC;AACD,OAAO,SAASC,QAAQA,CAAC;EACvBR,IAAI;EACJS,OAAO;EACPC,UAAU;EACVC,SAAS;EACTC,YAAY;EACZC,KAAK;EACLC,YAAY,GAAG,IAAI;EACnBC;AACa,CAAC,EAAa;EAC3B,IAAIf,IAAI,CAACI,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IACtB,OAAOY,SAAS;EAClB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,MAAMV,OAAO,GAAGP,0BAA0B,CAACC,IAAI,CAACI,IAAI,CAAC,CAAC,CAAC;EACvD,IAAIE,OAAO,EAAE;IACX,OAAOb,GAAG,CAAC;MACT,GAAGkB,SAAS;MACZ,GAAGD;IACL,CAAC,EAAEJ,OAAO,CAAC;EACb;EACA,MAAMW,IAAkB,GAAG;IACzBjB,IAAI,EAAEJ,SAAS,CAACI,IAAI,EAAE;MACpBc;IACF,CAAC,CAAC;IACFI,OAAO,EAAEvB,iBAAiB,CAACoB,eAAe,CAAC;IAC3CN,OAAO;IACPI,KAAK;IACLD,YAAY;IACZD,SAAS;IACTD;EACF,CAAC;EACD,IAAI;IACF,MAAMS,OAAO,GAAGzB,yBAAyB,CAACuB,IAAI,CAAC;IAC/C,OAAOE,OAAO;EAChB,CAAC,CAAC,OAAOC,CAAM,EAAE;IACf5B,MAAM,CAAC6B,KAAK,CAAC,0BAA0B,GAAGD,CAAC,CAACE,OAAO,EAAE;MACnDtB;IACF,CAAC,CAAC;IACF,OAAOgB,SAAS;EAClB;AACF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isBrowser } from "../is-browser";
|
|
2
2
|
import { isEditing } from "../is-editing";
|
|
3
3
|
import { getUserAttributes } from "../track/helpers";
|
|
4
|
+
import { _track } from "../track/index";
|
|
4
5
|
export const getFunctionArguments = ({
|
|
5
6
|
builder,
|
|
6
7
|
context,
|
|
@@ -16,11 +17,29 @@ export const getFunctionArguments = ({
|
|
|
16
17
|
event
|
|
17
18
|
});
|
|
18
19
|
};
|
|
19
|
-
export const getBuilderGlobals =
|
|
20
|
+
export const getBuilderGlobals = trackingContext => ({
|
|
20
21
|
isEditing: isEditing(),
|
|
21
22
|
isBrowser: isBrowser(),
|
|
22
23
|
isServer: !isBrowser(),
|
|
23
|
-
getUserAttributes: () => getUserAttributes()
|
|
24
|
+
getUserAttributes: () => getUserAttributes(),
|
|
25
|
+
trackConversion: (amount, customProperties) => {
|
|
26
|
+
if (!(trackingContext !== null && trackingContext !== void 0 && trackingContext.apiKey) || (trackingContext === null || trackingContext === void 0 ? void 0 : trackingContext.canTrack) === false) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
_track({
|
|
30
|
+
type: 'conversion',
|
|
31
|
+
apiKey: trackingContext.apiKey,
|
|
32
|
+
canTrack: trackingContext.canTrack ?? true,
|
|
33
|
+
contentId: trackingContext.contentId,
|
|
34
|
+
variationId: trackingContext.variationId !== trackingContext.contentId ? trackingContext.variationId : undefined,
|
|
35
|
+
metadata: {
|
|
36
|
+
...(customProperties || {}),
|
|
37
|
+
...(amount !== undefined ? {
|
|
38
|
+
amount
|
|
39
|
+
} : {})
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
24
43
|
});
|
|
25
44
|
export const parseCode = (code, {
|
|
26
45
|
isExpression = true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isBrowser","isEditing","getUserAttributes","getFunctionArguments","builder","context","event","state","Object","entries","Builder","getBuilderGlobals","isServer","parseCode","code","isExpression","useReturn","includes","trim","startsWith","useCode","flattenState","rootState","localState","rootSetState","Proxy","get","target","prop","val","
|
|
1
|
+
{"version":3,"names":["isBrowser","isEditing","getUserAttributes","_track","getFunctionArguments","builder","context","event","state","Object","entries","Builder","getBuilderGlobals","trackingContext","isServer","trackConversion","amount","customProperties","apiKey","canTrack","type","contentId","variationId","undefined","metadata","parseCode","code","isExpression","useReturn","includes","trim","startsWith","useCode","flattenState","rootState","localState","rootSetState","Proxy","get","target","prop","val","subState","set","value","Error"],"sourceRoot":"../../../../../src","sources":["functions/evaluate/helpers.ts"],"mappings":"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"}
|
|
@@ -61,17 +61,23 @@ if (typeof output === 'object' && output !== null) {
|
|
|
61
61
|
`;
|
|
62
62
|
};
|
|
63
63
|
let IVM_INSTANCE = null;
|
|
64
|
-
|
|
64
|
+
// Create fresh isolates per request to prevent memory leaks
|
|
65
|
+
let IVM_OPTIONS = {
|
|
66
|
+
memoryLimit: 128
|
|
67
|
+
};
|
|
65
68
|
|
|
66
69
|
/**
|
|
67
70
|
* Set the `isolated-vm` instance to be used by the node runtime.
|
|
68
71
|
* This is useful for environments that are not able to rely on our
|
|
69
72
|
* `safeDynamicRequire` trick to import the `isolated-vm` package.
|
|
70
73
|
*/
|
|
71
|
-
export const setIvm = (ivm, options
|
|
74
|
+
export const setIvm = (ivm, options) => {
|
|
72
75
|
if (IVM_INSTANCE) return;
|
|
73
76
|
IVM_INSTANCE = ivm;
|
|
74
|
-
|
|
77
|
+
// Store options to be used per-request in runInNode
|
|
78
|
+
if (options) {
|
|
79
|
+
IVM_OPTIONS = options;
|
|
80
|
+
}
|
|
75
81
|
};
|
|
76
82
|
|
|
77
83
|
// only mention the script for SDKs that have it.
|
|
@@ -94,30 +100,6 @@ const getIvm = () => {
|
|
|
94
100
|
For more information, visit https://builder.io/c/docs/integration-tips#enabling-data-bindings-in-node-environments`;
|
|
95
101
|
throw new Error(ERROR_MESSAGE);
|
|
96
102
|
};
|
|
97
|
-
function setIsolateContext(options = {
|
|
98
|
-
memoryLimit: 128
|
|
99
|
-
}) {
|
|
100
|
-
if (IVM_CONTEXT) return IVM_CONTEXT;
|
|
101
|
-
const ivm = getIvm();
|
|
102
|
-
const isolate = new ivm.Isolate(options);
|
|
103
|
-
const context = isolate.createContextSync();
|
|
104
|
-
const jail = context.global;
|
|
105
|
-
|
|
106
|
-
// This makes the global object available in the context as `global`. We use `derefInto()` here
|
|
107
|
-
// because otherwise `global` would actually be a Reference{} object in the new isolate.
|
|
108
|
-
jail.setSync('global', jail.derefInto());
|
|
109
|
-
|
|
110
|
-
// We will create a basic `log` function for the new isolate to use.
|
|
111
|
-
jail.setSync('log', function (...logArgs) {
|
|
112
|
-
console.log(...logArgs);
|
|
113
|
-
});
|
|
114
|
-
jail.setSync(INJECTED_IVM_GLOBAL, ivm);
|
|
115
|
-
IVM_CONTEXT = context;
|
|
116
|
-
return context;
|
|
117
|
-
}
|
|
118
|
-
const getIsolateContext = () => {
|
|
119
|
-
return setIsolateContext();
|
|
120
|
-
};
|
|
121
103
|
export const runInNode = ({
|
|
122
104
|
code,
|
|
123
105
|
builder,
|
|
@@ -128,49 +110,71 @@ export const runInNode = ({
|
|
|
128
110
|
rootState
|
|
129
111
|
}) => {
|
|
130
112
|
const ivm = getIvm();
|
|
131
|
-
const state = fastClone({
|
|
132
|
-
...rootState,
|
|
133
|
-
...localState
|
|
134
|
-
});
|
|
135
|
-
const args = getFunctionArguments({
|
|
136
|
-
builder,
|
|
137
|
-
context,
|
|
138
|
-
event,
|
|
139
|
-
state
|
|
140
|
-
});
|
|
141
|
-
const isolateContext = getIsolateContext();
|
|
142
|
-
const jail = isolateContext.global;
|
|
143
113
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
*/
|
|
147
|
-
jail.setSync(BUILDER_SET_STATE_NAME, function (key, value) {
|
|
148
|
-
// mutate the `rootState` object itself. Important for cases where we do not have `rootSetState`
|
|
149
|
-
// like Qwik.
|
|
150
|
-
set(rootState, key, value);
|
|
151
|
-
// call the `rootSetState` function if it exists
|
|
152
|
-
rootSetState === null || rootSetState === void 0 || rootSetState(rootState);
|
|
153
|
-
});
|
|
154
|
-
args.forEach(([key, arg]) => {
|
|
155
|
-
const val = typeof arg === 'object' ? new ivm.Reference(
|
|
156
|
-
// workaround: methods with default values for arguments is not being cloned over
|
|
157
|
-
key === 'builder' ? {
|
|
158
|
-
...arg,
|
|
159
|
-
getUserAttributes: () => arg.getUserAttributes()
|
|
160
|
-
} : arg) : null;
|
|
161
|
-
jail.setSync(getSyncValName(key), val);
|
|
162
|
-
});
|
|
163
|
-
const evalStr = processCode({
|
|
164
|
-
code,
|
|
165
|
-
args
|
|
166
|
-
});
|
|
167
|
-
const resultStr = isolateContext.evalClosureSync(evalStr);
|
|
114
|
+
// Use stored options from setIvm, or default to { memoryLimit: 128 }
|
|
115
|
+
let isolate;
|
|
168
116
|
try {
|
|
169
|
-
|
|
170
|
-
const
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
117
|
+
isolate = new ivm.Isolate(IVM_OPTIONS);
|
|
118
|
+
const isolateContext = isolate.createContextSync();
|
|
119
|
+
const jail = isolateContext.global;
|
|
120
|
+
|
|
121
|
+
// Setup the isolate
|
|
122
|
+
jail.setSync('global', jail.derefInto());
|
|
123
|
+
jail.setSync('log', function (...logArgs) {
|
|
124
|
+
console.log(...logArgs);
|
|
125
|
+
});
|
|
126
|
+
jail.setSync(INJECTED_IVM_GLOBAL, ivm);
|
|
127
|
+
const state = fastClone({
|
|
128
|
+
...rootState,
|
|
129
|
+
...localState
|
|
130
|
+
});
|
|
131
|
+
const args = getFunctionArguments({
|
|
132
|
+
builder,
|
|
133
|
+
context,
|
|
134
|
+
event,
|
|
135
|
+
state
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Propagate state changes back to the reactive root state.
|
|
140
|
+
*/
|
|
141
|
+
jail.setSync(BUILDER_SET_STATE_NAME, function (key, value) {
|
|
142
|
+
// mutate the `rootState` object itself. Important for cases where we do not have `rootSetState`
|
|
143
|
+
// like Qwik.
|
|
144
|
+
set(rootState, key, value);
|
|
145
|
+
// call the `rootSetState` function if it exists
|
|
146
|
+
rootSetState === null || rootSetState === void 0 || rootSetState(rootState);
|
|
147
|
+
});
|
|
148
|
+
args.forEach(([key, arg]) => {
|
|
149
|
+
const val = typeof arg === 'object' ? new ivm.Reference(
|
|
150
|
+
// workaround: methods with default values for arguments is not being cloned over
|
|
151
|
+
key === 'builder' ? {
|
|
152
|
+
...arg,
|
|
153
|
+
getUserAttributes: () => arg.getUserAttributes()
|
|
154
|
+
} : arg) : null;
|
|
155
|
+
jail.setSync(getSyncValName(key), val);
|
|
156
|
+
});
|
|
157
|
+
const evalStr = processCode({
|
|
158
|
+
code,
|
|
159
|
+
args
|
|
160
|
+
});
|
|
161
|
+
const resultStr = isolateContext.evalClosureSync(evalStr);
|
|
162
|
+
try {
|
|
163
|
+
// returning objects throw errors in isolated vm, so we stringify it and parse it back
|
|
164
|
+
const res = JSON.parse(resultStr);
|
|
165
|
+
return res;
|
|
166
|
+
} catch (_error) {
|
|
167
|
+
return resultStr;
|
|
168
|
+
}
|
|
169
|
+
} finally {
|
|
170
|
+
// Destroy the entire VM, this frees ALL memory at the C++ level.
|
|
171
|
+
if (isolate) {
|
|
172
|
+
try {
|
|
173
|
+
isolate.dispose();
|
|
174
|
+
} catch (e) {
|
|
175
|
+
// Ignore disposal errors
|
|
176
|
+
}
|
|
177
|
+
}
|
|
174
178
|
}
|
|
175
179
|
};
|
|
176
180
|
//# sourceMappingURL=node-runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SDK_NAME","MSG_PREFIX","logger","fastClone","set","getFunctionArguments","safeDynamicRequire","getSyncValName","key","BUILDER_SET_STATE_NAME","INJECTED_IVM_GLOBAL","REF_TO_PROXY_FN","processCode","code","args","fnArgs","map","name","join","IVM_INSTANCE","
|
|
1
|
+
{"version":3,"names":["SDK_NAME","MSG_PREFIX","logger","fastClone","set","getFunctionArguments","safeDynamicRequire","getSyncValName","key","BUILDER_SET_STATE_NAME","INJECTED_IVM_GLOBAL","REF_TO_PROXY_FN","processCode","code","args","fnArgs","map","name","join","IVM_INSTANCE","IVM_OPTIONS","memoryLimit","setIvm","ivm","options","SHOULD_MENTION_INITIALIZE_SCRIPT","getIvm","dynRequiredIvm","error","ERROR_MESSAGE","Error","runInNode","builder","context","event","localState","rootSetState","rootState","isolate","Isolate","isolateContext","createContextSync","jail","global","setSync","derefInto","logArgs","console","log","state","value","forEach","arg","val","Reference","getUserAttributes","evalStr","resultStr","evalClosureSync","res","JSON","parse","_error","dispose","e"],"sourceRoot":"../../../../../../src","sources":["functions/evaluate/node-runtime/node-runtime.ts"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export const createEventHandler = (value, options) => event => evaluate({
|
|
|
6
6
|
rootState: options.rootState,
|
|
7
7
|
rootSetState: options.rootSetState,
|
|
8
8
|
event,
|
|
9
|
-
isExpression: false
|
|
9
|
+
isExpression: false,
|
|
10
|
+
trackingContext: options.trackingContext
|
|
10
11
|
});
|
|
11
12
|
//# sourceMappingURL=get-block-actions-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["evaluate","createEventHandler","value","options","event","code","context","localState","rootState","rootSetState","isExpression"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions-handler.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["evaluate","createEventHandler","value","options","event","code","context","localState","rootState","rootSetState","isExpression","trackingContext"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions-handler.ts"],"mappings":"AAGA,SAASA,QAAQ;AAMjB,OAAO,MAAMC,kBAAkB,GAAGA,CAACC,KAAa,EAAEC,OAAgB,KAAmBC,KAAK,IAAIJ,QAAQ,CAAC;EACrGK,IAAI,EAAEH,KAAK;EACXI,OAAO,EAAEH,OAAO,CAACG,OAAO;EACxBC,UAAU,EAAEJ,OAAO,CAACI,UAAU;EAC9BC,SAAS,EAAEL,OAAO,CAACK,SAAS;EAC5BC,YAAY,EAAEN,OAAO,CAACM,YAAY;EAClCL,KAAK;EACLM,YAAY,EAAE,KAAK;EACnBC,eAAe,EAAER,OAAO,CAACQ;AAC3B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TARGET","getEventHandlerName","createEventHandler","getBlockActions","options","obj","optionActions","block","actions","key","hasOwnProperty","value","eventHandlerName","stripPrefix","replace"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions.ts"],"mappings":"AAAA,SAASA,MAAM;
|
|
1
|
+
{"version":3,"names":["TARGET","getEventHandlerName","createEventHandler","getBlockActions","options","obj","optionActions","block","actions","key","hasOwnProperty","value","eventHandlerName","stripPrefix","replace"],"sourceRoot":"../../../../src","sources":["functions/get-block-actions.ts"],"mappings":"AAAA,SAASA,MAAM;AAIf,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAI3B,OAAO,SAASC,eAAeA,CAACC,OAI0D,EAAW;EACnG,MAAMC,GAAY,GAAG,CAAC,CAAC;EACvB,MAAMC,aAAa,GAAGF,OAAO,CAACG,KAAK,CAACC,OAAO,IAAI,CAAC,CAAC;EACjD,KAAK,MAAMC,GAAG,IAAIH,aAAa,EAAE;IAC/B;IACA,IAAI,CAACA,aAAa,CAACI,cAAc,CAACD,GAAG,CAAC,EAAE;MACtC;IACF;IACA,MAAME,KAAK,GAAGL,aAAa,CAACG,GAAG,CAAC;IAChC,IAAIG,gBAAgB,GAAGX,mBAAmB,CAACQ,GAAG,CAAC;IAC/C,IAAIL,OAAO,CAACS,WAAW,EAAE;MACvB,QAAQb,MAAM;QACZ,KAAK,KAAK;UACRY,gBAAgB,GAAGA,gBAAgB,CAACE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;UACxD;QACF,KAAK,QAAQ;UACXF,gBAAgB,GAAGA,gBAAgB,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;UACtD;MACJ;IACF;IACAT,GAAG,CAACO,gBAAgB,CAAC,GAAGV,kBAAkB,CAACS,KAAK,EAAEP,OAAO,CAAC;EAC5D;EACA,OAAOC,GAAG;AACZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../src/components/block/components/block-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,uBAAuB,CAAC;IACjC,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF;;GAEG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGjE,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"block-wrapper.d.ts","sourceRoot":"","sources":["../../../../../../src/components/block/components/block-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,uBAAuB,CAAC;IACjC,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF;;GAEG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGjE,iBAAS,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBA0B7C;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactive-element.d.ts","sourceRoot":"","sources":["../../../../../../src/components/block/components/interactive-element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,uBAAuB,CAAC;IACjC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAItE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"interactive-element.d.ts","sourceRoot":"","sources":["../../../../../../src/components/block/components/interactive-element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,GAAG,CAAC;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,uBAAuB,CAAC;IACjC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAItE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,qBA6DzD;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "5.
|
|
1
|
+
export declare const SDK_VERSION = "5.1.1";
|
|
2
2
|
//# sourceMappingURL=sdk-version.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EvaluatorArgs } from './helpers';
|
|
2
2
|
type EvalValue = unknown;
|
|
3
3
|
export declare const getSimpleExpressionGetPath: (code: string) => string;
|
|
4
|
-
export declare function evaluate({ code, context, localState, rootState, rootSetState, event, isExpression }: EvaluatorArgs): EvalValue;
|
|
4
|
+
export declare function evaluate({ code, context, localState, rootState, rootSetState, event, isExpression, trackingContext }: EvaluatorArgs): EvalValue;
|
|
5
5
|
export {};
|
|
6
6
|
//# sourceMappingURL=evaluate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../../../src/functions/evaluate/evaluate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAC;AAE7D,KAAK,SAAS,GAAG,OAAO,CAAC;AAczB,eAAO,MAAM,0BAA0B,SAAU,MAAM,WAEtD,CAAC;AACF,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,OAAO,EACP,UAAU,EACV,SAAS,EACT,YAAY,EACZ,KAAK,EACL,YAAmB,
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../../../src/functions/evaluate/evaluate.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAC;AAE7D,KAAK,SAAS,GAAG,OAAO,CAAC;AAczB,eAAO,MAAM,0BAA0B,SAAU,MAAM,WAEtD,CAAC;AACF,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,OAAO,EACP,UAAU,EACV,SAAS,EACT,YAAY,EACZ,KAAK,EACL,YAAmB,EACnB,eAAe,EAChB,EAAE,aAAa,GAAG,SAAS,CAsC3B"}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import type { BuilderContextInterface, BuilderRenderState } from '../../context/types';
|
|
2
2
|
import { getUserAttributes } from '../track/helpers';
|
|
3
|
+
export type TrackingContext = {
|
|
4
|
+
apiKey: string | null;
|
|
5
|
+
canTrack?: boolean;
|
|
6
|
+
contentId?: string;
|
|
7
|
+
variationId?: string;
|
|
8
|
+
};
|
|
3
9
|
export type EvaluatorArgs = Omit<ExecutorArgs, 'builder' | 'event'> & {
|
|
4
10
|
event?: Event;
|
|
5
11
|
isExpression?: boolean;
|
|
12
|
+
trackingContext?: TrackingContext;
|
|
6
13
|
};
|
|
7
14
|
export type BuilderGlobals = {
|
|
8
15
|
isEditing: boolean | undefined;
|
|
9
16
|
isBrowser: boolean | undefined;
|
|
10
17
|
isServer: boolean | undefined;
|
|
11
18
|
getUserAttributes: typeof getUserAttributes;
|
|
19
|
+
trackConversion: (amount?: number, customProperties?: Record<string, any>) => void;
|
|
12
20
|
};
|
|
13
21
|
export type ExecutorArgs = Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'> & {
|
|
14
22
|
code: string;
|
|
@@ -20,7 +28,7 @@ export type FunctionArguments = ReturnType<typeof getFunctionArguments>;
|
|
|
20
28
|
export declare const getFunctionArguments: ({ builder, context, event, state }: Pick<ExecutorArgs, "context" | "builder" | "event"> & {
|
|
21
29
|
state: BuilderRenderState;
|
|
22
30
|
}) => [string, Event | BuilderRenderState | import("../../context/types").BuilderRenderContext | BuilderGlobals][];
|
|
23
|
-
export declare const getBuilderGlobals: () => BuilderGlobals;
|
|
31
|
+
export declare const getBuilderGlobals: (trackingContext?: TrackingContext) => BuilderGlobals;
|
|
24
32
|
export declare const parseCode: (code: string, { isExpression }: Pick<EvaluatorArgs, 'isExpression'>) => string;
|
|
25
33
|
export declare function flattenState({ rootState, localState, rootSetState }: {
|
|
26
34
|
rootState: Record<string | symbol, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/functions/evaluate/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/functions/evaluate/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG;IACpE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;CACpF,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,EAAE,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC,GAAG;IAClH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,GAAG,CAAC;AACnD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACxE,eAAO,MAAM,oBAAoB;WAMxB,kBAAkB;kHAU1B,CAAC;AACF,eAAO,MAAM,iBAAiB,qBAAsB,eAAe,KAAG,cAuBpE,CAAC;AACH,eAAO,MAAM,SAAS,SAAU,MAAM,oBAEnC,KAAK,aAAa,EAAE,cAAc,CAAC,WAQrC,CAAC;AACF,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,UAAU,EACV,YAAY,EACb,EAAE;IACD,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IACrD,YAAY,EAAE,CAAC,CAAC,SAAS,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACrE,GAAG,kBAAkB,CA4BrB"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { BuilderContextInterface } from '../context/types';
|
|
2
2
|
import type { BuilderBlock } from '../types/builder-block';
|
|
3
|
+
import type { TrackingContext } from './evaluate/helpers';
|
|
3
4
|
type Options = {
|
|
4
5
|
block: BuilderBlock;
|
|
6
|
+
trackingContext?: TrackingContext;
|
|
5
7
|
} & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>;
|
|
6
8
|
type EventHandler = (event: Event) => any;
|
|
7
9
|
export declare const createEventHandler: (value: string, options: Options) => EventHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-block-actions-handler.d.ts","sourceRoot":"","sources":["../../../../src/functions/get-block-actions-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-block-actions-handler.d.ts","sourceRoot":"","sources":["../../../../src/functions/get-block-actions-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,GAAG,IAAI,CAAC,uBAAuB,EAAE,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC,CAAC;AAC3F,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;AAC1C,eAAO,MAAM,kBAAkB,UAAW,MAAM,WAAW,OAAO,KAAG,YASnE,CAAA"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { BuilderContextInterface } from '../context/types';
|
|
2
2
|
import type { BuilderBlock } from '../types/builder-block';
|
|
3
|
+
import type { TrackingContext } from './evaluate/helpers';
|
|
3
4
|
type Actions = {
|
|
4
5
|
[index: string]: (event: Event) => any;
|
|
5
6
|
};
|
|
6
7
|
export declare function getBlockActions(options: {
|
|
7
8
|
block: BuilderBlock;
|
|
8
9
|
stripPrefix?: boolean;
|
|
10
|
+
trackingContext?: TrackingContext;
|
|
9
11
|
} & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>): Actions;
|
|
10
12
|
export {};
|
|
11
13
|
//# sourceMappingURL=get-block-actions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-block-actions.d.ts","sourceRoot":"","sources":["../../../../src/functions/get-block-actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-block-actions.d.ts","sourceRoot":"","sources":["../../../../src/functions/get-block-actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,KAAK,OAAO,GAAG;IACb,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;CACxC,CAAC;AACF,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,GAAG,IAAI,CAAC,uBAAuB,EAAE,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC,GAAG,OAAO,CAuBnG"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@builder.io/sdk-react-native",
|
|
3
3
|
"description": "Builder.io SDK for React Native",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.1.1",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/builder/tree/main/packages/sdks/output/react-native",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -33,6 +33,12 @@ function BlockWrapper(props: BlockWrapperProps) {
|
|
|
33
33
|
localState: props.context.localState,
|
|
34
34
|
context: props.context.context,
|
|
35
35
|
stripPrefix: true,
|
|
36
|
+
trackingContext: {
|
|
37
|
+
apiKey: props.context.apiKey,
|
|
38
|
+
canTrack: props.context.canTrack ?? true,
|
|
39
|
+
contentId: props.context.content?.id,
|
|
40
|
+
variationId: props.context.content?.testVariationId,
|
|
41
|
+
},
|
|
36
42
|
})}
|
|
37
43
|
>
|
|
38
44
|
{props.children}
|
|
@@ -36,6 +36,12 @@ function InteractiveElement(props: InteractiveElementProps) {
|
|
|
36
36
|
rootSetState: props.context.rootSetState,
|
|
37
37
|
localState: props.context.localState,
|
|
38
38
|
context: props.context.context,
|
|
39
|
+
trackingContext: {
|
|
40
|
+
apiKey: props.context.apiKey,
|
|
41
|
+
canTrack: props.context.canTrack ?? true,
|
|
42
|
+
contentId: props.context.content?.id,
|
|
43
|
+
variationId: props.context.content?.testVariationId,
|
|
44
|
+
},
|
|
39
45
|
}),
|
|
40
46
|
}
|
|
41
47
|
: {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = "5.
|
|
1
|
+
export const SDK_VERSION = "5.1.1"
|
|
@@ -27,7 +27,8 @@ export function evaluate({
|
|
|
27
27
|
rootState,
|
|
28
28
|
rootSetState,
|
|
29
29
|
event,
|
|
30
|
-
isExpression = true
|
|
30
|
+
isExpression = true,
|
|
31
|
+
trackingContext
|
|
31
32
|
}: EvaluatorArgs): EvalValue {
|
|
32
33
|
if (code.trim() === '') {
|
|
33
34
|
return undefined;
|
|
@@ -50,7 +51,7 @@ export function evaluate({
|
|
|
50
51
|
code: parseCode(code, {
|
|
51
52
|
isExpression
|
|
52
53
|
}),
|
|
53
|
-
builder: getBuilderGlobals(),
|
|
54
|
+
builder: getBuilderGlobals(trackingContext),
|
|
54
55
|
context,
|
|
55
56
|
event,
|
|
56
57
|
rootSetState,
|
|
@@ -2,15 +2,24 @@ import type { BuilderContextInterface, BuilderRenderState } from '../../context/
|
|
|
2
2
|
import { isBrowser } from '../is-browser';
|
|
3
3
|
import { isEditing } from '../is-editing';
|
|
4
4
|
import { getUserAttributes } from '../track/helpers';
|
|
5
|
+
import { _track } from '../track/index';
|
|
6
|
+
export type TrackingContext = {
|
|
7
|
+
apiKey: string | null;
|
|
8
|
+
canTrack?: boolean;
|
|
9
|
+
contentId?: string;
|
|
10
|
+
variationId?: string;
|
|
11
|
+
};
|
|
5
12
|
export type EvaluatorArgs = Omit<ExecutorArgs, 'builder' | 'event'> & {
|
|
6
13
|
event?: Event;
|
|
7
14
|
isExpression?: boolean;
|
|
15
|
+
trackingContext?: TrackingContext;
|
|
8
16
|
};
|
|
9
17
|
export type BuilderGlobals = {
|
|
10
18
|
isEditing: boolean | undefined;
|
|
11
19
|
isBrowser: boolean | undefined;
|
|
12
20
|
isServer: boolean | undefined;
|
|
13
21
|
getUserAttributes: typeof getUserAttributes;
|
|
22
|
+
trackConversion: (amount?: number, customProperties?: Record<string, any>) => void;
|
|
14
23
|
};
|
|
15
24
|
export type ExecutorArgs = Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'> & {
|
|
16
25
|
code: string;
|
|
@@ -36,11 +45,29 @@ export const getFunctionArguments = ({
|
|
|
36
45
|
event
|
|
37
46
|
});
|
|
38
47
|
};
|
|
39
|
-
export const getBuilderGlobals = (): BuilderGlobals => ({
|
|
48
|
+
export const getBuilderGlobals = (trackingContext?: TrackingContext): BuilderGlobals => ({
|
|
40
49
|
isEditing: isEditing(),
|
|
41
50
|
isBrowser: isBrowser(),
|
|
42
51
|
isServer: !isBrowser(),
|
|
43
|
-
getUserAttributes: () => getUserAttributes()
|
|
52
|
+
getUserAttributes: () => getUserAttributes(),
|
|
53
|
+
trackConversion: (amount?: number, customProperties?: Record<string, any>) => {
|
|
54
|
+
if (!trackingContext?.apiKey || trackingContext?.canTrack === false) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
_track({
|
|
58
|
+
type: 'conversion',
|
|
59
|
+
apiKey: trackingContext.apiKey,
|
|
60
|
+
canTrack: trackingContext.canTrack ?? true,
|
|
61
|
+
contentId: trackingContext.contentId,
|
|
62
|
+
variationId: trackingContext.variationId !== trackingContext.contentId ? trackingContext.variationId : undefined,
|
|
63
|
+
metadata: {
|
|
64
|
+
...(customProperties || {}),
|
|
65
|
+
...(amount !== undefined ? {
|
|
66
|
+
amount
|
|
67
|
+
} : {})
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
44
71
|
});
|
|
45
72
|
export const parseCode = (code: string, {
|
|
46
73
|
isExpression = true
|