cache sort name function

deepsource-autofix-76c6eb20
Dan Gowans 2023-03-28 10:43:03 -04:00
parent ed9137e382
commit 31f439597e
2 changed files with 76 additions and 51 deletions

View File

@ -1,3 +1,4 @@
import NodeCache from 'node-cache';
import { config as cemeteryConfig } from './config.cemetery.ontario.js';
export const config = Object.assign({}, cemeteryConfig);
config.aliases.occupancyStartDate = 'Purchase Date';
@ -7,7 +8,13 @@ config.settings.lot.lotNamePattern =
config.settings.lot.lotNameHelpText = `Two digit cemetery-Block-Range-Lot-Grave, Interment number\n
ex. XX-BA-R41-L15-G3A, Interment 1`;
const numericPadding = '00000';
const lotNameSortNameCache = new NodeCache({
stdTTL: 5 * 60,
useClones: false
});
export function lotNameSortNameFunction(lotName) {
let sortName = lotNameSortNameCache.get(lotName) ?? '';
if (sortName === '') {
try {
const lotNameSplit = lotName.toUpperCase().split('-');
const cleanLotNamePieces = [];
@ -32,11 +39,14 @@ export function lotNameSortNameFunction(lotName) {
numericPiece.slice(-1 * numericPadding.length) +
letterPiece);
}
return cleanLotNamePieces.join('-');
sortName = cleanLotNamePieces.join('-');
}
catch {
return lotName;
sortName = lotName;
}
lotNameSortNameCache.set(lotName, sortName);
}
return sortName;
}
config.settings.lot.lotNameSortNameFunction = lotNameSortNameFunction;
config.settings.lotOccupancy.occupantCityDefault = 'Sault Ste. Marie';

View File

@ -1,3 +1,5 @@
import NodeCache from 'node-cache'
import { config as cemeteryConfig } from './config.cemetery.ontario.js'
export const config = Object.assign({}, cemeteryConfig)
@ -13,7 +15,15 @@ config.settings.lot.lotNameHelpText = `Two digit cemetery-Block-Range-Lot-Grave,
const numericPadding = '00000'
const lotNameSortNameCache = new NodeCache({
stdTTL: 5 * 60,
useClones: false
})
export function lotNameSortNameFunction(lotName: string): string {
let sortName: string = lotNameSortNameCache.get(lotName) ?? ''
if (sortName === '') {
try {
const lotNameSplit = lotName.toUpperCase().split('-')
@ -46,10 +56,15 @@ export function lotNameSortNameFunction(lotName: string): string {
)
}
return cleanLotNamePieces.join('-')
sortName = cleanLotNamePieces.join('-')
} catch {
return lotName
sortName = lotName
}
lotNameSortNameCache.set(lotName, sortName)
}
return sortName
}
config.settings.lot.lotNameSortNameFunction = lotNameSortNameFunction