@andes/fhir 1.11.1 → 1.12.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/.circleci/config.yml +71 -68
  2. package/.editorconfig +13 -13
  3. package/.env.example +2 -0
  4. package/.github/labeler.yml +10 -10
  5. package/.github/pull_request_template.md +28 -28
  6. package/.github/workflows/build_test.yml +14 -14
  7. package/.github/workflows/has_conflicts.yml +13 -13
  8. package/.vscode/settings.json +2 -0
  9. package/CHANGELOG.md +312 -291
  10. package/LICENSE +674 -674
  11. package/README.md +2 -2
  12. package/coverage/clover.xml +198 -0
  13. package/coverage/coverage-final.json +5 -0
  14. package/coverage/lcov-report/base.css +224 -0
  15. package/coverage/lcov-report/block-navigation.js +87 -0
  16. package/coverage/lcov-report/config.ts.html +136 -0
  17. package/coverage/lcov-report/device.ts.html +193 -0
  18. package/coverage/lcov-report/favicon.png +0 -0
  19. package/coverage/lcov-report/helpers/index.html +116 -0
  20. package/coverage/lcov-report/helpers/patientFactory.ts.html +124 -0
  21. package/coverage/lcov-report/index.html +131 -0
  22. package/coverage/lcov-report/lib/config.ts.html +136 -0
  23. package/coverage/lcov-report/lib/device.ts.html +193 -0
  24. package/coverage/lcov-report/lib/index.html +146 -0
  25. package/coverage/lcov-report/lib/patient.ts.html +1267 -0
  26. package/coverage/lcov-report/patient.ts.html +1207 -0
  27. package/coverage/lcov-report/prettify.css +1 -0
  28. package/coverage/lcov-report/prettify.js +2 -0
  29. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  30. package/coverage/lcov-report/sorter.js +210 -0
  31. package/coverage/lcov.info +410 -0
  32. package/dist/index.js +51 -32
  33. package/dist/index.js.map +1 -1
  34. package/dist/src/data/patient.json +191 -185
  35. package/dist/src/helpers/patientFactory.js +31 -0
  36. package/dist/src/helpers/patientFactory.js.map +1 -0
  37. package/dist/src/lib/allergyIntolerance.js +39 -39
  38. package/dist/src/lib/allergyIntolerance.js.map +1 -1
  39. package/dist/src/lib/bundle.js +25 -22
  40. package/dist/src/lib/bundle.js.map +1 -1
  41. package/dist/src/lib/composition.js +151 -150
  42. package/dist/src/lib/composition.js.map +1 -1
  43. package/dist/src/lib/condition.js +79 -79
  44. package/dist/src/lib/condition.js.map +1 -1
  45. package/dist/src/lib/config.js +20 -22
  46. package/dist/src/lib/config.js.map +1 -1
  47. package/dist/src/lib/config.test.js +12 -12
  48. package/dist/src/lib/config.test.js.map +1 -1
  49. package/dist/src/lib/device.js +38 -38
  50. package/dist/src/lib/device.js.map +1 -1
  51. package/dist/src/lib/device.test.js +9 -9
  52. package/dist/src/lib/device.test.js.map +1 -1
  53. package/dist/src/lib/document-reference.js +106 -103
  54. package/dist/src/lib/document-reference.js.map +1 -1
  55. package/dist/src/lib/immunization.js +67 -67
  56. package/dist/src/lib/medication.js +64 -64
  57. package/dist/src/lib/medication.js.map +1 -1
  58. package/dist/src/lib/medicationRequest.js +102 -99
  59. package/dist/src/lib/medicationRequest.js.map +1 -1
  60. package/dist/src/lib/medicationStatement.js +55 -55
  61. package/dist/src/lib/medicationStatement.js.map +1 -1
  62. package/dist/src/lib/organization.js +90 -90
  63. package/dist/src/lib/organization.js.map +1 -1
  64. package/dist/src/lib/patient.js +378 -360
  65. package/dist/src/lib/patient.js.map +1 -1
  66. package/dist/src/lib/patient.test.js +78 -39
  67. package/dist/src/lib/patient.test.js.map +1 -1
  68. package/dist/src/lib/practitioner.js +160 -160
  69. package/dist/src/lib/practitioner.js.map +1 -1
  70. package/index.ts +31 -31
  71. package/jest.config.js +11 -11
  72. package/package.json +45 -54
  73. package/release.config.js +74 -0
  74. package/src/data/patient.json +190 -184
  75. package/src/helpers/patientFactory.ts +13 -0
  76. package/src/lib/allergyIntolerance.ts +36 -36
  77. package/src/lib/bundle.ts +19 -19
  78. package/src/lib/composition.ts +153 -153
  79. package/src/lib/condition.ts +80 -80
  80. package/src/lib/config.test.ts +13 -13
  81. package/src/lib/config.ts +17 -17
  82. package/src/lib/device.test.ts +9 -9
  83. package/src/lib/device.ts +36 -36
  84. package/src/lib/document-reference.ts +102 -102
  85. package/src/lib/immunization.ts +64 -64
  86. package/src/lib/medication.ts +61 -61
  87. package/src/lib/medicationRequest.ts +100 -100
  88. package/src/lib/medicationStatement.ts +52 -52
  89. package/src/lib/organization.ts +89 -89
  90. package/src/lib/patient.test.ts +62 -38
  91. package/src/lib/patient.ts +394 -374
  92. package/src/lib/practitioner.ts +157 -157
  93. package/tsconfig.test.json +17 -17
  94. package/tslint.json +138 -138
@@ -1,157 +1,157 @@
1
- import { getDominio, makeUrl } from './config';
2
-
3
- /**
4
- * Encode a practitioner from ANDES to FHIR
5
- * @param {} practitioner
6
- */
7
- export function encode(practitioner) {
8
- let data = practitioner;
9
- if (data) {
10
- let identificadores = data.documento ? [{
11
- system: 'http://www.renaper.gob.ar/dni',
12
- value: data.documento
13
- }] : [];
14
- if (data.cuit) {
15
- identificadores.push({
16
- system: 'https://seti.afip.gob.ar/padron-puc-constancia-internet/ConsultaConstanciaAction.do',
17
- value: data.cuit
18
- });
19
- }
20
- identificadores.push({
21
- system: getDominio(),
22
- value: data._id
23
- });
24
- // Parsea contactos
25
- let contactos = data.contacto ? data.contacto.map(unContacto => {
26
- let cont = {
27
- resourceType: 'ContactPoint',
28
- value: unContacto.valor,
29
- rank: unContacto.ranking,
30
- };
31
- switch (unContacto.tipo) {
32
- case 'fijo':
33
- cont['system'] = 'phone';
34
- break;
35
- case 'celular':
36
- cont['system'] = 'phone';
37
- break;
38
- case 'email':
39
- cont['system'] = 'email';
40
- break;
41
- }
42
- return cont;
43
- }) : [];
44
- // Parsea direcciones
45
- let direcciones = data.domicilios ? data.domicilios.map(unDomicilio => {
46
- let direc = {
47
- resourceType: 'Address',
48
- postalCode: unDomicilio.codigoPostal ? unDomicilio.codigoPostal : '',
49
- line: [unDomicilio.valor],
50
- city: unDomicilio.ubicacion.localidad ? unDomicilio.ubicacion.localidad.nombre : '',
51
- state: unDomicilio.ubicacion.provincia ? unDomicilio.ubicacion.provincia.nombre : '',
52
- country: unDomicilio.ubicacion.pais ? unDomicilio.ubicacion.pais.nombre : ''
53
- };
54
- return direc;
55
- }) : [];
56
- // Parsea relaciones
57
- let relaciones = data.relaciones ? data.relaciones.map(unaRelacion => {
58
- let relacion = {
59
- relationship: [{
60
- text: unaRelacion.relacion.nombre
61
- }],
62
- name: {
63
- resourceType: 'HumanName',
64
- family: unaRelacion.apellido.split(' '),
65
- given: unaRelacion.nombre.split(' '),
66
- }
67
- };
68
- return relacion;
69
- }) : [];
70
- let matriculas = data.formacionGrado ? data.formacionGrado.map(datosGrado => {
71
- let cantMatriculaciones = datosGrado.matriculacion ? datosGrado.matriculacion.length : 0;
72
- let unaMatricula = {
73
- identifier: datosGrado.profesion.nombre ? [{
74
- system: 'https://www.saludneuquen.gob.ar/matriculacionGrado',
75
- value: datosGrado.profesion.nombre
76
- }] : [],
77
- code: cantMatriculaciones > 0 ? {
78
- coding: [{
79
- system: 'http://www.saludneuquen.gob.ar/fiscalizacion.html',
80
- code: datosGrado.profesion.codigo,
81
- display: datosGrado.profesion.tipoDeFormacion
82
- }],
83
- text: datosGrado.matriculacion[cantMatriculaciones - 1].matriculaNumero
84
- } : null,
85
- period: cantMatriculaciones > 0 ? {
86
- start: datosGrado.matriculacion[cantMatriculaciones - 1].inicio ? datosGrado.matriculacion[cantMatriculaciones - 1].inicio : null,
87
- end: datosGrado.matriculacion[cantMatriculaciones - 1].fin ? datosGrado.matriculacion[cantMatriculaciones - 1].fin : null
88
- } : null
89
- };
90
- return unaMatricula;
91
- }) : null;
92
- let matriculasEspecialidad = (data.formacionPosgrado ? data.formacionPosgrado.map(datosPosgrado => {
93
- let cantMatriculacionesEsp = datosPosgrado.matriculacion ? datosPosgrado.matriculacion.length : 0;
94
- let unaMatricula = {
95
- identifier: datosPosgrado.especialidad.nombre ? [{
96
- system: 'https://www.saludneuquen.gob.ar/matriculacionEspecialidad/',
97
- value: datosPosgrado.especialidad.nombre
98
- }] : [],
99
- code: cantMatriculacionesEsp > 0 ? {
100
- coding: [{
101
- system: 'http://www.saludneuquen.gob.ar/fiscalizacion.html',
102
- code: datosPosgrado.especialidad.codigo,
103
- display: datosPosgrado.especialidad.tipo
104
- }],
105
- text: datosPosgrado.matriculacion[cantMatriculacionesEsp - 1].matriculaNumero
106
- } : null,
107
- period: cantMatriculacionesEsp > 0 ? {
108
- start: datosPosgrado.matriculacion[cantMatriculacionesEsp - 1].inicio ? datosPosgrado.matriculacion[cantMatriculacionesEsp - 1].inicio : null,
109
- end: datosPosgrado.matriculacion[cantMatriculacionesEsp - 1].fin ? datosPosgrado.matriculacion[cantMatriculacionesEsp - 1].fin : null
110
- } : null
111
- };
112
- return unaMatricula;
113
- }) : null);
114
- let genero;
115
- switch (data.sexo.toLowerCase()) {
116
- case 'femenino':
117
- genero = 'female';
118
- break;
119
- case 'masculino':
120
- genero = 'male';
121
- break;
122
- case 'otro':
123
- genero = 'other';
124
- break;
125
- }
126
- let profesionalFHIR = {
127
- resourceType: 'Practitioner',
128
- identifier: identificadores,
129
- active: data.habilitado ? data.habilitado : null,
130
- name: [{
131
- resourceType: 'HumanName',
132
- family: data.apellido.split(' '),
133
- given: data.nombre.split(' '),
134
- }],
135
- gender: genero,
136
- birthDate: data.fechaNacimiento,
137
- };
138
- if (data.foto) {
139
- profesionalFHIR['photo'] = [{
140
- data: data.foto
141
- }];
142
- }
143
- if (contactos.length > 0) {
144
- profesionalFHIR['telecom'] = contactos;
145
- }
146
- if (direcciones.length > 0) {
147
- profesionalFHIR['address'] = direcciones;
148
- }
149
- if (matriculas.length > 0) {
150
- profesionalFHIR['qualification'] = matriculas.concat(matriculasEspecialidad);
151
- }
152
-
153
- return profesionalFHIR;
154
- } else {
155
- return null;
156
- }
157
- }
1
+ import { getDominio, makeUrl } from './config';
2
+
3
+ /**
4
+ * Encode a practitioner from ANDES to FHIR
5
+ * @param {} practitioner
6
+ */
7
+ export function encode(practitioner) {
8
+ let data = practitioner;
9
+ if (data) {
10
+ let identificadores = data.documento ? [{
11
+ system: 'http://www.renaper.gob.ar/dni',
12
+ value: data.documento
13
+ }] : [];
14
+ if (data.cuit) {
15
+ identificadores.push({
16
+ system: 'https://seti.afip.gob.ar/padron-puc-constancia-internet/ConsultaConstanciaAction.do',
17
+ value: data.cuit
18
+ });
19
+ }
20
+ identificadores.push({
21
+ system: getDominio(),
22
+ value: data._id
23
+ });
24
+ // Parsea contactos
25
+ let contactos = data.contacto ? data.contacto.map(unContacto => {
26
+ let cont = {
27
+ resourceType: 'ContactPoint',
28
+ value: unContacto.valor,
29
+ rank: unContacto.ranking,
30
+ };
31
+ switch (unContacto.tipo) {
32
+ case 'fijo':
33
+ cont['system'] = 'phone';
34
+ break;
35
+ case 'celular':
36
+ cont['system'] = 'phone';
37
+ break;
38
+ case 'email':
39
+ cont['system'] = 'email';
40
+ break;
41
+ }
42
+ return cont;
43
+ }) : [];
44
+ // Parsea direcciones
45
+ let direcciones = data.domicilios ? data.domicilios.map(unDomicilio => {
46
+ let direc = {
47
+ resourceType: 'Address',
48
+ postalCode: unDomicilio.codigoPostal ? unDomicilio.codigoPostal : '',
49
+ line: [unDomicilio.valor],
50
+ city: unDomicilio.ubicacion.localidad ? unDomicilio.ubicacion.localidad.nombre : '',
51
+ state: unDomicilio.ubicacion.provincia ? unDomicilio.ubicacion.provincia.nombre : '',
52
+ country: unDomicilio.ubicacion.pais ? unDomicilio.ubicacion.pais.nombre : ''
53
+ };
54
+ return direc;
55
+ }) : [];
56
+ // Parsea relaciones
57
+ let relaciones = data.relaciones ? data.relaciones.map(unaRelacion => {
58
+ let relacion = {
59
+ relationship: [{
60
+ text: unaRelacion.relacion.nombre
61
+ }],
62
+ name: {
63
+ resourceType: 'HumanName',
64
+ family: unaRelacion.apellido.split(' '),
65
+ given: unaRelacion.nombre.split(' '),
66
+ }
67
+ };
68
+ return relacion;
69
+ }) : [];
70
+ let matriculas = data.formacionGrado ? data.formacionGrado.map(datosGrado => {
71
+ let cantMatriculaciones = datosGrado.matriculacion ? datosGrado.matriculacion.length : 0;
72
+ let unaMatricula = {
73
+ identifier: datosGrado.profesion.nombre ? [{
74
+ system: 'https://www.saludneuquen.gob.ar/matriculacionGrado',
75
+ value: datosGrado.profesion.nombre
76
+ }] : [],
77
+ code: cantMatriculaciones > 0 ? {
78
+ coding: [{
79
+ system: 'http://www.saludneuquen.gob.ar/fiscalizacion.html',
80
+ code: datosGrado.profesion.codigo,
81
+ display: datosGrado.profesion.tipoDeFormacion
82
+ }],
83
+ text: datosGrado.matriculacion[cantMatriculaciones - 1].matriculaNumero
84
+ } : null,
85
+ period: cantMatriculaciones > 0 ? {
86
+ start: datosGrado.matriculacion[cantMatriculaciones - 1].inicio ? datosGrado.matriculacion[cantMatriculaciones - 1].inicio : null,
87
+ end: datosGrado.matriculacion[cantMatriculaciones - 1].fin ? datosGrado.matriculacion[cantMatriculaciones - 1].fin : null
88
+ } : null
89
+ };
90
+ return unaMatricula;
91
+ }) : null;
92
+ let matriculasEspecialidad = (data.formacionPosgrado ? data.formacionPosgrado.map(datosPosgrado => {
93
+ let cantMatriculacionesEsp = datosPosgrado.matriculacion ? datosPosgrado.matriculacion.length : 0;
94
+ let unaMatricula = {
95
+ identifier: datosPosgrado.especialidad.nombre ? [{
96
+ system: 'https://www.saludneuquen.gob.ar/matriculacionEspecialidad/',
97
+ value: datosPosgrado.especialidad.nombre
98
+ }] : [],
99
+ code: cantMatriculacionesEsp > 0 ? {
100
+ coding: [{
101
+ system: 'http://www.saludneuquen.gob.ar/fiscalizacion.html',
102
+ code: datosPosgrado.especialidad.codigo,
103
+ display: datosPosgrado.especialidad.tipo
104
+ }],
105
+ text: datosPosgrado.matriculacion[cantMatriculacionesEsp - 1].matriculaNumero
106
+ } : null,
107
+ period: cantMatriculacionesEsp > 0 ? {
108
+ start: datosPosgrado.matriculacion[cantMatriculacionesEsp - 1].inicio ? datosPosgrado.matriculacion[cantMatriculacionesEsp - 1].inicio : null,
109
+ end: datosPosgrado.matriculacion[cantMatriculacionesEsp - 1].fin ? datosPosgrado.matriculacion[cantMatriculacionesEsp - 1].fin : null
110
+ } : null
111
+ };
112
+ return unaMatricula;
113
+ }) : null);
114
+ let genero;
115
+ switch (data.sexo.toLowerCase()) {
116
+ case 'femenino':
117
+ genero = 'female';
118
+ break;
119
+ case 'masculino':
120
+ genero = 'male';
121
+ break;
122
+ case 'otro':
123
+ genero = 'other';
124
+ break;
125
+ }
126
+ let profesionalFHIR = {
127
+ resourceType: 'Practitioner',
128
+ identifier: identificadores,
129
+ active: data.habilitado ? data.habilitado : null,
130
+ name: [{
131
+ resourceType: 'HumanName',
132
+ family: data.apellido.split(' '),
133
+ given: data.nombre.split(' '),
134
+ }],
135
+ gender: genero,
136
+ birthDate: data.fechaNacimiento,
137
+ };
138
+ if (data.foto) {
139
+ profesionalFHIR['photo'] = [{
140
+ data: data.foto
141
+ }];
142
+ }
143
+ if (contactos.length > 0) {
144
+ profesionalFHIR['telecom'] = contactos;
145
+ }
146
+ if (direcciones.length > 0) {
147
+ profesionalFHIR['address'] = direcciones;
148
+ }
149
+ if (matriculas.length > 0) {
150
+ profesionalFHIR['qualification'] = matriculas.concat(matriculasEspecialidad);
151
+ }
152
+
153
+ return profesionalFHIR;
154
+ } else {
155
+ return null;
156
+ }
157
+ }
@@ -1,18 +1,18 @@
1
- {
2
- "extends": "../tsconfig.base.json",
3
- "compilerOptions": {
4
- "rootDir": "src",
5
- "outDir": "build",
6
- "declaration": true,
7
- "target": "es2018",
8
- "module": "commonjs",
9
- "moduleResolution": "node"
10
- },
11
- "exclude": [
12
- "build",
13
- "node_modules",
14
- "coverage",
15
- "config",
16
- "src/**/*.story.tsx"
17
- ]
1
+ {
2
+ "extends": "../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "rootDir": "src",
5
+ "outDir": "build",
6
+ "declaration": true,
7
+ "target": "es2018",
8
+ "module": "commonjs",
9
+ "moduleResolution": "node"
10
+ },
11
+ "exclude": [
12
+ "build",
13
+ "node_modules",
14
+ "coverage",
15
+ "config",
16
+ "src/**/*.story.tsx"
17
+ ]
18
18
  }
package/tslint.json CHANGED
@@ -1,139 +1,139 @@
1
- {
2
- "extends": [
3
- "tslint-eslint-rules"
4
- ],
5
- "rules": {
6
- "class-name": true,
7
- "comment-format": [
8
- true,
9
- "check-space"
10
- ],
11
- "curly": true,
12
- "eofline": true,
13
- "forin": false,
14
- "indent": [
15
- true,
16
- "spaces"
17
- ],
18
- "label-position": true,
19
- "max-line-length": [
20
- false,
21
- 140
22
- ],
23
- "member-access": false,
24
- "no-arg": true,
25
- "no-bitwise": true,
26
- "no-console": [
27
- true
28
- ],
29
- "no-construct": true,
30
- "no-debugger": true,
31
- "no-duplicate-variable": true,
32
- "no-empty": false,
33
- "no-eval": true,
34
- "no-inferrable-types": true,
35
- "no-shadowed-variable": true,
36
- "no-string-literal": false,
37
- "no-switch-case-fall-through": true,
38
- "no-trailing-whitespace": true,
39
- "object-literal-sort-keys": false,
40
- "one-line": [
41
- true,
42
- "check-open-brace",
43
- "check-catch",
44
- "check-else",
45
- "check-whitespace"
46
- ],
47
- "quotemark": [
48
- true,
49
- "single"
50
- ],
51
- "radix": true,
52
- "semicolon": [
53
- true,
54
- "always"
55
- ],
56
- "triple-equals": [
57
- true,
58
- "allow-null-check"
59
- ],
60
- "typedef-whitespace": [
61
- true,
62
- {
63
- "call-signature": "nospace",
64
- "index-signature": "nospace",
65
- "parameter": "nospace",
66
- "property-declaration": "nospace",
67
- "variable-declaration": "nospace"
68
- }
69
- ],
70
- "variable-name": false,
71
- "whitespace": [
72
- true,
73
- "check-branch",
74
- "check-decl",
75
- "check-operator",
76
- "check-separator",
77
- "check-type",
78
- "check-preblock"
79
- ],
80
- "object-literal-key-quotes": [
81
- true,
82
- "as-needed"
83
- ],
84
- "no-unnecessary-callback-wrapper": true,
85
- "no-consecutive-blank-lines": [
86
- true,
87
- 2
88
- ],
89
- "align": [
90
- true,
91
- "parameters",
92
- "statements",
93
- "members"
94
- ],
95
- "space-before-function-paren": [
96
- true,
97
- {
98
- "anonymous": "always",
99
- "named": "never",
100
- "asyncArrow": "always"
101
- }
102
- ],
103
- "no-implicit-dependencies": [
104
- true,
105
- "dev"
106
- ],
107
- "no-unused-expression": true,
108
- "no-var-keyword": true,
109
- "prefer-object-spread": true,
110
- "import-spacing": true,
111
- "object-literal-shorthand": true,
112
- "only-arrow-functions": [
113
- true,
114
- "allow-declarations",
115
- "allow-named-functions"
116
- ],
117
- "ter-indent": [
118
- true,
119
- 4,
120
- {
121
- "SwitchCase": 1
122
- }
123
- ],
124
- "array-bracket-spacing": [
125
- true,
126
- {
127
- "singleValue": false,
128
- "objectsInArrays": false,
129
- "arraysInArrays": false
130
- }
131
- ],
132
- "no-constant-condition": [
133
- true,
134
- {
135
- "checkLoops": false
136
- }
137
- ]
138
- }
1
+ {
2
+ "extends": [
3
+ "tslint-eslint-rules"
4
+ ],
5
+ "rules": {
6
+ "class-name": true,
7
+ "comment-format": [
8
+ true,
9
+ "check-space"
10
+ ],
11
+ "curly": true,
12
+ "eofline": true,
13
+ "forin": false,
14
+ "indent": [
15
+ true,
16
+ "spaces"
17
+ ],
18
+ "label-position": true,
19
+ "max-line-length": [
20
+ false,
21
+ 140
22
+ ],
23
+ "member-access": false,
24
+ "no-arg": true,
25
+ "no-bitwise": true,
26
+ "no-console": [
27
+ true
28
+ ],
29
+ "no-construct": true,
30
+ "no-debugger": true,
31
+ "no-duplicate-variable": true,
32
+ "no-empty": false,
33
+ "no-eval": true,
34
+ "no-inferrable-types": true,
35
+ "no-shadowed-variable": true,
36
+ "no-string-literal": false,
37
+ "no-switch-case-fall-through": true,
38
+ "no-trailing-whitespace": true,
39
+ "object-literal-sort-keys": false,
40
+ "one-line": [
41
+ true,
42
+ "check-open-brace",
43
+ "check-catch",
44
+ "check-else",
45
+ "check-whitespace"
46
+ ],
47
+ "quotemark": [
48
+ true,
49
+ "single"
50
+ ],
51
+ "radix": true,
52
+ "semicolon": [
53
+ true,
54
+ "always"
55
+ ],
56
+ "triple-equals": [
57
+ true,
58
+ "allow-null-check"
59
+ ],
60
+ "typedef-whitespace": [
61
+ true,
62
+ {
63
+ "call-signature": "nospace",
64
+ "index-signature": "nospace",
65
+ "parameter": "nospace",
66
+ "property-declaration": "nospace",
67
+ "variable-declaration": "nospace"
68
+ }
69
+ ],
70
+ "variable-name": false,
71
+ "whitespace": [
72
+ true,
73
+ "check-branch",
74
+ "check-decl",
75
+ "check-operator",
76
+ "check-separator",
77
+ "check-type",
78
+ "check-preblock"
79
+ ],
80
+ "object-literal-key-quotes": [
81
+ true,
82
+ "as-needed"
83
+ ],
84
+ "no-unnecessary-callback-wrapper": true,
85
+ "no-consecutive-blank-lines": [
86
+ true,
87
+ 2
88
+ ],
89
+ "align": [
90
+ true,
91
+ "parameters",
92
+ "statements",
93
+ "members"
94
+ ],
95
+ "space-before-function-paren": [
96
+ true,
97
+ {
98
+ "anonymous": "always",
99
+ "named": "never",
100
+ "asyncArrow": "always"
101
+ }
102
+ ],
103
+ "no-implicit-dependencies": [
104
+ true,
105
+ "dev"
106
+ ],
107
+ "no-unused-expression": true,
108
+ "no-var-keyword": true,
109
+ "prefer-object-spread": true,
110
+ "import-spacing": true,
111
+ "object-literal-shorthand": true,
112
+ "only-arrow-functions": [
113
+ true,
114
+ "allow-declarations",
115
+ "allow-named-functions"
116
+ ],
117
+ "ter-indent": [
118
+ true,
119
+ 4,
120
+ {
121
+ "SwitchCase": 1
122
+ }
123
+ ],
124
+ "array-bracket-spacing": [
125
+ true,
126
+ {
127
+ "singleValue": false,
128
+ "objectsInArrays": false,
129
+ "arraysInArrays": false
130
+ }
131
+ ],
132
+ "no-constant-condition": [
133
+ true,
134
+ {
135
+ "checkLoops": false
136
+ }
137
+ ]
138
+ }
139
139
  }