Skip to content

Commit

Permalink
Merge pull request #32 from spmonahan/feat/export-utils
Browse files Browse the repository at this point in the history
feat: export utilities from framework packages
  • Loading branch information
spmonahan authored Jun 25, 2024
2 parents 9c554f3 + 9213c0f commit edaf1ee
Show file tree
Hide file tree
Showing 10 changed files with 58 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "minor",
"comment": "feat: export utilities",
"packageName": "@tensile-perf/react",
"email": "[email protected]",
"dependentChangeType": "patch"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "minor",
"comment": "feat: export utilities",
"packageName": "@tensile-perf/web-components",
"email": "[email protected]",
"dependentChangeType": "patch"
}
15 changes: 15 additions & 0 deletions packages/react/etc/react.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@

import * as React_2 from 'react';

// @public (undocumented)
export const injectStyles: (params: RandomCssFromSelectorsParams) => void;

// @public (undocumented)
export const measureJavascript: JavascriptMeasureFn;

// @public (undocumented)
export const measureLayout: LayoutMeasureFn;

// @public (undocumented)
export const TestApp: React_2.FC<TestAppProps<unknown>>;

Expand Down Expand Up @@ -43,6 +52,12 @@ export type TreeItemRenderer<T> = (props: TreeItemRendererProps<T>) => JSX.Eleme
// @public (undocumented)
export const TreeNode: <T extends RandomTreeNode<unknown>>(props: TreeNodeProps<T>) => JSX.Element;

// @public (undocumented)
export const usePerformanceMeasure: () => {
startMeasure: () => void;
endMeasure: () => void;
};

// (No @packageDocumentation comment for this package)

```
2 changes: 1 addition & 1 deletion packages/react/src/hooks/usePerformanceMeasure.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { measureJavascript, measureLayout } from '@tensile-perf/tools';
// }, []);
// };

export const useMeasure = () => {
export const usePerformanceMeasure = () => {
const startTime = React.useRef<number>(-1);

const startMeasure = () => {
Expand Down
5 changes: 4 additions & 1 deletion packages/react/src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,7 @@ export type {
TestType,
TestMap,
TreeItemRenderer,
} from './types.js'
} from './types.js'

export { usePerformanceMeasure } from './hooks/usePerformanceMeasure.js';
export { injectStyles, measureLayout, measureJavascript } from '@tensile-perf/tools';
4 changes: 2 additions & 2 deletions packages/react/src/test/TestAdd.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { Tree } from '../tree/Tree.js';
import { useMeasure } from '../hooks/usePerformanceMeasure.js';
import { usePerformanceMeasure } from '../hooks/usePerformanceMeasure.js';
import type { TestRenderFunction } from '../types.js';
import { TestApp } from './TestApp.js';

export const renderAddTest: TestRenderFunction = ({ fixture, itemRenderer, renderTargetSelector, TestWrapper = TestApp, onComplete }) => {
const Add = () => {

const { startMeasure, endMeasure } = useMeasure();
const { startMeasure, endMeasure } = usePerformanceMeasure();
const [added, setAdded] = React.useState(false);
React.useEffect(() => {
setTimeout(() => {
Expand Down
4 changes: 2 additions & 2 deletions packages/react/src/test/TestMount.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { Tree } from '../tree/Tree.js';
import { useMeasure } from '../hooks/usePerformanceMeasure.js';
import { usePerformanceMeasure } from '../hooks/usePerformanceMeasure.js';
import type { TestRenderFunction } from '../types.js';
import { TestApp } from './TestApp.js';

export const renderMountTest: TestRenderFunction = ({ fixture, itemRenderer, renderTargetSelector, TestWrapper = TestApp, onComplete }) => {
const Mount = () => {

const { startMeasure, endMeasure } = useMeasure();
const { startMeasure, endMeasure } = usePerformanceMeasure();
startMeasure();
React.useLayoutEffect(() => {
endMeasure();
Expand Down
4 changes: 2 additions & 2 deletions packages/react/src/test/TestRemove.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { Tree } from '../tree/Tree.js';
import { useMeasure } from '../hooks/usePerformanceMeasure.js';
import { usePerformanceMeasure } from '../hooks/usePerformanceMeasure.js';
import type { TestRenderFunction } from '../types.js';
import { TestApp } from './TestApp.js';

export const renderRemoveTest: TestRenderFunction = ({ fixture, itemRenderer, renderTargetSelector, TestWrapper = TestApp, onComplete }) => {
const Remove = () => {

const { startMeasure, endMeasure } = useMeasure();
const { startMeasure, endMeasure } = usePerformanceMeasure();
const [removed, setRemoved] = React.useState(false);
React.useEffect(() => {
setTimeout(() => {
Expand Down
15 changes: 15 additions & 0 deletions packages/web-components/etc/web-components.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,21 @@
```ts

// @public (undocumented)
export const injectStyles: (params: RandomCssFromSelectorsParams) => void;

// @public (undocumented)
export const measureJavascript: JavascriptMeasureFn;

// @public (undocumented)
export const measureLayout: LayoutMeasureFn;

// @public (undocumented)
export const measurePerformance: () => {
startMeasure: () => void;
endMeasure: () => void;
};

// @public (undocumented)
export type TestMap = Record<TestType, TestRenderFunction>;

Expand Down
3 changes: 3 additions & 0 deletions packages/web-components/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@ export type {
TestMap,
TreeItemRenderer,
} from './types.js';

export { measurePerformance } from './util/performanceMeasure.js';
export { injectStyles, measureLayout, measureJavascript } from '@tensile-perf/tools';

0 comments on commit edaf1ee

Please sign in to comment.