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