1use const_serialize_07 as const_serialize;
2use const_serialize_08::SerializeConst;
3
4use crate::{AssetOptions, AssetOptionsBuilder};
5
6#[derive(
8 Debug,
9 Eq,
10 PartialEq,
11 PartialOrd,
12 Clone,
13 Copy,
14 Hash,
15 SerializeConst,
16 const_serialize::SerializeConst,
17 serde::Serialize,
18 serde::Deserialize,
19)]
20#[const_serialize(crate = const_serialize_08)]
21pub struct FolderAssetOptions {}
22
23impl Default for FolderAssetOptions {
24 fn default() -> Self {
25 Self::default()
26 }
27}
28
29impl FolderAssetOptions {
30 pub const fn new() -> AssetOptionsBuilder<FolderAssetOptions> {
32 AssetOptions::folder()
33 }
34
35 pub const fn default() -> Self {
37 Self {}
38 }
39}
40
41impl AssetOptions {
42 pub const fn folder() -> AssetOptionsBuilder<FolderAssetOptions> {
49 AssetOptionsBuilder::variant(FolderAssetOptions::default())
50 }
51}
52
53impl AssetOptionsBuilder<FolderAssetOptions> {
54 pub const fn into_asset_options(self) -> AssetOptions {
56 AssetOptions {
57 add_hash: false,
58 variant: crate::AssetVariant::Folder(self.variant),
59 }
60 }
61}