chrono-node
Advanced tools
Comparing version 1.1.3 to 1.1.4
{ | ||
"name": "chrono", | ||
"main": "chrono.js", | ||
"version": "1.1.3", | ||
"version": "1.1.4", | ||
"homepage": "https://github.com/wanasit/chrono", | ||
@@ -6,0 +6,0 @@ "authors": [ |
@@ -10,3 +10,3 @@ { | ||
"license": "MIT", | ||
"version": "1.1.3", | ||
"version": "1.1.4", | ||
"directories": { | ||
@@ -13,0 +13,0 @@ "source": "./src", |
@@ -31,9 +31,13 @@ Chrono | ||
<script src="https://cdn.jsdelivr.net/chrono/VERSION/chrono.min.js"></script> | ||
```html | ||
<script src="https://cdn.jsdelivr.net/chrono/VERSION/chrono.min.js"></script> | ||
``` | ||
#### Rails | ||
source 'https://rails-assets.org' do | ||
gem 'rails-assets-chrono' | ||
end | ||
```ruby | ||
source 'https://rails-assets.org' do | ||
gem 'rails-assets-chrono' | ||
end | ||
``` | ||
@@ -40,0 +44,0 @@ #### Browserify |
@@ -10,3 +10,3 @@ /* | ||
var PATTERN = /(\W|^)(today|tonight|tomorrow|tmr|yesterday|last\s*night|this\s*(morning|afternoon|evening))(?=\W|$)/i; | ||
var PATTERN = /(\W|^)(now|today|tonight|tomorrow|tmr|yesterday|last\s*night|this\s*(morning|afternoon|evening))(?=\W|$)/i; | ||
@@ -71,2 +71,9 @@ exports.Parser = function ENCasualDateParser(){ | ||
} | ||
} else if (lowerText.match("now")) { | ||
result.start.imply('hour', refMoment.hour()); | ||
result.start.imply('minute', refMoment.minute()); | ||
result.start.imply('second', refMoment.second()); | ||
} | ||
@@ -73,0 +80,0 @@ |
@@ -10,7 +10,7 @@ /* | ||
var PATTERN = /(\W|^)(within|in)\s*([0-9]+|an?)\s*(minutes?|hours?|days?)\s*(?=(?:\W|$))/i; | ||
var PATTERN = /(\W|^)(within|in)\s*([0-9]+|an?|half(?:\s*an?)?)\s*(minutes?|hours?|days?)\s*(?=(?:\W|$))/i; | ||
exports.Parser = function ENDeadlineFormatParser(){ | ||
Parser.apply(this, arguments); | ||
this.pattern = function() { return PATTERN; } | ||
@@ -33,2 +33,4 @@ | ||
num = 1; | ||
} else if (num.match(/half/)) { | ||
num = 0.5; | ||
} else { | ||
@@ -67,2 +69,1 @@ num = parseInt(num); | ||
} | ||
@@ -10,3 +10,3 @@ /* | ||
var PATTERN = /(\W|^)(?:within\s*)?([0-9]+|an?)\s*(minutes?|hours?|weeks?|days?|months?|years?)\s*(?:ago|before|earlier)(?=(?:\W|$))/i; | ||
var PATTERN = /(\W|^)(?:within\s*)?([0-9]+|an?|half(?:\s*an?)?)\s*(minutes?|hours?|weeks?|days?|months?|years?)\s*(?:ago|before|earlier)(?=(?:\W|$))/i; | ||
var STRICT_PATTERN = /(\W|^)(?:within\s*)?([0-9]+|an?)\s*(minutes?|hours?|days?)\s*ago(?=(?:\W|$))/i; | ||
@@ -38,2 +38,4 @@ | ||
num = 1; | ||
} else if (num.match(/half/)) { | ||
num = 0.5; | ||
} else { | ||
@@ -40,0 +42,0 @@ num = parseInt(num); |
@@ -26,3 +26,3 @@ /* | ||
*/ | ||
var PATTERN = /(\W|^)(esta\s*(mañana|tarde|noche)|(ayer|mañana)\s*por\s*la\s*(mañana|tarde|noche)|hoy|mañana|ayer|anoche)(?=\W|$)/i; | ||
var PATTERN = /(\W|^)(ahora|esta\s*(mañana|tarde|noche)|(ayer|mañana)\s*por\s*la\s*(mañana|tarde|noche)|hoy|mañana|ayer|anoche)(?=\W|$)/i; | ||
@@ -114,2 +114,9 @@ exports.Parser = function ESCasualDateParser(){ | ||
} | ||
} else if (lowerText.match("ahora")) { | ||
result.start.imply('hour', refMoment.hour()); | ||
result.start.imply('minute', refMoment.minute()); | ||
result.start.imply('second', refMoment.second()); | ||
} | ||
@@ -116,0 +123,0 @@ |
@@ -17,5 +17,8 @@ /* | ||
if (!result.tags['ENTimeExpressionParser']) { | ||
return; | ||
} | ||
var match = TIMEZONE_NAME_PATTERN.exec(text.substring(result.index + result.text.length)); | ||
if (match) { | ||
var timezoneAbbr = match[1]; | ||
@@ -22,0 +25,0 @@ if (TIMEZONE_ABBR_MAP[timezoneAbbr] === undefined) { |
@@ -5,2 +5,25 @@ | ||
var text = "The Deadline is now"; | ||
var results = chrono.casual.parse(text, new Date(2012, 7, 10, 8, 9, 10)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if(result){ | ||
ok(result.index == 16, 'Wrong index') | ||
ok(result.text == 'now', result.text ) | ||
ok(result.start, JSON.stringify(result.start) ) | ||
ok(result.start.get('year') == 2012, 'Test Result - (Year) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('month') == 8, 'Test Result - (Month) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('day') == 10, 'Test Result - (Day) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('hour') == 8, 'Test Result - (Hour) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('minute') == 9, 'Test Result - (Minute) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('second') == 10, 'Test Result - (Second) ' + JSON.stringify(result.start) ) | ||
var resultDate = result.start.date(); | ||
var expectDate = new Date(2012, 7, 10, 8, 9, 10); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
} | ||
var text = "The Deadline is today"; | ||
@@ -118,4 +141,4 @@ var results = chrono.casual.parse(text, new Date(2012, 7, 10, 12)); | ||
} | ||
var text = "The Deadline was this afternoon "; | ||
@@ -175,3 +198,3 @@ var results = chrono.casual.parse(text, new Date(2012, 7, 10, 12)); | ||
ok(result.text == 'today 5PM', result.text ) | ||
ok(result.start, JSON.stringify(result.start) ) | ||
@@ -190,4 +213,4 @@ ok(result.start.get('year') == 2012, 'Test Result - (Year) ' + JSON.stringify(result.start) ) | ||
test('Test - Random text', function() { | ||
test('Test - Random text', function() { | ||
var text = "tonight"; | ||
@@ -211,3 +234,3 @@ var result = chrono.parse(text, new Date(2012, 1-1, 1, 12))[0]; | ||
var text = "tonight at 8"; | ||
@@ -228,3 +251,3 @@ var result = chrono.parse(text, new Date(2012, 1-1, 1, 12))[0]; | ||
var text = "thurs"; | ||
@@ -237,3 +260,3 @@ var result = chrono.parse(text)[0]; | ||
test('Test - Random negative text', function() { | ||
test('Test - Random negative text', function() { | ||
@@ -252,3 +275,15 @@ var text = "notoday"; | ||
ok(results.length == 0, JSON.stringify(results) ) | ||
var text = "nowhere"; | ||
var results = chrono.parse(text); | ||
ok(results.length == 0, JSON.stringify(results) ) | ||
var text = "noway"; | ||
var results = chrono.parse(text); | ||
ok(results.length == 0, JSON.stringify(results) ) | ||
var text = "knowledge"; | ||
var results = chrono.parse(text); | ||
ok(results.length == 0, JSON.stringify(results) ) | ||
}) | ||
@@ -70,4 +70,44 @@ | ||
} | ||
}); | ||
var text = "In 5 minutes I will go home"; | ||
var results = chrono.parse(text, new Date(2012,7,10,12,14)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if(result){ | ||
ok(result.index == 0, 'Wrong index') | ||
ok(result.text == 'In 5 minutes', result.text ) | ||
var resultDate = result.start.date(); | ||
var expectDate = new Date(2012,7,10,12,19); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
} | ||
var text = "In 5 minutes A car need to move"; | ||
var results = chrono.parse(text, new Date(2012,7,10,12,14)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if(result){ | ||
ok(result.index == 0, 'Wrong index') | ||
ok(result.text == 'In 5 minutes', result.text ) | ||
var resultDate = result.start.date(); | ||
var expectDate = new Date(2012,7,10,12,19); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
} | ||
var text = "within half an hour"; | ||
var results = chrono.parse(text, new Date(2012,7,10,12,14)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if(result){ | ||
ok(result.index == 0, 'Wrong index') | ||
ok(result.text == 'within half an hour', result.text ) | ||
var resultDate = result.start.date(); | ||
var expectDate = new Date(2012,7,10,12,44); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
} | ||
}); |
@@ -304,3 +304,3 @@ | ||
var text = "29 Febuary 2014"; | ||
var text = "29 February 2014"; | ||
var results = chrono.strict.parse(text, new Date(2012,7,10)); | ||
@@ -313,4 +313,4 @@ ok(results.length == 0, JSON.stringify( results )) | ||
var text = "29 Febuary"; | ||
var results = chrono.strict.parse(text, new Date(2012,7,10)); | ||
var text = "29 February"; | ||
var results = chrono.strict.parse(text, new Date(2013,7,10)); | ||
ok(results.length == 0, JSON.stringify( results )) | ||
@@ -317,0 +317,0 @@ |
@@ -106,2 +106,35 @@ | ||
} | ||
var text = " half an hour ago"; | ||
var results = chrono.parse(text, new Date(2012,7,10,12,14)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if(result){ | ||
ok(result.index == 3, 'Wrong index') | ||
ok(result.text == 'half an hour ago', result.text ) | ||
ok(result.start.get('hour') == 11, 'Test Result - (Month) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('minute') == 44, 'Test Result - (Day) ' + JSON.stringify(result.start) ) | ||
var resultDate = result.start.date(); | ||
var expectDate = new Date(2012,7,10,11,44); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
} | ||
var text = "12 hours ago I did something"; | ||
var results = chrono.parse(text, new Date(2012,7,10,12,14)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if(result){ | ||
ok(result.index == 0, 'Wrong index') | ||
ok(result.text == '12 hours ago', result.text ) | ||
ok(result.start.get('hour') == 0, 'Test Result - (Month) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('minute') == 14, 'Test Result - (Day) ' + JSON.stringify(result.start) ) | ||
var resultDate = result.start.date(); | ||
var expectDate = new Date(2012,7,10,0,14); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
} | ||
}); | ||
@@ -108,0 +141,0 @@ |
@@ -5,2 +5,25 @@ | ||
var text = "La fecha límite es ahora"; | ||
var results = chrono.casual.parse(text, new Date(2012, 7, 10, 8, 9, 10)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if(result){ | ||
ok(result.index == 19, 'Wrong index') | ||
ok(result.text == 'ahora', result.text ) | ||
ok(result.start, JSON.stringify(result.start) ) | ||
ok(result.start.get('year') == 2012, 'Test Result - (Year) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('month') == 8, 'Test Result - (Month) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('day') == 10, 'Test Result - (Day) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('hour') == 8, 'Test Result - (Hour) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('minute') == 9, 'Test Result - (Minute) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('second') == 10, 'Test Result - (Second) ' + JSON.stringify(result.start) ) | ||
var resultDate = result.start.date(); | ||
var expectDate = new Date(2012, 7, 10, 8, 9, 10); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
} | ||
var text = "La fecha límite es hoy"; | ||
@@ -225,2 +248,11 @@ var results = chrono.casual.parse(text, new Date(2012, 7, 10, 12)); | ||
ok(results.length == 0, JSON.stringify(results) ) | ||
var text = "porahora"; | ||
var results = chrono.parse(text); | ||
ok(results.length == 0, JSON.stringify(results) ) | ||
var text = "ahoraxsd"; | ||
var results = chrono.parse(text); | ||
ok(results.length == 0, JSON.stringify(results) ) | ||
}) |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1830066
24984
231
76