@intelligo.ai/object-to-schema
Advanced tools
Comparing version 2.3.12 to 2.3.14
@@ -21,2 +21,7 @@ declare function fromTracerDate(tracerDate: number): string | undefined; | ||
declare function convertStringToDate(dateString: string): Date | undefined; | ||
declare function stringCleanup(value: string, options: { | ||
pattern: string; | ||
replacement: string; | ||
}[]): string; | ||
declare function analystCollectionLegalConvertDate(value: string): Date | undefined; | ||
export declare const strategies: { | ||
@@ -46,5 +51,7 @@ predefinedTransformations: { | ||
convertSteeleDate: typeof convertSteeleDate; | ||
convertSteeleDOB: typeof convertSteeleDOB; | ||
convertClearReportDate: typeof convertClearReportDate; | ||
convertNYscrollDate: typeof convertNYscrollDate; | ||
stringCleanup: typeof stringCleanup; | ||
analystCollectionLegalConvertDate: typeof analystCollectionLegalConvertDate; | ||
convertSteeleDOB: typeof convertSteeleDOB; | ||
}; | ||
@@ -51,0 +58,0 @@ }; |
@@ -341,2 +341,46 @@ "use strict"; | ||
} | ||
function parseSteeleDOB(steeleDOB) { | ||
if (!steeleDOB) { | ||
return; | ||
} | ||
var approxRegex = /^(ca\.|approximately|approx)\s*/ig; | ||
var cleanInput = steeleDOB.replace(approxRegex, "").trim(); | ||
var fullDateMatch = cleanInput.match(/^(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})$/); | ||
if (fullDateMatch) { | ||
var year = fullDateMatch[1].length === 4 ? parseInt(fullDateMatch[1]) : parseInt(fullDateMatch[3]); | ||
var month = parseInt(fullDateMatch[2]) - 1; | ||
var day = fullDateMatch[1].length !== 4 ? parseInt(fullDateMatch[1]) : parseInt(fullDateMatch[3]); | ||
if (year && month >= 0 && day) { | ||
return new Date(year, month, day); | ||
} | ||
} | ||
var yearMonthMatch = cleanInput.match(/^(\d{1,2})[-./](\d{4})$/); | ||
if (yearMonthMatch) { | ||
var year = parseInt(yearMonthMatch[2]); | ||
var month = parseInt(yearMonthMatch[1]) - 1; | ||
if (year && month >= 0) { | ||
return new Date(year, month, 1); | ||
} | ||
} | ||
var yearMatch = cleanInput.match(/^(\d{4})$/); | ||
if (yearMatch) { | ||
var year = parseInt(yearMatch[1]); | ||
return new Date(year, 0, 1); | ||
} | ||
var compactDateMatch = cleanInput.match(/^(\d{4})(\d{2})(\d{2})$/); | ||
if (compactDateMatch) { | ||
var year = parseInt(compactDateMatch[1]); | ||
var month = parseInt(compactDateMatch[2]) - 1; | ||
var day = parseInt(compactDateMatch[3]); | ||
if (year && month >= 0 && day) { | ||
return new Date(year, month, day); | ||
} | ||
} | ||
var ambiguousYearMatch = cleanInput.match(/\/?\/?\/?(\d{4})$/); | ||
if (ambiguousYearMatch) { | ||
var year = parseInt(ambiguousYearMatch[1]); | ||
return new Date(year, 0, 1); | ||
} | ||
return new Date(chrono.parseDate(cleanInput)); | ||
} | ||
function parseSteeleDate(steeleDate) { | ||
@@ -375,6 +419,14 @@ var cleanedInput = steeleDate.replaceAll('/?', '').trim(); | ||
} | ||
if (String(steeleDOB).length === 4) { | ||
return new Date(Number(steeleDOB), 0, 1); | ||
if (steeleDOB.includes(';')) { | ||
var dates = steeleDOB.split(';'); | ||
if (dates.length === 1) { | ||
return new Date(dates[0]); | ||
} | ||
var _a = __read(dates | ||
.map(function (date) { return date.trim(); }) | ||
.map(function (date) { return parseSteeleDOB(date); }) | ||
.sort(function (a, b) { return b.getTime() - a.getTime(); }), 1), latestDate = _a[0]; | ||
return latestDate; | ||
} | ||
return new Date(steeleDOB); | ||
return parseSteeleDOB(steeleDOB); | ||
} | ||
@@ -407,2 +459,30 @@ function convertClearReportDate(clearReportDate) { | ||
} | ||
function stringCleanup(value, options) { | ||
var e_2, _a; | ||
var cleanedValue = value; | ||
try { | ||
for (var options_1 = __values(options), options_1_1 = options_1.next(); !options_1_1.done; options_1_1 = options_1.next()) { | ||
var _b = options_1_1.value, pattern = _b.pattern, replacement = _b.replacement; | ||
cleanedValue = cleanedValue.replace(new RegExp(pattern, 'g'), replacement); | ||
} | ||
} | ||
catch (e_2_1) { e_2 = { error: e_2_1 }; } | ||
finally { | ||
try { | ||
if (options_1_1 && !options_1_1.done && (_a = options_1.return)) _a.call(options_1); | ||
} | ||
finally { if (e_2) throw e_2.error; } | ||
} | ||
return cleanedValue; | ||
} | ||
function analystCollectionLegalConvertDate(value) { | ||
if (!value) { | ||
return; | ||
} | ||
var match = value.match(/^\d{2}\/\d{2}\/\d{4}/); | ||
if (!(match === null || match === void 0 ? void 0 : match.length)) { | ||
throw new Error('Invalid date format'); | ||
} | ||
return new Date(match[0]); | ||
} | ||
exports.strategies = { | ||
@@ -432,7 +512,9 @@ predefinedTransformations: { | ||
convertSteeleDate: convertSteeleDate, | ||
convertSteeleDOB: convertSteeleDOB, | ||
convertClearReportDate: convertClearReportDate, | ||
convertNYscrollDate: convertNYscrollDate | ||
convertNYscrollDate: convertNYscrollDate, | ||
stringCleanup: stringCleanup, | ||
analystCollectionLegalConvertDate: analystCollectionLegalConvertDate, | ||
convertSteeleDOB: convertSteeleDOB | ||
} | ||
}; | ||
//# sourceMappingURL=predefinedTransformations.js.map |
{ | ||
"name": "@intelligo.ai/object-to-schema", | ||
"version": "2.3.12", | ||
"version": "2.3.14", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
111606
1512