@plyaz/config 1.0.5 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
1
  'use strict';var chains=require('viem/chains');// @plyaz package - Built with tsup
2
- var s=typeof window>"u",t=globalThis.process.env.NODE_ENV==="development",r=globalThis.process.env.NODE_ENV==="production",_=globalThis.process.env.NODE_ENV==="test";var n={apiKey:globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY,rpcUrls:{ethereum:`https://eth-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,polygon:`https://polygon-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,arbitrum:`https://arb-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,optimism:`https://opt-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,base:`https://base-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,solana:`https://solana-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`}};var N={google:{clientId:globalThis.process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID,clientSecret:globalThis.process.env.GOOGLE_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI,scopes:["openid","profile","email"]},discord:{clientId:globalThis.process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID,clientSecret:globalThis.process.env.DISCORD_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_DISCORD_REDIRECT_URI,scopes:["identify","email"]},facebook:{clientId:globalThis.process.env.NEXT_PUBLIC_FACEBOOK_CLIENT_ID,clientSecret:globalThis.process.env.FACEBOOK_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_FACEBOOK_REDIRECT_URI,scopes:["public_profile","email"]}};var O={nftManager:{read:{arbitrum:""},write:{arbitrum:""}},tokenManager:{read:{arbitrum:""},write:{arbitrum:""}}};var l={ethereum:chains.mainnet},L={ethereum:chains.mainnet,sepolia:chains.sepolia},i={sepolia:chains.sepolia};var P={AUTH_GOOGLE:true,AUTH_DISCORD:t,AUTH_FACEBOOK:false,AUTH_GITHUB:true},y={provider:"database",isCacheEnabled:true,cacheTtl:300,refreshInterval:60,shouldFallbackToDefaults:true,isLoggingEnabled:globalThis.process.env.NODE_ENV==="development"},M={provider:"memory",isCacheEnabled:true,cacheTtl:300,refreshInterval:0,shouldFallbackToDefaults:true,isLoggingEnabled:false};var H={app:"https://plyaz.co.uk",api:globalThis.process.env.NEXT_PUBLIC_API_URL};var o="en",e=["en","es","pt"],g="Europe/London";var v={NAME:"Plyaz",VERSION:"1.0.0",DEFAULT_LOCALE:"en",SUPPORTED_LOCALES:e},d={NAME:"Plyaz The App",VERSION:"1.0.0",DEFAULT_LOCALE:"en",SUPPORTED_LOCALES:e};var u={BLOCKED_REGIONS:["KP","SY","IR","CU","SD","SO","UA-CR","UA-DP","UA-LU"]};var K={},X={ttl:{short:300,medium:1800,long:3600,extended:86400},keys:{user:"user:",nft:"nft:",blockchain:"blockchain:",auth:"auth:"},redis:{url:globalThis.process.env.REDIS_URL,keyPrefix:"plyaz:",maxRetriesPerRequest:3,lazyConnect:true}},k={};var W={RANDOM_STRING_START:2,RANDOM_STRING_LENGTH:9,UUID_RANDOM_MULTIPLIER:16,UUID_HEX_MASK:3,UUID_HEX_OR_VALUE:8};var Z={ARRAY_SPLIT_CENTER:.5,DEFAULT_PAGE_SIZE:10,DEFAULT_MAX_RETRIES:3,THREE_ITEMS:3};var to={OK:200,CREATED:201,FOUND:302,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,FORBIDDEN:403,NOT_FOUND:404,INTERNAL_SERVER_ERROR:500};var ro={MILLISECONDS_PER_SECOND:1e3,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,DEFAULT_TIMEOUT:5e3,DEFAULT_RETRY_DELAY:100,DEFAULT_RETRY_ATTEMPTS:3,DEFAULT_DEBOUNCE_DELAY:50,DEFAULT_ANIMATION_FRAME:16.67,DEFAULT_CACHE_TTL:300,DEFAULT_PORT:3e3,WEBSOCKET_CLOSE_ABNORMAL:1006,WEBSOCKET_RETRY_DELAY:500};var Ao={BINARY_BASE:2,OCTAL_BASE:8,DECIMAL_BASE:10,HEX_BASE:16,BASE36:36},No={HALF:.5,TENTH:.1,TWENTIETH:.05,PERCENT_95:.95,PERCENT_99:.99,QUADRATIC_THRESHOLD:1.5,EXPONENTIAL_THRESHOLD:3,VARIANCE_MULTIPLIER:4,VARIANCE_OFFSET:2};var co={MEMORY_LEAK_THRESHOLD:.1,DEFAULT_BENCHMARK_RUNS:100,DEFAULT_WARMUP_RUNS:10};var Ro={IPV4_OCTET_MIN:1,IPV4_OCTET_MAX:255,IPV4_OCTET_COUNT:4,RANDOM_BYTE_MAX:256,DEFAULT_PROCESS_ID_MAX:1e4};var io={CHART_BAR_MAX_LENGTH:40,CHART_SEPARATOR_LENGTH:60,DECIMAL_PRECISION:3},Do={LOWERCASE_A:97,ALPHABET_SIZE:26,SPACE:32};
3
- exports.ALCHEMY_CONFIG=n;exports.API_CONFIG=K;exports.CACHE_CONFIG=X;exports.CHAR_CODES=Do;exports.COLLECTION_CONSTANTS=Z;exports.CONTRACTS=O;exports.DEFAULT_BACKEND_CONFIG=y;exports.DEFAULT_FRONTEND_CONFIG=M;exports.DEFAULT_LOCALE=o;exports.DEV_SUPPORTED_CHAINS=i;exports.DISPLAY_CONSTANTS=io;exports.DOMAINS=H;exports.FEATURES=P;exports.HTTP_STATUS=to;exports.LANDING_PAGE_APP=v;exports.MATH_CONSTANTS=No;exports.NETWORK_CONSTANTS=Ro;exports.NUMBER_SYSTEM=Ao;exports.OAUTH_PROVIDERS=N;exports.PERFORMANCE_CONSTANTS=co;exports.PROD_SUPPORTED_CHAINS=l;exports.SECURITY=u;exports.STAGING_SUPPORTED_CHAINS=L;exports.STRING_CONSTANTS=W;exports.SUPPORTED_LOCALES=e;exports.TIMEZONE=g;exports.TIME_CONSTANTS=ro;exports.WEBHOOK_CONFIG=k;exports.WEB_APP=d;exports.isDev=t;exports.isProd=r;exports.isServer=s;exports.isTest=_;//# sourceMappingURL=index.cjs.map
2
+ var T=typeof window>"u",t=globalThis.process.env.NODE_ENV==="development",r=globalThis.process.env.NODE_ENV==="production",_=globalThis.process.env.NODE_ENV==="test";var n={apiKey:globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY,rpcUrls:{ethereum:`https://eth-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,polygon:`https://polygon-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,arbitrum:`https://arb-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,optimism:`https://opt-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,base:`https://base-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,solana:`https://solana-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`}};var N={google:{clientId:globalThis.process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID,clientSecret:globalThis.process.env.GOOGLE_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI,scopes:["openid","profile","email"]},discord:{clientId:globalThis.process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID,clientSecret:globalThis.process.env.DISCORD_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_DISCORD_REDIRECT_URI,scopes:["identify","email"]},facebook:{clientId:globalThis.process.env.NEXT_PUBLIC_FACEBOOK_CLIENT_ID,clientSecret:globalThis.process.env.FACEBOOK_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_FACEBOOK_REDIRECT_URI,scopes:["public_profile","email"]}};var O={nftManager:{read:{arbitrum:""},write:{arbitrum:""}},tokenManager:{read:{arbitrum:""},write:{arbitrum:""}}};var l={ethereum:chains.mainnet},i={ethereum:chains.mainnet,sepolia:chains.sepolia},L={sepolia:chains.sepolia};var P={AUTH_GOOGLE:true,AUTH_DISCORD:t,AUTH_FACEBOOK:false,AUTH_GITHUB:true},y={provider:"database",isCacheEnabled:true,cacheTtl:300,refreshInterval:60,shouldFallbackToDefaults:true,isLoggingEnabled:globalThis.process.env.NODE_ENV==="development"},h={provider:"memory",isCacheEnabled:true,cacheTtl:300,refreshInterval:0,shouldFallbackToDefaults:true,isLoggingEnabled:false};var H={app:"https://plyaz.co.uk",api:globalThis.process.env.NEXT_PUBLIC_API_URL};var o="en",e=["en","es","pt"],b="Europe/London";var d={NAME:"Plyaz",VERSION:"1.0.0",DEFAULT_LOCALE:"en",SUPPORTED_LOCALES:e},u={NAME:"Plyaz The App",VERSION:"1.0.0",DEFAULT_LOCALE:"en",SUPPORTED_LOCALES:e};var Y={BLOCKED_REGIONS:["KP","SY","IR","CU","SD","SO","UA-CR","UA-DP","UA-LU"]};var K={},k={ttl:{short:300,medium:1800,long:3600,extended:86400},keys:{user:"user:",nft:"nft:",blockchain:"blockchain:",auth:"auth:"},redis:{url:globalThis.process.env.REDIS_URL,keyPrefix:"plyaz:",maxRetriesPerRequest:3,lazyConnect:true}},X={};var z={RANDOM_STRING_START:2,RANDOM_STRING_LENGTH:9,UUID_RANDOM_MULTIPLIER:16,UUID_HEX_MASK:3,UUID_HEX_OR_VALUE:8};var Z={ARRAY_SPLIT_CENTER:.5,DEFAULT_PAGE_SIZE:10,DEFAULT_MAX_RETRIES:3,THREE_ITEMS:3};var to={OK:200,CREATED:201,FOUND:302,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,FORBIDDEN:403,NOT_FOUND:404,INTERNAL_SERVER_ERROR:500};var ro={MILLISECONDS_PER_SECOND:1e3,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,DEFAULT_TIMEOUT:5e3,DEFAULT_RETRY_DELAY:100,DEFAULT_RETRY_ATTEMPTS:3,DEFAULT_DEBOUNCE_DELAY:50,DEFAULT_ANIMATION_FRAME:16.67,DEFAULT_CACHE_TTL:300,DEFAULT_PORT:3e3,WEBSOCKET_CLOSE_ABNORMAL:1006,WEBSOCKET_RETRY_DELAY:500};var Ao={BINARY_BASE:2,OCTAL_BASE:8,DECIMAL_BASE:10,HEX_BASE:16,BASE36:36},No={HALF:.5,TENTH:.1,TWENTIETH:.05,PERCENT_95:.95,PERCENT_99:.99,QUADRATIC_THRESHOLD:1.5,EXPONENTIAL_THRESHOLD:3,VARIANCE_MULTIPLIER:4,VARIANCE_OFFSET:2};var So={MEMORY_LEAK_THRESHOLD:.1,DEFAULT_BENCHMARK_RUNS:100,DEFAULT_WARMUP_RUNS:10};var Ro={IPV4_OCTET_MIN:1,IPV4_OCTET_MAX:255,IPV4_OCTET_COUNT:4,RANDOM_BYTE_MAX:256,DEFAULT_PROCESS_ID_MAX:1e4};var Lo={CHART_BAR_MAX_LENGTH:40,CHART_SEPARATOR_LENGTH:60,DECIMAL_PRECISION:3},Do={LOWERCASE_A:97,ALPHABET_SIZE:26,SPACE:32};var fo={x:"https://x.com/Plyaz_",instagram:"https://instagram.com/plyaz_",linkedin:"https://linkedin.com/company/plyaz"},Po={docs:"https://plyaz.gitbook.io/plyaz",community:"https://community.plyaz.co.uk",support:"mailto:help@plyaz.co.uk"};
3
+ exports.ALCHEMY_CONFIG=n;exports.API_CONFIG=K;exports.CACHE_CONFIG=k;exports.CHAR_CODES=Do;exports.COLLECTION_CONSTANTS=Z;exports.CONTRACTS=O;exports.DEFAULT_BACKEND_CONFIG=y;exports.DEFAULT_FRONTEND_CONFIG=h;exports.DEFAULT_LOCALE=o;exports.DEV_SUPPORTED_CHAINS=L;exports.DISPLAY_CONSTANTS=Lo;exports.DOMAINS=H;exports.FEATURES=P;exports.HTTP_STATUS=to;exports.LANDING_PAGE_APP=d;exports.MATH_CONSTANTS=No;exports.NETWORK_CONSTANTS=Ro;exports.NUMBER_SYSTEM=Ao;exports.OAUTH_PROVIDERS=N;exports.PERFORMANCE_CONSTANTS=So;exports.PRODUCT_LINKS=Po;exports.PROD_SUPPORTED_CHAINS=l;exports.SECURITY=Y;exports.SOCIAL_LINKS=fo;exports.STAGING_SUPPORTED_CHAINS=i;exports.STRING_CONSTANTS=z;exports.SUPPORTED_LOCALES=e;exports.TIMEZONE=b;exports.TIME_CONSTANTS=ro;exports.WEBHOOK_CONFIG=X;exports.WEB_APP=u;exports.isDev=t;exports.isProd=r;exports.isServer=T;exports.isTest=_;//# sourceMappingURL=index.cjs.map
4
4
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/env.ts","../src/providers/alchemy.ts","../src/providers/oauth.ts","../src/chains/contracts.ts","../src/chains/supportedChains.ts","../src/features.ts","../src/domains.ts","../src/constants.ts","../src/app.ts","../src/security.ts","../src/api.ts","../src/utils/string/constants.ts","../src/utils/collection/constants.ts","../src/http/constants.ts","../src/time/constants.ts","../src/math/constants.ts","../src/performance/index.ts","../src/network/constants.ts","../src/display/constants.ts"],"names":["isServer","isDev","isProd","isTest","ALCHEMY_CONFIG","OAUTH_PROVIDERS","CONTRACTS","PROD_SUPPORTED_CHAINS","mainnet","STAGING_SUPPORTED_CHAINS","sepolia","DEV_SUPPORTED_CHAINS","FEATURES","DEFAULT_BACKEND_CONFIG","DEFAULT_FRONTEND_CONFIG","DOMAINS","DEFAULT_LOCALE","SUPPORTED_LOCALES","TIMEZONE","LANDING_PAGE_APP","WEB_APP","SECURITY","API_CONFIG","CACHE_CONFIG","WEBHOOK_CONFIG","STRING_CONSTANTS","COLLECTION_CONSTANTS","HTTP_STATUS","TIME_CONSTANTS","NUMBER_SYSTEM","MATH_CONSTANTS","PERFORMANCE_CONSTANTS","NETWORK_CONSTANTS","DISPLAY_CONSTANTS","CHAR_CODES"],"mappings":"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","file":"index.cjs","sourcesContent":["export const isServer = typeof window === 'undefined';\nexport const isDev = globalThis.process.env.NODE_ENV === 'development';\nexport const isProd = globalThis.process.env.NODE_ENV === 'production';\nexport const isTest = globalThis.process.env.NODE_ENV === 'test';\n","export const ALCHEMY_CONFIG = {\n apiKey: globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY!,\n rpcUrls: {\n ethereum: `https://eth-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n polygon: `https://polygon-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n arbitrum: `https://arb-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n optimism: `https://opt-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n base: `https://base-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n solana: `https://solana-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n },\n};\n","export const OAUTH_PROVIDERS = {\n google: {\n clientId: globalThis.process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID!,\n clientSecret: globalThis.process.env.GOOGLE_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI!,\n scopes: ['openid', 'profile', 'email'],\n },\n discord: {\n clientId: globalThis.process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID!,\n clientSecret: globalThis.process.env.DISCORD_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_DISCORD_REDIRECT_URI!,\n scopes: ['identify', 'email'],\n },\n facebook: {\n clientId: globalThis.process.env.NEXT_PUBLIC_FACEBOOK_CLIENT_ID!,\n clientSecret: globalThis.process.env.FACEBOOK_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_FACEBOOK_REDIRECT_URI!,\n scopes: ['public_profile', 'email'],\n },\n} as const;\n","export const CONTRACTS = {\n nftManager: {\n read: {\n arbitrum: '',\n },\n write: {\n arbitrum: '',\n },\n },\n tokenManager: {\n read: {\n arbitrum: '',\n },\n write: {\n arbitrum: '',\n },\n },\n} as const;\n","import { mainnet, sepolia } from 'viem/chains';\n\nexport const PROD_SUPPORTED_CHAINS = {\n // Mainnets\n ethereum: mainnet,\n} as const;\n\nexport const STAGING_SUPPORTED_CHAINS = {\n // Mainnets\n ethereum: mainnet,\n // Testnets\n sepolia,\n} as const;\n\nexport const DEV_SUPPORTED_CHAINS = {\n // Testnets\n sepolia,\n} as const;\n","import { isDev } from './env';\n\nexport const FEATURES = {\n // Authentication & Auth Providers\n // eslint-disable-next-line @typescript-eslint/naming-convention\n AUTH_GOOGLE: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n AUTH_DISCORD: isDev,\n AUTH_FACEBOOK: false,\n AUTH_GITHUB: true,\n} as const satisfies Record<string, boolean>;\n\n/**\n * Default backend configuration for feature flags.\n * Optimized for server-side usage with reasonable defaults.\n */\nexport const DEFAULT_BACKEND_CONFIG = {\n provider: 'database',\n isCacheEnabled: true,\n cacheTtl: 300, // 5 minutes\n refreshInterval: 60, // 1 minute auto-refresh\n shouldFallbackToDefaults: true,\n isLoggingEnabled: globalThis.process.env.NODE_ENV === 'development',\n} as const;\n\n/**\n * Default frontend configuration for feature flags.\n * Optimized for client-side usage with reasonable defaults.\n */\nexport const DEFAULT_FRONTEND_CONFIG = {\n provider: 'memory',\n isCacheEnabled: true,\n cacheTtl: 300, // 5 minutes\n refreshInterval: 0, // No auto-refresh for frontend\n shouldFallbackToDefaults: true,\n isLoggingEnabled: false, // Disabled in production\n} as const;\n","export const DOMAINS = {\n app: 'https://plyaz.co.uk',\n api: globalThis.process.env.NEXT_PUBLIC_API_URL!,\n} as const;\n","export const DEFAULT_LOCALE = 'en';\nexport const SUPPORTED_LOCALES = ['en', 'es', 'pt'] as const;\nexport const TIMEZONE = 'Europe/London';\n","import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from './constants';\n\nexport const LANDING_PAGE_APP = {\n NAME: 'Plyaz',\n VERSION: '1.0.0',\n DEFAULT_LOCALE,\n SUPPORTED_LOCALES,\n} as const;\n\nexport const WEB_APP = {\n NAME: 'Plyaz The App',\n VERSION: '1.0.0',\n DEFAULT_LOCALE,\n SUPPORTED_LOCALES,\n} as const;\n","export const SECURITY = {\n BLOCKED_REGIONS: ['KP', 'SY', 'IR', 'CU', 'SD', 'SO', 'UA-CR', 'UA-DP', 'UA-LU'],\n} as const;\n","export const API_CONFIG = {} as const;\n\nexport const CACHE_CONFIG = {\n // Cache TTL in seconds\n ttl: {\n short: 300, // 5 minutes\n medium: 1800, // 30 minutes\n long: 3600, // 1 hour\n extended: 86400, // 24 hours\n },\n\n // Cache keys\n keys: {\n user: 'user:',\n nft: 'nft:',\n blockchain: 'blockchain:',\n auth: 'auth:',\n },\n\n // Redis configuration\n redis: {\n url: globalThis.process.env.REDIS_URL!,\n keyPrefix: 'plyaz:',\n maxRetriesPerRequest: 3,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n lazyConnect: true,\n },\n} as const;\n\nexport const WEBHOOK_CONFIG = {} as const;\n","/**\n * String Manipulation Constants\n *\n * Constants used for string generation, manipulation,\n * and UUID-related operations.\n *\n * @module utils/string/constants\n */\n\n/**\n * String generation and manipulation constants\n */\nexport const STRING_CONSTANTS = {\n /**\n * Starting position for random string extraction\n */\n RANDOM_STRING_START: 2,\n\n /**\n * Length of random string segment\n */\n RANDOM_STRING_LENGTH: 9,\n\n /**\n * Multiplier for UUID random value generation\n */\n UUID_RANDOM_MULTIPLIER: 16,\n\n /**\n * Hexadecimal mask for UUID generation\n */\n UUID_HEX_MASK: 0x3,\n\n /**\n * OR value for UUID hexadecimal operations\n */\n UUID_HEX_OR_VALUE: 0x8,\n} as const;\n\n/**\n * Type for string constant values\n */\nexport type StringConstant = (typeof STRING_CONSTANTS)[keyof typeof STRING_CONSTANTS];\n","/**\n * Collection and Array Constants\n *\n * Constants for array operations, pagination,\n * and collection manipulation.\n *\n * @module utils/collection/constants\n */\n\n/**\n * Array and collection operation constants\n */\nexport const COLLECTION_CONSTANTS = {\n /**\n * Center point for array splitting (50%)\n */\n ARRAY_SPLIT_CENTER: 0.5,\n\n /**\n * Default page size for pagination\n */\n DEFAULT_PAGE_SIZE: 10,\n\n /**\n * Default maximum number of retries for operations\n */\n DEFAULT_MAX_RETRIES: 3,\n\n /**\n * Constant for three items (used in various contexts)\n */\n THREE_ITEMS: 3,\n} as const;\n\n/**\n * Type for collection constant values\n */\nexport type CollectionConstant = (typeof COLLECTION_CONSTANTS)[keyof typeof COLLECTION_CONSTANTS];\n","/**\n * HTTP Status Code Constants\n *\n * Common HTTP status codes used throughout the application.\n * Based on RFC 9110 (HTTP Semantics) and common usage patterns.\n *\n * @module http/constants\n */\n\n/**\n * Standard HTTP status codes\n */\nexport const HTTP_STATUS = {\n /**\n * 200 OK - The request succeeded\n */\n OK: 200,\n\n /**\n * 201 Created - The request succeeded and a new resource was created\n */\n CREATED: 201,\n\n /**\n * 302 Found - The resource resides temporarily under a different URI\n */\n FOUND: 302,\n\n /**\n * 307 Temporary Redirect - The request should be repeated with another URI\n */\n TEMPORARY_REDIRECT: 307,\n\n /**\n * 400 Bad Request - The server cannot process the request due to client error\n */\n BAD_REQUEST: 400,\n\n /**\n * 401 Unauthorized - Authentication is required and has failed or not been provided\n */\n UNAUTHORIZED: 401,\n\n /**\n * 403 Forbidden - The server understood the request but refuses to authorize it\n */\n FORBIDDEN: 403,\n\n /**\n * 404 Not Found - The server cannot find the requested resource\n */\n NOT_FOUND: 404,\n\n /**\n * 500 Internal Server Error - The server encountered an unexpected condition\n */\n INTERNAL_SERVER_ERROR: 500,\n} as const;\n\n/**\n * Type for HTTP status codes\n */\nexport type HttpStatusCode = (typeof HTTP_STATUS)[keyof typeof HTTP_STATUS];\n","/**\n * Time-related Constants\n *\n * Common time values and durations used throughout the application\n * for timeouts, delays, caching, and other time-based operations.\n *\n * @module time/constants\n */\n\n/**\n * Time conversion and duration constants\n */\nexport const TIME_CONSTANTS = {\n /**\n * Number of milliseconds in one second\n */\n MILLISECONDS_PER_SECOND: 1000,\n\n /**\n * Number of seconds in one minute\n */\n SECONDS_PER_MINUTE: 60,\n\n /**\n * Number of minutes in one hour\n */\n MINUTES_PER_HOUR: 60,\n\n /**\n * Number of hours in one day\n */\n HOURS_PER_DAY: 24,\n\n /**\n * Default timeout duration in milliseconds (5 seconds)\n */\n DEFAULT_TIMEOUT: 5000,\n\n /**\n * Default retry delay in milliseconds (100ms)\n */\n DEFAULT_RETRY_DELAY: 100,\n\n /**\n * Default number of retry attempts\n */\n DEFAULT_RETRY_ATTEMPTS: 3,\n\n /**\n * Default debounce delay in milliseconds (50ms)\n */\n DEFAULT_DEBOUNCE_DELAY: 50,\n\n /**\n * Default animation frame duration in milliseconds (~60fps)\n */\n DEFAULT_ANIMATION_FRAME: 16.67,\n\n /**\n * Default cache time-to-live in seconds (5 minutes)\n */\n DEFAULT_CACHE_TTL: 300,\n\n /**\n * Default port number for servers\n */\n DEFAULT_PORT: 3000,\n\n /**\n * WebSocket abnormal closure code\n */\n WEBSOCKET_CLOSE_ABNORMAL: 1006,\n\n /**\n * WebSocket retry delay in milliseconds (500ms)\n */\n WEBSOCKET_RETRY_DELAY: 500,\n} as const;\n\n/**\n * Type for time constant values\n */\nexport type TimeConstant = (typeof TIME_CONSTANTS)[keyof typeof TIME_CONSTANTS];\n","/**\n * Mathematical Constants\n *\n * Common mathematical values, number system bases, and calculation constants\n * used throughout the application for various computations.\n *\n * @module math/constants\n */\n\n/**\n * Number system base constants\n */\nexport const NUMBER_SYSTEM = {\n /**\n * Base 2 - Binary number system\n */\n BINARY_BASE: 2,\n\n /**\n * Base 8 - Octal number system\n */\n OCTAL_BASE: 8,\n\n /**\n * Base 10 - Decimal number system\n */\n DECIMAL_BASE: 10,\n\n /**\n * Base 16 - Hexadecimal number system\n */\n HEX_BASE: 16,\n\n /**\n * Base 36 - Alphanumeric number system (0-9, a-z)\n */\n BASE36: 36,\n} as const;\n\n/**\n * Mathematical and percentage constants\n */\nexport const MATH_CONSTANTS = {\n /**\n * Half value (50%)\n */\n HALF: 0.5,\n\n /**\n * One tenth (10%)\n */\n TENTH: 0.1,\n\n /**\n * One twentieth (5%)\n */\n TWENTIETH: 0.05,\n\n /**\n * 95th percentile\n */\n PERCENT_95: 0.95,\n\n /**\n * 99th percentile\n */\n PERCENT_99: 0.99,\n\n /**\n * Threshold for quadratic algorithm detection\n */\n QUADRATIC_THRESHOLD: 1.5,\n\n /**\n * Threshold for exponential algorithm detection\n */\n EXPONENTIAL_THRESHOLD: 3,\n\n /**\n * Multiplier for variance calculations\n */\n VARIANCE_MULTIPLIER: 4,\n\n /**\n * Offset for variance calculations\n */\n VARIANCE_OFFSET: 2,\n} as const;\n\n/**\n * Type for number system values\n */\nexport type NumberSystemBase = (typeof NUMBER_SYSTEM)[keyof typeof NUMBER_SYSTEM];\n\n/**\n * Type for math constant values\n */\nexport type MathConstant = (typeof MATH_CONSTANTS)[keyof typeof MATH_CONSTANTS];\n","/**\n * Performance Module\n *\n * Performance monitoring and benchmarking constants used for\n * measuring application performance, detecting memory leaks,\n * and configuring performance tests.\n *\n * @module performance\n */\n\n/**\n * Performance measurement constants\n */\nexport const PERFORMANCE_CONSTANTS = {\n /**\n * Threshold for detecting memory leaks (10% growth)\n */\n MEMORY_LEAK_THRESHOLD: 0.1,\n\n /**\n * Default number of benchmark runs for performance testing\n */\n DEFAULT_BENCHMARK_RUNS: 100,\n\n /**\n * Default number of warmup runs before benchmarking\n */\n DEFAULT_WARMUP_RUNS: 10,\n} as const;\n\n/**\n * Type for performance constant values\n */\nexport type PerformanceConstant =\n (typeof PERFORMANCE_CONSTANTS)[keyof typeof PERFORMANCE_CONSTANTS];\n","/**\n * Network-related Constants\n *\n * Constants for network operations including IP addresses,\n * byte ranges, and process identifiers.\n *\n * @module network/constants\n */\n\n/**\n * Network and connection constants\n */\nexport const NETWORK_CONSTANTS = {\n /**\n * Minimum value for an IPv4 octet (excluding 0 for first octet)\n */\n IPV4_OCTET_MIN: 1,\n\n /**\n * Maximum value for an IPv4 octet\n */\n IPV4_OCTET_MAX: 255,\n\n /**\n * Number of octets in an IPv4 address\n */\n IPV4_OCTET_COUNT: 4,\n\n /**\n * Maximum value for a random byte (256 exclusive)\n */\n RANDOM_BYTE_MAX: 256,\n\n /**\n * Default maximum process ID for testing\n */\n DEFAULT_PROCESS_ID_MAX: 10000,\n} as const;\n\n/**\n * Type for network constant values\n */\nexport type NetworkConstant = (typeof NETWORK_CONSTANTS)[keyof typeof NETWORK_CONSTANTS];\n","/**\n * Display and Character Constants\n *\n * Constants for display formatting, charting,\n * and character code operations.\n *\n * @module display/constants\n */\n\n/**\n * Display and chart formatting constants\n */\nexport const DISPLAY_CONSTANTS = {\n /**\n * Maximum length for chart bar display\n */\n CHART_BAR_MAX_LENGTH: 40,\n\n /**\n * Length of chart separator lines\n */\n CHART_SEPARATOR_LENGTH: 60,\n\n /**\n * Number of decimal places for display precision\n */\n DECIMAL_PRECISION: 3,\n} as const;\n\n/**\n * Character code constants\n */\nexport const CHAR_CODES = {\n /**\n * ASCII code for lowercase 'a'\n */\n LOWERCASE_A: 97,\n\n /**\n * Number of letters in the alphabet\n */\n ALPHABET_SIZE: 26,\n\n /**\n * ASCII code for space character\n */\n SPACE: 32,\n} as const;\n\n/**\n * Type for display constant values\n */\nexport type DisplayConstant = (typeof DISPLAY_CONSTANTS)[keyof typeof DISPLAY_CONSTANTS];\n\n/**\n * Type for character code values\n */\nexport type CharCode = (typeof CHAR_CODES)[keyof typeof CHAR_CODES];\n"]}
1
+ {"version":3,"sources":["../src/env.ts","../src/providers/alchemy.ts","../src/providers/oauth.ts","../src/chains/contracts.ts","../src/chains/supportedChains.ts","../src/features.ts","../src/domains.ts","../src/constants.ts","../src/app.ts","../src/security.ts","../src/api.ts","../src/utils/string/constants.ts","../src/utils/collection/constants.ts","../src/http/constants.ts","../src/time/constants.ts","../src/math/constants.ts","../src/performance/index.ts","../src/network/constants.ts","../src/display/constants.ts","../src/social.ts"],"names":["isServer","isDev","isProd","isTest","ALCHEMY_CONFIG","OAUTH_PROVIDERS","CONTRACTS","PROD_SUPPORTED_CHAINS","mainnet","STAGING_SUPPORTED_CHAINS","sepolia","DEV_SUPPORTED_CHAINS","FEATURES","DEFAULT_BACKEND_CONFIG","DEFAULT_FRONTEND_CONFIG","DOMAINS","DEFAULT_LOCALE","SUPPORTED_LOCALES","TIMEZONE","LANDING_PAGE_APP","WEB_APP","SECURITY","API_CONFIG","CACHE_CONFIG","WEBHOOK_CONFIG","STRING_CONSTANTS","COLLECTION_CONSTANTS","HTTP_STATUS","TIME_CONSTANTS","NUMBER_SYSTEM","MATH_CONSTANTS","PERFORMANCE_CONSTANTS","NETWORK_CONSTANTS","DISPLAY_CONSTANTS","CHAR_CODES","SOCIAL_LINKS","PRODUCT_LINKS"],"mappings":"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","file":"index.cjs","sourcesContent":["export const isServer = typeof window === 'undefined';\nexport const isDev = globalThis.process.env.NODE_ENV === 'development';\nexport const isProd = globalThis.process.env.NODE_ENV === 'production';\nexport const isTest = globalThis.process.env.NODE_ENV === 'test';\n","export const ALCHEMY_CONFIG = {\n apiKey: globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY!,\n rpcUrls: {\n ethereum: `https://eth-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n polygon: `https://polygon-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n arbitrum: `https://arb-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n optimism: `https://opt-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n base: `https://base-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n solana: `https://solana-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n },\n};\n","export const OAUTH_PROVIDERS = {\n google: {\n clientId: globalThis.process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID!,\n clientSecret: globalThis.process.env.GOOGLE_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI!,\n scopes: ['openid', 'profile', 'email'],\n },\n discord: {\n clientId: globalThis.process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID!,\n clientSecret: globalThis.process.env.DISCORD_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_DISCORD_REDIRECT_URI!,\n scopes: ['identify', 'email'],\n },\n facebook: {\n clientId: globalThis.process.env.NEXT_PUBLIC_FACEBOOK_CLIENT_ID!,\n clientSecret: globalThis.process.env.FACEBOOK_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_FACEBOOK_REDIRECT_URI!,\n scopes: ['public_profile', 'email'],\n },\n} as const;\n","export const CONTRACTS = {\n nftManager: {\n read: {\n arbitrum: '',\n },\n write: {\n arbitrum: '',\n },\n },\n tokenManager: {\n read: {\n arbitrum: '',\n },\n write: {\n arbitrum: '',\n },\n },\n} as const;\n","import { mainnet, sepolia } from 'viem/chains';\n\nexport const PROD_SUPPORTED_CHAINS = {\n // Mainnets\n ethereum: mainnet,\n} as const;\n\nexport const STAGING_SUPPORTED_CHAINS = {\n // Mainnets\n ethereum: mainnet,\n // Testnets\n sepolia,\n} as const;\n\nexport const DEV_SUPPORTED_CHAINS = {\n // Testnets\n sepolia,\n} as const;\n","import { isDev } from './env';\n\nexport const FEATURES = {\n // Authentication & Auth Providers\n // eslint-disable-next-line @typescript-eslint/naming-convention\n AUTH_GOOGLE: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n AUTH_DISCORD: isDev,\n AUTH_FACEBOOK: false,\n AUTH_GITHUB: true,\n} as const satisfies Record<string, boolean>;\n\n/**\n * Default backend configuration for feature flags.\n * Optimized for server-side usage with reasonable defaults.\n */\nexport const DEFAULT_BACKEND_CONFIG = {\n provider: 'database',\n isCacheEnabled: true,\n cacheTtl: 300, // 5 minutes\n refreshInterval: 60, // 1 minute auto-refresh\n shouldFallbackToDefaults: true,\n isLoggingEnabled: globalThis.process.env.NODE_ENV === 'development',\n} as const;\n\n/**\n * Default frontend configuration for feature flags.\n * Optimized for client-side usage with reasonable defaults.\n */\nexport const DEFAULT_FRONTEND_CONFIG = {\n provider: 'memory',\n isCacheEnabled: true,\n cacheTtl: 300, // 5 minutes\n refreshInterval: 0, // No auto-refresh for frontend\n shouldFallbackToDefaults: true,\n isLoggingEnabled: false, // Disabled in production\n} as const;\n","export const DOMAINS = {\n app: 'https://plyaz.co.uk',\n api: globalThis.process.env.NEXT_PUBLIC_API_URL!,\n} as const;\n","export const DEFAULT_LOCALE = 'en';\nexport const SUPPORTED_LOCALES = ['en', 'es', 'pt'] as const;\nexport const TIMEZONE = 'Europe/London';\n","import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from './constants';\n\nexport const LANDING_PAGE_APP = {\n NAME: 'Plyaz',\n VERSION: '1.0.0',\n DEFAULT_LOCALE,\n SUPPORTED_LOCALES,\n} as const;\n\nexport const WEB_APP = {\n NAME: 'Plyaz The App',\n VERSION: '1.0.0',\n DEFAULT_LOCALE,\n SUPPORTED_LOCALES,\n} as const;\n","export const SECURITY = {\n BLOCKED_REGIONS: ['KP', 'SY', 'IR', 'CU', 'SD', 'SO', 'UA-CR', 'UA-DP', 'UA-LU'],\n} as const;\n","export const API_CONFIG = {} as const;\n\nexport const CACHE_CONFIG = {\n // Cache TTL in seconds\n ttl: {\n short: 300, // 5 minutes\n medium: 1800, // 30 minutes\n long: 3600, // 1 hour\n extended: 86400, // 24 hours\n },\n\n // Cache keys\n keys: {\n user: 'user:',\n nft: 'nft:',\n blockchain: 'blockchain:',\n auth: 'auth:',\n },\n\n // Redis configuration\n redis: {\n url: globalThis.process.env.REDIS_URL!,\n keyPrefix: 'plyaz:',\n maxRetriesPerRequest: 3,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n lazyConnect: true,\n },\n} as const;\n\nexport const WEBHOOK_CONFIG = {} as const;\n","/**\n * String Manipulation Constants\n *\n * Constants used for string generation, manipulation,\n * and UUID-related operations.\n *\n * @module utils/string/constants\n */\n\n/**\n * String generation and manipulation constants\n */\nexport const STRING_CONSTANTS = {\n /**\n * Starting position for random string extraction\n */\n RANDOM_STRING_START: 2,\n\n /**\n * Length of random string segment\n */\n RANDOM_STRING_LENGTH: 9,\n\n /**\n * Multiplier for UUID random value generation\n */\n UUID_RANDOM_MULTIPLIER: 16,\n\n /**\n * Hexadecimal mask for UUID generation\n */\n UUID_HEX_MASK: 0x3,\n\n /**\n * OR value for UUID hexadecimal operations\n */\n UUID_HEX_OR_VALUE: 0x8,\n} as const;\n\n/**\n * Type for string constant values\n */\nexport type StringConstant = (typeof STRING_CONSTANTS)[keyof typeof STRING_CONSTANTS];\n","/**\n * Collection and Array Constants\n *\n * Constants for array operations, pagination,\n * and collection manipulation.\n *\n * @module utils/collection/constants\n */\n\n/**\n * Array and collection operation constants\n */\nexport const COLLECTION_CONSTANTS = {\n /**\n * Center point for array splitting (50%)\n */\n ARRAY_SPLIT_CENTER: 0.5,\n\n /**\n * Default page size for pagination\n */\n DEFAULT_PAGE_SIZE: 10,\n\n /**\n * Default maximum number of retries for operations\n */\n DEFAULT_MAX_RETRIES: 3,\n\n /**\n * Constant for three items (used in various contexts)\n */\n THREE_ITEMS: 3,\n} as const;\n\n/**\n * Type for collection constant values\n */\nexport type CollectionConstant = (typeof COLLECTION_CONSTANTS)[keyof typeof COLLECTION_CONSTANTS];\n","/**\n * HTTP Status Code Constants\n *\n * Common HTTP status codes used throughout the application.\n * Based on RFC 9110 (HTTP Semantics) and common usage patterns.\n *\n * @module http/constants\n */\n\n/**\n * Standard HTTP status codes\n */\nexport const HTTP_STATUS = {\n /**\n * 200 OK - The request succeeded\n */\n OK: 200,\n\n /**\n * 201 Created - The request succeeded and a new resource was created\n */\n CREATED: 201,\n\n /**\n * 302 Found - The resource resides temporarily under a different URI\n */\n FOUND: 302,\n\n /**\n * 307 Temporary Redirect - The request should be repeated with another URI\n */\n TEMPORARY_REDIRECT: 307,\n\n /**\n * 400 Bad Request - The server cannot process the request due to client error\n */\n BAD_REQUEST: 400,\n\n /**\n * 401 Unauthorized - Authentication is required and has failed or not been provided\n */\n UNAUTHORIZED: 401,\n\n /**\n * 403 Forbidden - The server understood the request but refuses to authorize it\n */\n FORBIDDEN: 403,\n\n /**\n * 404 Not Found - The server cannot find the requested resource\n */\n NOT_FOUND: 404,\n\n /**\n * 500 Internal Server Error - The server encountered an unexpected condition\n */\n INTERNAL_SERVER_ERROR: 500,\n} as const;\n\n/**\n * Type for HTTP status codes\n */\nexport type HttpStatusCode = (typeof HTTP_STATUS)[keyof typeof HTTP_STATUS];\n","/**\n * Time-related Constants\n *\n * Common time values and durations used throughout the application\n * for timeouts, delays, caching, and other time-based operations.\n *\n * @module time/constants\n */\n\n/**\n * Time conversion and duration constants\n */\nexport const TIME_CONSTANTS = {\n /**\n * Number of milliseconds in one second\n */\n MILLISECONDS_PER_SECOND: 1000,\n\n /**\n * Number of seconds in one minute\n */\n SECONDS_PER_MINUTE: 60,\n\n /**\n * Number of minutes in one hour\n */\n MINUTES_PER_HOUR: 60,\n\n /**\n * Number of hours in one day\n */\n HOURS_PER_DAY: 24,\n\n /**\n * Default timeout duration in milliseconds (5 seconds)\n */\n DEFAULT_TIMEOUT: 5000,\n\n /**\n * Default retry delay in milliseconds (100ms)\n */\n DEFAULT_RETRY_DELAY: 100,\n\n /**\n * Default number of retry attempts\n */\n DEFAULT_RETRY_ATTEMPTS: 3,\n\n /**\n * Default debounce delay in milliseconds (50ms)\n */\n DEFAULT_DEBOUNCE_DELAY: 50,\n\n /**\n * Default animation frame duration in milliseconds (~60fps)\n */\n DEFAULT_ANIMATION_FRAME: 16.67,\n\n /**\n * Default cache time-to-live in seconds (5 minutes)\n */\n DEFAULT_CACHE_TTL: 300,\n\n /**\n * Default port number for servers\n */\n DEFAULT_PORT: 3000,\n\n /**\n * WebSocket abnormal closure code\n */\n WEBSOCKET_CLOSE_ABNORMAL: 1006,\n\n /**\n * WebSocket retry delay in milliseconds (500ms)\n */\n WEBSOCKET_RETRY_DELAY: 500,\n} as const;\n\n/**\n * Type for time constant values\n */\nexport type TimeConstant = (typeof TIME_CONSTANTS)[keyof typeof TIME_CONSTANTS];\n","/**\n * Mathematical Constants\n *\n * Common mathematical values, number system bases, and calculation constants\n * used throughout the application for various computations.\n *\n * @module math/constants\n */\n\n/**\n * Number system base constants\n */\nexport const NUMBER_SYSTEM = {\n /**\n * Base 2 - Binary number system\n */\n BINARY_BASE: 2,\n\n /**\n * Base 8 - Octal number system\n */\n OCTAL_BASE: 8,\n\n /**\n * Base 10 - Decimal number system\n */\n DECIMAL_BASE: 10,\n\n /**\n * Base 16 - Hexadecimal number system\n */\n HEX_BASE: 16,\n\n /**\n * Base 36 - Alphanumeric number system (0-9, a-z)\n */\n BASE36: 36,\n} as const;\n\n/**\n * Mathematical and percentage constants\n */\nexport const MATH_CONSTANTS = {\n /**\n * Half value (50%)\n */\n HALF: 0.5,\n\n /**\n * One tenth (10%)\n */\n TENTH: 0.1,\n\n /**\n * One twentieth (5%)\n */\n TWENTIETH: 0.05,\n\n /**\n * 95th percentile\n */\n PERCENT_95: 0.95,\n\n /**\n * 99th percentile\n */\n PERCENT_99: 0.99,\n\n /**\n * Threshold for quadratic algorithm detection\n */\n QUADRATIC_THRESHOLD: 1.5,\n\n /**\n * Threshold for exponential algorithm detection\n */\n EXPONENTIAL_THRESHOLD: 3,\n\n /**\n * Multiplier for variance calculations\n */\n VARIANCE_MULTIPLIER: 4,\n\n /**\n * Offset for variance calculations\n */\n VARIANCE_OFFSET: 2,\n} as const;\n\n/**\n * Type for number system values\n */\nexport type NumberSystemBase = (typeof NUMBER_SYSTEM)[keyof typeof NUMBER_SYSTEM];\n\n/**\n * Type for math constant values\n */\nexport type MathConstant = (typeof MATH_CONSTANTS)[keyof typeof MATH_CONSTANTS];\n","/**\n * Performance Module\n *\n * Performance monitoring and benchmarking constants used for\n * measuring application performance, detecting memory leaks,\n * and configuring performance tests.\n *\n * @module performance\n */\n\n/**\n * Performance measurement constants\n */\nexport const PERFORMANCE_CONSTANTS = {\n /**\n * Threshold for detecting memory leaks (10% growth)\n */\n MEMORY_LEAK_THRESHOLD: 0.1,\n\n /**\n * Default number of benchmark runs for performance testing\n */\n DEFAULT_BENCHMARK_RUNS: 100,\n\n /**\n * Default number of warmup runs before benchmarking\n */\n DEFAULT_WARMUP_RUNS: 10,\n} as const;\n\n/**\n * Type for performance constant values\n */\nexport type PerformanceConstant =\n (typeof PERFORMANCE_CONSTANTS)[keyof typeof PERFORMANCE_CONSTANTS];\n","/**\n * Network-related Constants\n *\n * Constants for network operations including IP addresses,\n * byte ranges, and process identifiers.\n *\n * @module network/constants\n */\n\n/**\n * Network and connection constants\n */\nexport const NETWORK_CONSTANTS = {\n /**\n * Minimum value for an IPv4 octet (excluding 0 for first octet)\n */\n IPV4_OCTET_MIN: 1,\n\n /**\n * Maximum value for an IPv4 octet\n */\n IPV4_OCTET_MAX: 255,\n\n /**\n * Number of octets in an IPv4 address\n */\n IPV4_OCTET_COUNT: 4,\n\n /**\n * Maximum value for a random byte (256 exclusive)\n */\n RANDOM_BYTE_MAX: 256,\n\n /**\n * Default maximum process ID for testing\n */\n DEFAULT_PROCESS_ID_MAX: 10000,\n} as const;\n\n/**\n * Type for network constant values\n */\nexport type NetworkConstant = (typeof NETWORK_CONSTANTS)[keyof typeof NETWORK_CONSTANTS];\n","/**\n * Display and Character Constants\n *\n * Constants for display formatting, charting,\n * and character code operations.\n *\n * @module display/constants\n */\n\n/**\n * Display and chart formatting constants\n */\nexport const DISPLAY_CONSTANTS = {\n /**\n * Maximum length for chart bar display\n */\n CHART_BAR_MAX_LENGTH: 40,\n\n /**\n * Length of chart separator lines\n */\n CHART_SEPARATOR_LENGTH: 60,\n\n /**\n * Number of decimal places for display precision\n */\n DECIMAL_PRECISION: 3,\n} as const;\n\n/**\n * Character code constants\n */\nexport const CHAR_CODES = {\n /**\n * ASCII code for lowercase 'a'\n */\n LOWERCASE_A: 97,\n\n /**\n * Number of letters in the alphabet\n */\n ALPHABET_SIZE: 26,\n\n /**\n * ASCII code for space character\n */\n SPACE: 32,\n} as const;\n\n/**\n * Type for display constant values\n */\nexport type DisplayConstant = (typeof DISPLAY_CONSTANTS)[keyof typeof DISPLAY_CONSTANTS];\n\n/**\n * Type for character code values\n */\nexport type CharCode = (typeof CHAR_CODES)[keyof typeof CHAR_CODES];\n","export const SOCIAL_LINKS = {\n x: \"https://x.com/Plyaz_\",\n instagram: \"https://instagram.com/plyaz_\",\n linkedin: \"https://linkedin.com/company/plyaz\",\n} as const;\n\nexport const PRODUCT_LINKS = {\n docs: \"https://plyaz.gitbook.io/plyaz\",\n community: \"https://community.plyaz.co.uk\",\n support: \"mailto:help@plyaz.co.uk\",\n} as const;"]}
package/dist/index.d.ts CHANGED
@@ -14,3 +14,4 @@ export * from './math';
14
14
  export * from './performance';
15
15
  export * from './network';
16
16
  export * from './display';
17
+ export * from './social';
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
1
  import {sepolia,mainnet}from'viem/chains';// @plyaz package - Built with tsup
2
- var s=typeof window>"u",t=globalThis.process.env.NODE_ENV==="development",r=globalThis.process.env.NODE_ENV==="production",_=globalThis.process.env.NODE_ENV==="test";var n={apiKey:globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY,rpcUrls:{ethereum:`https://eth-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,polygon:`https://polygon-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,arbitrum:`https://arb-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,optimism:`https://opt-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,base:`https://base-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,solana:`https://solana-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`}};var N={google:{clientId:globalThis.process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID,clientSecret:globalThis.process.env.GOOGLE_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI,scopes:["openid","profile","email"]},discord:{clientId:globalThis.process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID,clientSecret:globalThis.process.env.DISCORD_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_DISCORD_REDIRECT_URI,scopes:["identify","email"]},facebook:{clientId:globalThis.process.env.NEXT_PUBLIC_FACEBOOK_CLIENT_ID,clientSecret:globalThis.process.env.FACEBOOK_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_FACEBOOK_REDIRECT_URI,scopes:["public_profile","email"]}};var O={nftManager:{read:{arbitrum:""},write:{arbitrum:""}},tokenManager:{read:{arbitrum:""},write:{arbitrum:""}}};var l={ethereum:mainnet},L={ethereum:mainnet,sepolia:sepolia},i={sepolia:sepolia};var P={AUTH_GOOGLE:true,AUTH_DISCORD:t,AUTH_FACEBOOK:false,AUTH_GITHUB:true},y={provider:"database",isCacheEnabled:true,cacheTtl:300,refreshInterval:60,shouldFallbackToDefaults:true,isLoggingEnabled:globalThis.process.env.NODE_ENV==="development"},M={provider:"memory",isCacheEnabled:true,cacheTtl:300,refreshInterval:0,shouldFallbackToDefaults:true,isLoggingEnabled:false};var H={app:"https://plyaz.co.uk",api:globalThis.process.env.NEXT_PUBLIC_API_URL};var o="en",e=["en","es","pt"],g="Europe/London";var v={NAME:"Plyaz",VERSION:"1.0.0",DEFAULT_LOCALE:"en",SUPPORTED_LOCALES:e},d={NAME:"Plyaz The App",VERSION:"1.0.0",DEFAULT_LOCALE:"en",SUPPORTED_LOCALES:e};var u={BLOCKED_REGIONS:["KP","SY","IR","CU","SD","SO","UA-CR","UA-DP","UA-LU"]};var K={},X={ttl:{short:300,medium:1800,long:3600,extended:86400},keys:{user:"user:",nft:"nft:",blockchain:"blockchain:",auth:"auth:"},redis:{url:globalThis.process.env.REDIS_URL,keyPrefix:"plyaz:",maxRetriesPerRequest:3,lazyConnect:true}},k={};var W={RANDOM_STRING_START:2,RANDOM_STRING_LENGTH:9,UUID_RANDOM_MULTIPLIER:16,UUID_HEX_MASK:3,UUID_HEX_OR_VALUE:8};var Z={ARRAY_SPLIT_CENTER:.5,DEFAULT_PAGE_SIZE:10,DEFAULT_MAX_RETRIES:3,THREE_ITEMS:3};var to={OK:200,CREATED:201,FOUND:302,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,FORBIDDEN:403,NOT_FOUND:404,INTERNAL_SERVER_ERROR:500};var ro={MILLISECONDS_PER_SECOND:1e3,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,DEFAULT_TIMEOUT:5e3,DEFAULT_RETRY_DELAY:100,DEFAULT_RETRY_ATTEMPTS:3,DEFAULT_DEBOUNCE_DELAY:50,DEFAULT_ANIMATION_FRAME:16.67,DEFAULT_CACHE_TTL:300,DEFAULT_PORT:3e3,WEBSOCKET_CLOSE_ABNORMAL:1006,WEBSOCKET_RETRY_DELAY:500};var Ao={BINARY_BASE:2,OCTAL_BASE:8,DECIMAL_BASE:10,HEX_BASE:16,BASE36:36},No={HALF:.5,TENTH:.1,TWENTIETH:.05,PERCENT_95:.95,PERCENT_99:.99,QUADRATIC_THRESHOLD:1.5,EXPONENTIAL_THRESHOLD:3,VARIANCE_MULTIPLIER:4,VARIANCE_OFFSET:2};var co={MEMORY_LEAK_THRESHOLD:.1,DEFAULT_BENCHMARK_RUNS:100,DEFAULT_WARMUP_RUNS:10};var Ro={IPV4_OCTET_MIN:1,IPV4_OCTET_MAX:255,IPV4_OCTET_COUNT:4,RANDOM_BYTE_MAX:256,DEFAULT_PROCESS_ID_MAX:1e4};var io={CHART_BAR_MAX_LENGTH:40,CHART_SEPARATOR_LENGTH:60,DECIMAL_PRECISION:3},Do={LOWERCASE_A:97,ALPHABET_SIZE:26,SPACE:32};
3
- export{n as ALCHEMY_CONFIG,K as API_CONFIG,X as CACHE_CONFIG,Do as CHAR_CODES,Z as COLLECTION_CONSTANTS,O as CONTRACTS,y as DEFAULT_BACKEND_CONFIG,M as DEFAULT_FRONTEND_CONFIG,o as DEFAULT_LOCALE,i as DEV_SUPPORTED_CHAINS,io as DISPLAY_CONSTANTS,H as DOMAINS,P as FEATURES,to as HTTP_STATUS,v as LANDING_PAGE_APP,No as MATH_CONSTANTS,Ro as NETWORK_CONSTANTS,Ao as NUMBER_SYSTEM,N as OAUTH_PROVIDERS,co as PERFORMANCE_CONSTANTS,l as PROD_SUPPORTED_CHAINS,u as SECURITY,L as STAGING_SUPPORTED_CHAINS,W as STRING_CONSTANTS,e as SUPPORTED_LOCALES,g as TIMEZONE,ro as TIME_CONSTANTS,k as WEBHOOK_CONFIG,d as WEB_APP,t as isDev,r as isProd,s as isServer,_ as isTest};//# sourceMappingURL=index.mjs.map
2
+ var T=typeof window>"u",t=globalThis.process.env.NODE_ENV==="development",r=globalThis.process.env.NODE_ENV==="production",_=globalThis.process.env.NODE_ENV==="test";var n={apiKey:globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY,rpcUrls:{ethereum:`https://eth-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,polygon:`https://polygon-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,arbitrum:`https://arb-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,optimism:`https://opt-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,base:`https://base-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,solana:`https://solana-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`}};var N={google:{clientId:globalThis.process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID,clientSecret:globalThis.process.env.GOOGLE_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI,scopes:["openid","profile","email"]},discord:{clientId:globalThis.process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID,clientSecret:globalThis.process.env.DISCORD_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_DISCORD_REDIRECT_URI,scopes:["identify","email"]},facebook:{clientId:globalThis.process.env.NEXT_PUBLIC_FACEBOOK_CLIENT_ID,clientSecret:globalThis.process.env.FACEBOOK_CLIENT_SECRET,redirectUri:globalThis.process.env.NEXT_PUBLIC_FACEBOOK_REDIRECT_URI,scopes:["public_profile","email"]}};var O={nftManager:{read:{arbitrum:""},write:{arbitrum:""}},tokenManager:{read:{arbitrum:""},write:{arbitrum:""}}};var l={ethereum:mainnet},i={ethereum:mainnet,sepolia:sepolia},L={sepolia:sepolia};var P={AUTH_GOOGLE:true,AUTH_DISCORD:t,AUTH_FACEBOOK:false,AUTH_GITHUB:true},y={provider:"database",isCacheEnabled:true,cacheTtl:300,refreshInterval:60,shouldFallbackToDefaults:true,isLoggingEnabled:globalThis.process.env.NODE_ENV==="development"},h={provider:"memory",isCacheEnabled:true,cacheTtl:300,refreshInterval:0,shouldFallbackToDefaults:true,isLoggingEnabled:false};var H={app:"https://plyaz.co.uk",api:globalThis.process.env.NEXT_PUBLIC_API_URL};var o="en",e=["en","es","pt"],b="Europe/London";var d={NAME:"Plyaz",VERSION:"1.0.0",DEFAULT_LOCALE:"en",SUPPORTED_LOCALES:e},u={NAME:"Plyaz The App",VERSION:"1.0.0",DEFAULT_LOCALE:"en",SUPPORTED_LOCALES:e};var Y={BLOCKED_REGIONS:["KP","SY","IR","CU","SD","SO","UA-CR","UA-DP","UA-LU"]};var K={},k={ttl:{short:300,medium:1800,long:3600,extended:86400},keys:{user:"user:",nft:"nft:",blockchain:"blockchain:",auth:"auth:"},redis:{url:globalThis.process.env.REDIS_URL,keyPrefix:"plyaz:",maxRetriesPerRequest:3,lazyConnect:true}},X={};var z={RANDOM_STRING_START:2,RANDOM_STRING_LENGTH:9,UUID_RANDOM_MULTIPLIER:16,UUID_HEX_MASK:3,UUID_HEX_OR_VALUE:8};var Z={ARRAY_SPLIT_CENTER:.5,DEFAULT_PAGE_SIZE:10,DEFAULT_MAX_RETRIES:3,THREE_ITEMS:3};var to={OK:200,CREATED:201,FOUND:302,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,FORBIDDEN:403,NOT_FOUND:404,INTERNAL_SERVER_ERROR:500};var ro={MILLISECONDS_PER_SECOND:1e3,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,DEFAULT_TIMEOUT:5e3,DEFAULT_RETRY_DELAY:100,DEFAULT_RETRY_ATTEMPTS:3,DEFAULT_DEBOUNCE_DELAY:50,DEFAULT_ANIMATION_FRAME:16.67,DEFAULT_CACHE_TTL:300,DEFAULT_PORT:3e3,WEBSOCKET_CLOSE_ABNORMAL:1006,WEBSOCKET_RETRY_DELAY:500};var Ao={BINARY_BASE:2,OCTAL_BASE:8,DECIMAL_BASE:10,HEX_BASE:16,BASE36:36},No={HALF:.5,TENTH:.1,TWENTIETH:.05,PERCENT_95:.95,PERCENT_99:.99,QUADRATIC_THRESHOLD:1.5,EXPONENTIAL_THRESHOLD:3,VARIANCE_MULTIPLIER:4,VARIANCE_OFFSET:2};var So={MEMORY_LEAK_THRESHOLD:.1,DEFAULT_BENCHMARK_RUNS:100,DEFAULT_WARMUP_RUNS:10};var Ro={IPV4_OCTET_MIN:1,IPV4_OCTET_MAX:255,IPV4_OCTET_COUNT:4,RANDOM_BYTE_MAX:256,DEFAULT_PROCESS_ID_MAX:1e4};var Lo={CHART_BAR_MAX_LENGTH:40,CHART_SEPARATOR_LENGTH:60,DECIMAL_PRECISION:3},Do={LOWERCASE_A:97,ALPHABET_SIZE:26,SPACE:32};var fo={x:"https://x.com/Plyaz_",instagram:"https://instagram.com/plyaz_",linkedin:"https://linkedin.com/company/plyaz"},Po={docs:"https://plyaz.gitbook.io/plyaz",community:"https://community.plyaz.co.uk",support:"mailto:help@plyaz.co.uk"};
3
+ export{n as ALCHEMY_CONFIG,K as API_CONFIG,k as CACHE_CONFIG,Do as CHAR_CODES,Z as COLLECTION_CONSTANTS,O as CONTRACTS,y as DEFAULT_BACKEND_CONFIG,h as DEFAULT_FRONTEND_CONFIG,o as DEFAULT_LOCALE,L as DEV_SUPPORTED_CHAINS,Lo as DISPLAY_CONSTANTS,H as DOMAINS,P as FEATURES,to as HTTP_STATUS,d as LANDING_PAGE_APP,No as MATH_CONSTANTS,Ro as NETWORK_CONSTANTS,Ao as NUMBER_SYSTEM,N as OAUTH_PROVIDERS,So as PERFORMANCE_CONSTANTS,Po as PRODUCT_LINKS,l as PROD_SUPPORTED_CHAINS,Y as SECURITY,fo as SOCIAL_LINKS,i as STAGING_SUPPORTED_CHAINS,z as STRING_CONSTANTS,e as SUPPORTED_LOCALES,b as TIMEZONE,ro as TIME_CONSTANTS,X as WEBHOOK_CONFIG,u as WEB_APP,t as isDev,r as isProd,T as isServer,_ as isTest};//# sourceMappingURL=index.mjs.map
4
4
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/env.ts","../src/providers/alchemy.ts","../src/providers/oauth.ts","../src/chains/contracts.ts","../src/chains/supportedChains.ts","../src/features.ts","../src/domains.ts","../src/constants.ts","../src/app.ts","../src/security.ts","../src/api.ts","../src/utils/string/constants.ts","../src/utils/collection/constants.ts","../src/http/constants.ts","../src/time/constants.ts","../src/math/constants.ts","../src/performance/index.ts","../src/network/constants.ts","../src/display/constants.ts"],"names":["isServer","isDev","isProd","isTest","ALCHEMY_CONFIG","OAUTH_PROVIDERS","CONTRACTS","PROD_SUPPORTED_CHAINS","mainnet","STAGING_SUPPORTED_CHAINS","sepolia","DEV_SUPPORTED_CHAINS","FEATURES","DEFAULT_BACKEND_CONFIG","DEFAULT_FRONTEND_CONFIG","DOMAINS","DEFAULT_LOCALE","SUPPORTED_LOCALES","TIMEZONE","LANDING_PAGE_APP","WEB_APP","SECURITY","API_CONFIG","CACHE_CONFIG","WEBHOOK_CONFIG","STRING_CONSTANTS","COLLECTION_CONSTANTS","HTTP_STATUS","TIME_CONSTANTS","NUMBER_SYSTEM","MATH_CONSTANTS","PERFORMANCE_CONSTANTS","NETWORK_CONSTANTS","DISPLAY_CONSTANTS","CHAR_CODES"],"mappings":"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","file":"index.mjs","sourcesContent":["export const isServer = typeof window === 'undefined';\nexport const isDev = globalThis.process.env.NODE_ENV === 'development';\nexport const isProd = globalThis.process.env.NODE_ENV === 'production';\nexport const isTest = globalThis.process.env.NODE_ENV === 'test';\n","export const ALCHEMY_CONFIG = {\n apiKey: globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY!,\n rpcUrls: {\n ethereum: `https://eth-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n polygon: `https://polygon-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n arbitrum: `https://arb-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n optimism: `https://opt-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n base: `https://base-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n solana: `https://solana-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n },\n};\n","export const OAUTH_PROVIDERS = {\n google: {\n clientId: globalThis.process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID!,\n clientSecret: globalThis.process.env.GOOGLE_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI!,\n scopes: ['openid', 'profile', 'email'],\n },\n discord: {\n clientId: globalThis.process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID!,\n clientSecret: globalThis.process.env.DISCORD_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_DISCORD_REDIRECT_URI!,\n scopes: ['identify', 'email'],\n },\n facebook: {\n clientId: globalThis.process.env.NEXT_PUBLIC_FACEBOOK_CLIENT_ID!,\n clientSecret: globalThis.process.env.FACEBOOK_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_FACEBOOK_REDIRECT_URI!,\n scopes: ['public_profile', 'email'],\n },\n} as const;\n","export const CONTRACTS = {\n nftManager: {\n read: {\n arbitrum: '',\n },\n write: {\n arbitrum: '',\n },\n },\n tokenManager: {\n read: {\n arbitrum: '',\n },\n write: {\n arbitrum: '',\n },\n },\n} as const;\n","import { mainnet, sepolia } from 'viem/chains';\n\nexport const PROD_SUPPORTED_CHAINS = {\n // Mainnets\n ethereum: mainnet,\n} as const;\n\nexport const STAGING_SUPPORTED_CHAINS = {\n // Mainnets\n ethereum: mainnet,\n // Testnets\n sepolia,\n} as const;\n\nexport const DEV_SUPPORTED_CHAINS = {\n // Testnets\n sepolia,\n} as const;\n","import { isDev } from './env';\n\nexport const FEATURES = {\n // Authentication & Auth Providers\n // eslint-disable-next-line @typescript-eslint/naming-convention\n AUTH_GOOGLE: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n AUTH_DISCORD: isDev,\n AUTH_FACEBOOK: false,\n AUTH_GITHUB: true,\n} as const satisfies Record<string, boolean>;\n\n/**\n * Default backend configuration for feature flags.\n * Optimized for server-side usage with reasonable defaults.\n */\nexport const DEFAULT_BACKEND_CONFIG = {\n provider: 'database',\n isCacheEnabled: true,\n cacheTtl: 300, // 5 minutes\n refreshInterval: 60, // 1 minute auto-refresh\n shouldFallbackToDefaults: true,\n isLoggingEnabled: globalThis.process.env.NODE_ENV === 'development',\n} as const;\n\n/**\n * Default frontend configuration for feature flags.\n * Optimized for client-side usage with reasonable defaults.\n */\nexport const DEFAULT_FRONTEND_CONFIG = {\n provider: 'memory',\n isCacheEnabled: true,\n cacheTtl: 300, // 5 minutes\n refreshInterval: 0, // No auto-refresh for frontend\n shouldFallbackToDefaults: true,\n isLoggingEnabled: false, // Disabled in production\n} as const;\n","export const DOMAINS = {\n app: 'https://plyaz.co.uk',\n api: globalThis.process.env.NEXT_PUBLIC_API_URL!,\n} as const;\n","export const DEFAULT_LOCALE = 'en';\nexport const SUPPORTED_LOCALES = ['en', 'es', 'pt'] as const;\nexport const TIMEZONE = 'Europe/London';\n","import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from './constants';\n\nexport const LANDING_PAGE_APP = {\n NAME: 'Plyaz',\n VERSION: '1.0.0',\n DEFAULT_LOCALE,\n SUPPORTED_LOCALES,\n} as const;\n\nexport const WEB_APP = {\n NAME: 'Plyaz The App',\n VERSION: '1.0.0',\n DEFAULT_LOCALE,\n SUPPORTED_LOCALES,\n} as const;\n","export const SECURITY = {\n BLOCKED_REGIONS: ['KP', 'SY', 'IR', 'CU', 'SD', 'SO', 'UA-CR', 'UA-DP', 'UA-LU'],\n} as const;\n","export const API_CONFIG = {} as const;\n\nexport const CACHE_CONFIG = {\n // Cache TTL in seconds\n ttl: {\n short: 300, // 5 minutes\n medium: 1800, // 30 minutes\n long: 3600, // 1 hour\n extended: 86400, // 24 hours\n },\n\n // Cache keys\n keys: {\n user: 'user:',\n nft: 'nft:',\n blockchain: 'blockchain:',\n auth: 'auth:',\n },\n\n // Redis configuration\n redis: {\n url: globalThis.process.env.REDIS_URL!,\n keyPrefix: 'plyaz:',\n maxRetriesPerRequest: 3,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n lazyConnect: true,\n },\n} as const;\n\nexport const WEBHOOK_CONFIG = {} as const;\n","/**\n * String Manipulation Constants\n *\n * Constants used for string generation, manipulation,\n * and UUID-related operations.\n *\n * @module utils/string/constants\n */\n\n/**\n * String generation and manipulation constants\n */\nexport const STRING_CONSTANTS = {\n /**\n * Starting position for random string extraction\n */\n RANDOM_STRING_START: 2,\n\n /**\n * Length of random string segment\n */\n RANDOM_STRING_LENGTH: 9,\n\n /**\n * Multiplier for UUID random value generation\n */\n UUID_RANDOM_MULTIPLIER: 16,\n\n /**\n * Hexadecimal mask for UUID generation\n */\n UUID_HEX_MASK: 0x3,\n\n /**\n * OR value for UUID hexadecimal operations\n */\n UUID_HEX_OR_VALUE: 0x8,\n} as const;\n\n/**\n * Type for string constant values\n */\nexport type StringConstant = (typeof STRING_CONSTANTS)[keyof typeof STRING_CONSTANTS];\n","/**\n * Collection and Array Constants\n *\n * Constants for array operations, pagination,\n * and collection manipulation.\n *\n * @module utils/collection/constants\n */\n\n/**\n * Array and collection operation constants\n */\nexport const COLLECTION_CONSTANTS = {\n /**\n * Center point for array splitting (50%)\n */\n ARRAY_SPLIT_CENTER: 0.5,\n\n /**\n * Default page size for pagination\n */\n DEFAULT_PAGE_SIZE: 10,\n\n /**\n * Default maximum number of retries for operations\n */\n DEFAULT_MAX_RETRIES: 3,\n\n /**\n * Constant for three items (used in various contexts)\n */\n THREE_ITEMS: 3,\n} as const;\n\n/**\n * Type for collection constant values\n */\nexport type CollectionConstant = (typeof COLLECTION_CONSTANTS)[keyof typeof COLLECTION_CONSTANTS];\n","/**\n * HTTP Status Code Constants\n *\n * Common HTTP status codes used throughout the application.\n * Based on RFC 9110 (HTTP Semantics) and common usage patterns.\n *\n * @module http/constants\n */\n\n/**\n * Standard HTTP status codes\n */\nexport const HTTP_STATUS = {\n /**\n * 200 OK - The request succeeded\n */\n OK: 200,\n\n /**\n * 201 Created - The request succeeded and a new resource was created\n */\n CREATED: 201,\n\n /**\n * 302 Found - The resource resides temporarily under a different URI\n */\n FOUND: 302,\n\n /**\n * 307 Temporary Redirect - The request should be repeated with another URI\n */\n TEMPORARY_REDIRECT: 307,\n\n /**\n * 400 Bad Request - The server cannot process the request due to client error\n */\n BAD_REQUEST: 400,\n\n /**\n * 401 Unauthorized - Authentication is required and has failed or not been provided\n */\n UNAUTHORIZED: 401,\n\n /**\n * 403 Forbidden - The server understood the request but refuses to authorize it\n */\n FORBIDDEN: 403,\n\n /**\n * 404 Not Found - The server cannot find the requested resource\n */\n NOT_FOUND: 404,\n\n /**\n * 500 Internal Server Error - The server encountered an unexpected condition\n */\n INTERNAL_SERVER_ERROR: 500,\n} as const;\n\n/**\n * Type for HTTP status codes\n */\nexport type HttpStatusCode = (typeof HTTP_STATUS)[keyof typeof HTTP_STATUS];\n","/**\n * Time-related Constants\n *\n * Common time values and durations used throughout the application\n * for timeouts, delays, caching, and other time-based operations.\n *\n * @module time/constants\n */\n\n/**\n * Time conversion and duration constants\n */\nexport const TIME_CONSTANTS = {\n /**\n * Number of milliseconds in one second\n */\n MILLISECONDS_PER_SECOND: 1000,\n\n /**\n * Number of seconds in one minute\n */\n SECONDS_PER_MINUTE: 60,\n\n /**\n * Number of minutes in one hour\n */\n MINUTES_PER_HOUR: 60,\n\n /**\n * Number of hours in one day\n */\n HOURS_PER_DAY: 24,\n\n /**\n * Default timeout duration in milliseconds (5 seconds)\n */\n DEFAULT_TIMEOUT: 5000,\n\n /**\n * Default retry delay in milliseconds (100ms)\n */\n DEFAULT_RETRY_DELAY: 100,\n\n /**\n * Default number of retry attempts\n */\n DEFAULT_RETRY_ATTEMPTS: 3,\n\n /**\n * Default debounce delay in milliseconds (50ms)\n */\n DEFAULT_DEBOUNCE_DELAY: 50,\n\n /**\n * Default animation frame duration in milliseconds (~60fps)\n */\n DEFAULT_ANIMATION_FRAME: 16.67,\n\n /**\n * Default cache time-to-live in seconds (5 minutes)\n */\n DEFAULT_CACHE_TTL: 300,\n\n /**\n * Default port number for servers\n */\n DEFAULT_PORT: 3000,\n\n /**\n * WebSocket abnormal closure code\n */\n WEBSOCKET_CLOSE_ABNORMAL: 1006,\n\n /**\n * WebSocket retry delay in milliseconds (500ms)\n */\n WEBSOCKET_RETRY_DELAY: 500,\n} as const;\n\n/**\n * Type for time constant values\n */\nexport type TimeConstant = (typeof TIME_CONSTANTS)[keyof typeof TIME_CONSTANTS];\n","/**\n * Mathematical Constants\n *\n * Common mathematical values, number system bases, and calculation constants\n * used throughout the application for various computations.\n *\n * @module math/constants\n */\n\n/**\n * Number system base constants\n */\nexport const NUMBER_SYSTEM = {\n /**\n * Base 2 - Binary number system\n */\n BINARY_BASE: 2,\n\n /**\n * Base 8 - Octal number system\n */\n OCTAL_BASE: 8,\n\n /**\n * Base 10 - Decimal number system\n */\n DECIMAL_BASE: 10,\n\n /**\n * Base 16 - Hexadecimal number system\n */\n HEX_BASE: 16,\n\n /**\n * Base 36 - Alphanumeric number system (0-9, a-z)\n */\n BASE36: 36,\n} as const;\n\n/**\n * Mathematical and percentage constants\n */\nexport const MATH_CONSTANTS = {\n /**\n * Half value (50%)\n */\n HALF: 0.5,\n\n /**\n * One tenth (10%)\n */\n TENTH: 0.1,\n\n /**\n * One twentieth (5%)\n */\n TWENTIETH: 0.05,\n\n /**\n * 95th percentile\n */\n PERCENT_95: 0.95,\n\n /**\n * 99th percentile\n */\n PERCENT_99: 0.99,\n\n /**\n * Threshold for quadratic algorithm detection\n */\n QUADRATIC_THRESHOLD: 1.5,\n\n /**\n * Threshold for exponential algorithm detection\n */\n EXPONENTIAL_THRESHOLD: 3,\n\n /**\n * Multiplier for variance calculations\n */\n VARIANCE_MULTIPLIER: 4,\n\n /**\n * Offset for variance calculations\n */\n VARIANCE_OFFSET: 2,\n} as const;\n\n/**\n * Type for number system values\n */\nexport type NumberSystemBase = (typeof NUMBER_SYSTEM)[keyof typeof NUMBER_SYSTEM];\n\n/**\n * Type for math constant values\n */\nexport type MathConstant = (typeof MATH_CONSTANTS)[keyof typeof MATH_CONSTANTS];\n","/**\n * Performance Module\n *\n * Performance monitoring and benchmarking constants used for\n * measuring application performance, detecting memory leaks,\n * and configuring performance tests.\n *\n * @module performance\n */\n\n/**\n * Performance measurement constants\n */\nexport const PERFORMANCE_CONSTANTS = {\n /**\n * Threshold for detecting memory leaks (10% growth)\n */\n MEMORY_LEAK_THRESHOLD: 0.1,\n\n /**\n * Default number of benchmark runs for performance testing\n */\n DEFAULT_BENCHMARK_RUNS: 100,\n\n /**\n * Default number of warmup runs before benchmarking\n */\n DEFAULT_WARMUP_RUNS: 10,\n} as const;\n\n/**\n * Type for performance constant values\n */\nexport type PerformanceConstant =\n (typeof PERFORMANCE_CONSTANTS)[keyof typeof PERFORMANCE_CONSTANTS];\n","/**\n * Network-related Constants\n *\n * Constants for network operations including IP addresses,\n * byte ranges, and process identifiers.\n *\n * @module network/constants\n */\n\n/**\n * Network and connection constants\n */\nexport const NETWORK_CONSTANTS = {\n /**\n * Minimum value for an IPv4 octet (excluding 0 for first octet)\n */\n IPV4_OCTET_MIN: 1,\n\n /**\n * Maximum value for an IPv4 octet\n */\n IPV4_OCTET_MAX: 255,\n\n /**\n * Number of octets in an IPv4 address\n */\n IPV4_OCTET_COUNT: 4,\n\n /**\n * Maximum value for a random byte (256 exclusive)\n */\n RANDOM_BYTE_MAX: 256,\n\n /**\n * Default maximum process ID for testing\n */\n DEFAULT_PROCESS_ID_MAX: 10000,\n} as const;\n\n/**\n * Type for network constant values\n */\nexport type NetworkConstant = (typeof NETWORK_CONSTANTS)[keyof typeof NETWORK_CONSTANTS];\n","/**\n * Display and Character Constants\n *\n * Constants for display formatting, charting,\n * and character code operations.\n *\n * @module display/constants\n */\n\n/**\n * Display and chart formatting constants\n */\nexport const DISPLAY_CONSTANTS = {\n /**\n * Maximum length for chart bar display\n */\n CHART_BAR_MAX_LENGTH: 40,\n\n /**\n * Length of chart separator lines\n */\n CHART_SEPARATOR_LENGTH: 60,\n\n /**\n * Number of decimal places for display precision\n */\n DECIMAL_PRECISION: 3,\n} as const;\n\n/**\n * Character code constants\n */\nexport const CHAR_CODES = {\n /**\n * ASCII code for lowercase 'a'\n */\n LOWERCASE_A: 97,\n\n /**\n * Number of letters in the alphabet\n */\n ALPHABET_SIZE: 26,\n\n /**\n * ASCII code for space character\n */\n SPACE: 32,\n} as const;\n\n/**\n * Type for display constant values\n */\nexport type DisplayConstant = (typeof DISPLAY_CONSTANTS)[keyof typeof DISPLAY_CONSTANTS];\n\n/**\n * Type for character code values\n */\nexport type CharCode = (typeof CHAR_CODES)[keyof typeof CHAR_CODES];\n"]}
1
+ {"version":3,"sources":["../src/env.ts","../src/providers/alchemy.ts","../src/providers/oauth.ts","../src/chains/contracts.ts","../src/chains/supportedChains.ts","../src/features.ts","../src/domains.ts","../src/constants.ts","../src/app.ts","../src/security.ts","../src/api.ts","../src/utils/string/constants.ts","../src/utils/collection/constants.ts","../src/http/constants.ts","../src/time/constants.ts","../src/math/constants.ts","../src/performance/index.ts","../src/network/constants.ts","../src/display/constants.ts","../src/social.ts"],"names":["isServer","isDev","isProd","isTest","ALCHEMY_CONFIG","OAUTH_PROVIDERS","CONTRACTS","PROD_SUPPORTED_CHAINS","mainnet","STAGING_SUPPORTED_CHAINS","sepolia","DEV_SUPPORTED_CHAINS","FEATURES","DEFAULT_BACKEND_CONFIG","DEFAULT_FRONTEND_CONFIG","DOMAINS","DEFAULT_LOCALE","SUPPORTED_LOCALES","TIMEZONE","LANDING_PAGE_APP","WEB_APP","SECURITY","API_CONFIG","CACHE_CONFIG","WEBHOOK_CONFIG","STRING_CONSTANTS","COLLECTION_CONSTANTS","HTTP_STATUS","TIME_CONSTANTS","NUMBER_SYSTEM","MATH_CONSTANTS","PERFORMANCE_CONSTANTS","NETWORK_CONSTANTS","DISPLAY_CONSTANTS","CHAR_CODES","SOCIAL_LINKS","PRODUCT_LINKS"],"mappings":"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","file":"index.mjs","sourcesContent":["export const isServer = typeof window === 'undefined';\nexport const isDev = globalThis.process.env.NODE_ENV === 'development';\nexport const isProd = globalThis.process.env.NODE_ENV === 'production';\nexport const isTest = globalThis.process.env.NODE_ENV === 'test';\n","export const ALCHEMY_CONFIG = {\n apiKey: globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY!,\n rpcUrls: {\n ethereum: `https://eth-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n polygon: `https://polygon-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n arbitrum: `https://arb-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n optimism: `https://opt-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n base: `https://base-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n solana: `https://solana-mainnet.g.alchemy.com/v2/${globalThis.process.env.NEXT_PUBLIC_ALCHEMY_KEY}`,\n },\n};\n","export const OAUTH_PROVIDERS = {\n google: {\n clientId: globalThis.process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID!,\n clientSecret: globalThis.process.env.GOOGLE_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_GOOGLE_REDIRECT_URI!,\n scopes: ['openid', 'profile', 'email'],\n },\n discord: {\n clientId: globalThis.process.env.NEXT_PUBLIC_DISCORD_CLIENT_ID!,\n clientSecret: globalThis.process.env.DISCORD_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_DISCORD_REDIRECT_URI!,\n scopes: ['identify', 'email'],\n },\n facebook: {\n clientId: globalThis.process.env.NEXT_PUBLIC_FACEBOOK_CLIENT_ID!,\n clientSecret: globalThis.process.env.FACEBOOK_CLIENT_SECRET!,\n redirectUri: globalThis.process.env.NEXT_PUBLIC_FACEBOOK_REDIRECT_URI!,\n scopes: ['public_profile', 'email'],\n },\n} as const;\n","export const CONTRACTS = {\n nftManager: {\n read: {\n arbitrum: '',\n },\n write: {\n arbitrum: '',\n },\n },\n tokenManager: {\n read: {\n arbitrum: '',\n },\n write: {\n arbitrum: '',\n },\n },\n} as const;\n","import { mainnet, sepolia } from 'viem/chains';\n\nexport const PROD_SUPPORTED_CHAINS = {\n // Mainnets\n ethereum: mainnet,\n} as const;\n\nexport const STAGING_SUPPORTED_CHAINS = {\n // Mainnets\n ethereum: mainnet,\n // Testnets\n sepolia,\n} as const;\n\nexport const DEV_SUPPORTED_CHAINS = {\n // Testnets\n sepolia,\n} as const;\n","import { isDev } from './env';\n\nexport const FEATURES = {\n // Authentication & Auth Providers\n // eslint-disable-next-line @typescript-eslint/naming-convention\n AUTH_GOOGLE: true,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n AUTH_DISCORD: isDev,\n AUTH_FACEBOOK: false,\n AUTH_GITHUB: true,\n} as const satisfies Record<string, boolean>;\n\n/**\n * Default backend configuration for feature flags.\n * Optimized for server-side usage with reasonable defaults.\n */\nexport const DEFAULT_BACKEND_CONFIG = {\n provider: 'database',\n isCacheEnabled: true,\n cacheTtl: 300, // 5 minutes\n refreshInterval: 60, // 1 minute auto-refresh\n shouldFallbackToDefaults: true,\n isLoggingEnabled: globalThis.process.env.NODE_ENV === 'development',\n} as const;\n\n/**\n * Default frontend configuration for feature flags.\n * Optimized for client-side usage with reasonable defaults.\n */\nexport const DEFAULT_FRONTEND_CONFIG = {\n provider: 'memory',\n isCacheEnabled: true,\n cacheTtl: 300, // 5 minutes\n refreshInterval: 0, // No auto-refresh for frontend\n shouldFallbackToDefaults: true,\n isLoggingEnabled: false, // Disabled in production\n} as const;\n","export const DOMAINS = {\n app: 'https://plyaz.co.uk',\n api: globalThis.process.env.NEXT_PUBLIC_API_URL!,\n} as const;\n","export const DEFAULT_LOCALE = 'en';\nexport const SUPPORTED_LOCALES = ['en', 'es', 'pt'] as const;\nexport const TIMEZONE = 'Europe/London';\n","import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from './constants';\n\nexport const LANDING_PAGE_APP = {\n NAME: 'Plyaz',\n VERSION: '1.0.0',\n DEFAULT_LOCALE,\n SUPPORTED_LOCALES,\n} as const;\n\nexport const WEB_APP = {\n NAME: 'Plyaz The App',\n VERSION: '1.0.0',\n DEFAULT_LOCALE,\n SUPPORTED_LOCALES,\n} as const;\n","export const SECURITY = {\n BLOCKED_REGIONS: ['KP', 'SY', 'IR', 'CU', 'SD', 'SO', 'UA-CR', 'UA-DP', 'UA-LU'],\n} as const;\n","export const API_CONFIG = {} as const;\n\nexport const CACHE_CONFIG = {\n // Cache TTL in seconds\n ttl: {\n short: 300, // 5 minutes\n medium: 1800, // 30 minutes\n long: 3600, // 1 hour\n extended: 86400, // 24 hours\n },\n\n // Cache keys\n keys: {\n user: 'user:',\n nft: 'nft:',\n blockchain: 'blockchain:',\n auth: 'auth:',\n },\n\n // Redis configuration\n redis: {\n url: globalThis.process.env.REDIS_URL!,\n keyPrefix: 'plyaz:',\n maxRetriesPerRequest: 3,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n lazyConnect: true,\n },\n} as const;\n\nexport const WEBHOOK_CONFIG = {} as const;\n","/**\n * String Manipulation Constants\n *\n * Constants used for string generation, manipulation,\n * and UUID-related operations.\n *\n * @module utils/string/constants\n */\n\n/**\n * String generation and manipulation constants\n */\nexport const STRING_CONSTANTS = {\n /**\n * Starting position for random string extraction\n */\n RANDOM_STRING_START: 2,\n\n /**\n * Length of random string segment\n */\n RANDOM_STRING_LENGTH: 9,\n\n /**\n * Multiplier for UUID random value generation\n */\n UUID_RANDOM_MULTIPLIER: 16,\n\n /**\n * Hexadecimal mask for UUID generation\n */\n UUID_HEX_MASK: 0x3,\n\n /**\n * OR value for UUID hexadecimal operations\n */\n UUID_HEX_OR_VALUE: 0x8,\n} as const;\n\n/**\n * Type for string constant values\n */\nexport type StringConstant = (typeof STRING_CONSTANTS)[keyof typeof STRING_CONSTANTS];\n","/**\n * Collection and Array Constants\n *\n * Constants for array operations, pagination,\n * and collection manipulation.\n *\n * @module utils/collection/constants\n */\n\n/**\n * Array and collection operation constants\n */\nexport const COLLECTION_CONSTANTS = {\n /**\n * Center point for array splitting (50%)\n */\n ARRAY_SPLIT_CENTER: 0.5,\n\n /**\n * Default page size for pagination\n */\n DEFAULT_PAGE_SIZE: 10,\n\n /**\n * Default maximum number of retries for operations\n */\n DEFAULT_MAX_RETRIES: 3,\n\n /**\n * Constant for three items (used in various contexts)\n */\n THREE_ITEMS: 3,\n} as const;\n\n/**\n * Type for collection constant values\n */\nexport type CollectionConstant = (typeof COLLECTION_CONSTANTS)[keyof typeof COLLECTION_CONSTANTS];\n","/**\n * HTTP Status Code Constants\n *\n * Common HTTP status codes used throughout the application.\n * Based on RFC 9110 (HTTP Semantics) and common usage patterns.\n *\n * @module http/constants\n */\n\n/**\n * Standard HTTP status codes\n */\nexport const HTTP_STATUS = {\n /**\n * 200 OK - The request succeeded\n */\n OK: 200,\n\n /**\n * 201 Created - The request succeeded and a new resource was created\n */\n CREATED: 201,\n\n /**\n * 302 Found - The resource resides temporarily under a different URI\n */\n FOUND: 302,\n\n /**\n * 307 Temporary Redirect - The request should be repeated with another URI\n */\n TEMPORARY_REDIRECT: 307,\n\n /**\n * 400 Bad Request - The server cannot process the request due to client error\n */\n BAD_REQUEST: 400,\n\n /**\n * 401 Unauthorized - Authentication is required and has failed or not been provided\n */\n UNAUTHORIZED: 401,\n\n /**\n * 403 Forbidden - The server understood the request but refuses to authorize it\n */\n FORBIDDEN: 403,\n\n /**\n * 404 Not Found - The server cannot find the requested resource\n */\n NOT_FOUND: 404,\n\n /**\n * 500 Internal Server Error - The server encountered an unexpected condition\n */\n INTERNAL_SERVER_ERROR: 500,\n} as const;\n\n/**\n * Type for HTTP status codes\n */\nexport type HttpStatusCode = (typeof HTTP_STATUS)[keyof typeof HTTP_STATUS];\n","/**\n * Time-related Constants\n *\n * Common time values and durations used throughout the application\n * for timeouts, delays, caching, and other time-based operations.\n *\n * @module time/constants\n */\n\n/**\n * Time conversion and duration constants\n */\nexport const TIME_CONSTANTS = {\n /**\n * Number of milliseconds in one second\n */\n MILLISECONDS_PER_SECOND: 1000,\n\n /**\n * Number of seconds in one minute\n */\n SECONDS_PER_MINUTE: 60,\n\n /**\n * Number of minutes in one hour\n */\n MINUTES_PER_HOUR: 60,\n\n /**\n * Number of hours in one day\n */\n HOURS_PER_DAY: 24,\n\n /**\n * Default timeout duration in milliseconds (5 seconds)\n */\n DEFAULT_TIMEOUT: 5000,\n\n /**\n * Default retry delay in milliseconds (100ms)\n */\n DEFAULT_RETRY_DELAY: 100,\n\n /**\n * Default number of retry attempts\n */\n DEFAULT_RETRY_ATTEMPTS: 3,\n\n /**\n * Default debounce delay in milliseconds (50ms)\n */\n DEFAULT_DEBOUNCE_DELAY: 50,\n\n /**\n * Default animation frame duration in milliseconds (~60fps)\n */\n DEFAULT_ANIMATION_FRAME: 16.67,\n\n /**\n * Default cache time-to-live in seconds (5 minutes)\n */\n DEFAULT_CACHE_TTL: 300,\n\n /**\n * Default port number for servers\n */\n DEFAULT_PORT: 3000,\n\n /**\n * WebSocket abnormal closure code\n */\n WEBSOCKET_CLOSE_ABNORMAL: 1006,\n\n /**\n * WebSocket retry delay in milliseconds (500ms)\n */\n WEBSOCKET_RETRY_DELAY: 500,\n} as const;\n\n/**\n * Type for time constant values\n */\nexport type TimeConstant = (typeof TIME_CONSTANTS)[keyof typeof TIME_CONSTANTS];\n","/**\n * Mathematical Constants\n *\n * Common mathematical values, number system bases, and calculation constants\n * used throughout the application for various computations.\n *\n * @module math/constants\n */\n\n/**\n * Number system base constants\n */\nexport const NUMBER_SYSTEM = {\n /**\n * Base 2 - Binary number system\n */\n BINARY_BASE: 2,\n\n /**\n * Base 8 - Octal number system\n */\n OCTAL_BASE: 8,\n\n /**\n * Base 10 - Decimal number system\n */\n DECIMAL_BASE: 10,\n\n /**\n * Base 16 - Hexadecimal number system\n */\n HEX_BASE: 16,\n\n /**\n * Base 36 - Alphanumeric number system (0-9, a-z)\n */\n BASE36: 36,\n} as const;\n\n/**\n * Mathematical and percentage constants\n */\nexport const MATH_CONSTANTS = {\n /**\n * Half value (50%)\n */\n HALF: 0.5,\n\n /**\n * One tenth (10%)\n */\n TENTH: 0.1,\n\n /**\n * One twentieth (5%)\n */\n TWENTIETH: 0.05,\n\n /**\n * 95th percentile\n */\n PERCENT_95: 0.95,\n\n /**\n * 99th percentile\n */\n PERCENT_99: 0.99,\n\n /**\n * Threshold for quadratic algorithm detection\n */\n QUADRATIC_THRESHOLD: 1.5,\n\n /**\n * Threshold for exponential algorithm detection\n */\n EXPONENTIAL_THRESHOLD: 3,\n\n /**\n * Multiplier for variance calculations\n */\n VARIANCE_MULTIPLIER: 4,\n\n /**\n * Offset for variance calculations\n */\n VARIANCE_OFFSET: 2,\n} as const;\n\n/**\n * Type for number system values\n */\nexport type NumberSystemBase = (typeof NUMBER_SYSTEM)[keyof typeof NUMBER_SYSTEM];\n\n/**\n * Type for math constant values\n */\nexport type MathConstant = (typeof MATH_CONSTANTS)[keyof typeof MATH_CONSTANTS];\n","/**\n * Performance Module\n *\n * Performance monitoring and benchmarking constants used for\n * measuring application performance, detecting memory leaks,\n * and configuring performance tests.\n *\n * @module performance\n */\n\n/**\n * Performance measurement constants\n */\nexport const PERFORMANCE_CONSTANTS = {\n /**\n * Threshold for detecting memory leaks (10% growth)\n */\n MEMORY_LEAK_THRESHOLD: 0.1,\n\n /**\n * Default number of benchmark runs for performance testing\n */\n DEFAULT_BENCHMARK_RUNS: 100,\n\n /**\n * Default number of warmup runs before benchmarking\n */\n DEFAULT_WARMUP_RUNS: 10,\n} as const;\n\n/**\n * Type for performance constant values\n */\nexport type PerformanceConstant =\n (typeof PERFORMANCE_CONSTANTS)[keyof typeof PERFORMANCE_CONSTANTS];\n","/**\n * Network-related Constants\n *\n * Constants for network operations including IP addresses,\n * byte ranges, and process identifiers.\n *\n * @module network/constants\n */\n\n/**\n * Network and connection constants\n */\nexport const NETWORK_CONSTANTS = {\n /**\n * Minimum value for an IPv4 octet (excluding 0 for first octet)\n */\n IPV4_OCTET_MIN: 1,\n\n /**\n * Maximum value for an IPv4 octet\n */\n IPV4_OCTET_MAX: 255,\n\n /**\n * Number of octets in an IPv4 address\n */\n IPV4_OCTET_COUNT: 4,\n\n /**\n * Maximum value for a random byte (256 exclusive)\n */\n RANDOM_BYTE_MAX: 256,\n\n /**\n * Default maximum process ID for testing\n */\n DEFAULT_PROCESS_ID_MAX: 10000,\n} as const;\n\n/**\n * Type for network constant values\n */\nexport type NetworkConstant = (typeof NETWORK_CONSTANTS)[keyof typeof NETWORK_CONSTANTS];\n","/**\n * Display and Character Constants\n *\n * Constants for display formatting, charting,\n * and character code operations.\n *\n * @module display/constants\n */\n\n/**\n * Display and chart formatting constants\n */\nexport const DISPLAY_CONSTANTS = {\n /**\n * Maximum length for chart bar display\n */\n CHART_BAR_MAX_LENGTH: 40,\n\n /**\n * Length of chart separator lines\n */\n CHART_SEPARATOR_LENGTH: 60,\n\n /**\n * Number of decimal places for display precision\n */\n DECIMAL_PRECISION: 3,\n} as const;\n\n/**\n * Character code constants\n */\nexport const CHAR_CODES = {\n /**\n * ASCII code for lowercase 'a'\n */\n LOWERCASE_A: 97,\n\n /**\n * Number of letters in the alphabet\n */\n ALPHABET_SIZE: 26,\n\n /**\n * ASCII code for space character\n */\n SPACE: 32,\n} as const;\n\n/**\n * Type for display constant values\n */\nexport type DisplayConstant = (typeof DISPLAY_CONSTANTS)[keyof typeof DISPLAY_CONSTANTS];\n\n/**\n * Type for character code values\n */\nexport type CharCode = (typeof CHAR_CODES)[keyof typeof CHAR_CODES];\n","export const SOCIAL_LINKS = {\n x: \"https://x.com/Plyaz_\",\n instagram: \"https://instagram.com/plyaz_\",\n linkedin: \"https://linkedin.com/company/plyaz\",\n} as const;\n\nexport const PRODUCT_LINKS = {\n docs: \"https://plyaz.gitbook.io/plyaz\",\n community: \"https://community.plyaz.co.uk\",\n support: \"mailto:help@plyaz.co.uk\",\n} as const;"]}
@@ -0,0 +1,10 @@
1
+ export declare const SOCIAL_LINKS: {
2
+ readonly x: "https://x.com/Plyaz_";
3
+ readonly instagram: "https://instagram.com/plyaz_";
4
+ readonly linkedin: "https://linkedin.com/company/plyaz";
5
+ };
6
+ export declare const PRODUCT_LINKS: {
7
+ readonly docs: "https://plyaz.gitbook.io/plyaz";
8
+ readonly community: "https://community.plyaz.co.uk";
9
+ readonly support: "mailto:help@plyaz.co.uk";
10
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plyaz/config",
3
- "version": "1.0.5",
3
+ "version": "1.1.0",
4
4
  "author": "Redeemer Pace",
5
5
  "license": "ISC",
6
6
  "description": "Provides shared configs and constants for @playz ecosystem.",
@@ -29,6 +29,9 @@
29
29
  },
30
30
  "keywords": [],
31
31
  "packageManager": "pnpm@10.11.0",
32
+ "dependencies": {
33
+ "viem": "^2.31.7"
34
+ },
32
35
  "devDependencies": {
33
36
  "@changesets/cli": "^2.29.5",
34
37
  "@darraghor/eslint-plugin-nestjs-typed": "^6.6.2",
@@ -85,7 +88,6 @@
85
88
  "tsup": "8.5.0",
86
89
  "typescript": "^5",
87
90
  "typescript-eslint": "^8.34.0",
88
- "viem": "^2.31.7",
89
91
  "vitest": "3.2.4"
90
92
  },
91
93
  "peerDependenciesMeta": {