ts-buildkit
Version:
Typescript Build Kit, this is generic build kit package created by Ahsan Mahmood (https://aoneahsan.com), this package is generic and contains code which will work both on frontend (ReactJs/typescript/etc) as well as on backend (nodejs/typescript/etc). pl
945 lines (915 loc) • 35.1 kB
text/typescript
import { F as FormFieldsEnum, P as PermissionCheckModeEnum, a as PermissionEnum, R as RoleEnum, I as IGenericObject, b as IPaginationOptions, T as TimeUnitEnum, B as BooleanEnum, c as RequestStatusEnum, Q as QueryKeyTypeEnum, d as TransferMethodEnum, _ as _UserRoleEnum } from './index-BiAQ1E-Y.mjs';
export { l as IDefaultDBColumns, L as LinkTargetEnum, e as PermissionTypeEnum, f as PlatformTypeEnum, g as ProcessStatusEnum, h as RequestContentTypeEnum, i as RequestTypeEnum, j as ResponseCodeEnum, k as ResponseStatusEnum, S as SearchParamKeysEnum, v as varTypesEnum } from './index-BiAQ1E-Y.mjs';
export { aesDecrypt, decryptData, decryptWithSecretKey, encryptData, encryptWithSecretKey } from './require-package/crypto-js/index.mjs';
export { convertToDateTimestampToStoreInDB, getDateFromFrbTimestamp, getRemainingTimeForCountDown } from './require-package/dayjs/index.mjs';
import { I as InAppNotificationSendToEnum } from './index-BSPcQ3pe.mjs';
declare const configureZTK: (options: {
cryptoSecret: string;
}) => void;
declare enum ApiPathEnum {
register = "register",
login = "login",
logout = "logout",
deleteUser = "delete_user",
getPersonalAccountData = "get_personal_account_data",
getUser = "get_user",
updatePersonalAccountData = "update_personal_account_data",
updateUser = "update_user",
createUser = "create_user",
listUsers = "list_users",
getAdminDashboardData = "get_admin_dashboard_data",
blockUser = "block_user",
unblockUser = "unblock_user",
searchUserData = "search_user_data",
listGames = "list_games",
getGame = "get_game",
createGame = "create_game",
updateGame = "update_game",
deleteGame = "delete_game",
listGameRooms = "list_game_rooms",
getGameRoom = "get_game_room",
createGameRoom = "create_game_room",
updateGameRoom = "update_game_room",
startGameRoom = "start_game_room",
releaseGameRoom = "release_game_room",
declareGameRoomWinner = "declare_game_room_winner",
deleteGameRoom = "delete_game_room",
getCompletedGameRoom = "get_completed_game_rooms",
getEngagerDashboardData = "get_engager_dashboard_data",
getAvailableGameRooms = "get_available_game_rooms",
listTopups = "list_topups",
requestTopup = "request_topup",
updateTopupRequest = "update_topup_request",
getPlayersTopupRequests = "get_players_topup_requests",
reviewTopupRequest = "review_topup_request",
getPlayerDashboardData = "get_player_dashboard_data",
joinGameRoom = "join_game_room",
leaveGameRoom = "leave_game_room",
listWithdrawRequests = "list_withdraw_requests",
createWithdrawRequest = "create_withdraw_request",
getPlayersWithdrawRequests = "get_players_withdraw_requests",
reviewWithdrawRequest = "review_withdraw_request",
searchGameRoom = "search_game_room",
getJoinedGameRooms = "get_joined_game_rooms",
listTransferCoinsRequests = "list_transfer_coins_requests",
transferCoins = "transfer_coins",
listInAppNotifications = "list_in_app_notifications",
createInAppNotification = "create_in_app_notification",
getInAppNotification = "get_in_app_notification",
updateInAppNotification = "update_in_app_notification",
deleteInAppNotification = "delete_in_app_notification",
getPlayersTransferCoinsRequests = "get_players_transfer_coins_requests",
getGenericInAppNotifications = "get_generic_in_app_notifications",
getUserSpecificInInAppNotifications = "get_user_specific_in_app_notifications",
getUserRoleSpecificInAppNotifications = "get_user_role_specific_in_app_notifications",
listRoles = "list_roles",
getRole = "get_role",
deleteRole = "delete_role",
updateRole = "update_role",
createRole = "create_role",
addCoinsToUserAccount = "add_coins_to_user_account",
removeCoinsToUserAccount = "remove_coins_from_user_account",
getAdminCoinsUpdateLog = "get_admin_coins_update_log",
listAdminCoinsUpdateLog = "list_admin_coins_update_logs",
collectUserGameTypeRequiredData = "collect_user_game_type_required_data",
runUniqueIdsSyncMigrationScriptV1 = "run_unique_ids_sync_migration_script_v1"
}
declare enum GeoLocationPermissionStateEnum {
denied = "denied",
granted = "granted"
}
declare enum GeoLocationResponseCodeEnum {
unknownError = -1,
success = 0,
permissionDenied = 1,
positionUnavailable = 2,
timeout = 3,
geolocationNotSupportedByBrowser = 4
}
declare enum CapacitorPlatformEnum {
web = "web",
ios = "ios",
android = "android"
}
declare enum AlertTypeEnum {
success = "success",
info = "info",
warning = "warning",
error = "error"
}
declare enum CharTypeEnum {
bar = "bar",
line = "line",
doughnut = "doughnut",
pie = "pie",
polar = "polar"
}
declare enum DBColumnKeysShortFormEnum {
id = "id",
userId = "uid",
sortOrderNo = "so",
createdAt = "cat",
updatedAt = "uat",
deletedAt = "dat",
blockedAt = "bat",
amount = "am",
userData = "ud",
playerId = "pid",
otherPlayerId = "opid",
extraData = "ed",
playerData = "pdt",
name = "n",
email = "e",
phoneNumber = "pn",
password = "pw",
withdrawOptions = "wos",
cnic = "cn",
city = "ci",
country = "cu",
address = "ad",
referredBy = "rfb",
referralCode = "rfc",
permissions = "pms",
emailVerifiedAt = "eva",
balance = "blc",
role = "r",
firstName = "fn",
lastName = "lne",
age = "a",
gender = "g",
constellation = "const",
hometown = "ht",
language = "lang",
profileCompletePercentageNumber = "pcpn",
birthdayDate = "bdt",
aboutMe = "abm",
hobbies = "hs",
lifeStyle = "ls",
music = "mc",
movies = "mos",
travel = "tl",
books = "bks",
gym = "gm",
food = "f",
cleanliness = "cln",
smoke = "sk",
pets = "ps",
guests = "gts",
occupation = "o",
foodPreference = "fp",
workSchedule = "ws",
overnightGuests = "ogs",
getUpTime = "gut",
goToBedTime = "gtt",
roomPreference = "rp",
roommatePreference = "rmp",
whereWantToLive = "wwtl",
moveInDate = "mid",
budget = "b",
placePreference = "pp",
buildingType = "bt",
other = "ot",
min = "mi",
max = "ma",
verificationCode = "vc",
title = "t",
description = "d",
maxPlayersAllowed = "mxpa",
feePerPlayer = "fpp",
serviceCharges = "scs",
image = "i",
minPlayersToStartGame = "mipa",
isPrivate = "ipt",
roomCode = "rcd",
status = "st",
gameId = "gid",
gameRoomPlayerIds = "grpsd",
gameRoomWillStartAt = "grwsat",
firstPlayerGameRoomJoinedAt = "fpgrja",
engagerStartedTheActualGameAt = "estaga",
gameRoomWinnerPlayerId = "grwpid",
gameRoomResultScreenShot = "grrss",
timerForEngagerToStartActualGameInMinutes = "tfetsag",
timerForPlayersToJoinActualGameInMinutes = "tfptjag",
actualGameInfo = "agi",
gameData = "gd",
engagerReleasedGameRoomAt = "ergrat",
engagerDeclaredGameRoomWinnerAt = "edgrat",
agentRemarks = "ars",
transferMethod = "tm",
receptScreenshot = "rs",
transactionId = "tid",
itemId = "itid",
balanceBefore = "bb",
balanceAfter = "ba",
type = "ty",
adminUserId = "auid",
logType = "lt",
userRemarks = "urs",
otherPlayerPhoneNumber = "oppn",
otherPlayerName = "opn",
totalTopupCoins = "ttcs",
totalWithdrawCoins = "twcs",
totalWonCoins = "twncs",
totalTransferredCoins = "ttdcs",
totalReceivedCoins = "trcs",
totalLostCoins = "tlcs",
totalGamesPlayed = "tgp",
totalGamesLeft = "tglt",
totalGamesWon = "tgw",
totalGamesLost = "tgl",
gameWinStreak = "gwst",
gameLostStreak = "glst",
lastGamePlayedAt = "lgpat",
lastGameLeftAt = "lglfat",
lastGameWonAt = "lgqat",
lastGameLostAt = "lglat",
totalGameRoomReleasedForThisPlayer = "tgrrftp",
lastGameRoomReleasedForThisPlayerAt = "tgrrftpat",
totalGameRoomReleasedByThisAdminUser = "tgrrbtau",
lastGameRoomReleasedByThisAdminUserAt = "tgrrbtauat",
totalCoinsEarnedAsGameRoomEngager = "tcseagre",
totalGameRoomsCompletedAsEngager = "tgrcae",
lastGameRoomsCompletedAsEngagerAt = "lgrcaeat",
icon = "ic",
sendAt = "sat",
sendTo = "sto",
specificUsersPhoneNumbers = "supns",
roleIdentifier = "ri",
isDefault = "idf",
totalCount = "tc",
totalSoftDeletedCount = "tsdc",
totalPlayersCount = "tpsc",
totalEngagersCount = "tesc",
totalAdminsCount = "tasc",
totalActiveCount = "tac",
totalBlockedCount = "tbc",
totalCompletedCount = "tcc",
totalReleasedCount = "trc",
totalServiceCharges = "tsc",
period = "ped",
currency = "cuy",
place = "pl",
rent = "re",
generalInfo = "gi",
location = "loc",
images = "ims",
details = "dts",
latitude = "lat",
longitude = "lng",
placeId = "pi",
streetAddress = "sa",
apartmentSuit = "as",
province = "pvn",
postCode = "psc",
bedroomImages = "bris",
washroomImages = "wris",
kitchenImages = "kis",
otherImages = "ois",
availabilityTerm = "abt",
moveOutDate = "mud",
minimumLease = "mil",
houseInfo = "hif",
otherRequirements = "ors",
placeSharingDetail = "psd",
placeBenefits = "pbs",
leaseTime = "lti",
leaseTimeUnit = "ltu",
bedrooms = "bds",
washrooms = "wrs",
parking = "pr",
units = "us",
detail = "dl",
bedroom = "br",
livingRoom = "lr",
kitchen = "kc",
washroom = "wr",
livingWithLandlord = "lwld",
livingWithPersonDetails = "lwpd",
furnished = "fh",
benefits = "bs",
otherBenefits = "obs",
body = "bd",
content = "ct",
fcmDeviceToken = "fcmt",
fcmDeviceTokens = "fcmts",
apnsDeviceToken = "apnt",
apnsDeviceTokens = "apnts",
subtitle = "ste",
tag = "tg",
tags = "tgs",
badge = "bge",
notification = "ncn",
notifications = "ncns",
data = "dt",
clickAction = "ca",
link = "ln",
group = "gp",
groupSummary = "gs",
sound = "sd",
importance = "ipe",
visibility = "vsb",
light = "lh",
lights = "lhs",
lightColor = "lcr",
vibration = "vbr",
channel = "cl",
channels = "cls",
receive = "rce",
value = "vle",
actionId = "aid",
inputValue = "ipv",
gameType = "gt",
thirdPartyAppsData = "tpasd",
thirdPartyAppData = "tpad",
pubgAppId = "pgai",
uniqueId = "uqid",
userUniqueId = "uuqid",
photoURL = "pul",
displayName = "dn",
ludoStarAppId = "lsaid",
freeFireAppId = "ffaid",
callOfDutyAppId = "codaid",
robloxAppId = "rxaid",
eightBallPoolAppId = "ebpaid",
amongUsAppId = "auaid",
unoAppId = "uoaid",
miniMilitiaAppId = "mmaid",
carromAppId = "cmaid",
tennisClashAppId = "tcaid",
chessAppId = "chaid",
asphalt9AppId = "a9aid",
golfBattleAppId = "gbaid",
arenaBreakoutAppId = "abaid"
}
declare enum FrbOrderbyDirectionEnum {
asc = "asc",
desc = "desc"
}
declare enum FrbWhereConditionEnum {
lessThan = "<",
lessThanOrEqualTo = "<=",
equalTo = "==",
notEqual = "!=",
greaterThanOrEqualTo = ">=",
greaterThan = ">",
arrayContains = "array-contains",
inArray = "in",
notInArray = "not-in",
arrayContainsAny = "array-contains-any"
}
declare enum AddressComponentTypeEnum {
COUNTRY = "country",
STREET_ADDRESS = "street_address",
APT_SUITE = "subpremise",
CITY = "city",
PROVINCE = "administrative_area_level_1",
POST_CODE = "postal_code",
NEIGHBORHOOD = "neighborhood",
ROUTE = "route",
LOCALITY = "locality",
PREMISE = "premise"
}
interface GeolocationCoordinates {
accuracy?: number;
altitude?: number | null;
altitudeAccuracy?: number | null;
heading?: number | null;
latitude?: number;
longitude?: number;
speed?: number | null;
}
type GetCapGeoLocationApiDataResponse = {
coords: Partial<GeolocationCoordinates> | null;
message: string;
code: GeoLocationResponseCodeEnum;
success: boolean;
};
interface PlatformData {
platform: CapacitorPlatformEnum;
isNative: boolean;
isAndroid: boolean;
isIOS: boolean;
isWeb: boolean;
}
type DBItemGenericDataType = Partial<Record<DBColumnKeysShortFormEnum, any>>;
type FormItemGenericDataType = Partial<Record<FormFieldsEnum, any>>;
interface IFrbCollectionQueryItem {
fieldKey: DBColumnKeysShortFormEnum;
condition: FrbWhereConditionEnum;
value: any;
}
interface IUseHasRequiredPermissions<T> {
requiredPermissions?: Array<T>;
excludedPermissions?: Array<T>;
checkModeForRequiredPermissions?: PermissionCheckModeEnum;
checkModeForExcludedPermissions?: PermissionCheckModeEnum;
}
type UseHasRequiredPermissionCheckPermissionType<T> = (params: IUseHasRequiredPermissions<T>) => boolean;
interface IUseHasRequiredPermissionsReturn<T> {
checkPermission: UseHasRequiredPermissionCheckPermissionType<T>;
canAccess: boolean;
userPermissions: Array<T>;
}
interface IHasRequiredPermissions<T> extends IUseHasRequiredPermissions<T> {
userPermissions: Array<T>;
}
interface IValidateFileOptions {
maxSize?: number;
allowedTypes?: readonly string[];
customValidator?: (file: File) => boolean | string;
errorMessages?: {
fileSize?: string;
fileType?: string;
custom?: string;
};
}
interface IFileTypeOptions {
allowedTypes?: readonly string[];
caseInsensitive?: boolean;
allowWildcard?: boolean;
}
interface ITruncateStringOptions {
length?: number;
ellipsis?: string;
position?: 'end' | 'middle' | 'start';
wordBoundary?: boolean;
preserveWords?: boolean;
}
interface ITitleCaseOptions {
lowercaseWords?: string[];
uppercaseWords?: string[];
separators?: string[];
forceFirstUppercase?: boolean;
locale?: string;
}
interface IGenerateCodeOptions {
length?: number;
charset?: 'numeric' | 'alphabetic' | 'alphanumeric' | 'custom';
customCharset?: string;
lowercase?: boolean;
uppercase?: boolean;
prefix?: string;
suffix?: string;
segments?: number;
segmentSeparator?: string;
excludeAmbiguous?: boolean;
}
interface ICurrencyFormatOptions {
currency?: string;
symbol?: string;
divideBy?: number;
decimalPlaces?: number;
symbolPosition?: 'before' | 'after';
decimalSeparator?: string;
thousandsSeparator?: string;
includeSpace?: boolean;
locale?: string;
negativeInParentheses?: boolean;
}
interface ICountdownOptions {
format?: 'short' | 'long' | 'custom';
labels?: {
days?: string;
hours?: string;
minutes?: string;
seconds?: string;
daysPlural?: string;
hoursPlural?: string;
minutesPlural?: string;
secondsPlural?: string;
};
showZeros?: boolean;
maxUnits?: number;
separator?: string;
locale?: string;
}
interface IDateFormatOptions {
format?: string;
timezone?: string;
locale?: string;
}
interface IValidationOptions {
pattern?: RegExp;
errorMessage?: string;
caseSensitive?: boolean;
customValidator?: (value: any) => boolean;
}
interface IRegexMatchOptions {
flags?: string;
escape?: boolean;
global?: boolean;
}
interface IImageDimensionOptions {
onError?: 'throw' | 'return-null';
timeout?: number;
}
interface IZTKGlobalConfig {
cryptoSecret?: string;
fileUpload?: {
maxSize?: number;
allowedTypes?: readonly string[];
};
dateTime?: {
format?: string;
timezone?: string;
locale?: string;
};
currency?: {
symbol?: string;
decimals?: number;
locale?: string;
};
errorMessages?: {
[key: string]: string;
};
validation?: {
emailDomains?: string[];
phoneCountryCode?: string;
};
}
declare const checkForDuplicateEnumValues: (enumObject: object, message?: string) => void;
declare const apiHeaderKeys: {
readonly authToken: "x-auth-token";
readonly authorization: "authorization";
readonly contentType: "content-type";
readonly accept: "accept";
};
declare const frbCollectionQueryDefaults: {
readonly limit: 100;
readonly offset: 0;
readonly orderBy: {
readonly fieldKey: DBColumnKeysShortFormEnum.createdAt;
readonly order: FrbOrderbyDirectionEnum.desc;
};
};
declare const apiConstants: {
readonly authorizationTokenType: {
readonly bearer: "Bearer";
};
};
declare const defaultValue: {
fallbackValue: string;
};
declare const dayjs: {
formate: string;
};
declare const dateFormat: {
ISODateTimeFormate: string;
fullDateWithTime12Hour: string;
compactDateTimeWithAMPM: string;
compactDateWithMonthAbbr: string;
};
declare const urlParams: {
readonly googleMapsApiKey: "{{googleMapsApiKey}}";
};
declare const timeUnitType: {
readonly MINUTES: "minutes";
};
declare const urlTarget: {
readonly blank: "_blank";
};
declare const fieldsValidation: {
readonly generic: {
readonly title: {
readonly min: {
readonly val: 1;
readonly errorMessage: "Title is required.";
};
readonly max: {
readonly val: 100;
readonly errorMessage: "Title max value can not be greater than 100.";
};
readonly isOptional: false;
};
readonly description: {
readonly short: {
readonly max: {
readonly val: 250;
readonly errorMessage: "Description max value allowed is 250 characters.";
};
readonly isOptional: true;
};
readonly medium: {
readonly max: {
readonly val: 500;
readonly errorMessage: "Description max value allowed is 500 characters.";
};
readonly isOptional: true;
};
};
readonly phoneNumber: {
readonly min: {
readonly val: 12;
readonly errorMessage: "Phone number min value allowed is 13 characters.";
};
readonly max: {
readonly val: 13;
readonly errorMessage: "Phone number max value allowed is 13 characters.";
};
readonly startWith: {
readonly val: "+923";
readonly errorMessage: "Phone number must start with +923";
};
readonly isOptional: false;
};
readonly remarks: {
readonly short: {
readonly max: {
readonly val: 250;
readonly errorMessage: "Remarks max value allowed is 250 characters.";
};
readonly isOptional: true;
};
readonly medium: {
readonly max: {
readonly val: 500;
readonly errorMessage: "Remarks max value allowed is 500 characters.";
};
readonly isOptional: true;
};
};
readonly verificationCode: {
readonly length: {
readonly val: 6;
readonly errorMessage: "Verification code must contain exactly 6 character(s)";
};
};
};
};
declare const svgIconTypes: string[];
declare const allowedImageTypes: readonly ["image/png", "image/jpeg", "image/gif"];
declare const mediaScales: {
readonly mdScale: "768px";
readonly lgScale: "1000px";
readonly smScale: "767px";
readonly xsScale: "450px";
readonly xxsScale: "359px";
readonly maxMobile: "600px";
readonly width340: "340px";
readonly smallMobile: "300px";
readonly mediumMobile: "500px";
readonly largeMobile: "575px";
readonly width430: "430px";
readonly width270: "270px";
readonly width250: "250px";
readonly width200: "200px";
readonly width170: "170px";
readonly minTablet: "870px";
readonly largeScreen: "1050px";
readonly extraLargeScreen: "900px";
};
declare const permissionsData: {
value: PermissionEnum;
label: string;
}[];
declare const rolePermissionsMap: {
[key in RoleEnum]: () => number[];
};
declare const reportCustomError: (errData: unknown, message?: string, showInConsole?: boolean) => void;
declare const getZUniqueKey: () => string;
declare const emptyVoidReturnFunction: () => void;
declare const emptyVoidReturnFunctionPromise: () => Promise<void>;
declare const zStringify: (_data: unknown) => string;
declare const zJsonParse: <T>(_data: string) => T | undefined;
declare const isZNonEmptyString: (value: string | undefined | null) => boolean;
declare const isZNonEmptyStrings: (values: Array<string | undefined | null>) => boolean;
declare const isZValidNumber: (value: number | string | undefined | null, checkPositive?: boolean) => boolean;
declare const isZValidNumbers: (values: Array<number | string | undefined | null>, checkPositive?: boolean) => boolean;
declare const convertToTitleCase: (s: string) => string;
declare const convertToTitleCaseV1: (s: string) => string;
declare const ZTotalPages: (total: number, perPage: number) => number;
declare const imageUrlToBase64: (url?: string, authToken?: string) => Promise<string>;
declare const replaceUrlDynamicParts: ({ url, itemsId, urlDynamicParts, }: {
url: string;
itemsId: Array<number | string>;
urlDynamicParts: Array<number | string>;
}) => string;
declare const zConvertToBoolean: (value?: string | boolean) => boolean;
declare const generateUniqueCode: (length?: number) => string;
declare const generateUniqueCodeV2: (options?: IGenerateCodeOptions) => string;
declare const isNullOrUndefined: (value: any) => boolean;
declare const isNotNullOrUndefined: (value: any) => boolean;
declare const dumpValueNoLogNothing: (..._: any) => void;
declare const isArray: (arr: unknown, checkLength?: boolean) => boolean;
declare const isSoftDeleted: ({ item, }: {
item: DBItemGenericDataType;
}) => boolean;
declare const dbItemIsBlocked: ({ item, }: {
item: DBItemGenericDataType;
}) => boolean;
declare const getDBTimeColumnValue: ({ key, item, }: {
item?: IGenericObject;
key: DBColumnKeysShortFormEnum;
}) => string | undefined;
declare const addUrlProtocolHandler: (url: string, isLocalhost: boolean) => string;
declare const isObject: (obj: unknown, checkKeys?: boolean) => boolean;
declare const buildFilterObject: (filter: Record<string, unknown>) => Record<string, unknown>;
declare const getActiveFilters: <T = unknown>(field: string, filter: {
field?: string;
values?: T;
}) => T | [];
declare const isValidUrl: (url: string) => boolean;
declare const isValidVanityUrl: ({ domain, url, }: {
url: string;
domain: string;
}) => boolean;
declare const containSpecialCharacters: (text: string) => boolean;
declare const generateSlug: ({ options, text, }: {
text: string;
options?: {
lowercase?: boolean;
separator?: string;
trim?: boolean;
};
}) => string | undefined;
declare const validateInputCharacters: ({ input, type, }: {
input: string;
type: "email" | "name";
}) => {
isValid: boolean;
invalidChars: string[];
validatedValue: string;
};
declare const getImageBase64Url: (file: File) => Promise<unknown>;
declare const containQueryParams: (url: string) => boolean | "";
declare const getObjectKey: (obj: any, key: string, defaultValue?: any, checkNull?: boolean) => any;
declare const checkIfKeyExists: (obj: Record<string, unknown>, key: string, checkNull?: boolean) => boolean;
declare const isEqual: (x: any, y: any) => boolean;
declare const toRad: (Value: number) => number;
declare const calcCrow: (lat1: number, lng1: number, lat2: number, lng2: number) => number;
declare const truncateString: (text: string, length?: number) => string;
declare const truncateStringV2: (text: string, options?: ITruncateStringOptions) => string;
declare const detectDeviceAndViewMode: () => {
webkitVer: number;
isGoogle: boolean | 0;
isAndroid: boolean | 0;
androidDesktopMode: boolean | 0;
};
declare const checkEqualityOfTwoArray: (arrOne: Array<unknown>, arrTwo: Array<unknown>) => boolean;
declare const isFileTypeAllowed: (file: File, type?: string) => boolean;
declare const isFileTypeAllowedV2: (file: File, options?: IFileTypeOptions) => boolean;
declare const getImageDimensions: (file: File) => Promise<{
width: number;
height: number;
} | null>;
declare const getImageAspectRatio: (width: number, height: number) => number[] | null;
declare const checkVariableType: (val: unknown, type?: string) => boolean;
declare const isStringVariable: (val?: unknown) => boolean;
declare const isFunction: (val: unknown) => boolean;
declare const imageTypeAllowed: (file: any) => boolean;
declare const validateFileBeforeUpload: ({ file, sizeLimit, }: {
file: File;
sizeLimit: number;
}) => {
status: string;
type: string;
};
declare const validateFileBeforeUploadV2: (file: File, options?: IValidateFileOptions) => {
status: "success" | "error";
type: "SUCCESS" | "FILE_SIZE_LIMIT" | "INVALID_FILE_TYPE" | "CUSTOM_ERROR";
message?: string;
};
declare const isValidEmail: (email: string) => boolean | "";
declare const generateUUID: () => string;
declare const flattenArray: <T>(arr: any[]) => T[];
declare const normalizeEnumValue: <T extends Record<string, string | number>>(type: string, enumObject: T) => T[keyof T] | null;
declare const isFileTypeValid: (filename: string, filetype: string | RegExp) => boolean;
declare const getTextOnly: (text: string) => string;
declare const getPaginationParams: ({ pagination, returnDefaultValues, defaultOffset, defaultLimit, }: {
pagination?: IPaginationOptions;
returnDefaultValues?: boolean;
defaultOffset?: number;
defaultLimit?: number;
}) => {
offset: number | null;
limit: number | null;
};
declare const createRegexMatch: (searchQuery?: string) => {
$regex: RegExp;
};
declare const formatUSD: (stripeAmount: number) => string;
declare const formatUSDV2: (stripeAmount: number, options?: ICurrencyFormatOptions) => string;
declare const formatStripeAmount: (USDString: string) => number;
declare const removeLeadingTrailingChars: ({ input, characters, onlyLeading, onlyTrailing, trimWhitespace, }: {
input: string;
characters?: string | string[];
onlyLeading?: boolean;
onlyTrailing?: boolean;
trimWhitespace?: boolean;
}) => string;
declare const hasLeadingOrTrailingSlash: (input: string) => boolean;
declare const escapeRegex: ({ input, removeLeadingTrailing, }: {
input: string;
removeLeadingTrailing?: boolean;
}) => string;
declare const formatCamelCaseToTitle: (str: string) => string;
declare const getTimeInUnit: ({ valueUnit, value, outputUnit, }: {
valueUnit: TimeUnitEnum;
value: number;
outputUnit: TimeUnitEnum;
}) => number;
declare const isBrowser: () => boolean;
declare const isApplePrivateEmail: ({ email, pattern, }: {
email: string;
pattern?: RegExp;
}) => boolean;
declare const getPermissions: (excludes?: string[], include?: string[]) => PermissionEnum[];
declare const getUserRoleEnumValueFromString: (_userRole: string) => RoleEnum;
declare const mapPermissionsToStrings: (permissions: number[]) => string[];
declare const hasPermission: <T>({ permission, userPermissions, }: {
userPermissions: T[];
permission: T;
}) => boolean;
declare const validateRequiredPermissions: <T>({ userPermissions, requiredPermissions, checkModeForRequiredPermissions, }: {
userPermissions: Array<T>;
requiredPermissions?: Array<T>;
checkModeForRequiredPermissions?: PermissionCheckModeEnum;
}) => boolean;
declare const validateExcludedPermissions: <T>({ userPermissions, excludedPermissions, checkModeForExcludedPermissions, }: {
userPermissions: Array<T>;
excludedPermissions?: Array<T>;
checkModeForExcludedPermissions?: PermissionCheckModeEnum;
}) => boolean;
declare const validateUserPermissions: <T>({ userPermissions, requiredPermissions, excludedPermissions, checkModeForRequiredPermissions, checkModeForExcludedPermissions, }: IHasRequiredPermissions<T>) => boolean;
declare const validateEmail: (email: string) => boolean;
declare const validateURL: (url: string) => boolean;
declare const validatePhoneNumber: (phone: string) => boolean;
declare const ztkMessages: {
readonly general: {
readonly success: "Request Completed";
readonly failed: "Request failed";
readonly created: "item created";
readonly updated: "item updated";
readonly deleted: "item deleted";
readonly notFound: "item notFound";
readonly invalidData: "invalid data";
readonly tooManyRequests: "tooManyRequests";
readonly unAuthenticated: "unAuthenticated";
readonly unAuthorized: "unAuthorized";
readonly serverError: "serverError";
readonly badRequest: "badRequest";
readonly itemExists: "itemExists";
};
readonly profile: {
readonly added: "Profile data added successfully.";
readonly updated: "Profile data updated successfully.";
};
};
declare const getStripeErrorMessageByErrorCode: (code: string) => string;
declare const getStripeErrorMessageByRequirement: (requirement: string) => string;
declare const getStripeErrorMessageByDisabledCode: (code: string) => string;
declare const requestStatusVal: readonly [
RequestStatusEnum.approved,
RequestStatusEnum.rejected
];
declare const transferMethodVal: readonly [
TransferMethodEnum.easypaisa,
TransferMethodEnum.jazzcash
];
declare const selectorEnumVal: readonly [
QueryKeyTypeEnum.id,
QueryKeyTypeEnum.roomCode
];
declare const inAppNotificationsSendToEnumVal: readonly [
InAppNotificationSendToEnum.allUsers,
InAppNotificationSendToEnum.allAdmins,
InAppNotificationSendToEnum.allEngagers,
InAppNotificationSendToEnum.allPlayers,
InAppNotificationSendToEnum.allEngagersAndPlayers,
InAppNotificationSendToEnum.specificUsers
];
declare const userRoleEnumVal: readonly [
_UserRoleEnum.superAdmin,
_UserRoleEnum.admin,
_UserRoleEnum.manager,
_UserRoleEnum.editor,
_UserRoleEnum.creator,
_UserRoleEnum.reviewer,
_UserRoleEnum.player,
_UserRoleEnum.engager
];
declare const booleanEnumVal: BooleanEnum[];
interface CouponOptions {
parts: number;
partLen: number;
plaintext?: string;
}
declare function checkIfCouponCodeHasBadWord(code: string): boolean;
declare function generateCouponCode(opts?: Partial<CouponOptions>): string;
declare function validateCouponCode(code: string, opts?: Partial<CouponOptions>): string;
declare function arrayMoveMutable<T>(array: T[], fromIndex: number, toIndex: number): void;
declare function arrayMoveImmutable<T>(array: T[], fromIndex: number, toIndex: number): T[];
type ClassValue = string | number | boolean | undefined | null | ClassDictionary | ClassArray | ClassNameGeneratorFunction;
interface ClassDictionary {
[id: string]: unknown;
}
interface ClassArray extends Array<ClassValue> {
}
interface ClassNameGeneratorFunction {
toString(): string;
}
declare function classNames(...args: ClassValue[]): string;
declare function classNamesDedupe(...args: ClassValue[]): string;
declare function classNamesBind(this: any, ...args: ClassValue[]): string;
export { AddressComponentTypeEnum, AlertTypeEnum, ApiPathEnum, BooleanEnum, CapacitorPlatformEnum, CharTypeEnum, type ClassArray, type ClassDictionary, type ClassNameGeneratorFunction, type ClassValue, type CouponOptions, DBColumnKeysShortFormEnum, type DBItemGenericDataType, FormFieldsEnum, type FormItemGenericDataType, FrbOrderbyDirectionEnum, FrbWhereConditionEnum, GeoLocationPermissionStateEnum, GeoLocationResponseCodeEnum, type GeolocationCoordinates, type GetCapGeoLocationApiDataResponse, type ICountdownOptions, type ICurrencyFormatOptions, type IDateFormatOptions, type IFileTypeOptions, type IFrbCollectionQueryItem, type IGenerateCodeOptions, IGenericObject, type IHasRequiredPermissions, type IImageDimensionOptions, IPaginationOptions, type IRegexMatchOptions, type ITitleCaseOptions, type ITruncateStringOptions, type IUseHasRequiredPermissions, type IUseHasRequiredPermissionsReturn, type IValidateFileOptions, type IValidationOptions, type IZTKGlobalConfig, PermissionCheckModeEnum, PermissionEnum, type PlatformData, QueryKeyTypeEnum, RequestStatusEnum, RoleEnum, TimeUnitEnum, TransferMethodEnum, type UseHasRequiredPermissionCheckPermissionType, ZTotalPages, _UserRoleEnum, addUrlProtocolHandler, allowedImageTypes, apiConstants, apiHeaderKeys, arrayMoveImmutable, arrayMoveMutable, booleanEnumVal, buildFilterObject, calcCrow, checkEqualityOfTwoArray, checkForDuplicateEnumValues, checkIfCouponCodeHasBadWord, checkIfKeyExists, checkVariableType, classNames, classNamesBind, classNamesDedupe, configureZTK, containQueryParams, containSpecialCharacters, convertToTitleCase, convertToTitleCaseV1, createRegexMatch, dateFormat, dayjs, dbItemIsBlocked, defaultValue, detectDeviceAndViewMode, dumpValueNoLogNothing, emptyVoidReturnFunction, emptyVoidReturnFunctionPromise, escapeRegex, fieldsValidation, flattenArray, formatCamelCaseToTitle, formatStripeAmount, formatUSD, formatUSDV2, frbCollectionQueryDefaults, generateCouponCode, generateSlug, generateUUID, generateUniqueCode, generateUniqueCodeV2, getActiveFilters, getDBTimeColumnValue, getImageAspectRatio, getImageBase64Url, getImageDimensions, getObjectKey, getPaginationParams, getPermissions, getStripeErrorMessageByDisabledCode, getStripeErrorMessageByErrorCode, getStripeErrorMessageByRequirement, getTextOnly, getTimeInUnit, getUserRoleEnumValueFromString, getZUniqueKey, hasLeadingOrTrailingSlash, hasPermission, imageTypeAllowed, imageUrlToBase64, inAppNotificationsSendToEnumVal, isApplePrivateEmail, isArray, isBrowser, isEqual, isFileTypeAllowed, isFileTypeAllowedV2, isFileTypeValid, isFunction, isNotNullOrUndefined, isNullOrUndefined, isObject, isSoftDeleted, isStringVariable, isValidEmail, isValidUrl, isValidVanityUrl, isZNonEmptyString, isZNonEmptyStrings, isZValidNumber, isZValidNumbers, mapPermissionsToStrings, mediaScales, normalizeEnumValue, permissionsData, removeLeadingTrailingChars, replaceUrlDynamicParts, reportCustomError, requestStatusVal, rolePermissionsMap, selectorEnumVal, svgIconTypes, timeUnitType, toRad, transferMethodVal, truncateString, truncateStringV2, urlParams, urlTarget, userRoleEnumVal, validateCouponCode, validateEmail, validateExcludedPermissions, validateFileBeforeUpload, validateFileBeforeUploadV2, validateInputCharacters, validatePhoneNumber, validateRequiredPermissions, validateURL, validateUserPermissions, zConvertToBoolean, zJsonParse, zStringify, ztkMessages };