trackler 2.2.1.137 → 2.2.1.138

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/diffie-hellman/canonical-data.json +72 -0
  4. data/problem-specifications/exercises/yacht/description.md +2 -2
  5. data/tracks/csharp/exercises/sgf-parsing/Example.cs +1 -1
  6. data/tracks/csharp/exercises/sgf-parsing/SgfParsingTest.cs +1 -1
  7. data/tracks/csharp/exercises/sublist/SublistTest.cs +37 -78
  8. data/tracks/csharp/generators/Exercises/Sublist.cs +32 -0
  9. data/tracks/elisp/exercises/bob/README.md +2 -0
  10. data/tracks/elisp/exercises/bob/bob-test.el +60 -15
  11. data/tracks/elisp/exercises/bob/example.el +15 -5
  12. data/tracks/elisp/exercises/hamming/hamming-test.el +1 -1
  13. data/tracks/fsharp/build.ps1 +3 -3
  14. data/tracks/fsharp/build.sh +3 -3
  15. data/tracks/fsharp/exercises/bracket-push/BracketPushTest.fs +5 -1
  16. data/tracks/fsharp/exercises/isbn-verifier/IsbnVerifierTest.fs +5 -1
  17. data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGardenTest.fs +1 -1
  18. data/tracks/fsharp/exercises/pov/PovTest.fs +6 -1
  19. data/tracks/fsharp/exercises/react/Example.fs +2 -2
  20. data/tracks/fsharp/exercises/react/React.fsproj +1 -0
  21. data/tracks/fsharp/exercises/react/ReactTest.fs +55 -33
  22. data/tracks/fsharp/exercises/series/Example.fs +2 -12
  23. data/tracks/fsharp/exercises/series/SeriesTest.fs +33 -56
  24. data/tracks/fsharp/generators/Generators.fs +81 -46
  25. data/tracks/idris/exercises/rna-transcription/src/{example.idr → Example.idr} +0 -0
  26. data/tracks/java/config.json +14 -0
  27. data/tracks/java/exercises/acronym/src/test/java/AcronymTest.java +10 -10
  28. data/tracks/java/exercises/all-your-base/src/test/java/BaseConverterTest.java +39 -39
  29. data/tracks/java/exercises/grep/.meta/hints.md +58 -0
  30. data/tracks/java/exercises/grep/.meta/src/reference/java/GrepTool.java +65 -0
  31. data/tracks/java/exercises/grep/.meta/version +1 -0
  32. data/tracks/java/exercises/grep/README.md +145 -0
  33. data/tracks/java/exercises/grep/build.gradle +18 -0
  34. data/tracks/java/exercises/grep/src/main/java/.keep +0 -0
  35. data/tracks/java/exercises/grep/src/test/java/GrepToolTest.java +395 -0
  36. data/tracks/java/exercises/largest-series-product/src/test/java/LargestSeriesProductCalculatorTest.java +36 -36
  37. data/tracks/java/exercises/minesweeper/src/test/java/MinesweeperBoardTest.java +36 -36
  38. data/tracks/java/exercises/phone-number/src/test/java/PhoneNumberTest.java +14 -14
  39. data/tracks/java/exercises/poker/src/test/java/PokerTest.java +40 -40
  40. data/tracks/java/exercises/pythagorean-triplet/src/test/java/PythagoreanTripletTest.java +10 -10
  41. data/tracks/java/exercises/settings.gradle +1 -0
  42. data/tracks/ocaml/exercises/anagram/example.ml +1 -1
  43. data/tracks/ocaml/exercises/change/example.ml +1 -1
  44. data/tracks/ocaml/exercises/custom-set/example.ml +4 -3
  45. data/tracks/ocaml/exercises/custom-set/test.ml +0 -1
  46. data/tracks/ocaml/exercises/dominoes/test.ml +1 -1
  47. data/tracks/ocaml/exercises/etl/example.ml +1 -1
  48. data/tracks/ocaml/exercises/grade-school/example.ml +1 -1
  49. data/tracks/ocaml/exercises/palindrome-products/example.ml +2 -2
  50. data/tracks/ocaml/exercises/prime-factors/example.ml +1 -1
  51. data/tracks/ocaml/exercises/robot-name/test.ml +1 -1
  52. data/tracks/ocaml/exercises/triangle/example.ml +1 -1
  53. data/tracks/ocaml/make-exercise.sh +1 -0
  54. data/tracks/ocaml/tools/test-generator/src/controller.ml +1 -1
  55. data/tracks/perl5/exercises/raindrops/.meta/solutions/Raindrops.pm +13 -12
  56. data/tracks/perl5/exercises/raindrops/raindrops.t +166 -111
  57. data/tracks/perl6/docs/INSTALLATION.md +1 -3
  58. data/tracks/perl6/exercises/raindrops/.meta/exercise-data.yaml +5 -5
  59. data/tracks/perl6/exercises/raindrops/.meta/solutions/Raindrops.pm6 +2 -2
  60. data/tracks/perl6/exercises/raindrops/Raindrops.pm6 +2 -2
  61. data/tracks/perl6/exercises/raindrops/raindrops.t +3 -3
  62. data/tracks/python/exercises/food-chain/example.py +11 -2
  63. data/tracks/python/exercises/food-chain/food_chain_test.py +48 -45
  64. data/tracks/python/exercises/pov/pov_test.py +12 -1
  65. data/tracks/python/exercises/series/README.md +6 -6
  66. data/tracks/python/exercises/series/example.py +2 -3
  67. data/tracks/python/exercises/series/series_test.py +27 -28
  68. data/tracks/python/exercises/sgf-parsing/example.py +1 -1
  69. data/tracks/python/exercises/sgf-parsing/sgf_parsing_test.py +1 -1
  70. data/tracks/python/exercises/yacht/README.md +2 -2
  71. data/tracks/ruby/Gemfile +0 -1
  72. data/tracks/ruby/README.md +23 -0
  73. data/tracks/ruby/bin/generate +1 -0
  74. data/tracks/ruby/exercises/complex-numbers/complex_numbers_test.rb +1 -1
  75. data/tracks/ruby/lib/generator.rb +1 -2
  76. data/tracks/ruby/lib/generator/command_line.rb +3 -0
  77. data/tracks/ruby/lib/generator/command_line/generator_optparser.rb +1 -0
  78. data/tracks/ruby/lib/generator/exercise.rb +2 -0
  79. data/tracks/ruby/lib/generator/exercise_case.rb +3 -0
  80. data/tracks/ruby/lib/generator/files.rb +1 -0
  81. data/tracks/ruby/lib/generator/files/metadata_files.rb +2 -0
  82. data/tracks/ruby/lib/generator/files/track_files.rb +1 -0
  83. data/tracks/ruby/lib/generator/implementation.rb +1 -0
  84. data/tracks/ruby/lib/generator/repository.rb +3 -0
  85. data/tracks/ruby/lib/generator/template_values.rb +1 -0
  86. data/tracks/ruby/test/generator/case_values_test.rb +2 -0
  87. data/tracks/ruby/test/generator/command_line_test.rb +1 -0
  88. data/tracks/ruby/test/generator/files/metadata_files_test.rb +2 -0
  89. data/tracks/ruby/test/generator/files/track_files_test.rb +1 -0
  90. data/tracks/ruby/test/generator/implementation_test.rb +1 -0
  91. data/tracks/ruby/test/tasks/exercise_test.rb +1 -0
  92. data/tracks/ruby/test/tasks/exercise_test_tasks_test.rb +2 -0
  93. data/tracks/ruby/test/test_helper.rb +1 -3
  94. data/tracks/rust/config.json +12 -0
  95. data/tracks/rust/exercises/atbash-cipher/src/lib.rs +9 -0
  96. data/tracks/rust/exercises/hamming/src/lib.rs +6 -0
  97. data/tracks/rust/exercises/isogram/src/lib.rs +3 -0
  98. data/tracks/rust/exercises/luhn/src/lib.rs +4 -0
  99. data/tracks/rust/exercises/palindrome-products/.meta/test-in-release-mode +1 -0
  100. data/tracks/rust/exercises/palindrome-products/Cargo.toml +6 -0
  101. data/tracks/rust/exercises/palindrome-products/README.md +72 -0
  102. data/tracks/rust/exercises/palindrome-products/example.rs +25 -0
  103. data/tracks/rust/exercises/palindrome-products/src/lib.rs +22 -0
  104. data/tracks/rust/exercises/palindrome-products/tests/palindrome-products.rs +57 -0
  105. data/tracks/rust/exercises/pangram/src/lib.rs +4 -0
  106. data/tracks/rust/exercises/run-length-encoding/src/lib.rs +7 -0
  107. data/tracks/rust/exercises/say/src/lib.rs +3 -4
  108. data/tracks/rust/exercises/scrabble-score/src/lib.rs +4 -0
  109. data/tracks/rust/exercises/word-count/src/lib.rs +6 -0
  110. data/tracks/scheme/exercises/hello-world/example.scm +1 -4
  111. data/tracks/scheme/exercises/hello-world/hello-world-test.scm +1 -5
  112. data/tracks/scheme/exercises/scrabble-score/scrabble-score-test.scm +2 -2
  113. data/tracks/typescript/config.json +30 -0
  114. data/tracks/typescript/exercises/queen-attack/README.md +59 -0
  115. data/tracks/typescript/exercises/queen-attack/package.json +36 -0
  116. data/tracks/typescript/exercises/queen-attack/queen-attack.example.ts +56 -0
  117. data/tracks/typescript/exercises/queen-attack/queen-attack.test.ts +71 -0
  118. data/tracks/typescript/exercises/queen-attack/queen-attack.ts +0 -0
  119. data/tracks/typescript/exercises/queen-attack/tsconfig.json +22 -0
  120. data/tracks/typescript/exercises/queen-attack/tslint.json +127 -0
  121. data/tracks/typescript/exercises/queen-attack/yarn.lock +2624 -0
  122. data/tracks/typescript/exercises/spiral-matrix/README.md +56 -0
  123. data/tracks/typescript/exercises/spiral-matrix/package.json +36 -0
  124. data/tracks/typescript/exercises/spiral-matrix/spiral-matrix.example.ts +33 -0
  125. data/tracks/typescript/exercises/spiral-matrix/spiral-matrix.test.ts +49 -0
  126. data/tracks/typescript/exercises/spiral-matrix/spiral-matrix.ts +0 -0
  127. data/tracks/typescript/exercises/spiral-matrix/tsconfig.json +22 -0
  128. data/tracks/typescript/exercises/spiral-matrix/tslint.json +127 -0
  129. data/tracks/typescript/exercises/spiral-matrix/yarn.lock +2624 -0
  130. metadata +35 -3
@@ -10,12 +10,8 @@
10
10
 
11
11
  (test-begin "hello-world")
12
12
 
13
- (test-assert "Called with no args returns hello world"
13
+ (test-assert "Say Hi!"
14
14
  (equal? (hello)
15
15
  "Hello, World!"))
16
16
 
17
- (test-assert "Called with an arg returns hello arg"
18
- (equal? (hello "exercism")
19
- "Hello, exercism!"))
20
-
21
17
  (test-end "hello-world")
@@ -8,7 +8,7 @@
8
8
  (add-to-load-path (dirname (current-filename)))
9
9
  (use-modules (scrabble-score))
10
10
 
11
- (test-begin "hello-world")
11
+ (test-begin "scrabble-score")
12
12
 
13
13
  (test-assert "a is worth one point"
14
14
  (equal? (score "a")
@@ -54,4 +54,4 @@
54
54
  (equal? (score "")
55
55
  0))
56
56
 
57
- (test-end "hello-world")
57
+ (test-end "scrabble-score")
@@ -414,6 +414,20 @@
414
414
  "unlocked_by": "matrix",
415
415
  "uuid": "6d81d98f-afde-4aea-85ff-c7baef98fb7e"
416
416
  },
417
+ {
418
+ "core": false,
419
+ "difficulty": 4,
420
+ "slug": "spiral-matrix",
421
+ "topics": [
422
+ "arrays",
423
+ "control_flow_conditionals",
424
+ "control_flow_loops",
425
+ "data_structures",
426
+ "matrices"
427
+ ],
428
+ "unlocked_by": "matrix",
429
+ "uuid": "702b1e87-55db-479f-9ef9-4ccdfe8849b1"
430
+ },
417
431
  {
418
432
  "core": false,
419
433
  "difficulty": 5,
@@ -730,6 +744,22 @@
730
744
  "unlocked_by": "grade-school",
731
745
  "uuid": "18376dda-8e8d-4cf7-a44a-db71da438e87"
732
746
  },
747
+ {
748
+ "core": false,
749
+ "difficulty": 8,
750
+ "slug": "queen-attack",
751
+ "topics": [
752
+ "control_flow_conditionals",
753
+ "control_flow_loops",
754
+ "equality",
755
+ "exception_handling",
756
+ "optional_values",
757
+ "parsing",
758
+ "text_formatting"
759
+ ],
760
+ "unlocked_by": null,
761
+ "uuid": "837fbe57-a567-4fc7-a7a2-8b63059ac8b7"
762
+ },
733
763
  {
734
764
  "core": false,
735
765
  "difficulty": 9,
@@ -0,0 +1,59 @@
1
+ # Queen Attack
2
+
3
+ Given the position of two queens on a chess board, indicate whether or not they
4
+ are positioned so that they can attack each other.
5
+
6
+ In the game of chess, a queen can attack pieces which are on the same
7
+ row, column, or diagonal.
8
+
9
+ A chessboard can be represented by an 8 by 8 array.
10
+
11
+ So if you're told the white queen is at (2, 3) and the black queen at
12
+ (5, 6), then you'd know you've got a set-up like so:
13
+
14
+ ```text
15
+ _ _ _ _ _ _ _ _
16
+ _ _ _ _ _ _ _ _
17
+ _ _ _ W _ _ _ _
18
+ _ _ _ _ _ _ _ _
19
+ _ _ _ _ _ _ _ _
20
+ _ _ _ _ _ _ B _
21
+ _ _ _ _ _ _ _ _
22
+ _ _ _ _ _ _ _ _
23
+ ```
24
+
25
+ You'd also be able to answer whether the queens can attack each other.
26
+ In this case, that answer would be yes, they can, because both pieces
27
+ share a diagonal.
28
+
29
+ ## Setup
30
+
31
+ Go through the setup instructions for TypeScript to
32
+ install the necessary dependencies:
33
+
34
+ http://exercism.io/languages/typescript
35
+
36
+ ## Requirements
37
+
38
+ Install assignment dependencies:
39
+
40
+ ```bash
41
+ $ yarn install
42
+ ```
43
+
44
+ ## Making the test suite pass
45
+
46
+ Execute the tests with:
47
+
48
+ ```bash
49
+ $ yarn test
50
+ ```
51
+
52
+
53
+
54
+ ## Source
55
+
56
+ J Dalbey's Programming Practice problems [http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html](http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html)
57
+
58
+ ## Submitting Incomplete Solutions
59
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "xtypescript",
3
+ "version": "1.0.0",
4
+ "description": "Exercism exercises in Typescript.",
5
+ "author": "",
6
+ "private": true,
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/exercism/xtypescript"
10
+ },
11
+ "devDependencies": {},
12
+ "scripts": {
13
+ "test": "tsc --noEmit -p . && jest --no-cache",
14
+ "lint": "tsc --noEmit -p . && tslint \"*.ts?(x)\"",
15
+ "lintci": "tslint \"*.ts?(x)\" --force"
16
+ },
17
+ "dependencies": {
18
+ "@types/jest": "^21.1.5",
19
+ "@types/node": "^8.0.47",
20
+ "jest": "^21.2.1",
21
+ "ts-jest": "^21.1.3",
22
+ "tslint": "^5.8.0",
23
+ "typescript": "^2.5.3"
24
+ },
25
+ "jest": {
26
+ "transform": {
27
+ ".(ts|tsx)": "<rootDir>/node_modules/ts-jest/preprocessor.js"
28
+ },
29
+ "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
30
+ "moduleFileExtensions": [
31
+ "ts",
32
+ "tsx",
33
+ "js"
34
+ ]
35
+ }
36
+ }
@@ -0,0 +1,56 @@
1
+ class QueenAttack {
2
+ W = 8
3
+ H = 8
4
+ black: number[]
5
+ white: number[]
6
+ board: string[]
7
+
8
+ constructor(params: { black: [number, number], white: [number, number] }) {
9
+ const self = this instanceof QueenAttack ? this : Object.getPrototypeOf(QueenAttack)
10
+ if (this.samePosition(params)) {
11
+ throw new Error('Queens cannot share the same space')
12
+ }
13
+
14
+ self.black = params.black
15
+ self.white = params.white
16
+ self.board = this.constructBoard()
17
+ this.placePieces()
18
+
19
+ self.toString = () => self.board.join('')
20
+
21
+ return self
22
+ }
23
+
24
+ samePosition(positioning: { white: number[], black: number[] }) {
25
+ return positioning.white[0] === positioning.black[0] && positioning.white[1] === positioning.black[1]
26
+ }
27
+
28
+ buildRow(cell: string, colCount: number) {
29
+ return Array(...Array(colCount)).map(() => cell)
30
+ }
31
+
32
+ concatRows(row: string, rowCount: number) {
33
+ return [...Array.prototype.concat.apply(this.buildRow(row, rowCount)).join('')]
34
+ }
35
+
36
+ constructBoard() {
37
+ let row = this.buildRow('_ ', this.W).join('')
38
+ row = `${row.substring(0, row.length - 1)}\n`
39
+ return this.concatRows(row, this.H)
40
+ }
41
+
42
+ placePieces() {
43
+ const board = this.board
44
+ board[(this.black[0] * this.W * 2) + (this.black[1] * 2)] = 'B'
45
+ board[(this.white[0] * this.W * 2) + (this.white[1] * 2)] = 'W'
46
+ }
47
+
48
+ canAttack = () => {
49
+ if (this.black[0] === this.white[0] || this.black[1] === this.white[1]) {
50
+ return true
51
+ }
52
+ return Math.abs(this.black[0] - this.white[0]) === Math.abs(this.black[1] - this.white[1])
53
+ }
54
+ }
55
+
56
+ export default QueenAttack
@@ -0,0 +1,71 @@
1
+ import QueenAttack from './queen-attack'
2
+
3
+ describe('Queens', () => {
4
+ it('initialized with specific placement', () => {
5
+ const queens = new QueenAttack({ white: [3, 7], black: [6, 1] })
6
+ expect(queens.white).toEqual([3, 7])
7
+ expect(queens.black).toEqual([6, 1])
8
+ })
9
+
10
+ xit('cannot occupy the same space', () => {
11
+ const positioning: { black: [number, number], white: [number, number] } = { black: [2, 4], white: [2, 4] }
12
+ const expectedError = 'Queens cannot share the same space'
13
+ expect(() => new QueenAttack(positioning)).toThrow(expectedError)
14
+ })
15
+
16
+ xit('toString representation', () => {
17
+ const positioning: { black: [number, number], white: [number, number] } = { white: [2, 4], black: [6, 6] }
18
+ const queens = new QueenAttack(positioning)
19
+ const board = [
20
+ '_ _ _ _ _ _ _ _',
21
+ '_ _ _ _ _ _ _ _',
22
+ '_ _ _ _ W _ _ _',
23
+ '_ _ _ _ _ _ _ _',
24
+ '_ _ _ _ _ _ _ _',
25
+ '_ _ _ _ _ _ _ _',
26
+ '_ _ _ _ _ _ B _',
27
+ '_ _ _ _ _ _ _ _\n'
28
+ ].join('\n')
29
+ expect(queens.toString()).toEqual(board)
30
+ })
31
+
32
+ xit('queens cannot attack', () => {
33
+ const queens = new QueenAttack({ white: [2, 3], black: [4, 7] })
34
+ expect(queens.canAttack()).toEqual(false)
35
+ })
36
+
37
+ xit('queens can attack when they are on the same row', () => {
38
+ const queens = new QueenAttack({ white: [2, 4], black: [2, 7] })
39
+ expect(queens.canAttack()).toEqual(true)
40
+ })
41
+
42
+ xit('queens can attack when they are on the same column', () => {
43
+ const queens = new QueenAttack({ white: [5, 4], black: [2, 4] })
44
+ expect(queens.canAttack()).toEqual(true)
45
+ })
46
+
47
+ xit('queens can attack diagonally', () => {
48
+ const queens = new QueenAttack({ white: [1, 1], black: [6, 6] })
49
+ expect(queens.canAttack()).toEqual(true)
50
+ })
51
+
52
+ xit('queens can attack another diagonally', () => {
53
+ const queens = new QueenAttack({ white: [0, 6], black: [1, 7] })
54
+ expect(queens.canAttack()).toEqual(true)
55
+ })
56
+
57
+ xit('queens can attack yet another diagonally', () => {
58
+ const queens = new QueenAttack({ white: [4, 1], black: [6, 3] })
59
+ expect(queens.canAttack()).toEqual(true)
60
+ })
61
+
62
+ xit('queens can attack on a north-east/south-west diagonal', () => {
63
+ const queens = new QueenAttack({ white: [7, 0], black: [0, 7] })
64
+ expect(queens.canAttack()).toEqual(true)
65
+ })
66
+
67
+ xit('queens can attack on another ne/sw diagonal', () => {
68
+ const queens = new QueenAttack({ white: [2, 6], black: [5, 3] })
69
+ expect(queens.canAttack()).toEqual(true)
70
+ })
71
+ })
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es2017",
4
+ "module": "commonjs",
5
+ "alwaysStrict": true,
6
+ "noUnusedLocals": true,
7
+ "noUnusedParameters": true,
8
+ "noImplicitAny": true,
9
+ "strictNullChecks": true,
10
+ "preserveConstEnums": true,
11
+ "noFallthroughCasesInSwitch":true,
12
+ "noImplicitThis":true,
13
+ "noImplicitReturns":true,
14
+ "sourceMap": true,
15
+ "noEmitOnError": true,
16
+ "outDir": "./build"
17
+ },
18
+ "compileOnSave": true,
19
+ "exclude": [
20
+ "node_modules"
21
+ ]
22
+ }
@@ -0,0 +1,127 @@
1
+ {
2
+ "jsRules": {
3
+ "class-name": true,
4
+ "comment-format": [
5
+ true,
6
+ "check-space"
7
+ ],
8
+ "indent": [
9
+ true,
10
+ "spaces"
11
+ ],
12
+ "no-duplicate-variable": true,
13
+ "no-eval": true,
14
+ "no-trailing-whitespace": true,
15
+ "no-unsafe-finally": true,
16
+ "one-line": [
17
+ true,
18
+ "check-open-brace",
19
+ "check-whitespace"
20
+ ],
21
+ "quotemark": [
22
+ false,
23
+ "double"
24
+ ],
25
+ "semicolon": [
26
+ true,
27
+ "never"
28
+ ],
29
+ "triple-equals": [
30
+ true,
31
+ "allow-null-check"
32
+ ],
33
+ "variable-name": [
34
+ true,
35
+ "ban-keywords"
36
+ ],
37
+ "whitespace": [
38
+ true,
39
+ "check-branch",
40
+ "check-decl",
41
+ "check-operator",
42
+ "check-separator",
43
+ "check-type"
44
+ ]
45
+ },
46
+ "rules": {
47
+ "class-name": true,
48
+ "comment-format": [
49
+ true,
50
+ "check-space"
51
+ ],
52
+ "indent": [
53
+ true,
54
+ "spaces"
55
+ ],
56
+ "no-eval": true,
57
+ "no-internal-module": true,
58
+ "no-trailing-whitespace": true,
59
+ "no-unsafe-finally": true,
60
+ "no-var-keyword": true,
61
+ "one-line": [
62
+ true,
63
+ "check-open-brace",
64
+ "check-whitespace"
65
+ ],
66
+ "semicolon": [
67
+ true,
68
+ "never"
69
+ ],
70
+ "triple-equals": [
71
+ true,
72
+ "allow-null-check"
73
+ ],
74
+ "typedef-whitespace": [
75
+ true,
76
+ {
77
+ "call-signature": "nospace",
78
+ "index-signature": "nospace",
79
+ "parameter": "nospace",
80
+ "property-declaration": "nospace",
81
+ "variable-declaration": "nospace"
82
+ }
83
+ ],
84
+ "variable-name": [
85
+ true,
86
+ "ban-keywords"
87
+ ],
88
+ "whitespace": [
89
+ true,
90
+ "check-branch",
91
+ "check-decl",
92
+ "check-operator",
93
+ "check-separator",
94
+ "check-type"
95
+ ],
96
+ "no-namespace": true,
97
+ "prefer-for-of": true,
98
+ "only-arrow-functions": [true, "allow-declarations"],
99
+ "no-var-requires": true,
100
+ "no-any": true,
101
+ "curly": true,
102
+ "forin": true,
103
+ "no-arg": true,
104
+ "label-position": true,
105
+ "no-conditional-assignment": true,
106
+ "no-console": [true, "log", "error"],
107
+ "no-construct": true,
108
+ "no-duplicate-variable": true,
109
+ "no-empty": true,
110
+ "no-invalid-this": [true, "check-function-in-method"],
111
+ "no-misused-new": true,
112
+ "no-null-keyword": true,
113
+ "no-string-literal": true,
114
+ "radix": true,
115
+ "typeof-compare": true,
116
+ "use-isnan": true,
117
+ "prefer-const": true,
118
+ "array-type": [true, "array-simple"],
119
+ "arrow-parens": true,
120
+ "new-parens": true,
121
+ "no-consecutive-blank-lines": [true,1],
122
+ "no-parameter-properties": true,
123
+ "no-unnecessary-initializer": true,
124
+ "object-literal-shorthand": true,
125
+ "object-literal-key-quotes": [true, "as-needed"]
126
+ }
127
+ }