forked from jchomaz/Vulture
Tracking de l'application VApp (IHM du jeu)
This commit is contained in:
30
VApp/node_modules/rxjs/src/internal/util/ArgumentOutOfRangeError.ts
generated
vendored
Normal file
30
VApp/node_modules/rxjs/src/internal/util/ArgumentOutOfRangeError.ts
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
import { createErrorClass } from './createErrorClass';
|
||||
|
||||
export interface ArgumentOutOfRangeError extends Error {}
|
||||
|
||||
export interface ArgumentOutOfRangeErrorCtor {
|
||||
/**
|
||||
* @deprecated Internal implementation detail. Do not construct error instances.
|
||||
* Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269
|
||||
*/
|
||||
new (): ArgumentOutOfRangeError;
|
||||
}
|
||||
|
||||
/**
|
||||
* An error thrown when an element was queried at a certain index of an
|
||||
* Observable, but no such index or position exists in that sequence.
|
||||
*
|
||||
* @see {@link elementAt}
|
||||
* @see {@link take}
|
||||
* @see {@link takeLast}
|
||||
*
|
||||
* @class ArgumentOutOfRangeError
|
||||
*/
|
||||
export const ArgumentOutOfRangeError: ArgumentOutOfRangeErrorCtor = createErrorClass(
|
||||
(_super) =>
|
||||
function ArgumentOutOfRangeErrorImpl(this: any) {
|
||||
_super(this);
|
||||
this.name = 'ArgumentOutOfRangeError';
|
||||
this.message = 'argument out of range';
|
||||
}
|
||||
);
|
||||
29
VApp/node_modules/rxjs/src/internal/util/EmptyError.ts
generated
vendored
Normal file
29
VApp/node_modules/rxjs/src/internal/util/EmptyError.ts
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
import { createErrorClass } from './createErrorClass';
|
||||
|
||||
export interface EmptyError extends Error {}
|
||||
|
||||
export interface EmptyErrorCtor {
|
||||
/**
|
||||
* @deprecated Internal implementation detail. Do not construct error instances.
|
||||
* Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269
|
||||
*/
|
||||
new (): EmptyError;
|
||||
}
|
||||
|
||||
/**
|
||||
* An error thrown when an Observable or a sequence was queried but has no
|
||||
* elements.
|
||||
*
|
||||
* @see {@link first}
|
||||
* @see {@link last}
|
||||
* @see {@link single}
|
||||
* @see {@link firstValueFrom}
|
||||
* @see {@link lastValueFrom}
|
||||
*
|
||||
* @class EmptyError
|
||||
*/
|
||||
export const EmptyError: EmptyErrorCtor = createErrorClass((_super) => function EmptyErrorImpl(this: any) {
|
||||
_super(this);
|
||||
this.name = 'EmptyError';
|
||||
this.message = 'no elements in sequence';
|
||||
});
|
||||
45
VApp/node_modules/rxjs/src/internal/util/Immediate.ts
generated
vendored
Normal file
45
VApp/node_modules/rxjs/src/internal/util/Immediate.ts
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
let nextHandle = 1;
|
||||
// The promise needs to be created lazily otherwise it won't be patched by Zones
|
||||
let resolved: Promise<any>;
|
||||
const activeHandles: { [key: number]: any } = {};
|
||||
|
||||
/**
|
||||
* Finds the handle in the list of active handles, and removes it.
|
||||
* Returns `true` if found, `false` otherwise. Used both to clear
|
||||
* Immediate scheduled tasks, and to identify if a task should be scheduled.
|
||||
*/
|
||||
function findAndClearHandle(handle: number): boolean {
|
||||
if (handle in activeHandles) {
|
||||
delete activeHandles[handle];
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper functions to schedule and unschedule microtasks.
|
||||
*/
|
||||
export const Immediate = {
|
||||
setImmediate(cb: () => void): number {
|
||||
const handle = nextHandle++;
|
||||
activeHandles[handle] = true;
|
||||
if (!resolved) {
|
||||
resolved = Promise.resolve();
|
||||
}
|
||||
resolved.then(() => findAndClearHandle(handle) && cb());
|
||||
return handle;
|
||||
},
|
||||
|
||||
clearImmediate(handle: number): void {
|
||||
findAndClearHandle(handle);
|
||||
},
|
||||
};
|
||||
|
||||
/**
|
||||
* Used for internal testing purposes only. Do not export from library.
|
||||
*/
|
||||
export const TestTools = {
|
||||
pending() {
|
||||
return Object.keys(activeHandles).length;
|
||||
}
|
||||
};
|
||||
28
VApp/node_modules/rxjs/src/internal/util/NotFoundError.ts
generated
vendored
Normal file
28
VApp/node_modules/rxjs/src/internal/util/NotFoundError.ts
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import { createErrorClass } from './createErrorClass';
|
||||
|
||||
export interface NotFoundError extends Error {}
|
||||
|
||||
export interface NotFoundErrorCtor {
|
||||
/**
|
||||
* @deprecated Internal implementation detail. Do not construct error instances.
|
||||
* Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269
|
||||
*/
|
||||
new (message: string): NotFoundError;
|
||||
}
|
||||
|
||||
/**
|
||||
* An error thrown when a value or values are missing from an
|
||||
* observable sequence.
|
||||
*
|
||||
* @see {@link operators/single}
|
||||
*
|
||||
* @class NotFoundError
|
||||
*/
|
||||
export const NotFoundError: NotFoundErrorCtor = createErrorClass(
|
||||
(_super) =>
|
||||
function NotFoundErrorImpl(this: any, message: string) {
|
||||
_super(this);
|
||||
this.name = 'NotFoundError';
|
||||
this.message = message;
|
||||
}
|
||||
);
|
||||
29
VApp/node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts
generated
vendored
Normal file
29
VApp/node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
import { createErrorClass } from './createErrorClass';
|
||||
|
||||
export interface ObjectUnsubscribedError extends Error {}
|
||||
|
||||
export interface ObjectUnsubscribedErrorCtor {
|
||||
/**
|
||||
* @deprecated Internal implementation detail. Do not construct error instances.
|
||||
* Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269
|
||||
*/
|
||||
new (): ObjectUnsubscribedError;
|
||||
}
|
||||
|
||||
/**
|
||||
* An error thrown when an action is invalid because the object has been
|
||||
* unsubscribed.
|
||||
*
|
||||
* @see {@link Subject}
|
||||
* @see {@link BehaviorSubject}
|
||||
*
|
||||
* @class ObjectUnsubscribedError
|
||||
*/
|
||||
export const ObjectUnsubscribedError: ObjectUnsubscribedErrorCtor = createErrorClass(
|
||||
(_super) =>
|
||||
function ObjectUnsubscribedErrorImpl(this: any) {
|
||||
_super(this);
|
||||
this.name = 'ObjectUnsubscribedError';
|
||||
this.message = 'object unsubscribed';
|
||||
}
|
||||
);
|
||||
28
VApp/node_modules/rxjs/src/internal/util/SequenceError.ts
generated
vendored
Normal file
28
VApp/node_modules/rxjs/src/internal/util/SequenceError.ts
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import { createErrorClass } from './createErrorClass';
|
||||
|
||||
export interface SequenceError extends Error {}
|
||||
|
||||
export interface SequenceErrorCtor {
|
||||
/**
|
||||
* @deprecated Internal implementation detail. Do not construct error instances.
|
||||
* Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269
|
||||
*/
|
||||
new (message: string): SequenceError;
|
||||
}
|
||||
|
||||
/**
|
||||
* An error thrown when something is wrong with the sequence of
|
||||
* values arriving on the observable.
|
||||
*
|
||||
* @see {@link operators/single}
|
||||
*
|
||||
* @class SequenceError
|
||||
*/
|
||||
export const SequenceError: SequenceErrorCtor = createErrorClass(
|
||||
(_super) =>
|
||||
function SequenceErrorImpl(this: any, message: string) {
|
||||
_super(this);
|
||||
this.name = 'SequenceError';
|
||||
this.message = message;
|
||||
}
|
||||
);
|
||||
30
VApp/node_modules/rxjs/src/internal/util/UnsubscriptionError.ts
generated
vendored
Normal file
30
VApp/node_modules/rxjs/src/internal/util/UnsubscriptionError.ts
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
import { createErrorClass } from './createErrorClass';
|
||||
|
||||
export interface UnsubscriptionError extends Error {
|
||||
readonly errors: any[];
|
||||
}
|
||||
|
||||
export interface UnsubscriptionErrorCtor {
|
||||
/**
|
||||
* @deprecated Internal implementation detail. Do not construct error instances.
|
||||
* Cannot be tagged as internal: https://github.com/ReactiveX/rxjs/issues/6269
|
||||
*/
|
||||
new (errors: any[]): UnsubscriptionError;
|
||||
}
|
||||
|
||||
/**
|
||||
* An error thrown when one or more errors have occurred during the
|
||||
* `unsubscribe` of a {@link Subscription}.
|
||||
*/
|
||||
export const UnsubscriptionError: UnsubscriptionErrorCtor = createErrorClass(
|
||||
(_super) =>
|
||||
function UnsubscriptionErrorImpl(this: any, errors: (Error | string)[]) {
|
||||
_super(this);
|
||||
this.message = errors
|
||||
? `${errors.length} errors occurred during unsubscription:
|
||||
${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\n ')}`
|
||||
: '';
|
||||
this.name = 'UnsubscriptionError';
|
||||
this.errors = errors;
|
||||
}
|
||||
);
|
||||
10
VApp/node_modules/rxjs/src/internal/util/applyMixins.ts
generated
vendored
Normal file
10
VApp/node_modules/rxjs/src/internal/util/applyMixins.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
export function applyMixins(derivedCtor: any, baseCtors: any[]) {
|
||||
for (let i = 0, len = baseCtors.length; i < len; i++) {
|
||||
const baseCtor = baseCtors[i];
|
||||
const propertyKeys = Object.getOwnPropertyNames(baseCtor.prototype);
|
||||
for (let j = 0, len2 = propertyKeys.length; j < len2; j++) {
|
||||
const name = propertyKeys[j];
|
||||
derivedCtor.prototype[name] = baseCtor.prototype[name];
|
||||
}
|
||||
}
|
||||
}
|
||||
19
VApp/node_modules/rxjs/src/internal/util/args.ts
generated
vendored
Normal file
19
VApp/node_modules/rxjs/src/internal/util/args.ts
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
import { SchedulerLike } from '../types';
|
||||
import { isFunction } from './isFunction';
|
||||
import { isScheduler } from './isScheduler';
|
||||
|
||||
function last<T>(arr: T[]): T | undefined {
|
||||
return arr[arr.length - 1];
|
||||
}
|
||||
|
||||
export function popResultSelector(args: any[]): ((...args: unknown[]) => unknown) | undefined {
|
||||
return isFunction(last(args)) ? args.pop() : undefined;
|
||||
}
|
||||
|
||||
export function popScheduler(args: any[]): SchedulerLike | undefined {
|
||||
return isScheduler(last(args)) ? args.pop() : undefined;
|
||||
}
|
||||
|
||||
export function popNumber(args: any[], defaultValue: number): number {
|
||||
return typeof last(args) === 'number' ? args.pop()! : defaultValue;
|
||||
}
|
||||
30
VApp/node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts
generated
vendored
Normal file
30
VApp/node_modules/rxjs/src/internal/util/argsArgArrayOrObject.ts
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
const { isArray } = Array;
|
||||
const { getPrototypeOf, prototype: objectProto, keys: getKeys } = Object;
|
||||
|
||||
/**
|
||||
* Used in functions where either a list of arguments, a single array of arguments, or a
|
||||
* dictionary of arguments can be returned. Returns an object with an `args` property with
|
||||
* the arguments in an array, if it is a dictionary, it will also return the `keys` in another
|
||||
* property.
|
||||
*/
|
||||
export function argsArgArrayOrObject<T, O extends Record<string, T>>(args: T[] | [O] | [T[]]): { args: T[]; keys: string[] | null } {
|
||||
if (args.length === 1) {
|
||||
const first = args[0];
|
||||
if (isArray(first)) {
|
||||
return { args: first, keys: null };
|
||||
}
|
||||
if (isPOJO(first)) {
|
||||
const keys = getKeys(first);
|
||||
return {
|
||||
args: keys.map((key) => first[key]),
|
||||
keys,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
return { args: args as T[], keys: null };
|
||||
}
|
||||
|
||||
function isPOJO(obj: any): obj is object {
|
||||
return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;
|
||||
}
|
||||
9
VApp/node_modules/rxjs/src/internal/util/argsOrArgArray.ts
generated
vendored
Normal file
9
VApp/node_modules/rxjs/src/internal/util/argsOrArgArray.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
const { isArray } = Array;
|
||||
|
||||
/**
|
||||
* Used in operators and functions that accept either a list of arguments, or an array of arguments
|
||||
* as a single argument.
|
||||
*/
|
||||
export function argsOrArgArray<T>(args: (T | T[])[]): T[] {
|
||||
return args.length === 1 && isArray(args[0]) ? args[0] : (args as T[]);
|
||||
}
|
||||
11
VApp/node_modules/rxjs/src/internal/util/arrRemove.ts
generated
vendored
Normal file
11
VApp/node_modules/rxjs/src/internal/util/arrRemove.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* Removes an item from an array, mutating it.
|
||||
* @param arr The array to remove the item from
|
||||
* @param item The item to remove
|
||||
*/
|
||||
export function arrRemove<T>(arr: T[] | undefined | null, item: T) {
|
||||
if (arr) {
|
||||
const index = arr.indexOf(item);
|
||||
0 <= index && arr.splice(index, 1);
|
||||
}
|
||||
}
|
||||
20
VApp/node_modules/rxjs/src/internal/util/createErrorClass.ts
generated
vendored
Normal file
20
VApp/node_modules/rxjs/src/internal/util/createErrorClass.ts
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Used to create Error subclasses until the community moves away from ES5.
|
||||
*
|
||||
* This is because compiling from TypeScript down to ES5 has issues with subclassing Errors
|
||||
* as well as other built-in types: https://github.com/Microsoft/TypeScript/issues/12123
|
||||
*
|
||||
* @param createImpl A factory function to create the actual constructor implementation. The returned
|
||||
* function should be a named function that calls `_super` internally.
|
||||
*/
|
||||
export function createErrorClass<T>(createImpl: (_super: any) => any): T {
|
||||
const _super = (instance: any) => {
|
||||
Error.call(instance);
|
||||
instance.stack = new Error().stack;
|
||||
};
|
||||
|
||||
const ctorFunc = createImpl(_super);
|
||||
ctorFunc.prototype = Object.create(Error.prototype);
|
||||
ctorFunc.prototype.constructor = ctorFunc;
|
||||
return ctorFunc;
|
||||
}
|
||||
3
VApp/node_modules/rxjs/src/internal/util/createObject.ts
generated
vendored
Normal file
3
VApp/node_modules/rxjs/src/internal/util/createObject.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export function createObject(keys: string[], values: any[]) {
|
||||
return keys.reduce((result, key, i) => ((result[key] = values[i]), result), {} as any);
|
||||
}
|
||||
42
VApp/node_modules/rxjs/src/internal/util/errorContext.ts
generated
vendored
Normal file
42
VApp/node_modules/rxjs/src/internal/util/errorContext.ts
generated
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
import { config } from '../config';
|
||||
|
||||
let context: { errorThrown: boolean; error: any } | null = null;
|
||||
|
||||
/**
|
||||
* Handles dealing with errors for super-gross mode. Creates a context, in which
|
||||
* any synchronously thrown errors will be passed to {@link captureError}. Which
|
||||
* will record the error such that it will be rethrown after the call back is complete.
|
||||
* TODO: Remove in v8
|
||||
* @param cb An immediately executed function.
|
||||
*/
|
||||
export function errorContext(cb: () => void) {
|
||||
if (config.useDeprecatedSynchronousErrorHandling) {
|
||||
const isRoot = !context;
|
||||
if (isRoot) {
|
||||
context = { errorThrown: false, error: null };
|
||||
}
|
||||
cb();
|
||||
if (isRoot) {
|
||||
const { errorThrown, error } = context!;
|
||||
context = null;
|
||||
if (errorThrown) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// This is the general non-deprecated path for everyone that
|
||||
// isn't crazy enough to use super-gross mode (useDeprecatedSynchronousErrorHandling)
|
||||
cb();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Captures errors only in super-gross mode.
|
||||
* @param err the error to capture
|
||||
*/
|
||||
export function captureError(err: any) {
|
||||
if (config.useDeprecatedSynchronousErrorHandling && context) {
|
||||
context.errorThrown = true;
|
||||
context.error = err;
|
||||
}
|
||||
}
|
||||
44
VApp/node_modules/rxjs/src/internal/util/executeSchedule.ts
generated
vendored
Normal file
44
VApp/node_modules/rxjs/src/internal/util/executeSchedule.ts
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import { Subscription } from '../Subscription';
|
||||
import { SchedulerAction, SchedulerLike } from '../types';
|
||||
|
||||
export function executeSchedule(
|
||||
parentSubscription: Subscription,
|
||||
scheduler: SchedulerLike,
|
||||
work: () => void,
|
||||
delay: number,
|
||||
repeat: true
|
||||
): void;
|
||||
export function executeSchedule(
|
||||
parentSubscription: Subscription,
|
||||
scheduler: SchedulerLike,
|
||||
work: () => void,
|
||||
delay?: number,
|
||||
repeat?: false
|
||||
): Subscription;
|
||||
|
||||
export function executeSchedule(
|
||||
parentSubscription: Subscription,
|
||||
scheduler: SchedulerLike,
|
||||
work: () => void,
|
||||
delay = 0,
|
||||
repeat = false
|
||||
): Subscription | void {
|
||||
const scheduleSubscription = scheduler.schedule(function (this: SchedulerAction<any>) {
|
||||
work();
|
||||
if (repeat) {
|
||||
parentSubscription.add(this.schedule(null, delay));
|
||||
} else {
|
||||
this.unsubscribe();
|
||||
}
|
||||
}, delay);
|
||||
|
||||
parentSubscription.add(scheduleSubscription);
|
||||
|
||||
if (!repeat) {
|
||||
// Because user-land scheduler implementations are unlikely to properly reuse
|
||||
// Actions for repeat scheduling, we can't trust that the returned subscription
|
||||
// will control repeat subscription scenarios. So we're trying to avoid using them
|
||||
// incorrectly within this library.
|
||||
return scheduleSubscription;
|
||||
}
|
||||
}
|
||||
45
VApp/node_modules/rxjs/src/internal/util/identity.ts
generated
vendored
Normal file
45
VApp/node_modules/rxjs/src/internal/util/identity.ts
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* This function takes one parameter and just returns it. Simply put,
|
||||
* this is like `<T>(x: T): T => x`.
|
||||
*
|
||||
* ## Examples
|
||||
*
|
||||
* This is useful in some cases when using things like `mergeMap`
|
||||
*
|
||||
* ```ts
|
||||
* import { interval, take, map, range, mergeMap, identity } from 'rxjs';
|
||||
*
|
||||
* const source$ = interval(1000).pipe(take(5));
|
||||
*
|
||||
* const result$ = source$.pipe(
|
||||
* map(i => range(i)),
|
||||
* mergeMap(identity) // same as mergeMap(x => x)
|
||||
* );
|
||||
*
|
||||
* result$.subscribe({
|
||||
* next: console.log
|
||||
* });
|
||||
* ```
|
||||
*
|
||||
* Or when you want to selectively apply an operator
|
||||
*
|
||||
* ```ts
|
||||
* import { interval, take, identity } from 'rxjs';
|
||||
*
|
||||
* const shouldLimit = () => Math.random() < 0.5;
|
||||
*
|
||||
* const source$ = interval(1000);
|
||||
*
|
||||
* const result$ = source$.pipe(shouldLimit() ? take(5) : identity);
|
||||
*
|
||||
* result$.subscribe({
|
||||
* next: console.log
|
||||
* });
|
||||
* ```
|
||||
*
|
||||
* @param x Any value that is returned by this function
|
||||
* @returns The value passed as the first parameter to this function
|
||||
*/
|
||||
export function identity<T>(x: T): T {
|
||||
return x;
|
||||
}
|
||||
1
VApp/node_modules/rxjs/src/internal/util/isArrayLike.ts
generated
vendored
Normal file
1
VApp/node_modules/rxjs/src/internal/util/isArrayLike.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export const isArrayLike = (<T>(x: any): x is ArrayLike<T> => x && typeof x.length === 'number' && typeof x !== 'function');
|
||||
5
VApp/node_modules/rxjs/src/internal/util/isAsyncIterable.ts
generated
vendored
Normal file
5
VApp/node_modules/rxjs/src/internal/util/isAsyncIterable.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import { isFunction } from './isFunction';
|
||||
|
||||
export function isAsyncIterable<T>(obj: any): obj is AsyncIterable<T> {
|
||||
return Symbol.asyncIterator && isFunction(obj?.[Symbol.asyncIterator]);
|
||||
}
|
||||
10
VApp/node_modules/rxjs/src/internal/util/isDate.ts
generated
vendored
Normal file
10
VApp/node_modules/rxjs/src/internal/util/isDate.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* Checks to see if a value is not only a `Date` object,
|
||||
* but a *valid* `Date` object that can be converted to a
|
||||
* number. For example, `new Date('blah')` is indeed an
|
||||
* `instanceof Date`, however it cannot be converted to a
|
||||
* number.
|
||||
*/
|
||||
export function isValidDate(value: any): value is Date {
|
||||
return value instanceof Date && !isNaN(value as any);
|
||||
}
|
||||
7
VApp/node_modules/rxjs/src/internal/util/isFunction.ts
generated
vendored
Normal file
7
VApp/node_modules/rxjs/src/internal/util/isFunction.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
/**
|
||||
* Returns true if the object is a function.
|
||||
* @param value The value to check
|
||||
*/
|
||||
export function isFunction(value: any): value is (...args: any[]) => any {
|
||||
return typeof value === 'function';
|
||||
}
|
||||
8
VApp/node_modules/rxjs/src/internal/util/isInteropObservable.ts
generated
vendored
Normal file
8
VApp/node_modules/rxjs/src/internal/util/isInteropObservable.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { InteropObservable } from '../types';
|
||||
import { observable as Symbol_observable } from '../symbol/observable';
|
||||
import { isFunction } from './isFunction';
|
||||
|
||||
/** Identifies an input as being Observable (but not necessary an Rx Observable) */
|
||||
export function isInteropObservable(input: any): input is InteropObservable<any> {
|
||||
return isFunction(input[Symbol_observable]);
|
||||
}
|
||||
7
VApp/node_modules/rxjs/src/internal/util/isIterable.ts
generated
vendored
Normal file
7
VApp/node_modules/rxjs/src/internal/util/isIterable.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { iterator as Symbol_iterator } from '../symbol/iterator';
|
||||
import { isFunction } from './isFunction';
|
||||
|
||||
/** Identifies an input as being an Iterable */
|
||||
export function isIterable(input: any): input is Iterable<any> {
|
||||
return isFunction(input?.[Symbol_iterator]);
|
||||
}
|
||||
13
VApp/node_modules/rxjs/src/internal/util/isObservable.ts
generated
vendored
Normal file
13
VApp/node_modules/rxjs/src/internal/util/isObservable.ts
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
/** prettier */
|
||||
import { Observable } from '../Observable';
|
||||
import { isFunction } from './isFunction';
|
||||
|
||||
/**
|
||||
* Tests to see if the object is an RxJS {@link Observable}
|
||||
* @param obj the object to test
|
||||
*/
|
||||
export function isObservable(obj: any): obj is Observable<unknown> {
|
||||
// The !! is to ensure that this publicly exposed function returns
|
||||
// `false` if something like `null` or `0` is passed.
|
||||
return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));
|
||||
}
|
||||
9
VApp/node_modules/rxjs/src/internal/util/isPromise.ts
generated
vendored
Normal file
9
VApp/node_modules/rxjs/src/internal/util/isPromise.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { isFunction } from "./isFunction";
|
||||
|
||||
/**
|
||||
* Tests to see if the object is "thennable".
|
||||
* @param value the object to test
|
||||
*/
|
||||
export function isPromise(value: any): value is PromiseLike<any> {
|
||||
return isFunction(value?.then);
|
||||
}
|
||||
23
VApp/node_modules/rxjs/src/internal/util/isReadableStreamLike.ts
generated
vendored
Normal file
23
VApp/node_modules/rxjs/src/internal/util/isReadableStreamLike.ts
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
import { ReadableStreamLike } from '../types';
|
||||
import { isFunction } from './isFunction';
|
||||
|
||||
export async function* readableStreamLikeToAsyncGenerator<T>(readableStream: ReadableStreamLike<T>): AsyncGenerator<T> {
|
||||
const reader = readableStream.getReader();
|
||||
try {
|
||||
while (true) {
|
||||
const { value, done } = await reader.read();
|
||||
if (done) {
|
||||
return;
|
||||
}
|
||||
yield value!;
|
||||
}
|
||||
} finally {
|
||||
reader.releaseLock();
|
||||
}
|
||||
}
|
||||
|
||||
export function isReadableStreamLike<T>(obj: any): obj is ReadableStreamLike<T> {
|
||||
// We don't want to use instanceof checks because they would return
|
||||
// false for instances from another Realm, like an <iframe>.
|
||||
return isFunction(obj?.getReader);
|
||||
}
|
||||
6
VApp/node_modules/rxjs/src/internal/util/isScheduler.ts
generated
vendored
Normal file
6
VApp/node_modules/rxjs/src/internal/util/isScheduler.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { SchedulerLike } from '../types';
|
||||
import { isFunction } from './isFunction';
|
||||
|
||||
export function isScheduler(value: any): value is SchedulerLike {
|
||||
return value && isFunction(value.schedule);
|
||||
}
|
||||
32
VApp/node_modules/rxjs/src/internal/util/lift.ts
generated
vendored
Normal file
32
VApp/node_modules/rxjs/src/internal/util/lift.ts
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
import { Observable } from '../Observable';
|
||||
import { Subscriber } from '../Subscriber';
|
||||
import { OperatorFunction } from '../types';
|
||||
import { isFunction } from './isFunction';
|
||||
|
||||
/**
|
||||
* Used to determine if an object is an Observable with a lift function.
|
||||
*/
|
||||
export function hasLift(source: any): source is { lift: InstanceType<typeof Observable>['lift'] } {
|
||||
return isFunction(source?.lift);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an `OperatorFunction`. Used to define operators throughout the library in a concise way.
|
||||
* @param init The logic to connect the liftedSource to the subscriber at the moment of subscription.
|
||||
*/
|
||||
export function operate<T, R>(
|
||||
init: (liftedSource: Observable<T>, subscriber: Subscriber<R>) => (() => void) | void
|
||||
): OperatorFunction<T, R> {
|
||||
return (source: Observable<T>) => {
|
||||
if (hasLift(source)) {
|
||||
return source.lift(function (this: Subscriber<R>, liftedSource: Observable<T>) {
|
||||
try {
|
||||
return init(liftedSource, this);
|
||||
} catch (err) {
|
||||
this.error(err);
|
||||
}
|
||||
});
|
||||
}
|
||||
throw new TypeError('Unable to lift unknown Observable type');
|
||||
};
|
||||
}
|
||||
16
VApp/node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts
generated
vendored
Normal file
16
VApp/node_modules/rxjs/src/internal/util/mapOneOrManyArgs.ts
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
import { OperatorFunction } from "../types";
|
||||
import { map } from "../operators/map";
|
||||
|
||||
const { isArray } = Array;
|
||||
|
||||
function callOrApply<T, R>(fn: ((...values: T[]) => R), args: T|T[]): R {
|
||||
return isArray(args) ? fn(...args) : fn(args);
|
||||
}
|
||||
|
||||
/**
|
||||
* Used in several -- mostly deprecated -- situations where we need to
|
||||
* apply a list of arguments or a single argument to a result selector.
|
||||
*/
|
||||
export function mapOneOrManyArgs<T, R>(fn: ((...values: T[]) => R)): OperatorFunction<T|T[], R> {
|
||||
return map(args => callOrApply(fn, args))
|
||||
}
|
||||
2
VApp/node_modules/rxjs/src/internal/util/noop.ts
generated
vendored
Normal file
2
VApp/node_modules/rxjs/src/internal/util/noop.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/* tslint:disable:no-empty */
|
||||
export function noop() { }
|
||||
3
VApp/node_modules/rxjs/src/internal/util/not.ts
generated
vendored
Normal file
3
VApp/node_modules/rxjs/src/internal/util/not.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export function not<T>(pred: (value: T, index: number) => boolean, thisArg: any): (value: T, index: number) => boolean {
|
||||
return (value: T, index: number) => !pred.call(thisArg, value, index);
|
||||
}
|
||||
95
VApp/node_modules/rxjs/src/internal/util/pipe.ts
generated
vendored
Normal file
95
VApp/node_modules/rxjs/src/internal/util/pipe.ts
generated
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
import { identity } from './identity';
|
||||
import { UnaryFunction } from '../types';
|
||||
|
||||
export function pipe(): typeof identity;
|
||||
export function pipe<T, A>(fn1: UnaryFunction<T, A>): UnaryFunction<T, A>;
|
||||
export function pipe<T, A, B>(fn1: UnaryFunction<T, A>, fn2: UnaryFunction<A, B>): UnaryFunction<T, B>;
|
||||
export function pipe<T, A, B, C>(fn1: UnaryFunction<T, A>, fn2: UnaryFunction<A, B>, fn3: UnaryFunction<B, C>): UnaryFunction<T, C>;
|
||||
export function pipe<T, A, B, C, D>(
|
||||
fn1: UnaryFunction<T, A>,
|
||||
fn2: UnaryFunction<A, B>,
|
||||
fn3: UnaryFunction<B, C>,
|
||||
fn4: UnaryFunction<C, D>
|
||||
): UnaryFunction<T, D>;
|
||||
export function pipe<T, A, B, C, D, E>(
|
||||
fn1: UnaryFunction<T, A>,
|
||||
fn2: UnaryFunction<A, B>,
|
||||
fn3: UnaryFunction<B, C>,
|
||||
fn4: UnaryFunction<C, D>,
|
||||
fn5: UnaryFunction<D, E>
|
||||
): UnaryFunction<T, E>;
|
||||
export function pipe<T, A, B, C, D, E, F>(
|
||||
fn1: UnaryFunction<T, A>,
|
||||
fn2: UnaryFunction<A, B>,
|
||||
fn3: UnaryFunction<B, C>,
|
||||
fn4: UnaryFunction<C, D>,
|
||||
fn5: UnaryFunction<D, E>,
|
||||
fn6: UnaryFunction<E, F>
|
||||
): UnaryFunction<T, F>;
|
||||
export function pipe<T, A, B, C, D, E, F, G>(
|
||||
fn1: UnaryFunction<T, A>,
|
||||
fn2: UnaryFunction<A, B>,
|
||||
fn3: UnaryFunction<B, C>,
|
||||
fn4: UnaryFunction<C, D>,
|
||||
fn5: UnaryFunction<D, E>,
|
||||
fn6: UnaryFunction<E, F>,
|
||||
fn7: UnaryFunction<F, G>
|
||||
): UnaryFunction<T, G>;
|
||||
export function pipe<T, A, B, C, D, E, F, G, H>(
|
||||
fn1: UnaryFunction<T, A>,
|
||||
fn2: UnaryFunction<A, B>,
|
||||
fn3: UnaryFunction<B, C>,
|
||||
fn4: UnaryFunction<C, D>,
|
||||
fn5: UnaryFunction<D, E>,
|
||||
fn6: UnaryFunction<E, F>,
|
||||
fn7: UnaryFunction<F, G>,
|
||||
fn8: UnaryFunction<G, H>
|
||||
): UnaryFunction<T, H>;
|
||||
export function pipe<T, A, B, C, D, E, F, G, H, I>(
|
||||
fn1: UnaryFunction<T, A>,
|
||||
fn2: UnaryFunction<A, B>,
|
||||
fn3: UnaryFunction<B, C>,
|
||||
fn4: UnaryFunction<C, D>,
|
||||
fn5: UnaryFunction<D, E>,
|
||||
fn6: UnaryFunction<E, F>,
|
||||
fn7: UnaryFunction<F, G>,
|
||||
fn8: UnaryFunction<G, H>,
|
||||
fn9: UnaryFunction<H, I>
|
||||
): UnaryFunction<T, I>;
|
||||
export function pipe<T, A, B, C, D, E, F, G, H, I>(
|
||||
fn1: UnaryFunction<T, A>,
|
||||
fn2: UnaryFunction<A, B>,
|
||||
fn3: UnaryFunction<B, C>,
|
||||
fn4: UnaryFunction<C, D>,
|
||||
fn5: UnaryFunction<D, E>,
|
||||
fn6: UnaryFunction<E, F>,
|
||||
fn7: UnaryFunction<F, G>,
|
||||
fn8: UnaryFunction<G, H>,
|
||||
fn9: UnaryFunction<H, I>,
|
||||
...fns: UnaryFunction<any, any>[]
|
||||
): UnaryFunction<T, unknown>;
|
||||
|
||||
/**
|
||||
* pipe() can be called on one or more functions, each of which can take one argument ("UnaryFunction")
|
||||
* and uses it to return a value.
|
||||
* It returns a function that takes one argument, passes it to the first UnaryFunction, and then
|
||||
* passes the result to the next one, passes that result to the next one, and so on.
|
||||
*/
|
||||
export function pipe(...fns: Array<UnaryFunction<any, any>>): UnaryFunction<any, any> {
|
||||
return pipeFromArray(fns);
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export function pipeFromArray<T, R>(fns: Array<UnaryFunction<T, R>>): UnaryFunction<T, R> {
|
||||
if (fns.length === 0) {
|
||||
return identity as UnaryFunction<any, any>;
|
||||
}
|
||||
|
||||
if (fns.length === 1) {
|
||||
return fns[0];
|
||||
}
|
||||
|
||||
return function piped(input: T): R {
|
||||
return fns.reduce((prev: any, fn: UnaryFunction<T, R>) => fn(prev), input as any);
|
||||
};
|
||||
}
|
||||
24
VApp/node_modules/rxjs/src/internal/util/reportUnhandledError.ts
generated
vendored
Normal file
24
VApp/node_modules/rxjs/src/internal/util/reportUnhandledError.ts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
import { config } from '../config';
|
||||
import { timeoutProvider } from '../scheduler/timeoutProvider';
|
||||
|
||||
/**
|
||||
* Handles an error on another job either with the user-configured {@link onUnhandledError},
|
||||
* or by throwing it on that new job so it can be picked up by `window.onerror`, `process.on('error')`, etc.
|
||||
*
|
||||
* This should be called whenever there is an error that is out-of-band with the subscription
|
||||
* or when an error hits a terminal boundary of the subscription and no error handler was provided.
|
||||
*
|
||||
* @param err the error to report
|
||||
*/
|
||||
export function reportUnhandledError(err: any) {
|
||||
timeoutProvider.setTimeout(() => {
|
||||
const { onUnhandledError } = config;
|
||||
if (onUnhandledError) {
|
||||
// Execute the user-configured error handler.
|
||||
onUnhandledError(err);
|
||||
} else {
|
||||
// Throw so it is picked up by the runtime's uncaught error mechanism.
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
}
|
||||
12
VApp/node_modules/rxjs/src/internal/util/subscribeToArray.ts
generated
vendored
Normal file
12
VApp/node_modules/rxjs/src/internal/util/subscribeToArray.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import { Subscriber } from '../Subscriber';
|
||||
|
||||
/**
|
||||
* Subscribes to an ArrayLike with a subscriber
|
||||
* @param array The array or array-like to subscribe to
|
||||
*/
|
||||
export const subscribeToArray = <T>(array: ArrayLike<T>) => (subscriber: Subscriber<T>) => {
|
||||
for (let i = 0, len = array.length; i < len && !subscriber.closed; i++) {
|
||||
subscriber.next(array[i]);
|
||||
}
|
||||
subscriber.complete();
|
||||
};
|
||||
12
VApp/node_modules/rxjs/src/internal/util/throwUnobservableError.ts
generated
vendored
Normal file
12
VApp/node_modules/rxjs/src/internal/util/throwUnobservableError.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* Creates the TypeError to throw if an invalid object is passed to `from` or `scheduled`.
|
||||
* @param input The object that was passed.
|
||||
*/
|
||||
export function createInvalidObservableTypeError(input: any) {
|
||||
// TODO: We should create error codes that can be looked up, so this can be less verbose.
|
||||
return new TypeError(
|
||||
`You provided ${
|
||||
input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`
|
||||
} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`
|
||||
);
|
||||
}
|
||||
7
VApp/node_modules/rxjs/src/internal/util/workarounds.ts
generated
vendored
Normal file
7
VApp/node_modules/rxjs/src/internal/util/workarounds.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
// Instead of using any - or another less-than-ideal type - to workaround a
|
||||
// TypeScript problem or bug, create a type alias and use that instead.
|
||||
// Wherever possible, use a TypeScript issue number in the type - something
|
||||
// like TS_18757 - or use a descriptive name and leave a detailed comment
|
||||
// alongside the type alias.
|
||||
|
||||
export {}
|
||||
Reference in New Issue
Block a user