@@ -3,34 +3,35 @@ import type { IAnimatedJavaSettings, Setting } from './settings'
3
3
declare global {
4
4
namespace AnimatedJava {
5
5
type NamespacedString = `${string } ${string } :${string } ${string } `
6
- export interface IAnimatedJavaExportData < S > {
6
+ export interface IAnimatedJavaExportData < ExporterSettings > {
7
7
ajSettings : IAnimatedJavaSettings
8
8
projectSettings : AnimatedJava . IProjectSettings
9
- exporterSettings : S
9
+ exporterSettings : ExporterSettings
10
10
renderedAnimations : AnimatedJava . IRenderedAnimation [ ]
11
11
rig : AnimatedJava . IRenderedRig
12
12
}
13
13
}
14
14
}
15
15
16
- export interface IAnimatedJavaExporterOptions < S extends AnimatedJava . IProjectSettings > {
16
+ type ExporterSettingsObj = Record < string , Setting < any > >
17
+ export interface IAnimatedJavaExporterOptions < ExporterSettings extends ExporterSettingsObj > {
17
18
id : AnimatedJava . NamespacedString
18
19
name : string
19
20
description : string
20
- getSettings ( ) : S
21
+ getSettings ( ) : ExporterSettings
21
22
settingsStructure : AnimatedJava . GUIStructure
22
23
onStartup ?: ( ) => void
23
- export ( exportData : AnimatedJava . IAnimatedJavaExportData < S > ) : Promise < void > | void
24
+ export ( exportData : AnimatedJava . IAnimatedJavaExportData < ExporterSettings > ) : Promise < void > | void
24
25
}
25
26
26
- export class AnimatedJavaExporter < S extends AnimatedJava . IProjectSettings > {
27
+ export class AnimatedJavaExporter < ExporterSettings extends ExporterSettingsObj > {
27
28
static all : AnimatedJavaExporter < any > [ ]
28
- constructor ( options : IAnimatedJavaExporterOptions < S > )
29
+ constructor ( options : IAnimatedJavaExporterOptions < ExporterSettings > )
29
30
id : AnimatedJava . NamespacedString
30
31
name : string
31
32
description : string
32
- getSettings : IAnimatedJavaExporterOptions < S > [ 'getSettings' ]
33
+ getSettings : IAnimatedJavaExporterOptions < ExporterSettings > [ 'getSettings' ]
33
34
settingsStructure : AnimatedJava . GUIStructure
34
- onStartup ?: IAnimatedJavaExporterOptions < S > [ 'onStartup' ]
35
- export : IAnimatedJavaExporterOptions < S > [ 'export' ]
35
+ onStartup ?: IAnimatedJavaExporterOptions < ExporterSettings > [ 'onStartup' ]
36
+ export : IAnimatedJavaExporterOptions < ExporterSettings > [ 'export' ]
36
37
}
0 commit comments