@fncts/observable 0.0.1 → 0.0.4

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 (98) hide show
  1. package/BehaviorSubject.d.ts +1 -1
  2. package/Notification.d.ts +1 -1
  3. package/Observable/api/connect.d.ts +1 -1
  4. package/Observable/api/connectable.d.ts +5 -5
  5. package/Observable/api/fromCallback.d.ts +2 -2
  6. package/Observable/api/fromEvent.d.ts +1 -1
  7. package/Observable/api/race.d.ts +2 -2
  8. package/Observable/api/raceWith.d.ts +1 -1
  9. package/Observable/api/repeatWhen.d.ts +2 -2
  10. package/Observable/api/retryWhen.d.ts +3 -3
  11. package/Observable/api/share.d.ts +5 -6
  12. package/Observable/api/window.d.ts +2 -2
  13. package/Observable/api/windowCount.d.ts +1 -1
  14. package/Observable/api/windowTime.d.ts +3 -3
  15. package/Observable/api/windowToggle.d.ts +2 -2
  16. package/Observable/api/windowWhen.d.ts +2 -2
  17. package/Observable/api.d.ts +204 -164
  18. package/Observable/definition.d.ts +33 -15
  19. package/Observable/dom/animationFrames.d.ts +1 -1
  20. package/Observer.d.ts +1 -1
  21. package/Operator.d.ts +4 -3
  22. package/Subject.d.ts +10 -9
  23. package/Subscriber.d.ts +1 -1
  24. package/_cjs/BehaviorSubject.cjs.map +1 -1
  25. package/_cjs/Observable/api/connect.cjs.map +1 -1
  26. package/_cjs/Observable/api/connectable.cjs.map +1 -1
  27. package/_cjs/Observable/api/fromCallback.cjs.map +1 -1
  28. package/_cjs/Observable/api/race.cjs.map +1 -1
  29. package/_cjs/Observable/api/raceWith.cjs.map +1 -1
  30. package/_cjs/Observable/api/repeatWhen.cjs.map +1 -1
  31. package/_cjs/Observable/api/retryWhen.cjs.map +1 -1
  32. package/_cjs/Observable/api/share.cjs +2 -11
  33. package/_cjs/Observable/api/share.cjs.map +1 -1
  34. package/_cjs/Observable/api/window.cjs.map +1 -1
  35. package/_cjs/Observable/api/windowTime.cjs.map +1 -1
  36. package/_cjs/Observable/api/windowToggle.cjs.map +1 -1
  37. package/_cjs/Observable/api/windowWhen.cjs.map +1 -1
  38. package/_cjs/Observable/api.cjs +326 -309
  39. package/_cjs/Observable/api.cjs.map +1 -1
  40. package/_cjs/Observable/definition.cjs +102 -16
  41. package/_cjs/Observable/definition.cjs.map +1 -1
  42. package/_cjs/Operator.cjs.map +1 -1
  43. package/_cjs/Subject.cjs +2 -2
  44. package/_cjs/Subject.cjs.map +1 -1
  45. package/_cjs/global.cjs +3 -1
  46. package/_cjs/global.cjs.map +1 -1
  47. package/_mjs/BehaviorSubject.mjs.map +1 -1
  48. package/_mjs/Observable/api/connect.mjs.map +1 -1
  49. package/_mjs/Observable/api/connectable.mjs.map +1 -1
  50. package/_mjs/Observable/api/fromCallback.mjs.map +1 -1
  51. package/_mjs/Observable/api/race.mjs.map +1 -1
  52. package/_mjs/Observable/api/raceWith.mjs.map +1 -1
  53. package/_mjs/Observable/api/repeatWhen.mjs.map +1 -1
  54. package/_mjs/Observable/api/retryWhen.mjs.map +1 -1
  55. package/_mjs/Observable/api/share.mjs +1 -6
  56. package/_mjs/Observable/api/share.mjs.map +1 -1
  57. package/_mjs/Observable/api/window.mjs.map +1 -1
  58. package/_mjs/Observable/api/windowTime.mjs.map +1 -1
  59. package/_mjs/Observable/api/windowToggle.mjs.map +1 -1
  60. package/_mjs/Observable/api/windowWhen.mjs.map +1 -1
  61. package/_mjs/Observable/api.mjs +302 -294
  62. package/_mjs/Observable/api.mjs.map +1 -1
  63. package/_mjs/Observable/definition.mjs +97 -15
  64. package/_mjs/Observable/definition.mjs.map +1 -1
  65. package/_mjs/Operator.mjs.map +1 -1
  66. package/_mjs/Subject.mjs +2 -2
  67. package/_mjs/Subject.mjs.map +1 -1
  68. package/_mjs/global.mjs +1 -1
  69. package/_mjs/global.mjs.map +1 -1
  70. package/_src/BehaviorSubject.ts +1 -1
  71. package/_src/Observable/api/connect.ts +5 -5
  72. package/_src/Observable/api/connectable.ts +7 -7
  73. package/_src/Observable/api/fromCallback.ts +8 -5
  74. package/_src/Observable/api/fromEvent.ts +1 -1
  75. package/_src/Observable/api/race.ts +2 -2
  76. package/_src/Observable/api/raceWith.ts +7 -3
  77. package/_src/Observable/api/repeatWhen.ts +8 -8
  78. package/_src/Observable/api/retryWhen.ts +8 -8
  79. package/_src/Observable/api/share.ts +10 -16
  80. package/_src/Observable/api/window.ts +5 -5
  81. package/_src/Observable/api/windowCount.ts +5 -5
  82. package/_src/Observable/api/windowTime.ts +18 -18
  83. package/_src/Observable/api/windowToggle.ts +8 -8
  84. package/_src/Observable/api/windowWhen.ts +6 -6
  85. package/_src/Observable/api.ts +525 -430
  86. package/_src/Observable/definition.ts +94 -21
  87. package/_src/Observable/dom/animationFrames.ts +2 -2
  88. package/_src/Operator.ts +6 -6
  89. package/_src/Subject.ts +9 -9
  90. package/_src/global.ts +5 -34
  91. package/global.d.ts +5 -33
  92. package/package.json +6 -2
  93. package/_cjs/demo.cjs +0 -40
  94. package/_cjs/demo.cjs.map +0 -1
  95. package/_mjs/demo.mjs +0 -30
  96. package/_mjs/demo.mjs.map +0 -1
  97. package/_src/demo.ts +0 -29
  98. package/demo.d.ts +0 -1
@@ -1,6 +1,7 @@
1
1
  export declare namespace Observable {
2
- export type TypeOf<X> = X extends ObservableInput<any, infer A> ? A : never;
3
- export type ErrorOf<X> = X extends ObservableInput<infer E, any> ? E : never;
2
+ export type TypeOf<X> = X extends ObservableInput<any, any, infer A> ? A : never;
3
+ export type ErrorOf<X> = X extends ObservableInput<any, infer E, any> ? E : never;
4
+ export type EnvironmentOf<X> = X extends ObservableInput<infer R, any, any> ? R : never;
4
5
  }
5
6
 
6
7
  export const ObservableTypeId = Symbol.for("@principia/observable/Observable");
@@ -10,60 +11,132 @@ export type ObservableTypeId = typeof ObservableTypeId;
10
11
  * @tsplus type fncts.observable.Observable
11
12
  * @tsplus companion fncts.observable.ObservableOps
12
13
  */
13
- export class Observable<E, A> implements Subscribable<E, A> {
14
- readonly _E!: () => E;
15
- readonly _A!: () => A;
14
+ export class Observable<R, E, A> implements Subscribable<E, A>, AsyncIterable<A> {
15
+ declare _R: () => R;
16
+ declare _E: () => E;
17
+ declare _A: () => A;
16
18
 
17
19
  readonly [ObservableTypeId]: ObservableTypeId = ObservableTypeId;
18
20
 
19
- protected source: Observable<any, any> | undefined;
21
+ protected source: Observable<any, any, any> | undefined;
20
22
  protected operator: Operator<E, A> | undefined;
23
+ protected environment: Environment<any> = Environment();
21
24
 
22
- constructor(subscribe?: (this: Observable<E, A>, subscriber: Subscriber<E, A>) => Finalizer) {
25
+ constructor(
26
+ subscribe?: (this: Observable<R, E, A>, subscriber: Subscriber<E, A>, environment: Environment<R>) => Finalizer,
27
+ ) {
23
28
  if (subscribe) {
24
29
  this.subscribeInternal = subscribe;
25
30
  }
26
31
  }
27
32
 
28
- lift<E1, A1>(operator: Operator<E1, A1>): Observable<E1, A1> {
29
- const observable = new Observable<E1, A1>();
33
+ [Symbol.asyncIterator]() {
34
+ let done = false;
35
+ const queue: A[] = [];
36
+ let error: Cause<E>;
37
+
38
+ let resolveCurrent: ((a: A) => void) | undefined;
39
+ let rejectCurrent: ((err: unknown) => void) | undefined;
40
+ this.subscribe({
41
+ next: (value) => {
42
+ if (resolveCurrent) {
43
+ resolveCurrent(value);
44
+ } else {
45
+ queue.push(value);
46
+ }
47
+ },
48
+ error: (err) => {
49
+ if (rejectCurrent) {
50
+ rejectCurrent(err);
51
+ } else {
52
+ error = err;
53
+ }
54
+ },
55
+ complete: () => {
56
+ done = true;
57
+ },
58
+ });
59
+ return {
60
+ next() {
61
+ if (error) {
62
+ return Promise.reject(error);
63
+ }
64
+ if (done) {
65
+ return Promise.resolve({ done, value: undefined });
66
+ }
67
+ if (queue.length) {
68
+ return Promise.resolve({ done, value: queue.shift()! });
69
+ }
70
+ return new Promise<A>((resolve, reject) => {
71
+ resolveCurrent = resolve;
72
+ rejectCurrent = reject;
73
+ }).then((value) => {
74
+ resolveCurrent = undefined;
75
+ rejectCurrent = undefined;
76
+ return { done: false, value };
77
+ });
78
+ },
79
+ };
80
+ }
81
+
82
+ lift<R1, E1, A1>(operator: Operator<E1, A1>): Observable<R1, E1, A1> {
83
+ const observable = new Observable<R1, E1, A1>();
30
84
  observable.source = this;
31
85
  observable.operator = operator;
32
86
  return observable;
33
87
  }
34
88
 
35
- subscribe(observer?: Partial<Observer<E, A>>): Subscription;
36
- subscribe(observer?: (value: A) => void): Subscription;
37
- subscribe(observer?: Partial<Observer<E, A>> | ((value: A) => void)): Subscription {
89
+ provide(environment: Environment<R>): Observable<never, E, A> {
90
+ const observable = new Observable<never, E, A>();
91
+ observable.source = this;
92
+ observable.environment = environment;
93
+ return observable;
94
+ }
95
+
96
+ subscribe(observer?: Partial<Observer<E, A>>, environment?: Environment<R>): Subscription;
97
+ subscribe(observer?: (value: A) => void, environment?: Environment<R>): Subscription;
98
+ subscribe(observer?: Partial<Observer<E, A>> | ((value: A) => void), environment?: Environment<R>): Subscription {
38
99
  const subscriber: Subscriber<E, A> = isSubscriber(observer) ? observer : new SafeSubscriber(observer);
39
100
 
40
101
  subscriber.add(
41
102
  this.operator
42
- ? this.operator.call(subscriber, this.source)
103
+ ? this.operator.call(subscriber, this.source, environment ?? this.environment)
43
104
  : this.source
44
- ? this.subscribeInternal(subscriber)
45
- : this.trySubscribe(subscriber),
105
+ ? this.subscribeInternal(subscriber, environment ?? this.environment)
106
+ : this.trySubscribe(subscriber, environment ?? this.environment),
46
107
  );
47
108
 
48
109
  return subscriber;
49
110
  }
50
111
 
51
- protected trySubscribe(subscriber: Subscriber<E, A>): Finalizer {
112
+ protected trySubscribe(subscriber: Subscriber<E, A>, environment: Environment<R>): Finalizer {
52
113
  try {
53
- return this.subscribeInternal(subscriber);
114
+ return this.subscribeInternal(subscriber, environment);
54
115
  } catch (err) {
55
116
  subscriber.error(Cause.halt(err));
56
117
  return noop;
57
118
  }
58
119
  }
59
120
 
60
- protected subscribeInternal(subscriber: Subscriber<E, A>): Finalizer {
61
- this.source?.subscribe(subscriber);
121
+ protected subscribeInternal(subscriber: Subscriber<E, A>, environment: Environment<R>): Finalizer {
122
+ this.source?.subscribe(subscriber, environment);
123
+ }
124
+ }
125
+
126
+ export class EnvironmentWith<R0, R, E, A> extends Observable<R0 | R, E, A> {
127
+ private map: WeakMap<Environment<any>, Observable<any, any, any>> = new WeakMap();
128
+ constructor(f: (environment: Environment<R0>) => Observable<R, E, A>) {
129
+ super((subsciber, environment) => {
130
+ if (!this.map.has(environment)) {
131
+ this.map.set(environment, f(environment as Environment<R0>));
132
+ }
133
+ return this.map.get(environment)!.subscribe(subsciber);
134
+ });
62
135
  }
63
136
  }
64
137
 
65
- export const EMPTY: Observable<never, never> = new Observable((subscriber) => subscriber.complete());
138
+ export const EMPTY: Observable<never, never, never> = new Observable((subscriber) => subscriber.complete());
66
139
 
67
- export function isObservable(u: unknown): u is Observable<unknown, unknown> {
140
+ export function isObservable(u: unknown): u is Observable<unknown, unknown, unknown> {
68
141
  return isObject(u) && ObservableTypeId in u;
69
142
  }
@@ -3,13 +3,13 @@ import { performanceTimestampProvider } from "@fncts/observable/internal/perform
3
3
 
4
4
  export function animationFrames(
5
5
  timestampProvider?: TimestampProvider,
6
- ): Observable<never, { timestamp: number; elapsed: number }> {
6
+ ): Observable<never, never, { timestamp: number; elapsed: number }> {
7
7
  return timestampProvider ? animationFramesInternal(timestampProvider) : DEFAULT_ANIMATION_FRAMES;
8
8
  }
9
9
 
10
10
  function animationFramesInternal(
11
11
  timestampProvider?: TimestampProvider,
12
- ): Observable<never, { timestamp: number; elapsed: number }> {
12
+ ): Observable<never, never, { timestamp: number; elapsed: number }> {
13
13
  const { schedule } = animationFrameProvider;
14
14
  return new Observable((subscriber) => {
15
15
  const subscription = new Subscription();
package/_src/Operator.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export interface Operator<E, A> {
2
- call(subscriber: Subscriber<E, A>, source: any): Finalizer;
2
+ call(subscriber: Subscriber<E, A>, source: any, environment: Environment<any>): Finalizer;
3
3
  }
4
4
 
5
5
  export class OperatorSubscriber<E, A> extends Subscriber<E, A> {
@@ -59,11 +59,11 @@ export function operatorSubscriber<E, A, E1, A1>(
59
59
  /**
60
60
  * @tsplus fluent fncts.observable.Observable operate
61
61
  */
62
- export function operate_<E, A, E1, A1>(
63
- source: Observable<E, A>,
64
- f: (source: Observable<E, A>, subscriber: Subscriber<E1, A1>) => (() => void) | void,
65
- ): Observable<E1, A1> {
66
- return source.lift(function (this: Subscriber<E1, A1>, liftedSource: Observable<E, A>) {
62
+ export function operate_<R, E, A, R1, E1, A1>(
63
+ source: Observable<R, E, A>,
64
+ f: (source: Observable<R, E, A>, subscriber: Subscriber<E1, A1>) => (() => void) | void,
65
+ ): Observable<R1, E1, A1> {
66
+ return source.lift(function (this: Subscriber<E1, A1>, liftedSource: Observable<R, E, A>) {
67
67
  try {
68
68
  f(liftedSource, this);
69
69
  } catch (err) {
package/_src/Subject.ts CHANGED
@@ -2,7 +2,7 @@ import { arrayRemove } from "@fncts/observable/internal/util";
2
2
 
3
3
  export interface SubjectLike<E, A> extends Observer<E, A>, Subscribable<E, A> {}
4
4
 
5
- export class Subject<E, A> extends Observable<E, A> implements SubscriptionLike {
5
+ export class Subject<R, E, A> extends Observable<R, E, A> implements SubscriptionLike {
6
6
  closed = false;
7
7
  protected observers: Array<Observer<E, A>> = [];
8
8
  protected isStopped = false;
@@ -13,7 +13,7 @@ export class Subject<E, A> extends Observable<E, A> implements SubscriptionLike
13
13
  super();
14
14
  }
15
15
 
16
- lift<E1, B>(operator: Operator<E1, B>): Observable<E1, B> {
16
+ lift<R1, E1, B>(operator: Operator<E1, B>): Observable<R1, E1, B> {
17
17
  const subject = new AnonymousSubject(this, this);
18
18
  subject.operator = operator as any;
19
19
  return subject as any;
@@ -67,9 +67,9 @@ export class Subject<E, A> extends Observable<E, A> implements SubscriptionLike
67
67
  }
68
68
  }
69
69
 
70
- protected trySubscribe(subscriber: Subscriber<E, A>): Finalizer {
70
+ protected trySubscribe(subscriber: Subscriber<E, A>, environment: Environment<R>): Finalizer {
71
71
  this.throwIfClosed();
72
- return super.trySubscribe(subscriber);
72
+ return super.trySubscribe(subscriber, environment);
73
73
  }
74
74
 
75
75
  protected subscribeInternal(subscriber: Subscriber<E, A>): Subscription {
@@ -94,15 +94,15 @@ export class Subject<E, A> extends Observable<E, A> implements SubscriptionLike
94
94
  }
95
95
  }
96
96
 
97
- asObservable(): Observable<E, A> {
98
- const observable: any = new Observable<E, A>();
97
+ asObservable(): Observable<R, E, A> {
98
+ const observable: any = new Observable<R, E, A>();
99
99
  observable.source = this;
100
100
  return observable;
101
101
  }
102
102
  }
103
103
 
104
- export class AnonymousSubject<E, A> extends Subject<E, A> {
105
- constructor(protected destination?: Observer<E, A>, source?: Observable<E, A>) {
104
+ export class AnonymousSubject<R, E, A> extends Subject<R, E, A> {
105
+ constructor(protected destination?: Observer<E, A>, source?: Observable<R, E, A>) {
106
106
  super();
107
107
  this.source = source;
108
108
  }
@@ -122,7 +122,7 @@ export class AnonymousSubject<E, A> extends Subject<E, A> {
122
122
  }
123
123
  }
124
124
 
125
- export class AsyncSubject<E, A> extends Subject<E, A> {
125
+ export class AsyncSubject<R, E, A> extends Subject<R, E, A> {
126
126
  private value: Either<Cause<E>, A> | null = null;
127
127
  private hasValue = false;
128
128
  private isComplete = false;
package/_src/global.ts CHANGED
@@ -1,37 +1,12 @@
1
- import "@fncts/observable";
2
-
3
- /**
4
- * @tsplus global
5
- */
6
- import { HashSet } from "@fncts/base/collection/immutable/HashSet";
7
- /**
8
- * @tsplus global
9
- */
10
- import { Cause } from "@fncts/base/data/Cause";
11
- /**
12
- * @tsplus global
13
- */
14
- import { Either } from "@fncts/base/data/Either";
15
1
  /**
16
2
  * @tsplus global
17
3
  */
18
- import { Exit } from "@fncts/base/data/Exit";
4
+ import type {} from "@fncts/io/global";
19
5
  /**
20
6
  * @tsplus global
21
7
  */
22
- import { Lazy } from "@fncts/base/data/function";
23
- /**
24
- * @tsplus global
25
- */
26
- import { Just, Maybe, Nothing } from "@fncts/base/data/Maybe";
27
- /**
28
- * @tsplus global
29
- */
30
- import { Predicate, PredicateWithIndex } from "@fncts/base/data/Predicate";
31
- /**
32
- * @tsplus global
33
- */
34
- import { Refinement, RefinementWithIndex } from "@fncts/base/data/Refinement";
8
+ import type {} from "@fncts/observable";
9
+
35
10
  /**
36
11
  * @tsplus global
37
12
  */
@@ -43,15 +18,11 @@ import { isDate, isFunction, isIterable, isObject, isPlain } from "@fncts/base/u
43
18
  /**
44
19
  * @tsplus global
45
20
  */
46
- import { Fiber, FiberContext } from "@fncts/io/Fiber";
47
- /**
48
- * @tsplus global
49
- */
50
- import { IO, isIO, UIO } from "@fncts/io/IO";
21
+ import { FiberContext } from "@fncts/io/Fiber";
51
22
  /**
52
23
  * @tsplus global
53
24
  */
54
- import { IOEnv } from "@fncts/io/IOEnv";
25
+ import { isIO } from "@fncts/io/IO";
55
26
  /**
56
27
  * @tsplus global
57
28
  */
package/global.d.ts CHANGED
@@ -1,35 +1,11 @@
1
1
  /**
2
2
  * @tsplus global
3
3
  */
4
- import { HashSet } from "@fncts/base/collection/immutable/HashSet";
4
+ import type {} from "@fncts/io/global";
5
5
  /**
6
6
  * @tsplus global
7
7
  */
8
- import { Cause } from "@fncts/base/data/Cause";
9
- /**
10
- * @tsplus global
11
- */
12
- import { Either } from "@fncts/base/data/Either";
13
- /**
14
- * @tsplus global
15
- */
16
- import { Exit } from "@fncts/base/data/Exit";
17
- /**
18
- * @tsplus global
19
- */
20
- import { Lazy } from "@fncts/base/data/function";
21
- /**
22
- * @tsplus global
23
- */
24
- import { Just, Maybe, Nothing } from "@fncts/base/data/Maybe";
25
- /**
26
- * @tsplus global
27
- */
28
- import { Predicate, PredicateWithIndex } from "@fncts/base/data/Predicate";
29
- /**
30
- * @tsplus global
31
- */
32
- import { Refinement, RefinementWithIndex } from "@fncts/base/data/Refinement";
8
+ import type {} from "@fncts/observable";
33
9
  /**
34
10
  * @tsplus global
35
11
  */
@@ -41,15 +17,11 @@ import { isDate, isFunction, isIterable, isObject, isPlain } from "@fncts/base/u
41
17
  /**
42
18
  * @tsplus global
43
19
  */
44
- import { Fiber, FiberContext } from "@fncts/io/Fiber";
45
- /**
46
- * @tsplus global
47
- */
48
- import { IO, isIO, UIO } from "@fncts/io/IO";
20
+ import { FiberContext } from "@fncts/io/Fiber";
49
21
  /**
50
22
  * @tsplus global
51
23
  */
52
- import { IOEnv } from "@fncts/io/IOEnv";
24
+ import { isIO } from "@fncts/io/IO";
53
25
  /**
54
26
  * @tsplus global
55
27
  */
@@ -122,4 +94,4 @@ import { isSubscriber, SafeSubscriber, Subscriber } from "@fncts/observable/Subs
122
94
  * @tsplus global
123
95
  */
124
96
  import { Finalizer, isSubscription, Subscription, SubscriptionLike, Unsubscribable, } from "@fncts/observable/Subscription";
125
- import "@fncts/observable";
97
+ export {};
package/package.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
2
  "name": "@fncts/observable",
3
- "version": "0.0.1",
3
+ "version": "0.0.4",
4
4
  "dependencies": {
5
- "@fncts/base": "0.0.12"
5
+ "@fncts/base": "0.0.15"
6
6
  },
7
7
  "exports": {
8
8
  "./*": {
9
9
  "import": "./_mjs/*.mjs",
10
10
  "require": "./_cjs/*.cjs"
11
+ },
12
+ ".": {
13
+ "import": "./_mjs/index.mjs",
14
+ "require": "./_cjs/index.cjs"
11
15
  }
12
16
  },
13
17
  "publishConfig": {
package/_cjs/demo.cjs DELETED
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Observable"));
4
-
5
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Cause/api"));
6
-
7
- var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Observable/api/share"));
8
-
9
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/observable/Observable/api/window"));
10
-
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
-
13
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
-
15
- const x = /*#__PURE__*/new tsplus_module_1.Observable(subscriber => {
16
- setInterval(() => {
17
- subscriber.next(undefined);
18
- }, 1000);
19
- });
20
- tsplus_module_4.window_(tsplus_module_3.share_(new tsplus_module_1.Observable(subscriber => {
21
- let i = 0;
22
- const handle = setInterval(() => {
23
- if (i === 100) {
24
- subscriber.error(tsplus_module_2.fail("lmao"));
25
- } else {
26
- subscriber.next(i++);
27
- }
28
- }, 100);
29
- subscriber.add(() => {
30
- clearInterval(handle);
31
- });
32
- })), x).subscribe({
33
- next: value => {
34
- value.subscribe(console.log.bind(console));
35
- },
36
- error: cause => {
37
- console.log(cause);
38
- }
39
- });
40
- //# sourceMappingURL=demo.cjs.map
package/_cjs/demo.cjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"demo.cjs","mappings":";;;;;;;;;;;;;;AAAA,MAAMA,CAAC,gBAAG,oBAAIC,UAAJ,CAA6BC,UAAD,IAAe;EACnDC,WAAW,CAAC,MAAK;IACfD,UAAU,CAACE,IAAX,CAAgBC,SAAhB;EACD,CAFU,EAER,IAFQ,CAAX;AAGD,CAJS,CAAV;AAMAC,mEAAIL,UAAJ,CAAgCC,UAAD,IAAe;EAC5C,IAAIK,CAAC,GAAU,CAAf;EACA,MAAMC,MAAM,GAAGL,WAAW,CAAC,MAAK;IAC9B,IAAII,CAAC,KAAK,GAAV,EAAe;MACbL,UAAU,CAACO,KAAX,CAAiBC,qBAAW,MAAX,CAAjB;IACD,CAFD,MAEO;MACLR,UAAU,CAACE,IAAX,CAAgBG,CAAC,EAAjB;IACD;EACF,CANyB,EAMvB,GANuB,CAA1B;EAOAL,UAAU,CAACS,GAAX,CAAe,MAAK;IAClBC,aAAa,CAACJ,MAAD,CAAb;EACD,CAFD;AAGD,CAZD,IAcUR,CAdV,EAeGa,SAfH,CAea;EACTT,IAAI,EAAGU,KAAD,IAAU;IACdA,KAAK,CAACD,SAAN,CAAgBE,OAAO,CAACC,GAAR,CAAYC,IAAZ,CAAiBF,OAAjB,CAAhB;EACD,CAHQ;EAITN,KAAK,EAAGS,KAAD,IAAU;IACfH,OAAO,CAACC,GAAR,CAAYE,KAAZ;EACD;AANQ,CAfb","names":["x","Observable","subscriber","setInterval","next","undefined","tsplus_module_4","i","handle","error","tsplus_module_2","add","clearInterval","subscribe","value","console","log","bind","cause"],"sourceRoot":"","sources":["../_src/demo.ts"],"sourcesContent":[null]}
package/_mjs/demo.mjs DELETED
@@ -1,30 +0,0 @@
1
- import * as tsplus_module_1 from "@fncts/observable/Observable";
2
- import * as tsplus_module_2 from "@fncts/base/data/Cause/api";
3
- import * as tsplus_module_3 from "@fncts/observable/Observable/api/share";
4
- import * as tsplus_module_4 from "@fncts/observable/Observable/api/window";
5
- const x = /*#__PURE__*/new tsplus_module_1.Observable(subscriber => {
6
- setInterval(() => {
7
- subscriber.next(undefined);
8
- }, 1000);
9
- });
10
- tsplus_module_4.window_(tsplus_module_3.share_(new tsplus_module_1.Observable(subscriber => {
11
- let i = 0;
12
- const handle = setInterval(() => {
13
- if (i === 100) {
14
- subscriber.error(tsplus_module_2.fail("lmao"));
15
- } else {
16
- subscriber.next(i++);
17
- }
18
- }, 100);
19
- subscriber.add(() => {
20
- clearInterval(handle);
21
- });
22
- })), x).subscribe({
23
- next: value => {
24
- value.subscribe(console.log.bind(console));
25
- },
26
- error: cause => {
27
- console.log(cause);
28
- }
29
- });
30
- //# sourceMappingURL=demo.mjs.map
package/_mjs/demo.mjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"demo.mjs","mappings":";;;;AAAA,MAAMA,CAAC,gBAAG,oBAAIC,UAAJ,CAA6BC,UAAD,IAAe;EACnDC,WAAW,CAAC,MAAK;IACfD,UAAU,CAACE,IAAX,CAAgBC,SAAhB;EACD,CAFU,EAER,IAFQ,CAAX;AAGD,CAJS,CAAV;AAMAC,mEAAIL,UAAJ,CAAgCC,UAAD,IAAe;EAC5C,IAAIK,CAAC,GAAU,CAAf;EACA,MAAMC,MAAM,GAAGL,WAAW,CAAC,MAAK;IAC9B,IAAII,CAAC,KAAK,GAAV,EAAe;MACbL,UAAU,CAACO,KAAX,CAAiBC,qBAAW,MAAX,CAAjB;IACD,CAFD,MAEO;MACLR,UAAU,CAACE,IAAX,CAAgBG,CAAC,EAAjB;IACD;EACF,CANyB,EAMvB,GANuB,CAA1B;EAOAL,UAAU,CAACS,GAAX,CAAe,MAAK;IAClBC,aAAa,CAACJ,MAAD,CAAb;EACD,CAFD;AAGD,CAZD,IAcUR,CAdV,EAeGa,SAfH,CAea;EACTT,IAAI,EAAGU,KAAD,IAAU;IACdA,KAAK,CAACD,SAAN,CAAgBE,OAAO,CAACC,GAAR,CAAYC,IAAZ,CAAiBF,OAAjB,CAAhB;EACD,CAHQ;EAITN,KAAK,EAAGS,KAAD,IAAU;IACfH,OAAO,CAACC,GAAR,CAAYE,KAAZ;EACD;AANQ,CAfb","names":["x","Observable","subscriber","setInterval","next","undefined","tsplus_module_4","i","handle","error","tsplus_module_2","add","clearInterval","subscribe","value","console","log","bind","cause"],"sourceRoot":"","sources":["../_src/demo.ts"],"sourcesContent":[null]}
package/_src/demo.ts DELETED
@@ -1,29 +0,0 @@
1
- const x = new Observable<never, void>((subscriber) => {
2
- setInterval(() => {
3
- subscriber.next(undefined);
4
- }, 1000);
5
- });
6
-
7
- new Observable<string, number>((subscriber) => {
8
- let i = 0;
9
- const handle = setInterval(() => {
10
- if (i === 100) {
11
- subscriber.error(Cause.fail("lmao"));
12
- } else {
13
- subscriber.next(i++);
14
- }
15
- }, 100);
16
- subscriber.add(() => {
17
- clearInterval(handle);
18
- });
19
- })
20
- .share()
21
- .window(x)
22
- .subscribe({
23
- next: (value) => {
24
- value.subscribe(console.log.bind(console));
25
- },
26
- error: (cause) => {
27
- console.log(cause);
28
- },
29
- });
package/demo.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};