BLUE
PHP 7.4.33
Path:
/var/www/sitesecurity.bitkit.dk/httpdocs/node_modules/reselect/src/devModeChecks
Run
Logout
Edit File
Size: 2.47 KB
Close
/var/www/sitesecurity.bitkit.dk/httpdocs/node_modules/reselect/src/devModeChecks/inputStabilityCheck.ts
Text
Base64
import type { CreateSelectorOptions, UnknownMemoizer } from '../types' /** * Runs a stability check to ensure the input selector results remain stable * when provided with the same arguments. This function is designed to detect * changes in the output of input selectors, which can impact the performance of memoized selectors. * * @param inputSelectorResultsObject - An object containing two arrays: `inputSelectorResults` and `inputSelectorResultsCopy`, representing the results of input selectors. * @param options - Options object consisting of a `memoize` function and a `memoizeOptions` object. * @param inputSelectorArgs - List of arguments being passed to the input selectors. * * @see {@link https://reselect.js.org/api/development-only-stability-checks/#inputstabilitycheck `inputStabilityCheck`} * * @since 5.0.0 * @internal */ export const runInputStabilityCheck = ( inputSelectorResultsObject: { inputSelectorResults: unknown[] inputSelectorResultsCopy: unknown[] }, options: Required< Pick< CreateSelectorOptions<UnknownMemoizer, UnknownMemoizer>, 'memoize' | 'memoizeOptions' > >, inputSelectorArgs: unknown[] | IArguments ) => { const { memoize, memoizeOptions } = options const { inputSelectorResults, inputSelectorResultsCopy } = inputSelectorResultsObject const createAnEmptyObject = memoize(() => ({}), ...memoizeOptions) // if the memoize method thinks the parameters are equal, these *should* be the same reference const areInputSelectorResultsEqual = createAnEmptyObject.apply(null, inputSelectorResults) === createAnEmptyObject.apply(null, inputSelectorResultsCopy) if (!areInputSelectorResultsEqual) { let stack: string | undefined = undefined try { throw new Error() } catch (e) { // eslint-disable-next-line @typescript-eslint/no-extra-semi, no-extra-semi ;({ stack } = e as Error) } console.warn( 'An input selector returned a different result when passed same arguments.' + '\nThis means your output selector will likely run more frequently than intended.' + '\nAvoid returning a new reference inside your input selector, e.g.' + '\n`createSelector([state => state.todos.map(todo => todo.id)], todoIds => todoIds.length)`', { arguments: inputSelectorArgs, firstInputs: inputSelectorResults, secondInputs: inputSelectorResultsCopy, stack } ) } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 3
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
identityFunctionCheck.ts
1.93 KB
lrw-r--r--
2026-04-28 09:11:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
inputStabilityCheck.ts
2.47 KB
lrw-r--r--
2026-04-28 09:11:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
setGlobalDevModeChecks.ts
2.56 KB
lrw-r--r--
2026-04-28 09:11:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).