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>
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const codegen_1 = require("ajv/dist/compile/codegen");
|
|
const _util_1 = require("./_util");
|
|
const regexpMetaSchema = {
|
|
type: "object",
|
|
properties: {
|
|
pattern: { type: "string" },
|
|
flags: { type: "string", nullable: true },
|
|
},
|
|
required: ["pattern"],
|
|
additionalProperties: false,
|
|
};
|
|
const metaRegexp = /^\/(.*)\/([gimuy]*)$/;
|
|
function getDef() {
|
|
return {
|
|
keyword: "regexp",
|
|
type: "string",
|
|
schemaType: ["string", "object"],
|
|
code(cxt) {
|
|
const { data, schema } = cxt;
|
|
const regx = getRegExp(schema);
|
|
cxt.pass((0, codegen_1._) `${regx}.test(${data})`);
|
|
function getRegExp(sch) {
|
|
if (typeof sch == "object")
|
|
return (0, _util_1.usePattern)(cxt, sch.pattern, sch.flags);
|
|
const rx = metaRegexp.exec(sch);
|
|
if (rx)
|
|
return (0, _util_1.usePattern)(cxt, rx[1], rx[2]);
|
|
throw new Error("cannot parse string into RegExp");
|
|
}
|
|
},
|
|
metaSchema: {
|
|
anyOf: [{ type: "string" }, regexpMetaSchema],
|
|
},
|
|
};
|
|
}
|
|
exports.default = getDef;
|
|
module.exports = getDef;
|
|
//# sourceMappingURL=regexp.js.map
|