You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					143 lines
				
				3.2 KiB
			
		
		
			
		
	
	
					143 lines
				
				3.2 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								# tslib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This is a runtime library for [TypeScript](http://www.typescriptlang.org/) that contains all of the TypeScript helper functions.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This library is primarily used by the `--importHelpers` flag in TypeScript.
							 | 
						||
| 
								 | 
							
								When using `--importHelpers`, a module that uses helper functions like `__extends` and `__assign` in the following emitted file:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```ts
							 | 
						||
| 
								 | 
							
								var __assign = (this && this.__assign) || Object.assign || function(t) {
							 | 
						||
| 
								 | 
							
								    for (var s, i = 1, n = arguments.length; i < n; i++) {
							 | 
						||
| 
								 | 
							
								        s = arguments[i];
							 | 
						||
| 
								 | 
							
								        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
							 | 
						||
| 
								 | 
							
								            t[p] = s[p];
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return t;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								exports.x = {};
							 | 
						||
| 
								 | 
							
								exports.y = __assign({}, exports.x);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								will instead be emitted as something like the following:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```ts
							 | 
						||
| 
								 | 
							
								var tslib_1 = require("tslib");
							 | 
						||
| 
								 | 
							
								exports.x = {};
							 | 
						||
| 
								 | 
							
								exports.y = tslib_1.__assign({}, exports.x);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Because this can avoid duplicate declarations of things like `__extends`, `__assign`, etc., this means delivering users smaller files on average, as well as less runtime overhead.
							 | 
						||
| 
								 | 
							
								For optimized bundles with TypeScript, you should absolutely consider using `tslib` and `--importHelpers`.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Installing
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For the latest stable version, run:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## npm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```sh
							 | 
						||
| 
								 | 
							
								# TypeScript 2.3.3 or later
							 | 
						||
| 
								 | 
							
								npm install tslib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# TypeScript 2.3.2 or earlier
							 | 
						||
| 
								 | 
							
								npm install tslib@1.6.1
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## yarn
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```sh
							 | 
						||
| 
								 | 
							
								# TypeScript 2.3.3 or later
							 | 
						||
| 
								 | 
							
								yarn add tslib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# TypeScript 2.3.2 or earlier
							 | 
						||
| 
								 | 
							
								yarn add tslib@1.6.1
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## bower
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```sh
							 | 
						||
| 
								 | 
							
								# TypeScript 2.3.3 or later
							 | 
						||
| 
								 | 
							
								bower install tslib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# TypeScript 2.3.2 or earlier
							 | 
						||
| 
								 | 
							
								bower install tslib@1.6.1
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## JSPM
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```sh
							 | 
						||
| 
								 | 
							
								# TypeScript 2.3.3 or later
							 | 
						||
| 
								 | 
							
								jspm install tslib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# TypeScript 2.3.2 or earlier
							 | 
						||
| 
								 | 
							
								jspm install tslib@1.6.1
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Usage
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Set the `importHelpers` compiler option on the command line:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								tsc --importHelpers file.ts
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								or in your tsconfig.json:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```json
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    "compilerOptions": {
							 | 
						||
| 
								 | 
							
								        "importHelpers": true
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### For bower and JSPM users
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								You will need to add a `paths` mapping for `tslib`, e.g. For Bower users:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```json
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    "compilerOptions": {
							 | 
						||
| 
								 | 
							
								        "module": "amd",
							 | 
						||
| 
								 | 
							
								        "importHelpers": true,
							 | 
						||
| 
								 | 
							
								        "baseUrl": "./",
							 | 
						||
| 
								 | 
							
								        "paths": {
							 | 
						||
| 
								 | 
							
								            "tslib" : ["bower_components/tslib/tslib.d.ts"]
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For JSPM users:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```json
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    "compilerOptions": {
							 | 
						||
| 
								 | 
							
								        "module": "system",
							 | 
						||
| 
								 | 
							
								        "importHelpers": true,
							 | 
						||
| 
								 | 
							
								        "baseUrl": "./",
							 | 
						||
| 
								 | 
							
								        "paths": {
							 | 
						||
| 
								 | 
							
								            "tslib" : ["jspm_packages/npm/tslib@1.[version].0/tslib.d.ts"]
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Contribute
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in.
							 | 
						||
| 
								 | 
							
								* Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls).
							 | 
						||
| 
								 | 
							
								* Engage with other TypeScript users and developers on [StackOverflow](http://stackoverflow.com/questions/tagged/typescript).
							 | 
						||
| 
								 | 
							
								* Join the [#typescript](http://twitter.com/#!/search/realtime/%23typescript) discussion on Twitter.
							 | 
						||
| 
								 | 
							
								* [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Documentation
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								* [Quick tutorial](http://www.typescriptlang.org/Tutorial)
							 | 
						||
| 
								 | 
							
								* [Programming handbook](http://www.typescriptlang.org/Handbook)
							 | 
						||
| 
								 | 
							
								* [Homepage](http://www.typescriptlang.org/)
							 |