@voiceflow/common 8.4.0 → 8.6.0
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/build/cjs/utils/variables.d.ts +10 -4
- package/build/cjs/utils/variables.d.ts.map +1 -1
- package/build/cjs/utils/variables.js +6 -6
- package/build/esm/utils/variables.d.ts +10 -4
- package/build/esm/utils/variables.d.ts.map +1 -1
- package/build/esm/utils/variables.js +5 -5
- package/package.json +2 -2
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
export declare const variableReplacer: (match: string, inner: string, variables: Record<string, unknown>, modifier?: (variable: unknown) => unknown) => unknown;
|
|
2
|
-
export declare const splitVariableName: (inner: string
|
|
2
|
+
export declare const splitVariableName: (inner: string, options?: {
|
|
3
|
+
pathWithDotPrefix: boolean;
|
|
4
|
+
}) => {
|
|
3
5
|
id: string;
|
|
4
6
|
path: string;
|
|
5
7
|
};
|
|
6
|
-
export declare
|
|
8
|
+
export declare function replaceVariables(phrase: string | undefined | null, variables: Record<string, unknown>, modifier?: (variable: unknown) => unknown, options?: {
|
|
7
9
|
trim?: boolean;
|
|
8
|
-
keepTypeIfOnlyVariable?:
|
|
9
|
-
})
|
|
10
|
+
keepTypeIfOnlyVariable?: false;
|
|
11
|
+
}): string;
|
|
12
|
+
export declare function replaceVariables(phrase: string | undefined | null, variables: Record<string, unknown>, modifier?: (variable: unknown) => unknown, options?: {
|
|
13
|
+
trim?: boolean;
|
|
14
|
+
keepTypeIfOnlyVariable: true;
|
|
15
|
+
}): unknown;
|
|
10
16
|
export declare const sanitizeVariables: (variables: Record<string, unknown>) => Record<string, unknown>;
|
|
11
17
|
export declare const transformStringVariableToNumber: (str: string | number | null) => number | string | null;
|
|
12
18
|
export declare const deepVariableSubstitution: <T>(bodyData: T, variableMap: Record<string, unknown>) => T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/utils/variables.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,UACpB,MAAM,SACN,MAAM,aACF,OAAO,MAAM,EAAE,OAAO,CAAC,aACvB,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,KACxC,OAmBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/utils/variables.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,UACpB,MAAM,SACN,MAAM,aACF,OAAO,MAAM,EAAE,OAAO,CAAC,aACvB,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,KACxC,OAmBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACrB,MAAM,YACJ;IAAE,iBAAiB,EAAE,OAAO,CAAA;CAAE;;;CAiCxC,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,EACzC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,KAAK,CAAA;CAAE,GAC3D,MAAM,CAAC;AACV,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,EACzC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,sBAAsB,EAAE,IAAI,CAAA;CAAE,GACzD,OAAO,CAAC;AAuBX,eAAO,MAAM,iBAAiB,cAAe,OAAO,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,MAAM,EAAE,OAAO,CASrF,CAAC;AAET,eAAO,MAAM,+BAA+B,QAAS,MAAM,GAAG,MAAM,GAAG,IAAI,KAAG,MAAM,GAAG,MAAM,GAAG,IAY/F,CAAC;AAEF,eAAO,MAAM,wBAAwB,gBAAiB,CAAC,eAAe,OAAO,MAAM,EAAE,OAAO,CAAC,KAAG,CA2B/F,CAAC"}
|
|
@@ -26,7 +26,7 @@ const variableReplacer = (match, inner, variables, modifier) => {
|
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
28
|
exports.variableReplacer = variableReplacer;
|
|
29
|
-
const splitVariableName = (inner) => {
|
|
29
|
+
const splitVariableName = (inner, options = { pathWithDotPrefix: false }) => {
|
|
30
30
|
const firstDotIndex = inner.indexOf('.');
|
|
31
31
|
const firstSquareBracketIndex = inner.indexOf('[');
|
|
32
32
|
if (firstDotIndex === -1 && firstSquareBracketIndex === -1) {
|
|
@@ -35,7 +35,7 @@ const splitVariableName = (inner) => {
|
|
|
35
35
|
if (firstDotIndex !== -1 && firstSquareBracketIndex === -1) {
|
|
36
36
|
return {
|
|
37
37
|
id: inner.slice(0, firstDotIndex),
|
|
38
|
-
path: inner.slice(firstDotIndex + 1),
|
|
38
|
+
path: options.pathWithDotPrefix ? inner.slice(firstDotIndex) : inner.slice(firstDotIndex + 1),
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
if (firstDotIndex === -1 && firstSquareBracketIndex !== -1) {
|
|
@@ -47,7 +47,7 @@ const splitVariableName = (inner) => {
|
|
|
47
47
|
if (firstDotIndex < firstSquareBracketIndex) {
|
|
48
48
|
return {
|
|
49
49
|
id: inner.slice(0, firstDotIndex),
|
|
50
|
-
path: inner.slice(firstDotIndex + 1),
|
|
50
|
+
path: options.pathWithDotPrefix ? inner.slice(firstDotIndex) : inner.slice(firstDotIndex + 1),
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
return {
|
|
@@ -56,7 +56,7 @@ const splitVariableName = (inner) => {
|
|
|
56
56
|
};
|
|
57
57
|
};
|
|
58
58
|
exports.splitVariableName = splitVariableName;
|
|
59
|
-
|
|
59
|
+
function replaceVariables(phrase, variables, modifier = undefined, { trim = true, keepTypeIfOnlyVariable = false } = {}) {
|
|
60
60
|
if (!phrase || (trim && !phrase.trim())) {
|
|
61
61
|
return '';
|
|
62
62
|
}
|
|
@@ -66,7 +66,7 @@ const replaceVariables = (phrase, variables, modifier = undefined, { trim = true
|
|
|
66
66
|
return (0, exports.variableReplacer)(phrase, inner, variables, modifier);
|
|
67
67
|
}
|
|
68
68
|
return phrase.replace(constants_1.READABLE_VARIABLE_REGEXP, (match, inner) => String((0, exports.variableReplacer)(match, inner, variables, modifier)));
|
|
69
|
-
}
|
|
69
|
+
}
|
|
70
70
|
exports.replaceVariables = replaceVariables;
|
|
71
71
|
// turn float variables to 4 decimal places
|
|
72
72
|
const sanitizeVariables = (variables) => Object.entries(variables).reduce((acc, [key, value]) => {
|
|
@@ -96,7 +96,7 @@ const deepVariableSubstitution = (bodyData, variableMap) => {
|
|
|
96
96
|
return subCollection;
|
|
97
97
|
}
|
|
98
98
|
if (typeof subCollection === 'string') {
|
|
99
|
-
return
|
|
99
|
+
return replaceVariables(subCollection, variableMap, modifier);
|
|
100
100
|
}
|
|
101
101
|
if (Array.isArray(subCollection)) {
|
|
102
102
|
return subCollection.map((v) => _recurse(v, modifier));
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
export declare const variableReplacer: (match: string, inner: string, variables: Record<string, unknown>, modifier?: (variable: unknown) => unknown) => unknown;
|
|
2
|
-
export declare const splitVariableName: (inner: string
|
|
2
|
+
export declare const splitVariableName: (inner: string, options?: {
|
|
3
|
+
pathWithDotPrefix: boolean;
|
|
4
|
+
}) => {
|
|
3
5
|
id: string;
|
|
4
6
|
path: string;
|
|
5
7
|
};
|
|
6
|
-
export declare
|
|
8
|
+
export declare function replaceVariables(phrase: string | undefined | null, variables: Record<string, unknown>, modifier?: (variable: unknown) => unknown, options?: {
|
|
7
9
|
trim?: boolean;
|
|
8
|
-
keepTypeIfOnlyVariable?:
|
|
9
|
-
})
|
|
10
|
+
keepTypeIfOnlyVariable?: false;
|
|
11
|
+
}): string;
|
|
12
|
+
export declare function replaceVariables(phrase: string | undefined | null, variables: Record<string, unknown>, modifier?: (variable: unknown) => unknown, options?: {
|
|
13
|
+
trim?: boolean;
|
|
14
|
+
keepTypeIfOnlyVariable: true;
|
|
15
|
+
}): unknown;
|
|
10
16
|
export declare const sanitizeVariables: (variables: Record<string, unknown>) => Record<string, unknown>;
|
|
11
17
|
export declare const transformStringVariableToNumber: (str: string | number | null) => number | string | null;
|
|
12
18
|
export declare const deepVariableSubstitution: <T>(bodyData: T, variableMap: Record<string, unknown>) => T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/utils/variables.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,UACpB,MAAM,SACN,MAAM,aACF,OAAO,MAAM,EAAE,OAAO,CAAC,aACvB,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,KACxC,OAmBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/utils/variables.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,UACpB,MAAM,SACN,MAAM,aACF,OAAO,MAAM,EAAE,OAAO,CAAC,aACvB,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,KACxC,OAmBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACrB,MAAM,YACJ;IAAE,iBAAiB,EAAE,OAAO,CAAA;CAAE;;;CAiCxC,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,EACzC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,KAAK,CAAA;CAAE,GAC3D,MAAM,CAAC;AACV,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,EACzC,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,sBAAsB,EAAE,IAAI,CAAA;CAAE,GACzD,OAAO,CAAC;AAuBX,eAAO,MAAM,iBAAiB,cAAe,OAAO,MAAM,EAAE,OAAO,CAAC,KAAG,OAAO,MAAM,EAAE,OAAO,CASrF,CAAC;AAET,eAAO,MAAM,+BAA+B,QAAS,MAAM,GAAG,MAAM,GAAG,IAAI,KAAG,MAAM,GAAG,MAAM,GAAG,IAY/F,CAAC;AAEF,eAAO,MAAM,wBAAwB,gBAAiB,CAAC,eAAe,OAAO,MAAM,EAAE,OAAO,CAAC,KAAG,CA2B/F,CAAC"}
|
|
@@ -19,7 +19,7 @@ export const variableReplacer = (match, inner, variables, modifier) => {
|
|
|
19
19
|
throw err;
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
-
export const splitVariableName = (inner) => {
|
|
22
|
+
export const splitVariableName = (inner, options = { pathWithDotPrefix: false }) => {
|
|
23
23
|
const firstDotIndex = inner.indexOf('.');
|
|
24
24
|
const firstSquareBracketIndex = inner.indexOf('[');
|
|
25
25
|
if (firstDotIndex === -1 && firstSquareBracketIndex === -1) {
|
|
@@ -28,7 +28,7 @@ export const splitVariableName = (inner) => {
|
|
|
28
28
|
if (firstDotIndex !== -1 && firstSquareBracketIndex === -1) {
|
|
29
29
|
return {
|
|
30
30
|
id: inner.slice(0, firstDotIndex),
|
|
31
|
-
path: inner.slice(firstDotIndex + 1),
|
|
31
|
+
path: options.pathWithDotPrefix ? inner.slice(firstDotIndex) : inner.slice(firstDotIndex + 1),
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
if (firstDotIndex === -1 && firstSquareBracketIndex !== -1) {
|
|
@@ -40,7 +40,7 @@ export const splitVariableName = (inner) => {
|
|
|
40
40
|
if (firstDotIndex < firstSquareBracketIndex) {
|
|
41
41
|
return {
|
|
42
42
|
id: inner.slice(0, firstDotIndex),
|
|
43
|
-
path: inner.slice(firstDotIndex + 1),
|
|
43
|
+
path: options.pathWithDotPrefix ? inner.slice(firstDotIndex) : inner.slice(firstDotIndex + 1),
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
return {
|
|
@@ -48,7 +48,7 @@ export const splitVariableName = (inner) => {
|
|
|
48
48
|
path: inner.slice(firstSquareBracketIndex),
|
|
49
49
|
};
|
|
50
50
|
};
|
|
51
|
-
export
|
|
51
|
+
export function replaceVariables(phrase, variables, modifier = undefined, { trim = true, keepTypeIfOnlyVariable = false } = {}) {
|
|
52
52
|
if (!phrase || (trim && !phrase.trim())) {
|
|
53
53
|
return '';
|
|
54
54
|
}
|
|
@@ -58,7 +58,7 @@ export const replaceVariables = (phrase, variables, modifier = undefined, { trim
|
|
|
58
58
|
return variableReplacer(phrase, inner, variables, modifier);
|
|
59
59
|
}
|
|
60
60
|
return phrase.replace(READABLE_VARIABLE_REGEXP, (match, inner) => String(variableReplacer(match, inner, variables, modifier)));
|
|
61
|
-
}
|
|
61
|
+
}
|
|
62
62
|
// turn float variables to 4 decimal places
|
|
63
63
|
export const sanitizeVariables = (variables) => Object.entries(variables).reduce((acc, [key, value]) => {
|
|
64
64
|
if (typeof value === 'number' && !Number.isInteger(value)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voiceflow/common",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.6.0",
|
|
4
4
|
"description": "Junk drawer of utility functions",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"voiceflow"
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"publishConfig": {
|
|
61
61
|
"access": "public"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "c5d7f0f1969831489048b38c99e602383af4cf82"
|
|
64
64
|
}
|