Пример #1
0
    combinators = require('./combinators'),
    operators = require('./operators');

function regExpSource (re) {
    return re.source;
}

function regExpUnion (list) {
    return new RegExp('(' + list.map(regExpSource).join('|') + ')');
}

utils.extend(exports, {
    UNIVERSAL:          /\*/,
    GROUP_SEPARATOR:    /\s*,\s*/,
    WHITESPACE:         /\s*/,
    IDENTIFIER:         /[A-Za-z_$][A-Za-z0-9_$\-]+/,
    ATTRIBUTE_START:    /\[\s*/,
    ATTRIBUTE_END:      /\s*\]/,
    QUOTES:             /["']/,
});

Object.defineProperties(exports, {
    TYPE: {
        value: new RegExp('(' + exports.IDENTIFIER.source + ')'),
        enumerable: true
    },
    ID: {
        value: new RegExp('#(' + exports.IDENTIFIER.source + ')'),
        enumerable: true
    },
    MEMBER: {
Пример #2
0
 updateAttributes: function (name, obj) {
     utils.extend(this.item.data, obj);
     return this;
 },
Пример #3
0
        
        this.traverser = this.traverser ||
            new ObjectTraverse({
                typeKey: esprima ? 'type' : opts.typeKey,
                childKeys: esprima ?
                    require('./esprima/node-child-keys') :
                    opts.childKeys
            });
        
        (this.queryEngine = this.queryEngine ||
            new QueryEngine({
                idKey: opts.idKey,
                typeKey: esprima ? 'type' : opts.typeKey,
                typeAliases: opts.esprima ?
                    require('./esprima/type-aliases') :
                    opts.typeAliases
            })).removeAllListeners();
        
        (this.results = this.results || []).length = 0;
        
        return this;
    }
});
//---------------------------------------------------------------------------
// Exports
//---------------------------------------------------------------------------
module.exports = utils.extend(Eligo, {
    Query: Query,
    Path: Path
});