@easyv/biz-components 0.0.34 → 0.0.36
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/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/useWatchValue/useWatchValue.cy.d.ts +1 -0
- package/dist/hooks/{useWatchValue.d.ts → useWatchValue/useWatchValue.d.ts} +0 -2
- package/dist/hooks/{useWatchValue.es.js → useWatchValue/useWatchValue.es.js} +5 -12
- package/dist/hooks/useWatchValue/useWatchValue.es.js.map +1 -0
- package/dist/index.es.js +1 -1
- package/package.json +9 -9
- package/dist/hooks/useWatchValue.es.js.map +0 -1
package/dist/hooks/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,8 +2,6 @@ type BaseValueType = string | number | boolean | object | Array<unknown> | null
|
|
|
2
2
|
interface Params<T> {
|
|
3
3
|
value: T;
|
|
4
4
|
callback: (newValue: T, oldValue?: T) => void | Promise<void> | (() => void);
|
|
5
|
-
/** 清理函数,同 react 的 cleanup 函数 */
|
|
6
|
-
clearupFn?: (value: T | null) => void;
|
|
7
5
|
options?: {
|
|
8
6
|
equalFn?: (value1: T, value2: T) => boolean;
|
|
9
7
|
immediate?: boolean;
|
|
@@ -1,29 +1,22 @@
|
|
|
1
1
|
import { useRef, useEffect } from "react";
|
|
2
|
-
import isEqual from "
|
|
2
|
+
import isEqual from "../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isEqual.es.js";
|
|
3
|
+
const initValue = Symbol("initValue");
|
|
3
4
|
function useWatchValue(params) {
|
|
4
|
-
const { value, callback,
|
|
5
|
-
const ref = useRef(
|
|
5
|
+
const { value, callback, options } = params;
|
|
6
|
+
const ref = useRef(initValue);
|
|
6
7
|
const initialRef = useRef(false);
|
|
7
8
|
const { equalFn = isEqual } = options || {};
|
|
8
9
|
useEffect(() => {
|
|
9
|
-
let isCallbackRun = false;
|
|
10
10
|
if ((options == null ? void 0 : options.immediate) && !initialRef.current) {
|
|
11
|
-
isCallbackRun = true;
|
|
12
11
|
callback(value, value);
|
|
13
12
|
initialRef.current = true;
|
|
14
13
|
}
|
|
15
|
-
if (ref.current ===
|
|
14
|
+
if (ref.current === initValue) {
|
|
16
15
|
ref.current = value;
|
|
17
16
|
} else if (equalFn(value, ref.current) === false) {
|
|
18
|
-
isCallbackRun = true;
|
|
19
17
|
callback(value, ref.current);
|
|
20
18
|
ref.current = value;
|
|
21
19
|
}
|
|
22
|
-
return () => {
|
|
23
|
-
if (isCallbackRun && clearupFn) {
|
|
24
|
-
clearupFn(ref.current);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
20
|
});
|
|
28
21
|
}
|
|
29
22
|
export {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWatchValue.es.js","sources":["../../../src/hooks/useWatchValue/useWatchValue.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { isEqual } from 'lodash-es';\n\ntype BaseValueType = string | number | boolean | object | Array<unknown> | null | undefined;\n\nconst initValue = Symbol('initValue');\n\ninterface Params<T> {\n value: T;\n callback: (newValue: T, oldValue?: T) => void | Promise<void> | (() => void);\n options?: {\n equalFn?: (value1: T, value2: T) => boolean;\n immediate?: boolean;\n };\n}\n/**监听值变化,\n * 值变化时调用 callback\n * 判断值是否变化默认使用 lodash 的 isEqual\n * @param params { value: T; callback: (newValue: T, oldValue?: T) => void | Promise<void>; options?: { equalFn: (value1: T, value2: T) => boolean; immediate?: boolean; } }\n */\nexport function useWatchValue<T extends BaseValueType>(params: Params<T>) {\n const { value, callback, options } = params;\n const ref = useRef<T | typeof initValue>(initValue);\n const initialRef = useRef(false);\n\n const { equalFn = isEqual } = options || {};\n\n useEffect(() => {\n if (options?.immediate && !initialRef.current) {\n callback(value, value);\n initialRef.current = true;\n }\n\n if (ref.current === initValue) {\n ref.current = value;\n } else if (equalFn(value, ref.current) === false) {\n callback(value, ref.current as T);\n ref.current = value;\n }\n });\n}\n"],"names":[],"mappings":";;AAKA,MAAM,YAAY,OAAO,WAAW;AAe7B,SAAS,cAAuC,QAAmB;AACxE,QAAM,EAAE,OAAO,UAAU,QAAY,IAAA;AAC/B,QAAA,MAAM,OAA6B,SAAS;AAC5C,QAAA,aAAa,OAAO,KAAK;AAE/B,QAAM,EAAE,UAAU,QAAQ,IAAI,WAAW,CAAC;AAE1C,YAAU,MAAM;AACd,SAAI,mCAAS,cAAa,CAAC,WAAW,SAAS;AAC7C,eAAS,OAAO,KAAK;AACrB,iBAAW,UAAU;AAAA,IAAA;AAGnB,QAAA,IAAI,YAAY,WAAW;AAC7B,UAAI,UAAU;AAAA,IAAA,WACL,QAAQ,OAAO,IAAI,OAAO,MAAM,OAAO;AACvC,eAAA,OAAO,IAAI,OAAY;AAChC,UAAI,UAAU;AAAA,IAAA;AAAA,EAChB,CACD;AACH;"}
|
package/dist/index.es.js
CHANGED
|
@@ -5,7 +5,7 @@ import { VoiceAnimation } from "./components/VoiceAnimation/VoiceAnimation.es.js
|
|
|
5
5
|
import { useDivAutoScroll } from "./hooks/useDivAutoScroll.es.js";
|
|
6
6
|
import { useXunFeiSteamVoiceManager } from "./hooks/useXunFeiSteamVoiceManager.es.js";
|
|
7
7
|
import { useInitialized } from "./hooks/useInitialized.es.js";
|
|
8
|
-
import { useWatchValue } from "./hooks/useWatchValue.es.js";
|
|
8
|
+
import { useWatchValue } from "./hooks/useWatchValue/useWatchValue.es.js";
|
|
9
9
|
import { FunASRManager, getWebSocketConnectForFunASR } from "./utils/funASR/funASRManager.es.js";
|
|
10
10
|
import { XFStreamVoiceManager } from "./utils/xunFeiVoice/XFStreamVoiceManager.es.js";
|
|
11
11
|
import { RecorderManager } from "./utils/xunFeiVoice/RecorderManager/RecorderManager.es.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@easyv/biz-components",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.36",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.es.js",
|
|
6
6
|
"module": "dist/index.es.js",
|
|
@@ -9,13 +9,6 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"sideEffects": false,
|
|
12
|
-
"scripts": {
|
|
13
|
-
"dev": "vite",
|
|
14
|
-
"build": "tsc && vite build && npm run build:style",
|
|
15
|
-
"build:style": "npx postcss src/index.css -o dist/index.css",
|
|
16
|
-
"preview": "vite preview",
|
|
17
|
-
"test:ui": "cypress open"
|
|
18
|
-
},
|
|
19
12
|
"dependencies": {
|
|
20
13
|
"classnames": "^2.5.1",
|
|
21
14
|
"co-web-worker": "^1.0.1",
|
|
@@ -45,5 +38,12 @@
|
|
|
45
38
|
"tailwindcss": "^3.0.0",
|
|
46
39
|
"vite": "^5.0.10",
|
|
47
40
|
"vite-plugin-dts": "^3.7.0"
|
|
41
|
+
},
|
|
42
|
+
"scripts": {
|
|
43
|
+
"dev": "vite",
|
|
44
|
+
"build": "tsc && vite build && npm run build:style",
|
|
45
|
+
"build:style": "npx postcss src/index.css -o dist/index.css",
|
|
46
|
+
"preview": "vite preview",
|
|
47
|
+
"test:ui": "cypress open"
|
|
48
48
|
}
|
|
49
|
-
}
|
|
49
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWatchValue.es.js","sources":["../../src/hooks/useWatchValue.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { isEqual } from 'lodash-es';\n\ntype BaseValueType = string | number | boolean | object | Array<unknown> | null | undefined;\n\ninterface Params<T> {\n value: T;\n callback: (newValue: T, oldValue?: T) => void | Promise<void> | (() => void);\n /** 清理函数,同 react 的 cleanup 函数 */\n clearupFn?: (value: T | null) => void;\n options?: {\n equalFn?: (value1: T, value2: T) => boolean;\n immediate?: boolean;\n };\n}\n/**监听值变化,\n * 值变化时调用 callback\n * 判断值是否变化默认使用 lodash 的 isEqual\n * @param params { value: T; callback: (newValue: T, oldValue?: T) => void | Promise<void>; options?: { equalFn: (value1: T, value2: T) => boolean; immediate?: boolean; } }\n */\nexport function useWatchValue<T extends BaseValueType>(params: Params<T>) {\n const { value, callback, clearupFn, options } = params;\n const ref = useRef<T | null>(null);\n const initialRef = useRef(false);\n\n const { equalFn = isEqual } = options || {};\n\n useEffect(() => {\n let isCallbackRun = false;\n if (options?.immediate && !initialRef.current) {\n isCallbackRun = true;\n callback(value, value);\n initialRef.current = true;\n }\n\n if (ref.current === null) {\n ref.current = value;\n } else if (equalFn(value, ref.current) === false) {\n isCallbackRun = true;\n callback(value, ref.current);\n ref.current = value;\n }\n return () => {\n if (isCallbackRun && clearupFn) {\n clearupFn(ref.current);\n }\n };\n });\n}\n"],"names":[],"mappings":";;AAoBO,SAAS,cAAuC,QAAmB;AACxE,QAAM,EAAE,OAAO,UAAU,WAAW,QAAY,IAAA;AAC1C,QAAA,MAAM,OAAiB,IAAI;AAC3B,QAAA,aAAa,OAAO,KAAK;AAE/B,QAAM,EAAE,UAAU,QAAQ,IAAI,WAAW,CAAC;AAE1C,YAAU,MAAM;AACd,QAAI,gBAAgB;AACpB,SAAI,mCAAS,cAAa,CAAC,WAAW,SAAS;AAC7B,sBAAA;AAChB,eAAS,OAAO,KAAK;AACrB,iBAAW,UAAU;AAAA,IAAA;AAGnB,QAAA,IAAI,YAAY,MAAM;AACxB,UAAI,UAAU;AAAA,IAAA,WACL,QAAQ,OAAO,IAAI,OAAO,MAAM,OAAO;AAChC,sBAAA;AACP,eAAA,OAAO,IAAI,OAAO;AAC3B,UAAI,UAAU;AAAA,IAAA;AAEhB,WAAO,MAAM;AACX,UAAI,iBAAiB,WAAW;AAC9B,kBAAU,IAAI,OAAO;AAAA,MAAA;AAAA,IAEzB;AAAA,EAAA,CACD;AACH;"}
|