scrivito
Version:
Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.
18 lines (15 loc) • 617 B
text/typescript
import type { ComponentProps, ComponentType, PropsWithChildren } from 'react';
import { equalsBestEffort } from 'scrivito_sdk/common';
export function propsAreEqual<P extends object>(
prevProps: Readonly<PropsWithChildren<P>>,
nextProps: Readonly<PropsWithChildren<P>>,
): boolean;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function propsAreEqual<T extends ComponentType<any>>(
prevProps: Readonly<ComponentProps<T>>,
nextProps: Readonly<ComponentProps<T>>,
): boolean {
return Object.keys(prevProps).every((key) =>
equalsBestEffort(prevProps[key], nextProps[key]),
);
}