@mikezimm/npmfunctions
Version:
Functions used in my SPFx webparts
257 lines (207 loc) • 12.8 kB
TypeScript
/***
* db .d88b. d888b d888b d888888b d8b db d888b
* 88 .8P Y8. 88' Y8b 88' Y8b `88' 888o 88 88' Y8b
* 88 88 88 88 88 88 88V8o 88 88
* 88 88 88 88 ooo 88 ooo 88 88 V8o88 88 ooo
* 88booo. `8b d8' 88. ~8~ 88. ~8~ .88. 88 V888 88. ~8~
* Y88888P `Y88P' Y888P Y888P Y888888P VP V8P Y888P
*
import { getHelpfullErrorV2 } from '@mikezimm/npmfunctions/dist/Logging/ErrorHandler';
*/
/***
* .d8b. d8888b. d8888b. .d8b. db db .d8888.
* d8' `8b 88 `8D 88 `8D d8' `8b `8b d8' 88' YP
* 88ooo88 88oobY' 88oobY' 88ooo88 `8bd8' `8bo.
* 88~~~88 88`8b 88`8b 88~~~88 88 `Y8b.
* 88 88 88 `88. 88 `88. 88 88 88 db 8D
* YP YP 88 YD 88 YD YP YP YP `8888Y'
*
*
//Updated these imports 0200-01-11.
//Sorting
import { sortStringArray, sortObjectArrayByStringKey, sortNumberArray, sortObjectArrayByNumberKey, sortKeysByOtherKey
} from '@mikezimm/npmfunctions/dist/Services/Arrays/sorting';
//Checks
import { doesObjectExistInArrayInt, doesObjectExistInArray, compareArrays, getKeySummary, getKeyChanges
} from '@mikezimm/npmfunctions/dist/Services/Arrays/checks';
//Services
import { stringifyKeyValue, getMaxPropOfKeyInObjectArray, getNextElementInArray } from '@mikezimm/npmfunctions/dist/Services/Arrays/services';
//Compare
import { compareFlatObjects, getListOfKeysToCompare, buildEmptyCompareResults } from '@mikezimm/npmfunctions/dist/Services/Arrays/compare';
//Grouping
import { groupArrayItemsByField, IRailAnalytics } from '@mikezimm/npmfunctions/dist/Services/Arrays/grouping';
//Manipulation
import { expandArray, spliceCopyArray, addItemToArrayIfItDoesNotExist, convertNumberArrayToRelativePercents,
removeItemFromArrayOnce, removeItemFromArrayAll, updateNextOpenIndex
} from '@mikezimm/npmfunctions/dist/Services/Arrays/manipulation';
*/
/***
* .d8888. d888888b d8888b. d888888b d8b db d888b .d8888.
* 88' YP `~~88~~' 88 `8D `88' 888o 88 88' Y8b 88' YP
* `8bo. 88 88oobY' 88 88V8o 88 88 `8bo.
* `Y8b. 88 88`8b 88 88 V8o88 88 ooo `Y8b.
* db 8D 88 88 `88. .88. 88 V888 88. ~8~ db 8D
* `8888Y' YP 88 YD Y888888P VP V8P Y888P `8888Y'
*
*
import { cleanSPListURL, cleanURL, encodeDecodeString, } from '@mikezimm/npmfunctions/dist/Services/Strings/urlServices';
import { makeid, isGuidgetStringArrayFromString, cleanEmptyElementsFromString } from '@mikezimm/npmfunctions/dist/Services/Strings/stringServices';
import { camelToSentanceCase, camelize, randomizeCase, upperFirstLetter, lowerFirstLetter } from '@mikezimm/npmfunctions/dist/Services/Strings/stringCase';
import { buildMLineDiv, getArrayOfXMLElements } from '@mikezimm/npmfunctions/dist/Services/Strings/formatting';
*/
/***
* d8888b. .d8b. d8b db d8888b. .d88b. .88b d88.
* 88 `8D d8' `8b 888o 88 88 `8D .8P Y8. 88'YbdP`88
* 88oobY' 88ooo88 88V8o 88 88 88 88 88 88 88 88
* 88`8b 88~~~88 88 V8o88 88 88 88 88 88 88 88
* 88 `88. 88 88 88 V888 88 .8D `8b d8' 88 88 88
* 88 YD YP YP VP V8P Y8888D' `Y88P' YP YP YP
*
*
import { getRandomInt, getRandomChance, getRandomFromArray, randomDate, generateVals, generateTitles }
from '@mikezimm/npmfunctions/dist/Services/randomServices';
*/
/***
* db db .d8888. d88888b d8888b.
* 88 88 88' YP 88' 88 `8D
* 88 88 `8bo. 88ooooo 88oobY'
* 88 88 `Y8b. 88~~~~~ 88`8b
* 88b d88 db 8D 88. 88 `88.
* ~Y8888P' `8888Y' Y88888P 88 YD
*
*
import { getPrincipalTypeString, ensureUserInfo, checkIfUserExistsInArray, getEmailFromLoginName, checkForLoginName
ensureUserHere, ensureTheseUsers, getUserPermissions, getSiteAdmins, } from '@mikezimm/npmfunctions/dist/Users/userServices';
import { IUser } from '@mikezimm/npmfunctions/dist/Users/IUserInterfaces';
*/
/***
* .o88b. .d8b. d8888b. d8888b. .d88b. d888888b
* d8P Y8 d8' `8b 88 `8D 88 `8D .8P Y8. `~~88~~'
* 8P 88ooo88 88oobY' 88oobY' 88 88 88
* 8b 88~~~88 88`8b 88`8b 88 88 88
* Y8b d8 88 88 88 `88. 88 `88. `8b d8' 88
* `Y88P' YP YP 88 YD 88 YD `Y88P' YP
*
*
import { IFoamBorder , FoamBorders, FoamBorderSettings, FoamBordersRound, FoamBordersNone, FoamBordersStraight }
from '@mikezimm/npmfunctions/dist/Carrot/IFoamTreeDefaults';
import { IFoamAnimation , FoamAnimations, FoamAnimationSettings, FoamAnimateGentle, FoamAnimateFadeIn, FoamAnimateFlyIn }
from '@mikezimm/npmfunctions/dist/Carrot/IFoamTreeDefaults';
import { IFoamColor , FoamColors, FoamColorSettings, FoamColorLight, FoamColorDark, FoamColorWarm }
from '@mikezimm/npmfunctions/dist/Carrot/IFoamTreeDefaults';
*/
/***
* .o88b. .d8888. .d8888. .o88b. db db .d8b. d8888b. d888888b .d8888.
* d8P Y8 88' YP 88' YP d8P Y8 88 88 d8' `8b 88 `8D `~~88~~' 88' YP
* 8P `8bo. `8bo. 8P 88ooo88 88ooo88 88oobY' 88 `8bo.
* 8b `Y8b. `Y8b. 8b 88~~~88 88~~~88 88`8b 88 `Y8b.
* Y8b d8 db 8D db 8D Y8b d8 88 88 88 88 88 `88. 88 db 8D
* `Y88P' `8888Y' `8888Y' `Y88P' YP YP YP YP 88 YD YP `8888Y'
*
*
import { ILabelColor, ICSSChartTypes, CSSChartTypes, ISeriesSort, ICSSChartSeries, IChartSeries, ICharNote, }
from '@mikezimm/npmfunctions/dist/CSSCharts/ICSSCharts';
*/
/***
* db d888888b .d8888. d888888b .d8888.
* 88 `88' 88' YP `~~88~~' 88' YP
* 88 88 `8bo. 88 `8bo.
* 88 88 `Y8b. 88 `Y8b.
* 88booo. .88. db 8D 88 db 8D
* Y88888P Y888888P `8888Y' YP `8888Y'
*
*
import { SystemLists, TempSysLists, TempContLists, entityMaps, EntityMapsNames }
from '@mikezimm/npmfunctions/dist/Lists/Constants';
import { IPickedWebBasic, IPickedList, IPickedView, IZBasicItemInfo, }
from '@mikezimm/npmfunctions/dist/Lists/IListInterfaces';
*/
/***
* d888b d88888b d888888b d88888b db db d8b db .o88b. d888888b d888888b .d88b. d8b db .d8888.
* 88' Y8b 88' `~~88~~' 88' 88 88 888o 88 d8P Y8 `~~88~~' `88' .8P Y8. 888o 88 88' YP
* 88 88ooooo 88 88ooo 88 88 88V8o 88 8P 88 88 88 88 88V8o 88 `8bo.
* 88 ooo 88~~~~~ 88 88~~~ 88 88 88 V8o88 8b 88 88 88 88 88 V8o88 `Y8b.
* 88. ~8~ 88. 88 88 88b d88 88 V888 Y8b d8 88 .88. `8b d8' 88 V888 db 8D
* Y888P Y88888P YP YP ~Y8888P' VP V8P `Y88P' YP Y888888P `Y88P' VP V8P `8888Y'
*
import { getKeysLike, getSelectColumns, getExpandColumns, updateBasicListColumns
IPerformanceSettings, IZBasicList, createFetchList,
} from '@mikezimm/npmfunctions/dist/Lists/getFunctions';
*/
/***
* d8888b. d888888b db db .d88b. d888888b .d8888.
* 88 `8D `88' 88 88 .8P Y8. `~~88~~' 88' YP
* 88oodD' 88 Y8 8P 88 88 88 `8bo.
* 88~~~ 88 `8b d8' 88 88 88 `Y8b.
* 88 .88. `8bd8' `8b d8' 88 db 8D
* 88 Y888888P YP `Y88P' YP `8888Y'
*
*
import { IMyPivCat, IPivot, IMyPivots, ILink } from '@mikezimm/npmfunctions/dist/Pivots/IzPivots';
*/
/***
* .d88b. db db d888888b .o88b. db dD .o88b. .d88b. .88b d88. .88b d88. .d8b. d8b db d8888b. .d8888.
* .8P Y8. 88 88 `88' d8P Y8 88 ,8P' d8P Y8 .8P Y8. 88'YbdP`88 88'YbdP`88 d8' `8b 888o 88 88 `8D 88' YP
* 88 88 88 88 88 8P 88,8P 8P 88 88 88 88 88 88 88 88 88ooo88 88V8o 88 88 88 `8bo.
* 88 88 88 88 88 8b 88`8b 8b 88 88 88 88 88 88 88 88 88~~~88 88 V8o88 88 88 `Y8b.
* `8P d8' 88b d88 .88. Y8b d8 88 `88. Y8b d8 `8b d8' 88 88 88 88 88 88 88 88 88 V888 88 .8D db 8D
* `Y88'Y8 ~Y8888P' Y888888P `Y88P' YP YD `Y88P' `Y88P' YP YP YP YP YP YP YP YP VP V8P Y8888D' `8888Y'
*
*
import { QuickCommandsTMT, IQuickCommands, IQuickButton, }
from '@mikezimm/npmfunctions/dist/QuickCommands/IQuickCommands';
*/
/***
* d8888b. d88888b d88888b d888888b d8b db d88888b d8888b. .d8888.
* 88 `8D 88' 88' `88' 888o 88 88' 88 `8D 88' YP
* 88oobY' 88ooooo 88ooo 88 88V8o 88 88ooooo 88oobY' `8bo.
* 88`8b 88~~~~~ 88~~~ 88 88 V8o88 88~~~~~ 88`8b `Y8b.
* 88 `88. 88. 88 .88. 88 V888 88. 88 `88. db 8D
* 88 YD Y88888P YP Y888888P VP V8P Y88888P 88 YD `8888Y'
*
*
import { IRefinerLayer, IRefiners, IItemRefiners, IRefinerStats, RefineRuleValues, ICSSChartTypes
IRefinerRules, IRefinerStatType, IRefinerStat } from '@mikezimm/npmfunctions/dist/Refiners/IRefiners';
import { buildKeyText, refinerRuleItems } from '@mikezimm/npmfunctions/dist/Refiners/IRefiners';
*/
/***
* .88b d88. db db d888888b d8b db d888888b d88888b d8888b. d88888b .d8b. .o88b. d88888b .d8888.
* 88'YbdP`88 `8b d8' `88' 888o 88 `~~88~~' 88' 88 `8D 88' d8' `8b d8P Y8 88' 88' YP
* 88 88 88 `8bd8' 88 88V8o 88 88 88ooooo 88oobY' 88ooo 88ooo88 8P 88ooooo `8bo.
* 88 88 88 88 88 88 V8o88 88 88~~~~~ 88`8b 88~~~ 88~~~88 8b 88~~~~~ `Y8b.
* 88 88 88 88 .88. 88 V888 88 88. 88 `88. 88 88 88 Y8b d8 88. db 8D
* YP YP YP YP Y888888P VP V8P YP Y88888P 88 YD YP YP YP `Y88P' Y88888P `8888Y'
*
*
import { IMyProgress, IMyFonts, IMyIcons } from '@mikezimm/npmfunctions/dist/ReusableInterfaces/IMyInterfaces';
*/
/***
* d888888b db db d8888b. d88888b d888888b d8b db d888888b d88888b d8888b. d88888b .d8b. .o88b. d88888b .d8888.
* `~~88~~' `8b d8' 88 `8D 88' `88' 888o 88 `~~88~~' 88' 88 `8D 88' d8' `8b d8P Y8 88' 88' YP
* 88 `8bd8' 88oodD' 88ooooo 88 88V8o 88 88 88ooooo 88oobY' 88ooo 88ooo88 8P 88ooooo `8bo.
* 88 88 88~~~ 88~~~~~ 88 88 V8o88 88 88~~~~~ 88`8b 88~~~ 88~~~88 8b 88~~~~~ `Y8b.
* 88 88 88 88. .88. 88 V888 88 88. 88 `88. 88 88 88 Y8b d8 88. db 8D
* YP YP 88 Y88888P Y888888P VP V8P YP Y88888P 88 YD YP YP YP `Y88P' Y88888P `8888Y'
*
*
import { ITypeStrings, getDetailValueType } from '@mikezimm/npmfunctions/dist/Services/typeServices';
*/
/**
* TIME
*
import { IDeltaDaysArray, ITheTime } from './Interfaces';
import { getTimeDelta, getDayTimeToMinutes, getTimeSpan, getBestTimeDelta, getAge, createDeltaDateArrays } from '@mikezimm/npmfunctions/dist/Services/Time/deltas';
import { isStringValidDate, zuluRegex, yyyymmRegex, yyyymmddRegex, yyyymmddhhmmssRegex, mmddyyyyRegex, isoRegex } from '@mikezimm/npmfunctions/dist/Services/Time/checks';
import { holidays, msPerDay, msPerHr, msPerMin, msPerMo, msPerQ, msPerWk, msPerYr, } from '@mikezimm/npmfunctions/dist/Services/Time/constants';
import { weekday3 } from '@mikezimm/npmfunctions/dist/Services/Time/dayLabels';
import { IDeltaDaysArray, ITheTime } from '@mikezimm/npmfunctions/dist/Services/Time/Interfaces';
import { getQuarter, getYearMonthLabel, getLocalMonths, } from '@mikezimm/npmfunctions/dist/Services/Time/getLabels';
import { monthStr, monthStr3 } from '@mikezimm/npmfunctions/dist/Services/Time/monthLabels';
import { getGreeting, getNicks } from '@mikezimm/npmfunctions/dist/Services/Time/personalize';
import { makeSmallTimeObject, } from '@mikezimm/npmfunctions/dist/Services/Time/smallTimeOjbect';
import { makeTheTimeObject } from '@mikezimm/npmfunctions/dist/Services/Time/timeOjbect';
import { getDayOfWeek, ISO8601_week_no, getYearWeekLabel, getOffSetDayOfWeek, } from '@mikezimm/npmfunctions/dist/Services/Time/weeks';
import { holidays, msPerDay, msPerHr, msPerMin, msPerMo, msPerQ, msPerWk, msPerYr, } from './constants';
import { weekday3 } from './dayLabels';
import { monthStr, monthStr3 } from './monthLabels';
*/