Socket
Socket
Sign inDemoInstall

delivery-tracker

Package Overview
Dependencies
Maintainers
1
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

delivery-tracker - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

lib/courier/deppon.js

3

CHANGELOG.md

@@ -0,1 +1,4 @@

# 1.0.0
* add CJ Korea Express.
# 0.9.4

@@ -2,0 +5,0 @@ * Added exception logic for unaligned shipping information.

24

lib/courier/auspost.js

@@ -71,17 +71,19 @@ 'use strict'

module.exports = {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
module.exports = function (opts) {
return {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
request(tracking, function (err, res, body) {
if (err) {
return cb(err)
}
request(tracking, function (err, res, body) {
if (err) {
return cb(err)
}
var results = parser.trace(body.QueryTrackEventsResponse.TrackingResults)
var results = parser.trace(body.QueryTrackEventsResponse.TrackingResults)
cb(results[0] ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), results[0])
})
cb(results[0] ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), results[0])
})
}
}
}

@@ -63,19 +63,21 @@ 'use strict'

module.exports = {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
module.exports = function (opts) {
return {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
request.post({
url: tracking.url,
form: tracking.data
}, function (err, res, body) {
if (err) {
return cb(err)
}
request.post({
url: tracking.url,
form: tracking.data
}, function (err, res, body) {
if (err) {
return cb(err)
}
var result = parser.trace(body)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)
})
var result = parser.trace(body)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)
})
}
}
}

@@ -73,18 +73,20 @@ 'use strict'

module.exports = {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
request.post({
url: tracking.url,
form: tracking.data
}, function (err, res, body) {
if (err) {
return cb(err)
}
module.exports = function (opts) {
return {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
request.post({
url: tracking.url,
form: tracking.data
}, function (err, res, body) {
if (err) {
return cb(err)
}
var result = parser.trace(body)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)
})
var result = parser.trace(body)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)
})
}
}
}

@@ -86,21 +86,23 @@ 'use strict'

module.exports = {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
module.exports = function (opts) {
return {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
request.post({
url: tracking.url,
form: tracking.data,
json: true
}, function (err, res, body) {
if (err) {
return cb(err)
}
request.post({
url: tracking.url,
form: tracking.data,
json: true
}, function (err, res, body) {
if (err) {
return cb(err)
}
var results = parser.trace(body.TrackPackagesResponse.packageList)
var results = parser.trace(body.TrackPackagesResponse.packageList)
cb(null, results[0])
})
cb(null, results[0])
})
}
}
}

@@ -129,23 +129,25 @@ 'use strict'

module.exports = {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var invalidNumber = validate(number)
if (invalidNumber !== null) {
return cb(tracker.error(invalidNumber))
}
var tracking = trackingInfo(number)
request.post({
url: tracking.url,
form: tracking.data
}, function (err, res, body) {
if (err) {
return cb(err)
module.exports = function (opts) {
return {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var invalidNumber = validate(number)
if (invalidNumber !== null) {
return cb(tracker.error(invalidNumber))
}
var result = parser.trace(body)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)
})
var tracking = trackingInfo(number)
request.post({
url: tracking.url,
form: tracking.data
}, function (err, res, body) {
if (err) {
return cb(err)
}
var result = parser.trace(body)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)
})
}
}
}

@@ -171,76 +171,78 @@ 'use strict'

module.exports = {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
var result = {
courier: PANTOS_COURIER,
number: number,
status: tracker.STATUS.PENDING,
checkpoints: []
}
module.exports = function (opts) {
return {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
var result = {
courier: PANTOS_COURIER,
number: number,
status: tracker.STATUS.PENDING,
checkpoints: []
}
async.waterfall([
function (cb) {
// fetch summary information
request.post({
url: tracking.summary.url,
form: tracking.summary.data
}, function (err, res, body) {
if (err) {
return cb(err)
}
parser.summary(body, cb)
})
},
function (summary, cb) {
result.number = summary.number
if (summary.external && summary.external.number) {
return trackingExternalCheckpoint(summary.external, function (err, checkpoints) {
async.waterfall([
function (cb) {
// fetch summary information
request.post({
url: tracking.summary.url,
form: tracking.summary.data
}, function (err, res, body) {
if (err) {
return cb(err)
}
result.checkpoints = checkpoints
cb()
parser.summary(body, cb)
})
}
cb()
},
function (cb) {
// fetch checkpoints
request.post({
url: tracking.events.url,
form: tracking.events.data
}, function (err, res, body) {
if (err) {
return cb(err)
},
function (summary, cb) {
result.number = summary.number
if (summary.external && summary.external.number) {
return trackingExternalCheckpoint(summary.external, function (err, checkpoints) {
if (err) {
return cb(err)
}
result.checkpoints = checkpoints
cb()
})
}
cb()
},
function (cb) {
// fetch checkpoints
request.post({
url: tracking.events.url,
form: tracking.events.data
}, function (err, res, body) {
if (err) {
return cb(err)
}
parser.checkpoints(body, cb)
})
},
function (checkpoints, cb) {
if (result.checkpoints.length > 0) {
result.checkpoints = result.checkpoints.concat(checkpoints)
result.checkpoints.sort(function (a, b) {
return (+new Date(b.courier.code === tracker.COURIER.PANTOS.CODE && b.time ? b.estimateTime : b.time)) - (+new Date(a.courier.code === tracker.COURIER.PANTOS.CODE && a.time ? a.estimateTime : a.time))
parser.checkpoints(body, cb)
})
} else {
result.checkpoints = checkpoints
},
function (checkpoints, cb) {
if (result.checkpoints.length > 0) {
result.checkpoints = result.checkpoints.concat(checkpoints)
result.checkpoints.sort(function (a, b) {
return (+new Date(b.courier.code === tracker.COURIER.PANTOS.CODE && b.time ? b.estimateTime : b.time)) - (+new Date(a.courier.code === tracker.COURIER.PANTOS.CODE && a.time ? a.estimateTime : a.time))
})
} else {
result.checkpoints = checkpoints
}
result.status = tracker.normalizeStatus(result.checkpoints)
cb(null, result)
}
result.status = tracker.normalizeStatus(result.checkpoints)
cb(null, result)
}
], function (err, trace) {
if (err) {
if (err === 'There is not data found') {
return cb(null, result)
], function (err, trace) {
if (err) {
if (err === 'There is not data found') {
return cb(null, result)
}
return cb(err)
}
return cb(err)
}
cb(null, trace)
})
cb(null, trace)
})
}
}
}

@@ -41,3 +41,3 @@ 'use strict'

result.number = $summary.eq(6).text().trim()
result.number = $summary.eq(2).text().trim()

@@ -80,20 +80,22 @@ if (!result.number) {

module.exports = {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
async.waterfall([
function (cb) {
request.post({
url: tracking.url,
form: tracking.data
}, function (err, res, body) {
cb(err, body)
})
},
function (body, cb) {
parser.trace(body, cb)
}
], cb)
module.exports = function (opts) {
return {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
async.waterfall([
function (cb) {
request.post({
url: tracking.url,
form: tracking.data
}, function (err, res, body) {
cb(err, body)
})
},
function (body, cb) {
parser.trace(body, cb)
}
], cb)
}
}
}

@@ -63,17 +63,19 @@ 'use strict'

module.exports = {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
request.get({
url: tracking.url
}, function (err, res, body) {
if (err) {
return cb(err)
}
module.exports = function (opts) {
return {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
request.get({
url: tracking.url
}, function (err, res, body) {
if (err) {
return cb(err)
}
var result = parser.trace(body)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)
})
var result = parser.trace(body)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)
})
}
}
}

@@ -61,17 +61,19 @@ 'use strict'

module.exports = {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
request.get({
url: tracking.url
}, function (err, res, body) {
if (err) {
return cb(err)
}
module.exports = function (opts) {
return {
trackingInfo: trackingInfo,
trace: function (number, cb) {
var tracking = trackingInfo(number)
request.get({
url: tracking.url
}, function (err, res, body) {
if (err) {
return cb(err)
}
var result = parser.trace(body)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)
})
var result = parser.trace(body)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)
})
}
}
}

@@ -6,3 +6,3 @@ 'use strict'

// cache
var COURIERS = {}
var COURIER_MODULES = {}

@@ -45,2 +45,6 @@ var COURIER = {

NAME: 'CJ Korea Express'
},
DEPPON: {
CODE: 'deppon',
NAME: 'Deppon'
}

@@ -75,11 +79,15 @@ }

var getCourier = function (slug) {
var getCourier = function (slug, opts) {
slug = slug || 'undefined'
if (!COURIER[slug.toUpperCase()]) {
var key = slug.toUpperCase()
if (!COURIER[key]) {
throw new Error('shipment does not support.')
}
if (!COURIERS[slug]) {
COURIERS[slug] = require('./courier/' + slug)
if (!COURIER_MODULES[slug]) {
COURIER_MODULES[slug] = require('./courier/' + slug)
}
return COURIERS[slug]
var courier = COURIER_MODULES[slug](opts)
courier.CODE = COURIER[key].CODE
courier.NAME = COURIER[key].NAME
return courier
}

@@ -104,4 +112,4 @@

},
courier: function (slug) {
return getCourier(slug)
courier: function (slug, opts) {
return getCourier(slug, opts)
},

@@ -108,0 +116,0 @@ normalizeStatus: function (checkpoints) {

{
"name": "delivery-tracker",
"version": "1.0.0",
"version": "1.1.0",
"author": {

@@ -5,0 +5,0 @@ "name": "egg",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc