In this article, we will review the function, downloadInBrowser, in Refine source code. export const downloadInBrowser = ( filename: string, content: string, type?: string, ) => { if (typeof window === "undefined") { return; } const ...
In this article, we will review a function, flattenObjectKeys, in Refine source code. const isNested = (obj: any) => typeof obj === "object" && obj !== null; const isArray = (obj: any) => Array.isArray(obj); export const flattenObjectKeys = (obj: an...
In this article, we will review a function named asyncDebounce in Refine source code. import debounce from "lodash/debounce"; type Callbacks<T extends (...args: any) => any> = { resolve?: (value: Awaited<ReturnType<T>>) => void; reject?: (reason...
I wrote an in-depth article about .git-blame-ignore-revs file found in React source code, but in this article, let’s draw a comparison between React and Refine codebase’s .git-blame-ignore-revs. Before you continue reading this article, I recommend ...
In this article, we will review the file, .cursorignore, in Refine codebase. Refine is an open-source React framework to build internal tools. We are familiar with .gitignore but let’s learn what .cursorignore file is about. Cursor Cursor is the AI ...
Hey folks! Today, I'm thrilled to introduce you to a way of getting your next CRUD app up and running in minutes using refine.dev This amazing project has become a personal favourite of mine, and I've had the pleasure of using it extensively for my w...
Last week, the refine ft Strapi event offered developers an exciting opportunity to learn about building applications with two powerful technologies. Refine and Strapi, when combined, offer an incredible array of possibilities for building applicatio...