@jsii/kernel 1.58.0 → 1.60.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/objects.js CHANGED
@@ -24,8 +24,7 @@ const JSII_SYMBOL = Symbol.for('__jsii__');
24
24
  * information.
25
25
  */
26
26
  function jsiiTypeFqn(obj) {
27
- var _a;
28
- return (_a = obj.constructor[JSII_SYMBOL]) === null || _a === void 0 ? void 0 : _a.fqn;
27
+ return obj.constructor[JSII_SYMBOL]?.fqn;
29
28
  }
30
29
  exports.jsiiTypeFqn = jsiiTypeFqn;
31
30
  /**
@@ -99,7 +98,6 @@ class ObjectTable {
99
98
  * Return the existing registration if available.
100
99
  */
101
100
  registerObject(obj, fqn, interfaces) {
102
- var _a;
103
101
  if (fqn === undefined) {
104
102
  throw new Error('FQN cannot be undefined');
105
103
  }
@@ -107,7 +105,7 @@ class ObjectTable {
107
105
  if (existingRef) {
108
106
  if (interfaces) {
109
107
  const allIfaces = new Set(interfaces);
110
- for (const iface of (_a = existingRef[api.TOKEN_INTERFACES]) !== null && _a !== void 0 ? _a : []) {
108
+ for (const iface of existingRef[api.TOKEN_INTERFACES] ?? []) {
111
109
  allIfaces.add(iface);
112
110
  }
113
111
  // Note - obj[INTERFACES_SYMBOL] should already have been declared as a
@@ -133,7 +131,6 @@ class ObjectTable {
133
131
  * Find the object and registered type for the given ObjRef
134
132
  */
135
133
  findObject(objref) {
136
- var _a;
137
134
  if (typeof objref !== 'object' || !(api.TOKEN_REF in objref)) {
138
135
  throw new Error(`Malformed object reference: ${JSON.stringify(objref)}`);
139
136
  }
@@ -153,7 +150,7 @@ class ObjectTable {
153
150
  return {
154
151
  ...obj,
155
152
  interfaces: [
156
- ...((_a = obj.interfaces) !== null && _a !== void 0 ? _a : []),
153
+ ...(obj.interfaces ?? []),
157
154
  // We append at the end so "registered" interface information has
158
155
  // precedence over client-declared ones.
159
156
  ...additionalInterfaces,
@@ -235,4 +232,4 @@ class InterfaceCollection {
235
232
  return this.interfaces[Symbol.iterator]();
236
233
  }
237
234
  }
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm9iamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLDZCQUE2QjtBQUM3QixtREFBbUQ7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFFM0Q7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRTNDOzs7Ozs7R0FNRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxHQUFROztJQUNsQyxhQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLDBDQUFFLEdBQUcsQ0FBQztBQUMzQyxDQUFDO0FBRkQsa0NBRUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLEdBQVk7SUFDMUMscUNBQXFDO0lBQ3JDLElBQUssR0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQzlCLE9BQU87WUFDTCxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRyxHQUFxQixDQUFDLFlBQVksQ0FBQztZQUNyRCxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFHLEdBQXFCLENBQUMsYUFBYSxDQUFDO1NBQzlELENBQUM7S0FDSDtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFWRCwwQ0FVQztBQU9ELFNBQVMsU0FBUyxDQUFDLEdBQVksRUFBRSxLQUFhLEVBQUUsVUFBcUI7SUFDbkUsTUFBTSxZQUFZLEdBQXNEO1FBQ3RFLDRFQUE0RTtRQUM1RSwwRUFBMEU7UUFDMUUsd0VBQXdFO1FBQ3hFLGdDQUFnQztRQUNoQyxVQUFVLEVBQUUsS0FBSztRQUNqQix5RUFBeUU7UUFDekUsMEVB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LENBQUM7YUFDOUI7U0FDRjtJQUNILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2pDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FDYix1Q0FBdUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ3hFLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFO1lBQ2xCLE9BQU87U0FDUjtRQUNELEtBQUssTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRTtZQUNqQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM5QixTQUFTO2FBQ1Y7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzcGVjIGZyb20gJ0Bqc2lpL3NwZWMnO1xuXG5pbXBvcnQgKiBhcyBhcGkgZnJvbSAnLi9hcGknO1xuaW1wb3J0IHsgRU1QVFlfT0JKRUNUX0ZRTiB9IGZyb20gJy4vc2VyaWFsaXphdGlvbic7XG5cbi8qKlxuICogU3ltYm9sIHVuZGVyIHdoaWNoIHdlIHN0b3JlIHRoZSB7IHR5cGUgLT4gb2JqaWQgfSBtYXAgb24gb2JqZWN0IGluc3RhbmNlc1xuICovXG5jb25zdCBPQkpJRF9TWU1CT0wgPSBTeW1ib2wuZm9yKCckX19qc2lpX19vYmppZF9fJCcpO1xuXG4vKipcbiAqIFN5bWJvbCB1bmRlciB3aGljaCB3ZSBzdG9yZSB0aGUgaW50ZXJmYWNlcyBpbXBsZW1lbnRlZCBieSBpbnN0YW5jZXNcbiAqL1xuY29uc3QgSUZBQ0VTX1NZTUJPTCA9IFN5bWJvbC5mb3IoJyRfX2pzaWlfX2ludGVyZmFjZXNfXyQnKTtcblxuLyoqXG4gKiBTeW1ib2wgd2UgdXNlIHRvIHRhZyB0aGUgY29uc3RydWN0b3Igb2YgYSBKU0lJIGNsYXNzXG4gKi9cbmNvbnN0IEpTSUlfU1lNQk9MID0gU3ltYm9sLmZvcignX19qc2lpX18nKTtcblxuLyoqXG4gKiBHZXQgdGhlIEpTSUkgZnFuIGZvciBhbiBvYmplY3QgKGlmIGF2YWlsYWJsZSlcbiAqXG4gKiBUaGlzIHdpbGwgcmV0dXJuIHNvbWV0aGluZyBpZiB0aGUgb2JqZWN0IHdhcyBjb25zdHJ1Y3RlZCBmcm9tIGEgSlNJSS1lbmFibGVkXG4gKiBjbGFzcy9jb25zdHJ1Y3Rvciwgb3IgaWYgYSBsaXRlcmFsIG9iamVjdCB3YXMgYW5ub3RhdGVkIHdpdGggdHlwZVxuICogaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBqc2lpVHlwZUZxbihvYmo6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBvYmouY29uc3RydWN0b3JbSlNJSV9TWU1CT0xdPy5mcW47XG59XG5cbi8qKlxuICogSWYgdGhpcyBvYmplY3Qgd2FzIHByZXZpb3VzbHkgc2VyaWFsaXplZCB1bmRlciBhIGdpdmVuIHJlZmVyZW5jZSwgcmV0dXJuIHRoZSBzYW1lIHJlZmVyZW5jZVxuICpcbiAqIFRoaXMgaXMgdG8gcmV0YWluIG9iamVjdCBpZGVudGl0eSBhY3Jvc3MgaW52b2NhdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3RSZWZlcmVuY2Uob2JqOiB1bmtub3duKTogYXBpLk9ialJlZiB8IHVuZGVmaW5lZCB7XG4gIC8vIElmIHRoaXMgb2JqZWN0IGFzIGFscmVhZHkgcmV0dXJuZWRcbiAgaWYgKChvYmogYXMgYW55KVtPQkpJRF9TWU1CT0xdKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFthcGkuVE9LRU5fUkVGXTogKG9iaiBhcyBNYW5hZ2VkT2JqZWN0KVtPQkpJRF9TWU1CT0xdLFxuICAgICAgW2FwaS5UT0tFTl9JTlRFUkZBQ0VTXTogKG9iaiBhcyBNYW5hZ2VkT2JqZWN0KVtJRkFDRVNfU1lNQk9MXSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxudHlwZSBNYW5hZ2VkT2JqZWN0ID0ge1xuICBbT0JKSURfU1lNQk9MXTogc3RyaW5nO1xuICBbSUZBQ0VTX1NZTUJPTF0/OiBzdHJpbmdbXTtcbn07XG5cbmZ1bmN0aW9uIHRhZ09iamVjdChvYmo6IHVua25vd24sIG9iamlkOiBzdHJpbmcsIGludGVyZmFjZXM/OiBzdHJpbmdbXSkge1xuICBjb25zdCBwcml2YXRlRmllbGQ6IE9taXQ8UHJvcGVydHlEZXNjcmlwdG9yLCAndmFsdWUnIHwgJ2dldCcgfCAnc2V0Jz4gPSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoZSBmaWVsZCBkb2VzIG5vdCBzaG93IGluIGBKU09OLnN0cmluZ2lmeWAgb3V0cHV0cywgYW5kIGlzIG5vdFxuICAgIC8vIGNvcGllZCBieSBzcGxhdCBleHByZXNzaW9ucyAoYHsuLi5vYmp9YCksIGFzIHRoaXMgd291bGQgYmUgcHJvYmxlbWF0aWMuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTc4NzYgZm9yIGFuIGV4YW1wbGUgb2YgdGhlXG4gICAgLy8gY29uc2VxdWVuY2VzIHRoaXMgY291bGQgaGF2ZS5cbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAvLyBQcm9iYWJseSBub3QgbmVjZXNzYXJ5LCBidXQgYWxsb3cgdGhlIHByb3BlcnR5IHRvIGJlIHJlLWNvbmZpZ3VyZWQgKGl0XG4gICAgLy8gd291bGQgYmUgZ29vZCB0byBtYWtlIHRoaXMgYGZhbHNlYCBpbiB0aGUgZnV0dXJlLCBidXQgbWlnaHQgY2F1c2Ugd2VpcmRcbiAgICAvLyBidWdzLCBzbyBub3QgZG9pbmcgaXQgbm93Li4uKVxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICB3cml0YWJsZTogdHJ1ZSxcbiAgfTtcblxuICAvLyBMb2cgYSB3YXJuaW5nIGluIGNhc2Ugd2UgYXJlIHJlLXRhZ2dpbmcgdGhpcyB2YWx1ZSwgc28gd2UgY2FuIGhvcGVmdWxseVxuICAvLyBkaXNjb3ZlciBhYm91dCB0aGUgYnVncyB3ZSdkIGhhdmUgaWYgd2UgZGlkIG5vdCBtYWtlIGl0IGNvbmZpZ3VyYWJsZSBub3JcbiAgLy8gd3JpdGFibGUuXG4gIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBPQkpJRF9TWU1CT0wpKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGBbanNpaS9rZXJuZWxdIFdBUk5JTkc6IG9iamVjdCAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBvYmogYXMgYW55LFxuICAgICAgKX0gd2FzIGFscmVhZHkgdGFnZ2VkIGFzICR7KG9iaiBhcyBhbnkpW09CSklEX1NZTUJPTF19IWAsXG4gICAgKTtcbiAgfVxuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIE9CSklEX1NZTUJPTCwgeyAuLi5wcml2YXRlRmllbGQsIHZhbHVlOiBvYmppZCB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgSUZBQ0VTX1NZTUJPTCwge1xuICAgIC4uLnByaXZhdGVGaWVsZCxcbiAgICB2YWx1ZTogaW50ZXJmYWNlcyxcbiAgfSk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBKU0lJIEZRTiBmb3IgY2xhc3NlcyBwcm9kdWNlZCBieSBhIGdpdmVuIGNvbnN0cnVjdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YWdKc2lpQ29uc3RydWN0b3IoY29uc3RydWN0b3I6IGFueSwgZnFuOiBzdHJpbmcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnN0cnVjdG9yLCBKU0lJX1NZTUJPTCwge1xuICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIHZhbHVlOiB7IGZxbiB9LFxuICB9KTtcbn1cblxuLyoqXG4gKiBUYWJsZSBvZiBKU0lJIG9iamVjdHNcbiAqXG4gKiBUaGVyZSBjYW4gYmUgbXVsdGlwbGUgcmVmZXJlbmNlcyB0byB0aGUgc2FtZSBvYmplY3QsIGVhY2ggdW5kZXIgYSBkaWZmZXJlbnQgcmVxdWVzdGVkXG4gKiB0eXBlLlxuICovXG5leHBvcnQgY2xhc3MgT2JqZWN0VGFibGUge1xuICBwcml2YXRlIG9iamVjdHM6IHsgW29iamlkOiBzdHJpbmddOiBSZWdpc3RlcmVkT2JqZWN0IH0gPSB7fTtcbiAgcHJpdmF0ZSBuZXh0aWQgPSAxMDAwMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNvbHZlVHlwZTogKGZxbjogc3RyaW5nKSA9PiBzcGVjLlR5cGUsXG4gICkge31cblxuICAvKipcbiAgICogUmVnaXN0ZXIgdGhlIGdpdmVuIG9iamVjdCB3aXRoIHRoZSBnaXZlbiB0eXBlXG4gICAqXG4gICAqIFJldHVybiB0aGUgZXhpc3RpbmcgcmVnaXN0cmF0aW9uIGlmIGF2YWlsYWJsZS5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9iamVjdChcbiAgICBvYmo6IHVua25vd24sXG4gICAgZnFuOiBzdHJpbmcsXG4gICAgaW50ZXJmYWNlcz86IHN0cmluZ1tdLFxuICApOiBhcGkuT2JqUmVmIHtcbiAgICBpZiAoZnFuID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRlFOIGNhbm5vdCBiZSB1bmRlZmluZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBleGlzdGluZ1JlZiA9IG9iamVjdFJlZmVyZW5jZShvYmopO1xuICAgIGlmIChleGlzdGluZ1JlZikge1xuICAgICAgaWYgKGludGVyZmFjZXMpIHtcbiAgICAgICAgY29uc3QgYWxsSWZhY2VzID0gbmV3IFNldChpbnRlcmZhY2VzKTtcbiAgICAgICAgZm9yIChjb25zdCBpZmFjZSBvZiBleGlzdGluZ1JlZlthcGkuVE9LRU5fSU5URVJGQUNFU10gPz8gW10pIHtcbiAgICAgICAgICBhbGxJZmFjZXMuYWRkKGlmYWNlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBOb3RlIC0gb2JqW0lOVEVSRkFDRVNfU1lNQk9MXSBzaG91bGQgYWxyZWFkeSBoYXZlIGJlZW4gZGVjbGFyZWQgYXMgYVxuICAgICAgICAvLyBwcml2YXRlIHByb3BlcnR5IGJ5IGEgcHJldmlvdXMgY2FsbCB0byB0YWdPYmplY3QgIGF0IHRoaXMgc3RhZ2UuXG4gICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgSUZBQ0VTX1NZTUJPTCkpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgYFtqc2lpL2tlcm5lbF0gV0FSTklORzogcmVmZXJlbmNlZCBvYmplY3QgJHtcbiAgICAgICAgICAgICAgZXhpc3RpbmdSZWZbYXBpLlRPS0VOX1JFRl1cbiAgICAgICAgICAgIH0gZG9lcyBub3QgaGF2ZSB0aGUgJHtTdHJpbmcoSUZBQ0VTX1NZTUJPTCl9IHByb3BlcnR5IWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub2JqZWN0c1tleGlzdGluZ1JlZlthcGkuVE9LRU5fUkVGXV0uaW50ZXJmYWNlcyA9XG4gICAgICAgICAgKG9iaiBhcyBhbnkpW0lGQUNFU19TWU1CT0xdID1cbiAgICAgICAgICBleGlzdGluZ1JlZlthcGkuVE9LRU5fSU5URVJGQUNFU10gPVxuICAgICAgICAgIGludGVyZmFjZXMgPVxuICAgICAgICAgICAgdGhpcy5yZW1vdmVSZWR1bmRhbnQoQXJyYXkuZnJvbShhbGxJZmFjZXMpLCBmcW4pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGV4aXN0aW5nUmVmO1xuICAgIH1cblxuICAgIGludGVyZmFjZXMgPSB0aGlzLnJlbW92ZVJlZHVuZGFudChpbnRlcmZhY2VzLCBmcW4pO1xuXG4gICAgY29uc3Qgb2JqaWQgPSB0aGlzLm1ha2VJZChmcW4pO1xuICAgIHRoaXMub2JqZWN0c1tvYmppZF0gPSB7IGluc3RhbmNlOiBvYmosIGZxbiwgaW50ZXJmYWNlcyB9O1xuICAgIHRhZ09iamVjdChvYmosIG9iamlkLCBpbnRlcmZhY2VzKTtcblxuICAgIHJldHVybiB7IFthcGkuVE9LRU5fUkVGXTogb2JqaWQsIFthcGkuVE9LRU5fSU5URVJGQUNFU106IGludGVyZmFjZXMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIHRoZSBvYmplY3QgYW5kIHJlZ2lzdGVyZWQgdHlwZSBmb3IgdGhlIGdpdmVuIE9ialJlZlxuICAgKi9cbiAgcHVibGljIGZpbmRPYmplY3Qob2JqcmVmOiBhcGkuT2JqUmVmKTogUmVnaXN0ZXJlZE9iamVjdCB7XG4gICAgaWYgKHR5cGVvZiBvYmpyZWYgIT09ICdvYmplY3QnIHx8ICEoYXBpLlRPS0VOX1JFRiBpbiBvYmpyZWYpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hbGZvcm1lZCBvYmplY3QgcmVmZXJlbmNlOiAke0pTT04uc3RyaW5naWZ5KG9ianJlZil9YCk7XG4gICAgfVxuXG4gICAgY29uc3Qgb2JqaWQgPSBvYmpyZWZbYXBpLlRPS0VOX1JFRl07XG4gICAgY29uc3Qgb2JqID0gdGhpcy5vYmplY3RzW29iamlkXTtcbiAgICBpZiAoIW9iaikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBPYmplY3QgJHtvYmppZH0gbm90IGZvdW5kYCk7XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIFwiYWRkaXRpb25hbFwiIGludGVyZmFjZXMgZGVjbGFyZWQgb24gdGhlIG9ianJlZiwgbWVyZ2UgdGhlbVxuICAgIC8vIGludG8gdGhlIHJldHVybmVkIG9iamVjdC4gVGhpcyBpcyB1c2VkIHRvIHN1cHBvcnQgY2xpZW50LXNpZGUgZm9yY2VkXG4gICAgLy8gZG93bi1jYXN0aW5nIChhLmsuYTogdW5zYWZlIGNhc3RpbmcpLiBXZSBkbyBOT1QgcmVnaXN0ZXIgdGhlIGV4dHJhXG4gICAgLy8gaW50ZXJmYWNlcyBoZXJlIHNvIHRoYXQgaWYgdGhlIGNsaWVudCBwcm92aWRlZCBhbiBpbnRlcmZhY2UgdGhhdCBpc1xuICAgIC8vIGFjdHVhbGx5IG5vdCBpbXBsZW1lbnRlZCwgd2UgYXJlbid0IFwicG9pc29uaW5nXCIgb3VyIHN0YXRlIHdpdGggdGhhdFxuICAgIC8vIGluY29ycmVjdCBpbmZvcm1hdGlvbi5cbiAgICBjb25zdCBhZGRpdGlvbmFsSW50ZXJmYWNlcyA9IG9ianJlZlthcGkuVE9LRU5fSU5URVJGQUNFU107XG4gICAgaWYgKGFkZGl0aW9uYWxJbnRlcmZhY2VzICE9IG51bGwgJiYgYWRkaXRpb25hbEludGVyZmFjZXMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub2JqLFxuICAgICAgICBpbnRlcmZhY2VzOiBbXG4gICAgICAgICAgLi4uKG9iai5pbnRlcmZhY2VzID8/IFtdKSxcbiAgICAgICAgICAvLyBXZSBhcHBlbmQgYXQgdGhlIGVuZCBzbyBcInJlZ2lzdGVyZWRcIiBpbnRlcmZhY2UgaW5mb3JtYXRpb24gaGFzXG4gICAgICAgICAgLy8gcHJlY2VkZW5jZSBvdmVyIGNsaWVudC1kZWNsYXJlZCBvbmVzLlxuICAgICAgICAgIC4uLmFkZGl0aW9uYWxJbnRlcmZhY2VzLFxuICAgICAgICBdLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSB0aGUgcmVnaXN0cmF0aW9uIHdpdGggdGhlIGdpdmVuIG9ianJlZlxuICAgKi9cbiAgcHVibGljIGRlbGV0ZU9iamVjdChvYmpyZWY6IGFwaS5PYmpSZWYpIHtcbiAgICB0aGlzLmZpbmRPYmplY3Qob2JqcmVmKTsgLy8gbWFrZSBzdXJlIG9iamVjdCBleGlzdHNcbiAgICBkZWxldGUgdGhpcy5vYmplY3RzW29ianJlZlthcGkuVE9LRU5fUkVGXV07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMub2JqZWN0cykubGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBtYWtlSWQoZnFuOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7ZnFufUAke3RoaXMubmV4dGlkKyt9YDtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUmVkdW5kYW50KFxuICAgIGludGVyZmFjZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxuICAgIGZxbjogc3RyaW5nLFxuICApOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFpbnRlcmZhY2VzIHx8IGludGVyZmFjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBTZXQoaW50ZXJmYWNlcyk7XG4gICAgY29uc3QgYnVpbHRJbiA9IG5ldyBJbnRlcmZhY2VDb2xsZWN0aW9uKHRoaXMucmVzb2x2ZVR5cGUpO1xuXG4gICAgaWYgKGZxbiAhPT0gRU1QVFlfT0JKRUNUX0ZRTikge1xuICAgICAgYnVpbHRJbi5hZGRGcm9tQ2xhc3MoZnFuKTtcbiAgICB9XG4gICAgaW50ZXJmYWNlcy5mb3JFYWNoKGJ1aWx0SW4uYWRkRnJvbUludGVyZmFjZS5iaW5kKGJ1aWx0SW4pKTtcblxuICAgIGZvciAoY29uc3QgaWZhY2Ugb2YgYnVpbHRJbikge1xuICAgICAgcmVzdWx0LmRlbGV0ZShpZmFjZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdC5zaXplID4gMCA/IEFycmF5LmZyb20ocmVzdWx0KS5zb3J0KCkgOiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlcmVkT2JqZWN0IHtcbiAgaW5zdGFuY2U6IGFueTtcbiAgZnFuOiBzdHJpbmc7XG4gIGludGVyZmFjZXM/OiBzdHJpbmdbXTtcbn1cblxuY2xhc3MgSW50ZXJmYWNlQ29sbGVjdGlvbiBpbXBsZW1lbnRzIEl0ZXJhYmxlPHN0cmluZz4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGludGVyZmFjZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNvbHZlVHlwZTogKGZxbjogc3RyaW5nKSA9PiBzcGVjLlR5cGUsXG4gICkge31cblxuICBwdWJsaWMgYWRkRnJvbUNsYXNzKGZxbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdGkgPSB0aGlzLnJlc29sdmVUeXBlKGZxbik7XG4gICAgaWYgKCFzcGVjLmlzQ2xhc3NUeXBlKHRpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRXhwZWN0ZWQgYSBjbGFzcywgYnV0IHJlY2VpdmVkICR7c3BlYy5kZXNjcmliZVR5cGVSZWZlcmVuY2UodGkpfWAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGkuYmFzZSkge1xuICAgICAgdGhpcy5hZGRGcm9tQ2xhc3ModGkuYmFzZSk7XG4gICAgfVxuICAgIGlmICh0aS5pbnRlcmZhY2VzKSB7XG4gICAgICBmb3IgKGNvbnN0IGlmYWNlIG9mIHRpLmludGVyZmFjZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJmYWNlcy5oYXMoaWZhY2UpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnRlcmZhY2VzLmFkZChpZmFjZSk7XG4gICAgICAgIHRoaXMuYWRkRnJvbUludGVyZmFjZShpZmFjZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZEZyb21JbnRlcmZhY2UoZnFuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0aSA9IHRoaXMucmVzb2x2ZVR5cGUoZnFuKTtcbiAgICBpZiAoIXNwZWMuaXNJbnRlcmZhY2VUeXBlKHRpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRXhwZWN0ZWQgYW4gaW50ZXJmYWNlLCBidXQgcmVjZWl2ZWQgJHtzcGVjLmRlc2NyaWJlVHlwZVJlZmVyZW5jZSh0aSl9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghdGkuaW50ZXJmYWNlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGlmYWNlIG9mIHRpLmludGVyZmFjZXMpIHtcbiAgICAgIGlmICh0aGlzLmludGVyZmFjZXMuaGFzKGlmYWNlKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW50ZXJmYWNlcy5hZGQoaWZhY2UpO1xuICAgICAgdGhpcy5hZGRGcm9tSW50ZXJmYWNlKGlmYWNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJmYWNlc1tTeW1ib2wuaXRlcmF0b3JdKCk7XG4gIH1cbn1cbiJdfQ==
235
+ //# sourceMappingURL=objects.js.map
package/lib/on-exit.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export declare function removeSync(path: string): void;
2
+ //# sourceMappingURL=on-exit.d.ts.map
package/lib/on-exit.js CHANGED
@@ -29,4 +29,4 @@ function registerIfNeeded() {
29
29
  }
30
30
  }
31
31
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tZXhpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm9uLWV4aXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUVuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO0FBRTVDLFNBQWdCLFVBQVUsQ0FBQyxJQUFZO0lBQ3JDLGdCQUFnQixFQUFFLENBQUM7SUFDbkIsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBSEQsZ0NBR0M7QUFFRCxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7QUFFdkI7Ozs7R0FJRztBQUNILFNBQVMsZ0JBQWdCO0lBQ3ZCLElBQUksVUFBVSxFQUFFO1FBQ2QsT0FBTztLQUNSO0lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDcEMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUVsQixTQUFTLGFBQWE7UUFDcEIsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM5QixLQUFLLE1BQU0sSUFBSSxJQUFJLGVBQWUsRUFBRTtnQkFDbEMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNyQjtTQUNGO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwcm9jZXNzIGZyb20gJ3Byb2Nlc3MnO1xuXG5jb25zdCByZW1vdmVTeW5jUGF0aHMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlU3luYyhwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgcmVnaXN0ZXJJZk5lZWRlZCgpO1xuICByZW1vdmVTeW5jUGF0aHMucHVzaChwYXRoKTtcbn1cblxubGV0IHJlZ2lzdGVyZWQgPSBmYWxzZTtcblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGV4aXN0IGhhbmRsZXIgaWYgaXQgaGFzIG5vdCBiZWVuIHJlZ2lzdGVyZWQgYWxyZWFkeS4gVGhpcyBpcyBkb25lIGV4YWN0bHkgb2NuZSBwZXJcbiAqIHByb2Nlc3MsIHNvIHRoYXQgcHJvY2Vzc2VzIHdpdGggbXVsdGlwbGUga2VybmVscyBkb24ndCBlbmQgdXAgY3JlYXRpbmcgdG9vIG1hbnkgZXhpdCBoYW5kbGVycywgYXNcbiAqIHRoaXMgcmVkdWNlcyB0aGUgY2hhbmNlcyB0aGV5IHdpbGwgY29ycmVjdGx5IHJ1bi5cbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJJZk5lZWRlZCgpIHtcbiAgaWYgKHJlZ2lzdGVyZWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgcHJvY2Vzcy5vbmNlKCdleGl0Jywgb25FeGl0SGFuZGxlcik7XG4gIHJlZ2lzdGVyZWQgPSB0cnVlO1xuXG4gIGZ1bmN0aW9uIG9uRXhpdEhhbmRsZXIoKSB7XG4gICAgaWYgKHJlbW92ZVN5bmNQYXRocy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGNvbnN0IHBhdGggb2YgcmVtb3ZlU3luY1BhdGhzKSB7XG4gICAgICAgIGZzLnJlbW92ZVN5bmMocGF0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
32
+ //# sourceMappingURL=on-exit.js.map
@@ -1,4 +1,4 @@
1
- import { Kernel } from '../lib';
1
+ import { Kernel } from './kernel';
2
2
  export declare function closeRecording(kernel: Kernel): Promise<void>;
3
3
  /**
4
4
  * Start recording all interaction with the kernel object.
@@ -11,3 +11,4 @@ export declare function closeRecording(kernel: Kernel): Promise<void>;
11
11
  * @param outputLog Output log stream.
12
12
  */
13
13
  export declare function recordInteraction(kernel: Kernel, inputOutputLogPath: string): void;
14
+ //# sourceMappingURL=recording.d.ts.map
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recordInteraction = exports.closeRecording = void 0;
4
+ const fs = require("fs-extra");
5
+ const kernel_1 = require("./kernel");
6
+ async function closeRecording(kernel) {
7
+ const logfile = kernel.logfile;
8
+ if (!logfile) {
9
+ return Promise.resolve();
10
+ }
11
+ logfile.end();
12
+ return new Promise((ok) => {
13
+ logfile.once('finish', () => {
14
+ ok();
15
+ });
16
+ });
17
+ }
18
+ exports.closeRecording = closeRecording;
19
+ /**
20
+ * Start recording all interaction with the kernel object.
21
+ *
22
+ * This method installs a proxy function for each public API in the kernel (methods that do not
23
+ * start with '_') and records input requests and output requests into JSON stream files.
24
+ *
25
+ * @param kernel The kernel object to record.
26
+ * @param inputLog Input log stream
27
+ * @param outputLog Output log stream.
28
+ */
29
+ function recordInteraction(kernel, inputOutputLogPath) {
30
+ const logfile = fs.createWriteStream(inputOutputLogPath);
31
+ kernel.logfile = logfile;
32
+ Object.entries(Object.getOwnPropertyDescriptors(kernel_1.Kernel.prototype))
33
+ .filter(([p, v]) => !p.startsWith('_') && typeof v.value === 'function')
34
+ .forEach(([api, old]) => {
35
+ Object.defineProperty(kernel, api, {
36
+ ...old,
37
+ value(...args) {
38
+ logInput({ api, ...args[0] });
39
+ try {
40
+ const ret = old.value.apply(this, args);
41
+ // if this is an async function, wait for the promised value.
42
+ if (typeof ret?.then === 'function') {
43
+ return new Promise((ok, fail) => {
44
+ return ret
45
+ .then((value) => {
46
+ logOutput({ ok: value });
47
+ ok(value);
48
+ })
49
+ .catch((err) => {
50
+ logOutput({ error: err.message });
51
+ fail(err);
52
+ });
53
+ });
54
+ }
55
+ logOutput({ ok: ret });
56
+ return ret;
57
+ }
58
+ catch (e) {
59
+ logOutput({ error: e.message });
60
+ throw e;
61
+ }
62
+ },
63
+ });
64
+ });
65
+ function logInput(obj) {
66
+ logfile.write(`> ${JSON.stringify(obj)}\n`);
67
+ }
68
+ function logOutput(obj) {
69
+ logfile.write(`< ${JSON.stringify(obj)}\n`);
70
+ }
71
+ }
72
+ exports.recordInteraction = recordInteraction;
73
+ //# sourceMappingURL=recording.js.map
@@ -89,3 +89,4 @@ export interface TypeSerialization {
89
89
  */
90
90
  export declare function serializationType(typeRef: OptionalValueOrVoid, lookup: TypeLookup): TypeSerialization[];
91
91
  export {};
92
+ //# sourceMappingURL=serialization.d.ts.map