blob: b028998740709c11249d0c9a394d6fae49949257 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
var document = require('global/document');
var separators = [ '.', '#' ];
module.exports = query;
function query(selector) {
if (typeof selector !== 'string') {
throw new Error('selector must be a string');
}
// TODO(jasoncampbell): guard against selectors that go more than one depth.
var separator;
var length = separators.length;
for (var i = 0; i < length; i++) {
if (selector.indexOf(separators[i]) > -1) {
separator = separators[i];
break;
}
}
var results;
switch (separator) {
case '.':
var className = selector.replace(separator, '');
results = document.getElementsByClassName(className);
break;
case '#':
var id = selector.replace(separator, '');
results = document.getElementById(id);
break;
default:
results = document.getElementsByTagName(selector);
}
return results;
}