observer.spec.ts — vue Source File
Architecture documentation for observer.spec.ts, a typescript file in the vue codebase. 4 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR f5e925cd_3f85_cfed_27ef_843c13a717fc["observer.spec.ts"] db9e7bef_009d_3918_6e7d_543a36a38d75["vue"] f5e925cd_3f85_cfed_27ef_843c13a717fc --> db9e7bef_009d_3918_6e7d_543a36a38d75 3897e8b5_9242_b5d7_bf5f_783d40cceb59["index"] f5e925cd_3f85_cfed_27ef_843c13a717fc --> 3897e8b5_9242_b5d7_bf5f_783d40cceb59 33c70915_1726_ee82_246e_a7d09e56426a["dep"] f5e925cd_3f85_cfed_27ef_843c13a717fc --> 33c70915_1726_ee82_246e_a7d09e56426a 90a2398a_1498_3263_c62e_0c064dd2c9b3["index"] f5e925cd_3f85_cfed_27ef_843c13a717fc --> 90a2398a_1498_3263_c62e_0c064dd2c9b3 style f5e925cd_3f85_cfed_27ef_843c13a717fc fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import Vue from 'vue'
import {
Observer,
observe,
set as setProp,
del as delProp
} from 'core/observer/index'
import Dep from 'core/observer/dep'
import { hasOwn } from 'core/util/index'
describe('Observer', () => {
it('create on non-observables', () => {
// skip primitive value
const ob1 = observe(1)
expect(ob1).toBeUndefined()
// avoid vue instance
const ob2 = observe(new Vue())
expect(ob2).toBeUndefined()
// avoid frozen objects
const ob3 = observe(Object.freeze({}))
expect(ob3).toBeUndefined()
})
it('create on object', () => {
// on object
const obj: any = {
a: {},
b: {}
}
const ob1 = observe(obj)!
expect(ob1 instanceof Observer).toBe(true)
expect(ob1.value).toBe(obj)
expect(obj.__ob__).toBe(ob1)
// should've walked children
expect(obj.a.__ob__ instanceof Observer).toBe(true)
expect(obj.b.__ob__ instanceof Observer).toBe(true)
// should return existing ob on already observed objects
const ob2 = observe(obj)!
expect(ob2).toBe(ob1)
})
it('create on null', () => {
// on null
const obj: any = Object.create(null)
obj.a = {}
obj.b = {}
const ob1 = observe(obj)!
expect(ob1 instanceof Observer).toBe(true)
expect(ob1.value).toBe(obj)
expect(obj.__ob__).toBe(ob1)
// should've walked children
expect(obj.a.__ob__ instanceof Observer).toBe(true)
expect(obj.b.__ob__ instanceof Observer).toBe(true)
// should return existing ob on already observed objects
const ob2 = observe(obj)!
expect(ob2).toBe(ob1)
})
it('create on already observed object', () => {
// on object
// ... (341 more lines)
Dependencies
- dep
- index
- index
- vue
Source
Frequently Asked Questions
What does observer.spec.ts do?
observer.spec.ts is a source file in the vue codebase, written in typescript.
What does observer.spec.ts depend on?
observer.spec.ts imports 4 module(s): dep, index, index, vue.
Where is observer.spec.ts in the architecture?
observer.spec.ts is located at test/unit/modules/observer/observer.spec.ts (directory: test/unit/modules/observer).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free