Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flippiecoetser/list
TypeScript List<T>
https://github.com/flippiecoetser/list
Last synced: 4 days ago
JSON representation
TypeScript List<T>
- Host: GitHub
- URL: https://github.com/flippiecoetser/list
- Owner: FlippieCoetser
- License: mit
- Created: 2016-04-09T15:28:01.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-07-25T19:24:40.000Z (over 8 years ago)
- Last Synced: 2024-02-18T09:43:35.044Z (11 months ago)
- Language: JavaScript
- Homepage:
- Size: 34.2 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TypeScript List<T>
## Problem List<T> solves
Using the **filter** method of an **Array<T>** , in **TypeScript**, don't allow for additional parameters to be passed in and used as part of the filter condition.
**List<T>** solves this problem by providing a **where** method. This **where** method do allow for additional parameters to be passed in and used as part of the filter.
All standard **Array<T>** properties and methods are available on **List<T>**.## General Use
Define interface for **<T>**
```typescript
interface Item { name: string };
```Create **List<T>**
```typescript
let list = new List();
```Create and Add data to **List<T>**
```typescript
let itemOne: Item = { name: "Name1" };
let itemTwo: Item = { name: "Name2" };
list.push(itemOne);
list.push(itemTwo);
```Define filter **(T, ...arg):boolean**
```typescript
let filter = (item: Item, name: string) => item.name === name;
```Filter **List<T>** using **where(filter, value)**
```typescript
let newList = list.where(filter, "Name1");
```## Development
### Install Dev Dependencies
Below command only required for development.
```
npm install
npm run setup
```### Unit Tests
After running below gulp task a html codecoverage report is made available in directory **./analysis/coverage/lcov-report**.
```
gulp test
```### Static Code Analysis
After running below gulp task two reports are made available in directory **./analysis/complexity**.
The HTML version is located in the **report** subdirectory.```
gulp analyse
```
Note: complexity analysis is just experimental