@routier/core 0.1.0-rc.2 → 0.2.1

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 (91) hide show
  1. package/dist/assertions/index.d.ts +30 -0
  2. package/dist/assertions/index.js +92 -19
  3. package/dist/assertions/index.js.map +1 -1
  4. package/dist/capabilities/index.js +75 -105
  5. package/dist/capabilities/index.js.map +1 -1
  6. package/dist/codegen/blocks.test.d.ts +1 -0
  7. package/dist/codegen/handlers/SetHandlerBuilder.d.ts +4 -0
  8. package/dist/codegen/handlers/index.d.ts +1 -0
  9. package/dist/codegen/handlers/serialize/SerializeComputedHandler.d.ts +6 -0
  10. package/dist/codegen/handlers/set/SetComplexHandler.d.ts +6 -0
  11. package/dist/codegen/index.js +22 -36
  12. package/dist/codegen/index.js.map +1 -1
  13. package/dist/codegen/utils.test.d.ts +1 -0
  14. package/dist/collections/Changes.d.ts +2 -2
  15. package/dist/collections/IdSet.test.d.ts +1 -0
  16. package/dist/collections/TagCollection.contract.test.d.ts +1 -0
  17. package/dist/collections/TagCollection.d.ts +7 -7
  18. package/dist/collections/index.js +50 -93
  19. package/dist/collections/index.js.map +1 -1
  20. package/dist/errors/index.js +4 -15
  21. package/dist/errors/index.js.map +1 -1
  22. package/dist/expressions/constants.d.ts +2 -0
  23. package/dist/expressions/index.d.ts +2 -0
  24. package/dist/expressions/index.js +450 -114
  25. package/dist/expressions/index.js.map +1 -1
  26. package/dist/expressions/sql.d.ts +28 -0
  27. package/dist/expressions/sql.test.d.ts +1 -0
  28. package/dist/expressions/utils.d.ts +1 -2
  29. package/dist/index.js +3058 -2618
  30. package/dist/index.js.map +1 -1
  31. package/dist/performance/index.js +22 -22
  32. package/dist/performance/index.js.map +1 -1
  33. package/dist/pipeline/index.js +48 -60
  34. package/dist/pipeline/index.js.map +1 -1
  35. package/dist/plugins/index.d.ts +0 -1
  36. package/dist/plugins/index.js +268 -937
  37. package/dist/plugins/index.js.map +1 -1
  38. package/dist/plugins/query/Query.test.d.ts +1 -0
  39. package/dist/plugins/query/QueryOptionsCollection.d.ts +1 -0
  40. package/dist/plugins/translators/SqlTranslator.test.d.ts +1 -0
  41. package/dist/plugins/translators/TranslatedArrayValue.d.ts +3 -1
  42. package/dist/plugins/translators/TranslatedGroupValue.d.ts +3 -1
  43. package/dist/plugins/translators/TranslatedSingleValue.d.ts +3 -1
  44. package/dist/plugins/translators/TranslatedValues.test.d.ts +1 -0
  45. package/dist/plugins/translators/types.d.ts +8 -1
  46. package/dist/plugins/types.d.ts +6 -10
  47. package/dist/results/Result.d.ts +2 -2
  48. package/dist/results/Result.test.d.ts +1 -0
  49. package/dist/results/index.js +11 -26
  50. package/dist/results/index.js.map +1 -1
  51. package/dist/results/utils.test.d.ts +1 -0
  52. package/dist/schema/PropertyInfo.d.ts +5 -1
  53. package/dist/schema/SchemaDefinition.d.ts +35 -6
  54. package/dist/schema/communication/broadcast.test.d.ts +1 -0
  55. package/dist/schema/index.d.ts +2 -0
  56. package/dist/schema/index.js +2115 -1513
  57. package/dist/schema/index.js.map +1 -1
  58. package/dist/schema/property/base/SchemaBase.d.ts +3 -1
  59. package/dist/schema/property/modifiers/SchemaDeserialize.d.ts +5 -1
  60. package/dist/schema/property/modifiers/SchemaForeignKey.d.ts +15 -0
  61. package/dist/schema/property/modifiers/SchemaKey.d.ts +2 -0
  62. package/dist/schema/property/modifiers/SchemaNullable.d.ts +5 -1
  63. package/dist/schema/property/modifiers/SchemaOptional.d.ts +3 -1
  64. package/dist/schema/property/modifiers/SchemaTag.d.ts +27 -0
  65. package/dist/schema/property/modifiers/SchemaTracked.d.ts +5 -1
  66. package/dist/schema/property/modifiers/index.d.ts +2 -0
  67. package/dist/schema/property/types/SchemaArray.d.ts +2 -0
  68. package/dist/schema/property/types/SchemaBoolean.d.ts +2 -0
  69. package/dist/schema/property/types/SchemaDate.d.ts +2 -0
  70. package/dist/schema/property/types/SchemaNumber.d.ts +5 -1
  71. package/dist/schema/property/types/SchemaObject.d.ts +2 -0
  72. package/dist/schema/property/types/SchemaString.d.ts +5 -1
  73. package/dist/schema/types.d.ts +41 -29
  74. package/dist/schema/utils/standardJsonSchema.d.ts +90 -0
  75. package/dist/schema/utils/standardJsonSchema.test.d.ts +1 -0
  76. package/dist/types/index.js +0 -6
  77. package/dist/types/index.js.map +1 -1
  78. package/dist/utilities/functions.d.ts +1 -1
  79. package/dist/utilities/index.js +213 -138
  80. package/dist/utilities/index.js.map +1 -1
  81. package/dist/utilities/runtime.test.d.ts +1 -0
  82. package/dist/utilities/types.d.ts +17 -2
  83. package/dist/utilities/uuid.test.d.ts +1 -0
  84. package/package.json +2 -2
  85. package/readme.md +1 -1
  86. package/dist/plugins/replication/OptimisticReplicationDbPlugin.d.ts +0 -22
  87. package/dist/plugins/replication/ReplicationDbPlugin.d.ts +0 -22
  88. package/dist/plugins/replication/index.d.ts +0 -3
  89. package/dist/plugins/replication/types.d.ts +0 -4
  90. package/dist/schema/testSchemas.test.d.ts +0 -314
  91. /package/dist/{pipeline/WorkPipeline.test.d.ts → codegen/SlotPath.test.d.ts} +0 -0
@@ -1,23 +1,30 @@
1
1
  var __webpack_modules__ = ({
2
- "./src/utilities/logger.ts":
3
- /*!*********************************!*\
4
- !*** ./src/utilities/logger.ts ***!
5
- \*********************************/
6
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2
+ "./src/utilities/logger.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
7
3
  __webpack_require__.r(__webpack_exports__);
8
4
  __webpack_require__.d(__webpack_exports__, {
9
5
  logger: () => (logger)
10
6
  });
11
- const isDevelopment = () => {
12
- if (typeof process === 'undefined' || process.env == null) {
13
- return false;
7
+ /**
8
+ * Enable logging by setting `globalThis.__ROUTIER_DEBUG__ = true` before any routier code runs.
9
+ */
10
+ const shouldLog = () => {
11
+ if (typeof globalThis !== 'undefined') {
12
+ const g = globalThis;
13
+ if (g.__ROUTIER_DEBUG__ === true)
14
+ return true;
14
15
  }
15
- const env = "development"?.toLowerCase();
16
- return env === 'dev' || env === 'development' || env === 'test';
16
+ if (typeof process !== 'undefined' && process.env != null) {
17
+ const debug = process.env.DEBUG;
18
+ if (debug === 'routier' || debug === '*')
19
+ return true;
20
+ const env = "development"?.toLowerCase();
21
+ if (env === 'dev' || env === 'development' || env === 'test')
22
+ return true;
23
+ }
24
+ return false;
17
25
  };
18
- const shouldLog = isDevelopment();
19
26
  const tryLog = (type, ...args) => {
20
- if (shouldLog) {
27
+ if (shouldLog()) {
21
28
  console[type](...args);
22
29
  }
23
30
  };
@@ -43,10 +50,9 @@ const logger = {
43
50
  };
44
51
 
45
52
 
46
- }),
53
+ },
47
54
 
48
55
  });
49
- /************************************************************************/
50
56
  // The module cache
51
57
  var __webpack_module_cache__ = {};
52
58
 
@@ -70,7 +76,6 @@ return module.exports;
70
76
 
71
77
  }
72
78
 
73
- /************************************************************************/
74
79
  // webpack/runtime/define_property_getters
75
80
  (() => {
76
81
  __webpack_require__.d = (exports, definition) => {
@@ -95,20 +100,15 @@ __webpack_require__.r = (exports) => {
95
100
  Object.defineProperty(exports, '__esModule', { value: true });
96
101
  };
97
102
  })();
98
- /************************************************************************/
99
103
  var __webpack_exports__ = {};
100
104
  // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
101
105
  (() => {
102
-
103
- /*!**********************************!*\
104
- !*** ./src/performance/index.ts ***!
105
- \**********************************/
106
106
  __webpack_require__.r(__webpack_exports__);
107
107
  __webpack_require__.d(__webpack_exports__, {
108
108
  measure: () => (measure),
109
109
  now: () => (now)
110
110
  });
111
- /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utilities */ "./src/utilities/logger.ts");
111
+ /* import */ var _utilities__rspack_import_0 = __webpack_require__("./src/utilities/logger.ts");
112
112
 
113
113
  const measurements = {};
114
114
  const now = () => {
@@ -127,7 +127,7 @@ const measure = {
127
127
  const start = measurements[name];
128
128
  delete measurements[name];
129
129
  const delta = now() - start;
130
- _utilities__WEBPACK_IMPORTED_MODULE_0__.logger.log(`[ROUTIER] - Performance: ${name} took ${delta}`);
130
+ _utilities__rspack_import_0.logger.log(`[ROUTIER] - Performance: ${name} took ${delta}`);
131
131
  }
132
132
  };
133
133
 
@@ -1 +1 @@
1
- {"version":3,"file":"performance/index.js","sources":["webpack://@routier/core/./src/utilities/logger.ts","webpack://@routier/core/webpack/runtime/define_property_getters","webpack://@routier/core/webpack/runtime/has_own_property","webpack://@routier/core/webpack/runtime/make_namespace_object","webpack://@routier/core/./src/performance/index.ts"],"sourcesContent":["const isDevelopment = (): boolean => {\n if (typeof process === 'undefined' || process.env == null) {\n return false;\n }\n const env = process.env.NODE_ENV?.toLowerCase();\n return env === 'dev' || env === 'development' || env === 'test';\n};\n\ntype LogMethods = \"log\" | \"info\" | \"warn\" | \"error\" | \"debug\" | \"table\";\nconst shouldLog = isDevelopment();\nconst tryLog = (type: LogMethods, ...args: unknown[]) => {\n if (shouldLog) {\n console[type](...args);\n }\n};\n\nexport const logger = {\n log: (...args: unknown[]): void => {\n tryLog(\"log\", ...args);\n },\n info: (...args: unknown[]): void => {\n tryLog(\"info\", ...args);\n },\n warn: (...args: unknown[]): void => {\n tryLog(\"warn\", ...args);\n },\n error: (...args: unknown[]): void => {\n tryLog(\"error\", ...args);\n },\n debug: (...args: unknown[]): void => {\n tryLog(\"debug\", ...args);\n },\n table: (...args: unknown[]): void => {\n tryLog(\"table\", ...args);\n },\n};\n\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { logger } from \"../utilities\";\n\nconst measurements: Record<string, number> = {}\n\nexport const now = (): number => {\n if (typeof performance !== 'undefined' && performance.now) {\n // Browser or modern Node.js\n return performance.now();\n }\n\n // Fallback for older environments\n return Date.now();\n}\n\nexport const measure = {\n start: (name: string): void => {\n measurements[name] = now();\n },\n end: (name: string): void => {\n const start = measurements[name];\n\n delete measurements[name];\n\n const delta = now() - start;\n\n logger.log(`[ROUTIER] - Performance: ${name} took ${delta}`);\n }\n}"],"names":[],"mappings":";;;;;;;;;;AAAA,MAAM,aAAa,GAAG,GAAY,EAAE;IAChC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,GAAG,GAAG,aAAoB,EAAE,WAAW,EAAE,CAAC;IAChD,OAAO,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,MAAM,CAAC;AACpE,CAAC,CAAC;AAGF,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;AAClC,MAAM,MAAM,GAAG,CAAC,IAAgB,EAAE,GAAG,IAAe,EAAE,EAAE;IACpD,IAAI,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,MAAM,GAAG;IAClB,GAAG,EAAE,CAAC,GAAG,IAAe,EAAQ,EAAE;QAC9B,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAQ,EAAE;QAC/B,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAQ,EAAE;QAC/B,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAQ,EAAE;QAChC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAQ,EAAE;QAChC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAQ,EAAE;QAChC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;CACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCF;AACA;AACA;AACA,kDAAkD,wCAAwC;AAC1F;AACA;AACA;;;;ACNA;;;;ACAA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA,gDAAgD,aAAa;AAC7D;;;;;;;;;;;;;;;;ACNsC;AAEtC,MAAM,YAAY,GAA2B,EAAE;AAExC,MAAM,GAAG,GAAG,GAAW,EAAE;IAC5B,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC;QACxD,4BAA4B;QAC5B,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,kCAAkC;IAClC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;AACtB,CAAC;AAEM,MAAM,OAAO,GAAG;IACnB,KAAK,EAAE,CAAC,IAAY,EAAQ,EAAE;QAC1B,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAC/B,CAAC;IACD,GAAG,EAAE,CAAC,IAAY,EAAQ,EAAE;QACxB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAEjC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAE1B,MAAM,KAAK,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC;QAE5B,kDAAU,CAAC,4BAA4B,IAAI,SAAS,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;CACJ"}
1
+ {"version":3,"file":"performance/index.js","sources":["webpack://@routier/core/./src/utilities/logger.ts","webpack://@routier/core/webpack/runtime/define_property_getters","webpack://@routier/core/webpack/runtime/has_own_property","webpack://@routier/core/webpack/runtime/make_namespace_object","webpack://@routier/core/./src/performance/index.ts"],"sourcesContent":["/**\n * Enable logging by setting `globalThis.__ROUTIER_DEBUG__ = true` before any routier code runs.\n */\nconst shouldLog = (): boolean => {\n if (typeof globalThis !== 'undefined') {\n const g = globalThis as { __ROUTIER_DEBUG__?: boolean };\n if (g.__ROUTIER_DEBUG__ === true) return true;\n }\n\n if (typeof process !== 'undefined' && process.env != null) {\n const debug = process.env.DEBUG;\n if (debug === 'routier' || debug === '*') return true;\n const env = process.env.NODE_ENV?.toLowerCase();\n if (env === 'dev' || env === 'development' || env === 'test') return true;\n }\n\n return false;\n};\n\ntype LogMethods = \"log\" | \"info\" | \"warn\" | \"error\" | \"debug\" | \"table\";\nconst tryLog = (type: LogMethods, ...args: unknown[]) => {\n if (shouldLog()) {\n (console[type] as (...args: unknown[]) => void)(...args);\n }\n};\n\nexport const logger = {\n log: (...args: unknown[]): void => {\n tryLog(\"log\", ...args);\n },\n info: (...args: unknown[]): void => {\n tryLog(\"info\", ...args);\n },\n warn: (...args: unknown[]): void => {\n tryLog(\"warn\", ...args);\n },\n error: (...args: unknown[]): void => {\n tryLog(\"error\", ...args);\n },\n debug: (...args: unknown[]): void => {\n tryLog(\"debug\", ...args);\n },\n table: (...args: unknown[]): void => {\n tryLog(\"table\", ...args);\n },\n};\n\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { logger } from \"../utilities\";\n\nconst measurements: Record<string, number> = {}\n\nexport const now = (): number => {\n if (typeof performance !== 'undefined' && performance.now) {\n // Browser or modern Node.js\n return performance.now();\n }\n\n // Fallback for older environments\n return Date.now();\n}\n\nexport const measure = {\n start: (name: string): void => {\n measurements[name] = now();\n },\n end: (name: string): void => {\n const start = measurements[name];\n\n delete measurements[name];\n\n const delta = now() - start;\n\n logger.log(`[ROUTIER] - Performance: ${name} took ${delta}`);\n }\n}"],"names":[],"mappings":"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"}
@@ -1,9 +1,5 @@
1
1
  var __webpack_modules__ = ({
2
- "./src/pipeline/SyncronousQueue.ts":
3
- /*!*****************************************!*\
4
- !*** ./src/pipeline/SyncronousQueue.ts ***!
5
- \*****************************************/
6
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2
+ "./src/pipeline/SyncronousQueue.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
7
3
  __webpack_require__.r(__webpack_exports__);
8
4
  __webpack_require__.d(__webpack_exports__, {
9
5
  SyncronousQueue: () => (SyncronousQueue)
@@ -32,19 +28,15 @@ class SyncronousQueue {
32
28
  }
33
29
 
34
30
 
35
- }),
36
- "./src/pipeline/TrampolinePipeline.ts":
37
- /*!********************************************!*\
38
- !*** ./src/pipeline/TrampolinePipeline.ts ***!
39
- \********************************************/
40
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
31
+ },
32
+ "./src/pipeline/TrampolinePipeline.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
41
33
  __webpack_require__.r(__webpack_exports__);
42
34
  __webpack_require__.d(__webpack_exports__, {
43
35
  TrampolinePipeline: () => (TrampolinePipeline),
44
36
  WorkPipeline: () => (WorkPipeline)
45
37
  });
46
- /* ESM import */var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utilities */ "./src/utilities/logger.ts");
47
- /* ESM import */var _results__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../results */ "./src/results/Result.ts");
38
+ /* import */ var _utilities__rspack_import_0 = __webpack_require__("./src/utilities/logger.ts");
39
+ /* import */ var _results__rspack_import_1 = __webpack_require__("./src/results/Result.ts");
48
40
 
49
41
 
50
42
  class TrampolinePipeline {
@@ -53,7 +45,7 @@ class TrampolinePipeline {
53
45
  filter(initialData, done) {
54
46
  this._hasErrored = false; // Reset error flag on new execution
55
47
  if (this._list.length === 0) {
56
- queueMicrotask(() => done(initialData));
48
+ done(initialData);
57
49
  return;
58
50
  }
59
51
  let index = 0;
@@ -64,7 +56,7 @@ class TrampolinePipeline {
64
56
  const finalStepSentinel = () => {
65
57
  // Only call done if no error has occurred
66
58
  if (!this._hasErrored) {
67
- queueMicrotask(() => done(currentData));
59
+ done(currentData);
68
60
  }
69
61
  return null; // Stop the trampoline
70
62
  };
@@ -83,7 +75,7 @@ class TrampolinePipeline {
83
75
  processor(currentData, (result, error) => {
84
76
  // --- Error Handling ---
85
77
  if (error) {
86
- _utilities__WEBPACK_IMPORTED_MODULE_0__.logger.error(`Error reported by processor at index ${idx}:`, error);
78
+ _utilities__rspack_import_0.logger.error(`Error reported by processor at index ${idx}:`, error);
87
79
  this._hasErrored = true; // Set flag
88
80
  // Throw the error to be caught by outer try...catch blocks
89
81
  throw error;
@@ -106,7 +98,7 @@ class TrampolinePipeline {
106
98
  }
107
99
  catch (error) {
108
100
  if (!this._hasErrored) { // Check flag to avoid double logging if error was from callback
109
- _utilities__WEBPACK_IMPORTED_MODULE_0__.logger.error(`Error thrown by processor at index ${idx} or its callback:`, error);
101
+ _utilities__rspack_import_0.logger.error(`Error thrown by processor at index ${idx} or its callback:`, error);
110
102
  this._hasErrored = true;
111
103
  }
112
104
  // Rethrow to be caught by the trampoline's catch block
@@ -129,7 +121,7 @@ class TrampolinePipeline {
129
121
  }
130
122
  isRunning = true;
131
123
  let currentStep = step;
132
- while (typeof currentStep === 'function') {
124
+ while (currentStep !== null) {
133
125
  try {
134
126
  // Stop immediately if an error was flagged elsewhere
135
127
  if (this._hasErrored) {
@@ -141,7 +133,7 @@ class TrampolinePipeline {
141
133
  catch (trampolineError) {
142
134
  // Catch errors propagated from step execution (processor or callback errors)
143
135
  if (!this._hasErrored) { // Avoid double logging
144
- _utilities__WEBPACK_IMPORTED_MODULE_0__.logger.error("Error during trampoline step execution:", trampolineError);
136
+ _utilities__rspack_import_0.logger.error("Error during trampoline step execution:", trampolineError);
145
137
  this._hasErrored = true;
146
138
  }
147
139
  currentStep = null; // Stop the loop
@@ -170,7 +162,7 @@ class TrampolinePipeline {
170
162
  pipeEach(items, fn, map) {
171
163
  for (let i = 0, length = items.length; i < length; i++) {
172
164
  this.pipe((previous, done) => {
173
- fn(map(previous, _results__WEBPACK_IMPORTED_MODULE_1__.Result.success(items[i])), done);
165
+ fn(map(previous, _results__rspack_import_1.Result.success(items[i])), done);
174
166
  });
175
167
  }
176
168
  }
@@ -188,7 +180,7 @@ class WorkPipeline {
188
180
  filter(done) {
189
181
  this._hasErrored = false; // Reset error flag on new execution
190
182
  if (this.unitsOfWork.length === 0) {
191
- queueMicrotask(() => done(_results__WEBPACK_IMPORTED_MODULE_1__.Result.success()));
183
+ done(_results__rspack_import_1.Result.success());
192
184
  return;
193
185
  }
194
186
  let index = 0;
@@ -198,7 +190,7 @@ class WorkPipeline {
198
190
  const finalStepSentinel = () => {
199
191
  // Only call done if no error has occurred
200
192
  if (!this._hasErrored) {
201
- queueMicrotask(() => done(_results__WEBPACK_IMPORTED_MODULE_1__.Result.success()));
193
+ done(_results__rspack_import_1.Result.success());
202
194
  }
203
195
  return null; // Stop the trampoline
204
196
  };
@@ -216,8 +208,8 @@ class WorkPipeline {
216
208
  try {
217
209
  processor((result) => {
218
210
  // --- Error Handling ---
219
- if (result.ok === _results__WEBPACK_IMPORTED_MODULE_1__.Result.ERROR) {
220
- _utilities__WEBPACK_IMPORTED_MODULE_0__.logger.error(`Error reported by AsyncPipeline at index ${idx}:`, result.error);
211
+ if (result.ok === _results__rspack_import_1.Result.ERROR) {
212
+ _utilities__rspack_import_0.logger.error(`Error reported by AsyncPipeline at index ${idx}:`, result.error);
221
213
  this._hasErrored = true; // Set flag
222
214
  // Throw the error to be caught by outer try...catch blocks
223
215
  throw result.error;
@@ -239,7 +231,7 @@ class WorkPipeline {
239
231
  }
240
232
  catch (error) {
241
233
  if (!this._hasErrored) { // Check flag to avoid double logging if error was from callback
242
- _utilities__WEBPACK_IMPORTED_MODULE_0__.logger.error(`Error thrown by processor at index ${idx} or its callback:`, error);
234
+ _utilities__rspack_import_0.logger.error(`Error thrown by processor at index ${idx} or its callback:`, error);
243
235
  this._hasErrored = true;
244
236
  }
245
237
  // Rethrow to be caught by the trampoline's catch block
@@ -262,7 +254,7 @@ class WorkPipeline {
262
254
  }
263
255
  isRunning = true;
264
256
  let currentStep = step;
265
- while (typeof currentStep === 'function') {
257
+ while (currentStep !== null) {
266
258
  try {
267
259
  // Stop immediately if an error was flagged elsewhere
268
260
  if (this._hasErrored) {
@@ -274,7 +266,7 @@ class WorkPipeline {
274
266
  catch (trampolineError) {
275
267
  // Catch errors propagated from step execution (processor or callback errors)
276
268
  if (!this._hasErrored) { // Avoid double logging
277
- _utilities__WEBPACK_IMPORTED_MODULE_0__.logger.error("Error during trampoline step execution:", trampolineError);
269
+ _utilities__rspack_import_0.logger.error("Error during trampoline step execution:", trampolineError);
278
270
  this._hasErrored = true;
279
271
  }
280
272
  currentStep = null; // Stop the loop
@@ -292,7 +284,7 @@ class WorkPipeline {
292
284
  trampoline(createStepRevised(0)); // Start with the revised step creator
293
285
  }
294
286
  catch (error) {
295
- done(_results__WEBPACK_IMPORTED_MODULE_1__.Result.error(error));
287
+ done(_results__rspack_import_1.Result.error(error));
296
288
  }
297
289
  }
298
290
  pipe(work) {
@@ -301,12 +293,8 @@ class WorkPipeline {
301
293
  }
302
294
 
303
295
 
304
- }),
305
- "./src/results/Result.ts":
306
- /*!*******************************!*\
307
- !*** ./src/results/Result.ts ***!
308
- \*******************************/
309
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
296
+ },
297
+ "./src/results/Result.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
310
298
  __webpack_require__.r(__webpack_exports__);
311
299
  __webpack_require__.d(__webpack_exports__, {
312
300
  PluginEventResult: () => (PluginEventResult),
@@ -388,26 +376,33 @@ class PluginEventResult extends BaseResult {
388
376
  }
389
377
 
390
378
 
391
- }),
392
- "./src/utilities/logger.ts":
393
- /*!*********************************!*\
394
- !*** ./src/utilities/logger.ts ***!
395
- \*********************************/
396
- (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
379
+ },
380
+ "./src/utilities/logger.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
397
381
  __webpack_require__.r(__webpack_exports__);
398
382
  __webpack_require__.d(__webpack_exports__, {
399
383
  logger: () => (logger)
400
384
  });
401
- const isDevelopment = () => {
402
- if (typeof process === 'undefined' || process.env == null) {
403
- return false;
385
+ /**
386
+ * Enable logging by setting `globalThis.__ROUTIER_DEBUG__ = true` before any routier code runs.
387
+ */
388
+ const shouldLog = () => {
389
+ if (typeof globalThis !== 'undefined') {
390
+ const g = globalThis;
391
+ if (g.__ROUTIER_DEBUG__ === true)
392
+ return true;
404
393
  }
405
- const env = "development"?.toLowerCase();
406
- return env === 'dev' || env === 'development' || env === 'test';
394
+ if (typeof process !== 'undefined' && process.env != null) {
395
+ const debug = process.env.DEBUG;
396
+ if (debug === 'routier' || debug === '*')
397
+ return true;
398
+ const env = "development"?.toLowerCase();
399
+ if (env === 'dev' || env === 'development' || env === 'test')
400
+ return true;
401
+ }
402
+ return false;
407
403
  };
408
- const shouldLog = isDevelopment();
409
404
  const tryLog = (type, ...args) => {
410
- if (shouldLog) {
405
+ if (shouldLog()) {
411
406
  console[type](...args);
412
407
  }
413
408
  };
@@ -433,10 +428,9 @@ const logger = {
433
428
  };
434
429
 
435
430
 
436
- }),
431
+ },
437
432
 
438
433
  });
439
- /************************************************************************/
440
434
  // The module cache
441
435
  var __webpack_module_cache__ = {};
442
436
 
@@ -460,7 +454,6 @@ return module.exports;
460
454
 
461
455
  }
462
456
 
463
- /************************************************************************/
464
457
  // webpack/runtime/define_property_getters
465
458
  (() => {
466
459
  __webpack_require__.d = (exports, definition) => {
@@ -485,22 +478,17 @@ __webpack_require__.r = (exports) => {
485
478
  Object.defineProperty(exports, '__esModule', { value: true });
486
479
  };
487
480
  })();
488
- /************************************************************************/
489
481
  var __webpack_exports__ = {};
490
482
  // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
491
483
  (() => {
492
-
493
- /*!*******************************!*\
494
- !*** ./src/pipeline/index.ts ***!
495
- \*******************************/
496
484
  __webpack_require__.r(__webpack_exports__);
497
485
  __webpack_require__.d(__webpack_exports__, {
498
- SyncronousQueue: () => (/* reexport safe */ _SyncronousQueue__WEBPACK_IMPORTED_MODULE_0__.SyncronousQueue),
499
- TrampolinePipeline: () => (/* reexport safe */ _TrampolinePipeline__WEBPACK_IMPORTED_MODULE_1__.TrampolinePipeline),
500
- WorkPipeline: () => (/* reexport safe */ _TrampolinePipeline__WEBPACK_IMPORTED_MODULE_1__.WorkPipeline)
486
+ SyncronousQueue: () => (/* reexport safe */ _SyncronousQueue__rspack_import_0.SyncronousQueue),
487
+ TrampolinePipeline: () => (/* reexport safe */ _TrampolinePipeline__rspack_import_1.TrampolinePipeline),
488
+ WorkPipeline: () => (/* reexport safe */ _TrampolinePipeline__rspack_import_1.WorkPipeline)
501
489
  });
502
- /* ESM import */var _SyncronousQueue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SyncronousQueue */ "./src/pipeline/SyncronousQueue.ts");
503
- /* ESM import */var _TrampolinePipeline__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TrampolinePipeline */ "./src/pipeline/TrampolinePipeline.ts");
490
+ /* import */ var _SyncronousQueue__rspack_import_0 = __webpack_require__("./src/pipeline/SyncronousQueue.ts");
491
+ /* import */ var _TrampolinePipeline__rspack_import_1 = __webpack_require__("./src/pipeline/TrampolinePipeline.ts");
504
492
 
505
493
 
506
494
 
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/index.js","sources":["webpack://@routier/core/./src/pipeline/SyncronousQueue.ts","webpack://@routier/core/./src/pipeline/TrampolinePipeline.ts","webpack://@routier/core/./src/results/Result.ts","webpack://@routier/core/./src/utilities/logger.ts","webpack://@routier/core/webpack/runtime/define_property_getters","webpack://@routier/core/webpack/runtime/has_own_property","webpack://@routier/core/webpack/runtime/make_namespace_object","webpack://@routier/core/./src/pipeline/index.ts"],"sourcesContent":["export type SyncronousUnitOfWork = (done: () => void) => void\n\nexport class SyncronousQueue {\n\n private readonly _queue: SyncronousUnitOfWork[] = [];\n private _current: SyncronousUnitOfWork | null = null;\n\n enqueue(unitOfWork: SyncronousUnitOfWork) {\n this._queue.push(unitOfWork);\n this._next();\n }\n\n private _next() {\n if (this._current != null || this._queue.length === 0) {\n return;\n }\n\n // Take first item\n this._current = this._queue.shift() ?? null;\n\n if (this._current == null) {\n return;\n }\n\n this._current(() => {\n this._current = null;\n this._next();\n })\n }\n}","import { logger } from \"../utilities\";\nimport { CallbackResult, Result, ResultType } from \"../results\";\n\n/**\n * Type definition for an asynchronous function that takes data and a callback.\n * TIn: The input data type.\n * TOut: The output data type (passed to the callback).\n */\nexport type Processor<TIn, TOut> = (data: TIn, callback: (result: TOut, error?: any) => void) => void;\n\n// Return type for a step execution: Either the next step function or null if waiting/done.\ntype StepResult<TData> = TrampolineStep<TData> | null;\ntype TrampolineStep<TData> = () => StepResult<TData>;\n\nexport class TrampolinePipeline<TInitial, TCurrent = TInitial> {\n private _list: Processor<any, any>[] = [];\n private _hasErrored: boolean = false; // Flag to prevent calling done on error\n\n filter<TFinal>(initialData: TInitial, done: (data: TFinal, error?: any) => void) {\n\n this._hasErrored = false; // Reset error flag on new execution\n\n if (this._list.length === 0) {\n queueMicrotask(() => done(initialData as unknown as TFinal));\n return;\n }\n\n let index = 0;\n let currentData: any = initialData;\n let isRunning = false; // Guard against overlapping trampoline calls\n\n try {\n // --- Revised Completion Logic --- (Moved up for clarity)\n const finalStepSentinel = (): StepResult<any> => { // A special step function for the very end\n // Only call done if no error has occurred\n if (!this._hasErrored) {\n queueMicrotask(() => done(currentData as TFinal));\n }\n return null; // Stop the trampoline\n };\n\n const createStepRevised = (idx: number): TrampolineStep<any> => {\n return () => {\n if (this._hasErrored) return null; // Stop if an error occurred elsewhere\n\n if (idx >= this._list.length) {\n return finalStepSentinel(); // Execute the dedicated final step\n }\n\n const processor = this._list[idx];\n // Initialize syncCallbackResult to null to satisfy StepResult type\n let syncCallbackResult: StepResult<any> = null;\n let calledSync = false;\n\n try {\n processor(currentData, (result, error) => {\n // --- Error Handling ---\n if (error) {\n logger.error(`Error reported by processor at index ${idx}:`, error);\n this._hasErrored = true; // Set flag\n // Throw the error to be caught by outer try...catch blocks\n throw error;\n }\n // --- /Error Handling ---\n\n // If no error, proceed as before\n currentData = result;\n index = idx + 1; // Update index for the next step\n const nextStep = createStepRevised(index); // Use updated index\n\n if (isRunning) {\n // Callback was synchronous\n syncCallbackResult = nextStep; // Store next step function\n calledSync = true;\n } else {\n // Callback was asynchronous, restart trampoline\n trampoline(nextStep);\n }\n });\n } catch (error) {\n if (!this._hasErrored) { // Check flag to avoid double logging if error was from callback\n logger.error(`Error thrown by processor at index ${idx} or its callback:`, error);\n this._hasErrored = true;\n }\n // Rethrow to be caught by the trampoline's catch block\n throw error;\n }\n\n if (calledSync) {\n // Return the next step function for the sync loop\n return syncCallbackResult;\n } else {\n // Pause trampoline for async, loop will stop as step returns null\n return null;\n }\n };\n };\n\n // The trampoline loop\n const trampoline = (step: TrampolineStep<any> | null) => {\n\n if (isRunning) {\n return;\n }\n\n isRunning = true;\n let currentStep = step;\n\n while (typeof currentStep === 'function') {\n try {\n // Stop immediately if an error was flagged elsewhere\n if (this._hasErrored) {\n currentStep = null;\n break;\n }\n currentStep = currentStep(); // Execute step, get next step or null\n } catch (trampolineError) {\n // Catch errors propagated from step execution (processor or callback errors)\n if (!this._hasErrored) { // Avoid double logging\n logger.error(\"Error during trampoline step execution:\", trampolineError);\n this._hasErrored = true;\n }\n currentStep = null; // Stop the loop\n // We don't call `done` here because an error occurred.\n // The application should handle the uncaught exception if desired.\n break; // Explicitly break loop on error\n }\n }\n // Loop ends when currentStep is null or loop is broken by error\n isRunning = false;\n\n // Completion check is now handled by finalStepSentinel ensuring `done` isn't called on error.\n };\n\n // --- Start the process ---\n index = 0; // Reset index\n currentData = initialData; // Reset data\n trampoline(createStepRevised(0)); // Start with the revised step creator\n } catch (error: any) {\n done(currentData, error);\n }\n }\n\n pipe<TNext>(processor: Processor<TCurrent, TNext>) {\n this._list.push(processor);\n return this as unknown as TrampolinePipeline<TInitial, TNext>;\n }\n\n pipeEach(items: TCurrent[], fn: (payload: ResultType<TCurrent>, done: CallbackResult<TCurrent>) => void, map: (previous: ResultType<TCurrent>, current: ResultType<TCurrent>) => ResultType<TCurrent>) {\n for (let i = 0, length = items.length; i < length; i++) {\n\n this.pipe<ResultType<TCurrent>>((previous, done) => {\n\n fn(map(previous as ResultType<TCurrent>, Result.success(items[i])), done);\n });\n }\n }\n}\n\nexport type UnitOfWork = (done: CallbackResult<never>) => void;\n\n/**\n * Processes functions with callbacks asynchronously.\n * \n * This pipeline handles work items that contain callback functions,\n * executing them in an asynchronous manner while maintaining proper\n * flow control and error handling.\n */\nexport class WorkPipeline {\n private unitsOfWork: UnitOfWork[] = [];\n private _hasErrored: boolean = false; // Flag to prevent calling done on error\n\n filter(done: CallbackResult<never>) {\n\n this._hasErrored = false; // Reset error flag on new execution\n\n if (this.unitsOfWork.length === 0) {\n queueMicrotask(() => done(Result.success()));\n return;\n }\n\n let index = 0;\n let isRunning = false; // Guard against overlapping trampoline calls\n\n try {\n // --- Revised Completion Logic --- (Moved up for clarity)\n const finalStepSentinel = (): StepResult<never> => { // A special step function for the very end\n // Only call done if no error has occurred\n if (!this._hasErrored) {\n queueMicrotask(() => done(Result.success()));\n }\n return null; // Stop the trampoline\n };\n\n const createStepRevised = (idx: number): TrampolineStep<any> => {\n return () => {\n if (this._hasErrored) return null; // Stop if an error occurred elsewhere\n\n if (idx >= this.unitsOfWork.length) {\n return finalStepSentinel(); // Execute the dedicated final step\n }\n\n const processor = this.unitsOfWork[idx];\n // Initialize syncCallbackResult to null to satisfy StepResult type\n let syncCallbackResult: StepResult<any> = null;\n let calledSync = false;\n\n try {\n processor((result) => {\n // --- Error Handling ---\n if (result.ok === Result.ERROR) {\n logger.error(`Error reported by AsyncPipeline at index ${idx}:`, result.error);\n this._hasErrored = true; // Set flag\n // Throw the error to be caught by outer try...catch blocks\n throw result.error;\n }\n // --- /Error Handling ---\n\n // If no error, proceed as before\n index = idx + 1; // Update index for the next step\n const nextStep = createStepRevised(index); // Use updated index\n\n if (isRunning) {\n // Callback was synchronous\n syncCallbackResult = nextStep; // Store next step function\n calledSync = true;\n } else {\n // Callback was asynchronous, restart trampoline\n trampoline(nextStep);\n }\n });\n } catch (error) {\n if (!this._hasErrored) { // Check flag to avoid double logging if error was from callback\n logger.error(`Error thrown by processor at index ${idx} or its callback:`, error);\n this._hasErrored = true;\n }\n // Rethrow to be caught by the trampoline's catch block\n throw error;\n }\n\n if (calledSync) {\n // Return the next step function for the sync loop\n return syncCallbackResult;\n } else {\n // Pause trampoline for async, loop will stop as step returns null\n return null;\n }\n };\n };\n\n // The trampoline loop\n const trampoline = (step: TrampolineStep<any> | null) => {\n\n if (isRunning) {\n return;\n }\n\n isRunning = true;\n let currentStep = step;\n\n while (typeof currentStep === 'function') {\n try {\n // Stop immediately if an error was flagged elsewhere\n if (this._hasErrored) {\n currentStep = null;\n break;\n }\n currentStep = currentStep(); // Execute step, get next step or null\n } catch (trampolineError) {\n // Catch errors propagated from step execution (processor or callback errors)\n if (!this._hasErrored) { // Avoid double logging\n logger.error(\"Error during trampoline step execution:\", trampolineError);\n this._hasErrored = true;\n }\n currentStep = null; // Stop the loop\n // We don't call `done` here because an error occurred.\n // The application should handle the uncaught exception if desired.\n break; // Explicitly break loop on error\n }\n }\n // Loop ends when currentStep is null or loop is broken by error\n isRunning = false;\n\n // Completion check is now handled by finalStepSentinel ensuring `done` isn't called on error.\n };\n\n // --- Start the process ---\n index = 0; // Reset index\n trampoline(createStepRevised(0)); // Start with the revised step creator\n } catch (error: any) {\n done(Result.error(error));\n }\n }\n\n pipe(work: UnitOfWork) {\n this.unitsOfWork.push(work);\n }\n}","import { PartialResultType, PluginEventPartialResultType, PluginEventResultType, ResultType } from \"./types\";\n\nabstract class BaseResult {\n static ERROR = \"error\" as const;\n static SUCCESS = \"success\" as const;\n static PARTIAL = \"partial\" as const;\n\n static resolve<T>(result: ResultType<T> | PartialResultType<T>, resolve: (data: T) => void, reject: (error?: any) => void) {\n if (result.ok === BaseResult.SUCCESS) {\n resolve(result.data);\n return;\n }\n\n if (result.ok === BaseResult.PARTIAL) {\n reject({\n partial: result.data,\n error: result.error\n });\n return;\n }\n\n reject(result.error);\n }\n\n static assertSuccess<T>(result: any): asserts result is { ok: \"success\"; data: T } {\n if (result.ok !== BaseResult.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n\nexport class Result extends BaseResult {\n static success<T>(data: T): ResultType<T>;\n static success<T>(): ResultType<never>;\n static success<T>(data?: T): ResultType<T> {\n return {\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(error: any): ResultType<T> {\n return {\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(data: T, error: any): PartialResultType<T> {\n return {\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n}\n\nexport class PluginEventResult extends BaseResult {\n static success<T>(id: string, data: T): PluginEventResultType<T>;\n static success<T>(id: string): PluginEventResultType<never>;\n static success<T>(id: string, data?: T): PluginEventResultType<T> {\n return {\n id,\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(id: string, error: any): PluginEventResultType<T> {\n return {\n id,\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(id: string, data: T, error: any): PluginEventPartialResultType<T> {\n return {\n id,\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n\n static assertSuccess<T>(result: PluginEventResultType<T>): asserts result is { ok: \"success\"; data: T; id: string } {\n if (result.ok !== Result.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n","const isDevelopment = (): boolean => {\n if (typeof process === 'undefined' || process.env == null) {\n return false;\n }\n const env = process.env.NODE_ENV?.toLowerCase();\n return env === 'dev' || env === 'development' || env === 'test';\n};\n\ntype LogMethods = \"log\" | \"info\" | \"warn\" | \"error\" | \"debug\" | \"table\";\nconst shouldLog = isDevelopment();\nconst tryLog = (type: LogMethods, ...args: unknown[]) => {\n if (shouldLog) {\n console[type](...args);\n }\n};\n\nexport const logger = {\n log: (...args: unknown[]): void => {\n tryLog(\"log\", ...args);\n },\n info: (...args: unknown[]): void => {\n tryLog(\"info\", ...args);\n },\n warn: (...args: unknown[]): void => {\n tryLog(\"warn\", ...args);\n },\n error: (...args: unknown[]): void => {\n tryLog(\"error\", ...args);\n },\n debug: (...args: unknown[]): void => {\n tryLog(\"debug\", ...args);\n },\n table: (...args: unknown[]): void => {\n tryLog(\"table\", ...args);\n },\n};\n\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from './SyncronousQueue';\nexport * from './TrampolinePipeline';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline/index.js","sources":["webpack://@routier/core/./src/pipeline/SyncronousQueue.ts","webpack://@routier/core/./src/pipeline/TrampolinePipeline.ts","webpack://@routier/core/./src/results/Result.ts","webpack://@routier/core/./src/utilities/logger.ts","webpack://@routier/core/webpack/runtime/define_property_getters","webpack://@routier/core/webpack/runtime/has_own_property","webpack://@routier/core/webpack/runtime/make_namespace_object","webpack://@routier/core/./src/pipeline/index.ts"],"sourcesContent":["export type SyncronousUnitOfWork = (done: () => void) => void\n\nexport class SyncronousQueue {\n\n private readonly _queue: SyncronousUnitOfWork[] = [];\n private _current: SyncronousUnitOfWork | null = null;\n\n enqueue(unitOfWork: SyncronousUnitOfWork) {\n this._queue.push(unitOfWork);\n this._next();\n }\n\n private _next() {\n if (this._current != null || this._queue.length === 0) {\n return;\n }\n\n // Take first item\n this._current = this._queue.shift() ?? null;\n\n if (this._current == null) {\n return;\n }\n\n this._current(() => {\n this._current = null;\n this._next();\n })\n }\n}","import { logger } from \"../utilities\";\nimport { CallbackResult, Result, ResultType } from \"../results\";\n\n/**\n * Type definition for an asynchronous function that takes data and a callback.\n * TIn: The input data type.\n * TOut: The output data type (passed to the callback).\n */\nexport type Processor<TIn, TOut> = (data: TIn, callback: (result: TOut, error?: any) => void) => void;\n\n// Return type for a step execution: Either the next step function or null if waiting/done.\ntype StepResult<TData> = TrampolineStep<TData> | null;\ntype TrampolineStep<TData> = () => StepResult<TData>;\n\nexport class TrampolinePipeline<TInitial, TCurrent = TInitial> {\n private _list: Processor<any, any>[] = [];\n private _hasErrored: boolean = false; // Flag to prevent calling done on error\n\n filter<TFinal>(initialData: TInitial, done: (data: TFinal, error?: any) => void) {\n\n this._hasErrored = false; // Reset error flag on new execution\n\n if (this._list.length === 0) {\n done(initialData as unknown as TFinal);\n return;\n }\n\n let index = 0;\n let currentData: any = initialData;\n let isRunning = false; // Guard against overlapping trampoline calls\n\n try {\n // --- Revised Completion Logic --- (Moved up for clarity)\n const finalStepSentinel = (): StepResult<any> => { // A special step function for the very end\n // Only call done if no error has occurred\n if (!this._hasErrored) {\n done(currentData as TFinal);\n }\n return null; // Stop the trampoline\n };\n\n const createStepRevised = (idx: number): TrampolineStep<any> => {\n return () => {\n if (this._hasErrored) return null; // Stop if an error occurred elsewhere\n\n if (idx >= this._list.length) {\n return finalStepSentinel(); // Execute the dedicated final step\n }\n\n const processor = this._list[idx];\n // Initialize syncCallbackResult to null to satisfy StepResult type\n let syncCallbackResult: StepResult<any> = null;\n let calledSync = false;\n\n try {\n processor(currentData, (result, error) => {\n // --- Error Handling ---\n if (error) {\n logger.error(`Error reported by processor at index ${idx}:`, error);\n this._hasErrored = true; // Set flag\n // Throw the error to be caught by outer try...catch blocks\n throw error;\n }\n // --- /Error Handling ---\n\n // If no error, proceed as before\n currentData = result;\n index = idx + 1; // Update index for the next step\n const nextStep = createStepRevised(index); // Use updated index\n\n if (isRunning) {\n // Callback was synchronous\n syncCallbackResult = nextStep; // Store next step function\n calledSync = true;\n } else {\n // Callback was asynchronous, restart trampoline\n trampoline(nextStep);\n }\n });\n } catch (error) {\n if (!this._hasErrored) { // Check flag to avoid double logging if error was from callback\n logger.error(`Error thrown by processor at index ${idx} or its callback:`, error);\n this._hasErrored = true;\n }\n // Rethrow to be caught by the trampoline's catch block\n throw error;\n }\n\n if (calledSync) {\n // Return the next step function for the sync loop\n return syncCallbackResult;\n } else {\n // Pause trampoline for async, loop will stop as step returns null\n return null;\n }\n };\n };\n\n // The trampoline loop\n const trampoline = (step: TrampolineStep<any> | null) => {\n\n if (isRunning) {\n return;\n }\n\n isRunning = true;\n let currentStep = step;\n\n while (currentStep !== null) {\n try {\n // Stop immediately if an error was flagged elsewhere\n if (this._hasErrored) {\n currentStep = null;\n break;\n }\n currentStep = currentStep(); // Execute step, get next step or null\n } catch (trampolineError) {\n // Catch errors propagated from step execution (processor or callback errors)\n if (!this._hasErrored) { // Avoid double logging\n logger.error(\"Error during trampoline step execution:\", trampolineError);\n this._hasErrored = true;\n }\n currentStep = null; // Stop the loop\n // We don't call `done` here because an error occurred.\n // The application should handle the uncaught exception if desired.\n break; // Explicitly break loop on error\n }\n }\n // Loop ends when currentStep is null or loop is broken by error\n isRunning = false;\n\n // Completion check is now handled by finalStepSentinel ensuring `done` isn't called on error.\n };\n\n // --- Start the process ---\n index = 0; // Reset index\n currentData = initialData; // Reset data\n trampoline(createStepRevised(0)); // Start with the revised step creator\n } catch (error: any) {\n done(currentData, error);\n }\n }\n\n pipe<TNext>(processor: Processor<TCurrent, TNext>) {\n this._list.push(processor);\n return this as unknown as TrampolinePipeline<TInitial, TNext>;\n }\n\n pipeEach(items: TCurrent[], fn: (payload: ResultType<TCurrent>, done: CallbackResult<TCurrent>) => void, map: (previous: ResultType<TCurrent>, current: ResultType<TCurrent>) => ResultType<TCurrent>) {\n for (let i = 0, length = items.length; i < length; i++) {\n\n this.pipe<ResultType<TCurrent>>((previous, done) => {\n\n fn(map(previous as ResultType<TCurrent>, Result.success(items[i])), done);\n });\n }\n }\n}\n\nexport type UnitOfWork = (done: CallbackResult<never>) => void;\n\n/**\n * Processes functions with callbacks asynchronously.\n * \n * This pipeline handles work items that contain callback functions,\n * executing them in an asynchronous manner while maintaining proper\n * flow control and error handling.\n */\nexport class WorkPipeline {\n private unitsOfWork: UnitOfWork[] = [];\n private _hasErrored: boolean = false; // Flag to prevent calling done on error\n\n filter(done: CallbackResult<never>) {\n\n this._hasErrored = false; // Reset error flag on new execution\n\n if (this.unitsOfWork.length === 0) {\n done(Result.success());\n return;\n }\n\n let index = 0;\n let isRunning = false; // Guard against overlapping trampoline calls\n\n try {\n // --- Revised Completion Logic --- (Moved up for clarity)\n const finalStepSentinel = (): StepResult<never> => { // A special step function for the very end\n // Only call done if no error has occurred\n if (!this._hasErrored) {\n done(Result.success());\n }\n return null; // Stop the trampoline\n };\n\n const createStepRevised = (idx: number): TrampolineStep<any> => {\n return () => {\n if (this._hasErrored) return null; // Stop if an error occurred elsewhere\n\n if (idx >= this.unitsOfWork.length) {\n return finalStepSentinel(); // Execute the dedicated final step\n }\n\n const processor = this.unitsOfWork[idx];\n // Initialize syncCallbackResult to null to satisfy StepResult type\n let syncCallbackResult: StepResult<any> = null;\n let calledSync = false;\n\n try {\n processor((result) => {\n // --- Error Handling ---\n if (result.ok === Result.ERROR) {\n logger.error(`Error reported by AsyncPipeline at index ${idx}:`, result.error);\n this._hasErrored = true; // Set flag\n // Throw the error to be caught by outer try...catch blocks\n throw result.error;\n }\n // --- /Error Handling ---\n\n // If no error, proceed as before\n index = idx + 1; // Update index for the next step\n const nextStep = createStepRevised(index); // Use updated index\n\n if (isRunning) {\n // Callback was synchronous\n syncCallbackResult = nextStep; // Store next step function\n calledSync = true;\n } else {\n // Callback was asynchronous, restart trampoline\n trampoline(nextStep);\n }\n });\n } catch (error) {\n if (!this._hasErrored) { // Check flag to avoid double logging if error was from callback\n logger.error(`Error thrown by processor at index ${idx} or its callback:`, error);\n this._hasErrored = true;\n }\n // Rethrow to be caught by the trampoline's catch block\n throw error;\n }\n\n if (calledSync) {\n // Return the next step function for the sync loop\n return syncCallbackResult;\n } else {\n // Pause trampoline for async, loop will stop as step returns null\n return null;\n }\n };\n };\n\n // The trampoline loop\n const trampoline = (step: TrampolineStep<any> | null) => {\n\n if (isRunning) {\n return;\n }\n\n isRunning = true;\n let currentStep = step;\n\n while (currentStep !== null) {\n try {\n // Stop immediately if an error was flagged elsewhere\n if (this._hasErrored) {\n currentStep = null;\n break;\n }\n currentStep = currentStep(); // Execute step, get next step or null\n } catch (trampolineError) {\n // Catch errors propagated from step execution (processor or callback errors)\n if (!this._hasErrored) { // Avoid double logging\n logger.error(\"Error during trampoline step execution:\", trampolineError);\n this._hasErrored = true;\n }\n currentStep = null; // Stop the loop\n // We don't call `done` here because an error occurred.\n // The application should handle the uncaught exception if desired.\n break; // Explicitly break loop on error\n }\n }\n // Loop ends when currentStep is null or loop is broken by error\n isRunning = false;\n\n // Completion check is now handled by finalStepSentinel ensuring `done` isn't called on error.\n };\n\n // --- Start the process ---\n index = 0; // Reset index\n trampoline(createStepRevised(0)); // Start with the revised step creator\n } catch (error: any) {\n done(Result.error(error));\n }\n }\n\n pipe(work: UnitOfWork) {\n this.unitsOfWork.push(work);\n }\n}","import { PartialResultType, PluginEventPartialResultType, PluginEventResultType, ResultType } from \"./types\";\n\nabstract class BaseResult {\n static ERROR = \"error\" as const;\n static SUCCESS = \"success\" as const;\n static PARTIAL = \"partial\" as const;\n\n static resolve<T>(result: ResultType<T> | PartialResultType<T>, resolve: (data: T) => void, reject: (error?: any) => void) {\n if (result.ok === BaseResult.SUCCESS) {\n resolve(result.data);\n return;\n }\n\n if (result.ok === BaseResult.PARTIAL) {\n reject({\n partial: result.data,\n error: result.error\n });\n return;\n }\n\n reject(result.error);\n }\n\n static assertSuccess<T>(result: any): asserts result is { ok: \"success\"; data: T } {\n if (result.ok !== BaseResult.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n\nexport class Result extends BaseResult {\n static success<T>(data: T): ResultType<T>;\n static success(): ResultType<never>;\n static success<T>(data?: T): ResultType<T> {\n return {\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(error: any): ResultType<T> {\n return {\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(data: T, error: any): PartialResultType<T> {\n return {\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n}\n\nexport class PluginEventResult extends BaseResult {\n static success<T>(id: string, data: T): PluginEventResultType<T>;\n static success(id: string): PluginEventResultType<never>;\n static success<T>(id: string, data?: T): PluginEventResultType<T> {\n return {\n id,\n ok: Result.SUCCESS,\n data\n }\n }\n\n static error<T>(id: string, error: any): PluginEventResultType<T> {\n return {\n id,\n ok: Result.ERROR,\n error\n }\n }\n\n static partial<T>(id: string, data: T, error: any): PluginEventPartialResultType<T> {\n return {\n id,\n ok: Result.PARTIAL,\n data,\n error\n }\n }\n\n static assertSuccess<T>(result: PluginEventResultType<T>): asserts result is { ok: \"success\"; data: T; id: string } {\n if (result.ok !== Result.SUCCESS) {\n throw new Error(`Expected success result, but got ${result.ok}: ${result.error}`);\n }\n }\n}\n","/**\n * Enable logging by setting `globalThis.__ROUTIER_DEBUG__ = true` before any routier code runs.\n */\nconst shouldLog = (): boolean => {\n if (typeof globalThis !== 'undefined') {\n const g = globalThis as { __ROUTIER_DEBUG__?: boolean };\n if (g.__ROUTIER_DEBUG__ === true) return true;\n }\n\n if (typeof process !== 'undefined' && process.env != null) {\n const debug = process.env.DEBUG;\n if (debug === 'routier' || debug === '*') return true;\n const env = process.env.NODE_ENV?.toLowerCase();\n if (env === 'dev' || env === 'development' || env === 'test') return true;\n }\n\n return false;\n};\n\ntype LogMethods = \"log\" | \"info\" | \"warn\" | \"error\" | \"debug\" | \"table\";\nconst tryLog = (type: LogMethods, ...args: unknown[]) => {\n if (shouldLog()) {\n (console[type] as (...args: unknown[]) => void)(...args);\n }\n};\n\nexport const logger = {\n log: (...args: unknown[]): void => {\n tryLog(\"log\", ...args);\n },\n info: (...args: unknown[]): void => {\n tryLog(\"info\", ...args);\n },\n warn: (...args: unknown[]): void => {\n tryLog(\"warn\", ...args);\n },\n error: (...args: unknown[]): void => {\n tryLog(\"error\", ...args);\n },\n debug: (...args: unknown[]): void => {\n tryLog(\"debug\", ...args);\n },\n table: (...args: unknown[]): void => {\n tryLog(\"table\", ...args);\n },\n};\n\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from './SyncronousQueue';\nexport * from './TrampolinePipeline';"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export * from './types';
2
2
  export * from './translators';
3
- export * from './replication';
4
3
  export * from './query';
5
4
  export * from './EphemeralDataPlugin';