INNER CODE UNIT · TypeScript

topLevelKeys

margelo/react-native-runtimes · packages/state/src/index.ts:357

function topLevelKeys<TState>(state: TState): SharedStoreSubtreeKey<TState>[] {
  if (typeof state !== 'object' || state === null || Array.isArray(state)) {
    return [];
  }
  return Object.keys(state) as SharedStoreSubtreeKey<TState>[];
}

function uniqueSubtrees<TState, TAction>(
  initialState: TState,
  slices?: SharedStoreSliceReducers<TState, TAction>,
  subtrees?: readonly SharedStoreSubtreeKey<TState>[],
): SharedStoreSubtreeKey<TState>[] {
  const keys = subtrees?.length
    ? subtrees
    : slices
    ? (Object.keys(slices) as SharedStoreSubtreeKey<TState>[])
    : topLevelKeys(initialState);
  return Array.from(new Set(keys));

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…