@jjlmoya/utils-drones 1.8.0 → 1.11.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 +3 -2
- package/src/entries.ts +11 -0
- package/src/index.ts +1 -1
- package/src/pages/[locale]/[slug].astro +3 -4
- package/src/tool/antenna-length-calculator/entry.ts +29 -0
- package/src/tool/antenna-length-calculator/index.ts +5 -36
- package/src/tool/drone-flight-time/entry.ts +29 -0
- package/src/tool/drone-flight-time/index.ts +5 -36
- package/src/tool/gps-coordinates-converter/entry.ts +29 -0
- package/src/tool/gps-coordinates-converter/index.ts +5 -36
- package/src/tools.ts +1 -1
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jjlmoya/utils-drones",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./src/index.ts",
|
|
6
6
|
"types": "./src/index.ts",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./src/index.ts",
|
|
9
|
-
"./data": "./src/data.ts"
|
|
9
|
+
"./data": "./src/data.ts",
|
|
10
|
+
"./entries": "./src/entries.ts"
|
|
10
11
|
},
|
|
11
12
|
"files": [
|
|
12
13
|
"src"
|
package/src/entries.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { antennaLengthCalculator } from './tool/antenna-length-calculator/entry';
|
|
2
|
+
export type { AntennaLengthCalculatorUI, AntennaLengthCalculatorLocaleContent } from './tool/antenna-length-calculator/entry';
|
|
3
|
+
export { droneFlightTime } from './tool/drone-flight-time/entry';
|
|
4
|
+
export type { DroneFlightTimeUI, DroneFlightTimeLocaleContent } from './tool/drone-flight-time/entry';
|
|
5
|
+
export { gpsCoordinatesConverter } from './tool/gps-coordinates-converter/entry';
|
|
6
|
+
export type { GpsCoordinatesConverterUI, GpsCoordinatesConverterLocaleContent } from './tool/gps-coordinates-converter/entry';
|
|
7
|
+
export { dronesCategory } from './category';
|
|
8
|
+
import { antennaLengthCalculator } from './tool/antenna-length-calculator/entry';
|
|
9
|
+
import { droneFlightTime } from './tool/drone-flight-time/entry';
|
|
10
|
+
import { gpsCoordinatesConverter } from './tool/gps-coordinates-converter/entry';
|
|
11
|
+
export const ALL_ENTRIES = [antennaLengthCalculator, droneFlightTime, gpsCoordinatesConverter];
|
package/src/index.ts
CHANGED
|
@@ -14,7 +14,8 @@ import type { UtilitySEOContent } from "@jjlmoya/utils-shared";
|
|
|
14
14
|
export async function getStaticPaths() {
|
|
15
15
|
const paths = [];
|
|
16
16
|
|
|
17
|
-
for (const { entry, Component } of ALL_TOOLS) {
|
|
17
|
+
for (const { entry, Component: lazyComp } of ALL_TOOLS) {
|
|
18
|
+
const { default: Component } = await lazyComp();
|
|
18
19
|
const localeEntries = Object.entries(entry.i18n) as [
|
|
19
20
|
KnownLocale,
|
|
20
21
|
() => Promise<ToolLocaleContent>,
|
|
@@ -52,8 +53,6 @@ export async function getStaticPaths() {
|
|
|
52
53
|
return paths;
|
|
53
54
|
}
|
|
54
55
|
|
|
55
|
-
type ToolComponent = (props: { ui: Record<string, string> }) => unknown;
|
|
56
|
-
|
|
57
56
|
interface NavItem {
|
|
58
57
|
id: string;
|
|
59
58
|
title: string;
|
|
@@ -62,7 +61,7 @@ interface NavItem {
|
|
|
62
61
|
}
|
|
63
62
|
|
|
64
63
|
interface Props {
|
|
65
|
-
Component:
|
|
64
|
+
Component: unknown;
|
|
66
65
|
locale: KnownLocale;
|
|
67
66
|
content: ToolLocaleContent;
|
|
68
67
|
localeUrls: Partial<Record<KnownLocale, string>>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { DronesToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export interface AntennaLengthCalculatorUI {
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export type AntennaLengthCalculatorLocaleContent = ToolLocaleContent<AntennaLengthCalculatorUI>;
|
|
8
|
+
|
|
9
|
+
export const antennaLengthCalculator: DronesToolEntry<AntennaLengthCalculatorUI> = {
|
|
10
|
+
id: 'antenna-length-calculator',
|
|
11
|
+
icons: { bg: 'mdi:antenna', fg: 'mdi:sine-wave' },
|
|
12
|
+
i18n: {
|
|
13
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
14
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
16
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
17
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
18
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
19
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
20
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
21
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
22
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
23
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
24
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
25
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
26
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -1,39 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import AntennaLengthCalculatorSEO from './seo.astro';
|
|
4
|
-
import AntennaLengthCalculatorBibliography from './bibliography.astro';
|
|
5
|
-
|
|
6
|
-
export interface AntennaLengthCalculatorUI {
|
|
7
|
-
[key: string]: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export type AntennaLengthCalculatorLocaleContent = ToolLocaleContent<AntennaLengthCalculatorUI>;
|
|
11
|
-
|
|
12
|
-
export const antennaLengthCalculator: DronesToolEntry<AntennaLengthCalculatorUI> = {
|
|
13
|
-
id: 'antenna-length-calculator',
|
|
14
|
-
icons: { bg: 'mdi:antenna', fg: 'mdi:sine-wave' },
|
|
15
|
-
i18n: {
|
|
16
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
18
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
19
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
20
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
21
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
22
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
26
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
27
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
29
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
30
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
|
|
1
|
+
import { antennaLengthCalculator } from './entry';
|
|
2
|
+
export * from './entry';
|
|
34
3
|
export const ANTENNA_LENGTH_CALCULATOR_TOOL: ToolDefinition = {
|
|
35
4
|
entry: antennaLengthCalculator,
|
|
36
|
-
Component:
|
|
37
|
-
SEOComponent:
|
|
38
|
-
BibliographyComponent:
|
|
5
|
+
Component: () => import('./component.astro'),
|
|
6
|
+
SEOComponent: () => import('./seo.astro'),
|
|
7
|
+
BibliographyComponent: () => import('./bibliography.astro'),
|
|
39
8
|
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { DronesToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export interface DroneFlightTimeUI {
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export type DroneFlightTimeLocaleContent = ToolLocaleContent<DroneFlightTimeUI>;
|
|
8
|
+
|
|
9
|
+
export const droneFlightTime: DronesToolEntry<DroneFlightTimeUI> = {
|
|
10
|
+
id: 'drone-flight-time',
|
|
11
|
+
icons: { bg: 'mdi:drone', fg: 'mdi:timer-sand' },
|
|
12
|
+
i18n: {
|
|
13
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
14
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
16
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
17
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
18
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
19
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
20
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
21
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
22
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
23
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
24
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
25
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
26
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -1,39 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import DroneFlightTimeSEO from './seo.astro';
|
|
4
|
-
import DroneFlightTimeBibliography from './bibliography.astro';
|
|
5
|
-
|
|
6
|
-
export interface DroneFlightTimeUI {
|
|
7
|
-
[key: string]: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export type DroneFlightTimeLocaleContent = ToolLocaleContent<DroneFlightTimeUI>;
|
|
11
|
-
|
|
12
|
-
export const droneFlightTime: DronesToolEntry<DroneFlightTimeUI> = {
|
|
13
|
-
id: 'drone-flight-time',
|
|
14
|
-
icons: { bg: 'mdi:drone', fg: 'mdi:timer-sand' },
|
|
15
|
-
i18n: {
|
|
16
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
18
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
19
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
20
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
21
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
22
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
26
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
27
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
29
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
30
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
|
|
1
|
+
import { droneFlightTime } from './entry';
|
|
2
|
+
export * from './entry';
|
|
34
3
|
export const DRONE_FLIGHT_TIME_TOOL: ToolDefinition = {
|
|
35
4
|
entry: droneFlightTime,
|
|
36
|
-
Component:
|
|
37
|
-
SEOComponent:
|
|
38
|
-
BibliographyComponent:
|
|
5
|
+
Component: () => import('./component.astro'),
|
|
6
|
+
SEOComponent: () => import('./seo.astro'),
|
|
7
|
+
BibliographyComponent: () => import('./bibliography.astro'),
|
|
39
8
|
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { DronesToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
|
|
3
|
+
export interface GpsCoordinatesConverterUI {
|
|
4
|
+
[key: string]: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export type GpsCoordinatesConverterLocaleContent = ToolLocaleContent<GpsCoordinatesConverterUI>;
|
|
8
|
+
|
|
9
|
+
export const gpsCoordinatesConverter: DronesToolEntry<GpsCoordinatesConverterUI> = {
|
|
10
|
+
id: 'gps-coordinates-converter',
|
|
11
|
+
icons: { bg: 'mdi:map-marker', fg: 'mdi:crosshairs-gps' },
|
|
12
|
+
i18n: {
|
|
13
|
+
es: () => import('./i18n/es').then((m) => m.content),
|
|
14
|
+
en: () => import('./i18n/en').then((m) => m.content),
|
|
15
|
+
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
16
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
17
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
18
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
19
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
20
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
21
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
22
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
23
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
24
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
25
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
26
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
27
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -1,39 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import GpsCoordinatesConverterSEO from './seo.astro';
|
|
4
|
-
import GpsCoordinatesConverterBibliography from './bibliography.astro';
|
|
5
|
-
|
|
6
|
-
export interface GpsCoordinatesConverterUI {
|
|
7
|
-
[key: string]: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export type GpsCoordinatesConverterLocaleContent = ToolLocaleContent<GpsCoordinatesConverterUI>;
|
|
11
|
-
|
|
12
|
-
export const gpsCoordinatesConverter: DronesToolEntry<GpsCoordinatesConverterUI> = {
|
|
13
|
-
id: 'gps-coordinates-converter',
|
|
14
|
-
icons: { bg: 'mdi:map-marker', fg: 'mdi:crosshairs-gps' },
|
|
15
|
-
i18n: {
|
|
16
|
-
es: () => import('./i18n/es').then((m) => m.content),
|
|
17
|
-
en: () => import('./i18n/en').then((m) => m.content),
|
|
18
|
-
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
19
|
-
de: () => import('./i18n/de').then((m) => m.content),
|
|
20
|
-
it: () => import('./i18n/it').then((m) => m.content),
|
|
21
|
-
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
22
|
-
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
23
|
-
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
24
|
-
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
25
|
-
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
26
|
-
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
27
|
-
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
28
|
-
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
29
|
-
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
30
|
-
id: () => import('./i18n/id').then((m) => m.content),
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
|
|
1
|
+
import { gpsCoordinatesConverter } from './entry';
|
|
2
|
+
export * from './entry';
|
|
34
3
|
export const GPS_COORDINATES_CONVERTER_TOOL: ToolDefinition = {
|
|
35
4
|
entry: gpsCoordinatesConverter,
|
|
36
|
-
Component:
|
|
37
|
-
SEOComponent:
|
|
38
|
-
BibliographyComponent:
|
|
5
|
+
Component: () => import('./component.astro'),
|
|
6
|
+
SEOComponent: () => import('./seo.astro'),
|
|
7
|
+
BibliographyComponent: () => import('./bibliography.astro'),
|
|
39
8
|
};
|
package/src/tools.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { ALL_ENTRIES } from './entries';
|
|
1
2
|
import { DRONE_FLIGHT_TIME_TOOL } from './tool/drone-flight-time/index';
|
|
2
3
|
import { ANTENNA_LENGTH_CALCULATOR_TOOL } from './tool/antenna-length-calculator/index';
|
|
3
4
|
import { GPS_COORDINATES_CONVERTER_TOOL } from './tool/gps-coordinates-converter/index';
|
|
@@ -15,4 +16,3 @@ export {
|
|
|
15
16
|
GPS_COORDINATES_CONVERTER_TOOL,
|
|
16
17
|
};
|
|
17
18
|
|
|
18
|
-
export const ALL_ENTRIES = ALL_TOOLS.map(t => t.entry);
|