coding-agent-benchmarks 0.3.0 → 0.3.2

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.
Files changed (157) hide show
  1. package/README.md +2 -0
  2. package/dist/adapters/claudeCodeCLI.d.ts.map +1 -1
  3. package/dist/adapters/claudeCodeCLI.js +1 -0
  4. package/dist/adapters/claudeCodeCLI.js.map +1 -1
  5. package/dist/runner.d.ts +0 -3
  6. package/dist/runner.d.ts.map +1 -1
  7. package/dist/runner.js +1 -4
  8. package/dist/runner.js.map +1 -1
  9. package/dist/validators/eslintValidator.d.ts +1 -1
  10. package/dist/validators/eslintValidator.d.ts.map +1 -1
  11. package/dist/validators/eslintValidator.js +23 -23
  12. package/dist/validators/eslintValidator.js.map +1 -1
  13. package/package.json +7 -1
  14. package/dist/User.d.ts +0 -10
  15. package/dist/User.d.ts.map +0 -1
  16. package/dist/User.js +0 -3
  17. package/dist/User.js.map +0 -1
  18. package/dist/config/defaultScenarios.d.ts +0 -6
  19. package/dist/config/defaultScenarios.d.ts.map +0 -1
  20. package/dist/config/defaultScenarios.js +0 -209
  21. package/dist/config/defaultScenarios.js.map +0 -1
  22. package/dist/config/environment.d.ts +0 -51
  23. package/dist/config/environment.d.ts.map +0 -1
  24. package/dist/config/environment.js +0 -57
  25. package/dist/config/environment.js.map +0 -1
  26. package/dist/config/parser.d.ts +0 -6
  27. package/dist/config/parser.d.ts.map +0 -1
  28. package/dist/config/parser.js +0 -87
  29. package/dist/config/parser.js.map +0 -1
  30. package/dist/examples/file-upload-example.d.ts +0 -2
  31. package/dist/examples/file-upload-example.d.ts.map +0 -1
  32. package/dist/examples/file-upload-example.js +0 -37
  33. package/dist/examples/file-upload-example.js.map +0 -1
  34. package/dist/examples/typedEventEmitterExample.d.ts +0 -5
  35. package/dist/examples/typedEventEmitterExample.d.ts.map +0 -1
  36. package/dist/examples/typedEventEmitterExample.js +0 -44
  37. package/dist/examples/typedEventEmitterExample.js.map +0 -1
  38. package/dist/registration/database.d.ts +0 -13
  39. package/dist/registration/database.d.ts.map +0 -1
  40. package/dist/registration/database.js +0 -35
  41. package/dist/registration/database.js.map +0 -1
  42. package/dist/registration/email.d.ts +0 -17
  43. package/dist/registration/email.d.ts.map +0 -1
  44. package/dist/registration/email.js +0 -40
  45. package/dist/registration/email.js.map +0 -1
  46. package/dist/registration/emailService.d.ts +0 -13
  47. package/dist/registration/emailService.d.ts.map +0 -1
  48. package/dist/registration/emailService.js +0 -26
  49. package/dist/registration/emailService.js.map +0 -1
  50. package/dist/registration/example.d.ts +0 -2
  51. package/dist/registration/example.d.ts.map +0 -1
  52. package/dist/registration/example.js +0 -37
  53. package/dist/registration/example.js.map +0 -1
  54. package/dist/registration/index.d.ts +0 -7
  55. package/dist/registration/index.d.ts.map +0 -1
  56. package/dist/registration/index.js +0 -15
  57. package/dist/registration/index.js.map +0 -1
  58. package/dist/registration/password.d.ts +0 -3
  59. package/dist/registration/password.d.ts.map +0 -1
  60. package/dist/registration/password.js +0 -27
  61. package/dist/registration/password.js.map +0 -1
  62. package/dist/registration/passwordHasher.d.ts +0 -8
  63. package/dist/registration/passwordHasher.d.ts.map +0 -1
  64. package/dist/registration/passwordHasher.js +0 -39
  65. package/dist/registration/passwordHasher.js.map +0 -1
  66. package/dist/registration/registrationService.d.ts +0 -14
  67. package/dist/registration/registrationService.d.ts.map +0 -1
  68. package/dist/registration/registrationService.js +0 -49
  69. package/dist/registration/registrationService.js.map +0 -1
  70. package/dist/registration/service.d.ts +0 -14
  71. package/dist/registration/service.d.ts.map +0 -1
  72. package/dist/registration/service.js +0 -48
  73. package/dist/registration/service.js.map +0 -1
  74. package/dist/registration/types.d.ts +0 -22
  75. package/dist/registration/types.d.ts.map +0 -1
  76. package/dist/registration/types.js +0 -3
  77. package/dist/registration/types.js.map +0 -1
  78. package/dist/registration/userRepository.d.ts +0 -12
  79. package/dist/registration/userRepository.d.ts.map +0 -1
  80. package/dist/registration/userRepository.js +0 -28
  81. package/dist/registration/userRepository.js.map +0 -1
  82. package/dist/registration/validator.d.ts +0 -7
  83. package/dist/registration/validator.d.ts.map +0 -1
  84. package/dist/registration/validator.js +0 -44
  85. package/dist/registration/validator.js.map +0 -1
  86. package/dist/registration/validators.d.ts +0 -5
  87. package/dist/registration/validators.d.ts.map +0 -1
  88. package/dist/registration/validators.js +0 -60
  89. package/dist/registration/validators.js.map +0 -1
  90. package/dist/sync/cache.d.ts +0 -14
  91. package/dist/sync/cache.d.ts.map +0 -1
  92. package/dist/sync/cache.js +0 -73
  93. package/dist/sync/cache.js.map +0 -1
  94. package/dist/sync/index.d.ts +0 -7
  95. package/dist/sync/index.d.ts.map +0 -1
  96. package/dist/sync/index.js +0 -20
  97. package/dist/sync/index.js.map +0 -1
  98. package/dist/sync/resolver.d.ts +0 -12
  99. package/dist/sync/resolver.d.ts.map +0 -1
  100. package/dist/sync/resolver.js +0 -43
  101. package/dist/sync/resolver.js.map +0 -1
  102. package/dist/sync/service.d.ts +0 -20
  103. package/dist/sync/service.d.ts.map +0 -1
  104. package/dist/sync/service.js +0 -162
  105. package/dist/sync/service.js.map +0 -1
  106. package/dist/sync/source.d.ts +0 -21
  107. package/dist/sync/source.d.ts.map +0 -1
  108. package/dist/sync/source.js +0 -58
  109. package/dist/sync/source.js.map +0 -1
  110. package/dist/sync/types.d.ts +0 -56
  111. package/dist/sync/types.d.ts.map +0 -1
  112. package/dist/sync/types.js +0 -21
  113. package/dist/sync/types.js.map +0 -1
  114. package/dist/utils/cache.d.ts +0 -11
  115. package/dist/utils/cache.d.ts.map +0 -1
  116. package/dist/utils/cache.js +0 -28
  117. package/dist/utils/cache.js.map +0 -1
  118. package/dist/utils/config-merger.d.ts +0 -11
  119. package/dist/utils/config-merger.d.ts.map +0 -1
  120. package/dist/utils/config-merger.js +0 -36
  121. package/dist/utils/config-merger.js.map +0 -1
  122. package/dist/utils/configParser.d.ts +0 -9
  123. package/dist/utils/configParser.d.ts.map +0 -1
  124. package/dist/utils/configParser.js +0 -51
  125. package/dist/utils/configParser.js.map +0 -1
  126. package/dist/utils/database-providers.d.ts +0 -23
  127. package/dist/utils/database-providers.d.ts.map +0 -1
  128. package/dist/utils/database-providers.js +0 -48
  129. package/dist/utils/database-providers.js.map +0 -1
  130. package/dist/utils/fetchUserData.d.ts +0 -11
  131. package/dist/utils/fetchUserData.d.ts.map +0 -1
  132. package/dist/utils/fetchUserData.js +0 -31
  133. package/dist/utils/fetchUserData.js.map +0 -1
  134. package/dist/utils/file-upload-handler.d.ts +0 -46
  135. package/dist/utils/file-upload-handler.d.ts.map +0 -1
  136. package/dist/utils/file-upload-handler.js +0 -110
  137. package/dist/utils/file-upload-handler.js.map +0 -1
  138. package/dist/utils/statistics.d.ts +0 -9
  139. package/dist/utils/statistics.d.ts.map +0 -1
  140. package/dist/utils/statistics.js +0 -26
  141. package/dist/utils/statistics.js.map +0 -1
  142. package/dist/utils/storage-providers.d.ts +0 -24
  143. package/dist/utils/storage-providers.d.ts.map +0 -1
  144. package/dist/utils/storage-providers.js +0 -38
  145. package/dist/utils/storage-providers.js.map +0 -1
  146. package/dist/utils/transformArray.d.ts +0 -18
  147. package/dist/utils/transformArray.d.ts.map +0 -1
  148. package/dist/utils/transformArray.js +0 -21
  149. package/dist/utils/transformArray.js.map +0 -1
  150. package/dist/utils/userUtils.d.ts +0 -9
  151. package/dist/utils/userUtils.d.ts.map +0 -1
  152. package/dist/utils/userUtils.js +0 -14
  153. package/dist/utils/userUtils.js.map +0 -1
  154. /package/dist/utils/{typedEventEmitter.d.ts → TypedEventEmitter.d.ts} +0 -0
  155. /package/dist/utils/{typedEventEmitter.d.ts.map → TypedEventEmitter.d.ts.map} +0 -0
  156. /package/dist/utils/{typedEventEmitter.js → TypedEventEmitter.js} +0 -0
  157. /package/dist/utils/{typedEventEmitter.js.map → TypedEventEmitter.js.map} +0 -0
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCurrentEnvironment = exports.getEnvironmentConfig = exports.productionConfig = exports.stagingConfig = exports.developmentConfig = void 0;
4
- const developmentConfig = {
5
- environment: 'development',
6
- apiUrl: 'http://localhost:3000/api',
7
- debug: true,
8
- features: {
9
- enableAnalytics: false,
10
- enableBetaFeatures: true,
11
- enableDetailedLogging: true,
12
- enableCaching: false,
13
- },
14
- };
15
- exports.developmentConfig = developmentConfig;
16
- const stagingConfig = {
17
- environment: 'staging',
18
- apiUrl: 'https://staging-api.example.com/api',
19
- debug: true,
20
- features: {
21
- enableAnalytics: true,
22
- enableBetaFeatures: true,
23
- enableDetailedLogging: true,
24
- enableCaching: true,
25
- },
26
- };
27
- exports.stagingConfig = stagingConfig;
28
- const productionConfig = {
29
- environment: 'production',
30
- apiUrl: 'https://api.example.com/api',
31
- debug: false,
32
- features: {
33
- enableAnalytics: true,
34
- enableBetaFeatures: false,
35
- enableDetailedLogging: false,
36
- enableCaching: true,
37
- },
38
- };
39
- exports.productionConfig = productionConfig;
40
- const configs = {
41
- development: developmentConfig,
42
- staging: stagingConfig,
43
- production: productionConfig,
44
- };
45
- const getEnvironmentConfig = (env = 'development') => {
46
- return configs[env];
47
- };
48
- exports.getEnvironmentConfig = getEnvironmentConfig;
49
- const getCurrentEnvironment = () => {
50
- const env = process.env.NODE_ENV;
51
- if (env === 'production' || env === 'staging' || env === 'development') {
52
- return env;
53
- }
54
- return 'development';
55
- };
56
- exports.getCurrentEnvironment = getCurrentEnvironment;
57
- //# sourceMappingURL=environment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":";;;AAgBA,MAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,2BAA2B;IACnC,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE;QACR,eAAe,EAAE,KAAK;QACtB,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,IAAI;QAC3B,aAAa,EAAE,KAAK;KACrB;CACmC,CAAC;AA6C9B,8CAAiB;AA3C1B,MAAM,aAAa,GAAG;IACpB,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,qCAAqC;IAC7C,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE;QACR,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,IAAI;QACxB,qBAAqB,EAAE,IAAI;QAC3B,aAAa,EAAE,IAAI;KACpB;CACmC,CAAC;AAiCX,sCAAa;AA/BzC,MAAM,gBAAgB,GAAG;IACvB,WAAW,EAAE,YAAY;IACzB,MAAM,EAAE,6BAA6B;IACrC,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE;QACR,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,KAAK;QACzB,qBAAqB,EAAE,KAAK;QAC5B,aAAa,EAAE,IAAI;KACpB;CACmC,CAAC;AAqBI,4CAAgB;AAnB3D,MAAM,OAAO,GAAG;IACd,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,gBAAgB;CACpB,CAAC;AAEX,MAAM,oBAAoB,GAAG,CAAC,MAAmB,aAAa,EAAqB,EAAE;IACnF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC,CAAC;AAW2D,oDAAoB;AATjF,MAAM,qBAAqB,GAAG,GAAgB,EAAE;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAmC,CAAC;IAC5D,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAGiF,sDAAqB"}
@@ -1,6 +0,0 @@
1
- import { Config } from '../types';
2
- /**
3
- * Reads and parses a JSON configuration file
4
- */
5
- export declare const parseConfig: (filePath: string) => Config;
6
- //# sourceMappingURL=parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,MAAM,KAAG,MAsD9C,CAAC"}
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.parseConfig = void 0;
37
- const fs = __importStar(require("fs"));
38
- /**
39
- * Reads and parses a JSON configuration file
40
- */
41
- const parseConfig = (filePath) => {
42
- if (!fs.existsSync(filePath)) {
43
- throw new Error(`Configuration file not found: ${filePath}`);
44
- }
45
- const fileContent = fs.readFileSync(filePath, 'utf-8');
46
- let parsed;
47
- try {
48
- parsed = JSON.parse(fileContent);
49
- }
50
- catch (error) {
51
- throw new Error(`Invalid JSON in configuration file: ${error}`);
52
- }
53
- if (typeof parsed !== 'object' || parsed === null) {
54
- throw new Error('Configuration must be a JSON object');
55
- }
56
- const config = parsed;
57
- if (typeof config.apiUrl !== 'string') {
58
- throw new Error('Configuration property "apiUrl" must be a string');
59
- }
60
- if (typeof config.timeout !== 'number') {
61
- throw new Error('Configuration property "timeout" must be a number');
62
- }
63
- if (typeof config.retryAttempts !== 'number') {
64
- throw new Error('Configuration property "retryAttempts" must be a number');
65
- }
66
- if (typeof config.enableCache !== 'boolean') {
67
- throw new Error('Configuration property "enableCache" must be a boolean');
68
- }
69
- if (typeof config.headers !== 'object' || config.headers === null || Array.isArray(config.headers)) {
70
- throw new Error('Configuration property "headers" must be an object');
71
- }
72
- const headers = config.headers;
73
- for (const [key, value] of Object.entries(headers)) {
74
- if (typeof value !== 'string') {
75
- throw new Error(`Configuration property "headers.${key}" must be a string`);
76
- }
77
- }
78
- return {
79
- apiUrl: config.apiUrl,
80
- timeout: config.timeout,
81
- retryAttempts: config.retryAttempts,
82
- enableCache: config.enableCache,
83
- headers: headers,
84
- };
85
- };
86
- exports.parseConfig = parseConfig;
87
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/config/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAGzB;;GAEG;AACI,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,MAAiC,CAAC;IAEjD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnG,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkC,CAAC;IAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,oBAAoB,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,OAAiC;KAC3C,CAAC;AACJ,CAAC,CAAC;AAtDW,QAAA,WAAW,eAsDtB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=file-upload-example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-upload-example.d.ts","sourceRoot":"","sources":["../../src/examples/file-upload-example.ts"],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const file_upload_handler_1 = require("../utils/file-upload-handler");
4
- const storage_providers_1 = require("../utils/storage-providers");
5
- const database_providers_1 = require("../utils/database-providers");
6
- const diskUploadConfig = {
7
- maxFileSize: 10 * 1024 * 1024,
8
- allowedFileTypes: ['image/jpeg', 'image/png', 'image/gif', 'application/pdf'],
9
- storageType: 'disk',
10
- storagePath: './uploads',
11
- generateThumbnails: true,
12
- thumbnailSize: { width: 200, height: 200 },
13
- databaseProvider: new database_providers_1.PostgresDatabaseProvider('postgresql://localhost/mydb'),
14
- };
15
- const cloudUploadConfig = {
16
- maxFileSize: 50 * 1024 * 1024,
17
- allowedFileTypes: ['image/jpeg', 'image/png', 'application/pdf', 'video/mp4'],
18
- storageType: 'cloud',
19
- storagePath: 'uploads',
20
- cloudProvider: new storage_providers_1.S3StorageProvider('my-bucket', 'us-east-1', 'access-key', 'secret-key'),
21
- generateThumbnails: true,
22
- thumbnailSize: { width: 300, height: 300 },
23
- databaseProvider: new database_providers_1.PostgresDatabaseProvider('postgresql://localhost/mydb'),
24
- };
25
- async function exampleDiskUpload() {
26
- const handler = new file_upload_handler_1.FileUploadHandler(diskUploadConfig);
27
- const fileBuffer = Buffer.from('fake image data');
28
- const uploadedFile = await handler.handleUpload(fileBuffer, 'my-photo.jpg', 'image/jpeg');
29
- console.log('File uploaded:', uploadedFile);
30
- }
31
- async function exampleCloudUpload() {
32
- const handler = new file_upload_handler_1.FileUploadHandler(cloudUploadConfig);
33
- const fileBuffer = Buffer.from('fake document data');
34
- const uploadedFile = await handler.handleUpload(fileBuffer, 'document.pdf', 'application/pdf');
35
- console.log('File uploaded to cloud:', uploadedFile);
36
- }
37
- //# sourceMappingURL=file-upload-example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-upload-example.js","sourceRoot":"","sources":["../../src/examples/file-upload-example.ts"],"names":[],"mappings":";;AAAA,sEAA+E;AAC/E,kEAA+D;AAC/D,oEAAuE;AAEvE,MAAM,gBAAgB,GAAiB;IACrC,WAAW,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC7B,gBAAgB,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,CAAC;IAC7E,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,WAAW;IACxB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAC1C,gBAAgB,EAAE,IAAI,6CAAwB,CAAC,6BAA6B,CAAC;CAC9E,CAAC;AAEF,MAAM,iBAAiB,GAAiB;IACtC,WAAW,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IAC7B,gBAAgB,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,CAAC;IAC7E,WAAW,EAAE,OAAO;IACpB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,IAAI,qCAAiB,CAClC,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,CACb;IACD,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAC1C,gBAAgB,EAAE,IAAI,6CAAwB,CAAC,6BAA6B,CAAC;CAC9E,CAAC;AAEF,KAAK,UAAU,iBAAiB;IAC9B,MAAM,OAAO,GAAG,IAAI,uCAAiB,CAAC,gBAAgB,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAC7C,UAAU,EACV,cAAc,EACd,YAAY,CACb,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,OAAO,GAAG,IAAI,uCAAiB,CAAC,iBAAiB,CAAC,CAAC;IAEzD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAC7C,UAAU,EACV,cAAc,EACd,iBAAiB,CAClB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;AACvD,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Example demonstrating type-safe event emitter usage
3
- */
4
- export {};
5
- //# sourceMappingURL=typedEventEmitterExample.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typedEventEmitterExample.d.ts","sourceRoot":"","sources":["../../src/examples/typedEventEmitterExample.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- /**
3
- * Example demonstrating type-safe event emitter usage
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const TypedEventEmitter_1 = require("../utils/TypedEventEmitter");
7
- // Create type-safe emitter
8
- const emitter = new TypedEventEmitter_1.TypedEventEmitter();
9
- // Register listeners with full type safety
10
- emitter.on("connect", (userId) => {
11
- console.log(`User ${userId} connected`);
12
- });
13
- emitter.on("disconnect", (userId, reason) => {
14
- console.log(`User ${userId} disconnected: ${reason}`);
15
- });
16
- emitter.on("message", (from, text, timestamp) => {
17
- console.log(`[${timestamp.toISOString()}] ${from}: ${text}`);
18
- });
19
- emitter.on("error", (error) => {
20
- console.error("Error occurred:", error.message);
21
- });
22
- // Emit events with type checking
23
- emitter.emit("connect", "user123");
24
- emitter.emit("message", "user123", "Hello, world!", new Date());
25
- emitter.emit("disconnect", "user123", "User logged out");
26
- // Once listener (fires only once)
27
- emitter.once("connect", (userId) => {
28
- console.log(`First connection from ${userId}`);
29
- });
30
- // Remove listeners
31
- const errorHandler = (error) => {
32
- console.error("Critical error:", error);
33
- };
34
- emitter.on("error", errorHandler);
35
- emitter.off("error", errorHandler);
36
- // Get listener count
37
- console.log(`Listeners for 'message': ${emitter.listenerCount("message")}`);
38
- // Get all event names
39
- console.log("Registered events:", emitter.eventNames());
40
- // Remove all listeners for an event
41
- emitter.removeAllListeners("message");
42
- // Remove all listeners
43
- emitter.removeAllListeners();
44
- //# sourceMappingURL=typedEventEmitterExample.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typedEventEmitterExample.js","sourceRoot":"","sources":["../../src/examples/typedEventEmitterExample.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,kEAA+D;AAU/D,2BAA2B;AAC3B,MAAM,OAAO,GAAG,IAAI,qCAAiB,EAAY,CAAC;AAElD,2CAA2C;AAC3C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;IAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,YAAY,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,kBAAkB,MAAM,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEH,iCAAiC;AACjC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACnC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;AAChE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAEzD,kCAAkC;AAClC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;IACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,mBAAmB;AACnB,MAAM,YAAY,GAAG,CAAC,KAAY,EAAE,EAAE;IACpC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC,CAAC;AACF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAClC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAEnC,qBAAqB;AACrB,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAE5E,sBAAsB;AACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;AAExD,oCAAoC;AACpC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAEtC,uBAAuB;AACvB,OAAO,CAAC,kBAAkB,EAAE,CAAC"}
@@ -1,13 +0,0 @@
1
- import { User } from './types';
2
- export interface UserDatabase {
3
- findByEmail(email: string): Promise<User | null>;
4
- save(user: Omit<User, 'id' | 'createdAt'>): Promise<User>;
5
- }
6
- export declare class InMemoryUserDatabase implements UserDatabase {
7
- private users;
8
- findByEmail(email: string): Promise<User | null>;
9
- save(userData: Omit<User, 'id' | 'createdAt'>): Promise<User>;
10
- getAllUsers(): User[];
11
- clear(): void;
12
- }
13
- //# sourceMappingURL=database.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/registration/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED,qBAAa,oBAAqB,YAAW,YAAY;IACvD,OAAO,CAAC,KAAK,CAAgC;IAEvC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAYhD,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE,WAAW,IAAI,IAAI,EAAE;IAIrB,KAAK,IAAI,IAAI;CAGd"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InMemoryUserDatabase = void 0;
4
- const crypto_1 = require("crypto");
5
- class InMemoryUserDatabase {
6
- constructor() {
7
- this.users = new Map();
8
- }
9
- async findByEmail(email) {
10
- const normalizedEmail = email.toLowerCase();
11
- for (const user of this.users.values()) {
12
- if (user.email.toLowerCase() === normalizedEmail) {
13
- return user;
14
- }
15
- }
16
- return null;
17
- }
18
- async save(userData) {
19
- const user = {
20
- ...userData,
21
- id: (0, crypto_1.randomBytes)(16).toString('hex'),
22
- createdAt: new Date(),
23
- };
24
- this.users.set(user.id, user);
25
- return user;
26
- }
27
- getAllUsers() {
28
- return Array.from(this.users.values());
29
- }
30
- clear() {
31
- this.users.clear();
32
- }
33
- }
34
- exports.InMemoryUserDatabase = InMemoryUserDatabase;
35
- //# sourceMappingURL=database.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/registration/database.ts"],"names":[],"mappings":";;;AACA,mCAAqC;AAOrC,MAAa,oBAAoB;IAAjC;QACU,UAAK,GAAsB,IAAI,GAAG,EAAE,CAAC;IAgC/C,CAAC;IA9BC,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAE5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAwC;QACjD,MAAM,IAAI,GAAS;YACjB,GAAG,QAAQ;YACX,EAAE,EAAE,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAjCD,oDAiCC"}
@@ -1,17 +0,0 @@
1
- import { User } from './types';
2
- export interface EmailService {
3
- sendWelcomeEmail(user: User): Promise<void>;
4
- }
5
- export declare class ConsoleEmailService implements EmailService {
6
- sendWelcomeEmail(user: User): Promise<void>;
7
- }
8
- export declare class MockEmailService implements EmailService {
9
- private sentEmails;
10
- sendWelcomeEmail(user: User): Promise<void>;
11
- getSentEmails(): Array<{
12
- user: User;
13
- timestamp: Date;
14
- }>;
15
- clear(): void;
16
- }
17
- //# sourceMappingURL=email.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/registration/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,qBAAa,mBAAoB,YAAW,YAAY;IAChD,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBlD;AAED,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,UAAU,CAA8C;IAE1D,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,aAAa,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAIvD,KAAK,IAAI,IAAI;CAGd"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockEmailService = exports.ConsoleEmailService = void 0;
4
- class ConsoleEmailService {
5
- async sendWelcomeEmail(user) {
6
- console.log('='.repeat(50));
7
- console.log('WELCOME EMAIL');
8
- console.log('='.repeat(50));
9
- console.log(`To: ${user.email}`);
10
- console.log(`Subject: Welcome to our platform, ${user.name}!`);
11
- console.log('');
12
- console.log(`Dear ${user.name},`);
13
- console.log('');
14
- console.log('Welcome to our platform! We\'re excited to have you on board.');
15
- console.log('');
16
- console.log('Your account has been successfully created.');
17
- console.log(`Account created at: ${user.createdAt.toISOString()}`);
18
- console.log('');
19
- console.log('Best regards,');
20
- console.log('The Team');
21
- console.log('='.repeat(50));
22
- }
23
- }
24
- exports.ConsoleEmailService = ConsoleEmailService;
25
- class MockEmailService {
26
- constructor() {
27
- this.sentEmails = [];
28
- }
29
- async sendWelcomeEmail(user) {
30
- this.sentEmails.push({ user, timestamp: new Date() });
31
- }
32
- getSentEmails() {
33
- return [...this.sentEmails];
34
- }
35
- clear() {
36
- this.sentEmails = [];
37
- }
38
- }
39
- exports.MockEmailService = MockEmailService;
40
- //# sourceMappingURL=email.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/registration/email.ts"],"names":[],"mappings":";;;AAMA,MAAa,mBAAmB;IAC9B,KAAK,CAAC,gBAAgB,CAAC,IAAU;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;CACF;AAnBD,kDAmBC;AAED,MAAa,gBAAgB;IAA7B;QACU,eAAU,GAA2C,EAAE,CAAC;IAalE,CAAC;IAXC,KAAK,CAAC,gBAAgB,CAAC,IAAU;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,aAAa;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;CACF;AAdD,4CAcC"}
@@ -1,13 +0,0 @@
1
- import { User } from './types';
2
- export interface EmailService {
3
- sendWelcomeEmail(user: User): Promise<void>;
4
- }
5
- export declare class ConsoleEmailService implements EmailService {
6
- sendWelcomeEmail(user: User): Promise<void>;
7
- }
8
- export declare class MockEmailService implements EmailService {
9
- private readonly sentEmails;
10
- sendWelcomeEmail(user: User): Promise<void>;
11
- getSentEmails(): readonly User[];
12
- }
13
- //# sourceMappingURL=emailService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emailService.d.ts","sourceRoot":"","sources":["../../src/registration/emailService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,qBAAa,mBAAoB,YAAW,YAAY;IAChD,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAOlD;AAED,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEnC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,aAAa,IAAI,SAAS,IAAI,EAAE;CAGjC"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockEmailService = exports.ConsoleEmailService = void 0;
4
- class ConsoleEmailService {
5
- async sendWelcomeEmail(user) {
6
- console.log('=== Welcome Email ===');
7
- console.log(`To: ${user.email}`);
8
- console.log(`Subject: Welcome ${user.name}!`);
9
- console.log(`Body: Thank you for registering. Your account has been created successfully.`);
10
- console.log('=====================');
11
- }
12
- }
13
- exports.ConsoleEmailService = ConsoleEmailService;
14
- class MockEmailService {
15
- constructor() {
16
- this.sentEmails = [];
17
- }
18
- async sendWelcomeEmail(user) {
19
- this.sentEmails.push(user);
20
- }
21
- getSentEmails() {
22
- return this.sentEmails;
23
- }
24
- }
25
- exports.MockEmailService = MockEmailService;
26
- //# sourceMappingURL=emailService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emailService.js","sourceRoot":"","sources":["../../src/registration/emailService.ts"],"names":[],"mappings":";;;AAMA,MAAa,mBAAmB;IAC9B,KAAK,CAAC,gBAAgB,CAAC,IAAU;QAC/B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;CACF;AARD,kDAQC;AAED,MAAa,gBAAgB;IAA7B;QACmB,eAAU,GAAW,EAAE,CAAC;IAS3C,CAAC;IAPC,KAAK,CAAC,gBAAgB,CAAC,IAAU;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAVD,4CAUC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=example.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../src/registration/example.ts"],"names":[],"mappings":""}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("./index");
4
- const runExample = async () => {
5
- const validator = new index_1.InputValidator();
6
- const passwordHasher = new index_1.PasswordHasher();
7
- const userRepository = new index_1.InMemoryUserRepository();
8
- const emailService = new index_1.ConsoleEmailService();
9
- const registrationService = new index_1.RegistrationService(validator, passwordHasher, userRepository, emailService);
10
- const validUser = {
11
- email: 'user@example.com',
12
- password: 'SecureP@ss123',
13
- name: 'John Doe',
14
- };
15
- console.log('Attempting to register user:', validUser.email);
16
- const result = await registrationService.register(validUser);
17
- if (result.success) {
18
- console.log('✓ Registration successful!');
19
- console.log('User ID:', result.user?.id);
20
- }
21
- else {
22
- console.log('✗ Registration failed:', result.errors);
23
- }
24
- console.log('\nAttempting duplicate registration...');
25
- const duplicateResult = await registrationService.register(validUser);
26
- console.log('Duplicate result:', duplicateResult.errors);
27
- const invalidUser = {
28
- email: 'invalid-email',
29
- password: 'weak',
30
- name: '',
31
- };
32
- console.log('\nAttempting to register invalid user...');
33
- const invalidResult = await registrationService.register(invalidUser);
34
- console.log('Validation errors:', invalidResult.errors);
35
- };
36
- runExample().catch(console.error);
37
- //# sourceMappingURL=example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../../src/registration/example.ts"],"names":[],"mappings":";;AAAA,mCAOiB;AAEjB,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE;IAC3C,MAAM,SAAS,GAAG,IAAI,sBAAc,EAAE,CAAC;IACvC,MAAM,cAAc,GAAG,IAAI,sBAAc,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,8BAAsB,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,2BAAmB,EAAE,CAAC;IAE/C,MAAM,mBAAmB,GAAG,IAAI,2BAAmB,CACjD,SAAS,EACT,cAAc,EACd,cAAc,EACd,YAAY,CACb,CAAC;IAEF,MAAM,SAAS,GAAc;QAC3B,KAAK,EAAE,kBAAkB;QACzB,QAAQ,EAAE,eAAe;QACzB,IAAI,EAAE,UAAU;KACjB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,WAAW,GAAc;QAC7B,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- export { RegistrationService } from './registrationService';
2
- export { InputValidator } from './validator';
3
- export { PasswordHasher } from './passwordHasher';
4
- export { InMemoryUserRepository, UserRepository } from './userRepository';
5
- export { ConsoleEmailService, MockEmailService, EmailService } from './emailService';
6
- export { UserInput, User, ValidationResult, RegistrationResult } from './types';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockEmailService = exports.ConsoleEmailService = exports.InMemoryUserRepository = exports.PasswordHasher = exports.InputValidator = exports.RegistrationService = void 0;
4
- var registrationService_1 = require("./registrationService");
5
- Object.defineProperty(exports, "RegistrationService", { enumerable: true, get: function () { return registrationService_1.RegistrationService; } });
6
- var validator_1 = require("./validator");
7
- Object.defineProperty(exports, "InputValidator", { enumerable: true, get: function () { return validator_1.InputValidator; } });
8
- var passwordHasher_1 = require("./passwordHasher");
9
- Object.defineProperty(exports, "PasswordHasher", { enumerable: true, get: function () { return passwordHasher_1.PasswordHasher; } });
10
- var userRepository_1 = require("./userRepository");
11
- Object.defineProperty(exports, "InMemoryUserRepository", { enumerable: true, get: function () { return userRepository_1.InMemoryUserRepository; } });
12
- var emailService_1 = require("./emailService");
13
- Object.defineProperty(exports, "ConsoleEmailService", { enumerable: true, get: function () { return emailService_1.ConsoleEmailService; } });
14
- Object.defineProperty(exports, "MockEmailService", { enumerable: true, get: function () { return emailService_1.MockEmailService; } });
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registration/index.ts"],"names":[],"mappings":";;;AAAA,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,mDAA0E;AAAjE,wHAAA,sBAAsB,OAAA;AAC/B,+CAAqF;AAA5E,mHAAA,mBAAmB,OAAA;AAAE,gHAAA,gBAAgB,OAAA"}
@@ -1,3 +0,0 @@
1
- export declare const hashPassword: (password: string) => Promise<string>;
2
- export declare const verifyPassword: (password: string, storedHash: string) => Promise<boolean>;
3
- //# sourceMappingURL=password.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/registration/password.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAKnE,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,UAAU,MAAM,EAChB,YAAY,MAAM,KACjB,OAAO,CAAC,OAAO,CAWjB,CAAC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verifyPassword = exports.hashPassword = void 0;
4
- const crypto_1 = require("crypto");
5
- const util_1 = require("util");
6
- const pbkdf2Async = (0, util_1.promisify)(crypto_1.pbkdf2);
7
- const SALT_LENGTH = 32;
8
- const ITERATIONS = 100000;
9
- const KEY_LENGTH = 64;
10
- const DIGEST = 'sha512';
11
- const hashPassword = async (password) => {
12
- const salt = (0, crypto_1.randomBytes)(SALT_LENGTH);
13
- const hash = await pbkdf2Async(password, salt, ITERATIONS, KEY_LENGTH, DIGEST);
14
- return `${salt.toString('hex')}:${hash.toString('hex')}`;
15
- };
16
- exports.hashPassword = hashPassword;
17
- const verifyPassword = async (password, storedHash) => {
18
- const [saltHex, hashHex] = storedHash.split(':');
19
- if (!saltHex || !hashHex) {
20
- return false;
21
- }
22
- const salt = Buffer.from(saltHex, 'hex');
23
- const hash = await pbkdf2Async(password, salt, ITERATIONS, KEY_LENGTH, DIGEST);
24
- return hash.toString('hex') === hashHex;
25
- };
26
- exports.verifyPassword = verifyPassword;
27
- //# sourceMappingURL=password.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/registration/password.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAC7C,+BAAiC;AAEjC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,eAAM,CAAC,CAAC;AAEtC,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,MAAM,GAAG,QAAQ,CAAC;AAEjB,MAAM,YAAY,GAAG,KAAK,EAAE,QAAgB,EAAmB,EAAE;IACtE,MAAM,IAAI,GAAG,IAAA,oBAAW,EAAC,WAAW,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAE/E,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AAC3D,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB;AAEK,MAAM,cAAc,GAAG,KAAK,EACjC,QAAgB,EAChB,UAAkB,EACA,EAAE;IACpB,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAE/E,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC;AAC1C,CAAC,CAAC;AAdW,QAAA,cAAc,kBAczB"}
@@ -1,8 +0,0 @@
1
- export declare class PasswordHasher {
2
- private readonly iterations;
3
- private readonly keyLength;
4
- private readonly digest;
5
- hash(password: string): Promise<string>;
6
- verify(password: string, storedHash: string): Promise<boolean>;
7
- }
8
- //# sourceMappingURL=passwordHasher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"passwordHasher.d.ts","sourceRoot":"","sources":["../../src/registration/passwordHasher.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAM;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAE7B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBvC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAerE"}