增加晶全app静态页面
This commit is contained in:
40
node_modules/esniff/function.js
generated
vendored
Normal file
40
node_modules/esniff/function.js
generated
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
"use strict";
|
||||
|
||||
var ensureString = require("type/string/ensure")
|
||||
, isValue = require("type/value/is")
|
||||
, esniff = require("./");
|
||||
|
||||
module.exports = function (name/*, options*/) {
|
||||
var options = Object(arguments[1])
|
||||
, asProperty = options.asProperty
|
||||
, asPlain = isValue(options.asPlain) ? options.asPlain : true;
|
||||
var length, names;
|
||||
name = ensureString(name);
|
||||
names = name.split(".").map(function (prop) {
|
||||
prop = prop.trim();
|
||||
if (!prop) throw new TypeError(name + " is not valid function name");
|
||||
return prop;
|
||||
});
|
||||
length = names.length;
|
||||
return function (code) {
|
||||
code = ensureString(code);
|
||||
return esniff(code, function (emitter) {
|
||||
emitter.on("trigger:" + names[0][0], function (accessor) {
|
||||
if (accessor.previousToken === ".") {
|
||||
if (!asProperty) return;
|
||||
} else if (!asPlain) {
|
||||
return;
|
||||
}
|
||||
for (var i = 0, propertyName; (propertyName = names[i]); ++i) {
|
||||
if (!accessor.skipCodePart(propertyName)) return;
|
||||
accessor.skipWhitespace();
|
||||
if (i < length - 1) {
|
||||
if (!accessor.skipCodePart(".")) return;
|
||||
accessor.skipWhitespace();
|
||||
}
|
||||
}
|
||||
accessor.collectScope();
|
||||
});
|
||||
});
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user