react-native-divkit 1.6.1 → 1.6.2

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 +1 @@
1
- {"version":3,"file":"useDerivedFromVars.d.ts","sourceRoot":"","sources":["../../src/hooks/useDerivedFromVars.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGxE,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,SAAS,EAAE,YAAY,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEvC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,yBAAyB,GAAG,YAAY,CAAC,CAAC,CAAC,CA0FtG;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAEjG"}
1
+ {"version":3,"file":"useDerivedFromVars.d.ts","sourceRoot":"","sources":["../../src/hooks/useDerivedFromVars.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGxE,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,SAAS,EAAE,YAAY,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEvC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,yBAAyB,GAAG,YAAY,CAAC,CAAC,CAAC,CA0FtG;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAEjG"}
@@ -6,6 +6,15 @@
6
6
  */
7
7
  import { useEffect, useState, useMemo, useRef } from 'react';
8
8
  import { prepareVars } from '../expressions/json';
9
+ /**
10
+ * Stable module-level fallback for logError.
11
+ * Must be defined at module scope so that babel-plugin-transform-remove-console
12
+ * replaces console.error only once (stable reference), not on every hook call.
13
+ * If defined inline as a default parameter, the plugin creates a new function(){}
14
+ * on every invocation, breaking useMemo dependency comparison and causing infinite re-renders.
15
+ */
16
+ // eslint-disable-next-line no-console
17
+ const defaultLogError = console.error;
9
18
  /**
10
19
  * Hook that subscribes to variables used in JSON expressions and re-evaluates when they change
11
20
  *
@@ -20,7 +29,7 @@ import { prepareVars } from '../expressions/json';
20
29
  * ```
21
30
  */
22
31
  export function useDerivedFromVars(jsonProp, options) {
23
- const { variables, additionalVars, keepComplex = false, maxDepth = 10, customFunctions, store, weekStartDay = 0, logError = console.error } = options;
32
+ const { variables, additionalVars, keepComplex = false, maxDepth = 10, customFunctions, store, weekStartDay = 0, logError = defaultLogError } = options;
24
33
  // Merge variables maps
25
34
  const allVariables = useMemo(() => {
26
35
  if (!additionalVars || additionalVars.size === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"useDerivedFromVars.js","sourceRoot":"","sources":["../../src/hooks/useDerivedFromVars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDerivedFromVars.js","sourceRoot":"","sources":["../../src/hooks/useDerivedFromVars.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-divkit",
3
- "version": "1.6.1",
3
+ "version": "1.6.2",
4
4
  "description": "DivKit renderer for React Native - Server-driven UI framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,6 +8,16 @@
8
8
  import { useEffect, useState, useMemo, useRef } from 'react';
9
9
  import type { MaybeMissing } from '../expressions/json';
10
10
  import { prepareVars } from '../expressions/json';
11
+
12
+ /**
13
+ * Stable module-level fallback for logError.
14
+ * Must be defined at module scope so that babel-plugin-transform-remove-console
15
+ * replaces console.error only once (stable reference), not on every hook call.
16
+ * If defined inline as a default parameter, the plugin creates a new function(){}
17
+ * on every invocation, breaking useMemo dependency comparison and causing infinite re-renders.
18
+ */
19
+ // eslint-disable-next-line no-console
20
+ const defaultLogError: (error: Error) => void = console.error;
11
21
  import type { Variable } from '../expressions/variable';
12
22
  import type { VariablesMap } from '../expressions/eval';
13
23
  import type { Store } from '../../typings/store';
@@ -81,7 +91,7 @@ export function useDerivedFromVars<T>(jsonProp: T, options: UseDerivedFromVarsOp
81
91
  customFunctions,
82
92
  store,
83
93
  weekStartDay = 0,
84
- logError = console.error
94
+ logError = defaultLogError
85
95
  } = options;
86
96
 
87
97
  // Merge variables maps