Giter Site home page Giter Site logo

aschekatihin / typescript-linq Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lord-saumagen/typescript-linq

0.0 0.0 0.0 1.19 MB

A TypeScript 2.0 LINQ implementation for the ECMAScript 2015 a.k.a. ES6 standard.

TypeScript 26.65% JavaScript 73.35%

typescript-linq's Introduction

#TypeScript - LINQ for ECMAScript 2015

This is an implementation of the standard LINQ operators defined by Microsoft, in TypeScript.

See: Classification of Standard Query Operators by Manner of Execution (C#)

This project is the successor of an earlier LINQ project in TypeScript. The earlier project used it's own implementation of the iterator pattern. This project uses the so called "iteration protocols" which are new in ECMAScript 2015. By the time of this writing, there is no Microsoft browser available which supports ECMAScript 2015. Therefore the project code is only tested with Chrome (Version 52.0.2741) and Firefox (Version 48.0.2).

The project itself is a Visual Studio solution completely written with "Visual Studio Community 2015" update 3 and TypeScript version 2.0.6.

Open the test suite and see for yourself which parts of this solution are compatible with your current browser.

All public classes and functions have a full set of documentation comments. So there is full IntelliSense support available in the code editor.

The code compiles with the TypeScript build settings "ECMAScript version" set to "ECMAScript 6". That is in fact an alias for "ECMAScript 2015". The code passes all tests in the latest Chrome or Firefox browser.

There is an npm package for the Node.js runtime available. The package is called "typescript-linq" and the current version is 1.0.X. The npm package has it's own test project. That project is also available at github.

I decided to create a separate project for the Node.js test because I couldn't find a test framework which supports client and Node.js execution in an adequate way.

Please be aware that this library is intentionally compiled into ECMAScript 2015. The library is neither tested nor designed to run on JavaScript engines which doesn't support the ECMAScript 2015 standard.

See: typescript-linq V1.0.X (npm package at npmjs.com)

See: TypeScript-LINQ (This project at github)

See: TypeScript-LINQ-Node-Test (Node.js test project at github)

See: TypeScript-LINQ-Test (qunit test project at github)

See: Iteration protocols

See: ECMAScript 2015

See: Visual Studio

##Release 2016-12-05

This release is the first release compiled with the TypeScript 2.X compiler. The source code compiles with the 'TypeScriptStrictNullChecks' flag set and passes all tests.

##Release 2016-11-14

The codebase of this project grew so big that I felt the urgent need to split the solution. Now there are three solutions which comprise different independent parts of the framework. The are only minor changes in the LINQ library. Some error corrections regarding the documentation comments and some corrections in a couple of exception messages. The most important change is the fact, that from now on this library has a reference to the 'TypeScript-Base' solution.

The 'TypeScript-Base' solution it the one which provides some basic functions and classes which I use in all of my solutions. You can read about the 'TypeScript-Base' solution in it's own description.

The LINQ library itself didn't change in functionality. This version should be compatible to the last version. At least I'm not aware of any breaking changes.

See: TypeScript-Base solution

##Usage

If you intend to use this library in your own project you have to reference the following files: TS-Base.js and TS-Base.d.ts as well as TS-Linq.js and TS-Linq.d.ts. There is a download link below to a TS.zip file, which contains the latter described files. That saves you the trouble to download the whole solution for just including the library in your own project.

You will also find the files "TS-Linq.js" and "TS-Linq.d.ts" in the project directory, which is the root directory of the solution. The "TS-Base.js" and "TS-Base.d.ts" files can be found in the project directory of the "TypeScript-Base" solution accordingly.

The "TS-Linq.js" file and the "TS-Base.js" file is each the combined JavaScript output of their corresponding solution. The corresponding '.d.ts' files comprises the type definitions.

See: TS-Linq and TS-Base download

There is also a complete list of all extension functions implemented in this LINQ library.

See: Extension functions

A short introduction on how to use this LINQ library on your own project is also available.

See: LINQ HowTo

The API documentation for the complete project can be viewed online and is also available for download.

See: API documentation online
See: API documentation download

##License

This software is licensed under the "Microsoft Public License".

See: MS-PL

© [email protected], 2016

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.