diff options
Diffstat (limited to 'store.go')
| -rw-r--r-- | store.go | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/store.go b/store.go deleted file mode 100644 index 4ab0f4b..0000000 --- a/store.go +++ /dev/null @@ -1,35 +0,0 @@ -// SPDX-FileCopyrightText: 2026 Stefan Majewsky <majewsky@gmx.net> -// SPDX-License-Identifier: Apache-2.0 - -package oblast - -import ( - "reflect" - - "go.xyrillian.de/oblast/internal" -) - -// Store is the main interface of this library. -// It holds information on how to read and write data into record type R, and can also be used to execute autogenerated queries if the respective [PlanOption]s were provided during [NewStore]. -type Store[R any] struct { - plan internal.Plan -} - -// NewStore initializes a store for record type R. -func NewStore[R any](dialect Dialect, opts ...PlanOption) (Store[R], error) { - var popts internal.PlanOpts - for _, opt := range opts { - opt(&popts) - } - plan, err := internal.BuildPlan(reflect.TypeFor[R](), dialect, popts) - return Store[R]{plan}, err -} - -// MustNewStore is like [NewStore], but panics on error. -func MustNewStore[R any](dialect Dialect, opts ...PlanOption) Store[R] { - store, err := NewStore[R](dialect, opts...) - if err != nil { - panic(err.Error()) - } - return store -} |
