mirror of
https://github.com/open-policy-agent/opa.git
synced 2026-08-12 19:32:48 -06:00
a179a24c48
All packages, except for `cmd` and `internal`, have been moved into a new `v1` root package. Old packages are kept for backwards-compatibility reasons. All contained code is replaced with simple type aliases and proxy functions to `v1` implementations. Old packages default to the Rego v0 syntax, new `v1` packages default to the Rego v1 syntax. Signed-off-by: Johan Fylling <johan.dev@fylling.se>
53 lines
1.6 KiB
Go
53 lines
1.6 KiB
Go
// Copyright 2024 The OPA Authors. All rights reserved.
|
|
// Use of this source code is governed by an Apache2
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Package debug
|
|
// EXPERIMENTAL: This package is under active development and is subject to change.
|
|
package debug
|
|
|
|
import (
|
|
"github.com/open-policy-agent/opa/logging"
|
|
"github.com/open-policy-agent/opa/rego"
|
|
v1 "github.com/open-policy-agent/opa/v1/debug"
|
|
)
|
|
|
|
// Debugger is the interface for launching OPA debugger Session(s).
|
|
// This implementation is similar in structure to the Debug Adapter Protocol (DAP)
|
|
// to make such integrations easier, but is not intended to be a direct implementation.
|
|
// See: https://microsoft.github.io/debug-adapter-protocol/specification
|
|
//
|
|
// EXPERIMENTAL: These interfaces are under active development and is subject to change.
|
|
type Debugger = v1.Debugger
|
|
|
|
type Session = v1.Session
|
|
|
|
type DebuggerOption = v1.DebuggerOption
|
|
|
|
func NewDebugger(options ...DebuggerOption) Debugger {
|
|
return v1.NewDebugger(options...)
|
|
}
|
|
|
|
func SetLogger(logger logging.Logger) DebuggerOption {
|
|
return v1.SetLogger(logger)
|
|
}
|
|
|
|
func SetEventHandler(handler EventHandler) DebuggerOption {
|
|
return v1.SetEventHandler(handler)
|
|
}
|
|
|
|
type LaunchEvalProperties = v1.LaunchEvalProperties
|
|
|
|
type LaunchTestProperties = v1.LaunchTestProperties
|
|
|
|
type LaunchProperties = v1.LaunchProperties
|
|
|
|
type LaunchOption = v1.LaunchOption
|
|
|
|
// RegoOption adds a rego option to the internal Rego instance.
|
|
// Options may be overridden by the debugger, and it is recommended to
|
|
// use LaunchEvalProperties for commonly used options.
|
|
func RegoOption(opt func(*rego.Rego)) LaunchOption {
|
|
return v1.RegoOption(opt)
|
|
}
|