Explorar el Código

move filter utils to misc

Evan You hace 11 años
padre
commit
046dabd1b8
Se han modificado 4 ficheros con 74 adiciones y 76 borrados
  1. 0 1
      component.json
  2. 0 72
      src/util/filter.js
  3. 2 3
      src/util/index.js
  4. 72 0
      src/util/misc.js

+ 0 - 1
component.json

@@ -67,7 +67,6 @@
     "src/util/debug.js",
     "src/util/dom.js",
     "src/util/env.js",
-    "src/util/filter.js",
     "src/util/index.js",
     "src/util/lang.js",
     "src/util/merge-option.js",

+ 0 - 72
src/util/filter.js

@@ -1,72 +0,0 @@
-var _ = require('./debug')
-
-/**
- * Resolve read & write filters for a vm instance. The
- * filters descriptor Array comes from the directive parser.
- *
- * This is extracted into its own utility so it can
- * be used in multiple scenarios.
- *
- * @param {Vue} vm
- * @param {Array<Object>} filters
- * @param {Object} [target]
- * @return {Object}
- */
-
-exports.resolveFilters = function (vm, filters, target) {
-  if (!filters) {
-    return
-  }
-  var res = target || {}
-  // var registry = vm.$options.filters
-  filters.forEach(function (f) {
-    var def = vm.$options.filters[f.name]
-    _.assertAsset(def, 'filter', f.name)
-    if (!def) return
-    var args = f.args
-    var reader, writer
-    if (typeof def === 'function') {
-      reader = def
-    } else {
-      reader = def.read
-      writer = def.write
-    }
-    if (reader) {
-      if (!res.read) res.read = []
-      res.read.push(function (value) {
-        return args
-          ? reader.apply(vm, [value].concat(args))
-          : reader.call(vm, value)
-      })
-    }
-    if (writer) {
-      if (!res.write) res.write = []
-      res.write.push(function (value, oldVal) {
-        return args
-          ? writer.apply(vm, [value, oldVal].concat(args))
-          : writer.call(vm, value, oldVal)
-      })
-    }
-  })
-  return res
-}
-
-/**
- * Apply filters to a value
- *
- * @param {*} value
- * @param {Array} filters
- * @param {Vue} vm
- * @param {*} oldVal
- * @return {*}
- */
-
-exports.applyFilters = function (value, filters, vm, oldVal) {
-  if (!filters) {
-    return value
-  }
-  for (var i = 0, l = filters.length; i < l; i++) {
-    value = filters[i].call(vm, value, oldVal)
-  }
-  return value
-}

+ 2 - 3
src/util/index.js

@@ -4,6 +4,5 @@ var extend = lang.extend
 extend(exports, lang)
 extend(exports, require('./env'))
 extend(exports, require('./dom'))
-extend(exports, require('./filter'))
-extend(exports, require('./debug'))
-extend(exports, require('./misc'))
+extend(exports, require('./misc'))
+extend(exports, require('./debug'))

+ 72 - 0
src/util/misc.js

@@ -1,3 +1,4 @@
+var _ = require('./debug')
 var config = require('../config')
 
 /**
@@ -43,4 +44,75 @@ exports.createAnchor = function (content, persist) {
   return config.debug
     ? document.createComment(content)
     : document.createTextNode(persist ? ' ' : '')
+}
+
+/**
+ * Resolve read & write filters for a vm instance. The
+ * filters descriptor Array comes from the directive parser.
+ *
+ * This is extracted into its own utility so it can
+ * be used in multiple scenarios.
+ *
+ * @param {Vue} vm
+ * @param {Array<Object>} filters
+ * @param {Object} [target]
+ * @return {Object}
+ */
+
+exports.resolveFilters = function (vm, filters, target) {
+  if (!filters) {
+    return
+  }
+  var res = target || {}
+  // var registry = vm.$options.filters
+  filters.forEach(function (f) {
+    var def = vm.$options.filters[f.name]
+    _.assertAsset(def, 'filter', f.name)
+    if (!def) return
+    var args = f.args
+    var reader, writer
+    if (typeof def === 'function') {
+      reader = def
+    } else {
+      reader = def.read
+      writer = def.write
+    }
+    if (reader) {
+      if (!res.read) res.read = []
+      res.read.push(function (value) {
+        return args
+          ? reader.apply(vm, [value].concat(args))
+          : reader.call(vm, value)
+      })
+    }
+    if (writer) {
+      if (!res.write) res.write = []
+      res.write.push(function (value, oldVal) {
+        return args
+          ? writer.apply(vm, [value, oldVal].concat(args))
+          : writer.call(vm, value, oldVal)
+      })
+    }
+  })
+  return res
+}
+
+/**
+ * Apply filters to a value
+ *
+ * @param {*} value
+ * @param {Array} filters
+ * @param {Vue} vm
+ * @param {*} oldVal
+ * @return {*}
+ */
+
+exports.applyFilters = function (value, filters, vm, oldVal) {
+  if (!filters) {
+    return value
+  }
+  for (var i = 0, l = filters.length; i < l; i++) {
+    value = filters[i].call(vm, value, oldVal)
+  }
+  return value
 }