pulumi/pkg/resource/deploy/source_null.go
Joe Duffy 902d646215
Rename package to project (#935)
This addresses pulumi/pulumi#446: what we used to call "package" is
now called "project".  This has gotten more confusing over time, now
that we're doing real package management.

Also fixes pulumi/pulumi#426, while in here.
2018-02-14 13:56:16 -08:00

44 lines
1.1 KiB
Go

// Copyright 2016-2017, Pulumi Corporation. All rights reserved.
package deploy
import (
"github.com/pulumi/pulumi/pkg/tokens"
)
// NullSource is a singleton source that never returns any resources. This may be used in scenarios where the "new"
// version of the world is meant to be empty, either for testing purposes, or removal of an existing stack.
var NullSource Source = &nullSource{}
// A nullSource never returns any resources.
type nullSource struct {
}
func (src *nullSource) Close() error {
return nil // nothing to do.
}
func (src *nullSource) Project() tokens.PackageName {
return ""
}
func (src *nullSource) Info() interface{} {
return nil
}
func (src *nullSource) Iterate(opts Options) (SourceIterator, error) {
return &nullSourceIterator{}, nil
}
// nullSourceIterator always returns nil, nil in response to Next, indicating that it is done.
type nullSourceIterator struct {
}
func (iter *nullSourceIterator) Close() error {
return nil // nothing to do.
}
func (iter *nullSourceIterator) Next() (SourceEvent, error) {
return nil, nil // means "done"
}