cache sort name function
parent
ed9137e382
commit
31f439597e
|
|
@ -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';
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue