Compare commits

...

300 Commits

Author SHA1 Message Date
Kamil Myśliwiec
16f4611d0c chore(@nestjs) publish v5.7.4 release 2019-03-09 14:37:51 +01:00
Kamil Myśliwiec
6d798d5c18 refactor(): adjust coding style 2019-03-09 14:35:18 +01:00
Kamil Myśliwiec
3fa6625be2 Merge branch 'ynunez-master' 2019-03-09 14:32:35 +01:00
Kamil Myśliwiec
4c22feb289 refactor(): adjust coding style 2019-03-09 14:32:12 +01:00
Kamil Myśliwiec
89e5a1de49 Merge branch 'master' of https://github.com/ynunez/nest into ynunez-master 2019-03-09 14:31:40 +01:00
Kamil Myśliwiec
251a8a2dc5 Merge branch 'sincraianul-fix-class-validator-response' 2019-03-09 14:29:29 +01:00
Kamil Myśliwiec
46d930f48a refactor(): adjust coding style 2019-03-09 14:28:01 +01:00
Kamil Myśliwiec
5f0829d5db Merge branch 'fix-class-validator-response' of https://github.com/sincraianul/nest into sincraianul-fix-class-validator-response 2019-03-09 14:26:00 +01:00
Kamil Myśliwiec
cec89d285d bugfix(): fix fastify adapter query parameters 2019-03-09 14:04:35 +01:00
Andrei Sîncrăian
d6b8e1f514 bugfix(common): prevent exception body override if message is an array 2019-03-08 16:22:49 +02:00
Kamil Mysliwiec
d8c7ba3285 Merge pull request #1569 from kibertoad/chore/update-test-dependencies
build(test/linting) update test/linting dependencies
2019-02-28 14:26:42 +01:00
Kamil Mysliwiec
611924c4b2 Merge pull request #1572 from MaxWithU/patch-1
sample(): update docker-compose.yml
2019-02-28 14:03:39 +01:00
Yoel Nunez
a03b4b1f55 Merge branch 'master' of github.com:ynunez/nest 2019-02-26 20:40:32 -06:00
Yoel Nunez
03377180a7 bugfix(core): fixed basePath issue with routes-resolver 2019-02-26 20:40:15 -06:00
Yoel Nunez
f54f123953 fixed basePath issue with routes-resolver# 2019-02-26 20:29:43 -06:00
Kamil Myśliwiec
20cbbaf296 chore(@nestjs) publish v5.7.3 release 2019-02-21 11:38:30 +01:00
Kamil Myśliwiec
f95b5ae6d1 Merge branch 'BrunnerLivio-fix/unknown-dependency-ex-symbol' 2019-02-21 11:10:15 +01:00
Kamil Myśliwiec
40fb55abae bugfix(core): add missing isSymbol check 2019-02-21 11:09:52 +01:00
Kamil Myśliwiec
b89651f5e6 Merge branch 'fix/unknown-dependency-ex-symbol' of https://github.com/BrunnerLivio/nest into BrunnerLivio-fix/unknown-dependency-ex-symbol 2019-02-21 11:07:38 +01:00
Kamil Mysliwiec
6cea5928de Merge pull request #1576 from nestjs/bugfix/client-rmq
bugfix(microservices): remove reply_queue in rabbitmq client
2019-02-20 23:42:16 +01:00
Kamil Myśliwiec
4a44d16211 bugfix(microservices): remove reply_queue in rabbitmq client (use direct one) 2019-02-20 19:57:53 +01:00
Max Chen
f58c5116f5 Update docker-compose.yml 2019-02-19 17:18:52 +08:00
Kamil Mysliwiec
4fcc3731e1 Merge pull request #1545 from zuohuadong/patch-2
chore(readme_zh): add qq groups
2019-02-19 09:41:21 +01:00
Max Chen
ff80e52501 Update docker-compose.yml
latest mysql image can't access login
2019-02-19 16:16:38 +08:00
Igor Savin
a9f38fab03 build(vulnerabilities) update additional entries in package-lock to fix 8 additional vulnerabilities 2019-02-18 15:02:02 +01:00
Igor Savin
be9793c160 build(test/linting) update test/linting dependencies. Use new husky configuration syntax 2019-02-18 14:49:01 +01:00
Kamil Mysliwiec
c32697b414 Merge pull request #1560 from kibertoad/chore/update-sinon
build(sinon): update sinon and related dependencies
2019-02-18 14:10:14 +01:00
Kamil Mysliwiec
5c011a6328 Merge pull request #1561 from kibertoad/chore/uptodate-node-versions
ci(node): fix compatibility with Node 11 and execute tests on it in CI
2019-02-18 14:07:23 +01:00
Kamil Mysliwiec
414925e2f0 Update CONTRIBUTING.md 2019-02-17 13:48:31 +01:00
Livio
3261bedb1a fix(@nestjs/core): Display Symbol in UnknownDependencyException
Fixes #1551
2019-02-16 15:51:00 +01:00
Igor Savin
4930974042 build(sinon) fix more TypeScript compilation errors 2019-02-14 17:38:53 +01:00
Igor Savin
72b84ec97c build(sinon) fix more TypeScript compilation errors 2019-02-14 17:29:53 +01:00
Igor Savin
82bb7eff71 build(sinon) fix more TypeScript compilation errors 2019-02-14 17:22:09 +01:00
Igor Savin
2e75680f3c build(sinon) fix more TypeScript compilation errors 2019-02-14 17:13:26 +01:00
Igor Savin
d153872640 build(sinon) fix more TypeScript compilation errors 2019-02-14 17:04:58 +01:00
Igor Savin
98b81598e6 ci(node) commit updated package-lock.json 2019-02-14 17:03:24 +01:00
Igor Savin
059eba49af ci(node) update package-lock.json 2019-02-14 16:58:55 +01:00
Igor Savin
f801ad8214 build(sinon) fix more TypeScript compilation errors 2019-02-14 16:57:07 +01:00
Igor Savin
8b32bc61e4 ci(node) use gRPC version compatible with Node 11 2019-02-14 16:53:26 +01:00
Igor Savin
bd8705790e build(sinon) fix TypeScript compilation 2019-02-14 16:49:49 +01:00
Igor Savin
27d1c0fa7d ci(node) remove changes from wrong branch 2019-02-14 16:43:05 +01:00
Igor Savin
df538d5025 build(sinon) fix TypeScript compilation 2019-02-14 16:39:02 +01:00
Igor Savin
fc85b32be6 ci(node) execute tests in CI with Node 11 instead of Node 9 2019-02-14 16:15:28 +01:00
Igor Savin
8c03d84793 build(sinon) update sinon and related dependencies 2019-02-14 16:09:16 +01:00
huadong zuo
69dfb3d03b chore(readme_zh) add qq group 2019-02-11 12:49:38 +08:00
Kamil Myśliwiec
1714b51375 feature(): improve error messages (missing @Controller() decorator) 2019-02-08 20:11:33 +01:00
Kamil Myśliwiec
0e788fd3db chore(): publish 5.7.2 release 2019-02-08 18:04:34 +01:00
Kamil Myśliwiec
bf26d311d6 chore(@nestjs) publish v5.7.2 release 2019-02-08 18:03:01 +01:00
Kamil Mysliwiec
a975293d2e Update Readme.md 2019-02-08 14:46:16 +01:00
Kamil Myśliwiec
6ce05e117c chore(): publish 5.7.1 patch release 2019-02-08 10:46:52 +01:00
Kamil Myśliwiec
3b681a8ff0 chore(@nestjs) publish v5.7.1 release 2019-02-08 10:45:56 +01:00
Kamil Myśliwiec
3ce50b7f90 Merge branch 'master' of https://github.com/nestjs/nest 2019-02-07 14:44:30 +01:00
Kamil Myśliwiec
3159c402a2 chore(): update gitignore 2019-02-07 14:44:22 +01:00
Kamil Myśliwiec
0518c3c215 chore(): publish 5.7.0 minor release 2019-02-05 14:11:53 +01:00
Kamil Myśliwiec
213be3645f chore(@nestjs) publish v5.7.0 release 2019-02-05 14:10:53 +01:00
Kamil Myśliwiec
b634e6182d Merge branch 'elyesbenabdelkader-feature/request-mapping-decorator' 2019-02-05 14:07:37 +01:00
Kamil Myśliwiec
36ce494f76 feature(): allow array in request mapping decorators 2019-02-05 14:00:49 +01:00
Kamil Myśliwiec
9bb6b15f42 Merge branch 'feature/request-mapping-decorator' of https://github.com/elyesbenabdelkader/nest into elyesbenabdelkader-feature/request-mapping-decorator 2019-02-05 13:50:12 +01:00
Kamil Myśliwiec
7c772b2fd2 Merge branch 'master' of https://github.com/nestjs/nest 2019-02-05 13:44:49 +01:00
Kamil Myśliwiec
7edf59841a Merge branch 'AlexDaSoul-bugfix/interceptors-stream' 2019-02-05 13:44:42 +01:00
Kamil Myśliwiec
0848eeb53f style(): remove redundant comment 2019-02-05 13:44:08 +01:00
Kamil Myśliwiec
7fa51c87e3 Merge branch 'bugfix/interceptors-stream' of https://github.com/AlexDaSoul/nest into AlexDaSoul-bugfix/interceptors-stream 2019-02-05 13:43:45 +01:00
Kamil Mysliwiec
bf04704e11 Merge pull request #1458 from flex/patch-1
bugfix(grpc): handle null value in the proto definition
2019-02-05 13:43:17 +01:00
Kamil Mysliwiec
b289daa83e Merge pull request #1514 from kiwikern/multiple-view-dirs
feature(core): allow for multiple view dirs in Express
2019-02-05 13:42:46 +01:00
Kamil Myśliwiec
843d16dfb8 test(integration): fix invalid expected response (gRPC) 2019-02-05 13:35:28 +01:00
Kamil Mysliwiec
233e7ad14f Merge pull request #1460 from apiel/master
enhancement(common): make logger output more customizable
2019-02-05 13:28:51 +01:00
Kim Kern
dbfa3a4caa feature(core): allow for multiple view dirs in Express
In Express, you can set a string or an array of string as
base view paths. The views are looked up in the order they occur in
the array. The ExpressAdapter only allowed for a single string, now it
accepts an array of strings as well.

closes #1513
2019-02-01 12:36:47 +01:00
Kamil Mysliwiec
93b3e0b313 Merge pull request #1494 from nestjs/renovate/nestjs-common-5.x
chore(): update dependency @nestjs/common to v5.6.2
2019-02-01 08:20:03 +01:00
Renovate Bot
7e93330162 Update dependency @nestjs/common to v5.6.2 2019-01-31 15:42:31 +00:00
Kamil Mysliwiec
8861f58bf5 Merge pull request #1491 from nestjs/renovate/configure
chore(): configure renovate
2019-01-31 16:22:42 +01:00
Renovate Bot
4edcaf87e8 Add renovate.json 2019-01-31 14:31:34 +00:00
Kamil Mysliwiec
7b96d2dbfb Update Readme.md 2019-01-31 13:04:38 +01:00
Kamil Mysliwiec
74a21208ff Update Readme.md 2019-01-31 13:04:03 +01:00
Alexandre Piel
8f66fd1321 make logger output more customizable 2019-01-21 09:28:47 +01:00
flex
40ce9e4a88 bugfix(grpc) Handle null value in proto definition 2019-01-19 02:00:45 +08:00
Kamil Myśliwiec
e019afa472 chore() publish 5.6.2 release 2019-01-16 23:36:04 +01:00
Kamil Myśliwiec
a32c7373cc chore() publish 5.6.2 release 2019-01-16 22:48:07 +01:00
Kamil Myśliwiec
79fc37f093 chore(@nestjs) publish v5.6.2 release 2019-01-16 22:45:26 +01:00
Kamil Myśliwiec
8eedff85bd chore() publish 5.6.1 release 2019-01-16 21:47:30 +01:00
Kamil Myśliwiec
159a947f1b chore(@nestjs) publish v5.6.1 release 2019-01-16 21:46:35 +01:00
Kamil Myśliwiec
5eee77ea20 Merge branch '5.6.0' 2019-01-16 21:39:08 +01:00
Kamil Myśliwiec
c90b8e3d07 chore() publish 5.6.0 release 2019-01-16 21:37:29 +01:00
Kamil Myśliwiec
acf97a2e1d chore(@nestjs) publish v5.6.0 release 2019-01-16 21:36:15 +01:00
Kamil Myśliwiec
84c156356b feature(websockets) support regexp in namespaces 2019-01-16 21:34:18 +01:00
Kamil Myśliwiec
9a3f760b6c bugfix(core) fix missing abstract type typing 2019-01-16 21:33:53 +01:00
Kamil Myśliwiec
d1ad94324b feature() support abstract classes in nest ctx 2019-01-16 21:15:29 +01:00
Kamil Myśliwiec
69fb434def Merge branch 'master' of https://github.com/nestjs/nest 2019-01-16 21:05:10 +01:00
Kamil Myśliwiec
c448e56611 chore() merge changes 2019-01-16 21:04:02 +01:00
Kamil Myśliwiec
b8e6553a06 Merge branch 'FionaLovett-validate-transform' into 5.6.0 2019-01-16 21:00:19 +01:00
Kamil Myśliwiec
6fc4826b30 Merge branch 'FionaLovett-validate-transform' 2019-01-16 20:59:29 +01:00
Kamil Myśliwiec
2f888d3abe refactor() adjust code style 2019-01-16 20:59:06 +01:00
Kamil Myśliwiec
0db05f62f1 Merge branch 'validate-transform' of https://github.com/FionaLovett/nest into FionaLovett-validate-transform 2019-01-16 20:55:36 +01:00
Kamil Mysliwiec
255ca7ef99 Merge pull request #1448 from caohuilin/patch-2
sample(mongoose) should await on create POST
2019-01-16 20:51:50 +01:00
Kamil Mysliwiec
6744a8648d Update Readme.md 2019-01-16 20:35:19 +01:00
Belinda Cao
7a0808ed5b Update cats.controller.ts 2019-01-15 09:57:06 +08:00
Kamil Mysliwiec
5940ec7d62 Merge pull request #1388 from hschiavone/grpc-server-max-received-and-send-message-length
feature(microservices) add server gRPC max received & message length options
2019-01-15 00:30:02 +01:00
Kamil Mysliwiec
535c881a95 Merge branch '5.6.0' into grpc-server-max-received-and-send-message-length 2019-01-15 00:29:17 +01:00
Kamil Mysliwiec
986ad4e746 Merge pull request #1424 from quaternion/master
bugfix(common) add missing axios provider in HttpModule.registerAsync
2019-01-15 00:26:41 +01:00
Kamil Myśliwiec
6204fe1a09 Merge branch 'anton-alation-feature/grpc-method-with-namespaces' into 5.6.0 2019-01-15 00:25:16 +01:00
Kamil Myśliwiec
3cb73111bf refactor() adjust code style 2019-01-15 00:23:18 +01:00
Kamil Mysliwiec
1b872d66b7 Update Readme.md 2019-01-15 00:12:24 +01:00
Kamil Myśliwiec
891de8eea8 Merge branch 'feature/grpc-method-with-namespaces' of https://github.com/anton-alation/nest into anton-alation-feature/grpc-method-with-namespaces 2019-01-15 00:03:29 +01:00
Kamil Mysliwiec
0f788efd0c Merge pull request #1441 from iblamefish/circular-dependency-message
bugfix(core) update URL for circular dependency in the error message
2019-01-14 23:17:34 +01:00
Kamil Mysliwiec
72491e7d62 Merge pull request #1410 from BrunnerLivio/feature/discord-badge
chore() add discord badge to README.md
2019-01-14 22:06:00 +01:00
Clinton Montague
4b74c275bd bugfix(core) update url for circular dependency in error message
Fixes the url in INVALID_MODULE_MESSAGE

This closes #1369
2019-01-13 17:50:03 +00:00
Livio
3939a67bd3 chore: add discord badge to README.md 2019-01-07 18:48:39 +01:00
Elyes BA
ea700d8bb2 feature(core): allow Array in request mapping decorator
This feature was requested in the issue #1343. When routing, besides using a single string, you can
now use an array of strings in the Post, Get, ... decorators.
2019-01-05 21:37:50 +01:00
Andrew Nikolaev
1212c6034a fix(common): add missing axios provider in HttpModule.registerAsync 2019-01-05 18:46:53 +03:00
Fiona Lovett
94679b2d79 feature(common): add transformOptions to ValidationPipeOptions
allows plainToClass to expose class properties to defined groups as per issue #1374
2019-01-02 20:52:29 +01:00
Fiona Lovett
83fc4c3bc4 feature(common): add transformOptions to ValidationPipeOptions
allows plainToClass to expose class properties to defined groups as per issue #1374
2019-01-02 20:07:50 +01:00
Fiona Lovett
69f2f3dd0b feature(common): add transformOptions to ValidationPipeOptions
allows plainToClass to expose class properties to defined groups as per issue #1374
2019-01-02 19:56:33 +01:00
Fiona Lovett
b49a9a1098 feature(common): add transformOptions to ValidationPipeOptions
allows plainToClass to expose class properties to defined groups as per issue #1374
2019-01-02 17:53:46 +01:00
Kamil Myśliwiec
2a5e22e2c6 scripts() fix prepare script (install all deps) 2018-12-29 10:21:18 +01:00
Hugo Schiavone
84e4bdef1e fix getOptionsProp method 2018-12-27 18:25:43 +01:00
Hugo Schiavone
da110d01dd use getOptionsProp method on grcp max_send_message_length & max_receive_message_length implementation 2018-12-27 12:24:38 +01:00
alexdasoul
d9434a2a9f bugfix(core) Interceptors toPromise is break Observable stream 2018-12-21 14:42:15 +03:00
Hugo Schiavone
bd3222ad62 implement server grpc max received & send message length option 2018-12-20 10:10:16 +01:00
Anton Repin
595bc988ec GRPC Server test stub updated to match getServiceNames new output 2018-12-12 15:50:10 -08:00
Anton Repin
ea26100ec3 GRPC server tests updated:
- Added package recursive search test for support of proto-namespaces
- Updated tests which were testing single level proto structure
2018-12-12 13:27:06 -08:00
Kamil Mysliwiec
ff2e310a18 Update cats.controller.ts 2018-12-12 14:24:41 +01:00
Anton Repin
8d41edadce GRPC Server namespaces support added for loaded proto descriptors
- Recursive scan of descriptors object
- Service names with namespaces concatenated with dot-syntax
2018-12-11 23:37:38 -08:00
Kamil Myśliwiec
ef2147d697 chore(@nestjs) publish v5.5.0 release 2018-12-09 14:16:11 +01:00
Kamil Myśliwiec
438e662352 bugfix(common) inconsistent microservice config #1352 2018-12-09 14:14:54 +01:00
Kamil Mysliwiec
17b0100c51 Merge pull request #1349 from nestjs/5.5.0
chore() 5.5.0 minor release
2018-12-09 14:13:25 +01:00
Kamil Mysliwiec
8bce796ad7 Merge pull request #1271 from grin0c/another-proto-loader
feature(microservices): added option for proto-loader (grpc)
2018-12-06 19:45:47 +01:00
Kamil Mysliwiec
6a54900df8 Merge pull request #1344 from nestjs/bugfix/1339-exceptions
bugfix(common): custom exception body #1339
2018-12-06 19:45:21 +01:00
Kamil Mysliwiec
63e3940c02 Merge pull request #1345 from nestjs/bugfix/1338-injection-scopes
bugfix(common) invalid metadata inheritance with custom providers
2018-12-06 19:45:10 +01:00
Kamil Mysliwiec
d25e6c713a Merge pull request #1346 from nestjs/bugfix/1285-throw-error
bugfix(ws/microservices): add catchError() to observables
2018-12-06 19:44:59 +01:00
Kamil Mysliwiec
ed37b9138d Merge pull request #1347 from nestjs/feature/1257-http-async
feature(common) add async support (HttpModule) and extraProviders
2018-12-06 19:44:39 +01:00
Kamil Mysliwiec
b632f60a9e Merge pull request #1348 from nestjs/feature/1267-validation-factory
feature(common) add validation error factory (ValidationPipe)
2018-12-06 19:44:24 +01:00
Kamil Myśliwiec
ee9d31671c feature(common) add validation error factory (ValidationPipe) 2018-12-06 18:33:22 +01:00
Kamil Myśliwiec
9fa12b43f2 fix(common) add missing interfaces reexport (http) 2018-12-06 14:16:39 +01:00
Kamil Myśliwiec
e66d72f904 feature(common) add async support (HttpModule) and extraProviders (cache/http) 2018-12-06 14:15:16 +01:00
Kamil Myśliwiec
efb367e65c bugfix(ws/microservices): add catchError() to observables 2018-12-06 11:47:14 +01:00
Kamil Myśliwiec
fe96bf67bc bugfix(common) invalid metadata inheritance with custom providers 2018-12-06 09:08:33 +01:00
Kamil Myśliwiec
411db0c3ff bugfix(common): custom exception body #1339 2018-12-05 23:31:13 +01:00
Kamil Mysliwiec
c6ec8878e0 Merge pull request #1206 from jbpionnier/refactor_simplified_if
refactor() simplified if (less checks)
2018-11-30 13:31:27 +01:00
Kamil Myśliwiec
db94dc54bf chore(): publish 5.4.1 release 2018-11-30 13:06:41 +01:00
Kamil Myśliwiec
72577136a7 chore(@nestjs) publish v5.4.1 release 2018-11-30 13:00:27 +01:00
Kamil Myśliwiec
6fac25bde0 chore(): update package.json 2018-11-30 12:59:16 +01:00
Kamil Myśliwiec
25bc5e8893 chore() format package.json 2018-11-30 12:10:43 +01:00
Kamil Myśliwiec
0a158798a9 tests(common) update file interceptors tests 2018-11-30 11:56:45 +01:00
Kamil Myśliwiec
42adbab0b5 Merge branch '5.4.1' of https://github.com/nestjs/nest into 5.4.1 2018-11-30 11:54:01 +01:00
Kamil Myśliwiec
df958c9e2b enhancement(common) make multer instance protected 2018-11-30 11:53:53 +01:00
Kamil Mysliwiec
bc9aa8cdec Merge pull request #1325 from nestjs/improvement/application-ref
improvement(core) use application ref host instead of http ref
2018-11-30 11:52:26 +01:00
Kamil Mysliwiec
6b97b11665 Merge pull request #1324 from nestjs/bugfix/928-direct-instance
bugfix(core) use direct class instance
2018-11-30 11:50:26 +01:00
Kamil Mysliwiec
58d7300098 Merge pull request #1248 from andrew-yustyk/issue/1246
fix(core/common): allow to use symbol token in the module exports
2018-11-30 11:49:20 +01:00
Kamil Myśliwiec
f71613a79f Merge branch 'master' of https://github.com/nestjs/nest 2018-11-29 23:25:44 +01:00
Kamil Myśliwiec
35053d093a refactor(): remove trailing commas 2018-11-29 23:24:25 +01:00
Kamil Myśliwiec
6f85ea4f12 improvement(core) use application ref host instead of http ref 2018-11-29 23:14:11 +01:00
Kamil Mysliwiec
dd882ac1a2 Merge pull request #1287 from dzzzzzy/patch-1
docs(readme) add communication groups for Chinese developers
2018-11-29 14:21:37 +01:00
Kamil Mysliwiec
4f8d9fe694 Merge pull request #1314 from rafalschmidt97/contributing-comments-fix
docs(contributing) fix comments issues in lists
2018-11-29 14:19:26 +01:00
Kamil Myśliwiec
5a6f64a51e bugfix(core) use direct class instance 2018-11-29 14:11:31 +01:00
Rafał Schmidt
7e07ef3abb docs(contributing) fix comments issues in lists 2018-11-25 18:15:10 +01:00
bingoyao
4a5ce3b04d Update readme_zh.md
Add more state about Chinese developer communication channel.
2018-11-21 12:03:45 +08:00
Jean-Baptiste Pionnier
3a297530d8 Merge branch 'master' of github.com:nestjs/nest into refactor_simplified_if 2018-11-16 11:41:22 +01:00
bingoyao
3a84bfb7e8 Add communication groups for Chinese developers
Chinese developers are growing, and in order to allow Chinese developers to communicate and share with each other, I have established a communication group.
2018-11-14 18:55:25 +08:00
Kamil Mysliwiec
385071ba6d Update Readme.md 2018-11-10 22:29:49 +01:00
Kamil Myśliwiec
bf1a97be36 test(nestjs) bump test coverage 2018-11-10 21:54:42 +01:00
Aleksey Tsvetkov
be40001511 fixed protoLoader option 2018-11-08 11:38:56 +03:00
Aleksey Tsvetkov
4b55261aeb feat(client-grpc): added protoLoader option for grpc client 2018-11-08 11:32:32 +03:00
Aleksey Tsvetkov
1bd70484e8 feat(grpc): added option for proto-loader 2018-11-07 14:01:36 +03:00
Kamil Myśliwiec
a95b3d6048 Merge branch 'master' of https://github.com/nestjs/nest 2018-11-03 17:02:57 +01:00
Kamil Myśliwiec
1f8c84d19b test(nestjs) increase test coverage 2018-11-03 17:00:55 +01:00
Kamil Mysliwiec
7c644d989e Update Readme.md 2018-11-03 12:29:38 +01:00
Kamil Mysliwiec
cebb6267f2 Update Readme.md 2018-11-03 12:28:17 +01:00
Andrew Yustyk
644b2c1745 fix(core/common): allow to use symbol token in the module exports
Symbol token can be used in the exports section as well as the string token.

Closes #1246
2018-10-31 13:26:48 +02:00
Jean-Baptiste Pionnier
0d29cd7f96 Merge branch 'master' of github.com:jbpionnier/nest into refactor_simplified_if 2018-10-22 07:49:40 +02:00
Kamil Myśliwiec
47f0fa0ab5 chore(@nestjs) publish v5.4.0 release 2018-10-19 14:21:48 +02:00
Kamil Myśliwiec
9be35b4c10 tests(microservices) fix server-rmq unit tests 2018-10-19 14:08:19 +02:00
Kamil Myśliwiec
dd38a49508 Merge pull request #1215 from nestjs/5.4.0
chore() 5.4.0 minor release
2018-10-19 14:07:32 +02:00
Kamil Myśliwiec
b55ee078b2 Merge branch 'master' into 5.4.0 2018-10-19 14:07:23 +02:00
Kamil Myśliwiec
6eec6016a4 Merge pull request #1143 from BrunnerLivio/feature/print-context-injection-error
feature(core) add module context name to UnknownDependenciesMessage
2018-10-19 13:55:22 +02:00
Kamil Myśliwiec
9b799ba3c1 Merge pull request #1170 from nestjs/AlariCode-feature/rmq-transport
feature(microservices) RabbitMQ support
2018-10-19 13:55:08 +02:00
Kamil Myśliwiec
a2ed524824 Merge pull request #1172 from nestjs/feature/property-injection
feature(core) property based injection (composition)
2018-10-19 13:54:17 +02:00
Kamil Myśliwiec
82bf25b707 Merge pull request #1175 from nestjs/feature/nats-queue
feature(microservices) add a few options to the nats strategy + general refactor
2018-10-19 13:54:04 +02:00
Kamil Myśliwiec
ffea148892 Merge pull request #1214 from nestjs/feature/update-axios
feature(common) update axios dependency
2018-10-19 13:53:45 +02:00
Kamil Myśliwiec
b0026d8cc1 style(microservices) remove lint issues 2018-10-19 13:38:12 +02:00
Kamil Myśliwiec
313e22632b feature(core) add dynamic properties resolution 2018-10-19 13:37:00 +02:00
Kamil Myśliwiec
a299b12ad5 feature(common) update axios dependency 2018-10-19 13:23:46 +02:00
Kamil Myśliwiec
6635d2cbe1 Merge branch '5.4.0' into feature/property-injection 2018-10-19 13:22:10 +02:00
Kamil Myśliwiec
9972649770 bugfix: fix package-lock.json file 2018-10-19 13:16:45 +02:00
Kamil Myśliwiec
92cd57a19b Merge pull request #1163 from nestjs/feature/dynamic-create
feature(core) instantiate class dynamically (ModuleRef)
2018-10-19 13:16:17 +02:00
Kamil Myśliwiec
6ac9968ec0 Merge branch 'feature/property-injection' into feature/dynamic-create 2018-10-19 13:16:06 +02:00
Kamil Myśliwiec
9210dc1318 Merge pull request #1208 from jbpionnier/feat/accept_export_abstract_class
bugfix(common) accept export abstract class
2018-10-19 13:12:41 +02:00
Kamil Myśliwiec
a850d5d322 bugfix(microservices) fix issues with deps resolution 2018-10-19 13:01:54 +02:00
Kamil Myśliwiec
b0e4383e6e merge: resolve conflicts 2018-10-19 11:39:15 +02:00
Kamil Myśliwiec
935aa704fc lint: update lint rules 2018-10-19 10:12:36 +02:00
Kamil Myśliwiec
f0512d2a26 chore(@nestjs) publish v5.3.15 release 2018-10-19 09:58:30 +02:00
Kamil Myśliwiec
6f9b242410 bugfix: fix incorrect dependencies, simplify relations 2018-10-19 09:55:50 +02:00
Jean-Baptiste Pionnier
e1a9643887 feat(common): accept export abstract class 2018-10-18 15:10:57 +02:00
Jean-Baptiste Pionnier
e1b8d3b411 refactor: simplified isString 2018-10-18 12:05:35 +02:00
Jean-Baptiste Pionnier
6db29c6e3d refactor: simplified isObject 2018-10-18 12:01:39 +02:00
Jean-Baptiste Pionnier
1f59ec3458 refactor: simplified validatePath 2018-10-18 11:58:49 +02:00
Jean-Baptiste Pionnier
ff3ef16d18 refactor: simplified isFunction 2018-10-18 11:55:11 +02:00
Jean-Baptiste Pionnier
41190d7546 refactor: simplified isEmpty 2018-10-18 11:52:12 +02:00
Kamil Myśliwiec
b03e36c692 chore(@nestjs) publish v5.3.14 release 2018-10-18 08:37:26 +02:00
Kamil Myśliwiec
2383cdb412 build: fix incorrect prepublish hook 2018-10-18 00:12:05 +02:00
Kamil Myśliwiec
e9433d0fb5 Merge branch 'master' of https://github.com/nestjs/nest 2018-10-18 00:05:15 +02:00
Kamil Myśliwiec
13d473fcba chore(@nestjs) publish v5.3.13 release 2018-10-18 00:04:49 +02:00
Kamil Myśliwiec
a78a31eff2 Merge pull request #1199 from jbpionnier/refactor/void_0_not_necessary
refactor: remove void 0 not necessary
2018-10-17 23:16:35 +02:00
Jean-Baptiste Pionnier
bd05652cbe refactor: remove void 0 not necessary 2018-10-17 23:05:24 +02:00
Kamil Myśliwiec
96b0a194af chore(@nestjs) publish v5.3.12 release 2018-10-17 22:37:02 +02:00
Kamil Myśliwiec
64555bf428 bugfix: fix WsAdapter close invokation issues #1156 2018-10-17 22:09:03 +02:00
Kamil Myśliwiec
6f18afc036 bugfix(core) support symbols in exports array #1177 2018-10-17 22:02:26 +02:00
Kamil Myśliwiec
21bdbac788 Merge branch 'master' of https://github.com/nestjs/nest 2018-10-17 21:42:54 +02:00
Kamil Myśliwiec
b6d059fc30 Merge branch 'spaiter-fix-ws-client-closing' 2018-10-17 21:42:43 +02:00
Kamil Myśliwiec
a6b001638f refactor: extract handle message from WsAdapter 2018-10-17 21:42:24 +02:00
Kamil Myśliwiec
3e9bfff04e Merge branch 'fix-ws-client-closing' of https://github.com/spaiter/nest into spaiter-fix-ws-client-closing 2018-10-17 21:37:33 +02:00
Kamil Myśliwiec
186f018d76 Merge pull request #1188 from andrew-yustyk/issue/1182
bugfix(core) change initial context arguments from null to undefined
2018-10-17 21:35:46 +02:00
Kamil Myśliwiec
6dda6c58c5 Merge branch 'jbpionnier-refactor_remove_reflect_metadata' 2018-10-17 21:35:14 +02:00
Kamil Myśliwiec
bf02e984ac Merge branch 'refactor_remove_reflect_metadata' of https://github.com/jbpionnier/nest into jbpionnier-refactor_remove_reflect_metadata 2018-10-17 21:33:41 +02:00
Kamil Myśliwiec
da8612b4d6 Merge pull request #1176 from nestjs/build/refactor
build: refactor packages structure, remove bundle
2018-10-17 21:31:32 +02:00
Kamil Myśliwiec
63ae5b16e2 build: fix missing script build:lib 2018-10-17 21:20:09 +02:00
Kamil Myśliwiec
e9e277c21c ci: update travis.yml file 2018-10-17 21:14:11 +02:00
Kamil Myśliwiec
ceabe7418a build: update CONTRIBUTION guide/scripts 2018-10-17 21:13:12 +02:00
Kamil Myśliwiec
84aa4dec09 build: update gulp/package.json scripts 2018-10-17 21:07:39 +02:00
Jean-Baptiste Pionnier
40e90516f0 Merge branch 'master' of github.com:nestjs/nest into refactor_remove_reflect_metadata 2018-10-16 09:34:40 +02:00
Andrew Yustyk
35cf1faa84 bugfix(core) change initial context arguments from null to undefined
fix nestjs/nest#1182
2018-10-13 03:58:53 +03:00
anonanonimus
72a8725b21 websockets(bug) send message to client only in open state
sending messages to ws client only if it in open state

no breaking changes
2018-10-11 11:44:02 +05:00
Kamil Myśliwiec
5d27183295 Merge pull request #1179 from jbpionnier/build/hide-package-lock
build: hide package lock during a PR
2018-10-09 09:57:46 +02:00
Jean-Baptiste Pionnier
3a0f461a56 build: hide package lock 2018-10-08 11:08:30 +02:00
Kamil Myśliwiec
72616cc0f1 tests(core) fix middleware utils unit tests 2018-10-06 16:26:17 +02:00
Kamil Myśliwiec
0e71949538 chore(build) share tsconfig, add 'clean' and npmignore 2018-10-06 16:14:35 +02:00
Kamil Myśliwiec
04fe22b44e chore(build) remove bundle directory 2018-10-06 15:30:20 +02:00
Kamil Myśliwiec
06d0f12169 feature(microservices) add a few options to the nats strategy 2018-10-06 15:02:55 +02:00
Kamil Myśliwiec
1eef51345f Merge branch 'master' of https://github.com/nestjs/nest 2018-10-06 14:31:29 +02:00
Kamil Myśliwiec
b2f3dfe0b3 refactor(microservices) move utils to decorators dir, use not stringified 2018-10-06 14:31:09 +02:00
Kamil Myśliwiec
d49a265686 tests(integration) update test suite (property injection) 2018-10-06 12:50:04 +02:00
Kamil Myśliwiec
51b93e5306 feature(core) property based injection (composition) 2018-10-06 12:45:44 +02:00
Kamil Myśliwiec
656ecf831c Merge pull request #1168 from jbpionnier/build/add_lint_travis_builds
chore(build) add lint for travis build
2018-10-05 23:11:17 +02:00
Kamil Myśliwiec
e6dfef8480 content(integration) fix typo in sum-rmq spec 2018-10-05 22:43:06 +02:00
Kamil Myśliwiec
096336c243 bugfix(microservices) fix rabbit mq transport, code refactor, add tests 2018-10-05 22:42:35 +02:00
Jean-Baptiste Pionnier
fb052ab971 refactor fix lint 2018-10-05 21:12:37 +02:00
Jean-Baptiste Pionnier
84df209740 build add lint for travis build 2018-10-05 15:28:48 +02:00
Jean-Baptiste Pionnier
457c57b9dc refactor remove multiple reflect metadata 2018-10-05 15:20:45 +02:00
Kamil Myśliwiec
098afe6b85 chore(@nestjs) publish v5.3.11 release 2018-10-05 15:07:19 +02:00
Kamil Myśliwiec
3e42f9b91d chore: fix package.json scripts 2018-10-05 15:04:27 +02:00
Kamil Myśliwiec
85d7384b5e Merge pull request #1155 from jbpionnier/refactor_clean_as_any
refactor(nestjs) code style, clean "as any"
2018-10-05 15:01:37 +02:00
Kamil Myśliwiec
3e851e5652 Merge branch 'master' of https://github.com/nestjs/nest 2018-10-05 14:56:52 +02:00
Kamil Myśliwiec
e391936e69 Merge branch 'BrunnerLivio-fix/circular-structures' 2018-10-05 14:56:39 +02:00
Kamil Myśliwiec
6c92bf72ef bugfix(core) add missing fast-json-stringify dep 2018-10-05 14:55:37 +02:00
Kamil Myśliwiec
81fe7124bc Merge pull request #1144 from spaiter/fix-ws-unexpected-close
bugfix(websockets) handle ws unexpected connection error
2018-10-05 14:43:15 +02:00
Kamil Myśliwiec
20a5e7e77a Merge pull request #1151 from nestjs/bugfix/1150-defaults
bugfix(core) make use of default assignments (DI)
2018-10-05 14:42:54 +02:00
Kamil Myśliwiec
eba4102b2a Merge pull request #1159 from nestjs/refactor/websockets
refactor(websockets) code cleanup, improvements, refactor
2018-10-05 14:42:43 +02:00
Kamil Myśliwiec
402d83ff9e Merge pull request #1166 from jbpionnier/refactor_remove_multiple_reflect_metadata
refactor(common) remove multiple reflect metadata
2018-10-05 14:42:20 +02:00
Jean-Baptiste Pionnier
227d4fba56 refactor(common) remove multiple reflect metadata 2018-10-05 12:31:53 +02:00
Kamil Myśliwiec
62e0283098 feature(core) instantiate class dynamically (ModuleRef) 2018-10-04 16:28:51 +02:00
Jean-Baptiste Pionnier
8a827ff9fc Merge branch 'master' of github.com:nestjs/nest into refactor_clean_as_any 2018-10-04 10:58:42 +02:00
Jean-Baptiste Pionnier
66ee3ebe72 refactor clean as any 2018-10-04 10:49:07 +02:00
Kamil Myśliwiec
91be484b83 refactor(microservices) partially fixed rabbitmq transport (+tests) 2018-10-03 23:26:52 +02:00
Kamil Myśliwiec
8ec7c5b31e chore: resolve conflicts (merge) 2018-10-03 22:31:25 +02:00
Kamil Myśliwiec
7c2143f889 refactor(websockets) code cleanup, improvements, refactor 2018-10-03 21:22:50 +02:00
Kamil Myśliwiec
89d84d214f Merge branch 'master' of https://github.com/nestjs/nest 2018-10-03 17:23:47 +02:00
Kamil Myśliwiec
f8ffc2d064 chore(nestjs) add scripts directory 2018-10-03 17:23:36 +02:00
Kamil Myśliwiec
d453e9bc65 Update CONTRIBUTING.md 2018-10-03 17:23:30 +02:00
Kamil Myśliwiec
3a74c790bf chore(nestjs) add scripts directory 2018-10-03 17:00:08 +02:00
Kamil Myśliwiec
0c8e6968bd bugfix(@nestjs/microservices) set flag to true 2018-10-03 15:25:43 +02:00
Jean-Baptiste Pionnier
4a8c8bc740 refactor Unnecessary 'await' 2018-10-03 15:25:43 +02:00
Jean-Baptiste Pionnier
47a17e85e4 refactor clean code 2018-10-03 15:25:43 +02:00
Jean-Baptiste Pionnier
f45021e7cb refactor(integration) resolve module path 2018-10-03 15:25:43 +02:00
Livio Brunner
958da96733 bugfix(core): Allow circular structures for dynamic module #678 2018-10-03 11:47:16 +02:00
Kamil Myśliwiec
1acae78302 Merge branch 'jbpionnier-refactor_module_path' 2018-10-02 22:41:11 +02:00
Kamil Myśliwiec
f01d60021c bugfix(@nestjs/microservices) set flag to true 2018-10-02 22:40:59 +02:00
Kamil Myśliwiec
945eff5274 Merge branch 'refactor_module_path' of https://github.com/jbpionnier/nest into jbpionnier-refactor_module_path 2018-10-02 22:35:34 +02:00
Kamil Myśliwiec
9e8eff09bf Merge branch 'master' of https://github.com/nestjs/nest 2018-10-02 22:25:20 +02:00
Kamil Myśliwiec
b90842048b bugfix(@nestjs/core) make use of default assignments when optional 2018-10-02 22:23:42 +02:00
Kamil Myśliwiec
cce8c45f6f feature(@nestjs/core) add typings to adapters 2018-10-02 22:23:00 +02:00
Kamil Myśliwiec
ac5a556a3c Merge pull request #1136 from cschroeter/master
sample(prisma) update graphql-prisma example
2018-10-02 22:22:16 +02:00
anonanonimus
bf945310b5 bugfix(websockets) need to handle ws unexpected connection error and log it
Fixed unhandled ws connection error in ws-adapter

No breaking changes
2018-10-02 16:44:24 +05:00
Livio Brunner
4e943dbaae feature(core): Add module context name to UnknownDependenciesMessage 2018-10-02 12:07:14 +02:00
Jean-Baptiste Pionnier
ac295e68f6 refactor Unnecessary 'await' 2018-09-30 22:14:35 +02:00
Jean-Baptiste Pionnier
31c2b87a6a refactor clean code 2018-09-30 22:13:58 +02:00
Jean-Baptiste Pionnier
6193f506c2 refactor(integration) resolve module path 2018-09-30 21:08:44 +02:00
Christian Schröter
34f72ce4a7 chore: Regenerate schemda.d.ts 2018-09-30 00:33:42 +02:00
Christian Schröter
63947cd3c0 fix: Do not use Prisma library to generate schema 2018-09-30 00:33:18 +02:00
Christian Schröter
14cc3edb10 chore: Bump deps 2018-09-30 00:32:27 +02:00
Kamil Myśliwiec
65bb7e7c34 Update Readme.md 2018-09-26 19:48:26 +02:00
Kamil Myśliwiec
8604f25a20 Update Readme.md 2018-09-26 19:47:50 +02:00
Kamil Myśliwiec
57faedcc98 Merge pull request #1121 from nartc/patch-1
chore(github) update README.md (add new bronze sponsor)
2018-09-26 19:45:05 +02:00
Chau Tran
515151660b Add AN 2018-09-25 17:57:43 -05:00
Kamil Myśliwiec
7f124f9d92 build(nestjs) fix travis builds 2018-09-24 15:23:41 +02:00
Anton
17c5044bae feature(microservices) added amqp-connection-manager 2018-09-09 09:44:51 +03:00
Anton
6099f9ec1b Merge branch 'master' into feature/rmq-transport 2018-09-08 08:48:16 +03:00
Anton
c5a752c7da Merge branch 'master' into feature/rmq-transport 2018-08-16 18:14:10 +03:00
Anton
f3a80ab7c5 feature(@nestjs/microservices) fixed tests 2018-08-11 15:32:54 +03:00
Anton
014a7c92af feature(@nestjs/microservices) Integration tests 2018-07-26 17:43:27 +03:00
Anton
4bfbb8b9dd feature(@nestjs/microservices) Fixed startAllMicroservicesAsync 2018-07-26 17:07:38 +03:00
Anton
e0d1364e45 feature(@nestjs/microservices) Added additional options and fixes 2018-07-20 18:01:21 +03:00
Anton
bb73598c4c Merge branch 'master' into feature/rmq-transport 2018-07-19 21:49:25 +03:00
Anton
76fea94965 Merge updates 2018-07-19 21:48:31 +03:00
Anton
75e16b40d0 Merge branch 'master' into feature/rmq-transport 2018-07-19 19:29:53 +03:00
Anton
adfa76981d Merge branch 'feature/rmq-transport' 2018-07-19 19:29:26 +03:00
Anton
e7e4bbdd57 feature(@nestjs/microservices) updated package-lock 2018-07-19 19:26:43 +03:00
Anton
6ce0e38951 feature(@nestjs/microservices) revert lock file to resolve conflicts 2018-07-19 19:20:20 +03:00
Anton
bcb6c5f69a feature(@nestjs/microservices) boost performance with correlationID 2018-07-18 12:37:06 +03:00
Anton
0ddc86ee88 test(@nestjs/microservices) tests for rqm transport 2018-07-17 18:52:49 +03:00
Anton
ffe4529018 Merge remote-tracking branch 'origin/feature/rmq-transport' into feature/rmq-transport 2018-07-08 08:31:24 +03:00
Anton
685dc33a56 feature(@nestjs/microservices) added rmq transport support 2018-07-08 08:30:55 +03:00
Anton
3da993e2df Added RMQ Client and Server 2018-07-07 23:33:18 +03:00
1111 changed files with 12556 additions and 29186 deletions

2
.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
package-lock.json -diff -merge
package-lock.json linguist-generated=true

13
.gitignore vendored
View File

@@ -6,16 +6,18 @@ node_modules/
/.awcache
/.vscode
# bundle
packages/**/*.d.ts
packages/**/*.js
# misc
.DS_Store
lerna-debug.log
npm-debug.log
yarn-error.log
/src/common/npm-debug.log
/src/core/npm-debug.log
/src/testing/npm-debug.log
/src/microservices/npm-debug.log
/src/websockets/npm-debug.log
/**/npm-debug.log
/packages/**/.npmignore
/packages/**/LICENSE
# example
/quick-start
@@ -24,6 +26,7 @@ yarn-error.log
# tests
/test
/benchmarks/memory
/coverage
/.nyc_output
build/config\.gypi

13
.npmignore Normal file
View File

@@ -0,0 +1,13 @@
# source
**/*.ts
*.ts
# definitions
!**/*.d.ts
!*.d.ts
# configuration
package-lock.json
tslint.json
tsconfig.json
.prettierrc

View File

@@ -1 +1,2 @@
/bundle
packages/**/*.d.ts
packages/**/*.js

View File

@@ -1,8 +1,8 @@
language: node_js
node_js:
- "8"
- "9"
- "10"
- "11"
cache:
directories:
- "node_modules"
@@ -17,7 +17,8 @@ before_install:
- npm i -g npm@latest
install:
- npm ci
- gulp build
- npm run build:dev
script:
- npm run lint
- npm test
after_success: npm run coverage

View File

@@ -3,14 +3,15 @@
We would love for you to contribute to Nest and help make it even better than it is
today! As a contributor, here are the guidelines we would like you to follow:
- [Code of Conduct](#coc)
- [Question or Problem?](#question)
- [Issues and Bugs](#issue)
- [Feature Requests](#feature)
- [Submission Guidelines](#submit)
- [Coding Rules](#rules)
- [Commit Message Guidelines](#commit)
<!-- - [Signing the CLA](#cla) -->
<!--* [Code of Conduct](#coc)-->
* [Question or Problem?](#question)
* [Issues and Bugs](#issue)
* [Feature Requests](#feature)
* [Submission Guidelines](#submit)
* [Development Setup](#development)
* [Coding Rules](#rules)
* [Commit Message Guidelines](#commit)
<!-- - [Signing the CLA](#cla) -->
<!-- ## <a name="coc"></a> Code of Conduct
Help us keep Nest open and inclusive. Please read and follow our [Code of Conduct][coc]. -->
@@ -22,27 +23,30 @@ Help us keep Nest open and inclusive. Please read and follow our [Code of Conduc
Stack Overflow is a much better place to ask questions since:
<!-- - there are thousands of people willing to help on Stack Overflow [maybe one day] -->
- questions and answers stay available for public viewing so your question / answer might help someone else
- Stack Overflow's voting system assures that the best answers are prominently visible.
* questions and answers stay available for public viewing so your question / answer might help someone else
* Stack Overflow's voting system assures that the best answers are prominently visible.
To save your and our time, we will systematically close all issues that are requests for general support and redirect people to Stack Overflow.
If you would like to chat about the question in real-time, you can reach out via [our gitter channel][gitter].
## <a name="issue"></a> Found a Bug?
If you find a bug in the source code, you can help us by
[submitting an issue](#submit-issue) to our [GitHub Repository][github]. Even better, you can
[submit a Pull Request](#submit-pr) with a fix.
## <a name="feature"></a> Missing a Feature?
You can *request* a new feature by [submitting an issue](#submit-issue) to our GitHub
Repository. If you would like to *implement* a new feature, please submit an issue with
You can _request_ a new feature by [submitting an issue](#submit-issue) to our GitHub
Repository. If you would like to _implement_ a new feature, please submit an issue with
a proposal for your work first, to be sure that we can use it.
Please consider what kind of change it is:
* For a **Major Feature**, first open an issue and outline your proposal so that it can be
discussed. This will also allow us to better coordinate our efforts, prevent duplication of work,
and help you to craft the change so that it is successfully accepted into the project. For your issue name, please prefix your proposal with `[discussion]`, for example "[discussion]: your feature idea".
discussed. This will also allow us to better coordinate our efforts, prevent duplication of work,
and help you to craft the change so that it is successfully accepted into the project. For your issue name, please prefix your proposal with `[discussion]`, for example "[discussion]: your feature idea".
* **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr).
## <a name="submit"></a> Submission Guidelines
@@ -53,9 +57,9 @@ Before you submit an issue, please search the issue tracker, maybe an issue for
We want to fix all the issues as soon as possible, but before fixing a bug we need to reproduce and confirm it. In order to reproduce bugs we will systematically ask you to provide a minimal reproduction scenario using a repository or [Gist](https://gist.github.com/). Having a live, reproducible scenario gives us wealth of important information without going back & forth to you with additional questions like:
- version of NestJS used
- 3rd-party libraries and their versions
- and most importantly - a use-case that fails
* version of NestJS used
* 3rd-party libraries and their versions
* and most importantly - a use-case that fails
<!--
// TODO we need to create a playground, similar to plunkr
@@ -68,42 +72,50 @@ Unfortunately, we are not able to investigate / fix bugs without a minimal repro
You can file new issues by filling out our [new issue form](https://github.com/nestjs/nest/issues/new).
### <a name="submit-pr"></a> Submitting a Pull Request (PR)
Before you submit your Pull Request (PR) consider the following guidelines:
<!--
To the first point
1. Please sign our [Contributor License Agreement (CLA)](#cla) before sending PRs.
We cannot accept code without this.
-->
1. Search [GitHub](https://github.com/nestjs/nest/pulls) for an open or closed PR
that relates to your submission. You don't want to duplicate effort.
<!-- 1. Please sign our [Contributor License Agreement (CLA)](#cla) before sending PRs.
We cannot accept code without this. -->
that relates to your submission. You don't want to duplicate effort.
1. Fork the nestjs/nest repo.
1. Make your changes in a new git branch:
```shell
git checkout -b my-fix-branch master
```
```shell
git checkout -b my-fix-branch master
```
1. Create your patch, **including appropriate test cases**.
1. Follow our [Coding Rules](#rules).
1. Run the full Nest test suite, as described in the [developer documentation][dev-doc],
and ensure that all tests pass.
1. Run the full Nest test suite (see [common scripts](#common-scripts)),
and ensure that all tests pass.
1. Commit your changes using a descriptive commit message that follows our
[commit message conventions](#commit). Adherence to these conventions
is necessary because release notes are automatically generated from these messages.
[commit message conventions](#commit). Adherence to these conventions
is necessary because release notes are automatically generated from these messages.
```shell
git commit -a
```
Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files.
```shell
git commit -a
```
Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files.
1. Push your branch to GitHub:
```shell
git push origin my-fix-branch
```
```shell
git push origin my-fix-branch
```
1. In GitHub, send a pull request to `nestjs:master`.
* If we suggest changes then:
* Make the required updates.
* Re-run the Nest test suites to ensure tests are still passing.
* Rebase your branch and force push to your GitHub repository (this will update your Pull Request):
@@ -122,47 +134,90 @@ from the main (upstream) repository:
* Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:
```shell
git push origin --delete my-fix-branch
```
```shell
git push origin --delete my-fix-branch
```
* Check out the master branch:
```shell
git checkout master -f
```
```shell
git checkout master -f
```
* Delete the local branch:
```shell
git branch -D my-fix-branch
```
```shell
git branch -D my-fix-branch
```
* Update your master with the latest upstream version:
```shell
git pull --ff upstream master
```
```shell
git pull --ff upstream master
```
## <a name="development"></a> Development Setup
You will need Node.js version 8.9.0+.
1. After cloning the repo, run:
```bash
$ npm i # (or yarn install)
```
2. In order to prepare your environment run `prepare.sh` shell script:
```bash
$ sh scripts/prepare.sh
```
That will compile fresh packages and afterward, move them to all `sample` directories as well as integration tests.
### <a name="common-scripts"></a>Commonly used NPM scripts
```bash
# build all packages and put them near to their source .ts files
$ npm run build
# build all packages and move to "sample" and "integration" directories
# if cross-packages breaking changes were performed you may face irrelevant errors
# in order to verify the build, you can run this command again then
$ npm run build:dev
# run the full unit tests suite
$ npm run test
# run integration tests
# docker is required(!)
$ sh scripts/run-integration.sh
# run linter
$ npm run lint
```
## <a name="rules"></a> Coding Rules
To ensure consistency throughout the source code, keep these rules in mind as you are working:
* All features or bug fixes **must be tested** by one or more specs (unit-tests).
<!--
// We're working on auto-documentation.
* All public API methods **must be documented**. (Details TBC). -->
* All features or bug fixes **must be tested** by one or more specs (unit-tests).
* We follow [Google's JavaScript Style Guide][js-style-guide], but wrap all code at
**100 characters**. An automated formatter is available, see
[DEVELOPER.md](docs/DEVELOPER.md#clang-format).
## <a name="commit"></a> Commit Message Guidelines
We have very precise rules over how our git commit messages can be formatted. This leads to **more
readable messages** that are easy to follow when looking through the **project history**. But also,
We have very precise rules over how our git commit messages can be formatted. This leads to **more
readable messages** that are easy to follow when looking through the **project history**. But also,
we use the git commit messages to **generate the Nest change log**.
### Commit Message Format
Each commit message consists of a **header**, a **body** and a **footer**. The header has a special
Each commit message consists of a **header**, a **body** and a **footer**. The header has a special
format that includes a **type**, a **scope** and a **subject**:
```
@@ -184,17 +239,15 @@ Samples: (even more [samples](https://github.com/nestjs/nest/commits/master))
```
docs(changelog) update change log to beta.5
```
```
bugfix(core) need to depend on latest rxjs and zone.js
The version in our package.json gets copied to the one we publish, and users need the latest of these.
```
### Revert
If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit. In the body it should say: `This reverts commit <hash>.`, where the hash is the SHA of the commit being reverted.
If the commit reverts a previous commit, it should begin with `revert:`, followed by the header of the reverted commit. In the body it should say: `This reverts commit <hash>.`, where the hash is the SHA of the commit being reverted.
### Type
Must be one of the following:
* **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
@@ -208,6 +261,7 @@ Must be one of the following:
* **test**: Adding missing tests or correcting existing tests
### Scope
The scope should be the name of the npm package affected (as perceived by person reading changelog generated from commit messages.
The following is the list of supported scopes:
@@ -224,10 +278,11 @@ There are currently a few exceptions to the "use package name" rule:
* **packaging**: used for changes that change the npm package layout in all of our packages, e.g. public path changes, package.json changes done to all packages, d.ts file/format changes, changes to bundles, etc.
* **changelog**: used for updating the release notes in CHANGELOG.md
* **sample/#**: for the example apps directory, replacing # with the example app number
<!-- * **aio**: used for docs-app (angular.io) related changes within the /aio directory of the repo -->
* none/empty string: useful for `style`, `test` and `refactor` changes that are done across all packages (e.g. `style: add missing semicolons`)
<!-- * **aio**: used for docs-app (angular.io) related changes within the /aio directory of the repo -->
### Subject
The subject contains succinct description of the change:
* use the imperative, present tense: "change" not "changed" nor "changes"
@@ -235,10 +290,12 @@ The subject contains succinct description of the change:
* no dot (.) at the end
### Body
Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes".
The body should include the motivation for the change and contrast this with previous behavior.
### Footer
The footer should contain any information about **Breaking Changes** and is also the place to
reference GitHub issues that this commit **Closes**.
@@ -255,9 +312,10 @@ changes to be accepted, the CLA must be signed. It's a quick process, we promise
* For corporations we'll need you to
[print, sign and one of scan+email, fax or mail the form][corporate-cla]. -->
<!-- [angular-group]: https://groups.google.com/forum/#!forum/angular -->
<!-- [coc]: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md -->
[commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#
[corporate-cla]: http://code.google.com/legal/corporate-cla-v1.0.html
[dev-doc]: https://github.com/nestjs/nest/blob/master/docs/DEVELOPER.md
@@ -268,4 +326,5 @@ changes to be accepted, the CLA must be signed. It's a quick process, we promise
[jsfiddle]: http://jsfiddle.net
[plunker]: http://plnkr.co/edit
[runnable]: http://runnable.com
<!-- [stackoverflow]: http://stackoverflow.com/questions/tagged/angular -->

View File

@@ -14,8 +14,9 @@
<a href="https://www.npmjs.com/~nestjscore"><img src="https://img.shields.io/npm/dm/@nestjs/core.svg" alt="NPM Downloads" /></a>
<a href="https://travis-ci.org/nestjs/nest"><img src="https://api.travis-ci.org/nestjs/nest.svg?branch=master" alt="Travis" /></a>
<a href="https://travis-ci.org/nestjs/nest"><img src="https://img.shields.io/travis/nestjs/nest/master.svg?label=linux" alt="Linux" /></a>
<a href="https://coveralls.io/github/nestjs/nest?branch=master"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#7" alt="Coverage" /></a>
<a href="https://coveralls.io/github/nestjs/nest?branch=master"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#8" alt="Coverage" /></a>
<a href="https://gitter.im/nestjs/nestjs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=body_badge"><img src="https://badges.gitter.im/nestjs/nestjs.svg" alt="Gitter" /></a>
<a href="https://discord.gg/G7Qnnhy"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
<a href="https://opencollective.com/nest#backer"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
<a href="https://opencollective.com/nest#sponsor"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
<a href="https://paypal.me/kamilmysliwiec"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg"/></a>
@@ -48,17 +49,22 @@ Nest is an MIT-licensed open source project. It can grow thanks to the sponsors
<a href="https://valor-software.com/"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="320" /></a>
#### Gold Sponsors
#### Base Sponsor
<a href="http://xtremis.com/"><img src="https://nestjs.com/img/logo-xtremis.svg" width="220" /></a>
<a href="https://blueanchor.io/"><img src="https://nestjs.com/img/blueanchor.png" width="300" /></a> &nbsp;
<a href="https://www.novologic.com/"><img src="https://nestjs.com/img/novologic.png" width="200" /></a>
#### Silver Sponsors
<a href="https://neoteric.eu/"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" /></a> &nbsp; <a href="https://www.swingdev.io"><img src="https://nestjs.com/img/swingdev-logo.svg#1" width="150" /></a>
<a href="https://neoteric.eu/"><img src="https://nestjs.com/img/neoteric-cut.png" width="120" valign="middle" /></a> &nbsp;
<a href="http://gojob.com"><img src="http://nestjs.com/img/gojob-logo.png" valign="middle" height="95" /></a> &nbsp; <a href="https://www.swingdev.io"><img src="https://nestjs.com/img/swingdev-logo.svg#1" width="150" valign="middle" /> </a> &nbsp; &nbsp;
<a href="https://yakaz.com/"><img src="https://nestjs.com/img/yakaz.png" width="100" valign="middle" /></a>
<a href="http://xtremis.com/"><img src="https://nestjs.com/img/logo-xtremis.svg" width="150" valign="middle" /></a>
#### Sponsors
<a href="https://scal.io"><img src="https://nestjs.com/img/scalio-logo.svg" width="110" /></a> &nbsp; <a href="http://angularity.io"><img src="http://angularity.io/media/logo.svg" height="30" /></a> &nbsp; <a href="http://gojob.com"><img src="https://gojob.com/w/wp-content/uploads/2017/02/cropped-Logo-web-home.png" height="40" /> &nbsp; <!--<a href="https://keycdn.com"><img src="https://nestjs.com/img/keycdn.svg" height="30" /></a> &nbsp;--> <a href="https://hostpresto.com"><img src="https://nestjs.com/img/hostpresto.png" height="30" /></a> &nbsp; <a href="https://genuinebee.com/"><img src="https://nestjs.com/img/genuinebee.svg" height="34" /></a>
<a href="https://scal.io"><img src="https://nestjs.com/img/scalio-logo.svg" width="110" valign="middle" /></a> &nbsp; <a href="http://angularity.io"><img src="http://angularity.io/media/logo.svg" height="30" valign="middle" /></a> &nbsp; <!--<a href="https://keycdn.com"><img src="https://nestjs.com/img/keycdn.svg" height="30" /></a> &nbsp;--> <a href="https://hostpresto.com"><img src="https://nestjs.com/img/hostpresto.png" height="30" valign="middle" /></a> &nbsp; <a href="https://genuinebee.com/"><img src="https://nestjs.com/img/genuinebee.svg" height="38" valign="middle" /></a> &nbsp; <a href="http://architectnow.net/"><img src="https://nestjs.com/img/architectnow.png" height="24" valign="middle" /></a> &nbsp; <a href="https://quander.io/"><img src="https://nestjs.com/img/quander.png" height="28" valign="middle" /></a> &nbsp; <a href="https://mantro.net/"><img src="https://nestjs.com/img/mantro-logo.svg" height="20" valign="middle" /></a> &nbsp;
<a href="https://triplebyte.com/"><img src="https://nestjs.com/img/triplebyte.png" height="30" valign="middle" /></a>
## Backers

View File

@@ -1,3 +0,0 @@
export declare const CACHE_MANAGER = "CACHE_MANAGER";
export declare const CACHE_MODULE_OPTIONS = "CACHE_MODULE_OPTIONS";
export declare const CACHE_KEY_METADATA = "cache_module:cache_key";

View File

@@ -1,5 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CACHE_MANAGER = 'CACHE_MANAGER';
exports.CACHE_MODULE_OPTIONS = 'CACHE_MODULE_OPTIONS';
exports.CACHE_KEY_METADATA = 'cache_module:cache_key';

View File

@@ -1,8 +0,0 @@
import { DynamicModule } from '../interfaces';
import { CacheModuleAsyncOptions, CacheModuleOptions } from './interfaces/cache-module.interface';
export declare class CacheModule {
static register(options?: CacheModuleOptions): DynamicModule;
static registerAsync(options: CacheModuleAsyncOptions): DynamicModule;
private static createAsyncProviders(options);
private static createAsyncOptionsProvider(options);
}

View File

@@ -1,60 +0,0 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
const decorators_1 = require("../decorators");
const cache_constants_1 = require("./cache.constants");
const cache_providers_1 = require("./cache.providers");
let CacheModule = CacheModule_1 = class CacheModule {
static register(options = {}) {
return {
module: CacheModule_1,
providers: [{ provide: cache_constants_1.CACHE_MODULE_OPTIONS, useValue: options }],
};
}
static registerAsync(options) {
return {
module: CacheModule_1,
imports: options.imports,
providers: this.createAsyncProviders(options),
};
}
static createAsyncProviders(options) {
if (options.useExisting || options.useFactory) {
return [this.createAsyncOptionsProvider(options)];
}
return [
this.createAsyncOptionsProvider(options),
{
provide: options.useClass,
useClass: options.useClass,
},
];
}
static createAsyncOptionsProvider(options) {
if (options.useFactory) {
return {
provide: cache_constants_1.CACHE_MODULE_OPTIONS,
useFactory: options.useFactory,
inject: options.inject || [],
};
}
return {
provide: cache_constants_1.CACHE_MODULE_OPTIONS,
useFactory: async (optionsFactory) => await optionsFactory.createCacheOptions(),
inject: [options.useExisting || options.useClass],
};
}
};
CacheModule = CacheModule_1 = __decorate([
decorators_1.Module({
providers: [cache_providers_1.createCacheManager()],
exports: [cache_constants_1.CACHE_MANAGER],
})
], CacheModule);
exports.CacheModule = CacheModule;
var CacheModule_1;

View File

@@ -1,2 +0,0 @@
import { Provider } from '../interfaces';
export declare function createCacheManager(): Provider;

View File

@@ -1,17 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const load_package_util_1 = require("../utils/load-package.util");
const cache_constants_1 = require("./cache.constants");
const default_options_1 = require("./default-options");
function createCacheManager() {
return {
provide: cache_constants_1.CACHE_MANAGER,
useFactory: (options) => {
const cacheManager = load_package_util_1.loadPackage('cache-manager', 'CacheModule');
const memoryCache = cacheManager.caching(Object.assign({}, default_options_1.defaultCacheOptions, (options || {})));
return memoryCache;
},
inject: [cache_constants_1.CACHE_MODULE_OPTIONS],
};
}
exports.createCacheManager = createCacheManager;

View File

@@ -1 +0,0 @@
export declare const CacheKey: (key: string) => (target: object, key?: any, descriptor?: any) => any;

View File

@@ -1,5 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const decorators_1 = require("../../decorators");
const cache_constants_1 = require("../cache.constants");
exports.CacheKey = (key) => decorators_1.ReflectMetadata(cache_constants_1.CACHE_KEY_METADATA, key);

View File

@@ -1 +0,0 @@
export * from './cache-key.decorator';

View File

@@ -1,6 +0,0 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./cache-key.decorator"));

View File

@@ -1,5 +0,0 @@
export declare const defaultCacheOptions: {
ttl: number;
max: number;
store: string;
};

View File

@@ -1,7 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultCacheOptions = {
ttl: 5,
max: 100,
store: 'memory',
};

View File

@@ -1,5 +0,0 @@
export { CACHE_MANAGER } from './cache.constants';
export * from './cache.module';
export * from './decorators';
export * from './interceptors';
export * from './interfaces';

View File

@@ -1,10 +0,0 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
var cache_constants_1 = require("./cache.constants");
exports.CACHE_MANAGER = cache_constants_1.CACHE_MANAGER;
__export(require("./cache.module"));
__export(require("./decorators"));
__export(require("./interceptors"));

View File

@@ -1,11 +0,0 @@
import { Observable } from 'rxjs';
import { ExecutionContext, HttpServer, NestInterceptor } from '../../interfaces';
export declare class CacheInterceptor implements NestInterceptor {
protected readonly httpServer: HttpServer;
protected readonly cacheManager: any;
protected readonly reflector: any;
protected readonly isHttpApp: boolean;
constructor(httpServer: HttpServer, cacheManager: any, reflector: any);
intercept(context: ExecutionContext, call$: Observable<any>): Promise<Observable<any>>;
trackBy(context: ExecutionContext): string | undefined;
}

View File

@@ -1,66 +0,0 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
Object.defineProperty(exports, "__esModule", { value: true });
const rxjs_1 = require("rxjs");
const operators_1 = require("rxjs/operators");
const decorators_1 = require("../../decorators");
const cache_constants_1 = require("../cache.constants");
// NOTE (external)
// We need to deduplicate them here due to the circular dependency
// between core and common packages
const HTTP_SERVER_REF = 'HTTP_SERVER_REF';
const REFLECTOR = 'Reflector';
let CacheInterceptor = class CacheInterceptor {
constructor(httpServer, cacheManager, reflector) {
this.httpServer = httpServer;
this.cacheManager = cacheManager;
this.reflector = reflector;
this.isHttpApp = httpServer && !!httpServer.getRequestMethod;
}
async intercept(context, call$) {
const key = this.trackBy(context);
if (!key) {
return call$;
}
try {
const value = await this.cacheManager.get(key);
if (value) {
return rxjs_1.of(value);
}
return call$.pipe(operators_1.tap(response => this.cacheManager.set(key, response)));
}
catch (_a) {
return call$;
}
}
trackBy(context) {
if (!this.isHttpApp) {
return this.reflector.get(cache_constants_1.CACHE_KEY_METADATA, context.getHandler());
}
const request = context.getArgByIndex(0);
if (this.httpServer.getRequestMethod(request) !== 'GET') {
return undefined;
}
return this.httpServer.getRequestUrl(request);
}
};
CacheInterceptor = __decorate([
decorators_1.Injectable(),
__param(0, decorators_1.Optional()),
__param(0, decorators_1.Inject(HTTP_SERVER_REF)),
__param(1, decorators_1.Inject(cache_constants_1.CACHE_MANAGER)),
__param(2, decorators_1.Inject(REFLECTOR)),
__metadata("design:paramtypes", [Object, Object, Object])
], CacheInterceptor);
exports.CacheInterceptor = CacheInterceptor;

View File

@@ -1 +0,0 @@
export * from './cache.interceptor';

View File

@@ -1,6 +0,0 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./cache.interceptor"));

View File

@@ -1,17 +0,0 @@
export interface LiteralObject {
[key: string]: any;
}
export interface CacheStore {
set<T>(key: string, value: T): Promise<void> | void;
get<T>(key: string): Promise<void> | void;
del(key: string): void | Promise<void>;
}
export interface CacheStoreFactory {
create(args: LiteralObject): CacheStore;
}
export interface CacheManagerOptions {
store?: string | CacheStoreFactory;
ttl?: number;
max?: number;
isCacheableValue?: (value: any) => boolean;
}

View File

@@ -1,2 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });

View File

@@ -1,14 +0,0 @@
import { ModuleMetadata, Type } from '../../interfaces';
import { CacheManagerOptions } from './cache-manager.interface';
export interface CacheModuleOptions extends CacheManagerOptions {
[key: string]: any;
}
export interface CacheOptionsFactory {
createCacheOptions(): Promise<CacheModuleOptions> | CacheModuleOptions;
}
export interface CacheModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
useExisting?: Type<CacheOptionsFactory>;
useClass?: Type<CacheOptionsFactory>;
useFactory?: (...args: any[]) => Promise<CacheModuleOptions> | CacheModuleOptions;
inject?: any[];
}

View File

@@ -1,2 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });

View File

@@ -1,2 +0,0 @@
export * from './cache-manager.interface';
export * from './cache-module.interface';

View File

@@ -1,2 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });

View File

@@ -1,28 +0,0 @@
export declare const METADATA: {
MODULES: string;
IMPORTS: string;
COMPONENTS: string;
PROVIDERS: string;
CONTROLLERS: string;
EXPORTS: string;
};
export declare const SHARED_MODULE_METADATA = "__sharedModule__";
export declare const GLOBAL_MODULE_METADATA = "__globalModule__";
export declare const PATH_METADATA = "path";
export declare const PARAMTYPES_METADATA = "design:paramtypes";
export declare const SELF_DECLARED_DEPS_METADATA = "self:paramtypes";
export declare const OPTIONAL_DEPS_METADATA = "optional:paramtypes";
export declare const METHOD_METADATA = "method";
export declare const ROUTE_ARGS_METADATA = "__routeArguments__";
export declare const CUSTOM_ROUTE_AGRS_METADATA = "__customRouteArgs__";
export declare const EXCEPTION_FILTERS_METADATA = "__exceptionFilters__";
export declare const FILTER_CATCH_EXCEPTIONS = "__filterCatchExceptions__";
export declare const PIPES_METADATA = "__pipes__";
export declare const GUARDS_METADATA = "__guards__";
export declare const RENDER_METADATA = "__renderTemplate__";
export declare const INTERCEPTORS_METADATA = "__interceptors__";
export declare const HTTP_CODE_METADATA = "__httpCode__";
export declare const GATEWAY_MIDDLEWARES = "__gatewayMiddleware";
export declare const MODULE_PATH = "__module_path__";
export declare const HEADERS_METADATA = "__headers__";
export declare const REDIRECT_METADATA = "__redirect__";

View File

@@ -1,30 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.METADATA = {
MODULES: 'modules',
IMPORTS: 'imports',
COMPONENTS: 'components',
PROVIDERS: 'providers',
CONTROLLERS: 'controllers',
EXPORTS: 'exports',
};
exports.SHARED_MODULE_METADATA = '__sharedModule__';
exports.GLOBAL_MODULE_METADATA = '__globalModule__';
exports.PATH_METADATA = 'path';
exports.PARAMTYPES_METADATA = 'design:paramtypes';
exports.SELF_DECLARED_DEPS_METADATA = 'self:paramtypes';
exports.OPTIONAL_DEPS_METADATA = 'optional:paramtypes';
exports.METHOD_METADATA = 'method';
exports.ROUTE_ARGS_METADATA = '__routeArguments__';
exports.CUSTOM_ROUTE_AGRS_METADATA = '__customRouteArgs__';
exports.EXCEPTION_FILTERS_METADATA = '__exceptionFilters__';
exports.FILTER_CATCH_EXCEPTIONS = '__filterCatchExceptions__';
exports.PIPES_METADATA = '__pipes__';
exports.GUARDS_METADATA = '__guards__';
exports.RENDER_METADATA = '__renderTemplate__';
exports.INTERCEPTORS_METADATA = '__interceptors__';
exports.HTTP_CODE_METADATA = '__httpCode__';
exports.GATEWAY_MIDDLEWARES = '__gatewayMiddleware';
exports.MODULE_PATH = '__module_path__';
exports.HEADERS_METADATA = '__headers__';
exports.REDIRECT_METADATA = '__redirect__';

View File

@@ -1,6 +0,0 @@
/**
* Binds parameters decorators to the particular method
* Useful when the language doesn't provide a 'Parameter Decorators' feature (vanilla JavaScript)
* @param {} ...decorators
*/
export declare function Bind(...decorators: any[]): (target: object, key: any, descriptor: any) => any;

View File

@@ -1,14 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Binds parameters decorators to the particular method
* Useful when the language doesn't provide a 'Parameter Decorators' feature (vanilla JavaScript)
* @param {} ...decorators
*/
function Bind(...decorators) {
return (target, key, descriptor) => {
decorators.forEach((fn, index) => fn(target, key, index));
return descriptor;
};
}
exports.Bind = Bind;

View File

@@ -1,7 +0,0 @@
import 'reflect-metadata';
import { Type } from '../../interfaces';
/**
* Defines the Exceptions Filter. Takes set of exception types as an argument which has to be caught by this Filter.
* The class should implement the `ExceptionFilter` interface.
*/
export declare function Catch(...exceptions: Type<any>[]): ClassDecorator;

View File

@@ -1,14 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
/**
* Defines the Exceptions Filter. Takes set of exception types as an argument which has to be caught by this Filter.
* The class should implement the `ExceptionFilter` interface.
*/
function Catch(...exceptions) {
return (target) => {
Reflect.defineMetadata(constants_1.FILTER_CATCH_EXCEPTIONS, exceptions, target);
};
}
exports.Catch = Catch;

View File

@@ -1,32 +0,0 @@
/**
* Defines the injectable class. This class can inject dependencies through constructor.
* Those dependencies have to belong to the same module.
*/
export declare function Injectable(): ClassDecorator;
/**
* @deprecated
* Defines the Component. The component can inject dependencies through constructor.
* Those dependencies have to belong to the same module.
*/
export declare function Component(): ClassDecorator;
/**
* @deprecated
* Defines the Pipe. The Pipe should implement the `PipeTransform` interface.
*/
export declare function Pipe(): ClassDecorator;
/**
* @deprecated
* Defines the Guard. The Guard should implement the `CanActivate` interface.
*/
export declare function Guard(): ClassDecorator;
/**
* @deprecated
* Defines the Middleware. The Middleware should implement the `NestMiddleware` interface.
*/
export declare function Middleware(): ClassDecorator;
/**
* @deprecated
* Defines the Interceptor. The Interceptor should implement `HttpInterceptor`, `RpcInterceptor` or `WsInterceptor` interface.
*/
export declare function Interceptor(): ClassDecorator;
export declare function mixin(mixinClass: any): any;

View File

@@ -1,66 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const deprecate = require("deprecate");
const uuid = require("uuid/v4");
/**
* Defines the injectable class. This class can inject dependencies through constructor.
* Those dependencies have to belong to the same module.
*/
function Injectable() {
return (target) => { };
}
exports.Injectable = Injectable;
/**
* @deprecated
* Defines the Component. The component can inject dependencies through constructor.
* Those dependencies have to belong to the same module.
*/
function Component() {
deprecate('The @Component() decorator is deprecated and will be removed within next major release. Use @Injectable() instead.');
return (target) => { };
}
exports.Component = Component;
/**
* @deprecated
* Defines the Pipe. The Pipe should implement the `PipeTransform` interface.
*/
function Pipe() {
deprecate('The @Pipe() decorator is deprecated and will be removed within next major release. Use @Injectable() instead.');
return (target) => { };
}
exports.Pipe = Pipe;
/**
* @deprecated
* Defines the Guard. The Guard should implement the `CanActivate` interface.
*/
function Guard() {
deprecate('The @Guard() decorator is deprecated and will be removed within next major release. Use @Injectable() instead.');
return (target) => { };
}
exports.Guard = Guard;
/**
* @deprecated
* Defines the Middleware. The Middleware should implement the `NestMiddleware` interface.
*/
function Middleware() {
deprecate('The @Middleware() decorator is deprecated and will be removed within next major release. Use @Injectable() instead.');
return (target) => { };
}
exports.Middleware = Middleware;
/**
* @deprecated
* Defines the Interceptor. The Interceptor should implement `HttpInterceptor`, `RpcInterceptor` or `WsInterceptor` interface.
*/
function Interceptor() {
deprecate('The @Interceptor() decorator is deprecated and will be removed within next major release. Use @Injectable() instead.');
return (target) => { };
}
exports.Interceptor = Interceptor;
function mixin(mixinClass) {
Object.defineProperty(mixinClass, 'name', {
value: uuid(),
});
Injectable()(mixinClass);
return mixinClass;
}
exports.mixin = mixin;

View File

@@ -1,6 +0,0 @@
import 'reflect-metadata';
/**
* Defines the Controller. The controller can inject dependencies through constructor.
* Those dependencies have to belong to the same module.
*/
export declare function Controller(prefix?: string): ClassDecorator;

View File

@@ -1,16 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const shared_utils_1 = require("../../utils/shared.utils");
const constants_1 = require("../../constants");
/**
* Defines the Controller. The controller can inject dependencies through constructor.
* Those dependencies have to belong to the same module.
*/
function Controller(prefix) {
const path = shared_utils_1.isUndefined(prefix) ? '/' : prefix;
return (target) => {
Reflect.defineMetadata(constants_1.PATH_METADATA, path, target);
};
}
exports.Controller = Controller;

View File

@@ -1,3 +0,0 @@
import 'reflect-metadata';
export declare function flatten(arr: any[]): any;
export declare const Dependencies: (...dependencies: any[]) => ClassDecorator;

View File

@@ -1,15 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
function flatten(arr) {
const flat = [].concat(...arr);
return flat.some(Array.isArray) ? flatten(flat) : flat;
}
exports.flatten = flatten;
exports.Dependencies = (...dependencies) => {
const flattenDeps = flatten(dependencies);
return (target) => {
Reflect.defineMetadata(constants_1.PARAMTYPES_METADATA, flattenDeps, target);
};
};

View File

@@ -1,13 +0,0 @@
import 'reflect-metadata';
import { ExceptionFilter } from '../../index';
/**
* Setups exception filters to the chosen context.
* When the `@UseFilters()` is used on the controller level:
* - Exception Filter will be set up to every handler (every method)
*
* When the `@UseFilters()` is used on the handle level:
* - Exception Filter will be set up only to specified method
*
* @param {ExceptionFilter[]} ...filters
*/
export declare const UseFilters: (...filters: (Function | ExceptionFilter<any>)[]) => (target: any, key?: any, descriptor?: any) => any;

View File

@@ -1,31 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
const extend_metadata_util_1 = require("../../utils/extend-metadata.util");
const shared_utils_1 = require("../../utils/shared.utils");
const validate_each_util_1 = require("../../utils/validate-each.util");
const defineFiltersMetadata = (...filters) => {
return (target, key, descriptor) => {
const isFilterValid = filter => filter && (shared_utils_1.isFunction(filter) || shared_utils_1.isFunction(filter.catch));
if (descriptor) {
validate_each_util_1.validateEach(target.constructor, filters, isFilterValid, '@UseFilters', 'filter');
extend_metadata_util_1.extendArrayMetadata(constants_1.EXCEPTION_FILTERS_METADATA, filters, descriptor.value);
return descriptor;
}
validate_each_util_1.validateEach(target, filters, isFilterValid, '@UseFilters', 'filter');
extend_metadata_util_1.extendArrayMetadata(constants_1.EXCEPTION_FILTERS_METADATA, filters, target);
return target;
};
};
/**
* Setups exception filters to the chosen context.
* When the `@UseFilters()` is used on the controller level:
* - Exception Filter will be set up to every handler (every method)
*
* When the `@UseFilters()` is used on the handle level:
* - Exception Filter will be set up only to specified method
*
* @param {ExceptionFilter[]} ...filters
*/
exports.UseFilters = (...filters) => defineFiltersMetadata(...filters);

View File

@@ -1,12 +0,0 @@
export * from './bind.decorator';
export * from './catch.decorator';
export * from './component.decorator';
export * from './controller.decorator';
export * from './dependencies.decorator';
export * from './exception-filters.decorator';
export * from './inject.decorator';
export * from './optional.decorator';
export * from './reflect-metadata.decorator';
export * from './use-guards.decorator';
export * from './use-interceptors.decorator';
export * from './use-pipes.decorator';

View File

@@ -1,17 +0,0 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./bind.decorator"));
__export(require("./catch.decorator"));
__export(require("./component.decorator"));
__export(require("./controller.decorator"));
__export(require("./dependencies.decorator"));
__export(require("./exception-filters.decorator"));
__export(require("./inject.decorator"));
__export(require("./optional.decorator"));
__export(require("./reflect-metadata.decorator"));
__export(require("./use-guards.decorator"));
__export(require("./use-interceptors.decorator"));
__export(require("./use-pipes.decorator"));

View File

@@ -1,6 +0,0 @@
import 'reflect-metadata';
/**
* Injects provider which has to be available in the current injector (module) scope.
* Providers are recognized by types or tokens.
*/
export declare function Inject<T = any>(token: T): ParameterDecorator;

View File

@@ -1,18 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
const shared_utils_1 = require("../../utils/shared.utils");
/**
* Injects provider which has to be available in the current injector (module) scope.
* Providers are recognized by types or tokens.
*/
function Inject(token) {
return (target, key, index) => {
const args = Reflect.getMetadata(constants_1.SELF_DECLARED_DEPS_METADATA, target) || [];
const type = shared_utils_1.isFunction(token) ? token.name : token;
args.push({ index, param: type });
Reflect.defineMetadata(constants_1.SELF_DECLARED_DEPS_METADATA, args, target);
};
}
exports.Inject = Inject;

View File

@@ -1,5 +0,0 @@
import 'reflect-metadata';
/**
* Sets dependency as an optional one.
*/
export declare function Optional(): ParameterDecorator;

View File

@@ -1,14 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
/**
* Sets dependency as an optional one.
*/
function Optional() {
return (target, key, index) => {
const args = Reflect.getMetadata(constants_1.OPTIONAL_DEPS_METADATA, target) || [];
Reflect.defineMetadata(constants_1.OPTIONAL_DEPS_METADATA, [...args, index], target);
};
}
exports.Optional = Optional;

View File

@@ -1,5 +0,0 @@
/**
* Assigns the metadata to the class/function under specified `key`.
* This metadata can be reflected using `Reflector` class.
*/
export declare const ReflectMetadata: <K = any, V = any>(metadataKey: K, metadataValue: V) => (target: object, key?: any, descriptor?: any) => any;

View File

@@ -1,14 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Assigns the metadata to the class/function under specified `key`.
* This metadata can be reflected using `Reflector` class.
*/
exports.ReflectMetadata = (metadataKey, metadataValue) => (target, key, descriptor) => {
if (descriptor) {
Reflect.defineMetadata(metadataKey, metadataValue, descriptor.value);
return descriptor;
}
Reflect.defineMetadata(metadataKey, metadataValue, target);
return target;
};

View File

@@ -1,12 +0,0 @@
import { CanActivate } from '../../interfaces';
/**
* Binds guards to the particular context.
* When the `@UseGuards()` is used on the controller level:
* - Guard will be register to each handler (every method)
*
* When the `@UseGuards()` is used on the handler level:
* - Guard will be registered only to specified method
*
* @param {} ...guards
*/
export declare function UseGuards(...guards: (CanActivate | Function)[]): (target: any, key?: any, descriptor?: any) => any;

View File

@@ -1,30 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("../../constants");
const extend_metadata_util_1 = require("../../utils/extend-metadata.util");
const validate_each_util_1 = require("../../utils/validate-each.util");
const shared_utils_1 = require("../../utils/shared.utils");
/**
* Binds guards to the particular context.
* When the `@UseGuards()` is used on the controller level:
* - Guard will be register to each handler (every method)
*
* When the `@UseGuards()` is used on the handler level:
* - Guard will be registered only to specified method
*
* @param {} ...guards
*/
function UseGuards(...guards) {
return (target, key, descriptor) => {
const isValidGuard = guard => guard && (shared_utils_1.isFunction(guard) || shared_utils_1.isFunction(guard.canActivate));
if (descriptor) {
validate_each_util_1.validateEach(target.constructor, guards, isValidGuard, '@UseGuards', 'guard');
extend_metadata_util_1.extendArrayMetadata(constants_1.GUARDS_METADATA, guards, descriptor.value);
return descriptor;
}
validate_each_util_1.validateEach(target, guards, isValidGuard, '@UseGuards', 'guard');
extend_metadata_util_1.extendArrayMetadata(constants_1.GUARDS_METADATA, guards, target);
return target;
};
}
exports.UseGuards = UseGuards;

View File

@@ -1,12 +0,0 @@
import { NestInterceptor } from '../../interfaces';
/**
* Binds interceptors to the particular context.
* When the `@UseInterceptors()` is used on the controller level:
* - Interceptor will be register to each handler (every method)
*
* When the `@UseInterceptors()` is used on the handle level:
* - Interceptor will be registered only to specified method
*
* @param {} ...interceptors
*/
export declare function UseInterceptors(...interceptors: (NestInterceptor | Function)[]): (target: any, key?: any, descriptor?: any) => any;

View File

@@ -1,31 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("../../constants");
const extend_metadata_util_1 = require("../../utils/extend-metadata.util");
const shared_utils_1 = require("../../utils/shared.utils");
const validate_each_util_1 = require("../../utils/validate-each.util");
/**
* Binds interceptors to the particular context.
* When the `@UseInterceptors()` is used on the controller level:
* - Interceptor will be register to each handler (every method)
*
* When the `@UseInterceptors()` is used on the handle level:
* - Interceptor will be registered only to specified method
*
* @param {} ...interceptors
*/
function UseInterceptors(...interceptors) {
return (target, key, descriptor) => {
const isValidInterceptor = interceptor => interceptor &&
(shared_utils_1.isFunction(interceptor) || shared_utils_1.isFunction(interceptor.intercept));
if (descriptor) {
validate_each_util_1.validateEach(target.constructor, interceptors, isValidInterceptor, '@UseInterceptors', 'interceptor');
extend_metadata_util_1.extendArrayMetadata(constants_1.INTERCEPTORS_METADATA, interceptors, descriptor.value);
return descriptor;
}
validate_each_util_1.validateEach(target, interceptors, isValidInterceptor, '@UseInterceptors', 'interceptor');
extend_metadata_util_1.extendArrayMetadata(constants_1.INTERCEPTORS_METADATA, interceptors, target);
return target;
};
}
exports.UseInterceptors = UseInterceptors;

View File

@@ -1,12 +0,0 @@
import { PipeTransform } from '../../interfaces/index';
/**
* Binds pipes to the particular context.
* When the `@UsePipes()` is used on the controller level:
* - Pipe will be register to each handler (every method)
*
* When the `@UsePipes()` is used on the handle level:
* - Pipe will be registered only to specified method
*
* @param {PipeTransform[]} ...pipes
*/
export declare function UsePipes(...pipes: (PipeTransform | Function)[]): (target: any, key?: any, descriptor?: any) => any;

View File

@@ -1,29 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("../../constants");
const extend_metadata_util_1 = require("../../utils/extend-metadata.util");
const validate_each_util_1 = require("../../utils/validate-each.util");
const shared_utils_1 = require("../../utils/shared.utils");
/**
* Binds pipes to the particular context.
* When the `@UsePipes()` is used on the controller level:
* - Pipe will be register to each handler (every method)
*
* When the `@UsePipes()` is used on the handle level:
* - Pipe will be registered only to specified method
*
* @param {PipeTransform[]} ...pipes
*/
function UsePipes(...pipes) {
return (target, key, descriptor) => {
const isPipeValid = pipe => pipe && (shared_utils_1.isFunction(pipe) || shared_utils_1.isFunction(pipe.transform));
if (descriptor) {
extend_metadata_util_1.extendArrayMetadata(constants_1.PIPES_METADATA, pipes, descriptor.value);
return descriptor;
}
validate_each_util_1.validateEach(target, pipes, isPipeValid, '@UsePipes', 'pipe');
extend_metadata_util_1.extendArrayMetadata(constants_1.PIPES_METADATA, pipes, target);
return target;
};
}
exports.UsePipes = UsePipes;

View File

@@ -1,15 +0,0 @@
import { PipeTransform } from '../../index';
import { Type } from '../../interfaces';
import { CustomParamFactory } from '../../interfaces/features/custom-route-param-factory.interface';
export declare type ParamDecoratorEnhancer = ParameterDecorator;
/**
* Defines HTTP route param decorator
* @param factory
*/
export declare function createParamDecorator(factory: CustomParamFactory, enhancers?: ParamDecoratorEnhancer[]): (...dataOrPipes: (Type<PipeTransform> | PipeTransform | any)[]) => ParameterDecorator;
/**
* Defines HTTP route param decorator
* @deprecated
* @param factory
*/
export declare function createRouteParamDecorator(factory: CustomParamFactory): (data?: any, ...pipes: (Type<PipeTransform> | PipeTransform)[]) => ParameterDecorator;

View File

@@ -1,40 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const deprecate = require("deprecate");
const uuid = require("uuid/v4");
const constants_1 = require("../../constants");
const shared_utils_1 = require("../../utils/shared.utils");
const assignCustomMetadata = (args, paramtype, index, factory, data, ...pipes) => (Object.assign({}, args, { [`${paramtype}${constants_1.CUSTOM_ROUTE_AGRS_METADATA}:${index}`]: {
index,
factory,
data,
pipes,
} }));
/**
* Defines HTTP route param decorator
* @param factory
*/
function createParamDecorator(factory, enhancers = []) {
const paramtype = uuid();
return (data, ...pipes) => (target, key, index) => {
const args = Reflect.getMetadata(constants_1.ROUTE_ARGS_METADATA, target.constructor, key) || {};
const isPipe = pipe => pipe &&
((shared_utils_1.isFunction(pipe) && pipe.prototype) || shared_utils_1.isFunction(pipe.transform));
const hasParamData = shared_utils_1.isNil(data) || !isPipe(data);
const paramData = hasParamData ? data : undefined;
const paramPipes = hasParamData ? pipes : [data, ...pipes];
Reflect.defineMetadata(constants_1.ROUTE_ARGS_METADATA, assignCustomMetadata(args, paramtype, index, factory, paramData, ...paramPipes), target.constructor, key);
enhancers.forEach(fn => fn(target, key, index));
};
}
exports.createParamDecorator = createParamDecorator;
/**
* Defines HTTP route param decorator
* @deprecated
* @param factory
*/
function createRouteParamDecorator(factory) {
deprecate('The "createRouteParamDecorator" function is deprecated and will be removed within next major release. Use "createParamDecorator" instead.');
return createParamDecorator(factory);
}
exports.createRouteParamDecorator = createRouteParamDecorator;

View File

@@ -1,5 +0,0 @@
import 'reflect-metadata';
/**
* Sets a response header.
*/
export declare function Header(name: string, value: string): MethodDecorator;

View File

@@ -1,15 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
const extend_metadata_util_1 = require("../../utils/extend-metadata.util");
/**
* Sets a response header.
*/
function Header(name, value) {
return (target, key, descriptor) => {
extend_metadata_util_1.extendArrayMetadata(constants_1.HEADERS_METADATA, [{ name, value }], descriptor.value);
return descriptor;
};
}
exports.Header = Header;

View File

@@ -1,7 +0,0 @@
/**
* Defines the HTTP response status code.
* It overrides default status code for the given request method.
*
* @param {number} statusCode
*/
export declare function HttpCode(statusCode: number): MethodDecorator;

View File

@@ -1,16 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("../../constants");
/**
* Defines the HTTP response status code.
* It overrides default status code for the given request method.
*
* @param {number} statusCode
*/
function HttpCode(statusCode) {
return (target, key, descriptor) => {
Reflect.defineMetadata(constants_1.HTTP_CODE_METADATA, statusCode, descriptor.value);
return descriptor;
};
}
exports.HttpCode = HttpCode;

View File

@@ -1,6 +0,0 @@
export * from './request-mapping.decorator';
export * from './route-params.decorator';
export * from './http-code.decorator';
export * from './create-route-param-metadata.decorator';
export * from './render.decorator';
export * from './header.decorator';

View File

@@ -1,11 +0,0 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./request-mapping.decorator"));
__export(require("./route-params.decorator"));
__export(require("./http-code.decorator"));
__export(require("./create-route-param-metadata.decorator"));
__export(require("./render.decorator"));
__export(require("./header.decorator"));

View File

@@ -1,5 +0,0 @@
import 'reflect-metadata';
/**
* Redirects request.
*/
export declare function Redirect(url: string): MethodDecorator;

View File

@@ -1,14 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
/**
* Redirects request.
*/
function Redirect(url) {
return (target, key, descriptor) => {
Reflect.defineMetadata(constants_1.REDIRECT_METADATA, url, descriptor.value);
return descriptor;
};
}
exports.Redirect = Redirect;

View File

@@ -1,5 +0,0 @@
import 'reflect-metadata';
/**
* Defines a template to be rendered by the controller.
*/
export declare function Render(template: string): MethodDecorator;

View File

@@ -1,14 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
/**
* Defines a template to be rendered by the controller.
*/
function Render(template) {
return (target, key, descriptor) => {
Reflect.defineMetadata(constants_1.RENDER_METADATA, template, descriptor.value);
return descriptor;
};
}
exports.Render = Render;

View File

@@ -1,35 +0,0 @@
import 'reflect-metadata';
import { RequestMappingMetadata } from '../../interfaces/request-mapping-metadata.interface';
export declare const RequestMapping: (metadata?: RequestMappingMetadata) => MethodDecorator;
/**
* Routes HTTP POST requests to the specified path.
*/
export declare const Post: (path?: string) => MethodDecorator;
/**
* Routes HTTP GET requests to the specified path.
*/
export declare const Get: (path?: string) => MethodDecorator;
/**
* Routes HTTP DELETE requests to the specified path.
*/
export declare const Delete: (path?: string) => MethodDecorator;
/**
* Routes HTTP PUT requests to the specified path.
*/
export declare const Put: (path?: string) => MethodDecorator;
/**
* Routes HTTP PATCH requests to the specified path.
*/
export declare const Patch: (path?: string) => MethodDecorator;
/**
* Routes HTTP OPTIONS requests to the specified path.
*/
export declare const Options: (path?: string) => MethodDecorator;
/**
* Routes HTTP HEAD requests to the specified path.
*/
export declare const Head: (path?: string) => MethodDecorator;
/**
* Routes all HTTP requests to the specified path.
*/
export declare const All: (path?: string) => MethodDecorator;

View File

@@ -1,56 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const request_method_enum_1 = require("../../enums/request-method.enum");
const constants_1 = require("../../constants");
const defaultMetadata = {
[constants_1.PATH_METADATA]: '/',
[constants_1.METHOD_METADATA]: request_method_enum_1.RequestMethod.GET,
};
exports.RequestMapping = (metadata = defaultMetadata) => {
const path = metadata[constants_1.PATH_METADATA] || '/';
const requestMethod = metadata[constants_1.METHOD_METADATA] || request_method_enum_1.RequestMethod.GET;
return (target, key, descriptor) => {
Reflect.defineMetadata(constants_1.PATH_METADATA, path, descriptor.value);
Reflect.defineMetadata(constants_1.METHOD_METADATA, requestMethod, descriptor.value);
return descriptor;
};
};
const createMappingDecorator = (method) => (path) => {
return exports.RequestMapping({
[constants_1.PATH_METADATA]: path,
[constants_1.METHOD_METADATA]: method,
});
};
/**
* Routes HTTP POST requests to the specified path.
*/
exports.Post = createMappingDecorator(request_method_enum_1.RequestMethod.POST);
/**
* Routes HTTP GET requests to the specified path.
*/
exports.Get = createMappingDecorator(request_method_enum_1.RequestMethod.GET);
/**
* Routes HTTP DELETE requests to the specified path.
*/
exports.Delete = createMappingDecorator(request_method_enum_1.RequestMethod.DELETE);
/**
* Routes HTTP PUT requests to the specified path.
*/
exports.Put = createMappingDecorator(request_method_enum_1.RequestMethod.PUT);
/**
* Routes HTTP PATCH requests to the specified path.
*/
exports.Patch = createMappingDecorator(request_method_enum_1.RequestMethod.PATCH);
/**
* Routes HTTP OPTIONS requests to the specified path.
*/
exports.Options = createMappingDecorator(request_method_enum_1.RequestMethod.OPTIONS);
/**
* Routes HTTP HEAD requests to the specified path.
*/
exports.Head = createMappingDecorator(request_method_enum_1.RequestMethod.HEAD);
/**
* Routes all HTTP requests to the specified path.
*/
exports.All = createMappingDecorator(request_method_enum_1.RequestMethod.ALL);

View File

@@ -1,28 +0,0 @@
import 'reflect-metadata';
import { PipeTransform } from '../../index';
import { Type } from '../../interfaces';
export declare type ParamData = object | string | number;
export interface RouteParamsMetadata {
[prop: number]: {
index: number;
data?: ParamData;
};
}
export declare const Request: () => ParameterDecorator;
export declare const Response: () => ParameterDecorator;
export declare const Next: () => ParameterDecorator;
export declare const Session: () => ParameterDecorator;
export declare const UploadedFile: (fileKey?: string) => ParameterDecorator;
export declare const UploadedFiles: () => ParameterDecorator;
export declare const Headers: (property?: string) => ParameterDecorator;
export declare function Query(): any;
export declare function Query(...pipes: (Type<PipeTransform> | PipeTransform)[]): any;
export declare function Query(property: string, ...pipes: (Type<PipeTransform> | PipeTransform)[]): any;
export declare function Body(): any;
export declare function Body(...pipes: (Type<PipeTransform> | PipeTransform)[]): any;
export declare function Body(property: string, ...pipes: (Type<PipeTransform> | PipeTransform)[]): any;
export declare function Param(): any;
export declare function Param(...pipes: (Type<PipeTransform> | PipeTransform)[]): any;
export declare function Param(property: string, ...pipes: (Type<PipeTransform> | PipeTransform)[]): any;
export declare const Req: () => ParameterDecorator;
export declare const Res: () => ParameterDecorator;

View File

@@ -1,45 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
const route_paramtypes_enum_1 = require("../../enums/route-paramtypes.enum");
const shared_utils_1 = require("../../utils/shared.utils");
const assignMetadata = (args, paramtype, index, data, ...pipes) => (Object.assign({}, args, { [`${paramtype}:${index}`]: {
index,
data,
pipes,
} }));
const createRouteParamDecorator = (paramtype) => {
return (data) => (target, key, index) => {
const args = Reflect.getMetadata(constants_1.ROUTE_ARGS_METADATA, target.constructor, key) || {};
Reflect.defineMetadata(constants_1.ROUTE_ARGS_METADATA, assignMetadata(args, paramtype, index, data), target.constructor, key);
};
};
const createPipesRouteParamDecorator = (paramtype) => (data, ...pipes) => (target, key, index) => {
const args = Reflect.getMetadata(constants_1.ROUTE_ARGS_METADATA, target.constructor, key) || {};
const hasParamData = shared_utils_1.isNil(data) || shared_utils_1.isString(data);
const paramData = hasParamData ? data : undefined;
const paramPipes = hasParamData ? pipes : [data, ...pipes];
Reflect.defineMetadata(constants_1.ROUTE_ARGS_METADATA, assignMetadata(args, paramtype, index, paramData, ...paramPipes), target.constructor, key);
};
exports.Request = createRouteParamDecorator(route_paramtypes_enum_1.RouteParamtypes.REQUEST);
exports.Response = createRouteParamDecorator(route_paramtypes_enum_1.RouteParamtypes.RESPONSE);
exports.Next = createRouteParamDecorator(route_paramtypes_enum_1.RouteParamtypes.NEXT);
exports.Session = createRouteParamDecorator(route_paramtypes_enum_1.RouteParamtypes.SESSION);
exports.UploadedFile = createRouteParamDecorator(route_paramtypes_enum_1.RouteParamtypes.FILE);
exports.UploadedFiles = createRouteParamDecorator(route_paramtypes_enum_1.RouteParamtypes.FILES);
exports.Headers = createRouteParamDecorator(route_paramtypes_enum_1.RouteParamtypes.HEADERS);
function Query(property, ...pipes) {
return createPipesRouteParamDecorator(route_paramtypes_enum_1.RouteParamtypes.QUERY)(property, ...pipes);
}
exports.Query = Query;
function Body(property, ...pipes) {
return createPipesRouteParamDecorator(route_paramtypes_enum_1.RouteParamtypes.BODY)(property, ...pipes);
}
exports.Body = Body;
function Param(property, ...pipes) {
return createPipesRouteParamDecorator(route_paramtypes_enum_1.RouteParamtypes.PARAM)(property, ...pipes);
}
exports.Param = Param;
exports.Req = exports.Request;
exports.Res = exports.Response;

View File

@@ -1,3 +0,0 @@
export * from './core';
export * from './modules';
export * from './http';

View File

@@ -1,8 +0,0 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./core"));
__export(require("./modules"));
__export(require("./http"));

View File

@@ -1 +0,0 @@
export declare const InvalidModuleConfigMessage: (property: string) => string;

View File

@@ -1,3 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InvalidModuleConfigMessage = (property) => `Invalid property '${property}' in @Module() decorator.`;

View File

@@ -1,3 +0,0 @@
export declare class InvalidModuleConfigException extends Error {
constructor(property: string);
}

View File

@@ -1,9 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("./constants");
class InvalidModuleConfigException extends Error {
constructor(property) {
super(constants_1.InvalidModuleConfigMessage(property));
}
}
exports.InvalidModuleConfigException = InvalidModuleConfigException;

View File

@@ -1,6 +0,0 @@
import 'reflect-metadata';
/**
* Makes the module global-scoped.
* Once imported will be available for all existing modules.
*/
export declare function Global(): ClassDecorator;

View File

@@ -1,14 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
/**
* Makes the module global-scoped.
* Once imported will be available for all existing modules.
*/
function Global() {
return (target) => {
Reflect.defineMetadata(constants_1.GLOBAL_MODULE_METADATA, true, target);
};
}
exports.Global = Global;

View File

@@ -1,3 +0,0 @@
export * from './module.decorator';
export * from './single-scope.decorator';
export * from './global.decorator';

View File

@@ -1,8 +0,0 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./module.decorator"));
__export(require("./single-scope.decorator"));
__export(require("./global.decorator"));

View File

@@ -1,12 +0,0 @@
import 'reflect-metadata';
import { ModuleMetadata } from '../../interfaces/modules/module-metadata.interface';
/**
* Defines the module
* - `imports` - the set of the 'imported' modules
* - `controllers` - the list of controllers (e.g. HTTP controllers)
* - `providers` - the list of providers that belong to this module. They can be injected between themselves.
* - `exports` - the set of components, which should be available for modules, which imports this module
* - `components` - @deprecated the list of components that belong to this module. They can be injected between themselves.
* @param options {ModuleMetadata} Module metadata
*/
export declare function Module(metadata: ModuleMetadata): ClassDecorator;

View File

@@ -1,61 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const deprecate = require("deprecate");
require("reflect-metadata");
const constants_1 = require("../../constants");
const invalid_module_config_exception_1 = require("./exceptions/invalid-module-config.exception");
const metadataKeys = [
constants_1.METADATA.MODULES,
constants_1.METADATA.IMPORTS,
constants_1.METADATA.EXPORTS,
constants_1.METADATA.COMPONENTS,
constants_1.METADATA.CONTROLLERS,
constants_1.METADATA.PROVIDERS,
];
const validateKeys = (keys) => {
const isKeyInvalid = key => metadataKeys.findIndex(k => k === key) < 0;
const validateKey = key => {
if (!isKeyInvalid(key)) {
return;
}
throw new invalid_module_config_exception_1.InvalidModuleConfigException(key);
};
keys.forEach(validateKey);
};
/**
* Defines the module
* - `imports` - the set of the 'imported' modules
* - `controllers` - the list of controllers (e.g. HTTP controllers)
* - `providers` - the list of providers that belong to this module. They can be injected between themselves.
* - `exports` - the set of components, which should be available for modules, which imports this module
* - `components` - @deprecated the list of components that belong to this module. They can be injected between themselves.
* @param options {ModuleMetadata} Module metadata
*/
function Module(metadata) {
const propsKeys = Object.keys(metadata);
validateKeys(propsKeys);
showDeprecatedWarnings(metadata);
overrideModuleMetadata(metadata);
return (target) => {
for (const property in metadata) {
if (metadata.hasOwnProperty(property)) {
Reflect.defineMetadata(property, metadata[property], target);
}
}
};
}
exports.Module = Module;
function overrideModuleMetadata(moduleMetadata) {
moduleMetadata.modules = moduleMetadata.imports
? moduleMetadata.imports
: moduleMetadata.modules;
moduleMetadata.components = moduleMetadata.providers
? moduleMetadata.providers
: moduleMetadata.components;
}
function showDeprecatedWarnings(moduleMetadata) {
const MODULES_DEPRECATED_WARNING = 'The "modules" key in the @Module() decorator is deprecated and will be removed within next major release. Use the "imports" key instead.';
const COMPONENTS_DEPRECATED_WARNING = 'The "components" key in the @Module() decorator is deprecated and will be removed within next major release. Use the "providers" key instead.';
moduleMetadata.modules && deprecate(MODULES_DEPRECATED_WARNING);
moduleMetadata.components && deprecate(COMPONENTS_DEPRECATED_WARNING);
}

View File

@@ -1,7 +0,0 @@
import 'reflect-metadata';
/**
* Specifies scope of this module. When module is `@Shared()`, Nest will create only one instance of this
* module and share them between all of the modules.
* @deprecated
*/
export declare const Shared: (scope?: string) => (target: any) => any;

View File

@@ -1,25 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
const index_1 = require("../../index");
/**
* Specifies scope of this module. When module is `@Shared()`, Nest will create only one instance of this
* module and share them between all of the modules.
* @deprecated
*/
exports.Shared = (scope = 'global') => {
const logger = new index_1.Logger('Shared');
logger.warn('DEPRECATED! Since version 4.0.0 `@Shared()` decorator is deprecated. All modules are singletons now.');
return (target) => {
const Metatype = target;
const Type = class extends Metatype {
constructor(...args) {
super(...args);
}
};
Reflect.defineMetadata(constants_1.SHARED_MODULE_METADATA, scope, Type);
Object.defineProperty(Type, 'name', { value: target.name });
return Type;
};
};

View File

@@ -1,6 +0,0 @@
import 'reflect-metadata';
/**
* Makes the module single-scoped (not singleton).
* In this case, Nest will always create a new instance of this particular module when it's imported by another one.
*/
export declare function SingleScope(): ClassDecorator;

View File

@@ -1,22 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("reflect-metadata");
const constants_1 = require("../../constants");
/**
* Makes the module single-scoped (not singleton).
* In this case, Nest will always create a new instance of this particular module when it's imported by another one.
*/
function SingleScope() {
return (target) => {
const Metatype = target;
const Type = class extends Metatype {
constructor(...args) {
super(...args);
}
};
Reflect.defineMetadata(constants_1.SHARED_MODULE_METADATA, true, Type);
Object.defineProperty(Type, 'name', { value: target.name });
return Type;
};
}
exports.SingleScope = SingleScope;

View File

@@ -1,46 +0,0 @@
export declare enum HttpStatus {
CONTINUE = 100,
SWITCHING_PROTOCOLS = 101,
PROCESSING = 102,
OK = 200,
CREATED = 201,
ACCEPTED = 202,
NON_AUTHORITATIVE_INFORMATION = 203,
NO_CONTENT = 204,
RESET_CONTENT = 205,
PARTIAL_CONTENT = 206,
AMBIGUOUS = 300,
MOVED_PERMANENTLY = 301,
FOUND = 302,
SEE_OTHER = 303,
NOT_MODIFIED = 304,
TEMPORARY_REDIRECT = 307,
PERMANENT_REDIRECT = 308,
BAD_REQUEST = 400,
UNAUTHORIZED = 401,
PAYMENT_REQUIRED = 402,
FORBIDDEN = 403,
NOT_FOUND = 404,
METHOD_NOT_ALLOWED = 405,
NOT_ACCEPTABLE = 406,
PROXY_AUTHENTICATION_REQUIRED = 407,
REQUEST_TIMEOUT = 408,
CONFLICT = 409,
GONE = 410,
LENGTH_REQUIRED = 411,
PRECONDITION_FAILED = 412,
PAYLOAD_TOO_LARGE = 413,
URI_TOO_LONG = 414,
UNSUPPORTED_MEDIA_TYPE = 415,
REQUESTED_RANGE_NOT_SATISFIABLE = 416,
EXPECTATION_FAILED = 417,
I_AM_A_TEAPOT = 418,
UNPROCESSABLE_ENTITY = 422,
TOO_MANY_REQUESTS = 429,
INTERNAL_SERVER_ERROR = 500,
NOT_IMPLEMENTED = 501,
BAD_GATEWAY = 502,
SERVICE_UNAVAILABLE = 503,
GATEWAY_TIMEOUT = 504,
HTTP_VERSION_NOT_SUPPORTED = 505,
}

View File

@@ -1,49 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var HttpStatus;
(function (HttpStatus) {
HttpStatus[HttpStatus["CONTINUE"] = 100] = "CONTINUE";
HttpStatus[HttpStatus["SWITCHING_PROTOCOLS"] = 101] = "SWITCHING_PROTOCOLS";
HttpStatus[HttpStatus["PROCESSING"] = 102] = "PROCESSING";
HttpStatus[HttpStatus["OK"] = 200] = "OK";
HttpStatus[HttpStatus["CREATED"] = 201] = "CREATED";
HttpStatus[HttpStatus["ACCEPTED"] = 202] = "ACCEPTED";
HttpStatus[HttpStatus["NON_AUTHORITATIVE_INFORMATION"] = 203] = "NON_AUTHORITATIVE_INFORMATION";
HttpStatus[HttpStatus["NO_CONTENT"] = 204] = "NO_CONTENT";
HttpStatus[HttpStatus["RESET_CONTENT"] = 205] = "RESET_CONTENT";
HttpStatus[HttpStatus["PARTIAL_CONTENT"] = 206] = "PARTIAL_CONTENT";
HttpStatus[HttpStatus["AMBIGUOUS"] = 300] = "AMBIGUOUS";
HttpStatus[HttpStatus["MOVED_PERMANENTLY"] = 301] = "MOVED_PERMANENTLY";
HttpStatus[HttpStatus["FOUND"] = 302] = "FOUND";
HttpStatus[HttpStatus["SEE_OTHER"] = 303] = "SEE_OTHER";
HttpStatus[HttpStatus["NOT_MODIFIED"] = 304] = "NOT_MODIFIED";
HttpStatus[HttpStatus["TEMPORARY_REDIRECT"] = 307] = "TEMPORARY_REDIRECT";
HttpStatus[HttpStatus["PERMANENT_REDIRECT"] = 308] = "PERMANENT_REDIRECT";
HttpStatus[HttpStatus["BAD_REQUEST"] = 400] = "BAD_REQUEST";
HttpStatus[HttpStatus["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
HttpStatus[HttpStatus["PAYMENT_REQUIRED"] = 402] = "PAYMENT_REQUIRED";
HttpStatus[HttpStatus["FORBIDDEN"] = 403] = "FORBIDDEN";
HttpStatus[HttpStatus["NOT_FOUND"] = 404] = "NOT_FOUND";
HttpStatus[HttpStatus["METHOD_NOT_ALLOWED"] = 405] = "METHOD_NOT_ALLOWED";
HttpStatus[HttpStatus["NOT_ACCEPTABLE"] = 406] = "NOT_ACCEPTABLE";
HttpStatus[HttpStatus["PROXY_AUTHENTICATION_REQUIRED"] = 407] = "PROXY_AUTHENTICATION_REQUIRED";
HttpStatus[HttpStatus["REQUEST_TIMEOUT"] = 408] = "REQUEST_TIMEOUT";
HttpStatus[HttpStatus["CONFLICT"] = 409] = "CONFLICT";
HttpStatus[HttpStatus["GONE"] = 410] = "GONE";
HttpStatus[HttpStatus["LENGTH_REQUIRED"] = 411] = "LENGTH_REQUIRED";
HttpStatus[HttpStatus["PRECONDITION_FAILED"] = 412] = "PRECONDITION_FAILED";
HttpStatus[HttpStatus["PAYLOAD_TOO_LARGE"] = 413] = "PAYLOAD_TOO_LARGE";
HttpStatus[HttpStatus["URI_TOO_LONG"] = 414] = "URI_TOO_LONG";
HttpStatus[HttpStatus["UNSUPPORTED_MEDIA_TYPE"] = 415] = "UNSUPPORTED_MEDIA_TYPE";
HttpStatus[HttpStatus["REQUESTED_RANGE_NOT_SATISFIABLE"] = 416] = "REQUESTED_RANGE_NOT_SATISFIABLE";
HttpStatus[HttpStatus["EXPECTATION_FAILED"] = 417] = "EXPECTATION_FAILED";
HttpStatus[HttpStatus["I_AM_A_TEAPOT"] = 418] = "I_AM_A_TEAPOT";
HttpStatus[HttpStatus["UNPROCESSABLE_ENTITY"] = 422] = "UNPROCESSABLE_ENTITY";
HttpStatus[HttpStatus["TOO_MANY_REQUESTS"] = 429] = "TOO_MANY_REQUESTS";
HttpStatus[HttpStatus["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
HttpStatus[HttpStatus["NOT_IMPLEMENTED"] = 501] = "NOT_IMPLEMENTED";
HttpStatus[HttpStatus["BAD_GATEWAY"] = 502] = "BAD_GATEWAY";
HttpStatus[HttpStatus["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
HttpStatus[HttpStatus["GATEWAY_TIMEOUT"] = 504] = "GATEWAY_TIMEOUT";
HttpStatus[HttpStatus["HTTP_VERSION_NOT_SUPPORTED"] = 505] = "HTTP_VERSION_NOT_SUPPORTED";
})(HttpStatus = exports.HttpStatus || (exports.HttpStatus = {}));

View File

@@ -1,2 +0,0 @@
export * from './request-method.enum';
export * from './http-status.enum';

View File

@@ -1,7 +0,0 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./request-method.enum"));
__export(require("./http-status.enum"));

View File

@@ -1,4 +0,0 @@
export declare enum NestEnvironment {
RUN = 0,
TEST = 1,
}

View File

@@ -1,7 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var NestEnvironment;
(function (NestEnvironment) {
NestEnvironment[NestEnvironment["RUN"] = 0] = "RUN";
NestEnvironment[NestEnvironment["TEST"] = 1] = "TEST";
})(NestEnvironment = exports.NestEnvironment || (exports.NestEnvironment = {}));

View File

@@ -1,10 +0,0 @@
export declare enum RequestMethod {
GET = 0,
POST = 1,
PUT = 2,
DELETE = 3,
PATCH = 4,
ALL = 5,
OPTIONS = 6,
HEAD = 7,
}

View File

@@ -1,13 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var RequestMethod;
(function (RequestMethod) {
RequestMethod[RequestMethod["GET"] = 0] = "GET";
RequestMethod[RequestMethod["POST"] = 1] = "POST";
RequestMethod[RequestMethod["PUT"] = 2] = "PUT";
RequestMethod[RequestMethod["DELETE"] = 3] = "DELETE";
RequestMethod[RequestMethod["PATCH"] = 4] = "PATCH";
RequestMethod[RequestMethod["ALL"] = 5] = "ALL";
RequestMethod[RequestMethod["OPTIONS"] = 6] = "OPTIONS";
RequestMethod[RequestMethod["HEAD"] = 7] = "HEAD";
})(RequestMethod = exports.RequestMethod || (exports.RequestMethod = {}));

View File

@@ -1,12 +0,0 @@
export declare enum RouteParamtypes {
REQUEST = 0,
RESPONSE = 1,
NEXT = 2,
BODY = 3,
QUERY = 4,
PARAM = 5,
HEADERS = 6,
SESSION = 7,
FILE = 8,
FILES = 9,
}

Some files were not shown because too many files have changed in this diff Show More