Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Unified Diff: polymer_1.0.4/bower_components/ga-api-utils/lib/metadata/metadata.js

Issue 1205703007: Add polymer 1.0 to npm_modules (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Renamed folder to 1.0.4 Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: polymer_1.0.4/bower_components/ga-api-utils/lib/metadata/metadata.js
diff --git a/polymer_1.0.4/bower_components/ga-api-utils/lib/metadata/metadata.js b/polymer_1.0.4/bower_components/ga-api-utils/lib/metadata/metadata.js
new file mode 100644
index 0000000000000000000000000000000000000000..bae9c2459948c7258eb05a70aa40a0748ea8dab7
--- /dev/null
+++ b/polymer_1.0.4/bower_components/ga-api-utils/lib/metadata/metadata.js
@@ -0,0 +1,97 @@
+// Copyright 2015 Google Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+/**
+ * @constuctor Metadata
+ *
+ * Takes an array of metadata columns...
+
+ * @param {Array} columns A list of columns in the format returned by the
+ * metadata API's column#list method.
+ * @returns {AccountSummaries}
+ */
+function Metadata(columns) {
+ this._columns = columns;
+
+ this._metrics = [];
+ this._dimensions = [];
+ this._ids = {};
+
+ this._columns.forEach(function(column) {
+ this._ids[column.id] = column.attributes;
+
+ if (column.attributes.type == 'METRIC') {
+ this._metrics.push(column);
+ }
+ else if (column.attributes.type == 'DIMENSION') {
+ this._dimensions.push(column);
+ }
+ }.bind(this));
+}
+
+
+/**
+ * Get an array of all columns, optionally filtering by status.
+ * @param {string|undefined} status The status to filter by. The status options
+ * are 'public' or 'deprecated'. Not setting a status returns all coluns.
+ * @return {Array} A list of column passing the status filter.
+ */
+Metadata.prototype.all = function(status) {
+ return !status ? this._columns : this._columns.filter(function(column) {
+ return column.attributes.status.toLowerCase() === status.toLowerCase();
+ });
+};
+
+
+/**
+ * Get an array of all metrics, optionally filtering by status.
+ * @param {string|undefined} status The status to filter by. The status
+ * options are 'public' or 'deprecated'. Not setting a status returns all
+ * metrics.
+ * @return {Array} A list of column passing the status filter.
+ */
+Metadata.prototype.allMetrics = function(status) {
+ return !status ? this._metrics : this._metrics.filter(function(metric) {
+ return metric.attributes.status.toLowerCase() === status.toLowerCase();
+ });
+};
+
+
+/**
+ * Get an array of all dimensions, optionally filtering by status.
+ * @param {string|undefined} status The status to filter by. The status
+ * options are 'public' or 'deprecated'. Not setting a status returns all
+ * dimensions.
+ * @return {Array} A list of column passing the status filter.
+ */
+Metadata.prototype.allDimensions = function(status) {
+ return !status ?
+ this._dimensions : this._dimensions.filter(function(dimension) {
+ return dimension.attributes.status.toLowerCase() === status.toLowerCase();
+ });
+};
+
+
+/**
+ * Get the attributs object of a column given the passed ID.
+ * @param {string} id The column ID.
+ * @return {Object} The column attributes object.
+ */
+Metadata.prototype.get = function(id) {
+ return this._ids[id];
+};
+
+
+module.exports = Metadata;

Powered by Google App Engine
This is Rietveld 408576698