@trpc/client 10.0.0-alpha.21 → 10.0.0-alpha.24

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 (90) hide show
  1. package/dist/index.js +329 -276
  2. package/dist/index.mjs +317 -263
  3. package/dist/internals/TRPCClient.d.ts +12 -7
  4. package/dist/internals/TRPCClient.d.ts.map +1 -1
  5. package/dist/internals/dataLoader.d.ts +7 -6
  6. package/dist/internals/dataLoader.d.ts.map +1 -1
  7. package/dist/links/dedupeLink.d.ts.map +1 -1
  8. package/dist/links/httpBatchLink.d.ts +1 -1
  9. package/dist/links/httpBatchLink.d.ts.map +1 -1
  10. package/dist/links/index.d.ts +0 -2
  11. package/dist/links/index.d.ts.map +1 -1
  12. package/dist/links/internals/httpUtils.d.ts +15 -7
  13. package/dist/links/internals/httpUtils.d.ts.map +1 -1
  14. package/dist/links/internals/transformOperationResult.d.ts +17 -3
  15. package/dist/links/internals/transformOperationResult.d.ts.map +1 -1
  16. package/dist/links/loggerLink.d.ts.map +1 -1
  17. package/dist/links/retryLink.d.ts.map +1 -1
  18. package/dist/links/types.d.ts +10 -7
  19. package/dist/links/types.d.ts.map +1 -1
  20. package/dist/links/wsLink.d.ts +1 -1
  21. package/dist/links/wsLink.d.ts.map +1 -1
  22. package/links/wsLink/dist/trpc-client-links-wsLink.cjs.dev.js +2 -0
  23. package/links/wsLink/dist/trpc-client-links-wsLink.cjs.prod.js +2 -0
  24. package/links/wsLink/dist/trpc-client-links-wsLink.esm.js +2 -0
  25. package/package.json +5 -11
  26. package/src/internals/TRPCClient.ts +48 -24
  27. package/src/internals/dataLoader.ts +116 -54
  28. package/src/links/dedupeLink.test.ts +1 -1
  29. package/src/links/dedupeLink.ts +1 -2
  30. package/src/links/httpBatchLink.ts +54 -31
  31. package/src/links/httpLink.ts +3 -3
  32. package/src/links/index.ts +0 -2
  33. package/src/links/internals/createChain.test.ts +1 -1
  34. package/src/links/internals/createChain.ts +1 -1
  35. package/src/links/internals/httpUtils.ts +52 -31
  36. package/src/links/internals/transformOperationResult.ts +40 -12
  37. package/src/links/loggerLink.ts +1 -1
  38. package/src/links/retryLink.ts +1 -2
  39. package/src/links/splitLink.test.ts +1 -1
  40. package/src/links/splitLink.ts +4 -4
  41. package/src/links/types.ts +12 -7
  42. package/src/links/wsLink.ts +13 -10
  43. package/dist/links/transformerLink.d.ts +0 -4
  44. package/dist/links/transformerLink.d.ts.map +0 -1
  45. package/dist/observable/index.d.ts +0 -4
  46. package/dist/observable/index.d.ts.map +0 -1
  47. package/dist/observable/index.js +0 -38
  48. package/dist/observable/index.mjs +0 -31
  49. package/dist/observable/index.ts.js +0 -1
  50. package/dist/observable/internals/identity.d.ts +0 -2
  51. package/dist/observable/internals/identity.d.ts.map +0 -1
  52. package/dist/observable/internals/observableToPromise.d.ts +0 -10
  53. package/dist/observable/internals/observableToPromise.d.ts.map +0 -1
  54. package/dist/observable/internals/pipe.d.ts +0 -4
  55. package/dist/observable/internals/pipe.d.ts.map +0 -1
  56. package/dist/observable/observable.d.ts +0 -4
  57. package/dist/observable/observable.d.ts.map +0 -1
  58. package/dist/observable/operators/index.d.ts +0 -4
  59. package/dist/observable/operators/index.d.ts.map +0 -1
  60. package/dist/observable/operators/map.d.ts +0 -3
  61. package/dist/observable/operators/map.d.ts.map +0 -1
  62. package/dist/observable/operators/share.d.ts +0 -6
  63. package/dist/observable/operators/share.d.ts.map +0 -1
  64. package/dist/observable/operators/tap.d.ts +0 -3
  65. package/dist/observable/operators/tap.d.ts.map +0 -1
  66. package/dist/observable/types.d.ts +0 -29
  67. package/dist/observable/types.d.ts.map +0 -1
  68. package/dist/tap-0dcdee86.js +0 -243
  69. package/dist/tap-136a9a90.mjs +0 -239
  70. package/observable/dist/trpc-client-rx.cjs.d.ts +0 -1
  71. package/observable/dist/trpc-client-rx.cjs.dev.js +0 -9
  72. package/observable/dist/trpc-client-rx.cjs.js +0 -7
  73. package/observable/dist/trpc-client-rx.cjs.prod.js +0 -9
  74. package/observable/dist/trpc-client-rx.esm.js +0 -1
  75. package/observable/index.d.ts +0 -1
  76. package/observable/index.js +0 -1
  77. package/src/links/transformerLink.ts +0 -74
  78. package/src/observable/index.ts +0 -3
  79. package/src/observable/internals/identity.ts +0 -3
  80. package/src/observable/internals/observableToPromise.ts +0 -49
  81. package/src/observable/internals/pipe.ts +0 -22
  82. package/src/observable/observable.test.ts +0 -101
  83. package/src/observable/observable.ts +0 -70
  84. package/src/observable/operators/index.ts +0 -3
  85. package/src/observable/operators/map.test.ts +0 -92
  86. package/src/observable/operators/map.ts +0 -25
  87. package/src/observable/operators/share.test.ts +0 -60
  88. package/src/observable/operators/share.ts +0 -67
  89. package/src/observable/operators/tap.ts +0 -26
  90. package/src/observable/types.ts +0 -69
@@ -1,239 +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
- return fns[0];
14
- }
15
-
16
- return function piped(input) {
17
- return fns.reduce(function (prev, fn) {
18
- return fn(prev);
19
- }, input);
20
- };
21
- }
22
-
23
- function observable(_subscribe) {
24
- var self = {
25
- subscribe: function subscribe(observer) {
26
- var teardownRef = null;
27
- var isDone = false;
28
- var unsubscribed = false;
29
- var teardownImmediately = false;
30
-
31
- function unsubscribe() {
32
- if (teardownRef === null) {
33
- teardownImmediately = true;
34
- return;
35
- }
36
-
37
- if (unsubscribed) {
38
- return;
39
- }
40
-
41
- unsubscribed = true;
42
-
43
- if (typeof teardownRef === 'function') {
44
- teardownRef();
45
- } else if (teardownRef) {
46
- teardownRef.unsubscribe();
47
- }
48
- }
49
-
50
- teardownRef = _subscribe({
51
- next: function next(value) {
52
- var _observer$next;
53
-
54
- if (isDone) {
55
- return;
56
- }
57
-
58
- (_observer$next = observer.next) === null || _observer$next === void 0 ? void 0 : _observer$next.call(observer, value);
59
- },
60
- error: function error(err) {
61
- var _observer$error;
62
-
63
- if (isDone) {
64
- return;
65
- }
66
-
67
- isDone = true;
68
- (_observer$error = observer.error) === null || _observer$error === void 0 ? void 0 : _observer$error.call(observer, err);
69
- unsubscribe();
70
- },
71
- complete: function complete() {
72
- var _observer$complete;
73
-
74
- if (isDone) {
75
- return;
76
- }
77
-
78
- isDone = true;
79
- (_observer$complete = observer.complete) === null || _observer$complete === void 0 ? void 0 : _observer$complete.call(observer);
80
- unsubscribe();
81
- }
82
- });
83
-
84
- if (teardownImmediately) {
85
- unsubscribe();
86
- }
87
-
88
- return {
89
- unsubscribe: unsubscribe
90
- };
91
- },
92
- pipe: function pipe() {
93
- for (var _len = arguments.length, operations = new Array(_len), _key = 0; _key < _len; _key++) {
94
- operations[_key] = arguments[_key];
95
- }
96
-
97
- return pipeFromArray(operations)(self);
98
- }
99
- };
100
- return self;
101
- }
102
-
103
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
104
-
105
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
106
-
107
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
108
-
109
- /* eslint-disable @typescript-eslint/no-empty-interface */
110
- function share( // eslint-disable-next-line @typescript-eslint/no-unused-vars
111
- _opts) {
112
- return function (originalObserver) {
113
- var refCount = 0;
114
- var subscription = null;
115
- var observers = [];
116
-
117
- function startIfNeeded() {
118
- if (subscription) {
119
- return;
120
- }
121
-
122
- subscription = originalObserver.subscribe({
123
- next: function next(value) {
124
- var _iterator = _createForOfIteratorHelper(observers),
125
- _step;
126
-
127
- try {
128
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
129
- var _observer$next;
130
-
131
- var observer = _step.value;
132
- (_observer$next = observer.next) === null || _observer$next === void 0 ? void 0 : _observer$next.call(observer, value);
133
- }
134
- } catch (err) {
135
- _iterator.e(err);
136
- } finally {
137
- _iterator.f();
138
- }
139
- },
140
- error: function error(_error) {
141
- var _iterator2 = _createForOfIteratorHelper(observers),
142
- _step2;
143
-
144
- try {
145
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
146
- var _observer$error;
147
-
148
- var observer = _step2.value;
149
- (_observer$error = observer.error) === null || _observer$error === void 0 ? void 0 : _observer$error.call(observer, _error);
150
- }
151
- } catch (err) {
152
- _iterator2.e(err);
153
- } finally {
154
- _iterator2.f();
155
- }
156
- },
157
- complete: function complete() {
158
- var _iterator3 = _createForOfIteratorHelper(observers),
159
- _step3;
160
-
161
- try {
162
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
163
- var _observer$complete;
164
-
165
- var observer = _step3.value;
166
- (_observer$complete = observer.complete) === null || _observer$complete === void 0 ? void 0 : _observer$complete.call(observer);
167
- }
168
- } catch (err) {
169
- _iterator3.e(err);
170
- } finally {
171
- _iterator3.f();
172
- }
173
- }
174
- });
175
- }
176
-
177
- function resetIfNeeded() {
178
- // "resetOnRefCountZero"
179
- if (refCount === 0 && subscription) {
180
- var _sub = subscription;
181
- subscription = null;
182
-
183
- _sub.unsubscribe();
184
- }
185
- }
186
-
187
- return {
188
- subscribe: function subscribe(observer) {
189
- refCount++;
190
- observers.push(observer);
191
- startIfNeeded();
192
- return {
193
- unsubscribe: function unsubscribe() {
194
- refCount--;
195
- resetIfNeeded();
196
- var index = observers.findIndex(function (v) {
197
- return v === observer;
198
- });
199
-
200
- if (index > -1) {
201
- observers.splice(index, 1);
202
- }
203
- }
204
- };
205
- }
206
- };
207
- };
208
- }
209
-
210
- function tap(observer) {
211
- return function (originalObserver) {
212
- return {
213
- subscribe: function subscribe(observer2) {
214
- return originalObserver.subscribe({
215
- next: function next(v) {
216
- var _observer$next, _observer2$next;
217
-
218
- (_observer$next = observer.next) === null || _observer$next === void 0 ? void 0 : _observer$next.call(observer, v);
219
- (_observer2$next = observer2.next) === null || _observer2$next === void 0 ? void 0 : _observer2$next.call(observer2, v);
220
- },
221
- error: function error(v) {
222
- var _observer$error, _observer2$error;
223
-
224
- (_observer$error = observer.error) === null || _observer$error === void 0 ? void 0 : _observer$error.call(observer, v);
225
- (_observer2$error = observer2.error) === null || _observer2$error === void 0 ? void 0 : _observer2$error.call(observer2, v);
226
- },
227
- complete: function complete() {
228
- var _observer$complete, _observer2$complete;
229
-
230
- (_observer$complete = observer.complete) === null || _observer$complete === void 0 ? void 0 : _observer$complete.call(observer);
231
- (_observer2$complete = observer2.complete) === null || _observer2$complete === void 0 ? void 0 : _observer2$complete.call(observer2);
232
- }
233
- });
234
- }
235
- };
236
- };
237
- }
238
-
239
- export { observable as o, share as s, tap as t };
@@ -1 +0,0 @@
1
- export * from "../../dist/declarations/src/rx/index";
@@ -1,9 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var observable = require('../../dist/observable-9aad8c3e.cjs.dev.js');
6
-
7
-
8
-
9
- exports.observable = observable.observable;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === "production") {
4
- module.exports = require("./trpc-client-rx.cjs.prod.js");
5
- } else {
6
- module.exports = require("./trpc-client-rx.cjs.dev.js");
7
- }
@@ -1,9 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var observable = require('../../dist/observable-ccb54234.cjs.prod.js');
6
-
7
-
8
-
9
- exports.observable = observable.observable;
@@ -1 +0,0 @@
1
- export { o as observable } from '../../dist/observable-01534ea8.esm.js';
@@ -1 +0,0 @@
1
- export * from '../dist/observable';
@@ -1 +0,0 @@
1
- module.exports = require('../dist/observable/index');
@@ -1,74 +0,0 @@
1
- import {
2
- AnyRouter,
3
- ClientDataTransformerOptions,
4
- DataTransformer,
5
- } from '@trpc/server';
6
- import { observable } from '../observable/observable';
7
- import { OperationResult, TRPCLink } from './types';
8
-
9
- /**
10
- * @internal
11
- */
12
- function transformOperationResult<TResult extends OperationResult<any, any>>(
13
- result: TResult,
14
- transformer: DataTransformer,
15
- ) {
16
- if ('error' in result.data) {
17
- return {
18
- ...result,
19
- data: {
20
- ...result.data,
21
- error: transformer.deserialize(result.data.error),
22
- },
23
- };
24
- }
25
- if (result.data.result.type !== 'data') {
26
- return result;
27
- }
28
- return {
29
- ...result,
30
- data: {
31
- ...result.data,
32
- result: {
33
- ...result.data.result,
34
- data: transformer.deserialize(result.data.result.data),
35
- },
36
- },
37
- };
38
- }
39
- export function transformerLink<TRouter extends AnyRouter = AnyRouter>(
40
- transformer: ClientDataTransformerOptions,
41
- ): TRPCLink<TRouter> {
42
- const _transformer: DataTransformer = transformer
43
- ? 'input' in transformer
44
- ? {
45
- serialize: transformer.input.serialize,
46
- deserialize: transformer.output.deserialize,
47
- }
48
- : transformer
49
- : {
50
- serialize: (data) => data,
51
- deserialize: (data) => data,
52
- };
53
-
54
- return () => {
55
- return (props) => {
56
- const input = _transformer.serialize(props.op.input);
57
- return observable((observer) => {
58
- const subscription = props.next({ ...props.op, input }).subscribe({
59
- next(value) {
60
- const transformed = transformOperationResult(value, _transformer);
61
- observer.next(transformed);
62
- },
63
- error(err) {
64
- observer.error(err);
65
- },
66
- complete() {
67
- observer.complete();
68
- },
69
- });
70
- return subscription;
71
- });
72
- };
73
- };
74
- }
@@ -1,3 +0,0 @@
1
- export * from './observable';
2
- export * from './types';
3
- export * from './operators';
@@ -1,3 +0,0 @@
1
- export function identity<T>(x: T): T {
2
- return x;
3
- }
@@ -1,49 +0,0 @@
1
- import { Observable } from '../types';
2
-
3
- export class ObservableAbortError extends Error {
4
- constructor(message: string) {
5
- super(message);
6
- this.name = 'ObservableAbortError';
7
- Object.setPrototypeOf(this, ObservableAbortError.prototype);
8
- }
9
- }
10
-
11
- /** @internal */
12
- export function observableToPromise<TValue>(
13
- observable: Observable<TValue, unknown>,
14
- ) {
15
- let abort: () => void;
16
- const promise = new Promise<TValue>((resolve, reject) => {
17
- let isDone = false;
18
- function onDone() {
19
- if (isDone) {
20
- return;
21
- }
22
- isDone = true;
23
- reject(new ObservableAbortError('This operation was cancelled.'));
24
- obs$.unsubscribe();
25
- }
26
- const obs$ = observable.subscribe({
27
- next(data) {
28
- isDone = true;
29
- resolve(data);
30
- onDone();
31
- },
32
- error(data) {
33
- isDone = true;
34
- reject(data);
35
- onDone();
36
- },
37
- complete() {
38
- isDone = true;
39
- onDone();
40
- },
41
- });
42
- abort = onDone;
43
- });
44
- return {
45
- promise,
46
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
47
- abort: abort!,
48
- };
49
- }
@@ -1,22 +0,0 @@
1
- import { UnaryFunction } from '../types';
2
- import { identity } from './identity';
3
-
4
- /** @internal */
5
- export function pipeFromArray<T, R>(
6
- fns: Array<UnaryFunction<T, R>>,
7
- ): UnaryFunction<T, R> {
8
- if (fns.length === 0) {
9
- return identity as UnaryFunction<any, any>;
10
- }
11
-
12
- if (fns.length === 1) {
13
- return fns[0];
14
- }
15
-
16
- return function piped(input: T): R {
17
- return fns.reduce(
18
- (prev: any, fn: UnaryFunction<T, R>) => fn(prev),
19
- input as any,
20
- );
21
- };
22
- }
@@ -1,101 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-empty-function */
2
- import { observable, share, tap } from './';
3
-
4
- test('vanilla observable - complete()', () => {
5
- const obs = observable<number, Error>((observer) => {
6
- observer.next(1);
7
- observer.complete();
8
- });
9
-
10
- const next = jest.fn();
11
- const error = jest.fn();
12
- const complete = jest.fn();
13
- obs.subscribe({
14
- next,
15
- error,
16
- complete,
17
- });
18
- expect(next.mock.calls).toHaveLength(1);
19
- expect(complete.mock.calls).toHaveLength(1);
20
- expect(error.mock.calls).toHaveLength(0);
21
- expect(next.mock.calls[0][0]).toBe(1);
22
- });
23
-
24
- test('vanilla observable - unsubscribe()', () => {
25
- const obs$ = observable<number, Error>((observer) => {
26
- observer.next(1);
27
- });
28
-
29
- const next = jest.fn();
30
- const error = jest.fn();
31
- const complete = jest.fn();
32
- const sub = obs$.subscribe({
33
- next,
34
- error,
35
- complete,
36
- });
37
- sub.unsubscribe();
38
- expect(next.mock.calls).toHaveLength(1);
39
- expect(complete.mock.calls).toHaveLength(0);
40
- expect(error.mock.calls).toHaveLength(0);
41
- expect(next.mock.calls[0][0]).toBe(1);
42
- });
43
-
44
- test('pipe - combine operators', () => {
45
- const taps = {
46
- next: jest.fn(),
47
- complete: jest.fn(),
48
- error: jest.fn(),
49
- };
50
- const obs = observable<number, Error>((observer) => {
51
- observer.next(1);
52
- }).pipe(
53
- // operators:
54
- share(),
55
- tap(taps),
56
- );
57
- {
58
- const next = jest.fn();
59
- const error = jest.fn();
60
- const complete = jest.fn();
61
- obs.subscribe({
62
- next,
63
- error,
64
- complete,
65
- });
66
- expect(next.mock.calls).toHaveLength(1);
67
- expect(complete.mock.calls).toHaveLength(0);
68
- expect(error.mock.calls).toHaveLength(0);
69
- expect(next.mock.calls[0][0]).toBe(1);
70
- }
71
-
72
- {
73
- const next = jest.fn();
74
- const error = jest.fn();
75
- const complete = jest.fn();
76
- obs.subscribe({
77
- next,
78
- error,
79
- complete,
80
- });
81
- expect(next.mock.calls).toHaveLength(0);
82
- expect(complete.mock.calls).toHaveLength(0);
83
- expect(error.mock.calls).toHaveLength(0);
84
- }
85
-
86
- expect({
87
- next: taps.next.mock.calls,
88
- error: taps.error.mock.calls,
89
- complete: taps.complete.mock.calls,
90
- }).toMatchInlineSnapshot(`
91
- Object {
92
- "complete": Array [],
93
- "error": Array [],
94
- "next": Array [
95
- Array [
96
- 1,
97
- ],
98
- ],
99
- }
100
- `);
101
- });
@@ -1,70 +0,0 @@
1
- import { pipeFromArray } from './internals/pipe';
2
- import { Observable, Observer, OperatorFunction, TeardownLogic } from './types';
3
-
4
- export type inferObservableValue<TObservable extends Observable<any, any>> =
5
- TObservable extends Observable<infer TValue, any> ? TValue : never;
6
-
7
- export function observable<TValue, TError = unknown>(
8
- subscribe: (observer: Observer<TValue, TError>) => TeardownLogic,
9
- ): Observable<TValue, TError> {
10
- const self: Observable<TValue, TError> = {
11
- subscribe(observer) {
12
- let teardownRef: TeardownLogic | null = null;
13
- let isDone = false;
14
- let unsubscribed = false;
15
- let teardownImmediately = false;
16
- function unsubscribe() {
17
- if (teardownRef === null) {
18
- teardownImmediately = true;
19
- return;
20
- }
21
- if (unsubscribed) {
22
- return;
23
- }
24
- unsubscribed = true;
25
-
26
- if (typeof teardownRef === 'function') {
27
- teardownRef();
28
- } else if (teardownRef) {
29
- teardownRef.unsubscribe();
30
- }
31
- }
32
- teardownRef = subscribe({
33
- next(value) {
34
- if (isDone) {
35
- return;
36
- }
37
- observer.next?.(value);
38
- },
39
- error(err) {
40
- if (isDone) {
41
- return;
42
- }
43
- isDone = true;
44
- observer.error?.(err);
45
- unsubscribe();
46
- },
47
- complete() {
48
- if (isDone) {
49
- return;
50
- }
51
- isDone = true;
52
- observer.complete?.();
53
- unsubscribe();
54
- },
55
- });
56
- if (teardownImmediately) {
57
- unsubscribe();
58
- }
59
- return {
60
- unsubscribe,
61
- };
62
- },
63
- pipe(
64
- ...operations: OperatorFunction<any, any, any, any>[]
65
- ): Observable<any, any> {
66
- return pipeFromArray(operations)(self) as any;
67
- },
68
- };
69
- return self;
70
- }
@@ -1,3 +0,0 @@
1
- export * from './share';
2
- export * from './map';
3
- export * from './tap';