pulumi/sdk/nodejs/runtime/closure
CyrusNajmabadi 901a238fd5
Get closure serialiation working in Node11 (#2101)
* Make v8 primitives async as there is no way to avoid async in node11.

* Simplify API.

* Move processing of well-known globals into the v8 layer.
We'll need this so that we can map from RemoteObjectIds back to these well known values.

* Remove unnecesssary check.

* Cleanup comments and extract helper.

* Introduce helper bridge method for the simple case of making an entry for a string.

* Make functions async.  They'll need to be async once we move to the Inspector api.

* Make functions async.  They'll need to be async once we move to the Inspector api.

* Make functions async.  They'll need to be async once we move to the Inspector api.

* Move property access behind helpers so they can move to the Inspector API in the future.

* Only call function when we know we have a Function.  Remove redundant null check.

* Properly serialize certain special JavaScript number values that JSON serialization cannot handle.

* Only marshall across the 'source' and 'flags' for a RegExp when serializing.

* Add a simple test to validate a regex without flags.

* Extract functionality into helper method.

* Add test with complex output scenarios.

* Output serialization needs to avoid recursively trying to serialize a serialized value.

* Introduce indirection for introspecting properties of an object.

* Use our own introspection API for examining an Array.

* Hide direct property access through API indirection.

* Produce values like the v8 Inspector does.

* Compute the module map asynchronously.  Will need that when mapping mirrors instead.

* Cleanup a little code in closure creation.

* Get serialization working on Node11 (except function locations).

* Run tests in the same order on <v11 and >=v11

* Make tests run on multiple versions of node.

* Rename file to make PR simpler to review.

* Cleanup.

* Be more careful with global state.

* Remove commented line.

* Only allow getting a session when on Node11 or above.

* Promisify methods.
2018-11-01 15:46:21 -07:00
..
codePaths.ts Deal with circularities in package structure when computing codepaths. (#2049) 2018-10-11 14:57:21 -07:00
createClosure.ts Get closure serialiation working in Node11 (#2101) 2018-11-01 15:46:21 -07:00
parseFunction.ts Get closure serialiation working in Node11 (#2101) 2018-11-01 15:46:21 -07:00
rewriteSuper.ts Get closure serialiation working in Node11 (#2101) 2018-11-01 15:46:21 -07:00
serializeClosure.ts Get closure serialiation working in Node11 (#2101) 2018-11-01 15:46:21 -07:00
utils.ts Get closure serialiation working in Node11 (#2101) 2018-11-01 15:46:21 -07:00
v8.ts Get closure serialiation working in Node11 (#2101) 2018-11-01 15:46:21 -07:00
v8_v10andLower.ts Get closure serialiation working in Node11 (#2101) 2018-11-01 15:46:21 -07:00
v8_v11andHigher.ts Get closure serialiation working in Node11 (#2101) 2018-11-01 15:46:21 -07:00
v8Hooks.ts Get closure serialiation working in Node11 (#2101) 2018-11-01 15:46:21 -07:00