Skip to content

Commit a404c23

Browse files
committed
src: enhanced debug
1 parent df066e3 commit a404c23

5 files changed

Lines changed: 45 additions & 32 deletions

File tree

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "quickbase",
3-
"version": "2.8.1",
3+
"version": "2.8.2",
44
"description": "A lightweight, very flexible QuickBase API",
55
"keywords": [
66
"QuickBase",
@@ -42,6 +42,7 @@
4242
},
4343
"dependencies": {
4444
"bluebird": "^3.3.4",
45+
"debug": "^2.6.0",
4546
"lodash.merge": "^4.3.4",
4647
"xml2js": "^0.4.16"
4748
},

quickbase.browserify.min.js

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

quickbase.es5.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ var xml = require('xml2js');
3131
var http = require('http');
3232
var https = require('https');
3333
var merge = require('lodash.merge');
34+
var debugRequest = require('debug')('quickbase:request');
35+
var debugResponse = require('debug')('quickbase:response');
3436
var Promise = require('bluebird');
3537

3638
/* Backwards Compatibility */
@@ -124,6 +126,8 @@ var QuickBase = function () {
124126
function QuickBase(options) {
125127
_classCallCheck(this, QuickBase);
126128

129+
this._id = 0;
130+
127131
this.className = QuickBase.className;
128132

129133
this.settings = merge({}, QuickBase.defaults, options || {});
@@ -142,14 +146,16 @@ var QuickBase = function () {
142146
Promise.using(_this2.throttle.acquire(), function () {
143147
var query = new QueryBuilder(_this2, action, options || {}, callback);
144148

149+
query._id = _this2._id;
150+
151+
++_this2._id;
152+
145153
return query.addFlags().processOptions().actionRequest().constructPayload().processQuery().then(function (results) {
146154
query.results = results;
147155

148156
query.actionResponse();
149157

150-
if (QuickBase.DEBUG) {
151-
console.info('Results Returned: ', query.results);
152-
}
158+
debugResponse(query._id, query.results);
153159

154160
if (callback instanceof Function) {
155161
callback(null, query.results);
@@ -347,6 +353,7 @@ var QueryBuilder = function () {
347353

348354
this.results;
349355

356+
this._id = 0;
350357
this._nErr = 0;
351358

352359
return this;
@@ -569,9 +576,7 @@ var QueryBuilder = function () {
569576
reject(err);
570577
});
571578

572-
if (QuickBase.DEBUG) {
573-
console.info('Sending Request (Headers/Payload):', options, _this7.payload);
574-
}
579+
debugRequest(_this7._id, options, _this7.payload);
575580

576581
request.end();
577582
});
@@ -1567,7 +1572,6 @@ QuickBase.xmlNodeParsers = xmlNodeParsers;
15671572
/* Expose Properties */
15681573
QuickBase.className = 'QuickBase';
15691574
QuickBase.defaults = defaults;
1570-
QuickBase.DEBUG = false;
15711575

15721576
/* Export Module */
15731577
if (typeof module !== 'undefined' && module.exports) {
@@ -1582,7 +1586,9 @@ if (typeof global !== 'undefined' && typeof window !== 'undefined' && global ===
15821586
global.QuickBase = QuickBase;
15831587

15841588
if (window.location.search.match(/debug=1/i)) {
1585-
QuickBase.DEBUG = true;
1589+
if (window.localStorage) {
1590+
window.localStorage.debug = 'quickbase:*';
1591+
}
15861592
} else {
15871593
QuickBase.Promise.config({
15881594
longStackTraces: false

quickbase.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ const xml = require('xml2js');
2020
const http = require('http');
2121
const https = require('https');
2222
const merge = require('lodash.merge');
23+
const debugRequest = require('debug')('quickbase:request');
24+
const debugResponse = require('debug')('quickbase:response');
2325
const Promise = require('bluebird');
2426

2527
/* Backwards Compatibility */
@@ -102,6 +104,8 @@ const defaults = {
102104
class QuickBase {
103105

104106
constructor(options) {
107+
this._id = 0;
108+
105109
this.className = QuickBase.className;
106110

107111
this.settings = merge({}, QuickBase.defaults, options || {});
@@ -116,6 +120,10 @@ class QuickBase {
116120
Promise.using(this.throttle.acquire(), () => {
117121
const query = new QueryBuilder(this, action, options || {}, callback);
118122

123+
query._id = this._id;
124+
125+
++this._id;
126+
119127
return query
120128
.addFlags()
121129
.processOptions()
@@ -127,9 +135,7 @@ class QuickBase {
127135

128136
query.actionResponse();
129137

130-
if (QuickBase.DEBUG) {
131-
console.info('Results Returned: ', query.results);
132-
}
138+
debugResponse(query._id, query.results);
133139

134140
if (callback instanceof Function) {
135141
callback(null, query.results);
@@ -310,6 +316,7 @@ class QueryBuilder {
310316

311317
this.results;
312318

319+
this._id = 0;
313320
this._nErr = 0;
314321

315322
return this;
@@ -530,9 +537,7 @@ class QueryBuilder {
530537
reject(err);
531538
});
532539

533-
if (QuickBase.DEBUG) {
534-
console.info('Sending Request (Headers/Payload):', options, this.payload);
535-
}
540+
debugRequest(this._id, options, this.payload);
536541

537542
request.end();
538543
});
@@ -1515,7 +1520,6 @@ QuickBase.xmlNodeParsers = xmlNodeParsers;
15151520
/* Expose Properties */
15161521
QuickBase.className = 'QuickBase';
15171522
QuickBase.defaults = defaults;
1518-
QuickBase.DEBUG = false;
15191523

15201524
/* Export Module */
15211525
if (typeof module !== 'undefined' && module.exports) {
@@ -1531,7 +1535,9 @@ if (typeof global !== 'undefined' && typeof window !== 'undefined' && global ===
15311535
global.QuickBase = QuickBase;
15321536

15331537
if (window.location.search.match(/debug=1/i)) {
1534-
QuickBase.DEBUG = true;
1538+
if (window.localStorage) {
1539+
window.localStorage.debug = 'quickbase:*';
1540+
}
15351541
} else {
15361542
QuickBase.Promise.config({
15371543
longStackTraces: false

quickbase.sa.min.js

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)