Adjust European short trip heuristic from >3 days to >1 day to correctly detect when user has returned home from European trips. This fixes the April 29-30, 2023 case where the location incorrectly showed "Sankt Georg, Hamburg" instead of "Bristol" when the user was free (no events scheduled) after the foss-north trip ended on April 27. The previous logic required more than 3 days to pass before assuming return home from European countries, but for short European trips by rail/ferry, users typically return within 1-2 days. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
30 lines
910 B
JavaScript
30 lines
910 B
JavaScript
/**
|
|
* @fileoverview Common utils for AST.
|
|
*
|
|
* This file contains only shared items for core and rules.
|
|
* If you make a utility for rules, please see `../rules/utils/ast-utils.js`.
|
|
*
|
|
* @author Toru Nagashima <https://github.com/mysticatea>
|
|
*/
|
|
"use strict";
|
|
|
|
const breakableTypePattern = /^(?:(?:Do)?While|For(?:In|Of)?|Switch)Statement$/u;
|
|
const lineBreakPattern = /\r\n|[\r\n\u2028\u2029]/u;
|
|
const shebangPattern = /^#!([^\r\n]+)/u;
|
|
|
|
/**
|
|
* Creates a version of the `lineBreakPattern` regex with the global flag.
|
|
* Global regexes are mutable, so this needs to be a function instead of a constant.
|
|
* @returns {RegExp} A global regular expression that matches line terminators
|
|
*/
|
|
function createGlobalLinebreakMatcher() {
|
|
return new RegExp(lineBreakPattern.source, "gu");
|
|
}
|
|
|
|
module.exports = {
|
|
breakableTypePattern,
|
|
lineBreakPattern,
|
|
createGlobalLinebreakMatcher,
|
|
shebangPattern
|
|
};
|