@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.
@@ -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 const replaceVariables: (phrase: string | undefined | null, variables: Record<string, unknown>, modifier?: ((variable: unknown) => unknown) | undefined, { trim, keepTypeIfOnlyVariable }?: {
8
+ export declare function replaceVariables(phrase: string | undefined | null, variables: Record<string, unknown>, modifier?: (variable: unknown) => unknown, options?: {
7
9
  trim?: boolean;
8
- keepTypeIfOnlyVariable?: boolean;
9
- }) => string | unknown;
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,UAAW,MAAM;;;CAgC9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,WACnB,MAAM,GAAG,SAAS,GAAG,IAAI,aACtB,OAAO,MAAM,EAAE,OAAO,CAAC,aACxB,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,SAAS,qCACL;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,KACpG,MAAM,GAAG,OAcX,CAAC;AAGF,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"}
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), // skip the dot
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), // skip the dot
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
- const replaceVariables = (phrase, variables, modifier = undefined, { trim = true, keepTypeIfOnlyVariable = false } = {}) => {
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 (0, exports.replaceVariables)(subCollection, variableMap, modifier);
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 const replaceVariables: (phrase: string | undefined | null, variables: Record<string, unknown>, modifier?: ((variable: unknown) => unknown) | undefined, { trim, keepTypeIfOnlyVariable }?: {
8
+ export declare function replaceVariables(phrase: string | undefined | null, variables: Record<string, unknown>, modifier?: (variable: unknown) => unknown, options?: {
7
9
  trim?: boolean;
8
- keepTypeIfOnlyVariable?: boolean;
9
- }) => string | unknown;
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,UAAW,MAAM;;;CAgC9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,WACnB,MAAM,GAAG,SAAS,GAAG,IAAI,aACtB,OAAO,MAAM,EAAE,OAAO,CAAC,aACxB,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,SAAS,qCACL;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,KACpG,MAAM,GAAG,OAcX,CAAC;AAGF,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"}
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), // skip the dot
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), // skip the dot
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 const replaceVariables = (phrase, variables, modifier = undefined, { trim = true, keepTypeIfOnlyVariable = false } = {}) => {
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.4.0",
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": "60ae823bb810ed7874dce0c23a011a00d2a6db62"
63
+ "gitHead": "c5d7f0f1969831489048b38c99e602383af4cf82"
64
64
  }