// Generated by delombok at Sun Mar 24 19:34:08 CDT 2019
package com.eden.orchid.api.theme.assets;

import com.eden.orchid.api.options.annotations.Description;
import com.eden.orchid.api.options.annotations.Option;
import com.eden.orchid.api.resources.resource.InlineResource;
import com.eden.orchid.api.resources.resource.OrchidResource;

@Description(value = "A Javascript static asset.", name = "JS Asset")
public final class JsPage extends AssetPage {
    @Option
    private boolean async;
    @Option
    private boolean defer;

    public JsPage(Object source, String sourceKey, OrchidResource resource, String key, String title) {
        super(source, sourceKey, resource, key, title);
    }

    public String renderAssetToPage() {
        if (resource instanceof InlineResource) {
            return "<script " + renderAttrs() + ">\n" + resource.compileContent(this) + "\n</script>";
        } else {
            String tagString = "<script " + renderAttrs();
            if (async) {
                tagString += " async";
            }
            if (defer) {
                tagString += " defer";
            }
            tagString += " src=\"" + this.getLink() + "\"";
            tagString += "></script>";
            return tagString;
        }
    }

    public boolean isAsync() {
        return this.async;
    }

    public void setAsync(final boolean async) {
        this.async = async;
    }

    public boolean isDefer() {
        return this.defer;
    }

    public void setDefer(final boolean defer) {
        this.defer = defer;
    }
}

@@ -526,16 +526,56 @@
 n defer;
+%0A    @Option%0A    private boolean module;
 %0A%0A    pu
@@ -1152,32 +1152,110 @@
 ;%0A            %7D%0A
+            if(module)%7B%0A               tagString += %22 module%22; %0A            %7D%0A
             tagS
@@ -1637,32 +1637,32 @@
 oolean defer) %7B%0A
-
         this.def
@@ -1679,10 +1679,163 @@
 ;%0A    %7D%0A
+    public boolean isModule() %7B%0A        return this.module;%0A    %7D%0A%0A    public void setModule(final boolean module) %7B%0A        this.module = module;%0A    %7D%0A
 %7D%0A

Update JsPage.java