diff --git a/.gitignore b/.gitignore
index 7ffab8c..587a2c8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/node_modules
/.pnp
.pnp.js
+/page/dist/
diff --git a/package.json b/package.json
index 0d06c1c..69014b4 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "web-calculator",
"version": "1.0.0",
"description": "A small Test Projekt. The goal is to make it more complex step for step.",
- "main": "myscripts.js",
+ "main": "page/dist/script.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
diff --git a/page/dist/script.js b/page/dist/script.js
deleted file mode 100644
index 9c3a5c0..0000000
--- a/page/dist/script.js
+++ /dev/null
@@ -1,275 +0,0 @@
-"use strict";
-class addition {
- constructor() {
- this.symbol = "+";
- }
- exe(a, b) {
- return a + b;
- }
-}
-class subtraction {
- constructor() {
- this.symbol = "-";
- }
- exe(a, b) {
- return a - b;
- }
-}
-class multiplication {
- constructor() {
- this.symbol = "X";
- }
- exe(a, b) {
- return a * b;
- }
-}
-class division {
- constructor() {
- this.symbol = "/";
- }
- exe(a, b) {
- return a / b;
- }
-}
-class modulo {
- constructor() {
- this.symbol = "%";
- }
- exe(a, b) {
- return a % b;
- }
-}
-class wolfram {
- constructor() {
- this.symbol = "";
- }
- exe(a) {
- return 1 / a;
- }
-}
-class root2 {
- constructor() {
- this.symbol = "";
- }
- exe(a) {
- // return a / a;
- return Math.pow(a, 0.5);
- }
-}
-class power2 {
- constructor() {
- this.symbol = "";
- }
- exe(a) {
- return a * a;
- }
-}
-class flipNumber {
- constructor() {
- this.symbol = "";
- }
- exe(a) {
- return a * -1;
- }
-}
-class Calc {
- constructor(result = 0, lastResult = 0, opElement = document.getElementById('output'), symbolElement = document.getElementById('operation'), op = null, lastNumEl = document.getElementById('lastNumber'), currNumEl = document.getElementById('currentNumber'), decimalState = 0) {
- this.result = result;
- this.lastResult = lastResult;
- this.opElement = opElement;
- this.symbolElement = symbolElement;
- this.op = op;
- this.lastNumEl = lastNumEl;
- this.currNumEl = currNumEl;
- this.decimalState = decimalState;
- }
- operate(op) {
- if (this.decimalState !== 0) {
- this.decimalState = 0;
- }
- console.log("type " + typeof op);
- return new op;
- }
- updateOutput(clearSym) {
- console.log("test");
- this.opElement.textContent = String(this.result);
- console.log("test");
- if (this.op && this.op.symbol) {
- if (!clearSym)
- this.symbolElement.textContent = this.op.symbol;
- else
- this.symbolElement.textContent = "";
- }
- else
- this.symbolElement.textContent = "";
- this.debug();
- }
- debug() {
- this.lastNumEl.textContent = String(this.lastResult);
- this.currNumEl.textContent = String(this.result);
- }
- clear() {
- this.result = 0;
- this.lastResult = 0;
- this.decimalState = 0;
- this.opElement.textContent = "Empty...";
- this.symbolElement.textContent = "";
- }
- setZero() {
- this.result = 0;
- this.updateOutput(false);
- this.decimalState = 0;
- }
- setResult(numb) {
- if (this.decimalState > 0) {
- if (this.decimalState >= 10)
- return;
- this.result = this.result + (numb / power(10, this.decimalState));
- this.decimalState += 1;
- console.log("this.decimalState " + this.decimalState);
- this.updateOutput(false);
- }
- else {
- this.result = this.result * 10 + numb;
- this.updateOutput(false);
- }
- }
- setLastResult() {
- this.lastResult = this.result;
- this.result = 0;
- }
- add() {
- this.setLastResult();
- this.op = this.operate(addition);
- this.updateOutput(false);
- }
- sub() {
- this.setLastResult();
- this.op = this.operate(subtraction);
- this.updateOutput(false);
- }
- multi() {
- this.setLastResult();
- this.op = this.operate(multiplication);
- this.updateOutput(false);
- }
- div() {
- this.setLastResult();
- this.op = this.operate(division);
- this.updateOutput(false);
- }
- modulo() {
- this.setLastResult();
- this.op = this.operate(modulo);
- this.updateOutput(false);
- }
- equal() {
- if (this.op) {
- this.decimalState = 0;
- console.log("lastResult: " + this.lastResult);
- console.log("result: " + this.result);
- let temp = this.result;
- this.result = this.op.exe(this.lastResult, this.result);
- this.lastResult = temp;
- }
- this.updateOutput(true);
- }
- backspace() {
- if (this.result < 10) {
- this.result = 0;
- }
- else {
- this.result = Math.floor(this.result / 10);
- }
- this.updateOutput(true);
- }
- root2() {
- this.op = this.operate(root2);
- this.result = this.op.exe(this.result, 0);
- this.updateOutput(true);
- }
- power2() {
- this.op = this.operate(power2);
- this.result = this.op.exe(this.result, 0);
- this.updateOutput(true);
- }
- wolfram() {
- this.op = this.operate(wolfram);
- this.result = this.op.exe(this.result, 0);
- this.updateOutput(true);
- }
- flipNumber() {
- this.op = this.operate(flipNumber);
- this.result = this.op.exe(this.result, 0);
- this.updateOutput(true);
- }
- decimal() {
- if (this.decimalState <= 0) {
- this.decimalState = 1;
- this.opElement.textContent = String(this.result) + ".";
- }
- }
-}
-class Btn {
- static number(numb) {
- this.calc.setResult(numb);
- }
- static add() {
- this.calc.add();
- }
- static substract() {
- this.calc.sub();
- }
- static multiply() {
- this.calc.multi();
- }
- static divide() {
- this.calc.div();
- }
- static backspace() {
- this.calc.backspace();
- }
- static modulo() {
- this.calc.modulo();
- }
- static power2() {
- this.calc.power2();
- }
- static root2() {
- this.calc.root2();
- }
- // + / - ig
- static flipNumber() {
- this.calc.flipNumber();
- }
- static equal() {
- this.calc.equal();
- }
- static ce() {
- this.calc.clear();
- }
- static c() {
- this.calc.setZero();
- }
- static wolfram() {
- this.calc.wolfram();
- }
- static decimal() {
- this.calc.decimal();
- }
-}
-Btn.calc = new Calc;
-document.addEventListener('DOMContentLoaded', () => {
- document.querySelectorAll('#numpad .btn')
- .forEach(btn => btn.addEventListener('click', () => console.log(btn.textContent)));
-});
-function power(val, pow) {
- if (pow === 0)
- return 1;
- let sol = val;
- for (let i = 0; i < pow - 1; i++) {
- sol *= val;
- }
- console.log({ sol });
- return sol;
-}
diff --git a/page/index.html b/page/index.html
index fb1a9ac..682eb62 100644
--- a/page/index.html
+++ b/page/index.html
@@ -16,36 +16,36 @@
-
-
1/x
-
7
-
4
-
1
-
+/-
+
+
1/x
+
7
+
4
+
1
+
+/-
-
CE
-
x²
-
8
-
5
-
2
-
0
+
CE
+
x²
+
8
+
5
+
2
+
0
-
C
-

2
-
9
-
6
-
3
-
,
+
C
+

2
+
9
+
6
+
3
+
,
diff --git a/page/stylesheet.css b/page/stylesheet.css
index 2234115..04e3320 100644
--- a/page/stylesheet.css
+++ b/page/stylesheet.css
@@ -1,12 +1,13 @@
body{
justify-content: center;
display: flex;
- border-radius: 14px;
}
-#calculator
-{
+#calculator {
background-color: grey;
+ border: 5px black solid;
+ border-radius: inherit;
+ margin: 10px;
}
#numpad
@@ -15,14 +16,15 @@ body{
-webkit-user-select: none; /* Safari */
-ms-user-select: none; /* IE 10 and IE 11 */
user-select: none; /* Standard syntax */
-}
-
-#calculator
-{
- border: 5px black solid;
+ border: inherit;
border-radius: inherit;
margin: 10px;
+ padding: 8px;
+
+ display: flex;
+ justify-content: center;
}
+
#screen {
border: inherit;
background-color: lightgray;
@@ -57,22 +59,6 @@ body{
}
-#numpad
-{
- border: inherit;
- border-radius: inherit;
- margin: 10px;
- padding: 8px;
-
- display: flex;
- justify-content: center;
-}
-
-/* .column
-{
-
-} */
-
.btn
{
text-align: center;
@@ -100,7 +86,7 @@ body{
}
-.stong-text {
+.strong-text {
font-weight: bolder;
font-size: x-large;
}
diff --git a/src/script.ts b/src/script.ts
index e0cc842..6a29ef5 100644
--- a/src/script.ts
+++ b/src/script.ts
@@ -1,79 +1,63 @@
-interface operation {
- exe(a:number, b:number): number;
+interface Operation {
+ exe(a: number, b?: number): number;
symbol: string | null;
}
-class addition implements operation {
- constructor() {
- }
+class addition implements Operation {
symbol: string = "+";
exe(a: number, b: number) {
return a + b;
}
}
-class subtraction implements operation {
- constructor() {
- }
+class subtraction implements Operation {
symbol = "-";
exe(a: number, b: number) {
return a - b;
}
}
-class multiplication implements operation {
- constructor() {
- }
+class multiplication implements Operation {
symbol = "X";
exe(a: number, b: number) {
return a * b;
}
}
-class division implements operation {
- constructor() {
- }
+class division implements Operation {
symbol = "/";
- exe(a: number, b: number) {
+ exe(a: number, b: number): number {
+ if (b === 0) throw new Error("Division by zero");
return a / b;
}
}
-class modulo implements operation {
- constructor() {
- }
+class modulo implements Operation {
symbol = "%";
- exe(a: number, b: number) {
+ exe(a: number, b: number): number {
+ if (b === 0) throw new Error("Modulo by zero");
return a % b;
}
}
-class wolfram implements operation {
- constructor() {
- }
+class wolfram implements Operation {
symbol = "";
- exe(a: number) {
+ exe(a: number): number {
+ if (a === 0) throw new Error("Division by zero");
return 1 / a;
}
}
-class root2 implements operation {
- constructor() {
- }
+class root2 implements Operation {
symbol = "";
- exe(a: number) {
- // return a / a;
+ exe(a: number): number {
return Math.pow(a, 0.5);
}
}
-class power2 implements operation {
- constructor() {
- }
+class power2 implements Operation {
symbol = "";
- exe(a: number) {
+ exe(a: number): number {
return a * a;
}
}
-class flipNumber implements operation {
- constructor() {
- }
+class flipNumber implements Operation {
symbol = "";
- exe(a: number) {
+ exe(a: number): number {
return a * -1;
}
}
@@ -84,23 +68,20 @@ class Calc {
private lastResult: number = 0,
private opElement: HTMLElement = document.getElementById('output')!,
private symbolElement: HTMLElement = document.getElementById('operation')!,
- private op: operation | null = null,
+ private op: Operation | null = null,
private lastNumEl: HTMLElement = document.getElementById('lastNumber')!,
private currNumEl: HTMLElement = document.getElementById('currentNumber')!,
private decimalState: number = 0
) {}
- private operate(op: any): operation {
+ private operate(op: new () => Operation): Operation {
if(this.decimalState !== 0) {
this.decimalState = 0;
}
- console.log("type " + typeof op)
return new op;
}
public updateOutput(clearSym: boolean): void {
- console.log("test")
- this.opElement.textContent = String(this.result)
- console.log("test")
+ this.opElement.textContent = String(this.result);
if(this.op && this.op.symbol) {
if(!clearSym)
this.symbolElement.textContent = this.op.symbol;
@@ -121,11 +102,13 @@ class Calc {
this.result = 0;
this.lastResult = 0;
this.decimalState = 0;
- this.opElement.textContent = "Empty..."
+ this.op = null;
+ this.opElement.textContent = "Empty...";
this.symbolElement.textContent = "";
}
public setZero(): void {
this.result = 0;
+ this.lastResult = 0;
this.updateOutput(false);
this.decimalState = 0;
}
@@ -133,10 +116,9 @@ class Calc {
public setResult(numb: number): void {
if(this.decimalState > 0) {
if(this.decimalState >= 10)
- return
- this.result = this.result + (numb / power(10, this.decimalState));
+ return;
+ this.result = this.result + (numb / (10 ** this.decimalState));
this.decimalState += 1;
- console.log("this.decimalState " + this.decimalState)
this.updateOutput(false);
} else {
this.result = this.result * 10 + numb;
@@ -149,35 +131,33 @@ class Calc {
}
public add(): void {
this.setLastResult();
- this.op = this.operate(addition)
+ this.op = this.operate(addition);
this.updateOutput(false);
}
public sub(): void {
this.setLastResult();
- this.op = this.operate(subtraction)
+ this.op = this.operate(subtraction);
this.updateOutput(false);
}
public multi(): void {
this.setLastResult();
- this.op = this.operate(multiplication)
+ this.op = this.operate(multiplication);
this.updateOutput(false);
}
public div(): void {
this.setLastResult();
- this.op = this.operate(division)
+ this.op = this.operate(division);
this.updateOutput(false);
}
public modulo(): void {
this.setLastResult();
- this.op = this.operate(modulo)
+ this.op = this.operate(modulo);
this.updateOutput(false);
}
public equal(): void {
if(this.op) {
this.decimalState = 0;
- console.log("lastResult: " + this.lastResult);
- console.log("result: " + this.result);
let temp: number = this.result;
this.result = this.op.exe(this.lastResult, this.result);
this.lastResult = temp;
@@ -188,37 +168,33 @@ class Calc {
if(this.result < 10) {
this.result = 0;
} else {
- this.result = Math.floor(this.result / 10);
+ this.result = Math.trunc(this.result / 10);
}
- this.updateOutput(true)
+ this.updateOutput(true);
}
public root2(): void {
- this.op = this.operate(root2)
- this.result = this.op.exe(this.result, 0)
- this.updateOutput(true)
+ this.result = new root2().exe(this.result);
+ this.updateOutput(true);
}
public power2(): void {
- this.op = this.operate(power2)
- this.result = this.op.exe(this.result, 0)
- this.updateOutput(true)
+ this.result = new power2().exe(this.result);
+ this.updateOutput(true);
}
public wolfram(): void {
- this.op = this.operate(wolfram)
- this.result = this.op.exe(this.result, 0)
- this.updateOutput(true)
+ this.result = new wolfram().exe(this.result);
+ this.updateOutput(true);
}
public flipNumber(): void {
- this.op = this.operate(flipNumber)
- this.result = this.op.exe(this.result, 0)
- this.updateOutput(true)
+ this.result = new flipNumber().exe(this.result);
+ this.updateOutput(true);
}
public decimal(): void {
- if(this.decimalState <= 0) {
+ if(this.decimalState === 0) {
this.decimalState = 1;
- this.opElement.textContent = String(this.result) + "."
+ this.opElement.textContent = String(this.result) + ".";
}
}
}
@@ -250,7 +226,7 @@ class Btn {
}
public static backspace(): void {
- this.calc.backspace()
+ this.calc.backspace();
}
public static modulo(): void {
@@ -290,24 +266,3 @@ class Btn {
this.calc.decimal();
}
}
-
-document.addEventListener('DOMContentLoaded', () => {
- document.querySelectorAll('#numpad .btn')
- .forEach(btn =>
- btn.addEventListener('click', () =>
- console.log(btn.textContent)
- )
- );
-});
-
-
-function power(val: number, pow: number): number {
- if (pow === 0)
- return 1;
- let sol = val;
- for (let i = 0; i < pow - 1; i++) {
- sol *= val;
- }
- console.log({sol})
- return sol;
-}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
index d70a3f5..95451fb 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,113 +1,12 @@
{
"compilerOptions": {
- /* Visit https://aka.ms/tsconfig to read more about this file */
-
- /* Projects */
- // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
- // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
- // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
- // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
- // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
- // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
-
- /* Language and Environment */
- "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
- // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
- // "jsx": "preserve", /* Specify what JSX code is generated. */
- // "libReplacement": true, /* Enable lib replacement. */
- // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
- // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
- // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
- // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
- // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
- // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
- // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
- // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
- // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
-
- /* Modules */
- "module": "commonjs", /* Specify what module code is generated. */
- "rootDir": "./src", /* Specify the root folder within your source files. */
- // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
- // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
- // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
- // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
- // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
- // "types": [], /* Specify type package names to be included without being referenced in a source file. */
- // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
- // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
- // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */
- // "rewriteRelativeImportExtensions": true, /* Rewrite '.ts', '.tsx', '.mts', and '.cts' file extensions in relative import paths to their JavaScript equivalent in output files. */
- // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */
- // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */
- // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */
- // "noUncheckedSideEffectImports": true, /* Check side effect imports. */
- // "resolveJsonModule": true, /* Enable importing .json files. */
- // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */
- // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */
-
- /* JavaScript Support */
- // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
- // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
- // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
-
- /* Emit */
- // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
- // "declarationMap": true, /* Create sourcemaps for d.ts files. */
- // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
- // "sourceMap": true, /* Create source map files for emitted JavaScript files. */
- // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
- // "noEmit": true, /* Disable emitting files from a compilation. */
- // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
- "outDir": "page/dist", /* Specify an output folder for all emitted files. */
- // "removeComments": true, /* Disable emitting comments. */
- // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
- // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
- // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
- // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
- // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
- // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
- // "newLine": "crlf", /* Set the newline character for emitting files. */
- // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
- // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
- // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
- // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
- // "declarationDir": "./", /* Specify the output directory for generated declaration files. */
-
- /* Interop Constraints */
- // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
- // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
- // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */
- // "erasableSyntaxOnly": true, /* Do not allow runtime constructs that are not part of ECMAScript. */
- // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
- "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
- // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
- "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
-
- /* Type Checking */
- "strict": true, /* Enable all strict type-checking options. */
- // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
- // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */
- // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
- // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
- // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
- // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */
- // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
- // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
- // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
- // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
- // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
- // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
- // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
- // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
- // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
- // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
- // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
- // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
- // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
-
- /* Completeness */
- // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
- "skipLibCheck": true /* Skip type checking all .d.ts files. */
+ "target": "es2016",
+ "module": "commonjs",
+ "rootDir": "./src",
+ "outDir": "page/dist",
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "skipLibCheck": true
}
}