aboutsummaryrefslogtreecommitdiff
path: root/lib/formatters
diff options
context:
space:
mode:
authorBen Beltran <ben@freshout.us>2014-03-20 10:27:45 -0600
committerBen Beltran <ben@freshout.us>2014-03-20 10:27:45 -0600
commita181aeae67a9c9c86e9df92ab5c0de6ce00f47fb (patch)
tree14573b00ea3b9538b5875d5745b1f89d5d2a32d5 /lib/formatters
parent26b061b8b81f39ad11fbd9c6c761ec3e699dbad2 (diff)
Cobalt 2.0 -> Now with neon 2.0
Diffstat (limited to 'lib/formatters')
-rw-r--r--lib/formatters/ansi.js62
-rw-r--r--lib/formatters/event_tracker.js270
-rw-r--r--lib/formatters/simple.js31
-rw-r--r--lib/formatters/token.js121
4 files changed, 75 insertions, 409 deletions
diff --git a/lib/formatters/ansi.js b/lib/formatters/ansi.js
index 25ad256..806869a 100644
--- a/lib/formatters/ansi.js
+++ b/lib/formatters/ansi.js
@@ -1,47 +1,29 @@
-(function (global) {
- var Module;
-
- // Load up dependencies
- if (typeof require === 'function') {
+if (typeof require === 'function') {
require('colors');
- var Ne = require('neon');
- Module = Ne.Module;
- } else {
- Module = global.Module;
- }
+}
- var Cobalt = {};
- Module(Cobalt, 'Formatter')({});
+Module(Cobalt.Formatter, 'Ansi')({
+ format : function (logObject, opts){
+ var indent,
+ message;
- Cobalt.Formatter.Ansi = Module(Cobalt.Formatter, 'Ansi')({
- format : function (logObject, opts){
- var indent,
- message;
+ indent = Array(logObject._indentLevel + 1).join(' ');
- indent = Array(logObject._indentLevel + 1).join(' ');
+ message = indent + logObject.message;
- message = indent + logObject.message;
-
- switch(logObject._level) {
- case 0:
- case 1:
- case 2:
- case 3:
- return message.red;
- case 4:
- return message.yellow;
- case 5:
- case 6:
- return message.blue;
- default:
- return message;
- }
+ switch(logObject._level) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ return message.red;
+ case 4:
+ return message.yellow;
+ case 5:
+ case 6:
+ return message.blue;
+ default:
+ return message;
}
- });
-
- if (typeof require === 'function') {
- global.Ansi = Cobalt.Formatter.Ansi;
- } else {
- global.Cobalt.Formatter.Ansi = Cobalt.Formatter.Ansi;
}
-}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self)));
+});
diff --git a/lib/formatters/event_tracker.js b/lib/formatters/event_tracker.js
deleted file mode 100644
index 53cef95..0000000
--- a/lib/formatters/event_tracker.js
+++ /dev/null
@@ -1,270 +0,0 @@
-(function (global) {
- var Module;
-
- // Load up dependencies
- if (typeof require === 'function') {
- var Ne = require('neon');
- Module = Ne.Module;
- } else {
- Module = global.Module;
- }
-
- var Cobalt = {};
- Module(Cobalt, 'Formatter')({});
-
- Cobalt.Formatter.EventTracker = Module(Cobalt.Formatter, 'EventTracker')({
-
- // Main formatter entry point, validate type and send to proper format
- // method
- format : function (logObject) {
- switch(this._validateFormat(logObject)){
- case 'error':
- return this._formatError(logObject);
- break;
- case 'event':
- logObject._type = 'event';
- return this._formatEvent(logObject);
- break;
- }
- return undefined;
- },
-
- // Format error
- _formatError : function (logObject) {
- var errorObject;
-
- errorObject = logObject.error;
- errorObject._type = 'error';
-
- if (typeof Client !== 'undefined') {
- errorObject.site_id = Client.pageInfo.site.id;
- }else if (global.data && global.data.site && global.data.site.id) {
- errorObject.site_id = global.data.site.id;
- }
- errorObject.scoped_class_name = errorObject.meta.scopedClassName;
- errorObject.user_agent = global.navigator.userAgent;
-
- return errorObject;
- },
-
- // Format the event
- _formatEvent : function (logObject) {
- var eventToSend;
-
- eventToSend = this._createStructure(logObject);
-
- return eventToSend;
- },
-
- // Check for the fingerprint of an event or an error
- _validateFormat : function (logObject) {
- if (typeof logObject === 'object'){
- // Check for error object (must have meta)
- if (logObject.hasOwnProperty('error')) {
- if (logObject.error.hasOwnProperty('meta')) {
- return 'error';
- }
- // Check for event object (must have type)
- } else if (logObject.hasOwnProperty('event')) {
- if (logObject.event.hasOwnProperty('type')) {
- return 'event';
- }
- }
- }
- return undefined;
- },
-
- // This was ported as-is, but It's weird that we're doing lithium logic in
- // here. TODO: Please move this elsewhere. - ben
- _pushToLithium : function (object) {
- var lithiumEvent;
-
- if (typeof Li !== 'undefined') {
- if (Li.stack) {
- lithiumEvent = {
- type : object.event.type,
- instanceName : (object.event.data) ? (object.event.data.name || object.event.data.id || '---') : '---',
- time : global.Cobalt.now()
- };
-
- Li.events.push(lithiumEvent);
- Li.stack.push(lithiumEvent);
-
- // Another note: There was another push to Li.stack that checked if it
- // was typeof === array. Which will never happen since array is typeof
- // Object. But I could be wrong. So... yeah. That.
-
- if (Li.events.length > 20) {
- Li.stack.shift();
- }
- }
- }
- },
-
- // Create the main structure, also push to lithium
- _createStructure : function (logObject) {
- var event = {};
-
- this._pushToLithium(logObject);
-
- event.site_id = global.Client ? Client.pageInfo.site.id : 'client not found';
- event.event_type = logObject.event.type;
-
- event.data = logObject.event.data || {};
- event.data = this._process(event.data);
- event.data.user_time_stamp = global.Cobalt.now();
-
- event = this._addSiteData(event);
- event = this._addTrackingData(event);
-
- event._type = 'event';
-
- return event;
- },
-
- // Add required data from siteInfo
- _addSiteData : function (event) {
- if (typeof siteInfo !== 'undefined') {
- event.data.trial_period_days_left = siteInfo.trialPeriodDaysLeft;
- event.data.billing_status = siteInfo.billingStatus;
- event.data.is_admin_on_trial = siteInfo.isAdminOnTrial;
- event.data.is_new_site = siteInfo.isNewSite;
- event.data.is_for_play = siteInfo.forPlay;
- event.data.page_path = siteInfo.currentPagePath;
- }
-
- return event;
- },
-
- // Add required tracking variables for ad campaigns and such
- _addTrackingData : function (event) {
- if (typeof siteInfo !== 'undefined' && siteInfo.trackingVariables) {
- event.data.initial_referring_domain = siteInfo.trackingVariables.initial_referring_domain;
- event.data.referrer = siteInfo.trackingVariables.referrer;
- event.data.search_keyword = siteInfo.trackingVariables.search_keyword;
- event.data.utm_campaign = siteInfo.trackingVariables.utm_campaign;
- event.data.utm_content = siteInfo.trackingVariables.utm_content;
- event.data.utm_medium = siteInfo.trackingVariables.utm_medium;
- event.data.utm_source = siteInfo.trackingVariables.utm_source;
- event.data.utm_term = siteInfo.trackingVariables.utm_term;
- }
-
- return event;
- },
-
- // Send data through processors to extract valuable metadata
- _process : function (data) {
- if( typeof data !== 'undefined' && typeof data.constructor !== 'undefined' && typeof data.constructor.className !== 'undefined' ){
- switch( data.constructor.className ){
- case 'App':
- return { meta: this._processApp(data) };
-
- case 'Entry':
- return { meta: this._processEntry(data) };
-
- case 'Dot':
- return { meta: this._processDot(data) };
-
- case 'SiteSkin':
- return { meta: this._processSiteSkin(data) };
-
- case 'RepositorySkin':
- return { meta: this._processRepositorySkin(data) };
-
- default :
- //do nothing and create an snapshot for the object
- var snapshot = {};
-
- $.each(data, function(i, el){
- if(typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'){
- snapshot[i] = el;
- }
- });
-
- return { meta: { status: 'No processor for '+data.constructor.className, snapshot: snapshot } };
- }
-
- }else{
- // No process for you
- return { meta: data };
- }
- },
-
- _processApp : function (data) {
- var eventData = {
- displayName : data.record.displayName,
- repositoryAppId : data.record.repositoryApp().id,
- repositoryAppName : data.record.repositoryApp().name
- };
-
- return { app: eventData };
- },
-
- _processEntry : function (data) {
- //get app data
- var app = this.processApp( Client.page['app_' + data.appId] );
-
- var entry = {
- id : data.id,
- fieldValues : {}
- };
-
- //parse and save fieldvalues
- $.each(data.fieldValues, function(i, field){
- entry.fieldValues[field.fieldName] = field.value;
- });
-
- return {app: app, entry : entry};
- },
-
- _processDot : function (data) {
- var target = { type: data.ruleTree.type };
-
- switch (target.type){
- case 'app' :
- target.app = this.processApp( Client.page['app_'+data.ruleTree.id.replace('app_style_','')] ).app;
- break;
- }
-
- var dot = {
- type: data.type,
- name: data.name
- };
-
- return {target: target, dot : dot};
- },
-
- _processSiteSkin : function (data) {
- return { siteSkin : {
- skinName: skinData.name,
- skinId: skinData.id
- }
- };
- },
-
- _processRepositorySkin : function (data) {
- var skin = {
- id : data.id,
- name : data.name,
- userName : data.userName,
- acquireMode : data.acquireMode,
- amountInCents : data.amountInCents,
- featured : data.featured,
- installCount : data.installCount,
- popular : data.popular
- };
-
- return { repositorySkin: skin };
- }
- });
-
- if (Cobalt.Formatter.EventTracker.__objectSpy) {
- Cobalt.Formatter.EventTracker.__objectSpy.destroy();
- }
-
- if (typeof require === 'function') {
- global.EventTracker = Cobalt.Formatter.EventTracker;
- } else {
- global.Cobalt.Formatter.EventTracker = Cobalt.Formatter.EventTracker;
- }
-}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self)));
diff --git a/lib/formatters/simple.js b/lib/formatters/simple.js
index 24f65b3..6d2ad7d 100644
--- a/lib/formatters/simple.js
+++ b/lib/formatters/simple.js
@@ -1,30 +1,9 @@
-(function (global) {
- var Module;
-
- // Load up dependencies
- if (typeof require === 'function') {
- var Ne = require('neon');
- Module = Ne.Module;
- } else {
- Module = global.Module;
- }
-
- var Cobalt = {};
- Module(Cobalt, 'Formatter')({});
-
- Cobalt.Formatter.Simple = Module(Cobalt.Formatter, 'Simple')({
+Module(Cobalt.Formatter, 'Simple')({
format : function (logObject, opts){
- var indent;
+ var indent;
- indent = Array(logObject._indentLevel + 1).join(' ');
+ indent = Array(logObject._indentLevel + 1).join(' ');
- return indent + logObject.message;
+ return indent + logObject.message;
}
- });
-
- if (typeof require === 'function') {
- global.Simple = Cobalt.Formatter.Simple;
- } else {
- global.Cobalt.Formatter.Simple = Cobalt.Formatter.Simple;
- }
-}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self)));
+});
diff --git a/lib/formatters/token.js b/lib/formatters/token.js
index f562f1c..4fa7d57 100644
--- a/lib/formatters/token.js
+++ b/lib/formatters/token.js
@@ -1,83 +1,58 @@
-(function (global) {
- var Module;
+Module(Cobalt.Formatter, 'Token')({
+ formatString : "{{message}}",
+ replaceRule : /{{(.*?)}}/g,
+ separatorLength : 60,
+ separatorType : "-",
+ format : function (logObject, opts){
+ var indent, indentSize,
+ separatorLength, separatorType,
+ output;
+ indentSize = logObject._indentLevel || 0;
- // Load up dependencies
- if (typeof require === 'function') {
- var Ne = require('neon');
- Module = Ne.Module;
- } else {
- Module = global.Module;
- }
-
- var Cobalt = {};
- Module(Cobalt, 'Formatter')({});
-
- Cobalt.Formatter.Token = Module(Cobalt.Formatter, 'Token')({
- formatString : "{{message}}",
- replaceRule : /{{(.*?)}}/g,
- separatorLength : 60,
- separatorType : "-",
- format : function (logObject, opts){
- var indent, indentSize,
- separatorLength, separatorType,
- output;
- indentSize = logObject._indentLevel || 0;
+ indent = Array(indentSize + 1).join(' ');
- indent = Array(indentSize + 1).join(' ');
-
- if (logObject._separator) {
- separatorLength = logObject._separatorLength || this.separatorLength;
- separatorType = logObject._separatorType || this.separatorType;
- output = indent + Array(separatorLength - indentSize + 1).join(separatorType);
- } else {
- output = indent + this.parseFormatString(logObject, opts.formatString);
- }
+ if (logObject._separator) {
+ separatorLength = logObject._separatorLength || this.separatorLength;
+ separatorType = logObject._separatorType || this.separatorType;
+ output = indent + Array(separatorLength - indentSize + 1).join(separatorType);
+ } else {
+ output = indent + this.parseFormatString(logObject, opts.formatString);
+ }
- if (opts.ansiColor) {
- output = this.colorize(logObject._level, output);
- }
+ if (opts.ansiColor) {
+ output = this.colorize(logObject._level, output);
+ }
- return output;
- },
+ return output;
+ },
- parseFormatString : function (logObject, formatString) {
- var resultString = '';
- if (typeof formatString === 'undefined') {
- formatString = this.formatString;
- }
+ parseFormatString : function (logObject, formatString) {
+ var resultString = '';
+ if (typeof formatString === 'undefined') {
+ formatString = this.formatString;
+ }
- resultString = formatString.replace(this.replaceRule, function(match, paren){
- return logObject[paren] || "-";
- });
+ resultString = formatString.replace(this.replaceRule, function(match, paren){
+ return logObject[paren] || "-";
+ });
- return resultString;
- },
+ return resultString;
+ },
- colorize : function (level, message) {
- switch(level) {
- case 0:
- case 1:
- case 2:
- case 3:
- return message.red;
- case 4:
- return message.yellow;
- case 5:
- case 6:
- return message.blue;
- default:
- return message;
- }
+ colorize : function (level, message) {
+ switch(level) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ return message.red;
+ case 4:
+ return message.yellow;
+ case 5:
+ case 6:
+ return message.blue;
+ default:
+ return message;
}
- });
-
- if (Cobalt.Formatter.Token.__objectSpy) {
- Cobalt.Formatter.Token.__objectSpy.destroy();
- }
-
- if (typeof require === 'function') {
- global.Token = Cobalt.Formatter.Token;
- } else {
- global.Cobalt.Formatter.Token = Cobalt.Formatter.Token;
}
-}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self)));
+});