Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3895bdf

Browse files
committed
feat: Exported some TS types
The following types were exported so that it's easier to compose hookoptions:- ObservedSize- ResizeHandler- ResizeObserverBoxOptions- RoundingFunctionTests were updated as well to guarantee the new API interface.Resolves#98
1 parent614b149 commit3895bdf

File tree

4 files changed

+20
-20
lines changed

4 files changed

+20
-20
lines changed

‎src/index.ts‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ import {
1010
importuseResolvedElementfrom"./utils/useResolvedElement";
1111
importextractSizefrom"./utils/extractSize";
1212

13-
typeObservedSize={
13+
exporttypeObservedSize={
1414
width:number|undefined;
1515
height:number|undefined;
1616
};
1717

18-
typeResizeHandler=(size:ObservedSize)=>void;
18+
exporttypeResizeHandler=(size:ObservedSize)=>void;
1919

2020
typeHookResponse<TextendsElement>={
2121
ref:RefCallback<T>;
2222
}&ObservedSize;
2323

2424
// Declaring my own type here instead of using the one provided by TS (available since 4.2.2), because this way I'm not
2525
// forcing consumers to use a specific TS version.
26-
typeResizeObserverBoxOptions=
26+
exporttypeResizeObserverBoxOptions=
2727
|"border-box"
2828
|"content-box"
2929
|"device-pixel-content-box";
@@ -34,7 +34,7 @@ declare global {
3434
}
3535
}
3636

37-
typeRoundingFunction=(n:number)=>number;
37+
exporttypeRoundingFunction=(n:number)=>number;
3838

3939
functionuseResizeObserver<TextendsElement>(
4040
opts:{

‎tests/basic.tsx‎

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22
importReact,{useRef,useState}from"react";
33
import{render,cleanup,act}from"@testing-library/react";
44
importcreateControllerfrom"./utils/createController";
5-
importuseResizeObserverfrom"../";
5+
importuseResizeObserver,{ObservedSize,ResizeHandler}from"../";
66
importuseMergedCallbackReffrom"./utils/useMergedCallbackRef";
77
importawaitNextFramefrom"./utils/awaitNextFrame";
8-
import{ObservedSize}from"./utils";
98
importuseRenderTriggerfrom"./utils/useRenderTrigger";
109

1110
afterEach(()=>{
@@ -341,10 +340,9 @@ describe("Basic tests", () => {
341340

342341
it("should handle if the onResize handler changes, with the correct render counts",async()=>{
343342
constcontroller=createController();
344-
typeOnResizeHandler=(size:ObservedSize)=>void;
345-
letchangeOnResizeHandler=(handler:OnResizeHandler)=>{};
343+
letchangeOnResizeHandler=(handler:ResizeHandler)=>{};
346344
constTest=()=>{
347-
const[onResize,setOnResize]=useState<OnResizeHandler>(()=>()=>{});
345+
const[onResize,setOnResize]=useState<ResizeHandler>(()=>()=>{});
348346
changeOnResizeHandler=(handler)=>setOnResize(()=>handler);
349347
const{ ref, width, height}=useResizeObserver({ onResize});
350348
controller.reportMeasuredSize({ width, height});

‎tests/testing-lib.tsx‎

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
// Tests written with react testing library
22
importReact,{useRef,useState,useCallback}from"react";
3-
importuseResizeObserverfrom"../";
3+
importuseResizeObserver,{
4+
ResizeHandler,
5+
ObservedSize,
6+
ResizeObserverBoxOptions,
7+
RoundingFunction,
8+
}from"../";
49
import{render,cleanup,act}from"@testing-library/react";
510
importuseRenderTriggerfrom"./utils/useRenderTrigger";
611
importawaitNextFramefrom"./utils/awaitNextFrame";
712
importcreateControllerfrom"./utils/createController";
813
importuseMergedCallbackReffrom"./utils/useMergedCallbackRef";
9-
import{ObservedSize,supports}from"./utils";
14+
import{supports}from"./utils";
1015

1116
afterEach(()=>{
1217
cleanup();
@@ -77,11 +82,13 @@ describe("Testing Lib: Basics", () => {
7782
constcontroller=createController();
7883
constTest=()=>{
7984
constref=useRef(null);
85+
// Declaring onResize here only to test the availability and correctness of the exported `ResizeHandler` function
86+
constonResize:ResizeHandler=(size)=>{
87+
controller.reportMeasuredSize(size);
88+
};
8089
useResizeObserver({
8190
ref,
82-
onResize:(size)=>{
83-
controller.reportMeasuredSize(size);
84-
},
91+
onResize,
8592
});
8693

8794
return<divref={ref}style={{width:10,height:20}}/>;
@@ -577,7 +584,7 @@ describe("Testing Lib: Resize Observer Instance Counting Block", () => {
577584
};
578585
constc2={}asController;
579586
constTest=()=>{
580-
const[rounder,setRounder]=useState<typeofMath.ceil|undefined>(
587+
const[rounder,setRounder]=useState<RoundingFunction|undefined>(
581588
()=>Math.ceil
582589
);
583590
const{ ref, width, height}=useResizeObserver<HTMLDivElement>({

‎tests/utils/index.tsx‎

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,3 @@ new ResizeObserver((entries) => {
1111
entries[0].devicePixelContentBoxSize
1212
);
1313
}).observe(document.body);
14-
15-
exporttypeObservedSize={
16-
width:number|undefined;
17-
height:number|undefined;
18-
};

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp