Skip to content

Commit

Permalink
add
Browse files Browse the repository at this point in the history
  • Loading branch information
RubyLouvre committed May 20, 2016
1 parent 99a183a commit 8b643b1
Show file tree
Hide file tree
Showing 7 changed files with 6,467 additions and 5,560 deletions.
46 changes: 22 additions & 24 deletions dist/avalon.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*! built in 2016-5-20:15 version 2.01 by 司徒正美 */
/*! built in 2016-5-20:16 version 2.01 by 司徒正美 */
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
Expand Down Expand Up @@ -5698,11 +5698,12 @@ return /******/ (function(modules) { // webpackBootstrap
var rforAs = /\s+as\s+([$\w]+)/
var rident = __webpack_require__(40).ident
var update = __webpack_require__(43)

var Cache = __webpack_require__(26)
var loopCache = new Cache(600)
var rinvalid = /^(null|undefined|NaN|window|this|\$index|\$id)$/
function getTrackKey(item){
var type = typeof item
return item && type === 'object' ? item.$hashcode : type + item
function getTrackKey(item) {
var type = typeof item
return item && type === 'object' ? item.$hashcode : type + item
}

avalon._each = function (obj, fn) {
Expand All @@ -5720,32 +5721,29 @@ return /******/ (function(modules) { // webpackBootstrap
}
}
}
var loopMap = {}
function getLoopValue(object){
if(Array.isArray(object)){
return object.length+"|"+object.map(getTrackKey).join(';;')
}else{

function getLoopValue(object) {
if (Array.isArray(object)) {
return object.length + "|" + object.map(getTrackKey).join(';;')
} else {
var size = 0
var arr = []
for(var i in object){
if(object.hasOwnProperty(i)){
for (var i in object) {
if (object.hasOwnProperty(i)) {
size++
arr.push(i)
}
}
return size+"|"+arr.join(';;')
return size + "|" + arr.join(';;')
}
}

avalon._checkLoopChange = function(key, obj){
avalon._checkLoopChange = function (key, obj) {
var cur = getLoopValue(obj)
if(!(key in loopMap)){
loopMap[key] = cur
return true
}
if(cur !== loopMap[key]){
loopMap[key] = cur
return true
var old = loopCache.get(key)
if (typeof old !== 'string' || cur !== old) {
loopCache.put(key, cur)
return true
}
return false
}
Expand All @@ -5765,15 +5763,15 @@ return /******/ (function(modules) { // webpackBootstrap

var arr = str.replace(rforPrefix, '').split(' in ')
var assign = 'var loop' + num + ' = ' + avalon.parseExpr(arr[1]) + '\n'
var isChange = el.signature+'.hasChange = avalon._checkLoopChange("'+el.signature+'", loop' + num + ')\n'
var isChange = el.signature + '.hasChange = avalon._checkLoopChange("' + el.signature + '", loop' + num + ')\n'

var alias = aliasAs ? 'var ' + aliasAs + ' = loop' + num + '\n' : ''
var kv = arr[0].replace(rforLeft, '').replace(rforRight, '').split(rforSplit)
if (kv.length === 1) {//确保avalon._each的回调有三个参数
kv.unshift('$key')
}
//分别创建isArray, ____n, ___i, ___v, ___trackKey变量
return assign +isChange+ alias + 'avalon._each(loop' + num + ', function(' + kv + ', traceKey){\n'
return assign + isChange + alias + 'avalon._each(loop' + num + ', function(' + kv + ', traceKey){\n'

},
diff: function (current, previous, steps, __index__) {
Expand Down Expand Up @@ -5893,7 +5891,7 @@ return /******/ (function(modules) { // webpackBootstrap
}

var domTemplate = avalon.parseHTML(vnode.template)

var key = vnode.signature
for (var i in vnode.removedComponents) {
var el = vnode.removedComponents[i]
Expand Down
46 changes: 22 additions & 24 deletions dist/avalon.modern.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*! built in 2016-5-20:15 version 2.01 by 司徒正美 */
/*! built in 2016-5-20:16 version 2.01 by 司徒正美 */
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
Expand Down Expand Up @@ -3347,11 +3347,12 @@ return /******/ (function(modules) { // webpackBootstrap
var rforAs = /\s+as\s+([$\w]+)/
var rident = __webpack_require__(40).ident
var update = __webpack_require__(43)

var Cache = __webpack_require__(26)
var loopCache = new Cache(600)
var rinvalid = /^(null|undefined|NaN|window|this|\$index|\$id)$/
function getTrackKey(item){
var type = typeof item
return item && type === 'object' ? item.$hashcode : type + item
function getTrackKey(item) {
var type = typeof item
return item && type === 'object' ? item.$hashcode : type + item
}

avalon._each = function (obj, fn) {
Expand All @@ -3369,32 +3370,29 @@ return /******/ (function(modules) { // webpackBootstrap
}
}
}
var loopMap = {}
function getLoopValue(object){
if(Array.isArray(object)){
return object.length+"|"+object.map(getTrackKey).join(';;')
}else{

function getLoopValue(object) {
if (Array.isArray(object)) {
return object.length + "|" + object.map(getTrackKey).join(';;')
} else {
var size = 0
var arr = []
for(var i in object){
if(object.hasOwnProperty(i)){
for (var i in object) {
if (object.hasOwnProperty(i)) {
size++
arr.push(i)
}
}
return size+"|"+arr.join(';;')
return size + "|" + arr.join(';;')
}
}

avalon._checkLoopChange = function(key, obj){
avalon._checkLoopChange = function (key, obj) {
var cur = getLoopValue(obj)
if(!(key in loopMap)){
loopMap[key] = cur
return true
}
if(cur !== loopMap[key]){
loopMap[key] = cur
return true
var old = loopCache.get(key)
if (typeof old !== 'string' || cur !== old) {
loopCache.put(key, cur)
return true
}
return false
}
Expand All @@ -3414,15 +3412,15 @@ return /******/ (function(modules) { // webpackBootstrap

var arr = str.replace(rforPrefix, '').split(' in ')
var assign = 'var loop' + num + ' = ' + avalon.parseExpr(arr[1]) + '\n'
var isChange = el.signature+'.hasChange = avalon._checkLoopChange("'+el.signature+'", loop' + num + ')\n'
var isChange = el.signature + '.hasChange = avalon._checkLoopChange("' + el.signature + '", loop' + num + ')\n'

var alias = aliasAs ? 'var ' + aliasAs + ' = loop' + num + '\n' : ''
var kv = arr[0].replace(rforLeft, '').replace(rforRight, '').split(rforSplit)
if (kv.length === 1) {//确保avalon._each的回调有三个参数
kv.unshift('$key')
}
//分别创建isArray, ____n, ___i, ___v, ___trackKey变量
return assign +isChange+ alias + 'avalon._each(loop' + num + ', function(' + kv + ', traceKey){\n'
return assign + isChange + alias + 'avalon._each(loop' + num + ', function(' + kv + ', traceKey){\n'

},
diff: function (current, previous, steps, __index__) {
Expand Down Expand Up @@ -3542,7 +3540,7 @@ return /******/ (function(modules) { // webpackBootstrap
}

var domTemplate = avalon.parseHTML(vnode.template)

var key = vnode.signature
for (var i in vnode.removedComponents) {
var el = vnode.removedComponents[i]
Expand Down
46 changes: 22 additions & 24 deletions dist/avalon.next.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*! built in 2016-5-20:15 version 2.01 by 司徒正美 */
/*! built in 2016-5-20:16 version 2.01 by 司徒正美 */
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
Expand Down Expand Up @@ -3348,11 +3348,12 @@ return /******/ (function(modules) { // webpackBootstrap
var rforAs = /\s+as\s+([$\w]+)/
var rident = __webpack_require__(40).ident
var update = __webpack_require__(43)

var Cache = __webpack_require__(26)
var loopCache = new Cache(600)
var rinvalid = /^(null|undefined|NaN|window|this|\$index|\$id)$/
function getTrackKey(item){
var type = typeof item
return item && type === 'object' ? item.$hashcode : type + item
function getTrackKey(item) {
var type = typeof item
return item && type === 'object' ? item.$hashcode : type + item
}

avalon._each = function (obj, fn) {
Expand All @@ -3370,32 +3371,29 @@ return /******/ (function(modules) { // webpackBootstrap
}
}
}
var loopMap = {}
function getLoopValue(object){
if(Array.isArray(object)){
return object.length+"|"+object.map(getTrackKey).join(';;')
}else{

function getLoopValue(object) {
if (Array.isArray(object)) {
return object.length + "|" + object.map(getTrackKey).join(';;')
} else {
var size = 0
var arr = []
for(var i in object){
if(object.hasOwnProperty(i)){
for (var i in object) {
if (object.hasOwnProperty(i)) {
size++
arr.push(i)
}
}
return size+"|"+arr.join(';;')
return size + "|" + arr.join(';;')
}
}

avalon._checkLoopChange = function(key, obj){
avalon._checkLoopChange = function (key, obj) {
var cur = getLoopValue(obj)
if(!(key in loopMap)){
loopMap[key] = cur
return true
}
if(cur !== loopMap[key]){
loopMap[key] = cur
return true
var old = loopCache.get(key)
if (typeof old !== 'string' || cur !== old) {
loopCache.put(key, cur)
return true
}
return false
}
Expand All @@ -3415,15 +3413,15 @@ return /******/ (function(modules) { // webpackBootstrap

var arr = str.replace(rforPrefix, '').split(' in ')
var assign = 'var loop' + num + ' = ' + avalon.parseExpr(arr[1]) + '\n'
var isChange = el.signature+'.hasChange = avalon._checkLoopChange("'+el.signature+'", loop' + num + ')\n'
var isChange = el.signature + '.hasChange = avalon._checkLoopChange("' + el.signature + '", loop' + num + ')\n'

var alias = aliasAs ? 'var ' + aliasAs + ' = loop' + num + '\n' : ''
var kv = arr[0].replace(rforLeft, '').replace(rforRight, '').split(rforSplit)
if (kv.length === 1) {//确保avalon._each的回调有三个参数
kv.unshift('$key')
}
//分别创建isArray, ____n, ___i, ___v, ___trackKey变量
return assign +isChange+ alias + 'avalon._each(loop' + num + ', function(' + kv + ', traceKey){\n'
return assign + isChange + alias + 'avalon._each(loop' + num + ', function(' + kv + ', traceKey){\n'

},
diff: function (current, previous, steps, __index__) {
Expand Down Expand Up @@ -3543,7 +3541,7 @@ return /******/ (function(modules) { // webpackBootstrap
}

var domTemplate = avalon.parseHTML(vnode.template)

var key = vnode.signature
for (var i in vnode.removedComponents) {
var el = vnode.removedComponents[i]
Expand Down
Loading

0 comments on commit 8b643b1

Please sign in to comment.