@plyaz/config 1.0.1 → 1.0.3

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.
@@ -29,6 +29,7 @@ export declare const PROD_SUPPORTED_CHAINS: {
29
29
  readonly symbol: "ETH";
30
30
  readonly decimals: 18;
31
31
  };
32
+ experimental_preconfirmationTime?: number | undefined | undefined;
32
33
  rpcUrls: {
33
34
  readonly default: {
34
35
  readonly http: readonly ["https://eth.merkle.io"];
@@ -73,6 +74,7 @@ export declare const STAGING_SUPPORTED_CHAINS: {
73
74
  readonly symbol: "ETH";
74
75
  readonly decimals: 18;
75
76
  };
77
+ experimental_preconfirmationTime?: number | undefined | undefined;
76
78
  rpcUrls: {
77
79
  readonly default: {
78
80
  readonly http: readonly ["https://eth.merkle.io"];
@@ -115,6 +117,7 @@ export declare const STAGING_SUPPORTED_CHAINS: {
115
117
  readonly symbol: "ETH";
116
118
  readonly decimals: 18;
117
119
  };
120
+ experimental_preconfirmationTime?: number | undefined | undefined;
118
121
  rpcUrls: {
119
122
  readonly default: {
120
123
  readonly http: readonly ["https://sepolia.drpc.org"];
@@ -159,6 +162,7 @@ export declare const DEV_SUPPORTED_CHAINS: {
159
162
  readonly symbol: "ETH";
160
163
  readonly decimals: 18;
161
164
  };
165
+ experimental_preconfirmationTime?: number | undefined | undefined;
162
166
  rpcUrls: {
163
167
  readonly default: {
164
168
  readonly http: readonly ["https://sepolia.drpc.org"];
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Display and Character Constants
3
+ *
4
+ * Constants for display formatting, charting,
5
+ * and character code operations.
6
+ *
7
+ * @module display/constants
8
+ */
9
+ /**
10
+ * Display and chart formatting constants
11
+ */
12
+ export declare const DISPLAY_CONSTANTS: {
13
+ /**
14
+ * Maximum length for chart bar display
15
+ */
16
+ readonly CHART_BAR_MAX_LENGTH: 40;
17
+ /**
18
+ * Length of chart separator lines
19
+ */
20
+ readonly CHART_SEPARATOR_LENGTH: 60;
21
+ /**
22
+ * Number of decimal places for display precision
23
+ */
24
+ readonly DECIMAL_PRECISION: 3;
25
+ };
26
+ /**
27
+ * Character code constants
28
+ */
29
+ export declare const CHAR_CODES: {
30
+ /**
31
+ * ASCII code for lowercase 'a'
32
+ */
33
+ readonly LOWERCASE_A: 97;
34
+ /**
35
+ * Number of letters in the alphabet
36
+ */
37
+ readonly ALPHABET_SIZE: 26;
38
+ /**
39
+ * ASCII code for space character
40
+ */
41
+ readonly SPACE: 32;
42
+ };
43
+ /**
44
+ * Type for display constant values
45
+ */
46
+ export type DisplayConstant = (typeof DISPLAY_CONSTANTS)[keyof typeof DISPLAY_CONSTANTS];
47
+ /**
48
+ * Type for character code values
49
+ */
50
+ export type CharCode = (typeof CHAR_CODES)[keyof typeof CHAR_CODES];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Display Module Exports
3
+ *
4
+ * @module display
5
+ */
6
+ export * from './constants';
@@ -1,6 +1,8 @@
1
1
  export declare const FEATURES: {
2
2
  readonly AUTH_GOOGLE: true;
3
3
  readonly AUTH_DISCORD: boolean;
4
+ readonly AUTH_FACEBOOK: false;
5
+ readonly AUTH_GITHUB: true;
4
6
  };
5
7
  /**
6
8
  * Default backend configuration for feature flags.
@@ -0,0 +1,53 @@
1
+ /**
2
+ * HTTP Status Code Constants
3
+ *
4
+ * Common HTTP status codes used throughout the application.
5
+ * Based on RFC 9110 (HTTP Semantics) and common usage patterns.
6
+ *
7
+ * @module http/constants
8
+ */
9
+ /**
10
+ * Standard HTTP status codes
11
+ */
12
+ export declare const HTTP_STATUS: {
13
+ /**
14
+ * 200 OK - The request succeeded
15
+ */
16
+ readonly OK: 200;
17
+ /**
18
+ * 201 Created - The request succeeded and a new resource was created
19
+ */
20
+ readonly CREATED: 201;
21
+ /**
22
+ * 302 Found - The resource resides temporarily under a different URI
23
+ */
24
+ readonly FOUND: 302;
25
+ /**
26
+ * 307 Temporary Redirect - The request should be repeated with another URI
27
+ */
28
+ readonly TEMPORARY_REDIRECT: 307;
29
+ /**
30
+ * 400 Bad Request - The server cannot process the request due to client error
31
+ */
32
+ readonly BAD_REQUEST: 400;
33
+ /**
34
+ * 401 Unauthorized - Authentication is required and has failed or not been provided
35
+ */
36
+ readonly UNAUTHORIZED: 401;
37
+ /**
38
+ * 403 Forbidden - The server understood the request but refuses to authorize it
39
+ */
40
+ readonly FORBIDDEN: 403;
41
+ /**
42
+ * 404 Not Found - The server cannot find the requested resource
43
+ */
44
+ readonly NOT_FOUND: 404;
45
+ /**
46
+ * 500 Internal Server Error - The server encountered an unexpected condition
47
+ */
48
+ readonly INTERNAL_SERVER_ERROR: 500;
49
+ };
50
+ /**
51
+ * Type for HTTP status codes
52
+ */
53
+ export type HttpStatusCode = (typeof HTTP_STATUS)[keyof typeof HTTP_STATUS];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * HTTP Module Exports
3
+ *
4
+ * @module http
5
+ */
6
+ export * from './constants';
package/dist/index.cjs CHANGED
@@ -65,7 +65,7 @@ var CONTRACTS = {
65
65
  }
66
66
  };
67
67
 
68
- // node_modules/.pnpm/viem@2.32.1_typescript@5.8.3/node_modules/viem/_esm/utils/chain/defineChain.js
68
+ // node_modules/.pnpm/viem@2.33.1_typescript@5.8.3/node_modules/viem/_esm/utils/chain/defineChain.js
69
69
  function defineChain(chain) {
70
70
  return {
71
71
  formatters: void 0,
@@ -76,7 +76,7 @@ function defineChain(chain) {
76
76
  }
77
77
  __name(defineChain, "defineChain");
78
78
 
79
- // node_modules/.pnpm/viem@2.32.1_typescript@5.8.3/node_modules/viem/_esm/chains/definitions/mainnet.js
79
+ // node_modules/.pnpm/viem@2.33.1_typescript@5.8.3/node_modules/viem/_esm/chains/definitions/mainnet.js
80
80
  var mainnet = /* @__PURE__ */ defineChain({
81
81
  id: 1,
82
82
  name: "Ethereum",
@@ -108,7 +108,7 @@ var mainnet = /* @__PURE__ */ defineChain({
108
108
  }
109
109
  });
110
110
 
111
- // node_modules/.pnpm/viem@2.32.1_typescript@5.8.3/node_modules/viem/_esm/chains/definitions/sepolia.js
111
+ // node_modules/.pnpm/viem@2.33.1_typescript@5.8.3/node_modules/viem/_esm/chains/definitions/sepolia.js
112
112
  var sepolia = /* @__PURE__ */ defineChain({
113
113
  id: 11155111,
114
114
  name: "Sepolia",
@@ -161,7 +161,9 @@ var FEATURES = {
161
161
  // eslint-disable-next-line @typescript-eslint/naming-convention
162
162
  AUTH_GOOGLE: true,
163
163
  // eslint-disable-next-line @typescript-eslint/naming-convention
164
- AUTH_DISCORD: isDev
164
+ AUTH_DISCORD: isDev,
165
+ AUTH_FACEBOOK: false,
166
+ AUTH_GITHUB: true
165
167
  };
166
168
  var DEFAULT_BACKEND_CONFIG = {
167
169
  provider: "database",
@@ -247,23 +249,305 @@ var CACHE_CONFIG = {
247
249
  };
248
250
  var WEBHOOK_CONFIG = {};
249
251
 
252
+ // src/utils/string/constants.ts
253
+ var STRING_CONSTANTS = {
254
+ /**
255
+ * Starting position for random string extraction
256
+ */
257
+ RANDOM_STRING_START: 2,
258
+ /**
259
+ * Length of random string segment
260
+ */
261
+ RANDOM_STRING_LENGTH: 9,
262
+ /**
263
+ * Multiplier for UUID random value generation
264
+ */
265
+ UUID_RANDOM_MULTIPLIER: 16,
266
+ /**
267
+ * Hexadecimal mask for UUID generation
268
+ */
269
+ UUID_HEX_MASK: 3,
270
+ /**
271
+ * OR value for UUID hexadecimal operations
272
+ */
273
+ UUID_HEX_OR_VALUE: 8
274
+ };
275
+
276
+ // src/utils/collection/constants.ts
277
+ var COLLECTION_CONSTANTS = {
278
+ /**
279
+ * Center point for array splitting (50%)
280
+ */
281
+ ARRAY_SPLIT_CENTER: 0.5,
282
+ /**
283
+ * Default page size for pagination
284
+ */
285
+ DEFAULT_PAGE_SIZE: 10,
286
+ /**
287
+ * Default maximum number of retries for operations
288
+ */
289
+ DEFAULT_MAX_RETRIES: 3,
290
+ /**
291
+ * Constant for three items (used in various contexts)
292
+ */
293
+ THREE_ITEMS: 3
294
+ };
295
+
296
+ // src/http/constants.ts
297
+ var HTTP_STATUS = {
298
+ /**
299
+ * 200 OK - The request succeeded
300
+ */
301
+ OK: 200,
302
+ /**
303
+ * 201 Created - The request succeeded and a new resource was created
304
+ */
305
+ CREATED: 201,
306
+ /**
307
+ * 302 Found - The resource resides temporarily under a different URI
308
+ */
309
+ FOUND: 302,
310
+ /**
311
+ * 307 Temporary Redirect - The request should be repeated with another URI
312
+ */
313
+ TEMPORARY_REDIRECT: 307,
314
+ /**
315
+ * 400 Bad Request - The server cannot process the request due to client error
316
+ */
317
+ BAD_REQUEST: 400,
318
+ /**
319
+ * 401 Unauthorized - Authentication is required and has failed or not been provided
320
+ */
321
+ UNAUTHORIZED: 401,
322
+ /**
323
+ * 403 Forbidden - The server understood the request but refuses to authorize it
324
+ */
325
+ FORBIDDEN: 403,
326
+ /**
327
+ * 404 Not Found - The server cannot find the requested resource
328
+ */
329
+ NOT_FOUND: 404,
330
+ /**
331
+ * 500 Internal Server Error - The server encountered an unexpected condition
332
+ */
333
+ INTERNAL_SERVER_ERROR: 500
334
+ };
335
+
336
+ // src/time/constants.ts
337
+ var TIME_CONSTANTS = {
338
+ /**
339
+ * Number of milliseconds in one second
340
+ */
341
+ MILLISECONDS_PER_SECOND: 1e3,
342
+ /**
343
+ * Number of seconds in one minute
344
+ */
345
+ SECONDS_PER_MINUTE: 60,
346
+ /**
347
+ * Number of minutes in one hour
348
+ */
349
+ MINUTES_PER_HOUR: 60,
350
+ /**
351
+ * Number of hours in one day
352
+ */
353
+ HOURS_PER_DAY: 24,
354
+ /**
355
+ * Default timeout duration in milliseconds (5 seconds)
356
+ */
357
+ DEFAULT_TIMEOUT: 5e3,
358
+ /**
359
+ * Default retry delay in milliseconds (100ms)
360
+ */
361
+ DEFAULT_RETRY_DELAY: 100,
362
+ /**
363
+ * Default number of retry attempts
364
+ */
365
+ DEFAULT_RETRY_ATTEMPTS: 3,
366
+ /**
367
+ * Default debounce delay in milliseconds (50ms)
368
+ */
369
+ DEFAULT_DEBOUNCE_DELAY: 50,
370
+ /**
371
+ * Default animation frame duration in milliseconds (~60fps)
372
+ */
373
+ DEFAULT_ANIMATION_FRAME: 16.67,
374
+ /**
375
+ * Default cache time-to-live in seconds (5 minutes)
376
+ */
377
+ DEFAULT_CACHE_TTL: 300,
378
+ /**
379
+ * Default port number for servers
380
+ */
381
+ DEFAULT_PORT: 3e3,
382
+ /**
383
+ * WebSocket abnormal closure code
384
+ */
385
+ WEBSOCKET_CLOSE_ABNORMAL: 1006,
386
+ /**
387
+ * WebSocket retry delay in milliseconds (500ms)
388
+ */
389
+ WEBSOCKET_RETRY_DELAY: 500
390
+ };
391
+
392
+ // src/math/constants.ts
393
+ var NUMBER_SYSTEM = {
394
+ /**
395
+ * Base 2 - Binary number system
396
+ */
397
+ BINARY_BASE: 2,
398
+ /**
399
+ * Base 8 - Octal number system
400
+ */
401
+ OCTAL_BASE: 8,
402
+ /**
403
+ * Base 10 - Decimal number system
404
+ */
405
+ DECIMAL_BASE: 10,
406
+ /**
407
+ * Base 16 - Hexadecimal number system
408
+ */
409
+ HEX_BASE: 16,
410
+ /**
411
+ * Base 36 - Alphanumeric number system (0-9, a-z)
412
+ */
413
+ BASE36: 36
414
+ };
415
+ var MATH_CONSTANTS = {
416
+ /**
417
+ * Half value (50%)
418
+ */
419
+ HALF: 0.5,
420
+ /**
421
+ * One tenth (10%)
422
+ */
423
+ TENTH: 0.1,
424
+ /**
425
+ * One twentieth (5%)
426
+ */
427
+ TWENTIETH: 0.05,
428
+ /**
429
+ * 95th percentile
430
+ */
431
+ PERCENT_95: 0.95,
432
+ /**
433
+ * 99th percentile
434
+ */
435
+ PERCENT_99: 0.99,
436
+ /**
437
+ * Threshold for quadratic algorithm detection
438
+ */
439
+ QUADRATIC_THRESHOLD: 1.5,
440
+ /**
441
+ * Threshold for exponential algorithm detection
442
+ */
443
+ EXPONENTIAL_THRESHOLD: 3,
444
+ /**
445
+ * Multiplier for variance calculations
446
+ */
447
+ VARIANCE_MULTIPLIER: 4,
448
+ /**
449
+ * Offset for variance calculations
450
+ */
451
+ VARIANCE_OFFSET: 2
452
+ };
453
+
454
+ // src/performance/index.ts
455
+ var PERFORMANCE_CONSTANTS = {
456
+ /**
457
+ * Threshold for detecting memory leaks (10% growth)
458
+ */
459
+ MEMORY_LEAK_THRESHOLD: 0.1,
460
+ /**
461
+ * Default number of benchmark runs for performance testing
462
+ */
463
+ DEFAULT_BENCHMARK_RUNS: 100,
464
+ /**
465
+ * Default number of warmup runs before benchmarking
466
+ */
467
+ DEFAULT_WARMUP_RUNS: 10
468
+ };
469
+
470
+ // src/network/constants.ts
471
+ var NETWORK_CONSTANTS = {
472
+ /**
473
+ * Minimum value for an IPv4 octet (excluding 0 for first octet)
474
+ */
475
+ IPV4_OCTET_MIN: 1,
476
+ /**
477
+ * Maximum value for an IPv4 octet
478
+ */
479
+ IPV4_OCTET_MAX: 255,
480
+ /**
481
+ * Number of octets in an IPv4 address
482
+ */
483
+ IPV4_OCTET_COUNT: 4,
484
+ /**
485
+ * Maximum value for a random byte (256 exclusive)
486
+ */
487
+ RANDOM_BYTE_MAX: 256,
488
+ /**
489
+ * Default maximum process ID for testing
490
+ */
491
+ DEFAULT_PROCESS_ID_MAX: 1e4
492
+ };
493
+
494
+ // src/display/constants.ts
495
+ var DISPLAY_CONSTANTS = {
496
+ /**
497
+ * Maximum length for chart bar display
498
+ */
499
+ CHART_BAR_MAX_LENGTH: 40,
500
+ /**
501
+ * Length of chart separator lines
502
+ */
503
+ CHART_SEPARATOR_LENGTH: 60,
504
+ /**
505
+ * Number of decimal places for display precision
506
+ */
507
+ DECIMAL_PRECISION: 3
508
+ };
509
+ var CHAR_CODES = {
510
+ /**
511
+ * ASCII code for lowercase 'a'
512
+ */
513
+ LOWERCASE_A: 97,
514
+ /**
515
+ * Number of letters in the alphabet
516
+ */
517
+ ALPHABET_SIZE: 26,
518
+ /**
519
+ * ASCII code for space character
520
+ */
521
+ SPACE: 32
522
+ };
523
+
250
524
  exports.ALCHEMY_CONFIG = ALCHEMY_CONFIG;
251
525
  exports.API_CONFIG = API_CONFIG;
252
526
  exports.CACHE_CONFIG = CACHE_CONFIG;
527
+ exports.CHAR_CODES = CHAR_CODES;
528
+ exports.COLLECTION_CONSTANTS = COLLECTION_CONSTANTS;
253
529
  exports.CONTRACTS = CONTRACTS;
254
530
  exports.DEFAULT_BACKEND_CONFIG = DEFAULT_BACKEND_CONFIG;
255
531
  exports.DEFAULT_FRONTEND_CONFIG = DEFAULT_FRONTEND_CONFIG;
256
532
  exports.DEFAULT_LOCALE = DEFAULT_LOCALE;
257
533
  exports.DEV_SUPPORTED_CHAINS = DEV_SUPPORTED_CHAINS;
534
+ exports.DISPLAY_CONSTANTS = DISPLAY_CONSTANTS;
258
535
  exports.DOMAINS = DOMAINS;
259
536
  exports.FEATURES = FEATURES;
537
+ exports.HTTP_STATUS = HTTP_STATUS;
260
538
  exports.LANDING_PAGE_APP = LANDING_PAGE_APP;
539
+ exports.MATH_CONSTANTS = MATH_CONSTANTS;
540
+ exports.NETWORK_CONSTANTS = NETWORK_CONSTANTS;
541
+ exports.NUMBER_SYSTEM = NUMBER_SYSTEM;
261
542
  exports.OAUTH_PROVIDERS = OAUTH_PROVIDERS;
543
+ exports.PERFORMANCE_CONSTANTS = PERFORMANCE_CONSTANTS;
262
544
  exports.PROD_SUPPORTED_CHAINS = PROD_SUPPORTED_CHAINS;
263
545
  exports.SECURITY = SECURITY;
264
546
  exports.STAGING_SUPPORTED_CHAINS = STAGING_SUPPORTED_CHAINS;
547
+ exports.STRING_CONSTANTS = STRING_CONSTANTS;
265
548
  exports.SUPPORTED_LOCALES = SUPPORTED_LOCALES;
266
549
  exports.TIMEZONE = TIMEZONE;
550
+ exports.TIME_CONSTANTS = TIME_CONSTANTS;
267
551
  exports.WEBHOOK_CONFIG = WEBHOOK_CONFIG;
268
552
  exports.WEB_APP = WEB_APP;
269
553
  exports.isDev = isDev;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/env.ts","../src/providers/alchemy.ts","../src/providers/oauth.ts","../src/chains/contracts.ts","../node_modules/.pnpm/viem@2.32.1_typescript@5.8.3/node_modules/viem/utils/chain/defineChain.ts","../node_modules/.pnpm/viem@2.32.1_typescript@5.8.3/node_modules/viem/chains/definitions/mainnet.ts","../node_modules/.pnpm/viem@2.32.1_typescript@5.8.3/node_modules/viem/chains/definitions/sepolia.ts","../src/chains/supportedChains.ts","../src/features.ts","../src/domains.ts","../src/constants.ts","../src/app.ts","../src/security.ts","../src/api.ts"],"names":[],"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 type { Chain, ChainFormatters } from '../../types/chain.js'\nimport type { Assign, Prettify } from '../../types/utils.js'\n\nexport function defineChain<\n formatters extends ChainFormatters,\n const chain extends Chain<formatters>,\n>(chain: chain): Prettify<Assign<Chain<undefined>, chain>> {\n return {\n formatters: undefined,\n fees: undefined,\n serializers: undefined,\n ...chain,\n } as Assign<Chain<undefined>, chain>\n}\n","import { defineChain } from '../../utils/chain/defineChain.js'\n\nexport const mainnet = /*#__PURE__*/ defineChain({\n id: 1,\n name: 'Ethereum',\n nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: {\n default: {\n http: ['https://eth.merkle.io'],\n },\n },\n blockExplorers: {\n default: {\n name: 'Etherscan',\n url: 'https://etherscan.io',\n apiUrl: 'https://api.etherscan.io/api',\n },\n },\n contracts: {\n ensRegistry: {\n address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n },\n ensUniversalResolver: {\n address: '0xce01f8eee7E479C928F8919abD53E553a36CeF67',\n blockCreated: 19_258_213,\n },\n multicall3: {\n address: '0xca11bde05977b3631167028862be2a173976ca11',\n blockCreated: 14_353_601,\n },\n },\n})\n","import { defineChain } from '../../utils/chain/defineChain.js'\n\nexport const sepolia = /*#__PURE__*/ defineChain({\n id: 11_155_111,\n name: 'Sepolia',\n nativeCurrency: { name: 'Sepolia Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: {\n default: {\n http: ['https://sepolia.drpc.org'],\n },\n },\n blockExplorers: {\n default: {\n name: 'Etherscan',\n url: 'https://sepolia.etherscan.io',\n apiUrl: 'https://api-sepolia.etherscan.io/api',\n },\n },\n contracts: {\n multicall3: {\n address: '0xca11bde05977b3631167028862be2a173976ca11',\n blockCreated: 751532,\n },\n ensRegistry: { address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e' },\n ensUniversalResolver: {\n address: '0xc8Af999e38273D658BE1b921b88A9Ddf005769cC',\n blockCreated: 5_317_080,\n },\n },\n testnet: true,\n})\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} as const;\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';","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"]}
1
+ {"version":3,"sources":["../src/env.ts","../src/providers/alchemy.ts","../src/providers/oauth.ts","../src/chains/contracts.ts","../node_modules/.pnpm/viem@2.33.1_typescript@5.8.3/node_modules/viem/utils/chain/defineChain.ts","../node_modules/.pnpm/viem@2.33.1_typescript@5.8.3/node_modules/viem/chains/definitions/mainnet.ts","../node_modules/.pnpm/viem@2.33.1_typescript@5.8.3/node_modules/viem/chains/definitions/sepolia.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":[],"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 type { Chain, ChainFormatters } from '../../types/chain.js'\nimport type { Assign, Prettify } from '../../types/utils.js'\n\nexport function defineChain<\n formatters extends ChainFormatters,\n const chain extends Chain<formatters>,\n>(chain: chain): Prettify<Assign<Chain<undefined>, chain>> {\n return {\n formatters: undefined,\n fees: undefined,\n serializers: undefined,\n ...chain,\n } as Assign<Chain<undefined>, chain>\n}\n","import { defineChain } from '../../utils/chain/defineChain.js'\n\nexport const mainnet = /*#__PURE__*/ defineChain({\n id: 1,\n name: 'Ethereum',\n nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: {\n default: {\n http: ['https://eth.merkle.io'],\n },\n },\n blockExplorers: {\n default: {\n name: 'Etherscan',\n url: 'https://etherscan.io',\n apiUrl: 'https://api.etherscan.io/api',\n },\n },\n contracts: {\n ensRegistry: {\n address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e',\n },\n ensUniversalResolver: {\n address: '0xce01f8eee7E479C928F8919abD53E553a36CeF67',\n blockCreated: 19_258_213,\n },\n multicall3: {\n address: '0xca11bde05977b3631167028862be2a173976ca11',\n blockCreated: 14_353_601,\n },\n },\n})\n","import { defineChain } from '../../utils/chain/defineChain.js'\n\nexport const sepolia = /*#__PURE__*/ defineChain({\n id: 11_155_111,\n name: 'Sepolia',\n nativeCurrency: { name: 'Sepolia Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: {\n default: {\n http: ['https://sepolia.drpc.org'],\n },\n },\n blockExplorers: {\n default: {\n name: 'Etherscan',\n url: 'https://sepolia.etherscan.io',\n apiUrl: 'https://api-sepolia.etherscan.io/api',\n },\n },\n contracts: {\n multicall3: {\n address: '0xca11bde05977b3631167028862be2a173976ca11',\n blockCreated: 751532,\n },\n ensRegistry: { address: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e' },\n ensUniversalResolver: {\n address: '0xc8Af999e38273D658BE1b921b88A9Ddf005769cC',\n blockCreated: 5_317_080,\n },\n },\n testnet: true,\n})\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';","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"]}
package/dist/index.d.ts CHANGED
@@ -7,3 +7,10 @@ export * from './app';
7
7
  export * from './security';
8
8
  export * from './constants';
9
9
  export * from './api';
10
+ export * from './utils';
11
+ export * from './http';
12
+ export * from './time';
13
+ export * from './math';
14
+ export * from './performance';
15
+ export * from './network';
16
+ export * from './display';
package/dist/index.js CHANGED
@@ -83,7 +83,9 @@ var FEATURES = {
83
83
  // eslint-disable-next-line @typescript-eslint/naming-convention
84
84
  AUTH_GOOGLE: true,
85
85
  // eslint-disable-next-line @typescript-eslint/naming-convention
86
- AUTH_DISCORD: isDev
86
+ AUTH_DISCORD: isDev,
87
+ AUTH_FACEBOOK: false,
88
+ AUTH_GITHUB: true
87
89
  };
88
90
  var DEFAULT_BACKEND_CONFIG = {
89
91
  provider: "database",
@@ -169,6 +171,278 @@ var CACHE_CONFIG = {
169
171
  };
170
172
  var WEBHOOK_CONFIG = {};
171
173
 
172
- export { ALCHEMY_CONFIG, API_CONFIG, CACHE_CONFIG, CONTRACTS, DEFAULT_BACKEND_CONFIG, DEFAULT_FRONTEND_CONFIG, DEFAULT_LOCALE, DEV_SUPPORTED_CHAINS, DOMAINS, FEATURES, LANDING_PAGE_APP, OAUTH_PROVIDERS, PROD_SUPPORTED_CHAINS, SECURITY, STAGING_SUPPORTED_CHAINS, SUPPORTED_LOCALES, TIMEZONE, WEBHOOK_CONFIG, WEB_APP, isDev, isProd, isServer, isTest };
174
+ // src/utils/string/constants.ts
175
+ var STRING_CONSTANTS = {
176
+ /**
177
+ * Starting position for random string extraction
178
+ */
179
+ RANDOM_STRING_START: 2,
180
+ /**
181
+ * Length of random string segment
182
+ */
183
+ RANDOM_STRING_LENGTH: 9,
184
+ /**
185
+ * Multiplier for UUID random value generation
186
+ */
187
+ UUID_RANDOM_MULTIPLIER: 16,
188
+ /**
189
+ * Hexadecimal mask for UUID generation
190
+ */
191
+ UUID_HEX_MASK: 3,
192
+ /**
193
+ * OR value for UUID hexadecimal operations
194
+ */
195
+ UUID_HEX_OR_VALUE: 8
196
+ };
197
+
198
+ // src/utils/collection/constants.ts
199
+ var COLLECTION_CONSTANTS = {
200
+ /**
201
+ * Center point for array splitting (50%)
202
+ */
203
+ ARRAY_SPLIT_CENTER: 0.5,
204
+ /**
205
+ * Default page size for pagination
206
+ */
207
+ DEFAULT_PAGE_SIZE: 10,
208
+ /**
209
+ * Default maximum number of retries for operations
210
+ */
211
+ DEFAULT_MAX_RETRIES: 3,
212
+ /**
213
+ * Constant for three items (used in various contexts)
214
+ */
215
+ THREE_ITEMS: 3
216
+ };
217
+
218
+ // src/http/constants.ts
219
+ var HTTP_STATUS = {
220
+ /**
221
+ * 200 OK - The request succeeded
222
+ */
223
+ OK: 200,
224
+ /**
225
+ * 201 Created - The request succeeded and a new resource was created
226
+ */
227
+ CREATED: 201,
228
+ /**
229
+ * 302 Found - The resource resides temporarily under a different URI
230
+ */
231
+ FOUND: 302,
232
+ /**
233
+ * 307 Temporary Redirect - The request should be repeated with another URI
234
+ */
235
+ TEMPORARY_REDIRECT: 307,
236
+ /**
237
+ * 400 Bad Request - The server cannot process the request due to client error
238
+ */
239
+ BAD_REQUEST: 400,
240
+ /**
241
+ * 401 Unauthorized - Authentication is required and has failed or not been provided
242
+ */
243
+ UNAUTHORIZED: 401,
244
+ /**
245
+ * 403 Forbidden - The server understood the request but refuses to authorize it
246
+ */
247
+ FORBIDDEN: 403,
248
+ /**
249
+ * 404 Not Found - The server cannot find the requested resource
250
+ */
251
+ NOT_FOUND: 404,
252
+ /**
253
+ * 500 Internal Server Error - The server encountered an unexpected condition
254
+ */
255
+ INTERNAL_SERVER_ERROR: 500
256
+ };
257
+
258
+ // src/time/constants.ts
259
+ var TIME_CONSTANTS = {
260
+ /**
261
+ * Number of milliseconds in one second
262
+ */
263
+ MILLISECONDS_PER_SECOND: 1e3,
264
+ /**
265
+ * Number of seconds in one minute
266
+ */
267
+ SECONDS_PER_MINUTE: 60,
268
+ /**
269
+ * Number of minutes in one hour
270
+ */
271
+ MINUTES_PER_HOUR: 60,
272
+ /**
273
+ * Number of hours in one day
274
+ */
275
+ HOURS_PER_DAY: 24,
276
+ /**
277
+ * Default timeout duration in milliseconds (5 seconds)
278
+ */
279
+ DEFAULT_TIMEOUT: 5e3,
280
+ /**
281
+ * Default retry delay in milliseconds (100ms)
282
+ */
283
+ DEFAULT_RETRY_DELAY: 100,
284
+ /**
285
+ * Default number of retry attempts
286
+ */
287
+ DEFAULT_RETRY_ATTEMPTS: 3,
288
+ /**
289
+ * Default debounce delay in milliseconds (50ms)
290
+ */
291
+ DEFAULT_DEBOUNCE_DELAY: 50,
292
+ /**
293
+ * Default animation frame duration in milliseconds (~60fps)
294
+ */
295
+ DEFAULT_ANIMATION_FRAME: 16.67,
296
+ /**
297
+ * Default cache time-to-live in seconds (5 minutes)
298
+ */
299
+ DEFAULT_CACHE_TTL: 300,
300
+ /**
301
+ * Default port number for servers
302
+ */
303
+ DEFAULT_PORT: 3e3,
304
+ /**
305
+ * WebSocket abnormal closure code
306
+ */
307
+ WEBSOCKET_CLOSE_ABNORMAL: 1006,
308
+ /**
309
+ * WebSocket retry delay in milliseconds (500ms)
310
+ */
311
+ WEBSOCKET_RETRY_DELAY: 500
312
+ };
313
+
314
+ // src/math/constants.ts
315
+ var NUMBER_SYSTEM = {
316
+ /**
317
+ * Base 2 - Binary number system
318
+ */
319
+ BINARY_BASE: 2,
320
+ /**
321
+ * Base 8 - Octal number system
322
+ */
323
+ OCTAL_BASE: 8,
324
+ /**
325
+ * Base 10 - Decimal number system
326
+ */
327
+ DECIMAL_BASE: 10,
328
+ /**
329
+ * Base 16 - Hexadecimal number system
330
+ */
331
+ HEX_BASE: 16,
332
+ /**
333
+ * Base 36 - Alphanumeric number system (0-9, a-z)
334
+ */
335
+ BASE36: 36
336
+ };
337
+ var MATH_CONSTANTS = {
338
+ /**
339
+ * Half value (50%)
340
+ */
341
+ HALF: 0.5,
342
+ /**
343
+ * One tenth (10%)
344
+ */
345
+ TENTH: 0.1,
346
+ /**
347
+ * One twentieth (5%)
348
+ */
349
+ TWENTIETH: 0.05,
350
+ /**
351
+ * 95th percentile
352
+ */
353
+ PERCENT_95: 0.95,
354
+ /**
355
+ * 99th percentile
356
+ */
357
+ PERCENT_99: 0.99,
358
+ /**
359
+ * Threshold for quadratic algorithm detection
360
+ */
361
+ QUADRATIC_THRESHOLD: 1.5,
362
+ /**
363
+ * Threshold for exponential algorithm detection
364
+ */
365
+ EXPONENTIAL_THRESHOLD: 3,
366
+ /**
367
+ * Multiplier for variance calculations
368
+ */
369
+ VARIANCE_MULTIPLIER: 4,
370
+ /**
371
+ * Offset for variance calculations
372
+ */
373
+ VARIANCE_OFFSET: 2
374
+ };
375
+
376
+ // src/performance/index.ts
377
+ var PERFORMANCE_CONSTANTS = {
378
+ /**
379
+ * Threshold for detecting memory leaks (10% growth)
380
+ */
381
+ MEMORY_LEAK_THRESHOLD: 0.1,
382
+ /**
383
+ * Default number of benchmark runs for performance testing
384
+ */
385
+ DEFAULT_BENCHMARK_RUNS: 100,
386
+ /**
387
+ * Default number of warmup runs before benchmarking
388
+ */
389
+ DEFAULT_WARMUP_RUNS: 10
390
+ };
391
+
392
+ // src/network/constants.ts
393
+ var NETWORK_CONSTANTS = {
394
+ /**
395
+ * Minimum value for an IPv4 octet (excluding 0 for first octet)
396
+ */
397
+ IPV4_OCTET_MIN: 1,
398
+ /**
399
+ * Maximum value for an IPv4 octet
400
+ */
401
+ IPV4_OCTET_MAX: 255,
402
+ /**
403
+ * Number of octets in an IPv4 address
404
+ */
405
+ IPV4_OCTET_COUNT: 4,
406
+ /**
407
+ * Maximum value for a random byte (256 exclusive)
408
+ */
409
+ RANDOM_BYTE_MAX: 256,
410
+ /**
411
+ * Default maximum process ID for testing
412
+ */
413
+ DEFAULT_PROCESS_ID_MAX: 1e4
414
+ };
415
+
416
+ // src/display/constants.ts
417
+ var DISPLAY_CONSTANTS = {
418
+ /**
419
+ * Maximum length for chart bar display
420
+ */
421
+ CHART_BAR_MAX_LENGTH: 40,
422
+ /**
423
+ * Length of chart separator lines
424
+ */
425
+ CHART_SEPARATOR_LENGTH: 60,
426
+ /**
427
+ * Number of decimal places for display precision
428
+ */
429
+ DECIMAL_PRECISION: 3
430
+ };
431
+ var CHAR_CODES = {
432
+ /**
433
+ * ASCII code for lowercase 'a'
434
+ */
435
+ LOWERCASE_A: 97,
436
+ /**
437
+ * Number of letters in the alphabet
438
+ */
439
+ ALPHABET_SIZE: 26,
440
+ /**
441
+ * ASCII code for space character
442
+ */
443
+ SPACE: 32
444
+ };
445
+
446
+ export { ALCHEMY_CONFIG, API_CONFIG, CACHE_CONFIG, CHAR_CODES, COLLECTION_CONSTANTS, CONTRACTS, DEFAULT_BACKEND_CONFIG, DEFAULT_FRONTEND_CONFIG, DEFAULT_LOCALE, DEV_SUPPORTED_CHAINS, DISPLAY_CONSTANTS, DOMAINS, FEATURES, HTTP_STATUS, LANDING_PAGE_APP, MATH_CONSTANTS, NETWORK_CONSTANTS, NUMBER_SYSTEM, OAUTH_PROVIDERS, PERFORMANCE_CONSTANTS, PROD_SUPPORTED_CHAINS, SECURITY, STAGING_SUPPORTED_CHAINS, STRING_CONSTANTS, SUPPORTED_LOCALES, TIMEZONE, TIME_CONSTANTS, WEBHOOK_CONFIG, WEB_APP, isDev, isProd, isServer, isTest };
173
447
  //# sourceMappingURL=index.js.map
174
448
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -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"],"names":[],"mappings":"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","file":"index.js","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} as const;\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';","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"]}
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":[],"mappings":";;;;;AAAO,IAAM,QAAA,GAAW,OAAO,MAAA,KAAW;AACnC,IAAM,KAAA,GAAQ,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa;AAClD,IAAM,MAAA,GAAS,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa;AACnD,IAAM,MAAA,GAAS,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa;;;ACHnD,IAAM,cAAA,GAAiB;AAAA,EAC5B,MAAA,EAAQ,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,uBAAA;AAAA,EAC/B,OAAA,EAAS;AAAA,IACP,QAAA,EAAU,CAAA,qCAAA,EAAwC,UAAA,CAAW,OAAA,CAAQ,IAAI,uBAAuB,CAAA,CAAA;AAAA,IAChG,OAAA,EAAS,CAAA,yCAAA,EAA4C,UAAA,CAAW,OAAA,CAAQ,IAAI,uBAAuB,CAAA,CAAA;AAAA,IACnG,QAAA,EAAU,CAAA,qCAAA,EAAwC,UAAA,CAAW,OAAA,CAAQ,IAAI,uBAAuB,CAAA,CAAA;AAAA,IAChG,QAAA,EAAU,CAAA,qCAAA,EAAwC,UAAA,CAAW,OAAA,CAAQ,IAAI,uBAAuB,CAAA,CAAA;AAAA,IAChG,IAAA,EAAM,CAAA,sCAAA,EAAyC,UAAA,CAAW,OAAA,CAAQ,IAAI,uBAAuB,CAAA,CAAA;AAAA,IAC7F,MAAA,EAAQ,CAAA,wCAAA,EAA2C,UAAA,CAAW,OAAA,CAAQ,IAAI,uBAAuB,CAAA;AAAA;AAErG;;;ACVO,IAAM,eAAA,GAAkB;AAAA,EAC7B,MAAA,EAAQ;AAAA,IACN,QAAA,EAAU,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,4BAAA;AAAA,IACjC,YAAA,EAAc,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,oBAAA;AAAA,IACrC,WAAA,EAAa,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,+BAAA;AAAA,IACpC,MAAA,EAAQ,CAAC,QAAA,EAAU,SAAA,EAAW,OAAO;AAAA,GACvC;AAAA,EACA,OAAA,EAAS;AAAA,IACP,QAAA,EAAU,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,6BAAA;AAAA,IACjC,YAAA,EAAc,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,qBAAA;AAAA,IACrC,WAAA,EAAa,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,gCAAA;AAAA,IACpC,MAAA,EAAQ,CAAC,UAAA,EAAY,OAAO;AAAA,GAC9B;AAAA,EACA,QAAA,EAAU;AAAA,IACR,QAAA,EAAU,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,8BAAA;AAAA,IACjC,YAAA,EAAc,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,sBAAA;AAAA,IACrC,WAAA,EAAa,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,iCAAA;AAAA,IACpC,MAAA,EAAQ,CAAC,gBAAA,EAAkB,OAAO;AAAA;AAEtC;;;ACnBO,IAAM,SAAA,GAAY;AAAA,EACvB,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,MACJ,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,KAAA,EAAO;AAAA,MACL,QAAA,EAAU;AAAA;AACZ,GACF;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM;AAAA,MACJ,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,KAAA,EAAO;AAAA,MACL,QAAA,EAAU;AAAA;AACZ;AAEJ;ACfO,IAAM,qBAAA,GAAwB;AAAA;AAAA,EAEnC,QAAA,EAAU;AACZ;AAEO,IAAM,wBAAA,GAA2B;AAAA;AAAA,EAEtC,QAAA,EAAU,OAAA;AAAA;AAAA,EAEV;AACF;AAEO,IAAM,oBAAA,GAAuB;AAAA;AAAA,EAElC;AACF;;;ACfO,IAAM,QAAA,GAAW;AAAA;AAAA;AAAA,EAGtB,WAAA,EAAa,IAAA;AAAA;AAAA,EAEb,YAAA,EAAc,KAAA;AAAA,EACd,aAAA,EAAe,KAAA;AAAA,EACf,WAAA,EAAa;AACf;AAMO,IAAM,sBAAA,GAAyB;AAAA,EACpC,QAAA,EAAU,UAAA;AAAA,EACV,cAAA,EAAgB,IAAA;AAAA,EAChB,QAAA,EAAU,GAAA;AAAA;AAAA,EACV,eAAA,EAAiB,EAAA;AAAA;AAAA,EACjB,wBAAA,EAA0B,IAAA;AAAA,EAC1B,gBAAA,EAAkB,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa;AACxD;AAMO,IAAM,uBAAA,GAA0B;AAAA,EACrC,QAAA,EAAU,QAAA;AAAA,EACV,cAAA,EAAgB,IAAA;AAAA,EAChB,QAAA,EAAU,GAAA;AAAA;AAAA,EACV,eAAA,EAAiB,CAAA;AAAA;AAAA,EACjB,wBAAA,EAA0B,IAAA;AAAA,EAC1B,gBAAA,EAAkB;AAAA;AACpB;;;ACpCO,IAAM,OAAA,GAAU;AAAA,EACrB,GAAA,EAAK,qBAAA;AAAA,EACL,GAAA,EAAK,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI;AAC9B;;;ACHO,IAAM,cAAA,GAAiB;AACvB,IAAM,iBAAA,GAAoB,CAAC,IAAA,EAAM,IAAA,EAAM,IAAI;AAC3C,IAAM,QAAA,GAAW;;;ACAjB,IAAM,gBAAA,GAAmB;AAAA,EAC9B,IAAA,EAAM,OAAA;AAAA,EACN,OAAA,EAAS,OAAA;AAAA,EACT,cAAA;AAAA,EACA;AACF;AAEO,IAAM,OAAA,GAAU;AAAA,EACrB,IAAA,EAAM,eAAA;AAAA,EACN,OAAA,EAAS,OAAA;AAAA,EACT,cAAA;AAAA,EACA;AACF;;;ACdO,IAAM,QAAA,GAAW;AAAA,EACtB,eAAA,EAAiB,CAAC,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,MAAM,IAAA,EAAM,IAAA,EAAM,OAAA,EAAS,OAAA,EAAS,OAAO;AACjF;;;ACFO,IAAM,aAAa;AAEnB,IAAM,YAAA,GAAe;AAAA;AAAA,EAE1B,GAAA,EAAK;AAAA,IACH,KAAA,EAAO,GAAA;AAAA;AAAA,IACP,MAAA,EAAQ,IAAA;AAAA;AAAA,IACR,IAAA,EAAM,IAAA;AAAA;AAAA,IACN,QAAA,EAAU;AAAA;AAAA,GACZ;AAAA;AAAA,EAGA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,GAAA,EAAK,MAAA;AAAA,IACL,UAAA,EAAY,aAAA;AAAA,IACZ,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAGA,KAAA,EAAO;AAAA,IACL,GAAA,EAAK,UAAA,CAAW,OAAA,CAAQ,GAAA,CAAI,SAAA;AAAA,IAC5B,SAAA,EAAW,QAAA;AAAA,IACX,oBAAA,EAAsB,CAAA;AAAA;AAAA,IAEtB,WAAA,EAAa;AAAA;AAEjB;AAEO,IAAM,iBAAiB;;;ACjBvB,IAAM,gBAAA,GAAmB;AAAA;AAAA;AAAA;AAAA,EAI9B,mBAAA,EAAqB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKrB,oBAAA,EAAsB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKtB,sBAAA,EAAwB,EAAA;AAAA;AAAA;AAAA;AAAA,EAKxB,aAAA,EAAe,CAAA;AAAA;AAAA;AAAA;AAAA,EAKf,iBAAA,EAAmB;AACrB;;;ACzBO,IAAM,oBAAA,GAAuB;AAAA;AAAA;AAAA;AAAA,EAIlC,kBAAA,EAAoB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKpB,iBAAA,EAAmB,EAAA;AAAA;AAAA;AAAA;AAAA,EAKnB,mBAAA,EAAqB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKrB,WAAA,EAAa;AACf;;;ACpBO,IAAM,WAAA,GAAc;AAAA;AAAA;AAAA;AAAA,EAIzB,EAAA,EAAI,GAAA;AAAA;AAAA;AAAA;AAAA,EAKJ,OAAA,EAAS,GAAA;AAAA;AAAA;AAAA;AAAA,EAKT,KAAA,EAAO,GAAA;AAAA;AAAA;AAAA;AAAA,EAKP,kBAAA,EAAoB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKpB,WAAA,EAAa,GAAA;AAAA;AAAA;AAAA;AAAA,EAKb,YAAA,EAAc,GAAA;AAAA;AAAA;AAAA;AAAA,EAKd,SAAA,EAAW,GAAA;AAAA;AAAA;AAAA;AAAA,EAKX,SAAA,EAAW,GAAA;AAAA;AAAA;AAAA;AAAA,EAKX,qBAAA,EAAuB;AACzB;;;AC7CO,IAAM,cAAA,GAAiB;AAAA;AAAA;AAAA;AAAA,EAI5B,uBAAA,EAAyB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKzB,kBAAA,EAAoB,EAAA;AAAA;AAAA;AAAA;AAAA,EAKpB,gBAAA,EAAkB,EAAA;AAAA;AAAA;AAAA;AAAA,EAKlB,aAAA,EAAe,EAAA;AAAA;AAAA;AAAA;AAAA,EAKf,eAAA,EAAiB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKjB,mBAAA,EAAqB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKrB,sBAAA,EAAwB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKxB,sBAAA,EAAwB,EAAA;AAAA;AAAA;AAAA;AAAA,EAKxB,uBAAA,EAAyB,KAAA;AAAA;AAAA;AAAA;AAAA,EAKzB,iBAAA,EAAmB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKnB,YAAA,EAAc,GAAA;AAAA;AAAA;AAAA;AAAA,EAKd,wBAAA,EAA0B,IAAA;AAAA;AAAA;AAAA;AAAA,EAK1B,qBAAA,EAAuB;AACzB;;;ACjEO,IAAM,aAAA,GAAgB;AAAA;AAAA;AAAA;AAAA,EAI3B,WAAA,EAAa,CAAA;AAAA;AAAA;AAAA;AAAA,EAKb,UAAA,EAAY,CAAA;AAAA;AAAA;AAAA;AAAA,EAKZ,YAAA,EAAc,EAAA;AAAA;AAAA;AAAA;AAAA,EAKd,QAAA,EAAU,EAAA;AAAA;AAAA;AAAA;AAAA,EAKV,MAAA,EAAQ;AACV;AAKO,IAAM,cAAA,GAAiB;AAAA;AAAA;AAAA;AAAA,EAI5B,IAAA,EAAM,GAAA;AAAA;AAAA;AAAA;AAAA,EAKN,KAAA,EAAO,GAAA;AAAA;AAAA;AAAA;AAAA,EAKP,SAAA,EAAW,IAAA;AAAA;AAAA;AAAA;AAAA,EAKX,UAAA,EAAY,IAAA;AAAA;AAAA;AAAA;AAAA,EAKZ,UAAA,EAAY,IAAA;AAAA;AAAA;AAAA;AAAA,EAKZ,mBAAA,EAAqB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKrB,qBAAA,EAAuB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKvB,mBAAA,EAAqB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKrB,eAAA,EAAiB;AACnB;;;AC1EO,IAAM,qBAAA,GAAwB;AAAA;AAAA;AAAA;AAAA,EAInC,qBAAA,EAAuB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKvB,sBAAA,EAAwB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKxB,mBAAA,EAAqB;AACvB;;;AChBO,IAAM,iBAAA,GAAoB;AAAA;AAAA;AAAA;AAAA,EAI/B,cAAA,EAAgB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKhB,cAAA,EAAgB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKhB,gBAAA,EAAkB,CAAA;AAAA;AAAA;AAAA;AAAA,EAKlB,eAAA,EAAiB,GAAA;AAAA;AAAA;AAAA;AAAA,EAKjB,sBAAA,EAAwB;AAC1B;;;ACzBO,IAAM,iBAAA,GAAoB;AAAA;AAAA;AAAA;AAAA,EAI/B,oBAAA,EAAsB,EAAA;AAAA;AAAA;AAAA;AAAA,EAKtB,sBAAA,EAAwB,EAAA;AAAA;AAAA;AAAA;AAAA,EAKxB,iBAAA,EAAmB;AACrB;AAKO,IAAM,UAAA,GAAa;AAAA;AAAA;AAAA;AAAA,EAIxB,WAAA,EAAa,EAAA;AAAA;AAAA;AAAA;AAAA,EAKb,aAAA,EAAe,EAAA;AAAA;AAAA;AAAA;AAAA,EAKf,KAAA,EAAO;AACT","file":"index.js","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';","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"]}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Mathematical Constants
3
+ *
4
+ * Common mathematical values, number system bases, and calculation constants
5
+ * used throughout the application for various computations.
6
+ *
7
+ * @module math/constants
8
+ */
9
+ /**
10
+ * Number system base constants
11
+ */
12
+ export declare const NUMBER_SYSTEM: {
13
+ /**
14
+ * Base 2 - Binary number system
15
+ */
16
+ readonly BINARY_BASE: 2;
17
+ /**
18
+ * Base 8 - Octal number system
19
+ */
20
+ readonly OCTAL_BASE: 8;
21
+ /**
22
+ * Base 10 - Decimal number system
23
+ */
24
+ readonly DECIMAL_BASE: 10;
25
+ /**
26
+ * Base 16 - Hexadecimal number system
27
+ */
28
+ readonly HEX_BASE: 16;
29
+ /**
30
+ * Base 36 - Alphanumeric number system (0-9, a-z)
31
+ */
32
+ readonly BASE36: 36;
33
+ };
34
+ /**
35
+ * Mathematical and percentage constants
36
+ */
37
+ export declare const MATH_CONSTANTS: {
38
+ /**
39
+ * Half value (50%)
40
+ */
41
+ readonly HALF: 0.5;
42
+ /**
43
+ * One tenth (10%)
44
+ */
45
+ readonly TENTH: 0.1;
46
+ /**
47
+ * One twentieth (5%)
48
+ */
49
+ readonly TWENTIETH: 0.05;
50
+ /**
51
+ * 95th percentile
52
+ */
53
+ readonly PERCENT_95: 0.95;
54
+ /**
55
+ * 99th percentile
56
+ */
57
+ readonly PERCENT_99: 0.99;
58
+ /**
59
+ * Threshold for quadratic algorithm detection
60
+ */
61
+ readonly QUADRATIC_THRESHOLD: 1.5;
62
+ /**
63
+ * Threshold for exponential algorithm detection
64
+ */
65
+ readonly EXPONENTIAL_THRESHOLD: 3;
66
+ /**
67
+ * Multiplier for variance calculations
68
+ */
69
+ readonly VARIANCE_MULTIPLIER: 4;
70
+ /**
71
+ * Offset for variance calculations
72
+ */
73
+ readonly VARIANCE_OFFSET: 2;
74
+ };
75
+ /**
76
+ * Type for number system values
77
+ */
78
+ export type NumberSystemBase = (typeof NUMBER_SYSTEM)[keyof typeof NUMBER_SYSTEM];
79
+ /**
80
+ * Type for math constant values
81
+ */
82
+ export type MathConstant = (typeof MATH_CONSTANTS)[keyof typeof MATH_CONSTANTS];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Math Module Exports
3
+ *
4
+ * @module math
5
+ */
6
+ export * from './constants';
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Network-related Constants
3
+ *
4
+ * Constants for network operations including IP addresses,
5
+ * byte ranges, and process identifiers.
6
+ *
7
+ * @module network/constants
8
+ */
9
+ /**
10
+ * Network and connection constants
11
+ */
12
+ export declare const NETWORK_CONSTANTS: {
13
+ /**
14
+ * Minimum value for an IPv4 octet (excluding 0 for first octet)
15
+ */
16
+ readonly IPV4_OCTET_MIN: 1;
17
+ /**
18
+ * Maximum value for an IPv4 octet
19
+ */
20
+ readonly IPV4_OCTET_MAX: 255;
21
+ /**
22
+ * Number of octets in an IPv4 address
23
+ */
24
+ readonly IPV4_OCTET_COUNT: 4;
25
+ /**
26
+ * Maximum value for a random byte (256 exclusive)
27
+ */
28
+ readonly RANDOM_BYTE_MAX: 256;
29
+ /**
30
+ * Default maximum process ID for testing
31
+ */
32
+ readonly DEFAULT_PROCESS_ID_MAX: 10000;
33
+ };
34
+ /**
35
+ * Type for network constant values
36
+ */
37
+ export type NetworkConstant = (typeof NETWORK_CONSTANTS)[keyof typeof NETWORK_CONSTANTS];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Network Module Exports
3
+ *
4
+ * @module network
5
+ */
6
+ export * from './constants';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Performance Module
3
+ *
4
+ * Performance monitoring and benchmarking constants used for
5
+ * measuring application performance, detecting memory leaks,
6
+ * and configuring performance tests.
7
+ *
8
+ * @module performance
9
+ */
10
+ /**
11
+ * Performance measurement constants
12
+ */
13
+ export declare const PERFORMANCE_CONSTANTS: {
14
+ /**
15
+ * Threshold for detecting memory leaks (10% growth)
16
+ */
17
+ readonly MEMORY_LEAK_THRESHOLD: 0.1;
18
+ /**
19
+ * Default number of benchmark runs for performance testing
20
+ */
21
+ readonly DEFAULT_BENCHMARK_RUNS: 100;
22
+ /**
23
+ * Default number of warmup runs before benchmarking
24
+ */
25
+ readonly DEFAULT_WARMUP_RUNS: 10;
26
+ };
27
+ /**
28
+ * Type for performance constant values
29
+ */
30
+ export type PerformanceConstant = (typeof PERFORMANCE_CONSTANTS)[keyof typeof PERFORMANCE_CONSTANTS];
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Time-related Constants
3
+ *
4
+ * Common time values and durations used throughout the application
5
+ * for timeouts, delays, caching, and other time-based operations.
6
+ *
7
+ * @module time/constants
8
+ */
9
+ /**
10
+ * Time conversion and duration constants
11
+ */
12
+ export declare const TIME_CONSTANTS: {
13
+ /**
14
+ * Number of milliseconds in one second
15
+ */
16
+ readonly MILLISECONDS_PER_SECOND: 1000;
17
+ /**
18
+ * Number of seconds in one minute
19
+ */
20
+ readonly SECONDS_PER_MINUTE: 60;
21
+ /**
22
+ * Number of minutes in one hour
23
+ */
24
+ readonly MINUTES_PER_HOUR: 60;
25
+ /**
26
+ * Number of hours in one day
27
+ */
28
+ readonly HOURS_PER_DAY: 24;
29
+ /**
30
+ * Default timeout duration in milliseconds (5 seconds)
31
+ */
32
+ readonly DEFAULT_TIMEOUT: 5000;
33
+ /**
34
+ * Default retry delay in milliseconds (100ms)
35
+ */
36
+ readonly DEFAULT_RETRY_DELAY: 100;
37
+ /**
38
+ * Default number of retry attempts
39
+ */
40
+ readonly DEFAULT_RETRY_ATTEMPTS: 3;
41
+ /**
42
+ * Default debounce delay in milliseconds (50ms)
43
+ */
44
+ readonly DEFAULT_DEBOUNCE_DELAY: 50;
45
+ /**
46
+ * Default animation frame duration in milliseconds (~60fps)
47
+ */
48
+ readonly DEFAULT_ANIMATION_FRAME: 16.67;
49
+ /**
50
+ * Default cache time-to-live in seconds (5 minutes)
51
+ */
52
+ readonly DEFAULT_CACHE_TTL: 300;
53
+ /**
54
+ * Default port number for servers
55
+ */
56
+ readonly DEFAULT_PORT: 3000;
57
+ /**
58
+ * WebSocket abnormal closure code
59
+ */
60
+ readonly WEBSOCKET_CLOSE_ABNORMAL: 1006;
61
+ /**
62
+ * WebSocket retry delay in milliseconds (500ms)
63
+ */
64
+ readonly WEBSOCKET_RETRY_DELAY: 500;
65
+ };
66
+ /**
67
+ * Type for time constant values
68
+ */
69
+ export type TimeConstant = (typeof TIME_CONSTANTS)[keyof typeof TIME_CONSTANTS];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Time Module Exports
3
+ *
4
+ * @module time
5
+ */
6
+ export * from './constants';
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Collection and Array Constants
3
+ *
4
+ * Constants for array operations, pagination,
5
+ * and collection manipulation.
6
+ *
7
+ * @module utils/collection/constants
8
+ */
9
+ /**
10
+ * Array and collection operation constants
11
+ */
12
+ export declare const COLLECTION_CONSTANTS: {
13
+ /**
14
+ * Center point for array splitting (50%)
15
+ */
16
+ readonly ARRAY_SPLIT_CENTER: 0.5;
17
+ /**
18
+ * Default page size for pagination
19
+ */
20
+ readonly DEFAULT_PAGE_SIZE: 10;
21
+ /**
22
+ * Default maximum number of retries for operations
23
+ */
24
+ readonly DEFAULT_MAX_RETRIES: 3;
25
+ /**
26
+ * Constant for three items (used in various contexts)
27
+ */
28
+ readonly THREE_ITEMS: 3;
29
+ };
30
+ /**
31
+ * Type for collection constant values
32
+ */
33
+ export type CollectionConstant = (typeof COLLECTION_CONSTANTS)[keyof typeof COLLECTION_CONSTANTS];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Collection Utils Module Exports
3
+ *
4
+ * @module utils/collection
5
+ */
6
+ export * from './constants';
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Utilities - Main Export
3
+ *
4
+ * Exports all utility constants organized by category.
5
+ * These utilities can be reused across different parts of the application.
6
+ *
7
+ * @fileoverview Main utilities export
8
+ * @version 1.0.0
9
+ */
10
+ export * from './string';
11
+ export * from './collection';
@@ -0,0 +1,37 @@
1
+ /**
2
+ * String Manipulation Constants
3
+ *
4
+ * Constants used for string generation, manipulation,
5
+ * and UUID-related operations.
6
+ *
7
+ * @module utils/string/constants
8
+ */
9
+ /**
10
+ * String generation and manipulation constants
11
+ */
12
+ export declare const STRING_CONSTANTS: {
13
+ /**
14
+ * Starting position for random string extraction
15
+ */
16
+ readonly RANDOM_STRING_START: 2;
17
+ /**
18
+ * Length of random string segment
19
+ */
20
+ readonly RANDOM_STRING_LENGTH: 9;
21
+ /**
22
+ * Multiplier for UUID random value generation
23
+ */
24
+ readonly UUID_RANDOM_MULTIPLIER: 16;
25
+ /**
26
+ * Hexadecimal mask for UUID generation
27
+ */
28
+ readonly UUID_HEX_MASK: 3;
29
+ /**
30
+ * OR value for UUID hexadecimal operations
31
+ */
32
+ readonly UUID_HEX_OR_VALUE: 8;
33
+ };
34
+ /**
35
+ * Type for string constant values
36
+ */
37
+ export type StringConstant = (typeof STRING_CONSTANTS)[keyof typeof STRING_CONSTANTS];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * String Utils Module Exports
3
+ *
4
+ * @module utils/string
5
+ */
6
+ export * from './constants';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plyaz/config",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "author": "Redeemer Pace",
5
5
  "license": "ISC",
6
6
  "description": "Provides shared configs and constants for @playz ecosystem.",