@jjlmoya/utils-forensic-science 1.13.0 → 1.15.0
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.
- package/package.json +2 -1
- package/src/category/i18n/en.ts +3 -3
- package/src/category/i18n/es.ts +2 -2
- package/src/category/i18n/fr.ts +1 -1
- package/src/category/i18n/nl.ts +1 -1
- package/src/category/i18n/pt.ts +1 -1
- package/src/category/index.ts +61 -59
- package/src/category/seo.astro +1 -1
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/data.ts +1 -1
- package/src/entries.ts +70 -68
- package/src/env.d.ts +1 -1
- package/src/icons/.gitkeep +1 -0
- package/src/index.ts +32 -31
- package/src/pages/[locale]/[slug].astro +161 -159
- package/src/pages/[locale].astro +8 -5
- package/src/pages/index.astro +1 -1
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +76 -0
- package/src/tests/diacritics_density.test.ts +1 -1
- package/src/tests/faq_count.test.ts +19 -19
- package/src/tests/i18n_coverage.test.ts +36 -36
- package/src/tests/inverted_punctuation.test.ts +1 -1
- package/src/tests/locale_completeness.test.ts +2 -2
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/script_density.test.ts +94 -94
- package/src/tests/seo_length.test.ts +46 -46
- package/src/tests/seo_parity.test.ts +2 -7
- package/src/tests/seo_translation_completeness.test.ts +68 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tests/translation_copy.test.ts +23 -24
- package/src/tool/bloodstain-pattern-origin-analyzer/component.astro +9 -9
- package/src/tool/bloodstain-pattern-origin-analyzer/i18n/zh.ts +1 -1
- package/src/tool/dna-profile-match-probability-lab/bibliography.astro +14 -0
- package/src/tool/dna-profile-match-probability-lab/bibliography.ts +16 -0
- package/src/tool/dna-profile-match-probability-lab/component.astro +121 -0
- package/src/tool/dna-profile-match-probability-lab/controller.ts +159 -0
- package/src/tool/dna-profile-match-probability-lab/dna-profile-match-probability-lab.css +485 -0
- package/src/tool/dna-profile-match-probability-lab/dom-views.ts +93 -0
- package/src/tool/dna-profile-match-probability-lab/entry.ts +29 -0
- package/src/tool/dna-profile-match-probability-lab/evaluator.ts +19 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/de.ts +43 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/en.ts +196 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/es.ts +40 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/fr.ts +10 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/id.ts +41 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/it.ts +10 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/ja.ts +40 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/ko.ts +40 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/nl.ts +29 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/pl.ts +10 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/pt.ts +41 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/ru.ts +29 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/sv.ts +41 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/tr.ts +10 -0
- package/src/tool/dna-profile-match-probability-lab/i18n/zh.ts +29 -0
- package/src/tool/dna-profile-match-probability-lab/index.ts +11 -0
- package/src/tool/dna-profile-match-probability-lab/localize.ts +107 -0
- package/src/tool/dna-profile-match-probability-lab/logic.test.ts +56 -0
- package/src/tool/dna-profile-match-probability-lab/logic.ts +139 -0
- package/src/tool/dna-profile-match-probability-lab/seo.astro +15 -0
- package/src/tool/dna-profile-match-probability-lab/storage.ts +26 -0
- package/src/tool/dna-profile-match-probability-lab/ui.ts +3 -0
- package/src/tool/fire-pattern-origin-analyzer/component.astro +1 -1
- package/src/tool/fire-pattern-origin-analyzer/i18n/zh.ts +5 -1
- package/src/tool/fire-pattern-origin-analyzer/logic.ts +9 -2
- package/src/tool/fire-pattern-origin-analyzer/view-bindings.ts +8 -4
- package/src/tool/fire-pattern-origin-analyzer/view-model.ts +6 -2
- package/src/tool/forensic-age-estimator/bibliography.astro +1 -1
- package/src/tool/forensic-age-estimator/component.astro +1 -1
- package/src/tool/forensic-age-estimator/entry.ts +17 -17
- package/src/tool/forensic-age-estimator/i18n/de.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/en.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/es.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/fr.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/id.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/it.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/nl.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/pl.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/pt.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/ru.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/sv.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/tr.ts +244 -244
- package/src/tool/forensic-age-estimator/i18n/zh.ts +245 -245
- package/src/tool/forensic-age-estimator/index.ts +1 -1
- package/src/tool/forensic-age-estimator/seo.astro +1 -1
- package/src/tool/forensic-blood-test-simulator/component.astro +1 -1
- package/src/tool/forensic-fiber-comparison-microscope/component.astro +1 -1
- package/src/tool/forensic-fiber-comparison-microscope/render.ts +1 -1
- package/src/tool/forensic-fiber-comparison-microscope/view.ts +1 -1
- package/src/tool/forensic-fingerprint-minutiae-identifier/component.astro +2 -2
- package/src/tool/forensic-fingerprint-minutiae-identifier/i18n/ja.ts +2 -1
- package/src/tool/forensic-fingerprint-minutiae-identifier/i18n/zh.ts +2 -0
- package/src/tool/forensic-fingerprint-minutiae-identifier/renderer.ts +9 -8
- package/src/tool/forensic-glass-becke-line-simulator/component.astro +1 -1
- package/src/tool/forensic-glass-becke-line-simulator/view.ts +8 -6
- package/src/tool/forensic-image-authenticity-analyzer/component.astro +1 -1
- package/src/tool/forensic-image-authenticity-analyzer/i18n/de.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/en.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/es.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/fr.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/id.ts +95 -90
- package/src/tool/forensic-image-authenticity-analyzer/i18n/it.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ja.ts +7 -2
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ko.ts +4 -1
- package/src/tool/forensic-image-authenticity-analyzer/i18n/nl.ts +95 -92
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pl.ts +95 -92
- package/src/tool/forensic-image-authenticity-analyzer/i18n/pt.ts +105 -105
- package/src/tool/forensic-image-authenticity-analyzer/i18n/ru.ts +97 -92
- package/src/tool/forensic-image-authenticity-analyzer/i18n/sv.ts +97 -93
- package/src/tool/forensic-image-authenticity-analyzer/i18n/tr.ts +98 -93
- package/src/tool/forensic-image-authenticity-analyzer/i18n/zh.ts +11 -0
- package/src/tool/forensic-microcrystal-drug-simulator/component.astro +1 -1
- package/src/tool/forensic-sex-determinator/component.astro +3 -2
- package/src/tool/forensic-stature-estimator/component.astro +1 -1
- package/src/tool/forensic-stature-estimator/i18n/id.ts +4 -0
- package/src/tool/forensic-stature-estimator/i18n/nl.ts +4 -0
- package/src/tool/forensic-stature-estimator/i18n/ru.ts +4 -0
- package/src/tool/forensic-tlc-ink-simulator/component.astro +1 -1
- package/src/tool/forensic-tlc-ink-simulator/i18n/zh.ts +1 -0
- package/src/tool/forensic-toolmark-striation-matcher/component.astro +1 -1
- package/src/tool/forensic-toolmark-striation-matcher/logic.ts +1 -1
- package/src/tool/forensic-toolmark-striation-matcher/renderer.ts +7 -6
- package/src/tool/forensic-toolmark-striation-matcher/view.ts +19 -20
- package/src/tool/gsr-dispersion-calculator/component.astro +1 -1
- package/src/tool/gsr-dispersion-calculator/logic.ts +1 -1
- package/src/tool/time-of-death-algor-mortis-calculator/entry.ts +2 -0
- package/src/tool/widmark-alcohol-simulator/component.astro +1 -1
- package/src/tool/widmark-alcohol-simulator/i18n/de.ts +5 -0
- package/src/tool/widmark-alcohol-simulator/i18n/fr.ts +2 -1
- package/src/tool/widmark-alcohol-simulator/i18n/id.ts +1 -0
- package/src/tool/widmark-alcohol-simulator/i18n/it.ts +4 -1
- package/src/tool/widmark-alcohol-simulator/i18n/ja.ts +4 -1
- package/src/tool/widmark-alcohol-simulator/i18n/nl.ts +5 -1
- package/src/tool/widmark-alcohol-simulator/i18n/pl.ts +5 -1
- package/src/tool/widmark-alcohol-simulator/i18n/pt.ts +5 -1
- package/src/tool/widmark-alcohol-simulator/i18n/ru.ts +4 -1
- package/src/tool/widmark-alcohol-simulator/i18n/sv.ts +5 -1
- package/src/tool/widmark-alcohol-simulator/i18n/tr.ts +4 -1
- package/src/tool/widmark-alcohol-simulator/i18n/zh.ts +4 -1
- package/src/tools.ts +37 -35
- package/src/types.ts +4 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jjlmoya/utils-forensic-science",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./src/index.ts",
|
|
6
6
|
"types": "./src/index.ts",
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@astrojs/check": "^0.9.8",
|
|
56
56
|
"@types/leaflet": "^1.9.21",
|
|
57
|
+
"@types/three": "^0.185.4",
|
|
57
58
|
"eslint": "^9.39.4",
|
|
58
59
|
"eslint-plugin-astro": "^1.6.0",
|
|
59
60
|
"eslint-plugin-no-comments": "^1.1.10",
|
package/src/category/i18n/en.ts
CHANGED
|
@@ -39,14 +39,14 @@ export const content: CategoryLocaleContent = {
|
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
type: 'paragraph',
|
|
42
|
-
html: "Every forensic calculation involves error rates and confidence limits. A calculator should never replace a qualified expert witness or a
|
|
42
|
+
html: "Every forensic calculation involves error rates and confidence limits. A calculator should never replace a qualified expert witness or a laboratory protocol documented by the relevant authority. Instead, these web utilities are best used to explore scenarios, explain concepts to non-specialists, and check the sensitivity of measurements before writing final reports.",
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
type: 'table',
|
|
46
46
|
headers: ['Appropriate Use', 'Inappropriate Use', 'Importance'],
|
|
47
47
|
rows: [
|
|
48
|
-
["Screening case files before formal specialist examination.", "Using a calculator output as a final expert opinion.", "Forensic evidence must meet strict
|
|
49
|
-
["Explaining measurement uncertainty and ranges to investigators.", "Reporting a single
|
|
48
|
+
["Screening case files before formal specialist examination.", "Using a calculator output as a final expert opinion.", "Forensic evidence must meet strict scientific quality standards."],
|
|
49
|
+
["Explaining measurement uncertainty and ranges to investigators.", "Reporting a single number without explaining limitations.", "False precision can lead to incorrect decisions in judicial systems."],
|
|
50
50
|
["Checking how input assumptions affect the estimated outcome.", "Hiding initial parameters or calculations from the case record.", "Transparency allows results to be audited and reproduced by others."],
|
|
51
51
|
["Determining if data quality is sufficient for calculation.", "Running formulas with poor or incomplete scale measurements.", "Weak input parameters make any mathematical reconstruction unreliable."],
|
|
52
52
|
],
|
package/src/category/i18n/es.ts
CHANGED
|
@@ -39,14 +39,14 @@ export const content: CategoryLocaleContent = {
|
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
type: 'paragraph',
|
|
42
|
-
html: "Cada cálculo forense implica tasas de error y límites de confianza. Una calculadora nunca debe reemplazar a un perito cualificado
|
|
42
|
+
html: "Cada cálculo forense implica tasas de error y límites de confianza. Una calculadora nunca debe reemplazar a un perito cualificado ni a un protocolo de laboratorio documentado. Estas utilidades sirven para explorar escenarios, explicar conceptos a no especialistas y comprobar la sensibilidad de las mediciones antes de redactar un informe.",
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
type: 'table',
|
|
46
46
|
headers: ['Uso adecuado', 'Uso inadecuado', 'Importancia'],
|
|
47
47
|
rows: [
|
|
48
48
|
["Examinar expedientes de casos antes del examen formal de un especialista.", "Utilizar el resultado de una calculadora como una opinión pericial final.", "La evidencia forense debe cumplir con estrictos estándares de validación científica."],
|
|
49
|
-
["Explicar la incertidumbre de la medición y los rangos a los investigadores.", "Informar un único número
|
|
49
|
+
["Explicar la incertidumbre de la medición y los rangos a los investigadores.", "Informar un único número sin explicar las limitaciones.", "La falsa precisión puede conducir a decisiones incorrectas en los sistemas judiciales."],
|
|
50
50
|
["Comprobar cómo influyen los supuestos de entrada en el resultado estimado.", "Ocultar parámetros iniciales o cálculos del registro del caso.", "La transparencia permite que los resultados sean auditados y reproducidos por otros."],
|
|
51
51
|
["Determinar si la calidad de los datos es suficiente para el cálculo.", "Ejecutar fórmulas con mediciones de escala deficientes o incompletas.", "Los parámetros de entrada débiles hacen que cualquier reconstrucción matemática no sea confiable."],
|
|
52
52
|
],
|
package/src/category/i18n/fr.ts
CHANGED
|
@@ -45,7 +45,7 @@ export const content: CategoryLocaleContent = {
|
|
|
45
45
|
type: 'table',
|
|
46
46
|
headers: ['Usage approprie', 'Usage inapproprie', 'Importance'],
|
|
47
47
|
rows: [
|
|
48
|
-
["Examiner les dossiers de cas avant un examen formel par un spécialiste.", "Utiliser le résultat d'un calculateur comme opinion d'expert finale.", "Les preuves forensiques doivent répondre à des normes strictes de
|
|
48
|
+
["Examiner les dossiers de cas avant un examen formel par un spécialiste.", "Utiliser le résultat d'un calculateur comme opinion d'expert finale.", "Les preuves forensiques doivent répondre à des normes strictes de qualité scientifique."],
|
|
49
49
|
["Expliquer l'incertitude de mesure et les plages de valeurs aux enquêteurs.", "Rapporter un seul chiffre exact sans expliquer les limites.", "La fausse précision peut conduire à des décisions incorrectes dans les systèmes judiciaires."],
|
|
50
50
|
["Vérifier comment les hypothèses d'entrée affectent le résultat estimé.", "Masquer les paramètres initiaux ou les calculs du dossier de cas.", "La transparence permet d'auditer et de reproduire les résultats par d'autres."],
|
|
51
51
|
["Déterminer si la qualité des données est suffisante pour le calcul.", "Exécuter des formules avec des mesures d'échelle médiocres ou incomplètes.", "Des paramètres d'entrée faibles rendent toute reconstruction mathématique peu fiable."],
|
package/src/category/i18n/nl.ts
CHANGED
|
@@ -45,7 +45,7 @@ export const content: CategoryLocaleContent = {
|
|
|
45
45
|
type: 'table',
|
|
46
46
|
headers: ['Juist Gebruik', 'Onjuist Gebruik', 'Belang'],
|
|
47
47
|
rows: [
|
|
48
|
-
["Casusdossiers screenen voorafgaand aan formeel specialistisch onderzoek.", "De uitkomst van een calculator gebruiken als definitief deskundigenoordeel.", "Forensisch bewijs moet voldoen aan strenge normen
|
|
48
|
+
["Casusdossiers screenen voorafgaand aan formeel specialistisch onderzoek.", "De uitkomst van een calculator gebruiken als definitief deskundigenoordeel.", "Forensisch bewijs moet voldoen aan strenge normen voor wetenschappelijke kwaliteit."],
|
|
49
49
|
["Meetonzekerheid en bereiken uitleggen aan rechercheurs.", "Een enkel exact cijfer rapporteren zonder de beperkingen uit te leggen.", "Schijnprecisie kan leiden tot onjuiste beslissingen in rechtssystemen."],
|
|
50
50
|
["Controleren hoe invoeraannames de geschatte uitkomst beïnvloeden.", "Eerste parameters of berekeningen verbergen in het casusdossier.", "Transparantie maakt het mogelijk om resultaten te controleren en door anderen te reproduceren."],
|
|
51
51
|
["Bepalen of de datakwaliteit voldoende is voor de berekening.", "Formules uitvoeren met slechte of onvolledige schaalmetingen.", "Zwakke invoerparameters maken elke wiskundige reconstructie onbetrouwbaar."],
|
package/src/category/i18n/pt.ts
CHANGED
|
@@ -39,7 +39,7 @@ export const content: CategoryLocaleContent = {
|
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
type: 'paragraph',
|
|
42
|
-
html: "Cada cálculo forense envolve taxas de erro e limites de confiança. Uma calculadora nunca deve substituir uma testemunha pericial qualificada ou um protocolo laboratorial
|
|
42
|
+
html: "Cada cálculo forense envolve taxas de erro e limites de confiança. Uma calculadora nunca deve substituir uma testemunha pericial qualificada ou um protocolo laboratorial documentado pela autoridade competente. Em vez disso, esses utilitários web são mais bem usados para explorar cenários, explicar conceitos para não especialistas e verificar a sensibilidade das medições antes de redigir os relatórios finais.",
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
type: 'table',
|
package/src/category/index.ts
CHANGED
|
@@ -1,63 +1,65 @@
|
|
|
1
|
-
import type { ScienceCategoryEntry } from '../types';
|
|
2
|
-
import { forensicAgeEstimator } from '../tool/forensic-age-estimator/entry';
|
|
3
|
-
import { widmarkAlcoholSimulator } from '../tool/widmark-alcohol-simulator/entry';
|
|
4
|
-
import { forensicSexDeterminator } from '../tool/forensic-sex-determinator/entry';
|
|
5
|
-
import { forensicStatureEstimator } from '../tool/forensic-stature-estimator/entry';
|
|
6
|
-
import { forensicBloodTestSimulator } from '../tool/forensic-blood-test-simulator/entry';
|
|
7
|
-
import { forensicImageAuthenticityAnalyzer } from '../tool/forensic-image-authenticity-analyzer/entry';
|
|
8
|
-
import { gsrDispersionCalculator } from '../tool/gsr-dispersion-calculator/entry';
|
|
9
|
-
import { forensicTlcInkSimulator } from '../tool/forensic-tlc-ink-simulator/entry';
|
|
10
|
-
import { forensicMicrocrystalDrugSimulator } from '../tool/forensic-microcrystal-drug-simulator/entry';
|
|
11
|
-
import { forensicGlassBeckeLineSimulator } from '../tool/forensic-glass-becke-line-simulator/entry';
|
|
12
|
-
import { forensicFiberComparisonMicroscope } from '../tool/forensic-fiber-comparison-microscope/entry';
|
|
13
|
-
import { bloodstainPatternOriginAnalyzer } from '../tool/bloodstain-pattern-origin-analyzer/entry';
|
|
14
|
-
import { forensicFingerprintMinutiaeIdentifier } from '../tool/forensic-fingerprint-minutiae-identifier/entry';
|
|
15
|
-
import { firePatternOriginAnalyzer } from '../tool/fire-pattern-origin-analyzer/entry';
|
|
16
|
-
import { forensicToolmarkStriationMatcher } from '../tool/forensic-toolmark-striation-matcher/entry';
|
|
1
|
+
import type { ScienceCategoryEntry } from '../types';
|
|
2
|
+
import { forensicAgeEstimator } from '../tool/forensic-age-estimator/entry';
|
|
3
|
+
import { widmarkAlcoholSimulator } from '../tool/widmark-alcohol-simulator/entry';
|
|
4
|
+
import { forensicSexDeterminator } from '../tool/forensic-sex-determinator/entry';
|
|
5
|
+
import { forensicStatureEstimator } from '../tool/forensic-stature-estimator/entry';
|
|
6
|
+
import { forensicBloodTestSimulator } from '../tool/forensic-blood-test-simulator/entry';
|
|
7
|
+
import { forensicImageAuthenticityAnalyzer } from '../tool/forensic-image-authenticity-analyzer/entry';
|
|
8
|
+
import { gsrDispersionCalculator } from '../tool/gsr-dispersion-calculator/entry';
|
|
9
|
+
import { forensicTlcInkSimulator } from '../tool/forensic-tlc-ink-simulator/entry';
|
|
10
|
+
import { forensicMicrocrystalDrugSimulator } from '../tool/forensic-microcrystal-drug-simulator/entry';
|
|
11
|
+
import { forensicGlassBeckeLineSimulator } from '../tool/forensic-glass-becke-line-simulator/entry';
|
|
12
|
+
import { forensicFiberComparisonMicroscope } from '../tool/forensic-fiber-comparison-microscope/entry';
|
|
13
|
+
import { bloodstainPatternOriginAnalyzer } from '../tool/bloodstain-pattern-origin-analyzer/entry';
|
|
14
|
+
import { forensicFingerprintMinutiaeIdentifier } from '../tool/forensic-fingerprint-minutiae-identifier/entry';
|
|
15
|
+
import { firePatternOriginAnalyzer } from '../tool/fire-pattern-origin-analyzer/entry';
|
|
16
|
+
import { forensicToolmarkStriationMatcher } from '../tool/forensic-toolmark-striation-matcher/entry';
|
|
17
17
|
import { timeOfDeathAlgorMortisCalculator } from '../tool/time-of-death-algor-mortis-calculator/entry';
|
|
18
18
|
import { voiceSpectrogramAnalyzer } from '../tool/voice-spectrogram-analyzer/entry';
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
19
|
+
import { dnaProfileMatchProbabilityLab } from '../tool/dna-profile-match-probability-lab/entry';
|
|
20
|
+
|
|
21
|
+
export const forensicCategory: ScienceCategoryEntry = {
|
|
22
|
+
icon: 'mdi:fingerprint',
|
|
23
|
+
tools: [
|
|
24
|
+
forensicAgeEstimator,
|
|
25
|
+
widmarkAlcoholSimulator,
|
|
26
|
+
forensicSexDeterminator,
|
|
27
|
+
forensicStatureEstimator,
|
|
28
|
+
forensicBloodTestSimulator,
|
|
29
|
+
forensicImageAuthenticityAnalyzer,
|
|
30
|
+
gsrDispersionCalculator,
|
|
31
|
+
forensicTlcInkSimulator,
|
|
32
|
+
forensicMicrocrystalDrugSimulator,
|
|
33
|
+
forensicGlassBeckeLineSimulator,
|
|
34
|
+
forensicFiberComparisonMicroscope,
|
|
35
|
+
bloodstainPatternOriginAnalyzer,
|
|
36
|
+
forensicFingerprintMinutiaeIdentifier,
|
|
37
|
+
firePatternOriginAnalyzer,
|
|
38
|
+
forensicToolmarkStriationMatcher,
|
|
38
39
|
timeOfDeathAlgorMortisCalculator,
|
|
39
|
-
voiceSpectrogramAnalyzer
|
|
40
|
+
voiceSpectrogramAnalyzer,
|
|
41
|
+
dnaProfileMatchProbabilityLab
|
|
40
42
|
],
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
i18n: {
|
|
45
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
46
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
47
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
48
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
49
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
50
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
51
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
52
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
53
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
54
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
55
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
56
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
57
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
58
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
59
|
-
zh: () => import('./i18n/zh').then((m) => m.content)
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export const scienceCategory = forensicCategory;
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
i18n: {
|
|
47
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
48
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
49
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
50
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
51
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
52
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
53
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
54
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
55
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
56
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
57
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
58
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
59
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
60
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
61
|
+
zh: () => import('./i18n/zh').then((m) => m.content)
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export const scienceCategory = forensicCategory;
|
package/src/category/seo.astro
CHANGED
|
@@ -12,4 +12,4 @@ const content = await forensicCategory.i18n[locale]?.();
|
|
|
12
12
|
if (!content) return null;
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
package/src/data.ts
CHANGED
package/src/entries.ts
CHANGED
|
@@ -1,75 +1,77 @@
|
|
|
1
|
-
export { forensicAgeEstimator } from './tool/forensic-age-estimator/entry';
|
|
2
|
-
export type { ForensicAgeEstimatorUI, ForensicAgeEstimatorLocaleContent } from './tool/forensic-age-estimator/entry';
|
|
3
|
-
export { widmarkAlcoholSimulator } from './tool/widmark-alcohol-simulator/entry';
|
|
4
|
-
export type { WidmarkAlcoholSimulatorUI, WidmarkAlcoholSimulatorLocaleContent } from './tool/widmark-alcohol-simulator/entry';
|
|
5
|
-
export { forensicSexDeterminator } from './tool/forensic-sex-determinator/entry';
|
|
6
|
-
export type { SexDeterminatorUI, SexDeterminatorLocaleContent } from './tool/forensic-sex-determinator/entry';
|
|
7
|
-
export { forensicStatureEstimator } from './tool/forensic-stature-estimator/entry';
|
|
8
|
-
export type { StatureEstimatorUI, StatureEstimatorLocaleContent } from './tool/forensic-stature-estimator/entry';
|
|
9
|
-
export { forensicBloodTestSimulator } from './tool/forensic-blood-test-simulator/entry';
|
|
10
|
-
export type { BloodTestUI, BloodTestLocaleContent } from './tool/forensic-blood-test-simulator/entry';
|
|
11
|
-
export { forensicImageAuthenticityAnalyzer } from './tool/forensic-image-authenticity-analyzer/entry';
|
|
12
|
-
export type { ImageAuthenticityUI, ImageAuthenticityLocaleContent } from './tool/forensic-image-authenticity-analyzer/entry';
|
|
13
|
-
export { gsrDispersionCalculator } from './tool/gsr-dispersion-calculator/entry';
|
|
14
|
-
export type { GsrDispersionUI, GsrDispersionLocaleContent } from './tool/gsr-dispersion-calculator/entry';
|
|
15
|
-
export { forensicTlcInkSimulator } from './tool/forensic-tlc-ink-simulator/entry';
|
|
16
|
-
export type { TlcInkSimulatorUI, TlcInkSimulatorLocaleContent } from './tool/forensic-tlc-ink-simulator/entry';
|
|
17
|
-
export { forensicMicrocrystalDrugSimulator } from './tool/forensic-microcrystal-drug-simulator/entry';
|
|
18
|
-
export type { MicrocrystalDrugSimulatorUI, MicrocrystalDrugSimulatorLocaleContent } from './tool/forensic-microcrystal-drug-simulator/entry';
|
|
19
|
-
export { forensicGlassBeckeLineSimulator } from './tool/forensic-glass-becke-line-simulator/entry';
|
|
20
|
-
export type { GlassBeckeLineSimulatorUI, GlassBeckeLineSimulatorLocaleContent } from './tool/forensic-glass-becke-line-simulator/entry';
|
|
21
|
-
export { forensicFiberComparisonMicroscope } from './tool/forensic-fiber-comparison-microscope/entry';
|
|
22
|
-
export type { FiberComparisonMicroscopeUI, FiberComparisonMicroscopeLocaleContent } from './tool/forensic-fiber-comparison-microscope/entry';
|
|
23
|
-
export { bloodstainPatternOriginAnalyzer } from './tool/bloodstain-pattern-origin-analyzer/entry';
|
|
24
|
-
export type { BloodstainPatternUI, BloodstainPatternLocaleContent } from './tool/bloodstain-pattern-origin-analyzer/entry';
|
|
25
|
-
export { forensicFingerprintMinutiaeIdentifier } from './tool/forensic-fingerprint-minutiae-identifier/entry';
|
|
26
|
-
export type { FingerprintMinutiaeUI, FingerprintMinutiaeLocaleContent } from './tool/forensic-fingerprint-minutiae-identifier/entry';
|
|
27
|
-
export { firePatternOriginAnalyzer } from './tool/fire-pattern-origin-analyzer/entry';
|
|
28
|
-
export type { FirePatternOriginAnalyzerUI, FirePatternOriginAnalyzerLocaleContent } from './tool/fire-pattern-origin-analyzer/entry';
|
|
29
|
-
export { forensicToolmarkStriationMatcher } from './tool/forensic-toolmark-striation-matcher/entry';
|
|
30
|
-
export type { ToolmarkStriationMatcherUI, ToolmarkStriationMatcherLocaleContent } from './tool/forensic-toolmark-striation-matcher/entry';
|
|
31
|
-
export { timeOfDeathAlgorMortisCalculator } from './tool/time-of-death-algor-mortis-calculator/entry';
|
|
1
|
+
export { forensicAgeEstimator } from './tool/forensic-age-estimator/entry';
|
|
2
|
+
export type { ForensicAgeEstimatorUI, ForensicAgeEstimatorLocaleContent } from './tool/forensic-age-estimator/entry';
|
|
3
|
+
export { widmarkAlcoholSimulator } from './tool/widmark-alcohol-simulator/entry';
|
|
4
|
+
export type { WidmarkAlcoholSimulatorUI, WidmarkAlcoholSimulatorLocaleContent } from './tool/widmark-alcohol-simulator/entry';
|
|
5
|
+
export { forensicSexDeterminator } from './tool/forensic-sex-determinator/entry';
|
|
6
|
+
export type { SexDeterminatorUI, SexDeterminatorLocaleContent } from './tool/forensic-sex-determinator/entry';
|
|
7
|
+
export { forensicStatureEstimator } from './tool/forensic-stature-estimator/entry';
|
|
8
|
+
export type { StatureEstimatorUI, StatureEstimatorLocaleContent } from './tool/forensic-stature-estimator/entry';
|
|
9
|
+
export { forensicBloodTestSimulator } from './tool/forensic-blood-test-simulator/entry';
|
|
10
|
+
export type { BloodTestUI, BloodTestLocaleContent } from './tool/forensic-blood-test-simulator/entry';
|
|
11
|
+
export { forensicImageAuthenticityAnalyzer } from './tool/forensic-image-authenticity-analyzer/entry';
|
|
12
|
+
export type { ImageAuthenticityUI, ImageAuthenticityLocaleContent } from './tool/forensic-image-authenticity-analyzer/entry';
|
|
13
|
+
export { gsrDispersionCalculator } from './tool/gsr-dispersion-calculator/entry';
|
|
14
|
+
export type { GsrDispersionUI, GsrDispersionLocaleContent } from './tool/gsr-dispersion-calculator/entry';
|
|
15
|
+
export { forensicTlcInkSimulator } from './tool/forensic-tlc-ink-simulator/entry';
|
|
16
|
+
export type { TlcInkSimulatorUI, TlcInkSimulatorLocaleContent } from './tool/forensic-tlc-ink-simulator/entry';
|
|
17
|
+
export { forensicMicrocrystalDrugSimulator } from './tool/forensic-microcrystal-drug-simulator/entry';
|
|
18
|
+
export type { MicrocrystalDrugSimulatorUI, MicrocrystalDrugSimulatorLocaleContent } from './tool/forensic-microcrystal-drug-simulator/entry';
|
|
19
|
+
export { forensicGlassBeckeLineSimulator } from './tool/forensic-glass-becke-line-simulator/entry';
|
|
20
|
+
export type { GlassBeckeLineSimulatorUI, GlassBeckeLineSimulatorLocaleContent } from './tool/forensic-glass-becke-line-simulator/entry';
|
|
21
|
+
export { forensicFiberComparisonMicroscope } from './tool/forensic-fiber-comparison-microscope/entry';
|
|
22
|
+
export type { FiberComparisonMicroscopeUI, FiberComparisonMicroscopeLocaleContent } from './tool/forensic-fiber-comparison-microscope/entry';
|
|
23
|
+
export { bloodstainPatternOriginAnalyzer } from './tool/bloodstain-pattern-origin-analyzer/entry';
|
|
24
|
+
export type { BloodstainPatternUI, BloodstainPatternLocaleContent } from './tool/bloodstain-pattern-origin-analyzer/entry';
|
|
25
|
+
export { forensicFingerprintMinutiaeIdentifier } from './tool/forensic-fingerprint-minutiae-identifier/entry';
|
|
26
|
+
export type { FingerprintMinutiaeUI, FingerprintMinutiaeLocaleContent } from './tool/forensic-fingerprint-minutiae-identifier/entry';
|
|
27
|
+
export { firePatternOriginAnalyzer } from './tool/fire-pattern-origin-analyzer/entry';
|
|
28
|
+
export type { FirePatternOriginAnalyzerUI, FirePatternOriginAnalyzerLocaleContent } from './tool/fire-pattern-origin-analyzer/entry';
|
|
29
|
+
export { forensicToolmarkStriationMatcher } from './tool/forensic-toolmark-striation-matcher/entry';
|
|
30
|
+
export type { ToolmarkStriationMatcherUI, ToolmarkStriationMatcherLocaleContent } from './tool/forensic-toolmark-striation-matcher/entry';
|
|
31
|
+
export { timeOfDeathAlgorMortisCalculator } from './tool/time-of-death-algor-mortis-calculator/entry';
|
|
32
32
|
export type { TimeOfDeathAlgorMortisUI, TimeOfDeathAlgorMortisLocaleContent } from './tool/time-of-death-algor-mortis-calculator/entry';
|
|
33
33
|
export { voiceSpectrogramAnalyzer } from './tool/voice-spectrogram-analyzer/entry';
|
|
34
34
|
export type { VoiceSpectrogramUI, VoiceSpectrogramLocaleContent } from './tool/voice-spectrogram-analyzer/entry';
|
|
35
|
-
|
|
36
|
-
import { forensicAgeEstimator } from './tool/forensic-age-estimator/entry';
|
|
37
|
-
import { widmarkAlcoholSimulator } from './tool/widmark-alcohol-simulator/entry';
|
|
38
|
-
import { forensicSexDeterminator } from './tool/forensic-sex-determinator/entry';
|
|
39
|
-
import { forensicStatureEstimator } from './tool/forensic-stature-estimator/entry';
|
|
40
|
-
import { forensicBloodTestSimulator } from './tool/forensic-blood-test-simulator/entry';
|
|
41
|
-
import { forensicImageAuthenticityAnalyzer } from './tool/forensic-image-authenticity-analyzer/entry';
|
|
42
|
-
import { gsrDispersionCalculator } from './tool/gsr-dispersion-calculator/entry';
|
|
43
|
-
import { forensicTlcInkSimulator } from './tool/forensic-tlc-ink-simulator/entry';
|
|
44
|
-
import { forensicMicrocrystalDrugSimulator } from './tool/forensic-microcrystal-drug-simulator/entry';
|
|
45
|
-
import { forensicGlassBeckeLineSimulator } from './tool/forensic-glass-becke-line-simulator/entry';
|
|
46
|
-
import { forensicFiberComparisonMicroscope } from './tool/forensic-fiber-comparison-microscope/entry';
|
|
47
|
-
import { bloodstainPatternOriginAnalyzer } from './tool/bloodstain-pattern-origin-analyzer/entry';
|
|
48
|
-
import { forensicFingerprintMinutiaeIdentifier } from './tool/forensic-fingerprint-minutiae-identifier/entry';
|
|
49
|
-
import { firePatternOriginAnalyzer } from './tool/fire-pattern-origin-analyzer/entry';
|
|
50
|
-
import { forensicToolmarkStriationMatcher } from './tool/forensic-toolmark-striation-matcher/entry';
|
|
35
|
+
|
|
36
|
+
import { forensicAgeEstimator } from './tool/forensic-age-estimator/entry';
|
|
37
|
+
import { widmarkAlcoholSimulator } from './tool/widmark-alcohol-simulator/entry';
|
|
38
|
+
import { forensicSexDeterminator } from './tool/forensic-sex-determinator/entry';
|
|
39
|
+
import { forensicStatureEstimator } from './tool/forensic-stature-estimator/entry';
|
|
40
|
+
import { forensicBloodTestSimulator } from './tool/forensic-blood-test-simulator/entry';
|
|
41
|
+
import { forensicImageAuthenticityAnalyzer } from './tool/forensic-image-authenticity-analyzer/entry';
|
|
42
|
+
import { gsrDispersionCalculator } from './tool/gsr-dispersion-calculator/entry';
|
|
43
|
+
import { forensicTlcInkSimulator } from './tool/forensic-tlc-ink-simulator/entry';
|
|
44
|
+
import { forensicMicrocrystalDrugSimulator } from './tool/forensic-microcrystal-drug-simulator/entry';
|
|
45
|
+
import { forensicGlassBeckeLineSimulator } from './tool/forensic-glass-becke-line-simulator/entry';
|
|
46
|
+
import { forensicFiberComparisonMicroscope } from './tool/forensic-fiber-comparison-microscope/entry';
|
|
47
|
+
import { bloodstainPatternOriginAnalyzer } from './tool/bloodstain-pattern-origin-analyzer/entry';
|
|
48
|
+
import { forensicFingerprintMinutiaeIdentifier } from './tool/forensic-fingerprint-minutiae-identifier/entry';
|
|
49
|
+
import { firePatternOriginAnalyzer } from './tool/fire-pattern-origin-analyzer/entry';
|
|
50
|
+
import { forensicToolmarkStriationMatcher } from './tool/forensic-toolmark-striation-matcher/entry';
|
|
51
51
|
import { timeOfDeathAlgorMortisCalculator } from './tool/time-of-death-algor-mortis-calculator/entry';
|
|
52
52
|
import { voiceSpectrogramAnalyzer } from './tool/voice-spectrogram-analyzer/entry';
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
53
|
+
import { dnaProfileMatchProbabilityLab } from './tool/dna-profile-match-probability-lab/entry';
|
|
54
|
+
|
|
55
|
+
export const ALL_ENTRIES = [
|
|
56
|
+
forensicAgeEstimator,
|
|
57
|
+
widmarkAlcoholSimulator,
|
|
58
|
+
forensicSexDeterminator,
|
|
59
|
+
forensicStatureEstimator,
|
|
60
|
+
forensicBloodTestSimulator,
|
|
61
|
+
forensicImageAuthenticityAnalyzer,
|
|
62
|
+
gsrDispersionCalculator,
|
|
63
|
+
forensicTlcInkSimulator,
|
|
64
|
+
forensicMicrocrystalDrugSimulator,
|
|
65
|
+
forensicGlassBeckeLineSimulator,
|
|
66
|
+
forensicFiberComparisonMicroscope,
|
|
67
|
+
bloodstainPatternOriginAnalyzer,
|
|
68
|
+
forensicFingerprintMinutiaeIdentifier,
|
|
69
|
+
firePatternOriginAnalyzer,
|
|
70
|
+
forensicToolmarkStriationMatcher,
|
|
70
71
|
timeOfDeathAlgorMortisCalculator,
|
|
71
|
-
voiceSpectrogramAnalyzer
|
|
72
|
+
voiceSpectrogramAnalyzer,
|
|
73
|
+
dnaProfileMatchProbabilityLab
|
|
72
74
|
];
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
package/src/env.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
This directory is reserved for local SVG icons used by astro-icon.
|
package/src/index.ts
CHANGED
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
export { forensicCategory, forensicCategory as templateCategory } from './category';
|
|
2
|
-
export const ForensicCategorySEO = () => import('./category/seo.astro').then((m) => m.default);
|
|
3
|
-
export { FORENSIC_AGE_ESTIMATOR_TOOL } from './tool/forensic-age-estimator/index';
|
|
4
|
-
export { WIDMARK_ALCOHOL_SIMULATOR_TOOL } from './tool/widmark-alcohol-simulator/index';
|
|
5
|
-
export { FORENSIC_SEX_DETERMINATOR_TOOL } from './tool/forensic-sex-determinator/index';
|
|
6
|
-
export { FORENSIC_STATURE_ESTIMATOR_TOOL } from './tool/forensic-stature-estimator/index';
|
|
7
|
-
export { FORENSIC_BLOOD_TEST_SIMULATOR_TOOL } from './tool/forensic-blood-test-simulator/index';
|
|
8
|
-
export { FORENSIC_IMAGE_AUTHENTICITY_ANALYZER_TOOL } from './tool/forensic-image-authenticity-analyzer/index';
|
|
9
|
-
export { GSR_DISPERSION_CALCULATOR_TOOL } from './tool/gsr-dispersion-calculator/index';
|
|
10
|
-
export { FORENSIC_TLC_INK_SIMULATOR_TOOL } from './tool/forensic-tlc-ink-simulator/index';
|
|
11
|
-
export { FORENSIC_MICROCRYSTAL_DRUG_SIMULATOR_TOOL } from './tool/forensic-microcrystal-drug-simulator/index';
|
|
12
|
-
export { FORENSIC_GLASS_BECKE_LINE_SIMULATOR_TOOL } from './tool/forensic-glass-becke-line-simulator/index';
|
|
13
|
-
export { FORENSIC_FIBER_COMPARISON_MICROSCOPE_TOOL } from './tool/forensic-fiber-comparison-microscope/index';
|
|
14
|
-
export { BLOODSTAIN_PATTERN_ORIGIN_ANALYZER_TOOL } from './tool/bloodstain-pattern-origin-analyzer/index';
|
|
15
|
-
export { FORENSIC_FINGERPRINT_MINUTIAE_IDENTIFIER_TOOL } from './tool/forensic-fingerprint-minutiae-identifier/index';
|
|
1
|
+
export { forensicCategory, forensicCategory as templateCategory } from './category';
|
|
2
|
+
export const ForensicCategorySEO = () => import('./category/seo.astro').then((m) => m.default);
|
|
3
|
+
export { FORENSIC_AGE_ESTIMATOR_TOOL } from './tool/forensic-age-estimator/index';
|
|
4
|
+
export { WIDMARK_ALCOHOL_SIMULATOR_TOOL } from './tool/widmark-alcohol-simulator/index';
|
|
5
|
+
export { FORENSIC_SEX_DETERMINATOR_TOOL } from './tool/forensic-sex-determinator/index';
|
|
6
|
+
export { FORENSIC_STATURE_ESTIMATOR_TOOL } from './tool/forensic-stature-estimator/index';
|
|
7
|
+
export { FORENSIC_BLOOD_TEST_SIMULATOR_TOOL } from './tool/forensic-blood-test-simulator/index';
|
|
8
|
+
export { FORENSIC_IMAGE_AUTHENTICITY_ANALYZER_TOOL } from './tool/forensic-image-authenticity-analyzer/index';
|
|
9
|
+
export { GSR_DISPERSION_CALCULATOR_TOOL } from './tool/gsr-dispersion-calculator/index';
|
|
10
|
+
export { FORENSIC_TLC_INK_SIMULATOR_TOOL } from './tool/forensic-tlc-ink-simulator/index';
|
|
11
|
+
export { FORENSIC_MICROCRYSTAL_DRUG_SIMULATOR_TOOL } from './tool/forensic-microcrystal-drug-simulator/index';
|
|
12
|
+
export { FORENSIC_GLASS_BECKE_LINE_SIMULATOR_TOOL } from './tool/forensic-glass-becke-line-simulator/index';
|
|
13
|
+
export { FORENSIC_FIBER_COMPARISON_MICROSCOPE_TOOL } from './tool/forensic-fiber-comparison-microscope/index';
|
|
14
|
+
export { BLOODSTAIN_PATTERN_ORIGIN_ANALYZER_TOOL } from './tool/bloodstain-pattern-origin-analyzer/index';
|
|
15
|
+
export { FORENSIC_FINGERPRINT_MINUTIAE_IDENTIFIER_TOOL } from './tool/forensic-fingerprint-minutiae-identifier/index';
|
|
16
16
|
export { FIRE_PATTERN_ORIGIN_ANALYZER_TOOL } from './tool/fire-pattern-origin-analyzer/index';
|
|
17
17
|
export { FORENSIC_TOOLMARK_STRIATION_MATCHER_TOOL } from './tool/forensic-toolmark-striation-matcher/index';
|
|
18
18
|
export { VOICE_SPECTROGRAM_ANALYZER_TOOL } from './tool/voice-spectrogram-analyzer/index';
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
export { DNA_PROFILE_MATCH_PROBABILITY_LAB_TOOL } from './tool/dna-profile-match-probability-lab/index';
|
|
20
|
+
|
|
21
|
+
export type {
|
|
22
|
+
KnownLocale,
|
|
23
|
+
FAQItem,
|
|
24
|
+
BibliographyEntry,
|
|
25
|
+
HowToStep,
|
|
26
|
+
ToolLocaleContent,
|
|
27
|
+
CategoryLocaleContent,
|
|
28
|
+
LocaleLoader,
|
|
29
|
+
LocaleMap,
|
|
30
|
+
ScienceToolEntry,
|
|
31
|
+
ScienceCategoryEntry,
|
|
32
|
+
ToolDefinition,
|
|
33
|
+
} from './types';
|
|
34
|
+
|
|
35
|
+
export { ALL_ENTRIES, ALL_TOOLS } from './tools';
|