pulumi/sdk/nodejs
joeduffy 2a22a71116 Tidy up resource properties
This changes a few aspects of resource properties:

* Move all runtime-related goo into the runtime module, in an
  internal PromiseState class.  This encapsulates the internal
  state transitions and protects against misuse.  It also allows
  us to clean up the public API for the Property<T> type so that
  it's entirely suitable for external usage.

* Track input and output property values distinctly.  It turns
  out we want to key off events differently.  For example, to marshal
  property values to a resource provider, we only care about the
  inputs.  For final property values that are used in, say, thens
  or as inputs to other properties, we want the output property value.

* Be more precise about when an output is truly final, and known, or
  unknown due to planning/dry-runs.  Note that this does mean that
  we'll encounter unknown values more frequently because, aside from
  IDs and URNs, we can't say for sure that arbitrary properties will never
  change post-creation.  We have ideas on how to denote this; see
  pulumi/pulumi-fabric#330 for more details.
2017-09-05 09:31:03 -07:00
..
asset Rename asset classes 2017-09-04 11:35:21 -07:00
cmd/langhost Add a runtime.Log class 2017-09-04 11:35:21 -07:00
proto Move modules to package root 2017-09-04 11:35:21 -07:00
runtime Tidy up resource properties 2017-09-05 09:31:03 -07:00
tests Tidy up resource properties 2017-09-05 09:31:03 -07:00
.gitignore Implement initial Lumi-as-a-library 2017-09-04 11:35:20 -07:00
config.ts Add a runtime.Log class 2017-09-04 11:35:21 -07:00
index.ts Move modules to package root 2017-09-04 11:35:21 -07:00
Makefile Eliminate lumi, lumijs, and lumirt packages 2017-09-04 11:35:20 -07:00
package.json Use yarn to run subcommands 2017-09-04 11:35:21 -07:00
property.ts Tidy up resource properties 2017-09-05 09:31:03 -07:00
pulumi-langhost-nodejs Change plugin prefixes to "pulumi-" 2017-09-04 11:35:21 -07:00
resource.ts Move modules to package root 2017-09-04 11:35:21 -07:00
tsconfig.json Tidy up resource properties 2017-09-05 09:31:03 -07:00
tslint.json Lint the test files 2017-09-04 11:35:21 -07:00
yarn.lock Implement free variable calculations 2017-09-04 11:35:21 -07:00