diff --git a/README.md b/README.md index c744cf2a..364aef7a 100644 --- a/README.md +++ b/README.md @@ -196,14 +196,14 @@ function MyApp({ Component, pageProps }: AppProps) { ## Utilities -### atomWithInitialValue +### initializableAtom `atom`, but initial value can be specified when using it. Note: This is just a utility and does not depend on either Recoil Sync or Next.js. ```typescript -function atomWithInitialValue(options: { +function initializableAtom(options: { key: string effects?: | ReadonlyArray> @@ -229,9 +229,9 @@ A function which takes its `initialValue`. #### Example ```tsx -import { atomWithInitialValue } from 'recoil-sync-next' +import { initializableAtom } from 'recoil-sync-next' -const countState = atomWithInitialValue({ +const countState = initializableAtom({ key: 'count', }) @@ -241,14 +241,14 @@ const MyComponent: React.FC = () => { } ``` -### atomFamilyWithInitialValue +### initializableAtomFamily `atomFamily`, but initial value can be specified individually when using it. Note: This is just a utility and does not depend on either Recoil Sync or Next.js. ```typescript -function atomFamilyWithInitialValue< +function initializableAtomFamily< T extends SerializableParam, P extends SerializableParam >(options: { @@ -280,9 +280,9 @@ A function which takes `paramter` that map to an atom, and its `initialValue`. #### Example ```tsx -import { atomFamilyWithInitialValue } from 'recoil-sync-next' +import { initializableAtomFamily } from 'recoil-sync-next' -const countState = atomFamilyWithInitialValue({ +const countState = initializableAtomFamily({ key: 'count', }) diff --git a/src/history/RecoilHistorySyncJSONNext.test.tsx b/src/history/RecoilHistorySyncJSONNext.test.tsx index 108a406f..09d386c8 100644 --- a/src/history/RecoilHistorySyncJSONNext.test.tsx +++ b/src/history/RecoilHistorySyncJSONNext.test.tsx @@ -12,7 +12,7 @@ import { act } from 'react-dom/test-utils' import { atom, atomFamily, RecoilRoot, useRecoilState } from 'recoil' import { syncEffect } from 'recoil-sync' -import { atomFamilyWithInitialValue } from '../utils/atomFamilyWithInitialValue' +import { initializableAtomFamily } from '../utils/initializableAtomFamily' import { RecoilHistorySyncJSONNext } from './RecoilHistorySyncJSONNext' @@ -235,8 +235,8 @@ describe('', () => { }) }) - describe('use atomFamilyWithInitialValue()', () => { - const testStringState = atomFamilyWithInitialValue({ + describe('use initializableAtomFamily()', () => { + const testStringState = initializableAtomFamily({ key: nextKey(), effects: [syncEffect({ refine: string() })], }) diff --git a/src/index.ts b/src/index.ts index 7e40a793..7d127d2b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,5 +2,5 @@ export * from './history/RecoilHistorySyncJSONNext' export * from './history/RecoilHistorySyncTransitNext' export * from './url/RecoilURLSyncJSONNext' export * from './url/RecoilURLSyncTransitNext' -export * from './utils/atomFamilyWithInitialValue' -export * from './utils/atomWithInitialValue' +export * from './utils/initializableAtom' +export * from './utils/initializableAtomFamily' diff --git a/src/utils/atomWithInitialValue.test.tsx b/src/utils/initializableAtom.test.tsx similarity index 86% rename from src/utils/atomWithInitialValue.test.tsx rename to src/utils/initializableAtom.test.tsx index 0b21e60b..5974a43e 100644 --- a/src/utils/atomWithInitialValue.test.tsx +++ b/src/utils/initializableAtom.test.tsx @@ -4,16 +4,16 @@ import React, { ReactNode } from 'react' import { act } from 'react-dom/test-utils' import { RecoilRoot, useRecoilState, useRecoilValue } from 'recoil' -import { atomWithInitialValue } from './atomWithInitialValue' +import { initializableAtom } from './initializableAtom' let atomIndex = 0 -const nextKey = () => `atomWithInitialValue/test/${atomIndex++}` +const nextKey = () => `initializableAtom/test/${atomIndex++}` -const testStringState = atomWithInitialValue({ +const testStringState = initializableAtom({ key: nextKey(), }) -const testNumberState = atomWithInitialValue({ +const testNumberState = initializableAtom({ key: nextKey(), }) @@ -21,7 +21,7 @@ const App: React.FC<{ children: ReactNode }> = ({ children }) => ( {children} ) -describe('atomWithInitialValue', () => { +describe('initializableAtom', () => { describe('just hook', () => { describe('single state', () => { it('should be initialized with a specific value', async () => { diff --git a/src/utils/atomWithInitialValue.ts b/src/utils/initializableAtom.ts similarity index 90% rename from src/utils/atomWithInitialValue.ts rename to src/utils/initializableAtom.ts index c72a3bfa..f782a591 100644 --- a/src/utils/atomWithInitialValue.ts +++ b/src/utils/initializableAtom.ts @@ -6,7 +6,7 @@ import { AtomOptions, } from 'recoil' -export function atomWithInitialValue( +export function initializableAtom( options: Omit, 'default'> ): (initialValue: T) => RecoilState { const baseAtom: RecoilState = atom({ diff --git a/src/utils/atomFamilyWithInitialValue.test.tsx b/src/utils/initializableAtomFamily.test.tsx similarity index 93% rename from src/utils/atomFamilyWithInitialValue.test.tsx rename to src/utils/initializableAtomFamily.test.tsx index 5281f9a5..3715f7a5 100644 --- a/src/utils/atomFamilyWithInitialValue.test.tsx +++ b/src/utils/initializableAtomFamily.test.tsx @@ -4,16 +4,16 @@ import { ReactNode } from 'react' import { act } from 'react-dom/test-utils' import { RecoilRoot, useRecoilState, useRecoilValue } from 'recoil' -import { atomFamilyWithInitialValue } from './atomFamilyWithInitialValue' +import { initializableAtomFamily } from './initializableAtomFamily' let atomIndex = 0 -const nextKey = () => `atomFamilyWithInitialValue/test/${atomIndex++}` +const nextKey = () => `initializableAtomFamily/test/${atomIndex++}` -const testStringState = atomFamilyWithInitialValue({ +const testStringState = initializableAtomFamily({ key: nextKey(), }) -const testNumberState = atomFamilyWithInitialValue({ +const testNumberState = initializableAtomFamily({ key: nextKey(), }) @@ -21,7 +21,7 @@ const App: React.FC<{ children: ReactNode }> = ({ children }) => ( {children} ) -describe('atomFamilyWithInitialValue', () => { +describe('initializableAtomFamily', () => { describe('just hook', () => { describe('single state', () => { it('should be initialized with a specific value', async () => { diff --git a/src/utils/atomFamilyWithInitialValue.ts b/src/utils/initializableAtomFamily.ts similarity index 94% rename from src/utils/atomFamilyWithInitialValue.ts rename to src/utils/initializableAtomFamily.ts index d14d5ad9..ef9eb3ee 100644 --- a/src/utils/atomFamilyWithInitialValue.ts +++ b/src/utils/initializableAtomFamily.ts @@ -6,7 +6,7 @@ import { AtomFamilyOptions, } from 'recoil' -export function atomFamilyWithInitialValue< +export function initializableAtomFamily< T extends SerializableParam, P extends SerializableParam >(