123456789101112131415161718192021222324252627 |
- "use strict";
- var ensureString = require("type/string/ensure")
- , esniff = require("./");
- module.exports = function (objName) {
- var length;
- objName = ensureString(objName);
- length = objName.length;
- if (!length) throw new TypeError(objName + " is not valid object name");
- return function (code) {
- var data = [];
- code = ensureString(code);
- esniff(code, function (emitter) {
- emitter.on("trigger:" + objName[0], function (accessor) {
- if (accessor.previousToken === ".") return;
- if (!accessor.skipCodePart(objName)) return;
- accessor.skipWhitespace();
- if (!accessor.skipCodePart(".")) return;
- accessor.skipWhitespace();
- var identifierMeta = accessor.skipIdentifier();
- if (identifierMeta) data.push(identifierMeta);
- });
- });
- return data;
- };
- };
|