observer.js
524 Bytes
import {
isFunc
} from './utils/tools'
import {
firstLetterUpper
} from './utils/helper'
const EVENT_TYPE = ['ready', 'beforeImageLoad', 'beforeDraw', 'imageLoad']
export default function observer () {
const self = this
self.on = (event, fn) => {
if (EVENT_TYPE.indexOf(event) > -1) {
if (isFunc(fn)) {
event === 'ready'
? fn(self)
: self[`on${firstLetterUpper(event)}`] = fn
}
} else {
console.error(`event: ${event} is invalid`)
}
return self
}
}