From 8d775c7a6ac47330a8b586e863b7e7a733ef5f6d Mon Sep 17 00:00:00 2001 From: "https://github.com/Michelineffb" Date: Sun, 19 Sep 2021 21:11:57 -0300 Subject: [PATCH 1/5] =?UTF-8?q?exerc=C3=ADcio=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__MACOSX/._template-backend | Bin 0 -> 220 bytes .../__MACOSX/._template-estruturas-de-dados | Bin 0 -> 312 bytes .../__MACOSX/template-backend/._.DS_Store | Bin 0 -> 120 bytes .../._package.json | Bin 0 -> 212 bytes .../template-estruturas-de-dados/._src | Bin 0 -> 212 bytes .../._tsconfig.json | Bin 0 -> 212 bytes .../template-estruturas-de-dados/src/._Array | Bin 0 -> 212 bytes .../src/._LinkedList | Bin 0 -> 212 bytes .../template-estruturas-de-dados/src/._Queue | Bin 0 -> 212 bytes .../template-estruturas-de-dados/src/._Stack | Bin 0 -> 212 bytes .../src/Array/._index.ts | Bin 0 -> 212 bytes .../src/LinkedList/._ListNode.ts | Bin 0 -> 212 bytes .../src/LinkedList/._index.ts | Bin 0 -> 212 bytes .../src/Queue/._index.ts | Bin 0 -> 212 bytes .../src/Stack/._index.ts | Bin 0 -> 212 bytes .../package-lock.json | 1012 +++++++++++++++++ .../template-estruturas-de-dados/package.json | 13 + .../src/Array/index.ts | 36 + .../src/LinkedList/ListNode.ts | 8 + .../src/LinkedList/index.ts | 39 + .../src/Queue/index.ts | 0 .../src/Stack/index.ts | 0 .../tsconfig.json | 14 + 23 files changed, 1122 insertions(+) create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/._template-backend create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/._template-estruturas-de-dados create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-backend/._.DS_Store create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/._package.json create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/._src create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/._tsconfig.json create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._Array create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._LinkedList create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._Queue create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._Stack create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/Array/._index.ts create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/LinkedList/._ListNode.ts create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/LinkedList/._index.ts create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/Queue/._index.ts create mode 100644 logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/Stack/._index.ts create mode 100644 logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/package-lock.json create mode 100644 logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/package.json create mode 100644 logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Array/index.ts create mode 100644 logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/ListNode.ts create mode 100644 logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/index.ts create mode 100644 logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Queue/index.ts create mode 100644 logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts create mode 100644 logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/tsconfig.json diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/._template-backend b/logic-exercises/d8-estrutura-de-dados/__MACOSX/._template-backend new file mode 100644 index 0000000000000000000000000000000000000000..fa2757113186818263be6a56cb99eef3b03f08e0 GIT binary patch literal 220 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@hTt&@$UdJ5x_AdBnYYuq+<#Yd!T7! vM2Pbz=jZAr78K;9>g6UT=Kv*`7#^(+*}PuNF<`asr!vW`v*BpEiR1zRcC8jO literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/._template-estruturas-de-dados b/logic-exercises/d8-estrutura-de-dados/__MACOSX/._template-estruturas-de-dados new file mode 100644 index 0000000000000000000000000000000000000000..c5c4fb062fde30d2d5a2761b9ef759437a8bf48e GIT binary patch literal 312 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFfg(KX&|4`0!R}99795aAj-fxwgA~J zXxc!ggTy@;82FR(bM+Dn3UX5QaubttAPWBgDH{d`QG{G!X<|`gUP)$NDg!gamD{PD z6J~gy+`W8(<{9 literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-backend/._.DS_Store b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-backend/._.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a5b28df1cbc6e15bd0d35cdadd0c2e65d5131c7d GIT binary patch literal 120 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R08`;00ODZ-jv*mIP;rnB Iur73U08|YJ=l}o! literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/._package.json b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/._package.json new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/._src b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/._src new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/._tsconfig.json b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/._tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._Array b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._Array new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._LinkedList b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._LinkedList new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._Queue b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._Queue new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._Stack b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/._Stack new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/Array/._index.ts b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/Array/._index.ts new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/LinkedList/._ListNode.ts b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/LinkedList/._ListNode.ts new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/LinkedList/._index.ts b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/LinkedList/._index.ts new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/Queue/._index.ts b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/Queue/._index.ts new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/Stack/._index.ts b/logic-exercises/d8-estrutura-de-dados/__MACOSX/template-estruturas-de-dados/src/Stack/._index.ts new file mode 100644 index 0000000000000000000000000000000000000000..e1c7e16475da82c803d3c4f8e1cb8f3b9aa2fa6d GIT binary patch literal 212 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@gg7w@vi_e5x_AdBnYYuq+J^qI7A5ADWagzZ6zUroSQuKH8JZZRrCFv}J7*N-=cZaanHre5 lnOV5#8k?Az=$bg18tXclm>TFBSeje9Iysx08kxB;004qLA5H)O literal 0 HcmV?d00001 diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/package-lock.json b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/package-lock.json new file mode 100644 index 0000000..2226fea --- /dev/null +++ b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/package-lock.json @@ -0,0 +1,1012 @@ +{ + "name": "template-estruturas-de-dados", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "devDependencies": { + "@types/node": "^15.3.0", + "ts-node-dev": "^1.1.6", + "typescript": "^4.2.4" + } + }, + "node_modules/@types/node": { + "version": "15.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", + "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==", + "dev": true + }, + "node_modules/@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=", + "dev": true + }, + "node_modules/@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE=", + "dev": true, + "dependencies": { + "xtend": "^4.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", + "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "dev": true, + "dependencies": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "typescript": ">=2.7" + } + }, + "node_modules/ts-node-dev": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-1.1.8.tgz", + "integrity": "sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.1", + "dynamic-dedupe": "^0.3.0", + "minimist": "^1.2.5", + "mkdirp": "^1.0.4", + "resolve": "^1.0.0", + "rimraf": "^2.6.1", + "source-map-support": "^0.5.12", + "tree-kill": "^1.2.2", + "ts-node": "^9.0.0", + "tsconfig": "^7.0.0" + }, + "bin": { + "ts-node-dev": "lib/bin.js", + "tsnd": "lib/bin.js" + }, + "engines": { + "node": ">=0.8.0" + }, + "peerDependencies": { + "node-notifier": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "dependencies": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "node_modules/typescript": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz", + "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + } + }, + "dependencies": { + "@types/node": { + "version": "15.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz", + "integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==", + "dev": true + }, + "@types/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I=", + "dev": true + }, + "@types/strip-json-comments": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz", + "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "dynamic-dedupe": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz", + "integrity": "sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE=", + "dev": true, + "requires": { + "xtend": "^4.0.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", + "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "ts-node": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "dev": true, + "requires": { + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + } + }, + "ts-node-dev": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-1.1.8.tgz", + "integrity": "sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg==", + "dev": true, + "requires": { + "chokidar": "^3.5.1", + "dynamic-dedupe": "^0.3.0", + "minimist": "^1.2.5", + "mkdirp": "^1.0.4", + "resolve": "^1.0.0", + "rimraf": "^2.6.1", + "source-map-support": "^0.5.12", + "tree-kill": "^1.2.2", + "ts-node": "^9.0.0", + "tsconfig": "^7.0.0" + } + }, + "tsconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz", + "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==", + "dev": true, + "requires": { + "@types/strip-bom": "^3.0.0", + "@types/strip-json-comments": "0.0.30", + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" + } + }, + "typescript": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz", + "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + } + } +} diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/package.json b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/package.json new file mode 100644 index 0000000..31c7104 --- /dev/null +++ b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/package.json @@ -0,0 +1,13 @@ +{ + "scripts": { + "array": "clear && tsnd --transpile-only --ignore-watch node_modules ./src/Array", + "linked-list": "clear && tsnd --transpile-only --ignore-watch node_modules ./src/LinkedList", + "stack": "clear && tsnd --transpile-only --ignore-watch node_modules ./src/Stack", + "queue": "clear && tsnd --transpile-only --ignore-watch node_modules ./src/Queue" + }, + "devDependencies": { + "@types/node": "^15.3.0", + "ts-node-dev": "^1.1.6", + "typescript": "^4.2.4" + } +} diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Array/index.ts b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Array/index.ts new file mode 100644 index 0000000..5ee387c --- /dev/null +++ b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Array/index.ts @@ -0,0 +1,36 @@ +const labenuGroups: string[] = [ + "Newton", + "Bouman", + "Sagan", + "Hamilton", + "Julian", + "Melo", + "Turing", + "Jackson", + "Tang", + "Dumont" +] + +const customSplice = ( + array: any[], + index: number, + deleteCount: number = 1 +): any => { + const elem: any[] = [] + for(let i = 0; i < deleteCount; i++){ + elem.push(array[index+i]) + } + + for(let i = index; i < array.length; i++){ + array[i] = array[i+deleteCount] + } + + array.length -= deleteCount; + + return elem + +} + +const removendoItem = customSplice(labenuGroups, 2, 1) + +console.log({labenuGroups, removendoItem}); \ No newline at end of file diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/ListNode.ts b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/ListNode.ts new file mode 100644 index 0000000..3874df0 --- /dev/null +++ b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/ListNode.ts @@ -0,0 +1,8 @@ +export class ListNode{ + constructor( + public value: any, + public next: ListNode | null = null + ){} +} + +export const node = new ListNode("1", new ListNode("2")) \ No newline at end of file diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/index.ts b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/index.ts new file mode 100644 index 0000000..4b7b114 --- /dev/null +++ b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/index.ts @@ -0,0 +1,39 @@ +//Faça a implementação de uma Lista Ligada em Typescript. Implemente o método que adiciona um elemento ao final da lista e um método que imprima todos elementos presentes nela. + +import { ListNode, node } from "./ListNode"; + + +export class List{ + constructor( + public start: ListNode | null = null + ){} + + public addItem = (value: any): void | undefined => { //quando declaro como void obrigatóriamente quer dizer que minha função não terá um return, mas, caso a execução entre no if, precisamos que a execução se encerre, ou seja, não queremos que o código abaixo seja executado, por isso colocamos um return, pois ele encerra. Como não estmaos passando nenhum valor no return ele retorna undefined, por isso tipamos a função como undefined também, logo ela é void ou undefined. + + if(!this.start){ + this.start = new ListNode(value); + return //se não encerrar aqui o primeiro elemento será duplicado na execução. + } + + let currentItem = this.start + + while(currentItem.next){ + currentItem = currentItem.next + } + + currentItem.next = new ListNode(value) + + } +} + + +const list = new List() + +list.addItem("one") +list.addItem("two") +list.addItem("three") +list.addItem("four") + +// console.log(list) + +console.log(JSON.stringify(list, null, 2)) \ No newline at end of file diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Queue/index.ts b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Queue/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/tsconfig.json b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/tsconfig.json new file mode 100644 index 0000000..f9701d4 --- /dev/null +++ b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "sourceMap": true, + "outDir": "./build", + "rootDir": "./src", + "removeComments": true, + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true + } +} \ No newline at end of file From 214a5cfe8166939dea18e01d9ecb14e5ae289d7d Mon Sep 17 00:00:00 2001 From: "https://github.com/Michelineffb" Date: Sun, 19 Sep 2021 23:48:34 -0300 Subject: [PATCH 2/5] =?UTF-8?q?exerc=C3=ADcio=201=20-=20print=20elementos?= =?UTF-8?q?=20da=20lista?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/LinkedList/index.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/index.ts b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/index.ts index 4b7b114..5ada69a 100644 --- a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/index.ts +++ b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/LinkedList/index.ts @@ -24,6 +24,18 @@ export class List{ currentItem.next = new ListNode(value) } + + public print() { + let node: ListNode | null = this.start; + let i = 1; + while (node) { + console.log(`Elemento ${i}: `, node.value) + node = node.next; + i++ + } + return node + } + } @@ -36,4 +48,8 @@ list.addItem("four") // console.log(list) -console.log(JSON.stringify(list, null, 2)) \ No newline at end of file +// console.log(JSON.stringify(list, null, 2)) + +console.log(list.print()); + + From 54cfb7165f1cc51898caeb5baa2e8ac024deb960 Mon Sep 17 00:00:00 2001 From: "https://github.com/Michelineffb" Date: Mon, 20 Sep 2021 01:19:33 -0300 Subject: [PATCH 3/5] =?UTF-8?q?exerc=C3=ADcio=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Stack/index.ts | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts index e69de29..f82d852 100644 --- a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts +++ b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts @@ -0,0 +1,61 @@ +import { List } from '../LinkedList'; +import { ListNode } from './../LinkedList/ListNode'; +//Faça a implementação de uma Pilha em Typescript e utilizando uma Lista Ligada como estrutura de base (em aula, usamos um Array). Implemente os métodos: +///`isEmpty`: que indica se ela está vazia + +//`push`: que adiciona um elemento à pilha + +//`pop`: que retira um elemento da pilha + +//`print`: que imprima todos os elementos da pilha + + +export class Stack{ + constructor( + public frames: List = new List() + ) {} + + public isEmpty = () => this.frames.start===null + + public push = ( + value: any + ): void => { + this.frames.addItem(value) + } + + public pop = () => { + if(!this.isEmpty())return null + + let previousNode: ListNode | null = null + let currentItem: ListNode | null = this.frames.start + + while(currentItem!.next){ + previousNode = currentItem + currentItem = currentItem!.next + } + + previousNode!.next = null + + return currentItem + } + + public print(){ + let node: ListNode | null = this.frames.start; + let i = 1; + while (node) { + console.log(`Elemento ${i}: `, node.value) + node = node.next; + i++ + } + return node + } +} + +const stack = new Stack() +stack.isEmpty() +stack.push("five") +stack.push("six") +console.log(stack); + +console.log(stack.isEmpty()); + From ed482ec98a03b0f953dd5a6cd1dc80a6734d35f2 Mon Sep 17 00:00:00 2001 From: "https://github.com/Michelineffb" Date: Mon, 20 Sep 2021 17:40:08 -0300 Subject: [PATCH 4/5] corrigindo envio de arquivos --- .../template-estruturas-de-dados/src/Stack/index.ts | 9 --------- 1 file changed, 9 deletions(-) diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts index f82d852..36d0c2c 100644 --- a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts +++ b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts @@ -50,12 +50,3 @@ export class Stack{ return node } } - -const stack = new Stack() -stack.isEmpty() -stack.push("five") -stack.push("six") -console.log(stack); - -console.log(stack.isEmpty()); - From d212e56df290ffc6e4dce7c97aa6f5247119183d Mon Sep 17 00:00:00 2001 From: "https://github.com/Michelineffb" Date: Mon, 20 Sep 2021 17:40:32 -0300 Subject: [PATCH 5/5] corrigindo envio de arquivos --- .../template-estruturas-de-dados/src/Stack/index.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts index 36d0c2c..f82d852 100644 --- a/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts +++ b/logic-exercises/d8-estrutura-de-dados/template-estruturas-de-dados/src/Stack/index.ts @@ -50,3 +50,12 @@ export class Stack{ return node } } + +const stack = new Stack() +stack.isEmpty() +stack.push("five") +stack.push("six") +console.log(stack); + +console.log(stack.isEmpty()); +