Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

chrono-node

Package Overview
Dependencies
Maintainers
1
Versions
107
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chrono-node - npm Package Compare versions

Comparing version 1.4.5 to 1.4.6

src/parsers/nl/NLCasualDateParser.js

2

package.json

@@ -14,3 +14,3 @@ {

"license": "MIT",
"version": "1.4.5",
"version": "1.4.6",
"directories": {

@@ -17,0 +17,0 @@ "source": "./src",

@@ -31,14 +31,6 @@ # Chrono

#### Other Options:
### Swift
Doing something else? No worries. Try these:
Try using the community-made [chrono-swift] wrapper.
Platform | Installation
---------|----
CDN | Via [jsDelivr]:<br> `<script src="https://cdn.jsdelivr.net/npm/chrono-node@VERSION/chrono.min.js"></script>`
Rails | Install from [Rails Assets] by adding this to your Gemfile:<br> `gem 'rails-assets-chrono', source: 'https://rails-assets.org'`
Swift | Try using the community-made [chrono-swift] wrapper.
[Rails Assets]: https://rails-assets.org/
[jsDelivr]: https://www.jsdelivr.com/projects/chrono
[chrono-swift]: https://github.com/neilsardesai/chrono-swift

@@ -45,0 +37,0 @@

@@ -68,2 +68,5 @@

exports.nl = new Chrono( options.mergeOptions([
options.nl.casual, options.en, options.commonPostProcessing]));
exports.pt = new Chrono( options.mergeOptions([

@@ -70,0 +73,0 @@ options.pt.casual, options.en, options.commonPostProcessing]));

@@ -64,2 +64,3 @@ var parser = require('./parsers/parser');

exports.de(strictConfig),
exports.nl(strictConfig),
exports.pt(strictConfig),

@@ -78,3 +79,4 @@ exports.es(strictConfig),

// Some German abbriviate overlap with common English
exports.de({ strict: true }),
exports.de({ strict: true }),
exports.nl,
exports.pt,

@@ -123,3 +125,34 @@ exports.es,

exports.nl = function(config) {
return {
parsers: [
new parser.NLMonthNameLittleEndianParser(config),
new parser.NLMonthNameParser(config),
new parser.NLSlashDateFormatParser(config),
new parser.NLTimeExpressionParser(config),
],
refiners: [
new refiner.OverlapRemovalRefiner(),
new refiner.ForwardDateRefiner(),
new refiner.NLMergeDateTimeRefiner(),
new refiner.NLMergeDateRangeRefiner()
]
}
};
exports.nl.casual = function() {
var option = exports.nl({
strict: false
});
option.parsers.unshift(new parser.NLCasualDateParser());
option.parsers.unshift(new parser.NLCasualTimeParser());
option.parsers.unshift(new parser.NLWeekdayParser());
return option;
};
// -------------------------------------------------------------
exports.en = function(config) {

@@ -219,4 +252,4 @@ return {

exports.pt.casual = function() {
var option = exports.pt({
strict: false
var option = exports.pt({
strict: false
});

@@ -249,4 +282,4 @@

exports.es.casual = function() {
var option = exports.es({
strict: false
var option = exports.es({
strict: false
});

@@ -308,2 +341,2 @@

}
};
};

@@ -12,25 +12,25 @@ /*

var FIRST_REG_PATTERN = new RegExp("(^|\\s|T)" +
"(?:(?:um|von)\\s*)?" +
"(\\d{1,4}|mittags?|mitternachts?)" +
"(?:" +
"(?:\\.|\\:|\\:)(\\d{1,2})" +
"(?:" +
"(?:\\:|\\:)(\\d{2})" +
")?" +
"(?:(?:um|von)\\s*)?" +
"(\\d{1,4}|mittags?|mitternachts?)" +
"(?:" +
"(?:\\.|\\:|\\:)(\\d{1,2})" +
"(?:" +
"(?:\\:|\\:)(\\d{2})" +
")?" +
")?" +
"(?:\\s*uhr)?" +
"(?:\\s*(morgens|vormittags|mittags|nachmittags|abends|nachts))?" +
"(?:\\s*(morgens|vormittags|mittags|nachmittags|abends|nachts))?" +
"(?=\\W|$)", 'i');
var SECOND_REG_PATTERN = new RegExp("^\\s*" +
"(\\-|\\–|\\~|\\〜|bis|\\?)\\s*" +
var SECOND_REG_PATTERN = new RegExp("^\\s*" +
"(\\-|\\–|\\~|\\〜|bis|\\?)\\s*" +
"(\\d{1,4})" +
"(?:" +
"(?:\\.|\\:|\\:)(\\d{1,2})" +
"(?:" +
"(?:\\.|\\:|\\:)(\\d{1,2})" +
")?" +
")?" +
"(?:\\s*(morgens|vormittags|mittags|nachmittags|abends|nachts))?" +
"(?:" +
"(?:\\.|\\:|\\:)(\\d{1,2})" +
"(?:" +
"(?:\\.|\\:|\\:)(\\d{1,2})" +
")?" +
")?" +
"(?:\\s*(morgens|vormittags|mittags|nachmittags|abends|nachts))?" +
"(?=\\W|$)", 'i');

@@ -48,5 +48,5 @@

this.pattern = function() { return FIRST_REG_PATTERN; }
this.extract = function(text, ref, match, opt){
this.extract = function(text, ref, match, opt){
// This pattern can be overlaped Ex. [12] AM, 1[2] AM

@@ -64,3 +64,3 @@ if (match.index > 0 && text[match.index-1].match(/\w/)) return null;

result.start.imply('year', refMoment.year());
var hour = 0;

@@ -71,3 +71,3 @@ var minute = 0;

// ----- Second
if(match[SECOND_GROUP] != null){
if(match[SECOND_GROUP] != null){
var second = parseInt(match[SECOND_GROUP]);

@@ -78,9 +78,9 @@ if(second >= 60) return null;

}
// ----- Hours
if (/mittags?/i.test(match[HOUR_GROUP])) {
meridiem = 1;
meridiem = 1;
hour = 12;
} else if (/mitternachts?/i.test(match[HOUR_GROUP])) {
meridiem = 0;
meridiem = 0;
hour = 0;

@@ -90,11 +90,11 @@ } else {

}
// ----- Minutes
if(match[MINUTE_GROUP] != null){
if(match[MINUTE_GROUP] != null){
minute = parseInt(match[MINUTE_GROUP]);
} else if(hour > 100) {
} else if(hour > 100) {
minute = hour%100;
hour = parseInt(hour/100);
}
}
if(minute >= 60) {

@@ -107,18 +107,18 @@ return null;

}
if (hour >= 12) {
if (hour >= 12) {
meridiem = 1;
}
// ----- AM & PM
// ----- AM & PM
if (match[AM_PM_HOUR_GROUP] != null) {
if (hour > 12) return null;
var ampm = match[AM_PM_HOUR_GROUP][0].toLowerCase();
var ampm = match[AM_PM_HOUR_GROUP].toLowerCase();
if (ampm === 'morgens' || ampm === 'vormittags') {
meridiem = 0;
meridiem = 0;
if(hour == 12) hour = 0;
} else {
meridiem = 1;
meridiem = 1;
if(hour != 12) hour += 12;
}
}
}

@@ -137,3 +137,3 @@ result.start.assign('hour', hour);

}
// ==============================================================

@@ -145,3 +145,3 @@ // Extracting the 'to' chunk

// Not accept number only result
if (result.text.match(/^\d+$/)) {
if (result.text.match(/^\d+$/)) {
return null;

@@ -168,3 +168,3 @@ }

// ----- Second
if(match[SECOND_GROUP] != null){
if(match[SECOND_GROUP] != null){
var second = parseInt(match[SECOND_GROUP]);

@@ -177,9 +177,9 @@ if(second >= 60) return null;

hour = parseInt(match[2]);
// ----- Minute
if (match[MINUTE_GROUP]!= null) {
minute = parseInt(match[MINUTE_GROUP]);
if(minute >= 60) return result;
} else if (hour > 100) {

@@ -198,7 +198,7 @@

}
if (hour >= 12) {
if (hour >= 12) {
meridiem = 1;
}
// ----- AM & PM
// ----- AM & PM
if (match[AM_PM_HOUR_GROUP] != null) {

@@ -208,5 +208,5 @@

var ampm = match[AM_PM_HOUR_GROUP][0].toLowerCase();
var ampm = match[AM_PM_HOUR_GROUP].toLowerCase();
if (ampm === 'morgens' || ampm === 'vormittags') {
meridiem = 0;
meridiem = 0;
if(hour == 12) {

@@ -219,11 +219,11 @@ hour = 0;

} else {
meridiem = 1;
meridiem = 1;
if(hour != 12) hour += 12;
}
if (!result.start.isCertain('meridiem')) {
if (meridiem == 0) {
result.start.imply('meridiem', 0);
if (result.start.get('hour') == 12) {

@@ -236,5 +236,5 @@ result.start.assign('hour', 0);

result.start.imply('meridiem', 1);
if (result.start.get('hour') != 12) {
result.start.assign('hour', result.start.get('hour') + 12);
result.start.assign('hour', result.start.get('hour') + 12);
}

@@ -264,5 +264,5 @@ }

}
return result;
}
}

@@ -133,1 +133,9 @@ const dayjs = require('dayjs');

exports.DECasualDateParser = require('./de/DECasualDateParser').Parser;
exports.NLMonthNameParser = require('./nl/NLMonthNameParser').Parser;
exports.NLMonthNameLittleEndianParser = require('./nl/NLMonthNameLittleEndianParser').Parser;
exports.NLSlashDateFormatParser = require('./nl/NLSlashDateFormatParser').Parser;
exports.NLWeekdayParser = require('./nl/NLWeekdayParser').Parser;
exports.NLTimeExpressionParser = require('./nl/NLTimeExpressionParser').Parser;
exports.NLCasualDateParser = require('./nl/NLCasualDateParser').Parser;
exports.NLCasualTimeParser = require('./nl/NLCasualTimeParser').Parser;

@@ -50,1 +50,5 @@

exports.DEMergeDateTimeRefiner = require('./de/DEMergeDateTimeRefiner').Refiner;
// nl refiners
exports.NLMergeDateRangeRefiner = require('./nl/NLMergeDateRangeRefiner').Refiner;
exports.NLMergeDateTimeRefiner = require('./nl/NLMergeDateTimeRefiner').Refiner;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

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