Skip to content

Commit

Permalink
Setup correctly init state
Browse files Browse the repository at this point in the history
  • Loading branch information
Kikobeats committed Mar 29, 2016
1 parent 85a42a7 commit 0c3f421
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 45 deletions.
2 changes: 1 addition & 1 deletion examples/example.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var Xray = require('./')
var Xray = require('..')
var x = Xray()

x('http://google.com', {
Expand Down
63 changes: 20 additions & 43 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,48 +1,30 @@
/**
* Module Dependencies
*/

var Crawler = require('x-ray-crawler')
var assign = require('object-assign')
var enstore = require('enstore')
var cheerio = require('cheerio')
var fs = require('fs')

/**
* Locals
*/
'use strict'

var objectAssign = require('./lib/util').objectAssign
var compact = require('./lib/util').compact
var isArray = require('./lib/util').isArray
var absolutes = require('./lib/absolutes')
var streamHelper = require('./lib/stream')
var isUrl = require('./lib/util').isUrl
var Crawler = require('x-ray-crawler')
var resolve = require('./lib/resolve')
var root = require('./lib/util').root
var params = require('./lib/params')
var walk = require('./lib/walk')

/**
* Debugs
*/

var debug = require('debug')('x-ray')
var cheerio = require('cheerio')
var enstore = require('enstore')
var walk = require('./lib/walk')
var fs = require('fs')

/**
* Crawler methods
*/

var methods = ['concurrency', 'throttle', 'timeout', 'driver', 'delay', 'limit']

/**
* Export
*/

module.exports = Xray

/**
* Initialize X-ray
*/
var CONST = {
CRAWLER_METHODS: ['concurrency', 'throttle', 'timeout', 'driver', 'delay', 'limit'],
INIT_STATE: {
stream: false,
concurrency: Infinity,
paginate: false,
limit: Infinity
}
}

function Xray () {
var crawler = Crawler()
Expand All @@ -53,14 +35,7 @@ function Xray () {
source = args.source
scope = args.context

// state
var state = assign({
stream: false,
concurrency: Infinity,
paginate: false,
limit: Infinity
}, state || {})

var state = objectAssign({}, CONST.INIT_STATE)
var store = enstore()
var pages = []
var stream
Expand Down Expand Up @@ -194,7 +169,7 @@ function Xray () {
return node
}

methods.forEach(function (method) {
CONST.CRAWLER_METHODS.forEach(function (method) {
xray[method] = function () {
if (!arguments.length) return crawler[method]()
crawler[method].apply(crawler, arguments)
Expand Down Expand Up @@ -264,3 +239,5 @@ function WalkHTML (xray, selector, scope) {
})
}
}

module.exports = Xray
4 changes: 3 additions & 1 deletion lib/util.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use strict'

var has = Object.prototype.hasOwnProperty
var objectAssign = require('object-assign')
var isObject = require('isobject')
var isUrl = require('is-url')
var isArray = Array.isArray
Expand Down Expand Up @@ -48,5 +49,6 @@ module.exports = {
isArray: isArray,
isHTML: isHTML,
compact: compact,
isObject: isObject
isObject: isObject,
objectAssign: objectAssign
}

0 comments on commit 0c3f421

Please sign in to comment.