Tarun Koyalwar dc44105baf
nuclei v3 : misc updates (#4247)
* use parsed options while signing

* update project layout to v3

* fix .gitignore

* remove example template

* misc updates

* bump tlsx version

* hide template sig warning with env

* js: retain value while using log

* fix nil pointer derefernce

* misc doc update

---------

Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com>
2023-10-17 17:44:13 +05:30

48 lines
1.2 KiB
Cheetah

package {{.PackageName}}
{{$pkgName:=(printf "lib_%s" .PackageName) -}}
import (
{{$pkgName}} "{{.PackagePath}}"
"github.com/dop251/goja"
"github.com/projectdiscovery/nuclei/v2/pkg/js/gojs"
)
var (
module = gojs.NewGojaModule("nuclei/{{.PackageName}}")
)
func init() {
module.Set(
gojs.Objects{
{{- $pkgFuncs:=.PackageFuncs}}
// Functions
{{- range $objName, $objDefine := .PackageFuncs}}
"{{$objName}}": {{$pkgName}}.{{$objDefine}},
{{- end}}
// Var and consts
{{- range $objName, $objDefine := .PackageVars}}
"{{$objName}}": {{$pkgName}}.{{$objDefine}},
{{- end}}
// Types (value type)
{{- range $objName, $objDefine := .PackageTypes}}
"{{$objName}}": {{printf "func() %s.%s { return %s.%s{} }" $pkgName $objDefine $pkgName $objDefine}},
{{- end}}
// Types (pointer type)
{{range $objName, $objDefine := .PackageTypes}}
{{- $newObjName := printf "%s%s" "New" $objName -}}
{{- if not (exist $pkgFuncs $newObjName) -}}
"{{$newObjName}}": {{printf "func() *%s.%s { return &%s.%s{} }" $pkgName $objDefine $pkgName $objDefine}},
{{end -}}
{{- end -}}
},
).Register()
}
func Enable(runtime *goja.Runtime) {
module.Enable(runtime)
}