@tsed/sse 7.83.3 → 8.0.0-alpha.10

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 (33) hide show
  1. package/lib/esm/decorators/eventStream.js +1 -1
  2. package/lib/esm/decorators/eventStream.js.map +1 -1
  3. package/lib/esm/decorators/eventStreamCtx.js.map +1 -1
  4. package/lib/esm/domain/EventStreamContext.js +1 -2
  5. package/lib/esm/domain/EventStreamContext.js.map +1 -1
  6. package/lib/esm/interceptors/EventStreamInterceptor.js +1 -1
  7. package/lib/esm/interceptors/EventStreamInterceptor.js.map +1 -1
  8. package/lib/esm/middlewares/EventStreamMiddleware.js.map +1 -1
  9. package/lib/types/decorators/eventStreamCtx.d.ts +1 -1
  10. package/lib/types/domain/EventStreamContext.d.ts +3 -3
  11. package/package.json +27 -25
  12. package/vitest.config.mts +5 -5
  13. package/.nycrc +0 -27
  14. package/lib/cjs/decorators/eventStream.js +0 -12
  15. package/lib/cjs/decorators/eventStream.js.map +0 -1
  16. package/lib/cjs/decorators/eventStreamCtx.js +0 -9
  17. package/lib/cjs/decorators/eventStreamCtx.js.map +0 -1
  18. package/lib/cjs/domain/EventStreamContext.js +0 -108
  19. package/lib/cjs/domain/EventStreamContext.js.map +0 -1
  20. package/lib/cjs/index.js +0 -12
  21. package/lib/cjs/index.js.map +0 -1
  22. package/lib/cjs/interceptors/EventStreamInterceptor.js +0 -33
  23. package/lib/cjs/interceptors/EventStreamInterceptor.js.map +0 -1
  24. package/lib/cjs/middlewares/EventStreamMiddleware.js +0 -33
  25. package/lib/cjs/middlewares/EventStreamMiddleware.js.map +0 -1
  26. package/lib/cjs/package.json +0 -3
  27. package/lib/esm/package.json +0 -3
  28. package/lib/types-esm/decorators/eventStream.d.ts +0 -5
  29. package/lib/types-esm/decorators/eventStreamCtx.d.ts +0 -3
  30. package/lib/types-esm/domain/EventStreamContext.d.ts +0 -24
  31. package/lib/types-esm/index.d.ts +0 -8
  32. package/lib/types-esm/interceptors/EventStreamInterceptor.d.ts +0 -6
  33. package/lib/types-esm/middlewares/EventStreamMiddleware.d.ts +0 -4
@@ -1,6 +1,6 @@
1
1
  import { StoreSet, useDecorators } from "@tsed/core";
2
2
  import { Use } from "@tsed/platform-middlewares";
3
- import { Header, AcceptMime } from "@tsed/schema";
3
+ import { AcceptMime, Header } from "@tsed/schema";
4
4
  import { EventStreamMiddleware } from "../middlewares/EventStreamMiddleware.js";
5
5
  export function EventStream(opts = {}) {
6
6
  return useDecorators(StoreSet(EventStreamMiddleware, opts), Use(EventStreamMiddleware), AcceptMime("text/event-stream"), Header("Content-Type", "text/event-stream"));
@@ -1 +1 @@
1
- {"version":3,"file":"eventStream.js","sourceRoot":"","sources":["../../../src/decorators/eventStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAO3E,MAAM,UAAU,WAAW,CAAC,OAAwB,EAAE;IACpD,OAAO,aAAa,CAClB,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAC,EACrC,GAAG,CAAC,qBAAqB,CAAC,EAC1B,UAAU,CAAC,mBAAmB,CAAC,EAC/B,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"eventStream.js","sourceRoot":"","sources":["../../../src/decorators/eventStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAE,MAAM,EAAC,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yCAAyC,CAAC;AAO9E,MAAM,UAAU,WAAW,CAAC,OAAwB,EAAE;IACpD,OAAO,aAAa,CAClB,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAC,EACrC,GAAG,CAAC,qBAAqB,CAAC,EAC1B,UAAU,CAAC,mBAAmB,CAAC,EAC/B,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAC5C,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"eventStreamCtx.js","sourceRoot":"","sources":["../../../src/decorators/eventStreamCtx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAK9C,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"eventStreamCtx.js","sourceRoot":"","sources":["../../../src/decorators/eventStreamCtx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAM9C,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACvC,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import { isBoolean, isDate, isNumber, isString } from "@tsed/core";
2
2
  import { PlatformResponseFilter } from "@tsed/platform-response-filter";
3
3
  export class EventStreamContext {
4
- #isDone;
4
+ #isDone = false;
5
5
  constructor({ $ctx, ...opts }) {
6
- this.#isDone = false;
7
6
  this.$ctx = $ctx;
8
7
  this.opts = opts;
9
8
  this.responseFilter = this.$ctx.injector.get(PlatformResponseFilter);
@@ -1 +1 @@
1
- {"version":3,"file":"EventStreamContext.js","sourceRoot":"","sources":["../../../src/domain/EventStreamContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventStreamContext.js","sourceRoot":"","sources":["../../../src/domain/EventStreamContext.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { InjectContext } from "@tsed/common";
3
- import { isStream, isObservable } from "@tsed/core";
3
+ import { isObservable, isStream } from "@tsed/core";
4
4
  import { Injectable } from "@tsed/di";
5
5
  let EventStreamInterceptor = class EventStreamInterceptor {
6
6
  async intercept(context) {
@@ -1 +1 @@
1
- {"version":3,"file":"EventStreamInterceptor.js","sourceRoot":"","sources":["../../../src/interceptors/EventStreamInterceptor.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAElD,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAK7B,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAIjC,KAAK,CAAC,SAAS,CAAC,OAA2B;QACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,oBAAoB,CAAC,CAAC;QAE5E,IAAI,WAAW,EAAE;YACf,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;gBACxB,WAAW,CAAC,SAAS,CAAC,MAA6B,CAAC,CAAC;gBAErD,OAAO;aACR;YAED,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACpB,WAAW,CAAC,MAAM,CAAC,MAA+B,CAAC,CAAC;gBAEpD,OAAO;aACR;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAvBC;IAAC,aAAa,EAAE;;oDACgB;AAFrB,sBAAsB;IADlC,UAAU,EAAE;GACA,sBAAsB,CAwBlC;SAxBY,sBAAsB"}
1
+ {"version":3,"file":"EventStreamInterceptor.js","sourceRoot":"","sources":["../../../src/interceptors/EventStreamInterceptor.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAElD,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAM7B,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAIjC,KAAK,CAAC,SAAS,CAAC,OAA2B;QACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,oBAAoB,CAAC,CAAC;QAE5E,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,WAAW,CAAC,SAAS,CAAC,MAA6B,CAAC,CAAC;gBAErD,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrB,WAAW,CAAC,MAAM,CAAC,MAA+B,CAAC,CAAC;gBAEpD,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAtBW;IADT,aAAa,EAAE;;oDACgB;AAFrB,sBAAsB;IADlC,UAAU,EAAE;GACA,sBAAsB,CAwBlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventStreamMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/EventStreamMiddleware.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAC,OAAO,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAGzD,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAChC,GAAG,CAAY,IAAqB;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAqB,EAAE,EAAE,CAAC,CAAC;QAEhE,qBAAqB;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;QAE7B,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC;YACzC,IAAI;YACJ,GAAG,IAAI;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAE5C,WAAW,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF,CAAA;AAhBC;IAAK,WAAA,OAAO,EAAE,CAAA;;qCAAO,eAAe;;gDAenC;AAhBU,qBAAqB;IADjC,UAAU,EAAE;GACA,qBAAqB,CAiBjC;SAjBY,qBAAqB"}
1
+ {"version":3,"file":"EventStreamMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/EventStreamMiddleware.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAC,OAAO,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAG5D,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAChC,GAAG,CAAY,IAAqB;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAqB,EAAE,EAAE,CAAC,CAAC;QAEhE,qBAAqB;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;QAE7B,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC;YACzC,IAAI;YACJ,GAAG,IAAI;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAE5C,WAAW,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF,CAAA;AAhBC;IAAK,WAAA,OAAO,EAAE,CAAA;;qCAAO,eAAe;;gDAenC;AAhBU,qBAAqB;IADjC,UAAU,EAAE;GACA,qBAAqB,CAiBjC"}
@@ -1,3 +1,3 @@
1
- import type { EventStreamContext } from "../domain/EventStreamContext";
1
+ import type { EventStreamContext } from "../domain/EventStreamContext.js";
2
2
  export type EventStreamCtx = EventStreamContext;
3
3
  export declare function EventStreamCtx(): ParameterDecorator;
@@ -1,9 +1,9 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
3
  import { PlatformContext } from "@tsed/common";
4
4
  import type { EventEmitter } from "events";
5
5
  import type { Observable } from "rxjs";
6
- import type { EventStreamOpts } from "../decorators/eventStream";
6
+ import type { EventStreamOpts } from "../decorators/eventStream.js";
7
7
  export type EventStreamContextOptions = {
8
8
  $ctx: PlatformContext;
9
9
  } & EventStreamOpts;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@tsed/sse",
3
3
  "description": "Server-sent events package for Ts.ED framework",
4
- "type": "commonjs",
5
- "version": "7.83.3",
4
+ "type": "module",
5
+ "version": "8.0.0-alpha.10",
6
6
  "keywords": [
7
7
  "tsed",
8
8
  "server-sent events",
@@ -11,15 +11,14 @@
11
11
  "realtime"
12
12
  ],
13
13
  "source": "./src/index.ts",
14
- "main": "./lib/cjs/index.js",
14
+ "main": "./lib/esm/index.js",
15
15
  "module": "./lib/esm/index.js",
16
16
  "typings": "./lib/types/index.d.ts",
17
17
  "exports": {
18
18
  ".": {
19
19
  "types": "./lib/types/index.d.ts",
20
20
  "import": "./lib/esm/index.js",
21
- "require": "./lib/cjs/index.js",
22
- "default": "./lib/cjs/index.js"
21
+ "default": "./lib/esm/index.js"
23
22
  }
24
23
  },
25
24
  "scripts": {
@@ -31,30 +30,30 @@
31
30
  "test:ci": "vitest run --coverage.thresholds.autoUpdate=true"
32
31
  },
33
32
  "dependencies": {
34
- "tslib": "2.6.1"
33
+ "tslib": "2.7.0"
35
34
  },
36
35
  "devDependencies": {
37
- "@tsed/barrels": "7.83.3",
38
- "@tsed/common": "7.83.3",
39
- "@tsed/core": "7.83.3",
40
- "@tsed/di": "7.83.3",
41
- "@tsed/json-mapper": "7.83.3",
42
- "@tsed/openspec": "7.83.3",
43
- "@tsed/platform-middlewares": "7.83.3",
44
- "@tsed/schema": "7.83.3",
45
- "@tsed/socketio-testing": "7.83.3",
46
- "@tsed/typescript": "7.83.3",
47
- "eslint": "^8.57.0",
48
- "express": "^4.19.1",
49
- "typescript": "4.9.5",
50
- "vitest": "2.0.4"
36
+ "@tsed/barrels": "8.0.0-alpha.10",
37
+ "@tsed/common": "8.0.0-alpha.10",
38
+ "@tsed/core": "8.0.0-alpha.10",
39
+ "@tsed/di": "8.0.0-alpha.10",
40
+ "@tsed/json-mapper": "8.0.0-alpha.10",
41
+ "@tsed/openspec": "8.0.0-alpha.10",
42
+ "@tsed/platform-middlewares": "8.0.0-alpha.10",
43
+ "@tsed/schema": "8.0.0-alpha.10",
44
+ "@tsed/socketio-testing": "8.0.0-alpha.10",
45
+ "@tsed/typescript": "8.0.0-alpha.10",
46
+ "eslint": "9.12.0",
47
+ "express": "^4.21.0",
48
+ "typescript": "5.4.5",
49
+ "vitest": "2.1.2"
51
50
  },
52
51
  "peerDependencies": {
53
- "@tsed/di": "7.83.3",
54
- "@tsed/json-mapper": "7.83.3",
52
+ "@tsed/di": "8.0.0-alpha.10",
53
+ "@tsed/json-mapper": "8.0.0-alpha.10",
55
54
  "@tsed/logger": ">=6.7.5",
56
- "@tsed/platform-middlewares": "7.83.3",
57
- "@tsed/schema": "7.83.3"
55
+ "@tsed/platform-middlewares": "8.0.0-alpha.10",
56
+ "@tsed/schema": "8.0.0-alpha.10"
58
57
  },
59
58
  "peerDependenciesMeta": {
60
59
  "@tsed/di": {
@@ -76,5 +75,8 @@
76
75
  },
77
76
  "homepage": "https://github.com/tsedio/tsed/tree/production/packages/third-parties/sse",
78
77
  "author": "Romain Lenzotti",
79
- "license": "MIT"
78
+ "license": "MIT",
79
+ "publishConfig": {
80
+ "tag": "alpha"
81
+ }
80
82
  }
package/vitest.config.mts CHANGED
@@ -10,12 +10,12 @@ export default defineConfig(
10
10
  coverage: {
11
11
  ...presets.test.coverage,
12
12
  thresholds: {
13
- statements: 0,
14
- branches: 0,
15
- functions: 0,
16
- lines: 0
13
+ statements: 51.61,
14
+ branches: 75,
15
+ functions: 64.28,
16
+ lines: 51.61
17
17
  }
18
18
  }
19
19
  }
20
20
  }
21
- );
21
+ );
package/.nycrc DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "include": [
3
- "src/**/*.ts"
4
- ],
5
- "exclude": [
6
- "**/*.spec.ts",
7
- "**/*.d.ts",
8
- "node_modules",
9
- "**/interfaces/**",
10
- "**/index.ts"
11
- ],
12
- "extension": [
13
- ".ts"
14
- ],
15
- "require": [],
16
- "reporter": [
17
- "text-summary",
18
- "html",
19
- "lcov",
20
- "json"
21
- ],
22
- "check-coverage": true,
23
- "statements": 100,
24
- "branches": 81.56,
25
- "functions": 97.33,
26
- "lines": 100
27
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventStream = void 0;
4
- const core_1 = require("@tsed/core");
5
- const platform_middlewares_1 = require("@tsed/platform-middlewares");
6
- const schema_1 = require("@tsed/schema");
7
- const EventStreamMiddleware_1 = require("../middlewares/EventStreamMiddleware");
8
- function EventStream(opts = {}) {
9
- return (0, core_1.useDecorators)((0, core_1.StoreSet)(EventStreamMiddleware_1.EventStreamMiddleware, opts), (0, platform_middlewares_1.Use)(EventStreamMiddleware_1.EventStreamMiddleware), (0, schema_1.AcceptMime)("text/event-stream"), (0, schema_1.Header)("Content-Type", "text/event-stream"));
10
- }
11
- exports.EventStream = EventStream;
12
- //# sourceMappingURL=eventStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eventStream.js","sourceRoot":"","sources":["../../../src/decorators/eventStream.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AACnD,qEAA+C;AAC/C,yCAAgD;AAChD,gFAA2E;AAO3E,SAAgB,WAAW,CAAC,OAAwB,EAAE;IACpD,OAAO,IAAA,oBAAa,EAClB,IAAA,eAAQ,EAAC,6CAAqB,EAAE,IAAI,CAAC,EACrC,IAAA,0BAAG,EAAC,6CAAqB,CAAC,EAC1B,IAAA,mBAAU,EAAC,mBAAmB,CAAC,EAC/B,IAAA,eAAM,EAAC,cAAc,EAAE,mBAAmB,CAAC,CAC5C,CAAC;AACJ,CAAC;AAPD,kCAOC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventStreamCtx = void 0;
4
- const platform_params_1 = require("@tsed/platform-params");
5
- function EventStreamCtx() {
6
- return (0, platform_params_1.Context)("EventStreamContext");
7
- }
8
- exports.EventStreamCtx = EventStreamCtx;
9
- //# sourceMappingURL=eventStreamCtx.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eventStreamCtx.js","sourceRoot":"","sources":["../../../src/decorators/eventStreamCtx.ts"],"names":[],"mappings":";;;AAAA,2DAA8C;AAK9C,SAAgB,cAAc;IAC5B,OAAO,IAAA,yBAAO,EAAC,oBAAoB,CAAC,CAAC;AACvC,CAAC;AAFD,wCAEC"}
@@ -1,108 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventStreamContext = void 0;
4
- const core_1 = require("@tsed/core");
5
- const platform_response_filter_1 = require("@tsed/platform-response-filter");
6
- class EventStreamContext {
7
- #isDone;
8
- constructor({ $ctx, ...opts }) {
9
- this.#isDone = false;
10
- this.$ctx = $ctx;
11
- this.opts = opts;
12
- this.responseFilter = this.$ctx.injector.get(platform_response_filter_1.PlatformResponseFilter);
13
- }
14
- writeHead(headers = {}) {
15
- console.log("this.$ctx", this.$ctx);
16
- this.on("end", () => {
17
- this.$ctx.logger.info({
18
- event: "SSE_ENDED"
19
- });
20
- this.$ctx.getRes().end();
21
- this.#isDone = true;
22
- });
23
- this.on("close", () => {
24
- this.$ctx.logger.info({
25
- event: "SSE_CLOSED_BY_CLIENT"
26
- });
27
- this.$ctx.getRes().end();
28
- this.#isDone = true;
29
- });
30
- this.$ctx.getRes().writeHead(200, {
31
- ...this.opts.headers,
32
- ...headers,
33
- "Content-Type": "text/event-stream",
34
- "Cache-Control": "no-cache",
35
- Connection: "keep-alive"
36
- });
37
- }
38
- on(event, listener) {
39
- this.$ctx.getRes().on(event, listener);
40
- return this;
41
- }
42
- subscribe(observable) {
43
- observable.subscribe((data) => {
44
- this.emit(this.opts.event, data);
45
- });
46
- return this;
47
- }
48
- stream(stream) {
49
- const listener = (data) => {
50
- if (this.isDone()) {
51
- stream.off("data", listener);
52
- }
53
- else {
54
- this.emit(this.opts.event, data);
55
- }
56
- };
57
- stream.on("data", listener);
58
- }
59
- emit(event, data) {
60
- if (this.isDone()) {
61
- return;
62
- }
63
- const { $ctx } = this;
64
- if (data === undefined) {
65
- return this;
66
- }
67
- if (Buffer.isBuffer(data)) {
68
- data = data.toString("utf8");
69
- }
70
- if ((0, core_1.isBoolean)(data) || (0, core_1.isNumber)(data) || (0, core_1.isString)(data) || (0, core_1.isDate)(data) || data === null) {
71
- this.write({
72
- event: event || "",
73
- data: JSON.stringify(data)
74
- });
75
- return this;
76
- }
77
- this.responseFilter
78
- .serialize(data, $ctx)
79
- .then((data) => {
80
- return this.responseFilter.transform(data, $ctx);
81
- })
82
- .then((data) => {
83
- data = JSON.stringify(data);
84
- this.write({
85
- event: event || "",
86
- data: data
87
- });
88
- });
89
- return this;
90
- }
91
- write(obj) {
92
- const values = Object.entries(obj)
93
- .map(([key, value]) => {
94
- return `${key}: ${value}`;
95
- })
96
- .join("\n");
97
- this.$ctx.getRes().write(`${values}\n\n`);
98
- }
99
- isDone() {
100
- return this.#isDone;
101
- }
102
- end() {
103
- this.#isDone = true;
104
- this.$ctx.getRes().end();
105
- }
106
- }
107
- exports.EventStreamContext = EventStreamContext;
108
- //# sourceMappingURL=EventStreamContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventStreamContext.js","sourceRoot":"","sources":["../../../src/domain/EventStreamContext.ts"],"names":[],"mappings":"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"}
package/lib/cjs/index.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- /**
5
- * @file Automatically generated by @tsed/barrels.
6
- */
7
- tslib_1.__exportStar(require("./decorators/eventStream.js"), exports);
8
- tslib_1.__exportStar(require("./decorators/eventStreamCtx.js"), exports);
9
- tslib_1.__exportStar(require("./domain/EventStreamContext.js"), exports);
10
- tslib_1.__exportStar(require("./interceptors/EventStreamInterceptor.js"), exports);
11
- tslib_1.__exportStar(require("./middlewares/EventStreamMiddleware.js"), exports);
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,sEAA4C;AAC5C,yEAA+C;AAC/C,yEAA+C;AAC/C,mFAAyD;AACzD,iFAAuD"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventStreamInterceptor = void 0;
4
- const tslib_1 = require("tslib");
5
- const common_1 = require("@tsed/common");
6
- const core_1 = require("@tsed/core");
7
- const di_1 = require("@tsed/di");
8
- let EventStreamInterceptor = class EventStreamInterceptor {
9
- async intercept(context) {
10
- const result = await context.next();
11
- const eventStream = this.$ctx.get("EventStreamContext");
12
- if (eventStream) {
13
- if ((0, core_1.isObservable)(result)) {
14
- eventStream.subscribe(result);
15
- return;
16
- }
17
- if ((0, core_1.isStream)(result)) {
18
- eventStream.stream(result);
19
- return;
20
- }
21
- }
22
- return result;
23
- }
24
- };
25
- tslib_1.__decorate([
26
- (0, common_1.InjectContext)(),
27
- tslib_1.__metadata("design:type", Function)
28
- ], EventStreamInterceptor.prototype, "$ctx", void 0);
29
- EventStreamInterceptor = tslib_1.__decorate([
30
- (0, di_1.Injectable)()
31
- ], EventStreamInterceptor);
32
- exports.EventStreamInterceptor = EventStreamInterceptor;
33
- //# sourceMappingURL=EventStreamInterceptor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventStreamInterceptor.js","sourceRoot":"","sources":["../../../src/interceptors/EventStreamInterceptor.ts"],"names":[],"mappings":";;;;AACA,yCAA2C;AAC3C,qCAAkD;AAElD,iCAAoC;AAK7B,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAIjC,KAAK,CAAC,SAAS,CAAC,OAA2B;QACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,oBAAoB,CAAC,CAAC;QAE5E,IAAI,WAAW,EAAE;YACf,IAAI,IAAA,mBAAY,EAAC,MAAM,CAAC,EAAE;gBACxB,WAAW,CAAC,SAAS,CAAC,MAA6B,CAAC,CAAC;gBAErD,OAAO;aACR;YAED,IAAI,IAAA,eAAQ,EAAC,MAAM,CAAC,EAAE;gBACpB,WAAW,CAAC,MAAM,CAAC,MAA+B,CAAC,CAAC;gBAEpD,OAAO;aACR;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAvBC;IAAC,IAAA,sBAAa,GAAE;;oDACgB;AAFrB,sBAAsB;IADlC,IAAA,eAAU,GAAE;GACA,sBAAsB,CAwBlC;AAxBY,wDAAsB"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var EventStreamMiddleware_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.EventStreamMiddleware = void 0;
5
- const tslib_1 = require("tslib");
6
- const common_1 = require("@tsed/common");
7
- const platform_middlewares_1 = require("@tsed/platform-middlewares");
8
- const EventStreamContext_1 = require("../domain/EventStreamContext");
9
- let EventStreamMiddleware = EventStreamMiddleware_1 = class EventStreamMiddleware {
10
- use($ctx) {
11
- const opts = $ctx.endpoint.store.get(EventStreamMiddleware_1, {});
12
- // Enable stream logs
13
- $ctx.logger.flush();
14
- $ctx.logger.maxStackSize = 0;
15
- const eventStream = new EventStreamContext_1.EventStreamContext({
16
- $ctx,
17
- ...opts
18
- });
19
- $ctx.set("EventStreamContext", eventStream);
20
- eventStream.writeHead();
21
- }
22
- };
23
- tslib_1.__decorate([
24
- tslib_1.__param(0, (0, common_1.Context)()),
25
- tslib_1.__metadata("design:type", Function),
26
- tslib_1.__metadata("design:paramtypes", [common_1.PlatformContext]),
27
- tslib_1.__metadata("design:returntype", void 0)
28
- ], EventStreamMiddleware.prototype, "use", null);
29
- EventStreamMiddleware = EventStreamMiddleware_1 = tslib_1.__decorate([
30
- (0, platform_middlewares_1.Middleware)()
31
- ], EventStreamMiddleware);
32
- exports.EventStreamMiddleware = EventStreamMiddleware;
33
- //# sourceMappingURL=EventStreamMiddleware.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventStreamMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/EventStreamMiddleware.ts"],"names":[],"mappings":";;;;;AAAA,yCAAsD;AACtD,qEAAsD;AACtD,qEAAgE;AAGzD,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAChC,GAAG,CAAY,IAAqB;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAqB,EAAE,EAAE,CAAC,CAAC;QAEhE,qBAAqB;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;QAE7B,MAAM,WAAW,GAAG,IAAI,uCAAkB,CAAC;YACzC,IAAI;YACJ,GAAG,IAAI;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAE5C,WAAW,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF,CAAA;AAhBC;IAAK,mBAAA,IAAA,gBAAO,GAAE,CAAA;;6CAAO,wBAAe;;gDAenC;AAhBU,qBAAqB;IADjC,IAAA,iCAAU,GAAE;GACA,qBAAqB,CAiBjC;AAjBY,sDAAqB"}
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }
@@ -1,5 +0,0 @@
1
- export interface EventStreamOpts {
2
- headers?: Record<string, string>;
3
- event?: string;
4
- }
5
- export declare function EventStream(opts?: EventStreamOpts): any;
@@ -1,3 +0,0 @@
1
- import type { EventStreamContext } from "../domain/EventStreamContext";
2
- export type EventStreamCtx = EventStreamContext;
3
- export declare function EventStreamCtx(): ParameterDecorator;
@@ -1,24 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { PlatformContext } from "@tsed/common";
4
- import type { EventEmitter } from "events";
5
- import type { Observable } from "rxjs";
6
- import type { EventStreamOpts } from "../decorators/eventStream";
7
- export type EventStreamContextOptions = {
8
- $ctx: PlatformContext;
9
- } & EventStreamOpts;
10
- export declare class EventStreamContext {
11
- #private;
12
- private $ctx;
13
- private opts;
14
- private responseFilter;
15
- constructor({ $ctx, ...opts }: EventStreamContextOptions);
16
- writeHead(headers?: Record<string, string>): void;
17
- on(event: string, listener: (...args: any[]) => void): this;
18
- subscribe(observable: Observable<unknown>): this;
19
- stream(stream: NodeJS.ReadableStream | EventEmitter): void;
20
- emit(event: string | undefined, data: unknown): this | undefined;
21
- write(obj: Record<string, string>): void;
22
- isDone(): boolean;
23
- end(): void;
24
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * @file Automatically generated by @tsed/barrels.
3
- */
4
- export * from "./decorators/eventStream.js";
5
- export * from "./decorators/eventStreamCtx.js";
6
- export * from "./domain/EventStreamContext.js";
7
- export * from "./interceptors/EventStreamInterceptor.js";
8
- export * from "./middlewares/EventStreamMiddleware.js";
@@ -1,6 +0,0 @@
1
- import type { PlatformContext } from "@tsed/common";
2
- import type { InterceptorContext, InterceptorMethods } from "@tsed/di";
3
- export declare class EventStreamInterceptor implements InterceptorMethods {
4
- protected $ctx: PlatformContext;
5
- intercept(context: InterceptorContext): Promise<unknown>;
6
- }
@@ -1,4 +0,0 @@
1
- import { PlatformContext } from "@tsed/common";
2
- export declare class EventStreamMiddleware {
3
- use($ctx: PlatformContext): void;
4
- }