@schorts/shared-kernel 2.6.0 โ 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG +12 -0
- package/README.md +5 -0
- package/dist/cjs/criteria/criteria.js +2 -2
- package/dist/cjs/criteria/criteria.js.map +1 -1
- package/dist/cjs/criteria/index.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/pub-sub/index.js +3 -0
- package/dist/cjs/pub-sub/index.js.map +1 -0
- package/dist/cjs/pub-sub/publisher.js +3 -0
- package/dist/cjs/pub-sub/publisher.js.map +1 -0
- package/dist/cjs/pub-sub/subscription.js +3 -0
- package/dist/cjs/pub-sub/subscription.js.map +1 -0
- package/dist/esm/criteria/criteria.js +2 -2
- package/dist/esm/criteria/criteria.js.map +1 -1
- package/dist/esm/criteria/index.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pub-sub/index.js +3 -0
- package/dist/esm/pub-sub/index.js.map +1 -0
- package/dist/esm/pub-sub/publisher.js +3 -0
- package/dist/esm/pub-sub/publisher.js.map +1 -0
- package/dist/esm/pub-sub/subscription.js +3 -0
- package/dist/esm/pub-sub/subscription.js.map +1 -0
- package/dist/types/criteria/criteria.d.ts +5 -2
- package/dist/types/criteria/criteria.d.ts.map +1 -1
- package/dist/types/criteria/index.d.ts +0 -1
- package/dist/types/criteria/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/pub-sub/index.d.ts +3 -0
- package/dist/types/pub-sub/index.d.ts.map +1 -0
- package/dist/types/pub-sub/publisher.d.ts +4 -0
- package/dist/types/pub-sub/publisher.d.ts.map +1 -0
- package/dist/types/pub-sub/subscription.d.ts +7 -0
- package/dist/types/pub-sub/subscription.d.ts.map +1 -0
- package/package.json +6 -1
- package/src/criteria/criteria.ts +3 -8
- package/src/criteria/index.ts +0 -1
- package/src/index.ts +1 -0
- package/src/pub-sub/index.ts +2 -0
- package/src/pub-sub/publisher.ts +3 -0
- package/src/pub-sub/subscription.ts +6 -0
- package/src/criteria/filter-criterion.ts +0 -6
package/CHANGELOG
CHANGED
|
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.1.0] - 2025-10-16
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Added `pub-sub` module.
|
|
13
|
+
|
|
14
|
+
## [3.0.0] - 2025-10-15
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Update how filters are stored in the `Criteria` to allow multiple filters over one field.
|
|
19
|
+
|
|
8
20
|
## [2.6.0] - 2025-10-14
|
|
9
21
|
|
|
10
22
|
### Added
|
package/README.md
CHANGED
|
@@ -39,6 +39,11 @@ npm install @schorts/shared-kernel --save
|
|
|
39
39
|
- **EventSubscriber:** Interface for subscribing to specific event types with clean, type-safe handlers.
|
|
40
40
|
- **InMemoryEventStore:** Simple event store for tracking and replaying events, with retry metadata and bounded requeue support.
|
|
41
41
|
|
|
42
|
+
### ๐ก Pub-Sub
|
|
43
|
+
|
|
44
|
+
- **Publisher:** Abstract interface for dispatching real-time events to external transports (e.g., Pusher, Socket.IO). Designed for event delivery, enabling type-safe, decoupled publishing from domain logic.
|
|
45
|
+
- **Subscription:** Client-side abstraction for subscribing to real-time channels and binding event handlers. Supports channel access and dynamic event routing.
|
|
46
|
+
|
|
42
47
|
### ๐งน Formatters
|
|
43
48
|
|
|
44
49
|
- **PascalCamelToSnake:** Utility for converting PascalCase or camelCase to snake_case.
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Criteria = void 0;
|
|
4
4
|
const exceptions_1 = require("./exceptions");
|
|
5
5
|
class Criteria {
|
|
6
|
-
filters =
|
|
6
|
+
filters = [];
|
|
7
7
|
orders = [];
|
|
8
8
|
limit;
|
|
9
9
|
offset;
|
|
10
10
|
where(field, operator, value) {
|
|
11
|
-
this.filters
|
|
11
|
+
this.filters.push({ field, operator, value });
|
|
12
12
|
return this;
|
|
13
13
|
}
|
|
14
14
|
orderBy(field, direction = "ASC") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../../src/criteria/criteria.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../../src/criteria/criteria.ts"],"names":[],"mappings":";;;AAGA,6CAA6D;AAE7D,MAAa,QAAQ;IACV,OAAO,GAA6D,EAAE,CAAC;IACvE,MAAM,GAAiB,EAAE,CAAC;IACnC,KAAK,CAAU;IACf,MAAM,CAAU;IAEhB,KAAK,CAAC,KAAa,EAAE,QAAkB,EAAE,KAAU;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAa,EACb,YAAuB,KAAK;QAE5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAEvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,0BAAa,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,2BAAc,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAxCD,4BAwCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/criteria/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/criteria/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,+CAA6B"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -26,6 +26,7 @@ __exportStar(require("./i18n"), exports);
|
|
|
26
26
|
__exportStar(require("./json-api"), exports);
|
|
27
27
|
__exportStar(require("./messages"), exports);
|
|
28
28
|
__exportStar(require("./models"), exports);
|
|
29
|
+
__exportStar(require("./pub-sub"), exports);
|
|
29
30
|
__exportStar(require("./rbac"), exports);
|
|
30
31
|
__exportStar(require("./result"), exports);
|
|
31
32
|
__exportStar(require("./state-manager"), exports);
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pub-sub/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../src/pub-sub/publisher.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../src/pub-sub/subscription.ts"],"names":[],"mappings":""}
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Criteria = void 0;
|
|
4
4
|
const exceptions_1 = require("./exceptions");
|
|
5
5
|
class Criteria {
|
|
6
|
-
filters =
|
|
6
|
+
filters = [];
|
|
7
7
|
orders = [];
|
|
8
8
|
limit;
|
|
9
9
|
offset;
|
|
10
10
|
where(field, operator, value) {
|
|
11
|
-
this.filters
|
|
11
|
+
this.filters.push({ field, operator, value });
|
|
12
12
|
return this;
|
|
13
13
|
}
|
|
14
14
|
orderBy(field, direction = "ASC") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../../src/criteria/criteria.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../../src/criteria/criteria.ts"],"names":[],"mappings":";;;AAGA,6CAA6D;AAE7D,MAAa,QAAQ;IACV,OAAO,GAA6D,EAAE,CAAC;IACvE,MAAM,GAAiB,EAAE,CAAC;IACnC,KAAK,CAAU;IACf,MAAM,CAAU;IAEhB,KAAK,CAAC,KAAa,EAAE,QAAkB,EAAE,KAAU;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAa,EACb,YAAuB,KAAK;QAE5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAEvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,0BAAa,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,MAAc;QAC1B,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,2BAAc,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAxCD,4BAwCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/criteria/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/criteria/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,+CAA6B"}
|
package/dist/esm/index.js
CHANGED
|
@@ -26,6 +26,7 @@ __exportStar(require("./i18n"), exports);
|
|
|
26
26
|
__exportStar(require("./json-api"), exports);
|
|
27
27
|
__exportStar(require("./messages"), exports);
|
|
28
28
|
__exportStar(require("./models"), exports);
|
|
29
|
+
__exportStar(require("./pub-sub"), exports);
|
|
29
30
|
__exportStar(require("./rbac"), exports);
|
|
30
31
|
__exportStar(require("./result"), exports);
|
|
31
32
|
__exportStar(require("./state-manager"), exports);
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,6CAA2B;AAC3B,wCAAsB;AACtB,kDAAgC;AAChC,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,iDAA+B;AAC/B,0CAAwB;AACxB,kDAAgC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pub-sub/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../../src/pub-sub/publisher.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../../src/pub-sub/subscription.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { FilterCriterion } from "./filter-criterion";
|
|
2
1
|
import { Order } from "./order";
|
|
3
2
|
import { Operator } from "./operator";
|
|
4
3
|
import { Direction } from "./direction";
|
|
5
4
|
export declare class Criteria {
|
|
6
|
-
readonly filters:
|
|
5
|
+
readonly filters: Array<{
|
|
6
|
+
field: string;
|
|
7
|
+
operator: Operator;
|
|
8
|
+
value: any;
|
|
9
|
+
}>;
|
|
7
10
|
readonly orders: Array<Order>;
|
|
8
11
|
limit?: number;
|
|
9
12
|
offset?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../../src/criteria/criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../../src/criteria/criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,qBAAa,QAAQ;IACnB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAM;IAChF,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAM;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,QAAQ;IAM9D,OAAO,CACL,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,SAAiB,GAC3B,QAAQ;IAMX,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAUrC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;CASxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/criteria/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/criteria/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,cAAc,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,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,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,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,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,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,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pub-sub/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../../src/pub-sub/publisher.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../src/pub-sub/subscription.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,IAAI,IAAI,CAAC;IAChB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAC;IACjF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,IAAI,IAAI,CAAC;CACpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schorts/shared-kernel",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.0",
|
|
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",
|
|
@@ -71,6 +71,11 @@
|
|
|
71
71
|
"require": "./dist/cjs/models/index.js",
|
|
72
72
|
"types": "./dist/types/models/index.d.ts"
|
|
73
73
|
},
|
|
74
|
+
"./pub-sub": {
|
|
75
|
+
"import": "./dist/esm/pub-sub/index.js",
|
|
76
|
+
"require": "./dist/cjs/pub-sub/index.js",
|
|
77
|
+
"types": "./dist/types/pub-sub/index.d.ts"
|
|
78
|
+
},
|
|
74
79
|
"./rbac": {
|
|
75
80
|
"import": "./dist/esm/rbac/index.js",
|
|
76
81
|
"require": "./dist/cjs/rbac/index.js",
|
package/src/criteria/criteria.ts
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
import { FilterCriterion } from "./filter-criterion";
|
|
2
1
|
import { Order } from "./order";
|
|
3
2
|
import { Operator } from "./operator";
|
|
4
3
|
import { Direction } from "./direction";
|
|
5
4
|
import { OffsetNotValid, LimitNotValid } from "./exceptions";
|
|
6
5
|
|
|
7
6
|
export class Criteria {
|
|
8
|
-
readonly filters:
|
|
7
|
+
readonly filters: Array<{ field: string; operator: Operator; value: any }> = [];
|
|
9
8
|
readonly orders: Array<Order> = [];
|
|
10
9
|
limit?: number;
|
|
11
10
|
offset?: number;
|
|
12
11
|
|
|
13
|
-
where(
|
|
14
|
-
field
|
|
15
|
-
operator: Operator,
|
|
16
|
-
value: any,
|
|
17
|
-
): Criteria {
|
|
18
|
-
this.filters[field] = { value, operator };
|
|
12
|
+
where(field: string, operator: Operator, value: any): Criteria {
|
|
13
|
+
this.filters.push({ field, operator, value });
|
|
19
14
|
|
|
20
15
|
return this;
|
|
21
16
|
}
|
package/src/criteria/index.ts
CHANGED
package/src/index.ts
CHANGED