@trpc/server 10.0.0-alpha.43 → 10.0.0-alpha.46

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 (146) hide show
  1. package/adapters/aws-lambda/index.js +1 -1
  2. package/adapters/fastify/index.js +1 -1
  3. package/adapters/fetch/index.js +1 -1
  4. package/adapters/node-http/index.js +1 -1
  5. package/dist/TRPCError-6f61762c.mjs +54 -0
  6. package/dist/TRPCError-9c7830b4.js +58 -0
  7. package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
  8. package/dist/adapters/aws-lambda/index.js +119 -156
  9. package/dist/adapters/aws-lambda/index.mjs +119 -156
  10. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -1
  11. package/dist/adapters/express.d.ts.map +1 -1
  12. package/dist/adapters/express.js +14 -14
  13. package/dist/adapters/express.mjs +14 -14
  14. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  15. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
  16. package/dist/adapters/fastify/index.d.ts.map +1 -1
  17. package/dist/adapters/fastify/index.js +68 -89
  18. package/dist/adapters/fastify/index.mjs +68 -89
  19. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
  20. package/dist/adapters/fetch/index.d.ts.map +1 -1
  21. package/dist/adapters/fetch/index.js +45 -57
  22. package/dist/adapters/fetch/index.mjs +45 -57
  23. package/dist/adapters/fetch/types.d.ts.map +1 -1
  24. package/dist/adapters/lambda/index.d.ts.map +1 -1
  25. package/dist/adapters/next.d.ts.map +1 -1
  26. package/dist/adapters/next.js +42 -46
  27. package/dist/adapters/next.mjs +42 -46
  28. package/dist/adapters/node-http/index.d.ts.map +1 -1
  29. package/dist/adapters/node-http/index.js +5 -5
  30. package/dist/adapters/node-http/index.mjs +5 -5
  31. package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -1
  32. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  33. package/dist/adapters/node-http/types.d.ts.map +1 -1
  34. package/dist/adapters/standalone.d.ts.map +1 -1
  35. package/dist/adapters/standalone.js +30 -32
  36. package/dist/adapters/standalone.mjs +30 -32
  37. package/dist/adapters/ws.d.ts.map +1 -1
  38. package/dist/adapters/ws.js +272 -352
  39. package/dist/adapters/ws.mjs +272 -352
  40. package/dist/codes-1c24d919.js +47 -0
  41. package/dist/codes-aaa7d554.mjs +44 -0
  42. package/dist/core/index.d.ts.map +1 -1
  43. package/dist/core/initTRPC.d.ts.map +1 -1
  44. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts.map +1 -1
  45. package/dist/core/internals/config.d.ts.map +1 -1
  46. package/dist/core/internals/getParseFn.d.ts.map +1 -1
  47. package/dist/core/internals/mergeRouters.d.ts.map +1 -1
  48. package/dist/core/internals/mergeWithoutOverrides.d.ts.map +1 -1
  49. package/dist/core/internals/omitPrototype.d.ts.map +1 -1
  50. package/dist/core/internals/prefixObjectKeys.d.ts.map +1 -1
  51. package/dist/core/internals/procedureBuilder.d.ts.map +1 -1
  52. package/dist/core/internals/utils.d.ts.map +1 -1
  53. package/dist/core/middleware.d.ts.map +1 -1
  54. package/dist/core/parser.d.ts.map +1 -1
  55. package/dist/core/procedure.d.ts.map +1 -1
  56. package/dist/core/router.d.ts.map +1 -1
  57. package/dist/core/types.d.ts.map +1 -1
  58. package/dist/deprecated/internals/callProcedure.d.ts.map +1 -1
  59. package/dist/deprecated/internals/middlewares.d.ts.map +1 -1
  60. package/dist/deprecated/internals/procedure.d.ts.map +1 -1
  61. package/dist/deprecated/interop.d.ts.map +1 -1
  62. package/dist/deprecated/router.d.ts.map +1 -1
  63. package/dist/error/TRPCError.d.ts.map +1 -1
  64. package/dist/error/formatter.d.ts.map +1 -1
  65. package/dist/error/utils.d.ts.map +1 -1
  66. package/dist/http/index.d.ts.map +1 -1
  67. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
  68. package/dist/http/internals/types.d.ts.map +1 -1
  69. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  70. package/dist/http/types.d.ts.map +1 -1
  71. package/dist/index-47817162.mjs +26 -0
  72. package/dist/index-9d687d33.js +28 -0
  73. package/dist/index.js +59 -95
  74. package/dist/index.mjs +60 -96
  75. package/dist/internals/invert.d.ts.map +1 -1
  76. package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
  77. package/dist/internals/types.d.ts.map +1 -1
  78. package/dist/nodeHTTPRequestHandler-7c2a3037.js +82 -0
  79. package/dist/nodeHTTPRequestHandler-b37609f7.mjs +80 -0
  80. package/dist/observable/index.d.ts.map +1 -1
  81. package/dist/observable/index.js +125 -172
  82. package/dist/observable/index.mjs +125 -172
  83. package/dist/observable/internals/identity.d.ts.map +1 -1
  84. package/dist/observable/internals/observableToPromise.d.ts.map +1 -1
  85. package/dist/observable/internals/pipe.d.ts.map +1 -1
  86. package/dist/observable/observable.d.ts.map +1 -1
  87. package/dist/observable/operators/index.d.ts.map +1 -1
  88. package/dist/observable/operators/map.d.ts.map +1 -1
  89. package/dist/observable/operators/share.d.ts.map +1 -1
  90. package/dist/observable/operators/tap.d.ts.map +1 -1
  91. package/dist/observable/types.d.ts.map +1 -1
  92. package/dist/observable-b651bf11.js +84 -0
  93. package/dist/observable-e129ac9d.mjs +81 -0
  94. package/dist/resolveHTTPResponse-83703ee8.mjs +251 -0
  95. package/dist/resolveHTTPResponse-b486996d.js +255 -0
  96. package/dist/router-8372703e.js +886 -0
  97. package/dist/router-f21b6d06.mjs +876 -0
  98. package/dist/rpc/codes.d.ts.map +1 -1
  99. package/dist/rpc/envelopes.d.ts.map +1 -1
  100. package/dist/rpc/index.d.ts.map +1 -1
  101. package/dist/rpc/index.js +3 -7
  102. package/dist/rpc/index.mjs +1 -1
  103. package/dist/rpc/internals/invert.d.ts.map +1 -1
  104. package/dist/shared/createProxy/index.d.ts.map +1 -1
  105. package/dist/shared/index.d.ts.map +1 -1
  106. package/dist/shared/index.js +1 -1
  107. package/dist/shared/index.mjs +1 -1
  108. package/dist/subscription.js +24 -34
  109. package/dist/subscription.mjs +24 -34
  110. package/dist/transformTRPCResponse-11ac69cc.js +27 -0
  111. package/dist/transformTRPCResponse-c8138d5f.mjs +25 -0
  112. package/observable/index.js +1 -1
  113. package/package.json +12 -16
  114. package/rpc/index.js +1 -1
  115. package/shared/index.js +1 -1
  116. package/subscription/index.d.ts +1 -0
  117. package/subscription/index.js +1 -0
  118. package/dist/TRPCError-9050a68d.js +0 -69
  119. package/dist/TRPCError-97212592.mjs +0 -65
  120. package/dist/adapters/aws-lambda/index.ts.js +0 -1
  121. package/dist/adapters/express.ts.js +0 -1
  122. package/dist/adapters/fastify/index.ts.js +0 -1
  123. package/dist/adapters/fetch/index.ts.js +0 -1
  124. package/dist/adapters/next.ts.js +0 -1
  125. package/dist/adapters/node-http/index.ts.js +0 -1
  126. package/dist/adapters/standalone.ts.js +0 -1
  127. package/dist/adapters/ws.ts.js +0 -1
  128. package/dist/envelopes-2ae27c9f.js +0 -85
  129. package/dist/envelopes-b9f49d4d.mjs +0 -82
  130. package/dist/index-1a25ccbd.js +0 -33
  131. package/dist/index-a3bd54c7.mjs +0 -31
  132. package/dist/index.ts.js +0 -1
  133. package/dist/nodeHTTPRequestHandler-bee7aacc.js +0 -107
  134. package/dist/nodeHTTPRequestHandler-f1656eba.mjs +0 -105
  135. package/dist/observable/index.ts.js +0 -1
  136. package/dist/observable-341a0506.js +0 -109
  137. package/dist/observable-cfedfa30.mjs +0 -106
  138. package/dist/resolveHTTPResponse-455f1e51.mjs +0 -293
  139. package/dist/resolveHTTPResponse-5d90abc5.js +0 -297
  140. package/dist/router-4e50a6ac.js +0 -1104
  141. package/dist/router-a3db8f3a.mjs +0 -1094
  142. package/dist/rpc/index.ts.js +0 -1
  143. package/dist/shared/index.ts.js +0 -1
  144. package/dist/subscription.ts.js +0 -1
  145. package/dist/transformTRPCResponse-0c261655.js +0 -29
  146. package/dist/transformTRPCResponse-747b9a68.mjs +0 -27
@@ -1,82 +0,0 @@
1
- /**
2
- * @internal
3
- */
4
-
5
- /**
6
- * @internal
7
- */
8
-
9
- /**
10
- * @internal
11
- */
12
- function invert(obj) {
13
- const newObj = Object.create(null);
14
-
15
- for (const key in obj) {
16
- const v = obj[key];
17
- newObj[v] = key;
18
- }
19
-
20
- return newObj;
21
- }
22
-
23
- /**
24
- * JSON-RPC 2.0 Error codes
25
- *
26
- * `-32000` to `-32099` are reserved for implementation-defined server-errors.
27
- * For tRPC we're copying the last digits of HTTP 4XX errors.
28
- */
29
-
30
- const TRPC_ERROR_CODES_BY_KEY = {
31
- /**
32
- * Invalid JSON was received by the server.
33
- * An error occurred on the server while parsing the JSON text.
34
- */
35
- PARSE_ERROR: -32700,
36
-
37
- /**
38
- * The JSON sent is not a valid Request object.
39
- */
40
- BAD_REQUEST: -32600,
41
- // 400
42
-
43
- /**
44
- * Internal JSON-RPC error.
45
- */
46
- INTERNAL_SERVER_ERROR: -32603,
47
- // Implementation specific errors
48
- UNAUTHORIZED: -32001,
49
- // 401
50
- FORBIDDEN: -32003,
51
- // 403
52
- NOT_FOUND: -32004,
53
- // 404
54
- METHOD_NOT_SUPPORTED: -32005,
55
- // 405
56
- TIMEOUT: -32008,
57
- // 408
58
- CONFLICT: -32009,
59
- // 409
60
- PRECONDITION_FAILED: -32012,
61
- // 412
62
- PAYLOAD_TOO_LARGE: -32013,
63
- // 413
64
- CLIENT_CLOSED_REQUEST: -32099 // 499
65
-
66
- };
67
- const TRPC_ERROR_CODES_BY_NUMBER = /*#__PURE__*/invert(TRPC_ERROR_CODES_BY_KEY);
68
-
69
- /* eslint-disable @typescript-eslint/no-namespace */
70
-
71
- /**
72
- * Error response
73
- */
74
-
75
- /**
76
- * JSON-RPC 2.0 Specification
77
- */
78
- let JSONRPC2; /////////////////////////// HTTP envelopes ///////////////////////
79
-
80
- (function (_JSONRPC) {})(JSONRPC2 || (JSONRPC2 = {}));
81
-
82
- export { JSONRPC2 as J, TRPC_ERROR_CODES_BY_KEY as T, TRPC_ERROR_CODES_BY_NUMBER as a };
@@ -1,33 +0,0 @@
1
- 'use strict';
2
-
3
- function createProxyInner(callback, ...path) {
4
- const proxy = new Proxy(() => {// noop
5
- }, {
6
- get(_obj, name) {
7
- if (typeof name === 'string') {
8
- return createProxyInner(callback, ...path, name);
9
- }
10
-
11
- throw new Error('Not supported');
12
- },
13
-
14
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
- apply(_1, _2, args) {
16
- return callback({
17
- args,
18
- path
19
- });
20
- }
21
-
22
- });
23
- return proxy;
24
- }
25
- /**
26
- * Creates a proxy that calls the callback with the path and arguments
27
- * @internal
28
- */
29
-
30
-
31
- const createProxy = callback => createProxyInner(callback);
32
-
33
- exports.createProxy = createProxy;
@@ -1,31 +0,0 @@
1
- function createProxyInner(callback, ...path) {
2
- const proxy = new Proxy(() => {// noop
3
- }, {
4
- get(_obj, name) {
5
- if (typeof name === 'string') {
6
- return createProxyInner(callback, ...path, name);
7
- }
8
-
9
- throw new Error('Not supported');
10
- },
11
-
12
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
- apply(_1, _2, args) {
14
- return callback({
15
- args,
16
- path
17
- });
18
- }
19
-
20
- });
21
- return proxy;
22
- }
23
- /**
24
- * Creates a proxy that calls the callback with the path and arguments
25
- * @internal
26
- */
27
-
28
-
29
- const createProxy = callback => createProxyInner(callback);
30
-
31
- export { createProxy as c };
package/dist/index.ts.js DELETED
@@ -1 +0,0 @@
1
-
@@ -1,107 +0,0 @@
1
- 'use strict';
2
-
3
- var resolveHTTPResponse = require('./resolveHTTPResponse-5d90abc5.js');
4
- var TRPCError = require('./TRPCError-9050a68d.js');
5
-
6
- async function getPostBody({
7
- req,
8
- maxBodySize
9
- }) {
10
- return new Promise(resolve => {
11
- if ('body' in req) {
12
- resolve({
13
- ok: true,
14
- data: req.body
15
- });
16
- return;
17
- }
18
-
19
- let body = '';
20
- let hasBody = false;
21
- req.on('data', function (data) {
22
- body += data;
23
- hasBody = true;
24
-
25
- if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
26
- resolve({
27
- ok: false,
28
- error: new TRPCError.TRPCError({
29
- code: 'PAYLOAD_TOO_LARGE'
30
- })
31
- });
32
- req.socket.destroy();
33
- }
34
- });
35
- req.on('end', () => {
36
- resolve({
37
- ok: true,
38
- data: hasBody ? body : undefined
39
- });
40
- });
41
- });
42
- }
43
-
44
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
45
- resolveHTTPResponse.assertNotBrowser();
46
- async function nodeHTTPRequestHandler(opts) {
47
- var _opts$teardown;
48
-
49
- const createContext = async function _createContext() {
50
- var _opts$createContext;
51
-
52
- return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
53
- };
54
-
55
- const {
56
- path,
57
- router
58
- } = opts;
59
- const bodyResult = await getPostBody(opts);
60
- const query = opts.req.query ? new URLSearchParams(opts.req.query) : new URLSearchParams(opts.req.url.split('?')[1]);
61
- const req = {
62
- method: opts.req.method,
63
- headers: opts.req.headers,
64
- query,
65
- body: bodyResult.ok ? bodyResult.data : undefined
66
- };
67
- const result = await resolveHTTPResponse.resolveHTTPResponse({
68
- batching: opts.batching,
69
- responseMeta: opts.responseMeta,
70
- path,
71
- createContext,
72
- router,
73
- req,
74
- error: bodyResult.ok ? null : bodyResult.error,
75
-
76
- onError(o) {
77
- var _opts$onError;
78
-
79
- opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
80
- req: opts.req
81
- });
82
- }
83
-
84
- });
85
- const {
86
- res
87
- } = opts;
88
-
89
- if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
90
- res.statusCode = result.status;
91
- }
92
-
93
- for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
94
- var _result$headers;
95
-
96
- if (typeof value === 'undefined') {
97
- continue;
98
- }
99
-
100
- res.setHeader(key, value);
101
- }
102
-
103
- res.end(result.body);
104
- await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
105
- }
106
-
107
- exports.nodeHTTPRequestHandler = nodeHTTPRequestHandler;
@@ -1,105 +0,0 @@
1
- import { a as assertNotBrowser, r as resolveHTTPResponse } from './resolveHTTPResponse-455f1e51.mjs';
2
- import { T as TRPCError } from './TRPCError-97212592.mjs';
3
-
4
- async function getPostBody({
5
- req,
6
- maxBodySize
7
- }) {
8
- return new Promise(resolve => {
9
- if ('body' in req) {
10
- resolve({
11
- ok: true,
12
- data: req.body
13
- });
14
- return;
15
- }
16
-
17
- let body = '';
18
- let hasBody = false;
19
- req.on('data', function (data) {
20
- body += data;
21
- hasBody = true;
22
-
23
- if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
24
- resolve({
25
- ok: false,
26
- error: new TRPCError({
27
- code: 'PAYLOAD_TOO_LARGE'
28
- })
29
- });
30
- req.socket.destroy();
31
- }
32
- });
33
- req.on('end', () => {
34
- resolve({
35
- ok: true,
36
- data: hasBody ? body : undefined
37
- });
38
- });
39
- });
40
- }
41
-
42
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
43
- assertNotBrowser();
44
- async function nodeHTTPRequestHandler(opts) {
45
- var _opts$teardown;
46
-
47
- const createContext = async function _createContext() {
48
- var _opts$createContext;
49
-
50
- return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
51
- };
52
-
53
- const {
54
- path,
55
- router
56
- } = opts;
57
- const bodyResult = await getPostBody(opts);
58
- const query = opts.req.query ? new URLSearchParams(opts.req.query) : new URLSearchParams(opts.req.url.split('?')[1]);
59
- const req = {
60
- method: opts.req.method,
61
- headers: opts.req.headers,
62
- query,
63
- body: bodyResult.ok ? bodyResult.data : undefined
64
- };
65
- const result = await resolveHTTPResponse({
66
- batching: opts.batching,
67
- responseMeta: opts.responseMeta,
68
- path,
69
- createContext,
70
- router,
71
- req,
72
- error: bodyResult.ok ? null : bodyResult.error,
73
-
74
- onError(o) {
75
- var _opts$onError;
76
-
77
- opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
78
- req: opts.req
79
- });
80
- }
81
-
82
- });
83
- const {
84
- res
85
- } = opts;
86
-
87
- if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
88
- res.statusCode = result.status;
89
- }
90
-
91
- for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
92
- var _result$headers;
93
-
94
- if (typeof value === 'undefined') {
95
- continue;
96
- }
97
-
98
- res.setHeader(key, value);
99
- }
100
-
101
- res.end(result.body);
102
- await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
103
- }
104
-
105
- export { nodeHTTPRequestHandler as n };
@@ -1 +0,0 @@
1
-
@@ -1,109 +0,0 @@
1
- 'use strict';
2
-
3
- function identity(x) {
4
- return x;
5
- }
6
-
7
- /** @internal */
8
-
9
- function pipeFromArray(fns) {
10
- if (fns.length === 0) {
11
- return identity;
12
- }
13
-
14
- if (fns.length === 1) {
15
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
16
- return fns[0];
17
- }
18
-
19
- return function piped(input) {
20
- return fns.reduce((prev, fn) => fn(prev), input);
21
- };
22
- }
23
-
24
- function isObservable(x) {
25
- return typeof x === 'object' && x !== null && 'subscribe' in x;
26
- }
27
- function observable(subscribe) {
28
- const self = {
29
- subscribe(observer) {
30
- let teardownRef = null;
31
- let isDone = false;
32
- let unsubscribed = false;
33
- let teardownImmediately = false;
34
-
35
- function unsubscribe() {
36
- if (teardownRef === null) {
37
- teardownImmediately = true;
38
- return;
39
- }
40
-
41
- if (unsubscribed) {
42
- return;
43
- }
44
-
45
- unsubscribed = true;
46
-
47
- if (typeof teardownRef === 'function') {
48
- teardownRef();
49
- } else if (teardownRef) {
50
- teardownRef.unsubscribe();
51
- }
52
- }
53
-
54
- teardownRef = subscribe({
55
- next(value) {
56
- var _observer$next;
57
-
58
- if (isDone) {
59
- return;
60
- }
61
-
62
- (_observer$next = observer.next) === null || _observer$next === void 0 ? void 0 : _observer$next.call(observer, value);
63
- },
64
-
65
- error(err) {
66
- var _observer$error;
67
-
68
- if (isDone) {
69
- return;
70
- }
71
-
72
- isDone = true;
73
- (_observer$error = observer.error) === null || _observer$error === void 0 ? void 0 : _observer$error.call(observer, err);
74
- unsubscribe();
75
- },
76
-
77
- complete() {
78
- var _observer$complete;
79
-
80
- if (isDone) {
81
- return;
82
- }
83
-
84
- isDone = true;
85
- (_observer$complete = observer.complete) === null || _observer$complete === void 0 ? void 0 : _observer$complete.call(observer);
86
- unsubscribe();
87
- }
88
-
89
- });
90
-
91
- if (teardownImmediately) {
92
- unsubscribe();
93
- }
94
-
95
- return {
96
- unsubscribe
97
- };
98
- },
99
-
100
- pipe(...operations) {
101
- return pipeFromArray(operations)(self);
102
- }
103
-
104
- };
105
- return self;
106
- }
107
-
108
- exports.isObservable = isObservable;
109
- exports.observable = observable;
@@ -1,106 +0,0 @@
1
- function identity(x) {
2
- return x;
3
- }
4
-
5
- /** @internal */
6
-
7
- function pipeFromArray(fns) {
8
- if (fns.length === 0) {
9
- return identity;
10
- }
11
-
12
- if (fns.length === 1) {
13
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
14
- return fns[0];
15
- }
16
-
17
- return function piped(input) {
18
- return fns.reduce((prev, fn) => fn(prev), input);
19
- };
20
- }
21
-
22
- function isObservable(x) {
23
- return typeof x === 'object' && x !== null && 'subscribe' in x;
24
- }
25
- function observable(subscribe) {
26
- const self = {
27
- subscribe(observer) {
28
- let teardownRef = null;
29
- let isDone = false;
30
- let unsubscribed = false;
31
- let teardownImmediately = false;
32
-
33
- function unsubscribe() {
34
- if (teardownRef === null) {
35
- teardownImmediately = true;
36
- return;
37
- }
38
-
39
- if (unsubscribed) {
40
- return;
41
- }
42
-
43
- unsubscribed = true;
44
-
45
- if (typeof teardownRef === 'function') {
46
- teardownRef();
47
- } else if (teardownRef) {
48
- teardownRef.unsubscribe();
49
- }
50
- }
51
-
52
- teardownRef = subscribe({
53
- next(value) {
54
- var _observer$next;
55
-
56
- if (isDone) {
57
- return;
58
- }
59
-
60
- (_observer$next = observer.next) === null || _observer$next === void 0 ? void 0 : _observer$next.call(observer, value);
61
- },
62
-
63
- error(err) {
64
- var _observer$error;
65
-
66
- if (isDone) {
67
- return;
68
- }
69
-
70
- isDone = true;
71
- (_observer$error = observer.error) === null || _observer$error === void 0 ? void 0 : _observer$error.call(observer, err);
72
- unsubscribe();
73
- },
74
-
75
- complete() {
76
- var _observer$complete;
77
-
78
- if (isDone) {
79
- return;
80
- }
81
-
82
- isDone = true;
83
- (_observer$complete = observer.complete) === null || _observer$complete === void 0 ? void 0 : _observer$complete.call(observer);
84
- unsubscribe();
85
- }
86
-
87
- });
88
-
89
- if (teardownImmediately) {
90
- unsubscribe();
91
- }
92
-
93
- return {
94
- unsubscribe
95
- };
96
- },
97
-
98
- pipe(...operations) {
99
- return pipeFromArray(operations)(self);
100
- }
101
-
102
- };
103
- return self;
104
- }
105
-
106
- export { isObservable as i, observable as o };