@schorts/shared-kernel 5.2.1 → 5.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/event-bus/event-bus.js +3 -0
  3. package/dist/cjs/event-bus/event-bus.js.map +1 -0
  4. package/dist/cjs/event-bus/in-memory/async-in-memory-event-bus.js.map +1 -1
  5. package/dist/cjs/event-bus/index.js.map +1 -1
  6. package/dist/cjs/index.js +1 -0
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/json-api/index.js +3 -1
  9. package/dist/cjs/json-api/index.js.map +1 -1
  10. package/dist/cjs/json-api/url-criteria-builder.js +52 -11
  11. package/dist/cjs/json-api/url-criteria-builder.js.map +1 -1
  12. package/dist/cjs/json-api/url-criteria-parser.js +82 -0
  13. package/dist/cjs/json-api/url-criteria-parser.js.map +1 -0
  14. package/dist/esm/event-bus/event-bus.js +3 -0
  15. package/dist/esm/event-bus/event-bus.js.map +1 -0
  16. package/dist/esm/event-bus/in-memory/async-in-memory-event-bus.js.map +1 -1
  17. package/dist/esm/event-bus/index.js.map +1 -1
  18. package/dist/esm/index.js +1 -0
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/esm/json-api/index.js +3 -1
  21. package/dist/esm/json-api/index.js.map +1 -1
  22. package/dist/esm/json-api/url-criteria-builder.js +52 -11
  23. package/dist/esm/json-api/url-criteria-builder.js.map +1 -1
  24. package/dist/esm/json-api/url-criteria-parser.js +82 -0
  25. package/dist/esm/json-api/url-criteria-parser.js.map +1 -0
  26. package/dist/types/cqrs/command-bus.d.ts +2 -0
  27. package/dist/types/cqrs/command-bus.d.ts.map +1 -1
  28. package/dist/types/cqrs/query-bus.d.ts +2 -0
  29. package/dist/types/cqrs/query-bus.d.ts.map +1 -1
  30. package/dist/types/event-bus/event-bus.d.ts +8 -0
  31. package/dist/types/event-bus/event-bus.d.ts.map +1 -0
  32. package/dist/types/event-bus/in-memory/async-in-memory-event-bus.d.ts +2 -1
  33. package/dist/types/event-bus/in-memory/async-in-memory-event-bus.d.ts.map +1 -1
  34. package/dist/types/event-bus/index.d.ts +1 -0
  35. package/dist/types/event-bus/index.d.ts.map +1 -1
  36. package/dist/types/index.d.ts +1 -0
  37. package/dist/types/index.d.ts.map +1 -1
  38. package/dist/types/json-api/index.d.ts +1 -0
  39. package/dist/types/json-api/index.d.ts.map +1 -1
  40. package/dist/types/json-api/url-criteria-builder.d.ts.map +1 -1
  41. package/dist/types/json-api/url-criteria-parser.d.ts +9 -0
  42. package/dist/types/json-api/url-criteria-parser.d.ts.map +1 -0
  43. package/package.json +1 -1
package/README.md CHANGED
@@ -68,6 +68,7 @@ Translation keys are centralized in registries for discoverability and tooling,
68
68
  ### 🔗 JSON:API
69
69
 
70
70
  - **JSONAPIConnector:** Connector for interacting with JSON:API-compliant endpoints.
71
+ - **URLCriteriaParser:** Utility for parsing JSON:API-style query parameters (`filter`, `sort`, `page[limit]`, `page[offset]`) into a type-safe `Criteria` object. Supports operators like `eq`, `ne`, `gt`, `lt`, `in`, `between`, and even geospatial filters (`geo_radius`). This enables seamless conversion from URL query strings into expressive domain queries.
71
72
 
72
73
  ### 📬 Mail
73
74
 
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../src/event-bus/event-bus.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"async-in-memory-event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":";;;AAAA,uDAAuE;AACvE,mEAA6D;AAI7D,MAAa,qBAAqB;IACf,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnD,KAAK,CAAa;IAClB,UAAU,CAAS;IAEpC,YAAY,QAAoB,IAAI,0CAAkB,EAAE,EAAE,UAAU,GAAG,CAAC;QACtE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,SAAS,CAA4B,SAAiB,EAAE,UAAkC;QACxF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO,CAA4B,KAAY;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAAkB;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAExC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;YACnB,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;YAEd,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzC,MAAM,iBAAiB,GAAG;oBACxB,GAAG,UAAU;oBACb,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;iBAC9D,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,mCAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,0BAA0B,IAAI,CAAC,UAAU,cAAc,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAEhC,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,mCAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;CACF;AA7DD,sDA6DC"}
1
+ {"version":3,"file":"async-in-memory-event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":";;;AAAA,uDAAuE;AACvE,mEAA6D;AAK7D,MAAa,qBAAqB;IACf,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnD,KAAK,CAAa;IAClB,UAAU,CAAS;IAEpC,YAAY,QAAoB,IAAI,0CAAkB,EAAE,EAAE,UAAU,GAAG,CAAC;QACtE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,SAAS,CAA4B,SAAiB,EAAE,UAAkC;QACxF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO,CAA4B,KAAY;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAAkB;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAExC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;YACnB,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;YAEd,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzC,MAAM,iBAAiB,GAAG;oBACxB,GAAG,UAAU;oBACb,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;iBAC9D,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,mCAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,0BAA0B,IAAI,CAAC,UAAU,cAAc,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAEhC,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,mCAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;CACF;AA7DD,sDA6DC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,8CAA4B"}
package/dist/cjs/index.js CHANGED
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./auth"), exports);
18
18
  __exportStar(require("./converters"), exports);
19
+ __exportStar(require("./cqrs"), exports);
19
20
  __exportStar(require("./criteria"), exports);
20
21
  __exportStar(require("./dao"), exports);
21
22
  __exportStar(require("./di"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,wCAAsB;AACtB,uCAAqB;AACrB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,uCAAqB;AACrB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
@@ -14,10 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.JSONAPIConnector = exports.URLCriteriaBuilder = void 0;
17
+ exports.URLCriteriaParser = exports.JSONAPIConnector = exports.URLCriteriaBuilder = void 0;
18
18
  var url_criteria_builder_1 = require("./url-criteria-builder");
19
19
  Object.defineProperty(exports, "URLCriteriaBuilder", { enumerable: true, get: function () { return url_criteria_builder_1.URLCriteriaBuilder; } });
20
20
  var json_api_connector_1 = require("./json-api-connector");
21
21
  Object.defineProperty(exports, "JSONAPIConnector", { enumerable: true, get: function () { return json_api_connector_1.JSONAPIConnector; } });
22
+ var url_criteria_parser_1 = require("./url-criteria-parser");
23
+ Object.defineProperty(exports, "URLCriteriaParser", { enumerable: true, get: function () { return url_criteria_parser_1.URLCriteriaParser; } });
22
24
  __exportStar(require("./exceptions"), exports);
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/json-api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/json-api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,6DAAyD;AAAhD,wHAAA,iBAAiB,OAAA;AAC1B,+CAA6B"}
@@ -14,19 +14,60 @@ class URLCriteriaBuilder {
14
14
  build() {
15
15
  const builder = new utils_1.URLWithParamsBuilder(new URL(this.base.href));
16
16
  if (this.include?.length) {
17
- builder.with({ include: this.include });
17
+ builder.with({ include: this.include.join(",") });
18
18
  }
19
19
  if (this.criteria) {
20
- Object.entries(this.criteria.filters).forEach(([field, { operator, value }]) => {
21
- const encodedField = field.replace(/\./g, "."); // allows nested filters like roles.name
22
- if (operator === "EQUAL") {
23
- builder.with({ [`filter[${encodedField}]`]: value });
24
- }
25
- else if (operator === "IN" && Array.isArray(value)) {
26
- builder.with({ [`filter[${encodedField}]`]: value.join(",") });
27
- }
28
- else {
29
- builder.with({ [`filter[${encodedField}][${operator}]`]: value });
20
+ this.criteria.filters.forEach(({ field, operator, value }) => {
21
+ const encodedField = field.replace(/\./g, ".");
22
+ switch (operator) {
23
+ case "EQUAL":
24
+ builder.with({ [`filter[${encodedField}]`]: value });
25
+ break;
26
+ case "NOT_EQUAL":
27
+ builder.with({ [`filter[${encodedField}][ne]`]: value });
28
+ break;
29
+ case "GREATER_THAN":
30
+ builder.with({ [`filter[${encodedField}][gt]`]: value });
31
+ break;
32
+ case "LESS_THAN":
33
+ builder.with({ [`filter[${encodedField}][lt]`]: value });
34
+ break;
35
+ case "GREATER_THAN_OR_EQUAL":
36
+ builder.with({ [`filter[${encodedField}][gte]`]: value });
37
+ break;
38
+ case "LESS_THAN_OR_EQUAL":
39
+ builder.with({ [`filter[${encodedField}][lte]`]: value });
40
+ break;
41
+ case "IN":
42
+ if (Array.isArray(value)) {
43
+ builder.with({ [`filter[${encodedField}][in]`]: value.join(",") });
44
+ }
45
+ break;
46
+ case "NOT_IN":
47
+ if (Array.isArray(value)) {
48
+ builder.with({ [`filter[${encodedField}][nin]`]: value.join(",") });
49
+ }
50
+ break;
51
+ case "LIKE":
52
+ builder.with({ [`filter[${encodedField}][like]`]: value });
53
+ break;
54
+ case "BETWEEN":
55
+ if (Array.isArray(value) && value.length === 2) {
56
+ builder.with({
57
+ [`filter[${encodedField}][between]`]: `${value[0]},${value[1]}`,
58
+ });
59
+ }
60
+ break;
61
+ case "GEO_RADIUS":
62
+ if (value && typeof value === "object") {
63
+ const { lat, lng, radius } = value;
64
+ builder.with({
65
+ [`filter[${encodedField}][geo_radius]`]: `${lat},${lng},${radius}`,
66
+ });
67
+ }
68
+ break;
69
+ default:
70
+ throw new Error(`Unsupported operator: ${operator}`);
30
71
  }
31
72
  });
32
73
  if (this.criteria.orders.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"url-criteria-builder.js","sourceRoot":"","sources":["../../../src/json-api/url-criteria-builder.ts"],"names":[],"mappings":";;;AAAA,oCAAgD;AAGhD,MAAa,kBAAkB;IAEV;IACA;IACA;IAHnB,YACmB,IAAS,EACT,QAAmB,EACnB,OAAkB;QAFlB,SAAI,GAAJ,IAAI,CAAK;QACT,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAW;IAClC,CAAC;IAEJ,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,4BAAoB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,wCAAwC;gBAExF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,YAAY,KAAK,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;qBACnC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;qBAC3E,IAAI,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AA7CD,gDA6CC"}
1
+ {"version":3,"file":"url-criteria-builder.js","sourceRoot":"","sources":["../../../src/json-api/url-criteria-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.URLCriteriaParser = void 0;
4
+ const criteria_1 = require("../criteria");
5
+ class URLCriteriaParser {
6
+ url;
7
+ constructor(url) {
8
+ this.url = url;
9
+ }
10
+ parse() {
11
+ const criteria = new criteria_1.Criteria();
12
+ const params = this.url.searchParams;
13
+ for (const [key, value] of params.entries()) {
14
+ if (!key.startsWith("filter["))
15
+ continue;
16
+ const match = key.match(/^filter\[([^\]]+)\](?:\[([^\]]+)\])?$/);
17
+ if (!match)
18
+ continue;
19
+ const [, field, op] = match;
20
+ const operator = this.mapOperator(op);
21
+ const parsedValue = this.parseValue(operator, value);
22
+ criteria.where(field, operator, parsedValue);
23
+ }
24
+ const sortParam = params.get("sort");
25
+ if (sortParam) {
26
+ sortParam.split(",").forEach((part) => {
27
+ const direction = part.startsWith("-") ? "DESC" : "ASC";
28
+ const field = part.replace(/^-/, "");
29
+ criteria.orderBy(field, direction);
30
+ });
31
+ }
32
+ const limit = params.get("page[limit]");
33
+ if (limit)
34
+ criteria.limitResults(Number(limit));
35
+ const offset = params.get("page[offset]");
36
+ if (offset)
37
+ criteria.offsetResults(Number(offset));
38
+ return criteria;
39
+ }
40
+ mapOperator(op) {
41
+ switch (op) {
42
+ case undefined: return "EQUAL";
43
+ case "ne": return "NOT_EQUAL";
44
+ case "gt": return "GREATER_THAN";
45
+ case "lt": return "LESS_THAN";
46
+ case "gte": return "GREATER_THAN_OR_EQUAL";
47
+ case "lte": return "LESS_THAN_OR_EQUAL";
48
+ case "in": return "IN";
49
+ case "nin": return "NOT_IN";
50
+ case "like": return "LIKE";
51
+ case "between": return "BETWEEN";
52
+ case "geo_radius": return "GEO_RADIUS";
53
+ default: throw new Error(`Unknown operator: ${op}`);
54
+ }
55
+ }
56
+ parseValue(operator, raw) {
57
+ const tryParsePrimitive = (val) => {
58
+ const maybeDate = new Date(val);
59
+ if (!isNaN(maybeDate.getTime()))
60
+ return maybeDate;
61
+ if (!isNaN(Number(val)) && val.trim() !== "")
62
+ return Number(val);
63
+ return val;
64
+ };
65
+ switch (operator) {
66
+ case "IN":
67
+ case "NOT_IN":
68
+ case "BETWEEN":
69
+ return raw.split(",").map((v) => tryParsePrimitive(v.trim()));
70
+ case "GEO_RADIUS": {
71
+ const [latStr, lngStr, radiusStr] = raw.split(",");
72
+ const center = [parseFloat(latStr), parseFloat(lngStr)];
73
+ const radiusInM = parseFloat(radiusStr);
74
+ return { center, radiusInM };
75
+ }
76
+ default:
77
+ return tryParsePrimitive(raw);
78
+ }
79
+ }
80
+ }
81
+ exports.URLCriteriaParser = URLCriteriaParser;
82
+ //# sourceMappingURL=url-criteria-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-criteria-parser.js","sourceRoot":"","sources":["../../../src/json-api/url-criteria-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../src/event-bus/event-bus.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"async-in-memory-event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":";;;AAAA,uDAAuE;AACvE,mEAA6D;AAI7D,MAAa,qBAAqB;IACf,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnD,KAAK,CAAa;IAClB,UAAU,CAAS;IAEpC,YAAY,QAAoB,IAAI,0CAAkB,EAAE,EAAE,UAAU,GAAG,CAAC;QACtE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,SAAS,CAA4B,SAAiB,EAAE,UAAkC;QACxF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO,CAA4B,KAAY;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAAkB;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAExC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;YACnB,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;YAEd,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzC,MAAM,iBAAiB,GAAG;oBACxB,GAAG,UAAU;oBACb,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;iBAC9D,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,mCAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,0BAA0B,IAAI,CAAC,UAAU,cAAc,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAEhC,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,mCAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;CACF;AA7DD,sDA6DC"}
1
+ {"version":3,"file":"async-in-memory-event-bus.js","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":";;;AAAA,uDAAuE;AACvE,mEAA6D;AAK7D,MAAa,qBAAqB;IACf,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnD,KAAK,CAAa;IAClB,UAAU,CAAS;IAEpC,YAAY,QAAoB,IAAI,0CAAkB,EAAE,EAAE,UAAU,GAAG,CAAC;QACtE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,SAAS,CAA4B,SAAiB,EAAE,UAAkC;QACxF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO,CAA4B,KAAY;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAExC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAAkB;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAExC,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;YACnB,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;YAEd,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzC,MAAM,iBAAiB,GAAG;oBACxB,GAAG,UAAU;oBACb,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;iBAC9D,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,mCAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE,0BAA0B,IAAI,CAAC,UAAU,cAAc,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAEhC,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,mCAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;CACF;AA7DD,sDA6DC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,8CAA4B"}
package/dist/esm/index.js CHANGED
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./auth"), exports);
18
18
  __exportStar(require("./converters"), exports);
19
+ __exportStar(require("./cqrs"), exports);
19
20
  __exportStar(require("./criteria"), exports);
20
21
  __exportStar(require("./dao"), exports);
21
22
  __exportStar(require("./di"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,6CAA2B;AAC3B,wCAAsB;AACtB,uCAAqB;AACrB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B;AAC7B,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,uCAAqB;AACrB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,8CAA4B;AAC5B,+CAA6B;AAC7B,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
@@ -14,10 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.JSONAPIConnector = exports.URLCriteriaBuilder = void 0;
17
+ exports.URLCriteriaParser = exports.JSONAPIConnector = exports.URLCriteriaBuilder = void 0;
18
18
  var url_criteria_builder_1 = require("./url-criteria-builder");
19
19
  Object.defineProperty(exports, "URLCriteriaBuilder", { enumerable: true, get: function () { return url_criteria_builder_1.URLCriteriaBuilder; } });
20
20
  var json_api_connector_1 = require("./json-api-connector");
21
21
  Object.defineProperty(exports, "JSONAPIConnector", { enumerable: true, get: function () { return json_api_connector_1.JSONAPIConnector; } });
22
+ var url_criteria_parser_1 = require("./url-criteria-parser");
23
+ Object.defineProperty(exports, "URLCriteriaParser", { enumerable: true, get: function () { return url_criteria_parser_1.URLCriteriaParser; } });
22
24
  __exportStar(require("./exceptions"), exports);
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/json-api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/json-api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,6DAAyD;AAAhD,wHAAA,iBAAiB,OAAA;AAC1B,+CAA6B"}
@@ -14,19 +14,60 @@ class URLCriteriaBuilder {
14
14
  build() {
15
15
  const builder = new utils_1.URLWithParamsBuilder(new URL(this.base.href));
16
16
  if (this.include?.length) {
17
- builder.with({ include: this.include });
17
+ builder.with({ include: this.include.join(",") });
18
18
  }
19
19
  if (this.criteria) {
20
- Object.entries(this.criteria.filters).forEach(([field, { operator, value }]) => {
21
- const encodedField = field.replace(/\./g, "."); // allows nested filters like roles.name
22
- if (operator === "EQUAL") {
23
- builder.with({ [`filter[${encodedField}]`]: value });
24
- }
25
- else if (operator === "IN" && Array.isArray(value)) {
26
- builder.with({ [`filter[${encodedField}]`]: value.join(",") });
27
- }
28
- else {
29
- builder.with({ [`filter[${encodedField}][${operator}]`]: value });
20
+ this.criteria.filters.forEach(({ field, operator, value }) => {
21
+ const encodedField = field.replace(/\./g, ".");
22
+ switch (operator) {
23
+ case "EQUAL":
24
+ builder.with({ [`filter[${encodedField}]`]: value });
25
+ break;
26
+ case "NOT_EQUAL":
27
+ builder.with({ [`filter[${encodedField}][ne]`]: value });
28
+ break;
29
+ case "GREATER_THAN":
30
+ builder.with({ [`filter[${encodedField}][gt]`]: value });
31
+ break;
32
+ case "LESS_THAN":
33
+ builder.with({ [`filter[${encodedField}][lt]`]: value });
34
+ break;
35
+ case "GREATER_THAN_OR_EQUAL":
36
+ builder.with({ [`filter[${encodedField}][gte]`]: value });
37
+ break;
38
+ case "LESS_THAN_OR_EQUAL":
39
+ builder.with({ [`filter[${encodedField}][lte]`]: value });
40
+ break;
41
+ case "IN":
42
+ if (Array.isArray(value)) {
43
+ builder.with({ [`filter[${encodedField}][in]`]: value.join(",") });
44
+ }
45
+ break;
46
+ case "NOT_IN":
47
+ if (Array.isArray(value)) {
48
+ builder.with({ [`filter[${encodedField}][nin]`]: value.join(",") });
49
+ }
50
+ break;
51
+ case "LIKE":
52
+ builder.with({ [`filter[${encodedField}][like]`]: value });
53
+ break;
54
+ case "BETWEEN":
55
+ if (Array.isArray(value) && value.length === 2) {
56
+ builder.with({
57
+ [`filter[${encodedField}][between]`]: `${value[0]},${value[1]}`,
58
+ });
59
+ }
60
+ break;
61
+ case "GEO_RADIUS":
62
+ if (value && typeof value === "object") {
63
+ const { lat, lng, radius } = value;
64
+ builder.with({
65
+ [`filter[${encodedField}][geo_radius]`]: `${lat},${lng},${radius}`,
66
+ });
67
+ }
68
+ break;
69
+ default:
70
+ throw new Error(`Unsupported operator: ${operator}`);
30
71
  }
31
72
  });
32
73
  if (this.criteria.orders.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"url-criteria-builder.js","sourceRoot":"","sources":["../../../src/json-api/url-criteria-builder.ts"],"names":[],"mappings":";;;AAAA,oCAAgD;AAGhD,MAAa,kBAAkB;IAEV;IACA;IACA;IAHnB,YACmB,IAAS,EACT,QAAmB,EACnB,OAAkB;QAFlB,SAAI,GAAJ,IAAI,CAAK;QACT,aAAQ,GAAR,QAAQ,CAAW;QACnB,YAAO,GAAP,OAAO,CAAW;IAClC,CAAC;IAEJ,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,4BAAoB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC7E,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,wCAAwC;gBAExF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,YAAY,KAAK,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;qBACnC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;qBAC3E,IAAI,CAAC,GAAG,CAAC,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvC,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AA7CD,gDA6CC"}
1
+ {"version":3,"file":"url-criteria-builder.js","sourceRoot":"","sources":["../../../src/json-api/url-criteria-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.URLCriteriaParser = void 0;
4
+ const criteria_1 = require("../criteria");
5
+ class URLCriteriaParser {
6
+ url;
7
+ constructor(url) {
8
+ this.url = url;
9
+ }
10
+ parse() {
11
+ const criteria = new criteria_1.Criteria();
12
+ const params = this.url.searchParams;
13
+ for (const [key, value] of params.entries()) {
14
+ if (!key.startsWith("filter["))
15
+ continue;
16
+ const match = key.match(/^filter\[([^\]]+)\](?:\[([^\]]+)\])?$/);
17
+ if (!match)
18
+ continue;
19
+ const [, field, op] = match;
20
+ const operator = this.mapOperator(op);
21
+ const parsedValue = this.parseValue(operator, value);
22
+ criteria.where(field, operator, parsedValue);
23
+ }
24
+ const sortParam = params.get("sort");
25
+ if (sortParam) {
26
+ sortParam.split(",").forEach((part) => {
27
+ const direction = part.startsWith("-") ? "DESC" : "ASC";
28
+ const field = part.replace(/^-/, "");
29
+ criteria.orderBy(field, direction);
30
+ });
31
+ }
32
+ const limit = params.get("page[limit]");
33
+ if (limit)
34
+ criteria.limitResults(Number(limit));
35
+ const offset = params.get("page[offset]");
36
+ if (offset)
37
+ criteria.offsetResults(Number(offset));
38
+ return criteria;
39
+ }
40
+ mapOperator(op) {
41
+ switch (op) {
42
+ case undefined: return "EQUAL";
43
+ case "ne": return "NOT_EQUAL";
44
+ case "gt": return "GREATER_THAN";
45
+ case "lt": return "LESS_THAN";
46
+ case "gte": return "GREATER_THAN_OR_EQUAL";
47
+ case "lte": return "LESS_THAN_OR_EQUAL";
48
+ case "in": return "IN";
49
+ case "nin": return "NOT_IN";
50
+ case "like": return "LIKE";
51
+ case "between": return "BETWEEN";
52
+ case "geo_radius": return "GEO_RADIUS";
53
+ default: throw new Error(`Unknown operator: ${op}`);
54
+ }
55
+ }
56
+ parseValue(operator, raw) {
57
+ const tryParsePrimitive = (val) => {
58
+ const maybeDate = new Date(val);
59
+ if (!isNaN(maybeDate.getTime()))
60
+ return maybeDate;
61
+ if (!isNaN(Number(val)) && val.trim() !== "")
62
+ return Number(val);
63
+ return val;
64
+ };
65
+ switch (operator) {
66
+ case "IN":
67
+ case "NOT_IN":
68
+ case "BETWEEN":
69
+ return raw.split(",").map((v) => tryParsePrimitive(v.trim()));
70
+ case "GEO_RADIUS": {
71
+ const [latStr, lngStr, radiusStr] = raw.split(",");
72
+ const center = [parseFloat(latStr), parseFloat(lngStr)];
73
+ const radiusInM = parseFloat(radiusStr);
74
+ return { center, radiusInM };
75
+ }
76
+ default:
77
+ return tryParsePrimitive(raw);
78
+ }
79
+ }
80
+ }
81
+ exports.URLCriteriaParser = URLCriteriaParser;
82
+ //# sourceMappingURL=url-criteria-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-criteria-parser.js","sourceRoot":"","sources":["../../../src/json-api/url-criteria-parser.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { Command } from "./command";
2
+ import { CommandHandler } from "./command-handler";
2
3
  export interface CommandBus {
4
+ register<C extends Command>(type: string, handler: CommandHandler<C>): void;
3
5
  dispatch<C extends Command>(command: C): Promise<void>;
4
6
  }
5
7
  //# sourceMappingURL=command-bus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-bus.d.ts","sourceRoot":"","sources":["../../../src/cqrs/command-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD"}
1
+ {"version":3,"file":"command-bus.d.ts","sourceRoot":"","sources":["../../../src/cqrs/command-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC5E,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD"}
@@ -1,5 +1,7 @@
1
1
  import { Query } from "./query";
2
+ import { QueryHandler } from "./query-handler";
2
3
  export interface QueryBus {
4
+ register<Q extends Query, R>(type: string, handler: QueryHandler<Q, R>): void;
3
5
  dispatch<Q extends Query, R>(query: Q): Promise<R>;
4
6
  }
5
7
  //# sourceMappingURL=query-bus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-bus.d.ts","sourceRoot":"","sources":["../../../src/cqrs/query-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpD"}
1
+ {"version":3,"file":"query-bus.d.ts","sourceRoot":"","sources":["../../../src/cqrs/query-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9E,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpD"}
@@ -0,0 +1,8 @@
1
+ import { DomainEvent } from "../domain-events";
2
+ import { EventSubscriber } from "./event-subscriber";
3
+ export interface EventBus {
4
+ subscribe<Event extends DomainEvent>(eventName: string, subscriber: EventSubscriber<Event>): void;
5
+ publish<Event extends DomainEvent>(event: Event): Promise<void>;
6
+ replay(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../src/event-bus/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,KAAK,SAAS,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAClG,OAAO,CAAC,KAAK,SAAS,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
@@ -1,7 +1,8 @@
1
1
  import { DomainEvent } from "../../domain-events";
2
2
  import { EventStore } from "../event-store";
3
3
  import { EventSubscriber } from "../event-subscriber";
4
- export declare class AsyncInMemoryEventBus {
4
+ import { EventBus } from "../event-bus";
5
+ export declare class AsyncInMemoryEventBus implements EventBus {
5
6
  private readonly subscribers;
6
7
  private readonly store;
7
8
  private readonly maxRetries;
@@ -1 +1 @@
1
- {"version":3,"file":"async-in-memory-event-bus.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,KAAK,GAAE,UAAqC,EAAE,UAAU,SAAI;IAKxE,SAAS,CAAC,KAAK,SAAS,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI;IAQ3F,OAAO,CAAC,KAAK,SAAS,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAQvD,QAAQ;IA2BhB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ9B"}
1
+ {"version":3,"file":"async-in-memory-event-bus.d.ts","sourceRoot":"","sources":["../../../../src/event-bus/in-memory/async-in-memory-event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,qBAAa,qBAAsB,YAAW,QAAQ;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,KAAK,GAAE,UAAqC,EAAE,UAAU,SAAI;IAKxE,SAAS,CAAC,KAAK,SAAS,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI;IAQ3F,OAAO,CAAC,KAAK,SAAS,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAQvD,QAAQ;IA2BhB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ9B"}
@@ -1,4 +1,5 @@
1
1
  export type { EventSubscriber } from "./event-subscriber";
2
2
  export type { EventStore } from "./event-store";
3
+ export type { EventBus } from "./event-bus";
3
4
  export * from "./in-memory";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/event-bus/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,cAAc,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from "./auth";
2
2
  export * from "./converters";
3
+ export * from "./cqrs";
3
4
  export * from "./criteria";
4
5
  export * from "./dao";
5
6
  export * from "./di";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,MAAM,CAAC;AACrB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,MAAM,CAAC;AACrB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
@@ -2,5 +2,6 @@ export type { JSONAPISingle } from "./json-api-single";
2
2
  export type { JSONAPIList } from "./json-api-list";
3
3
  export { URLCriteriaBuilder } from "./url-criteria-builder";
4
4
  export { JSONAPIConnector } from "./json-api-connector";
5
+ export { URLCriteriaParser } from "./url-criteria-parser";
5
6
  export * from "./exceptions";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/json-api/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/json-api/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,cAAc,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"url-criteria-builder.d.ts","sourceRoot":"","sources":["../../../src/json-api/url-criteria-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFR,IAAI,EAAE,GAAG,EACT,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,OAAO,CAAC,EAAE,MAAM,EAAE,YAAA;IAGrC,KAAK,IAAI,GAAG;CAsCb"}
1
+ {"version":3,"file":"url-criteria-builder.d.ts","sourceRoot":"","sources":["../../../src/json-api/url-criteria-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFR,IAAI,EAAE,GAAG,EACT,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,OAAO,CAAC,EAAE,MAAM,EAAE,YAAA;IAGrC,KAAK,IAAI,GAAG;CA4Fb"}
@@ -0,0 +1,9 @@
1
+ import { Criteria } from "../criteria";
2
+ export declare class URLCriteriaParser {
3
+ private readonly url;
4
+ constructor(url: URL);
5
+ parse(): Criteria;
6
+ private mapOperator;
7
+ private parseValue;
8
+ }
9
+ //# sourceMappingURL=url-criteria-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-criteria-parser.d.ts","sourceRoot":"","sources":["../../../src/json-api/url-criteria-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIvC,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,GAAG;IAErC,KAAK,IAAI,QAAQ;IAuCjB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;CA4BnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schorts/shared-kernel",
3
- "version": "5.2.1",
3
+ "version": "5.2.3",
4
4
  "description": "A modular, type-safe foundation for building expressive, maintainable applications. This package provides core abstractions for domain modeling, HTTP integration, authentication, state management, and more — designed to be framework-agnostic and highly extensible.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",