UNPKG

@euirim/microsoft-cognitiveservices-speech-sdk

Version:
1 lines 11.4 kB
{"version":3,"sources":["src/common/List.ts"],"names":[],"mappings":"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","file":"List.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n\nimport { ObjectDisposedError } from \"./Error\";\nimport { IDetachable } from \"./IDetachable\";\nimport { IStringDictionary } from \"./IDictionary\";\nimport { IDisposable } from \"./IDisposable\";\n\nexport interface IList<TItem> extends IDisposable {\n get(itemIndex: number): TItem;\n first(): TItem;\n last(): TItem;\n\n add(item: TItem): void;\n insertAt(index: number, item: TItem): void;\n\n removeFirst(): TItem;\n removeLast(): TItem;\n removeAt(index: number): TItem;\n remove(index: number, count: number): TItem[];\n clear(): void;\n\n length(): number;\n\n onAdded(addedCallback: () => void): IDetachable;\n onRemoved(removedCallback: () => void): IDetachable;\n onDisposed(disposedCallback: () => void): IDetachable;\n\n join(seperator?: string): string;\n\n toArray(): TItem[];\n\n any(callback?: (item: TItem, index: number) => boolean): boolean;\n all(callback: (item: TItem) => boolean): boolean;\n forEach(callback: (item: TItem, index: number) => void): void;\n select<T2>(callback: (item: TItem, index: number) => T2): List<T2>;\n where(callback: (item: TItem, index: number) => boolean): List<TItem>;\n orderBy(compareFn: (a: TItem, b: TItem) => number): List<TItem>;\n orderByDesc(compareFn: (a: TItem, b: TItem) => number): List<TItem>;\n clone(): List<TItem>;\n concat(list: List<TItem>): List<TItem>;\n concatArray(array: TItem[]): List<TItem>;\n}\n\nexport class List<TItem> implements IList<TItem> {\n private privList: TItem[];\n private privSubscriptionIdCounter: number = 0;\n private privAddSubscriptions: IStringDictionary<() => void> = {};\n private privRemoveSubscriptions: IStringDictionary<() => void> = {};\n private privDisposedSubscriptions: IStringDictionary<() => void> = {};\n private privDisposeReason: string = null;\n\n public constructor(list?: TItem[]) {\n this.privList = [];\n // copy the list rather than taking as is.\n if (list) {\n for (const item of list) {\n this.privList.push(item);\n }\n }\n }\n\n public get = (itemIndex: number): TItem => {\n this.throwIfDisposed();\n return this.privList[itemIndex];\n }\n\n public first = (): TItem => {\n return this.get(0);\n }\n\n public last = (): TItem => {\n return this.get(this.length() - 1);\n }\n\n public add = (item: TItem): void => {\n this.throwIfDisposed();\n this.insertAt(this.privList.length, item);\n }\n\n public insertAt = (index: number, item: TItem): void => {\n this.throwIfDisposed();\n if (index === 0) {\n this.privList.unshift(item);\n } else if (index === this.privList.length) {\n this.privList.push(item);\n } else {\n this.privList.splice(index, 0, item);\n }\n this.triggerSubscriptions(this.privAddSubscriptions);\n }\n\n public removeFirst = (): TItem => {\n this.throwIfDisposed();\n return this.removeAt(0);\n }\n\n public removeLast = (): TItem => {\n this.throwIfDisposed();\n return this.removeAt(this.length() - 1);\n }\n\n public removeAt = (index: number): TItem => {\n this.throwIfDisposed();\n return this.remove(index, 1)[0];\n }\n\n public remove = (index: number, count: number): TItem[] => {\n this.throwIfDisposed();\n const removedElements = this.privList.splice(index, count);\n this.triggerSubscriptions(this.privRemoveSubscriptions);\n return removedElements;\n }\n\n public clear = (): void => {\n this.throwIfDisposed();\n this.remove(0, this.length());\n }\n\n public length = (): number => {\n this.throwIfDisposed();\n return this.privList.length;\n }\n\n public onAdded = (addedCallback: () => void): IDetachable => {\n this.throwIfDisposed();\n const subscriptionId = this.privSubscriptionIdCounter++;\n\n this.privAddSubscriptions[subscriptionId] = addedCallback;\n\n return {\n detach: () => {\n delete this.privAddSubscriptions[subscriptionId];\n },\n };\n }\n\n public onRemoved = (removedCallback: () => void): IDetachable => {\n this.throwIfDisposed();\n const subscriptionId = this.privSubscriptionIdCounter++;\n\n this.privRemoveSubscriptions[subscriptionId] = removedCallback;\n\n return {\n detach: () => {\n delete this.privRemoveSubscriptions[subscriptionId];\n },\n };\n }\n\n public onDisposed = (disposedCallback: () => void): IDetachable => {\n this.throwIfDisposed();\n const subscriptionId = this.privSubscriptionIdCounter++;\n\n this.privDisposedSubscriptions[subscriptionId] = disposedCallback;\n\n return {\n detach: () => {\n delete this.privDisposedSubscriptions[subscriptionId];\n },\n };\n }\n\n public join = (seperator?: string): string => {\n this.throwIfDisposed();\n return this.privList.join(seperator);\n }\n\n public toArray = (): TItem[] => {\n const cloneCopy = Array<TItem>();\n this.privList.forEach((val: TItem) => {\n cloneCopy.push(val);\n });\n return cloneCopy;\n }\n\n public any = (callback?: (item: TItem, index: number) => boolean): boolean => {\n this.throwIfDisposed();\n if (callback) {\n return this.where(callback).length() > 0;\n } else {\n return this.length() > 0;\n }\n }\n\n public all = (callback: (item: TItem) => boolean): boolean => {\n this.throwIfDisposed();\n return this.where(callback).length() === this.length();\n }\n\n public forEach = (callback: (item: TItem, index: number) => void): void => {\n this.throwIfDisposed();\n for (let i = 0; i < this.length(); i++) {\n callback(this.privList[i], i);\n }\n }\n\n public select = <T2>(callback: (item: TItem, index: number) => T2): List<T2> => {\n this.throwIfDisposed();\n const selectList: T2[] = [];\n for (let i = 0; i < this.privList.length; i++) {\n selectList.push(callback(this.privList[i], i));\n }\n\n return new List<T2>(selectList);\n }\n\n public where = (callback: (item: TItem, index: number) => boolean): List<TItem> => {\n this.throwIfDisposed();\n const filteredList = new List<TItem>();\n for (let i = 0; i < this.privList.length; i++) {\n if (callback(this.privList[i], i)) {\n filteredList.add(this.privList[i]);\n }\n }\n return filteredList;\n }\n\n public orderBy = (compareFn: (a: TItem, b: TItem) => number): List<TItem> => {\n this.throwIfDisposed();\n const clonedArray = this.toArray();\n const orderedArray = clonedArray.sort(compareFn);\n return new List(orderedArray);\n }\n\n public orderByDesc = (compareFn: (a: TItem, b: TItem) => number): List<TItem> => {\n this.throwIfDisposed();\n return this.orderBy((a: TItem, b: TItem) => compareFn(b, a));\n }\n\n public clone = (): List<TItem> => {\n this.throwIfDisposed();\n return new List<TItem>(this.toArray());\n }\n\n public concat = (list: List<TItem>): List<TItem> => {\n this.throwIfDisposed();\n return new List<TItem>(this.privList.concat(list.toArray()));\n }\n\n public concatArray = (array: TItem[]): List<TItem> => {\n this.throwIfDisposed();\n return new List<TItem>(this.privList.concat(array));\n }\n\n public isDisposed = (): boolean => {\n return this.privList == null;\n }\n\n public dispose = (reason?: string): void => {\n if (!this.isDisposed()) {\n this.privDisposeReason = reason;\n this.privList = null;\n this.privAddSubscriptions = null;\n this.privRemoveSubscriptions = null;\n this.triggerSubscriptions(this.privDisposedSubscriptions);\n }\n }\n\n private throwIfDisposed = (): void => {\n if (this.isDisposed()) {\n throw new ObjectDisposedError(\"List\", this.privDisposeReason);\n }\n }\n\n private triggerSubscriptions = (subscriptions: IStringDictionary<() => void>): void => {\n if (subscriptions) {\n for (const subscriptionId in subscriptions) {\n if (subscriptionId) {\n subscriptions[subscriptionId]();\n }\n }\n }\n }\n}\n"]}