You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
node-cdx/lib/CDXRecord.coffee

31 lines
755 B
CoffeeScript

moment = require "moment"
module.exports = class CDXRecord
data: {} # For JSON output purposes etc.
constructor: (@delimiter, @signature) ->
getData: ->
return @data
generateRecord: ->
parseRecord: (data) ->
if not data?
return
fields = data.split(@delimiter)
for i, fieldName of @signature
if fields[i]? and fields[i] != "-"
switch fieldName
when "date"
value = moment fields[i], "YYYYMMDDHHmmss"
when "compressedDATFileOffset", "compressedARCFileOffset", "uncompressedDATFileOffset", "uncompressedARCFileOffset", "responseCode", "ARCDocumentLength", "port", "compressedRecordSize"
value = parseInt(fields[i])
else
value = fields[i]
this[fieldName] = value
@data[fieldName] = value