Initial commit
This commit is contained in:
		
							
								
								
									
										102
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,102 @@
 | 
				
			|||||||
 | 
					dist/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					node_modules/
 | 
				
			||||||
 | 
					.node_modules/
 | 
				
			||||||
 | 
					built/*
 | 
				
			||||||
 | 
					tests/cases/rwc/*
 | 
				
			||||||
 | 
					tests/cases/test262/*
 | 
				
			||||||
 | 
					tests/cases/perf/*
 | 
				
			||||||
 | 
					!tests/cases/webharness/compilerToString.js
 | 
				
			||||||
 | 
					test-args.txt
 | 
				
			||||||
 | 
					~*.docx
 | 
				
			||||||
 | 
					\#*\#
 | 
				
			||||||
 | 
					.\#*
 | 
				
			||||||
 | 
					tests/baselines/local/*
 | 
				
			||||||
 | 
					tests/baselines/local.old/*
 | 
				
			||||||
 | 
					tests/services/baselines/local/*
 | 
				
			||||||
 | 
					tests/baselines/prototyping/local/*
 | 
				
			||||||
 | 
					tests/baselines/rwc/*
 | 
				
			||||||
 | 
					tests/baselines/test262/*
 | 
				
			||||||
 | 
					tests/baselines/reference/projectOutput/*
 | 
				
			||||||
 | 
					tests/baselines/local/projectOutput/*
 | 
				
			||||||
 | 
					tests/baselines/reference/testresults.tap
 | 
				
			||||||
 | 
					tests/services/baselines/prototyping/local/*
 | 
				
			||||||
 | 
					tests/services/browser/typescriptServices.js
 | 
				
			||||||
 | 
					src/harness/*.js
 | 
				
			||||||
 | 
					src/compiler/diagnosticInformationMap.generated.ts
 | 
				
			||||||
 | 
					src/compiler/diagnosticMessages.generated.json
 | 
				
			||||||
 | 
					src/parser/diagnosticInformationMap.generated.ts
 | 
				
			||||||
 | 
					src/parser/diagnosticMessages.generated.json
 | 
				
			||||||
 | 
					rwc-report.html
 | 
				
			||||||
 | 
					*.swp
 | 
				
			||||||
 | 
					build.json
 | 
				
			||||||
 | 
					*.actual
 | 
				
			||||||
 | 
					tests/webTestServer.js
 | 
				
			||||||
 | 
					tests/webTestServer.js.map
 | 
				
			||||||
 | 
					tests/webhost/*.d.ts
 | 
				
			||||||
 | 
					tests/webhost/webtsc.js
 | 
				
			||||||
 | 
					tests/cases/**/*.js
 | 
				
			||||||
 | 
					!tests/cases/docker/*.js/
 | 
				
			||||||
 | 
					tests/cases/**/*.js.map
 | 
				
			||||||
 | 
					*.config
 | 
				
			||||||
 | 
					scripts/eslint/built/
 | 
				
			||||||
 | 
					scripts/debug.bat
 | 
				
			||||||
 | 
					scripts/run.bat
 | 
				
			||||||
 | 
					scripts/word2md.js
 | 
				
			||||||
 | 
					scripts/buildProtocol.js
 | 
				
			||||||
 | 
					scripts/ior.js
 | 
				
			||||||
 | 
					scripts/authors.js
 | 
				
			||||||
 | 
					scripts/configurePrerelease.js
 | 
				
			||||||
 | 
					scripts/configureLanguageServiceBuild.js
 | 
				
			||||||
 | 
					scripts/open-user-pr.js
 | 
				
			||||||
 | 
					scripts/open-cherry-pick-pr.js
 | 
				
			||||||
 | 
					scripts/processDiagnosticMessages.d.ts
 | 
				
			||||||
 | 
					scripts/processDiagnosticMessages.js
 | 
				
			||||||
 | 
					scripts/produceLKG.js
 | 
				
			||||||
 | 
					scripts/importDefinitelyTypedTests/importDefinitelyTypedTests.js
 | 
				
			||||||
 | 
					scripts/generateLocalizedDiagnosticMessages.js
 | 
				
			||||||
 | 
					scripts/request-pr-review.js
 | 
				
			||||||
 | 
					scripts/*.js.map
 | 
				
			||||||
 | 
					scripts/typings/
 | 
				
			||||||
 | 
					coverage/
 | 
				
			||||||
 | 
					internal/
 | 
				
			||||||
 | 
					**/.DS_Store
 | 
				
			||||||
 | 
					.settings
 | 
				
			||||||
 | 
					**/.vs
 | 
				
			||||||
 | 
					**/.vscode/*
 | 
				
			||||||
 | 
					!**/.vscode/tasks.json
 | 
				
			||||||
 | 
					!**/.vscode/settings.template.json
 | 
				
			||||||
 | 
					!**/.vscode/launch.template.json
 | 
				
			||||||
 | 
					!**/.vscode/extensions.json
 | 
				
			||||||
 | 
					!tests/cases/projects/projectOption/**/node_modules
 | 
				
			||||||
 | 
					!tests/cases/projects/NodeModulesSearch/**/*
 | 
				
			||||||
 | 
					!tests/baselines/reference/project/nodeModules*/**/*
 | 
				
			||||||
 | 
					.idea
 | 
				
			||||||
 | 
					yarn.lock
 | 
				
			||||||
 | 
					yarn-error.log
 | 
				
			||||||
 | 
					.parallelperf.*
 | 
				
			||||||
 | 
					tests/cases/user/*/package-lock.json
 | 
				
			||||||
 | 
					tests/cases/user/*/node_modules/
 | 
				
			||||||
 | 
					tests/cases/user/*/**/*.js
 | 
				
			||||||
 | 
					tests/cases/user/*/**/*.js.map
 | 
				
			||||||
 | 
					tests/cases/user/*/**/*.d.ts
 | 
				
			||||||
 | 
					!tests/cases/user/zone.js/
 | 
				
			||||||
 | 
					!tests/cases/user/bignumber.js/
 | 
				
			||||||
 | 
					!tests/cases/user/discord.js/
 | 
				
			||||||
 | 
					tests/baselines/reference/dt
 | 
				
			||||||
 | 
					.failed-tests
 | 
				
			||||||
 | 
					TEST-results.xml
 | 
				
			||||||
 | 
					package-lock.json
 | 
				
			||||||
 | 
					tests/cases/user/npm/npm
 | 
				
			||||||
 | 
					tests/cases/user/TypeScript-React-Starter/TypeScript-React-Starter
 | 
				
			||||||
 | 
					tests/cases/user/TypeScript-Node-Starter/TypeScript-Node-Starter
 | 
				
			||||||
 | 
					tests/cases/user/TypeScript-React-Native-Starter/TypeScript-React-Native-Starter
 | 
				
			||||||
 | 
					tests/cases/user/TypeScript-Vue-Starter/TypeScript-Vue-Starter
 | 
				
			||||||
 | 
					tests/cases/user/TypeScript-WeChat-Starter/TypeScript-WeChat-Starter
 | 
				
			||||||
 | 
					tests/cases/user/create-react-app/create-react-app
 | 
				
			||||||
 | 
					tests/cases/user/fp-ts/fp-ts
 | 
				
			||||||
 | 
					tests/cases/user/webpack/webpack
 | 
				
			||||||
 | 
					tests/cases/user/puppeteer/puppeteer
 | 
				
			||||||
 | 
					tests/cases/user/axios-src/axios-src
 | 
				
			||||||
 | 
					tests/cases/user/prettier/prettier
 | 
				
			||||||
 | 
					.eslintcache
 | 
				
			||||||
							
								
								
									
										36
									
								
								.vscode/tasks.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								.vscode/tasks.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
						"version": "2.0.0",
 | 
				
			||||||
 | 
						"tasks": [
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"type": "npm",
 | 
				
			||||||
 | 
								"script": "debug",
 | 
				
			||||||
 | 
								"label": "npm debug",
 | 
				
			||||||
 | 
								"isBackground": true,
 | 
				
			||||||
 | 
								"problemMatcher": [
 | 
				
			||||||
 | 
									"$tsc-watch"
 | 
				
			||||||
 | 
								]
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"type": "typescript",
 | 
				
			||||||
 | 
								"tsconfig": "tsconfig.json",
 | 
				
			||||||
 | 
								"option": "watch",
 | 
				
			||||||
 | 
								"problemMatcher": [
 | 
				
			||||||
 | 
									"$tsc-watch"
 | 
				
			||||||
 | 
								],
 | 
				
			||||||
 | 
								"group": "build",
 | 
				
			||||||
 | 
								"label": "tsc: Watch"
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								"type": "typescript",
 | 
				
			||||||
 | 
								"tsconfig": "tsconfig.json",
 | 
				
			||||||
 | 
								"problemMatcher": [
 | 
				
			||||||
 | 
									"$tsc"
 | 
				
			||||||
 | 
								],
 | 
				
			||||||
 | 
								"group": {
 | 
				
			||||||
 | 
									"kind": "build",
 | 
				
			||||||
 | 
									"isDefault": true
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								"label": "tsc: Erstellen – tsconfig.json"
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										26
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html>
 | 
				
			||||||
 | 
					    <head>
 | 
				
			||||||
 | 
					        <title>Canvas Receiver</title>
 | 
				
			||||||
 | 
					        <script defer type="module" src="dist/app.js"></script>
 | 
				
			||||||
 | 
					    </head>
 | 
				
			||||||
 | 
					    <body>
 | 
				
			||||||
 | 
					        <div id="canvas"></div>
 | 
				
			||||||
 | 
					    </body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					        body {
 | 
				
			||||||
 | 
					            margin: 0 0 0 0;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        #canvas {
 | 
				
			||||||
 | 
					            height: 100vh;
 | 
				
			||||||
 | 
					            width: 100vw;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        #canvas > canvas {
 | 
				
			||||||
 | 
					            width: 100%;
 | 
				
			||||||
 | 
					            height: 100%;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										21
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "canvas",
 | 
				
			||||||
 | 
					  "version": "1.0.0",
 | 
				
			||||||
 | 
					  "description": "",
 | 
				
			||||||
 | 
					  "main": "index.js",
 | 
				
			||||||
 | 
					  "scripts": {
 | 
				
			||||||
 | 
					    "build": "tsc -p ./",
 | 
				
			||||||
 | 
					    "watch": "tsc -watch -p ./",
 | 
				
			||||||
 | 
					    "serve": "serve -l 8082 .",
 | 
				
			||||||
 | 
					    "debug": "npm-run-all --parallel watch serve",
 | 
				
			||||||
 | 
					    "test": "echo \"Error: no test specified\" && exit 1"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "author": "",
 | 
				
			||||||
 | 
					  "license": "ISC",
 | 
				
			||||||
 | 
					  "devDependencies": {
 | 
				
			||||||
 | 
					    "@tsconfig/recommended": "^1.0.1",
 | 
				
			||||||
 | 
					    "npm-run-all": "^4.1.5",
 | 
				
			||||||
 | 
					    "serve": "^12.0.0",
 | 
				
			||||||
 | 
					    "typescript": "^4.3.5"
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										71
									
								
								ts/app.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								ts/app.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					class CanvasReceiverController {
 | 
				
			||||||
 | 
					    private canvasDiv: HTMLDivElement;
 | 
				
			||||||
 | 
					    private canvas!: HTMLCanvasElement;
 | 
				
			||||||
 | 
					    private ctx!: CanvasRenderingContext2D | null;
 | 
				
			||||||
 | 
					    private ws: WebSocket;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    constructor() {
 | 
				
			||||||
 | 
					        this.canvasDiv = document.querySelector('#canvas') as HTMLDivElement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.createCanvas();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.ws = new WebSocket('ws://localhost:8081', 'json');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.ws.onmessage = message => this.processMessage(message);
 | 
				
			||||||
 | 
					        this.ws.onopen = () => this.ws.send("RECEIVER");
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private createCanvas() {
 | 
				
			||||||
 | 
					        this.canvas = document.createElement('canvas');
 | 
				
			||||||
 | 
					        this.canvasDiv.appendChild(this.canvas);
 | 
				
			||||||
 | 
					        this.canvas.width = this.canvas.offsetWidth;
 | 
				
			||||||
 | 
					        this.canvas.height = this.canvas.offsetHeight;
 | 
				
			||||||
 | 
					        this.ctx = this.canvas.getContext('2d');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    processMessage(message: MessageEvent<any>) {
 | 
				
			||||||
 | 
					        if (message.data === "CLEAR") {
 | 
				
			||||||
 | 
					            this.canvasDiv.removeChild(this.canvas);
 | 
				
			||||||
 | 
					            this.createCanvas();
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            this.draw(JSON.parse(message.data));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    draw(path: Coordinates[]) {
 | 
				
			||||||
 | 
					        if (!this.ctx) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const first = path.shift();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (!first) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.ctx.beginPath();
 | 
				
			||||||
 | 
					        this.ctx.moveTo(first.x, first.y);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for (const cur of path) {
 | 
				
			||||||
 | 
					            this.ctx.lineTo(cur.x, cur.y);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.ctx.lineWidth = 1;
 | 
				
			||||||
 | 
					        this.ctx.stroke();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Coordinates {
 | 
				
			||||||
 | 
					    public x: number;
 | 
				
			||||||
 | 
					    public y: number;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    constructor(x: number, y: number) {
 | 
				
			||||||
 | 
					        this.x = x;
 | 
				
			||||||
 | 
					        this.y = y;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const app = new CanvasReceiverController();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export { app };
 | 
				
			||||||
							
								
								
									
										11
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "compilerOptions": {
 | 
				
			||||||
 | 
					        "target": "ES2015",
 | 
				
			||||||
 | 
					        "module": "ES2015",
 | 
				
			||||||
 | 
					        "outDir": "dist",
 | 
				
			||||||
 | 
					        "sourceMap": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "extends": "@tsconfig/recommended/tsconfig.json",
 | 
				
			||||||
 | 
					    "include": ["ts/**/*"],
 | 
				
			||||||
 | 
					    "exclude": ["node_modules", "**/*.spec.ts"]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user