UNPKG

gmail-mbox-stats

Version:
125 lines (124 loc) 6.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.keysForSenders = exports.groundFolder = exports.keyForMessageCountBySender = void 0; const constants_1 = require("../constants"); const dotCsv = ".csv"; // const dotTxt = ".txt"; const str_frequency = "_freq"; const str_Sender = "Sender"; const str_Receiver = "Receiver"; const str_Cc = "Cc"; const str_Bcc = "Bcc"; // const str_Address = "Address"; const str_Domain = "Domain"; const str_AddressAndName = "PlusName"; // const str_attachm_size = "_attachmSize"; // exports.keyForMessageCountBySender = "frequencySenderAddress"; const sculptCommonInitialPropsOfFile = () => { const generateNewMap = () => { return new Map([]); }; const commonInitialPropsOfFile = { pathAbsOrRel: "", freqMap: generateNewMap(), messagesWhereRelevantValuesFound: 0, legitCount: 0, hiddenCount: 0, emptyCount: 0, // attachmTotalSizeMap: generateNewMap(), attachmTotalCountMap: generateNewMap(), mailCountWithNonZeroCountOfAttachmentsMap: generateNewMap(), // }; null; return commonInitialPropsOfFile; }; const createResultsObjForSpecificSenderCategory = (category) => { const sCatStr = category; // const resultsFolderForSpecificSenderCategory: TyOneFolderIndicator const resultsFolderForSpecificSenderCategory = { folderName: "results", // will become "forMailsWhereSenderIsMe" or "forMailsWhereSenderIsNotMeOrIsUnknown" pathAbsOrRel: "", innerFolders: {}, innerFiles: { frequencySenderAddress: Object.assign({ fileName: `${sCatStr}${str_frequency}${str_Sender}${dotCsv}` }, sculptCommonInitialPropsOfFile()), frequencySenderDomain: Object.assign({ fileName: `${sCatStr}${str_frequency}${str_Sender}${str_Domain}${dotCsv}` }, sculptCommonInitialPropsOfFile()), frequencySenderAddressAndName: Object.assign({ fileName: `${sCatStr}${str_frequency}${str_Sender}${str_AddressAndName}${dotCsv}` }, sculptCommonInitialPropsOfFile()), // not just first receiver, but includes all receivers. So, count of receivers can me more than count of senders frequencyReceiverAddress: Object.assign({ fileName: `${sCatStr}${str_frequency}${str_Receiver}${dotCsv}` }, sculptCommonInitialPropsOfFile()), // frequencyReceiverDomain: { // fileName: `${sCatStr}${str_frequency}${str_Receiver}${str_Domain}${dotCsv}`, // pathAbsOrRel: "" as string, // freqMap: new Map<TyMailDomain, number>([]), // }, // frequencyReceiverAddressAndName: { // fileName: `${sCatStr}${str_frequency}${str_Receiver}${str_AddressAndName}${dotCsv}`, // pathAbsOrRel: "" as string, // freqMap: new Map<string, number>([]), // }, // cc: frequencyCcAddress: Object.assign({ fileName: `${sCatStr}${str_frequency}${str_Cc}${dotCsv}` }, sculptCommonInitialPropsOfFile()), // frequencyCcDomain: { // fileName: `${sCatStr}${str_frequency}${str_Cc}${str_Domain}${dotCsv}`, // pathAbsOrRel: "" as string, // freqMap: new Map<TyMailDomain, number>([]), // }, // frequencyCcAddressAndName: { // fileName: `${sCatStr}${str_frequency}${str_Cc}${str_AddressAndName}${dotCsv}`, // pathAbsOrRel: "" as string, // freqMap: new Map<string, number>([]), // }, // bcc: frequencyBccAddress: Object.assign({ fileName: `${sCatStr}${str_frequency}${str_Bcc}${dotCsv}` }, sculptCommonInitialPropsOfFile()), // frequencyBccDomain: { // fileName: `${sCatStr}${str_frequency}${str_Bcc}${str_Domain}${dotCsv}`, // pathAbsOrRel: "" as string, // freqMap: new Map<TyMailDomain, number>([]), // }, // frequencyBccAddressAndName: { // fileName: `${sCatStr}${str_frequency}${str_Bcc}${str_AddressAndName}${dotCsv}`, // pathAbsOrRel: "" as string, // freqMap: new Map<string, number>([]), // }, attachmentsBySender: Object.assign({ fileName: `${sCatStr}${str_attachm_size}${str_Sender}${dotCsv}` }, sculptCommonInitialPropsOfFile()), attachmentsByDomain: Object.assign({ fileName: `${sCatStr}${str_attachm_size}${str_Sender}${str_Domain}${dotCsv}` }, sculptCommonInitialPropsOfFile()), attachmentsByReceiver: Object.assign({ fileName: `${sCatStr}${str_attachm_size}${str_Receiver}${dotCsv}` }, sculptCommonInitialPropsOfFile()), }, }; null; return resultsFolderForSpecificSenderCategory; }; // export const groundFolder: TyOneFolderIndicator exports.groundFolder = { folderName: "groundFolder", pathAbsOrRel: "", innerFiles: {}, innerFolders: { mboxStats: { folderName: `mailStats_${constants_1.slimStartDateTime.v}`, pathAbsOrRel: "", innerFiles: { // not yet used in prod allMailList_csv: Object.assign({ fileName: `index__sender-senderName-receiver-cc-bcc-time-id${dotCsv}` }, sculptCommonInitialPropsOfFile()), generalStats: Object.assign({ fileName: `generalStats${dotCsv}` }, sculptCommonInitialPropsOfFile()), }, innerFolders: { forMailsWhereSenderIsMe: Object.assign(Object.assign({}, createResultsObjForSpecificSenderCategory("me")), { folderName: "forMailsWhereSenderIsMe" }), forMailsWhereSenderIsNotMeOrIsUnknown: Object.assign(Object.assign({}, createResultsObjForSpecificSenderCategory("notMeOrUnkn")), { folderName: "forMailsWhereSenderIsNotMeOrIsUnknown" }), }, }, }, }; null; // // const meInner = exports.groundFolder.innerFolders.mboxStats.innerFolders.forMailsWhereSenderIsMe .innerFiles; exports.keysForSenders = [ "frequencySenderAddress", "frequencySenderDomain", "frequencySenderAddressAndName", ];