Skip to content

Commit 8fcc38b

Browse files
authored
Merge pull request #60 from takuma-hmng8/dev
update error handler of useDomSyncer
2 parents 52dc2c7 + a993114 commit 8fcc38b

File tree

12 files changed

+288
-280
lines changed

12 files changed

+288
-280
lines changed

packages/use-shader-fx/build/use-shader-fx.js

Lines changed: 218 additions & 219 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/use-shader-fx/build/use-shader-fx.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/use-shader-fx/build/use-shader-fx.umd.cjs

Lines changed: 33 additions & 33 deletions
Large diffs are not rendered by default.

packages/use-shader-fx/build/use-shader-fx.umd.cjs.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/use-shader-fx/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/use-shader-fx/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hmng8/use-shader-fx",
3-
"version": "1.0.38",
3+
"version": "1.0.39",
44
"description": "The only difficult part is coding the shaders",
55
"main": "./build/use-shader-fx.umd.cjs",
66
"module": "./build/use-shader-fx.js",

packages/use-shader-fx/src/hooks/useDomSyncer/index.ts

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -91,32 +91,32 @@ export const useDomSyncer = (
9191

9292
updateParams && setParams(updateParams);
9393

94-
errorHandler(params);
95-
96-
if (refreshTrigger) {
97-
createMesh({
94+
if (errorHandler(params)) {
95+
if (refreshTrigger) {
96+
createMesh({
97+
params,
98+
size,
99+
scene,
100+
});
101+
102+
intersectionHandler({
103+
isIntersectingRef,
104+
isIntersectingOnceRef,
105+
params,
106+
});
107+
108+
setRefreshTrigger(false);
109+
}
110+
111+
updateDomRects({
98112
params,
99113
size,
114+
resolutionRef,
100115
scene,
101-
});
102-
103-
intersectionHandler({
104116
isIntersectingRef,
105-
isIntersectingOnceRef,
106-
params,
107117
});
108-
109-
setRefreshTrigger(false);
110118
}
111119

112-
updateDomRects({
113-
params,
114-
size,
115-
resolutionRef,
116-
scene,
117-
isIntersectingRef,
118-
});
119-
120120
return updateRenderTarget(gl);
121121
},
122122
[
Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
import { DomSyncerParams } from "..";
2+
import { ISDEV } from "../../../libs/constants";
23

34
export const errorHandler = (params: DomSyncerParams) => {
45
const domLength = params.dom?.length;
56
const textureLength = params.texture?.length;
67
const resolutionLength = params.resolution?.length;
78

89
if (!domLength || !textureLength || !resolutionLength) {
9-
throw new Error("No dom or texture or resolution is set");
10+
ISDEV && console.warn("No dom or texture or resolution is set");
11+
return false;
1012
}
1113

1214
if (domLength !== textureLength || domLength !== resolutionLength) {
13-
throw new Error("Match dom, texture and resolution length");
15+
ISDEV && console.warn("not Match dom , texture and resolution length");
16+
return false;
1417
}
18+
19+
return true;
1520
};

packages/use-shader-fx/src/hooks/useDomSyncer/utils/useUpdateDomRect.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Size } from "@react-three/fiber";
44
import { setUniform } from "../../../utils/setUniforms";
55
import { DomSyncerMaterial } from "./createMesh";
66
import { useCallback, useRef } from "react";
7+
import { ISDEV } from "../../../libs/constants";
78

89
type UpdateDomRect = ({
910
params,
@@ -34,7 +35,8 @@ export const useUpdateDomRect = (): UseUpdateDomRectReturn => {
3435
scene.children.forEach((mesh, i) => {
3536
const domElement = params.dom![i];
3637
if (!domElement) {
37-
throw new Error("DOM is null.");
38+
ISDEV && console.warn("DOM is null.");
39+
return;
3840
}
3941

4042
// DOMRect is updated even outside the intersection
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const ISDEV = process.env.NODE_ENV === "development";

0 commit comments

Comments
 (0)