Last active
September 8, 2017 09:17
-
-
Save kaorun343/42ea535437938839c9a1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| interface Array<T> { | |
| $remove(item: T): Array<T>; | |
| $set(index: number, val: T): T; | |
| } | |
| declare namespace vuejs { | |
| interface PropOption { | |
| type?: any; | |
| required?: boolean; | |
| default?: boolean; | |
| twoWay?: boolean; | |
| validator?(value: any): boolean; | |
| } | |
| interface ComputedOption { | |
| get(): any; | |
| set(value: any): void; | |
| } | |
| interface WatchOption { | |
| handler(val: any, oldVal: any): void; | |
| deep?: boolean; | |
| immidiate?: boolean; | |
| } | |
| interface DirectiveOption { | |
| bind?(): any; | |
| update?(newVal?: any, oldVal?: any): any; | |
| unbind?(): any; | |
| params?: string[]; | |
| deep?: boolean; | |
| twoWay?: boolean; | |
| acceptStatement?: boolean; | |
| priority?: number; | |
| [key: string]: any; | |
| } | |
| interface FilterOption { | |
| read: Function; | |
| write: Function; | |
| } | |
| interface TransitionOption { | |
| css?: boolean; | |
| beforeEnter?(el: HTMLElement): void; | |
| enter?(el: HTMLElement, done?: () => void): void; | |
| afterEnter?(el: HTMLElement): void; | |
| enterCancelled?(el: HTMLElement): void; | |
| beforeLeave?(el: HTMLElement): void; | |
| leave?(el: HTMLElement, done?: () => void): void; | |
| afterLeave?(el: HTMLElement): void; | |
| leaveCancelled?(el: HTMLElement): void; | |
| stagger?(index: number): number; | |
| } | |
| interface ComponentOption { | |
| data?: {[key: string]: any } | Function; | |
| props?: string[] | { [key: string]: PropOption }; | |
| computed?: { [key: string]: ( Function | ComputedOption ) }; | |
| methods?: { [key: string]: Function }; | |
| watch?: { [key: string]: ( (val: any, oldVal: any) => void | string | WatchOption )}; | |
| el?: string | HTMLElement | ( () => HTMLElement ); | |
| template?: string; | |
| replace?: boolean; | |
| created?(): void; | |
| beforeCompile?(): void; | |
| compiled?(): void; | |
| ready?(): void; | |
| attached?(): void; | |
| detached?(): void; | |
| beforeDestroy?(): void; | |
| destroyed?(): void; | |
| directives?: { [key: string]: ( DirectiveOption | Function ) }; | |
| elementDirectives?: { [key: string]: ( DirectiveOption | Function ) }; | |
| filters?: { [key: string]: ( Function | FilterOption ) }; | |
| components?: { [key: string]: ComponentOption }; | |
| transitions?: { [key: string]: TransitionOption }; | |
| partials?: { [key: string]: string }; | |
| parent?: Vue; | |
| events?: { [key: string]: ( (...args: any[]) => (boolean | void) ) | string }; | |
| mixins?: ComponentOption[]; | |
| name?: string; | |
| [key: string]: any; | |
| } | |
| // instance/api/data.js | |
| interface $get { ( exp: string, asStatement?: boolean ): any; } | |
| interface $set { ( key: string | number, value: any ): void; } | |
| interface $delete { ( key: string) : void; } | |
| interface $watch { ( expOrFn: string | Function, callback: ( (newVal: any, oldVal?: any) => any ) | string, options?: { deep?: boolean, immidiate?: boolean } ): Function; } | |
| interface $eval { ( expression: string ): string; } | |
| interface $interpolate { ( expression: string ): string; } | |
| interface $log { ( keypath?: string ): void; } | |
| // instance/api/dom.js | |
| interface $nextTick { ( callback: Function ): void; } | |
| interface $appendTo<V> { ( target: ( HTMLElement | string ), callback?: Function, withTransition?: boolean ): V; } | |
| interface $prependTo<V> { ( target: ( HTMLElement | string ), callback?: Function, withTransition?: boolean ): V; } | |
| interface $before<V> { ( target: ( HTMLElement | string ), callback?: Function, withTransition?: boolean ): V; } | |
| interface $after<V> { ( target: ( HTMLElement | string ), callback?: Function, withTransition?: boolean ): V; } | |
| interface $remove<V> { ( callback?: Function ): V; } | |
| // instance/api/events.js | |
| interface $on<V> { (event: string, callback: Function): V; } | |
| interface $once<V> { (event: string, callback: Function): V; } | |
| interface $off<V> { (event?: string, callback?: Function): V; } | |
| interface $emit<V> { (event: string, ...args: any[]): V; } | |
| interface $broadcast<V> { (event: string, ...args: any[]): V; } | |
| interface $dispatch<V> { (event: string, ...args: any[]): V; } | |
| // instance/api/lifecycle.js | |
| interface $mount<V> { ( elementOrSelector?: ( HTMLElement | string ) ): V; } | |
| interface $destroy { (remove?: boolean): void; } | |
| interface $compile { (el: Element | DocumentFragment, host?: Vue): Function; } | |
| interface Vue { | |
| $data?: any; | |
| $el?: HTMLElement; | |
| $options?: Object; | |
| $parent?: Vue; | |
| $root?: Vue; | |
| $children?: Vue[]; | |
| $refs?: Object; | |
| $els?: Object; | |
| $get?: $get; | |
| $set?: $set; | |
| $delete?: $delete; | |
| $eval?: $eval; | |
| $interpolate?: $interpolate; | |
| $log?: $log; | |
| $watch?: $watch; | |
| $on?: $on<this>; | |
| $once?: $once<this>; | |
| $off?: $off<this>; | |
| $emit?: $emit<this>; | |
| $dispatch?: $dispatch<this>; | |
| $broadcast?: $broadcast<this>; | |
| $appendTo?: $appendTo<this>; | |
| $before?: $before<this>; | |
| $after?: $after<this>; | |
| $remove?: $remove<this>; | |
| $nextTick?: $nextTick; | |
| $mount?: $mount<this>; | |
| $destroy?: $destroy; | |
| $compile?: $compile; | |
| _init?(options?: ComponentOption): void; | |
| } | |
| interface VueConfig { | |
| debug: boolean; | |
| delimiters: [string, string]; | |
| unsafeDelimiters: [string, string]; | |
| silent: boolean; | |
| async: boolean; | |
| convertAllProperties: boolean; | |
| } | |
| interface VueUtil { | |
| // util/lang.js | |
| set(obj: Object, key: string, value: any): void; | |
| del(obj: Object, key: string): void; | |
| hasOwn(obj: Object, key: string): boolean; | |
| isLiteral(exp: string): boolean; | |
| isReserved(str: string): boolean; | |
| _toString(value: any): string; | |
| toNumber<T>(value: T): T | number; | |
| toBoolean<T>(value: T): T | boolean; | |
| stripQuotes(str: string): string; | |
| camelize(str: string): string; | |
| hyphenate(str: string): string; | |
| classify(str: string): string; | |
| bind(fn: Function, ctx: Object): Function; | |
| toAarray<T>(list: ArrayLike<T>, start?: number): Array<T>; | |
| extend<T, F>(to: T, from: F): ( T & F ); | |
| isObject(obj: any): boolean; | |
| isPlainObject(obj: any): boolean; | |
| isArray: typeof Array.isArray; | |
| def(obj: Object, key: string, value: any, enumerable?: boolean): void; | |
| debounce(func: Function, wait: number): Function; | |
| indexOf<T>(arr: Array<T>, obj: T): number; | |
| cancellable(fn: Function): Function; | |
| looseEqual(a: any, b: any): boolean; | |
| // util/env.js | |
| hasProto: boolean; | |
| inBrowser: boolean; | |
| isIE9: boolean; | |
| isAndroid: boolean; | |
| transitionProp: string; | |
| transitionEndEvent: string; | |
| animationProp: string; | |
| animationEndEvent: string; | |
| nextTick(cb: Function, ctx?: Object): void; | |
| // util/dom.js | |
| query(el: string | Element): Element; | |
| inDoc(node: Node): boolean; | |
| getAttr(node: Node, _attr: string): string; | |
| getBindAttr(node: Node, name: string): string; | |
| before(el: Element, target: Element): void; | |
| after(el: Element, target: Element): void; | |
| remove(el: Element): void; | |
| prepend(el: Element, target: Element): void; | |
| replace(target: Element, el: Element): void; | |
| on(el: Element, event: string, cb: Function): void; | |
| off(el: Element, event: string, cb: Function): void; | |
| addClass(el: Element, cls: string): void; | |
| removeClass(el: Element, cls: string): void; | |
| extractContent(el: Element, asFragment: boolean): ( HTMLDivElement | DocumentFragment ); | |
| trimNode(node: Node): void; | |
| isTemplate(el: Element): boolean; | |
| createAnchor(content: string, persist: boolean): ( Comment | Text ); | |
| findRef(node: Element): string; | |
| mapNodeRange(node: Node, end: Node, op: Function): void; | |
| removeNodeRange(start: Node, end: Node, vm: any, frag: DocumentFragment, cb: Function): void; | |
| // util/options.js | |
| mergeOptions<P, C>(parent: P, child: C, vm?: any): ( P & C ); | |
| resolveAsset(options: Object, type: string, id: string): ( Object | Function ); | |
| assertAsset(val: any, type: string, id: string): void; | |
| // util/component.js | |
| commonTagRE: RegExp; | |
| checkComponentAttr(el: Element, options?: Object): Object; | |
| initProp(vm: Vue, prop: Object, value: any): void; | |
| assertProp(prop: Object, value: any): boolean; | |
| // util/debug.js | |
| warn(msg: string, e?: Error): void; | |
| // observer/index.js | |
| defineReactive(obj: Object, key: string, val: any): void; | |
| } | |
| // instance/api/global.js | |
| interface VueStatic { | |
| new(options?: any): Vue; | |
| prototype: Vue; | |
| util: VueUtil; | |
| config: VueConfig; | |
| set(object: Object, key: string, value: any): void; | |
| delete(object: Object, key: string): void; | |
| nextTick(callback: Function): any; | |
| cid: number; | |
| extend(options?: ComponentOption): VueStatic; | |
| use(callback: Function | {install: Function, [key: string]: any}, option?: Object): VueStatic; | |
| mixin(mixin: Object): void; | |
| directive<T extends ( Function | DirectiveOption ) >(id: string, definition: T): T; | |
| directive(id: string): any; | |
| elementDirective<T extends ( Function | DirectiveOption ) >(id: string, definition: T): T; | |
| elementDirective(id: string): any; | |
| filter<T extends ( Function | FilterOption ) >(id: string, definition: T): T; | |
| filter(id: string): any; | |
| component(id: string, definition: ComponentOption): any; | |
| component(id: string): any; | |
| transition<T extends TransitionOption >(id: string, hooks: T): T; | |
| transition(id: string): TransitionOption; | |
| partial(id: string, partial: string): string; | |
| partial(id: string): string; | |
| } | |
| } | |
| declare var Vue: vuejs.VueStatic; | |
| declare module "vue" { | |
| export default Vue; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment