@jsii/kernel 1.126.0 → 1.128.0

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/kernel.js CHANGED
@@ -10,7 +10,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
11
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
12
  };
13
- var _Kernel_instances, _Kernel_assemblies, _Kernel_objects, _Kernel_cbs, _Kernel_waiting, _Kernel_promises, _Kernel_serializerHost, _Kernel_nextid, _Kernel_syncInProgress, _Kernel_installDir, _Kernel_require, _Kernel_load, _Kernel_addAssembly, _Kernel_findCtor, _Kernel_getPackageDir, _Kernel_create, _Kernel_getSuperPropertyName, _Kernel_applyPropertyOverride, _Kernel_defineOverridenProperty, _Kernel_applyMethodOverride, _Kernel_defineOverridenMethod, _Kernel_findInvokeTarget, _Kernel_validateMethodArguments, _Kernel_assemblyFor, _Kernel_findSymbol, _Kernel_typeInfoForFqn, _Kernel_isVisibleType, _Kernel_typeInfoForMethod, _Kernel_tryTypeInfoForMethod, _Kernel_tryTypeInfoForProperty, _Kernel_typeInfoForProperty, _Kernel_toSandbox, _Kernel_fromSandbox, _Kernel_toSandboxValues, _Kernel_fromSandboxValues, _Kernel_boxUnboxParameters, _Kernel_debug, _Kernel_debugTime, _Kernel_ensureSync, _Kernel_findPropertyTarget, _Kernel_getBinScriptCommand, _Kernel_makecbid, _Kernel_makeprid;
13
+ var _Kernel_instances, _Kernel_assemblies, _Kernel_objects, _Kernel_cbs, _Kernel_waiting, _Kernel_promises, _Kernel_typeCache, _Kernel_serializerHost, _Kernel_nextid, _Kernel_syncInProgress, _Kernel_installDir, _Kernel_require, _Kernel_load, _Kernel_addAssembly, _Kernel_findCtor, _Kernel_getPackageDir, _Kernel_create, _Kernel_getSuperPropertyName, _Kernel_applyPropertyOverride, _Kernel_defineOverridenProperty, _Kernel_applyMethodOverride, _Kernel_defineOverridenMethod, _Kernel_findInvokeTarget, _Kernel_validateMethodArguments, _Kernel_assemblyFor, _Kernel_findSymbol, _Kernel_typeInfoForFqn, _Kernel_isVisibleType, _Kernel_typeInfoForMethod, _Kernel_tryTypeInfoForMethod, _Kernel_tryTypeInfoForProperty, _Kernel_typeInfoForProperty, _Kernel_toSandbox, _Kernel_fromSandbox, _Kernel_toSandboxValues, _Kernel_fromSandboxValues, _Kernel_boxUnboxParameters, _Kernel_debug, _Kernel_debugTime, _Kernel_ensureSync, _Kernel_findPropertyTarget, _Kernel_getBinScriptCommand, _Kernel_makecbid, _Kernel_makeprid;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Kernel = exports.RuntimeError = exports.JsiiFault = exports.ASSEMBLY_SUPPORTED_FEATURES = void 0;
16
16
  const spec = require("@jsii/spec");
@@ -71,6 +71,8 @@ class Kernel {
71
71
  _Kernel_cbs.set(this, new Map());
72
72
  _Kernel_waiting.set(this, new Map());
73
73
  _Kernel_promises.set(this, new Map());
74
+ // Cache for O(1) FQN-to-Type lookups (assemblies are immutable after load)
75
+ _Kernel_typeCache.set(this, new Map());
74
76
  _Kernel_serializerHost.set(this, void 0);
75
77
  _Kernel_nextid.set(this, 20000); // incrementing counter for objid, cbid, promiseid
76
78
  _Kernel_syncInProgress.set(this, void 0); // forbids async calls (begin) while processing sync calls (get/set/invoke)
@@ -271,6 +273,9 @@ class Kernel {
271
273
  }
272
274
  throw new RuntimeError(e);
273
275
  }
276
+ finally {
277
+ __classPrivateFieldGet(this, _Kernel_promises, "f").delete(promiseid);
278
+ }
274
279
  return {
275
280
  result: __classPrivateFieldGet(this, _Kernel_instances, "m", _Kernel_fromSandbox).call(this, result, (_a = method.returns) !== null && _a !== void 0 ? _a : 'void', `returned by async method ${method.name}`),
276
281
  };
@@ -338,7 +343,7 @@ class Kernel {
338
343
  }
339
344
  }
340
345
  exports.Kernel = Kernel;
341
- _Kernel_assemblies = new WeakMap(), _Kernel_objects = new WeakMap(), _Kernel_cbs = new WeakMap(), _Kernel_waiting = new WeakMap(), _Kernel_promises = new WeakMap(), _Kernel_serializerHost = new WeakMap(), _Kernel_nextid = new WeakMap(), _Kernel_syncInProgress = new WeakMap(), _Kernel_installDir = new WeakMap(), _Kernel_require = new WeakMap(), _Kernel_instances = new WeakSet(), _Kernel_load = function _Kernel_load(req) {
346
+ _Kernel_assemblies = new WeakMap(), _Kernel_objects = new WeakMap(), _Kernel_cbs = new WeakMap(), _Kernel_waiting = new WeakMap(), _Kernel_promises = new WeakMap(), _Kernel_typeCache = new WeakMap(), _Kernel_serializerHost = new WeakMap(), _Kernel_nextid = new WeakMap(), _Kernel_syncInProgress = new WeakMap(), _Kernel_installDir = new WeakMap(), _Kernel_require = new WeakMap(), _Kernel_instances = new WeakSet(), _Kernel_load = function _Kernel_load(req) {
342
347
  var _a, _b, _c;
343
348
  __classPrivateFieldGet(this, _Kernel_instances, "m", _Kernel_debug).call(this, 'load', req);
344
349
  if ('assembly' in req) {
@@ -405,6 +410,8 @@ _Kernel_assemblies = new WeakMap(), _Kernel_objects = new WeakMap(), _Kernel_cbs
405
410
  }, _Kernel_addAssembly = function _Kernel_addAssembly(assm) {
406
411
  var _a;
407
412
  __classPrivateFieldGet(this, _Kernel_assemblies, "f").set(assm.metadata.name, assm);
413
+ // Invalidate type cache as assembly data may have changed
414
+ __classPrivateFieldGet(this, _Kernel_typeCache, "f").clear();
408
415
  // We can use jsii runtime type information from jsii 1.19.0 onwards... Note that a version of
409
416
  // 0.0.0 means we are assessing against a development tree, which is newer...
410
417
  const jsiiVersion = assm.metadata.jsiiVersion.split(' ', 1)[0];
@@ -782,6 +789,11 @@ _Kernel_assemblies = new WeakMap(), _Kernel_objects = new WeakMap(), _Kernel_cbs
782
789
  return curr;
783
790
  }, _Kernel_typeInfoForFqn = function _Kernel_typeInfoForFqn(fqn) {
784
791
  var _a;
792
+ // Check cache first for O(1) lookup
793
+ const cached = __classPrivateFieldGet(this, _Kernel_typeCache, "f").get(fqn);
794
+ if (cached) {
795
+ return cached;
796
+ }
785
797
  const components = fqn.split('.');
786
798
  const moduleName = components[0];
787
799
  const assembly = __classPrivateFieldGet(this, _Kernel_assemblies, "f").get(moduleName);
@@ -793,6 +805,8 @@ _Kernel_assemblies = new WeakMap(), _Kernel_objects = new WeakMap(), _Kernel_cbs
793
805
  if (!fqnInfo) {
794
806
  throw new JsiiFault(`Type '${fqn}' not found`);
795
807
  }
808
+ // Cache for subsequent lookups (callers must not mutate returned objects)
809
+ __classPrivateFieldGet(this, _Kernel_typeCache, "f").set(fqn, fqnInfo);
796
810
  return fqnInfo;
797
811
  }, _Kernel_isVisibleType = function _Kernel_isVisibleType(fqn) {
798
812
  try {
@@ -1,5 +1,5 @@
1
1
  import * as tar from 'tar';
2
- export type ExtractOptions = Omit<tar.ExtractOptions & tar.FileOptions, 'file' | 'cwd'>;
2
+ export type ExtractOptions = Omit<tar.TarOptionsWithAliasesAsyncNoFile, 'file' | 'cwd'>;
3
3
  export interface ExtractResult {
4
4
  /**
5
5
  * When `'hit'`, the data was already present in cache and was returned from
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsii/kernel",
3
- "version": "1.126.0",
3
+ "version": "1.128.0",
4
4
  "description": "kernel for jsii execution environment",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -31,19 +31,22 @@
31
31
  "package": "package-js"
32
32
  },
33
33
  "dependencies": {
34
- "@jsii/spec": "1.126.0",
34
+ "@jsii/spec": "1.128.0",
35
35
  "fs-extra": "^10.1.0",
36
36
  "lockfile": "^1.0.4",
37
- "tar": "^6.2.1"
37
+ "tar": "^7.5.13"
38
38
  },
39
39
  "devDependencies": {
40
- "@scope/jsii-calc-base": "^1.126.0",
41
- "@scope/jsii-calc-lib": "^1.126.0",
40
+ "@scope/jsii-calc-base": "^1.128.0",
41
+ "@scope/jsii-calc-lib": "^1.128.0",
42
42
  "@types/fs-extra": "^9.0.13",
43
43
  "@types/lockfile": "^1.0.4",
44
44
  "@types/tar": "^6.1.13",
45
+ "eslint": "^9.39.4",
46
+ "jest": "^30.3.0",
45
47
  "jest-expect-message": "^1.1.3",
46
- "jsii-build-tools": "^1.126.0",
47
- "jsii-calc": "^3.20.120"
48
+ "jsii-build-tools": "^1.128.0",
49
+ "jsii-calc": "^3.20.120",
50
+ "typescript": "5.9.x"
48
51
  }
49
52
  }