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 c35a996d_752f_6653_4d99_81e012c22a78["observer.spec.ts"] c5601857_7faf_30c6_efca_20de90db006c["vue"] c35a996d_752f_6653_4d99_81e012c22a78 --> c5601857_7faf_30c6_efca_20de90db006c 44839739_d7ca_1c00_8a38_885896b69e14["index"] c35a996d_752f_6653_4d99_81e012c22a78 --> 44839739_d7ca_1c00_8a38_885896b69e14 249e9921_5d55_45a6_e589_ee123f22bc67["dep"] c35a996d_752f_6653_4d99_81e012c22a78 --> 249e9921_5d55_45a6_e589_ee123f22bc67 02e43f4a_da65_7acd_5a98_0f017554a159["index"] c35a996d_752f_6653_4d99_81e012c22a78 --> 02e43f4a_da65_7acd_5a98_0f017554a159 style c35a996d_752f_6653_4d99_81e012c22a78 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