SYMBOL INDEX (277 symbols across 41 files) FILE: __performance_tests__/add-data.mjs constant MAX (line 22) | const MAX = 10000 FILE: __performance_tests__/incremental.mjs function createTestObject (line 9) | function createTestObject() { constant MAX (line 16) | const MAX = 1000 FILE: __performance_tests__/large-obj.mjs constant MAX (line 9) | const MAX = 50 FILE: __performance_tests__/measure.mjs function measureTime (line 3) | function measureTime(setup, fn) { function measure (line 16) | function measure(name, setup, fn) { FILE: __performance_tests__/todo.mjs function freeze (line 16) | function freeze(x) { constant MAX (line 21) | const MAX = 50000 constant MODIFY_FACTOR (line 22) | const MODIFY_FACTOR = 0.1 FILE: __tests__/base.js class Foo (line 53) | class Foo {} function runBaseTest (line 55) | function runBaseTest( function testObjectTypes (line 3833) | function testObjectTypes(produce) { function testLiteralTypes (line 4109) | function testLiteralTypes(produce) { function enumerableOnly (line 4167) | function enumerableOnly(x) { function isEnumerable (line 4177) | function isEnumerable(base, prop) { FILE: __tests__/current.js function runTests (line 18) | function runTests(name) { FILE: __tests__/curry.js function runTests (line 13) | function runTests(name) { FILE: __tests__/draft.ts type Foo (line 94) | interface Foo { method constructor (line 147) | constructor(public bar: string) {} method constructor (line 160) | constructor(readonly bar: string) {} type Foo (line 104) | interface Foo { method constructor (line 147) | constructor(public bar: string) {} method constructor (line 160) | constructor(readonly bar: string) {} type Bar (line 107) | interface Bar { class Foo (line 145) | class Foo { method constructor (line 147) | constructor(public bar: string) {} method constructor (line 160) | constructor(readonly bar: string) {} class Foo (line 158) | class Foo { method constructor (line 147) | constructor(public bar: string) {} method constructor (line 160) | constructor(readonly bar: string) {} type Todo (line 299) | type Todo = {readonly done: boolean} type State (line 301) | type State = { function markAllFinished (line 306) | function markAllFinished(state: State) { FILE: __tests__/empty.ts function createBaseState (line 95) | function createBaseState() { class Stock (line 123) | class Stock { method constructor (line 126) | constructor(public price: number) {} method pushPrice (line 128) | pushPrice(price: number) { type State (line 133) | type State = { FILE: __tests__/frozen.js function runTests (line 16) | function runTests(name) { FILE: __tests__/manual.js function runTests (line 18) | function runTests(name) { FILE: __tests__/map-set.js function runBaseTest (line 25) | function runBaseTest(name, autoFreeze, useListener) { FILE: __tests__/not-strict-copy.ts class X (line 37) | class X { method constructor (line 41) | constructor() { method baz (line 51) | get baz() { FILE: __tests__/patch.js function createPatchTestData (line 23) | function createPatchTestData( function runPatchTests (line 47) | function runPatchTests( function run (line 1107) | function run() { class Base (line 1193) | class Base { method nested (line 1195) | get nested() { method nested (line 1198) | set nested(value) {} class Test (line 1217) | class Test { method constructor (line 1218) | constructor() { method perform (line 1221) | perform() { FILE: __tests__/produce.ts type State (line 18) | interface State { type State (line 70) | type State = {readonly a: number} type Recipe (line 71) | type Recipe = (state?: State | undefined) => State type A (line 78) | type A = {readonly a: string} type B (line 79) | type B = {readonly b: string} type State (line 80) | type State = A | B type Recipe (line 81) | type Recipe = (state: State) => State type State (line 94) | type State = {readonly a: string} | {readonly b: string} type Recipe (line 95) | type Recipe = (state: State, x: number) => State type State (line 105) | type State = {readonly a: string} | {readonly b: string} type Recipe (line 106) | type Recipe = (state: State | undefined, x: number) => State type Recipe (line 113) | type Recipe = (state: S) => S type State (line 182) | type State = {readonly a: 1} type Recipe (line 186) | type Recipe = (state: State, a: number, b: number) => State type Recipe (line 194) | type Recipe = (state: Immutable, ...rest: number[]) => Draft type Recipe (line 202) | type Recipe = (state?: State | undefined, ...rest: number[]) => State type Recipe (line 213) | type Recipe = ( type State (line 288) | type State = {readonly a: number} | undefined type State (line 339) | type State = typeof state type State (line 370) | type State = { type S (line 450) | type S = {readonly x: number} type S (line 466) | type S = {readonly x: number} function nextNumberCalculator (line 509) | function nextNumberCalculator(fn: (base: number) => number) { function useState (line 532) | function useState( type Dispatch (line 537) | type Dispatch = (value: A) => void type SetStateAction (line 538) | type SetStateAction = S | ((prevState: S) => S) function useState (line 569) | function useState( type Dispatch (line 574) | type Dispatch = (value: A) => void type SetStateAction (line 575) | type SetStateAction = S | ((prevState: S) => S) type Todo (line 606) | type Todo = {title: string} type State (line 629) | type State = {count: number} type ROState (line 630) | type ROState = Immutable type TestReadonlyObject (line 749) | type TestReadonlyObject = { FILE: __tests__/readme.js class Clock (line 132) | class Clock { method constructor (line 133) | constructor(hours = 0, minutes = 0) { method increment (line 138) | increment(hours, minutes = 0) { method toString (line 145) | toString() { method constructor (line 245) | constructor(hour, minute) { method time (line 250) | get time() { method tick (line 254) | tick() { class Clock (line 242) | class Clock { method constructor (line 133) | constructor(hours = 0, minutes = 0) { method increment (line 138) | increment(hours, minutes = 0) { method toString (line 145) | toString() { method constructor (line 245) | constructor(hour, minute) { method time (line 250) | get time() { method tick (line 254) | tick() { FILE: __tests__/redux.ts type State (line 7) | interface State { type Action (line 11) | interface Action { type State (line 85) | interface State { type Action (line 89) | interface Action { type State (line 165) | type State = { type Action (line 169) | type Action = { type State (line 200) | type State = { type Action (line 204) | type Action = { FILE: __tests__/regressions.js function runBaseTest (line 18) | function runBaseTest(name, useProxies, autoFreeze, useListener) { FILE: __tests__/spec_ts.ts class Any (line 8) | class Any { type TestExact (line 16) | type TestExact = type IsAny (line 19) | type IsAny = Any extends T ? ([T] extends [Any] ? 1 : 0) : 0 type Test (line 21) | type Test = IsAny extends 1 type Assert (line 35) | type Assert = U extends 1 FILE: __tests__/type-external.ts type A (line 6) | type A = Draft type A (line 11) | type A = Draft type A (line 16) | type A = Draft<[string, number, JSONArray, JSONObject]> FILE: __tests__/updateScenarios.js constant TEST_CONFIG (line 5) | const TEST_CONFIG = { function createInitialState (line 12) | function createInitialState(arraySize = TEST_CONFIG.arraySize) { FILE: perf-testing/immutability-benchmarks.mjs function createInitialState (line 27) | function createInitialState(arraySize = BENCHMARK_CONFIG.arraySize) { constant MAX (line 58) | const MAX = 1 constant BENCHMARK_CONFIG (line 60) | const BENCHMARK_CONFIG = { function createLargeObject (line 81) | function createLargeObject(size = 100) { function mapValues (line 588) | function mapValues(obj, fn) { function createBenchmarks (line 603) | function createBenchmarks() { function extractBenchmarkData (line 740) | function extractBenchmarkData(benchmarks) { function organizeBenchmarkMatrix (line 773) | function organizeBenchmarkMatrix(data) { function calculateRelativePerformanceAndRankings (line 800) | function calculateRelativePerformanceAndRankings(matrix, scenarios, vers... function formatTime (line 833) | function formatTime(nanoseconds) { function formatRanking (line 850) | function formatRanking(rank) { function formatMultiplier (line 856) | function formatMultiplier(relative) { function shortenVersionName (line 867) | function shortenVersionName(versionName) { function formatScenarioName (line 886) | function formatScenarioName(scenario, maxWidth) { function printSummaryTable (line 902) | function printSummaryTable( function calculateImmer10PerfImprovement (line 1054) | function calculateImmer10PerfImprovement(matrix, scenarios) { function calculateOverallVersionScores (line 1105) | function calculateOverallVersionScores(relativeData, scenarios, versions) { function printImmer10PerfComparison (line 1144) | function printImmer10PerfComparison(improvementData) { function printOverallVersionRankings (line 1224) | function printOverallVersionRankings(versionScores) { function printBenchmarkSummaryTable (line 1257) | function printBenchmarkSummaryTable(benchmarks) { function main (line 1291) | async function main() { FILE: perf-testing/immutability-profiling.mjs constant PROFILING_CONFIG (line 9) | const PROFILING_CONFIG = { constant BENCHMARK_CONFIG (line 43) | const BENCHMARK_CONFIG = { constant MAX (line 52) | const MAX = 1 function createInitialState (line 58) | function createInitialState(arraySize = BENCHMARK_CONFIG.arraySize) { function createLargeObject (line 89) | function createLargeObject(size = 100) { function scenario_add (line 325) | function scenario_add() { function scenario_remove (line 332) | function scenario_remove() { function scenario_update (line 339) | function scenario_update() { function scenario_update_high (line 346) | function scenario_update_high() { function scenario_update_multiple (line 353) | function scenario_update_multiple() { function scenario_remove_high (line 360) | function scenario_remove_high() { function scenario_update_largeObject1 (line 367) | function scenario_update_largeObject1() { function scenario_update_largeObject2 (line 374) | function scenario_update_largeObject2() { function scenario_concat (line 381) | function scenario_concat() { function scenario_mapNested (line 388) | function scenario_mapNested() { function scenario_sortById_reverse (line 395) | function scenario_sortById_reverse() { function scenario_reverse_array (line 402) | function scenario_reverse_array() { function scenario_update_reuse (line 410) | function scenario_update_reuse() { function scenario_update_high_reuse (line 418) | function scenario_update_high_reuse() { function scenario_remove_reuse (line 426) | function scenario_remove_reuse() { function scenario_remove_high_reuse (line 434) | function scenario_remove_high_reuse() { function scenario_update_largeObject1_reuse (line 442) | function scenario_update_largeObject1_reuse() { function scenario_update_largeObject2_reuse (line 450) | function scenario_update_largeObject2_reuse() { function scenario_mixed_sequence (line 459) | function scenario_mixed_sequence() { function scenario_rtkq_sequence (line 468) | function scenario_rtkq_sequence() { function main (line 519) | function main() { FILE: perf-testing/read-cpuprofile.js function extractImmerVersion (line 78) | function extractImmerVersion(sourcePath) { function categorizeFunctionType (line 96) | function categorizeFunctionType(functionName, sourcePath, location) { function enhanceMinifiedName (line 216) | function enhanceMinifiedName(functionName, version) { function resolveOriginalName (line 234) | function resolveOriginalName(callFrame) { FILE: src/core/current.ts function current (line 15) | function current(value: any): any { function currentImpl (line 20) | function currentImpl(value: any): any { FILE: src/core/finalize.ts function processResult (line 27) | function processResult(result: any, scope: ImmerScope) { function finalize (line 63) | function finalize(rootScope: ImmerScope, value: any) { function maybeFreeze (line 100) | function maybeFreeze(scope: ImmerScope, value: any, deep = false) { function markStateFinalized (line 107) | function markStateFinalized(state: ImmerState) { constant EMPTY_LOCATIONS_RESULT (line 116) | const EMPTY_LOCATIONS_RESULT: (string | symbol | number)[] = [] function updateDraftInParent (line 120) | function updateDraftInParent( function registerChildFinalizationCallback (line 169) | function registerChildFinalizationCallback( function generatePatchesAndFinalize (line 194) | function generatePatchesAndFinalize(state: ImmerState, rootScope: ImmerS... function handleCrossReference (line 217) | function handleCrossReference( function handleValue (line 272) | function handleValue( FILE: src/core/immerClass.ts type ProducersFns (line 40) | interface ProducersFns { type StrictMode (line 45) | type StrictMode = boolean | "class_only" class Immer (line 47) | class Immer implements ProducersFns { method constructor (line 52) | constructor(config?: { method createDraft (line 152) | createDraft(base: T): Draft { method finishDraft (line 162) | finishDraft>( method setAutoFreeze (line 178) | setAutoFreeze(value: boolean) { method setUseStrictShallowCopy (line 187) | setUseStrictShallowCopy(value: StrictMode) { method setUseStrictIteration (line 197) | setUseStrictIteration(value: boolean) { method shouldUseStrictIteration (line 201) | shouldUseStrictIteration(): boolean { method applyPatches (line 205) | applyPatches(base: T, patches: readonly Patch[]):... function createProxy (line 234) | function createProxy( FILE: src/core/proxy.ts type ProxyBaseState (line 28) | interface ProxyBaseState extends ImmerBaseState { type ProxyObjectState (line 33) | interface ProxyObjectState extends ProxyBaseState { type ProxyArrayState (line 40) | interface ProxyArrayState extends ProxyBaseState { type ProxyState (line 49) | type ProxyState = ProxyObjectState | ProxyArrayState function createProxyProxy (line 56) | function createProxyProxy( method get (line 110) | get(state, prop) { method has (line 159) | has(state, prop) { method ownKeys (line 162) | ownKeys(state) { method set (line 165) | set( method deleteProperty (line 213) | deleteProperty(state, prop: string) { method getOwnPropertyDescriptor (line 230) | getOwnPropertyDescriptor(state, prop) { method defineProperty (line 241) | defineProperty() { method getPrototypeOf (line 244) | getPrototypeOf(state) { method setPrototypeOf (line 247) | setPrototypeOf() { function peek (line 285) | function peek(draft: Drafted, prop: PropertyKey) { function readPropFromProto (line 291) | function readPropFromProto(state: ImmerState, source: any, prop: Propert... function getDescriptorFromProto (line 302) | function getDescriptorFromProto( function markChanged (line 317) | function markChanged(state: ImmerState) { function prepareCopy (line 326) | function prepareCopy(state: ImmerState) { FILE: src/core/scope.ts type ImmerScope (line 21) | interface ImmerScope { function usePatchesInScope (line 62) | function usePatchesInScope( function revokeScope (line 74) | function revokeScope(scope: ImmerScope) { function leaveScope (line 81) | function leaveScope(scope: ImmerScope) { function revokeDraft (line 90) | function revokeDraft(draft: Drafted) { FILE: src/plugins/arrayMethods.ts type MutatingArrayMethod (line 19) | type MutatingArrayMethod = type NonMutatingArrayMethod (line 44) | type NonMutatingArrayMethod = type ArrayOperationMethod (line 63) | type ArrayOperationMethod = MutatingArrayMethod | NonMutatingArrayMethod function enableArrayMethods (line 100) | function enableArrayMethods() { FILE: src/plugins/mapset.ts function enableMapSet (line 23) | function enableMapSet() { FILE: src/plugins/patches.ts function enablePatches (line 35) | function enablePatches() { FILE: src/types/types-external.ts type AnyFunc (line 3) | type AnyFunc = (...args: any[]) => any type PrimitiveType (line 5) | type PrimitiveType = number | string | boolean type AtomicObject (line 8) | type AtomicObject = Function | Promise | Date | RegExp type IfAvailable (line 17) | type IfAvailable = type WeakReferences (line 31) | type WeakReferences = IfAvailable> | IfAvailable = T extends any[] type WritableNonArrayDraft (line 39) | type WritableNonArrayDraft = { type Draft (line 48) | type Draft = T extends PrimitiveType type Immutable (line 63) | type Immutable = T extends PrimitiveType type Patch (line 77) | interface Patch { type PatchListener (line 83) | type PatchListener = (patches: Patch[], inversePatches: Patch[]) => void type FromNothing (line 86) | type FromNothing = T extends typeof NOTHING ? undefined : T type Produced (line 89) | type Produced = Return extends void type PatchesTuple (line 96) | type PatchesTuple = readonly [T, Patch[], Patch[]] type ValidRecipeReturnType (line 98) | type ValidRecipeReturnType = type ReturnTypeWithPatchesIfNeeded (line 104) | type ReturnTypeWithPatchesIfNeeded< type InferRecipeFromCurried (line 112) | type InferRecipeFromCurried = Curried extends ( type InferInitialStateFromCurried (line 124) | type InferInitialStateFromCurried = Curried extends ( type InferCurriedFromRecipe (line 131) | type InferCurriedFromRecipe< type InferCurriedFromInitialStateAndRecipe (line 143) | type InferCurriedFromInitialStateAndRecipe< FILE: src/types/types-internal.ts type Objectish (line 12) | type Objectish = AnyObject | AnyArray | AnyMap | AnySet type ObjectishNoSet (line 13) | type ObjectishNoSet = AnyObject | AnyArray | AnyMap type AnyObject (line 15) | type AnyObject = {[key: string]: any} type AnyArray (line 16) | type AnyArray = Array type AnySet (line 17) | type AnySet = Set type AnyMap (line 18) | type AnyMap = Map type ArchType (line 20) | const enum ArchType { type ImmerBaseState (line 27) | interface ImmerBaseState { type ImmerState (line 39) | type ImmerState = type Drafted (line 46) | type Drafted = { type GeneratePatches (line 50) | type GeneratePatches = ( FILE: src/utils/common.ts constant CONSTRUCTOR (line 19) | const CONSTRUCTOR = "constructor" constant PROTOTYPE (line 20) | const PROTOTYPE = "prototype" constant CONFIGURABLE (line 22) | const CONFIGURABLE = "configurable" constant ENUMERABLE (line 23) | const ENUMERABLE = "enumerable" constant WRITABLE (line 24) | const WRITABLE = "writable" constant VALUE (line 25) | const VALUE = "value" function isDraftable (line 33) | function isDraftable(value: any): boolean { function isPlainObject (line 48) | function isPlainObject(value: any): boolean { function original (line 70) | function original(value: Drafted): any { function each (line 89) | function each(obj: any, iter: any, strict: boolean = true) { function getArchtype (line 103) | function getArchtype(thing: any): ArchType { function is (line 149) | function is(x: any, y: any): boolean { function isArrayIndex (line 174) | function isArrayIndex(value: string | number): value is number | string { function shallowCopy (line 196) | function shallowCopy(base: any, strict: StrictMode) { function freeze (line 250) | function freeze(obj: any, deep: boolean = false): T { function dontMutateFrozenCollections (line 274) | function dontMutateFrozenCollections() { function isFrozen (line 282) | function isFrozen(obj: any): boolean { FILE: src/utils/env.ts constant NOTHING (line 6) | const NOTHING: unique symbol = Symbol.for("immer-nothing") constant DRAFTABLE (line 16) | const DRAFTABLE: unique symbol = Symbol.for("immer-draftable") constant DRAFT_STATE (line 18) | const DRAFT_STATE: unique symbol = Symbol.for("immer-state") FILE: src/utils/errors.ts function die (line 41) | function die(error: number, ...args: any[]): never { FILE: src/utils/plugins.ts type PatchesPlugin (line 18) | type PatchesPlugin = { type MapSetPlugin (line 33) | type MapSetPlugin = { type ArrayMethodsPlugin (line 39) | type ArrayMethodsPlugin = { type Plugins (line 52) | type Plugins = typeof plugins function getPlugin (line 54) | function getPlugin( function loadPlugin (line 72) | function loadPlugin( type MapState (line 80) | interface MapState extends ImmerBaseState { type SetState (line 88) | interface SetState extends ImmerBaseState { type PatchPath (line 99) | type PatchPath = (string | number)[] FILE: tsup.config.ts method esbuildOptions (line 15) | esbuildOptions(options, _context) { method onSuccess (line 31) | onSuccess() { FILE: vitest-custom-reporter.ts class CustomReporter (line 3) | class CustomReporter implements Reporter { method onFinished (line 4) | onFinished(files: any[], errors: unknown[]) {