{{/*
Copyright 2019-present Facebook Inc. All rights reserved.
This source code is licensed under the Apache 2.0 license found
in the LICENSE file in the root directory of this source tree.
*/}}

{{ define "main" }}
// Code generated by 'entc generate'. DO NOT EDIT.
package main

import (
	"os"
	"bytes"
	{{ template "imports" }}

	entschema {{ printf "%q" .Package }}
)

var schemas = []ent.Interface{
	{{- range $name := .Names }}
		entschema.{{ print $name "{}" }},
	{{- end }}
}

func main() {
	var lines [][]byte
	for _, schema := range schemas {
		b, err := MarshalSchema(schema)
		if err != nil {
			fail(err)
		}
		lines = append(lines, b)
	}
	os.Stdout.Write(bytes.Join(lines, []byte("\n")))
}

func fail(err error) {
	os.Stderr.WriteString(err.Error()+"\n")
	os.Exit(1)
}

{{ template "schema" }}

{{ end }}
