@jsii/runtime 1.72.0 → 1.74.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsii/runtime",
3
- "version": "1.72.0",
3
+ "version": "1.74.0",
4
4
  "description": "jsii runtime kernel process",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -34,17 +34,17 @@
34
34
  "package": "package-js"
35
35
  },
36
36
  "dependencies": {
37
- "@jsii/kernel": "^1.72.0",
38
- "@jsii/check-node": "1.72.0",
39
- "@jsii/spec": "^1.72.0"
37
+ "@jsii/kernel": "^1.74.0",
38
+ "@jsii/check-node": "1.74.0",
39
+ "@jsii/spec": "^1.74.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@scope/jsii-calc-base": "^1.72.0",
43
- "@scope/jsii-calc-lib": "^1.72.0",
44
- "jsii-build-tools": "^1.72.0",
42
+ "@scope/jsii-calc-base": "^1.74.0",
43
+ "@scope/jsii-calc-lib": "^1.74.0",
44
+ "jsii-build-tools": "^1.74.0",
45
45
  "jsii-calc": "^3.20.120",
46
46
  "source-map-loader": "^4.0.1",
47
47
  "webpack": "^5.75.0",
48
- "webpack-cli": "^5.0.0"
48
+ "webpack-cli": "^5.0.1"
49
49
  }
50
50
  }
@@ -3449,7 +3449,7 @@ var __webpack_modules__ = {
3449
3449
  this.piped = false;
3450
3450
  }
3451
3451
  }
3452
- const MiniPass = __webpack_require__(2253);
3452
+ const MiniPass = __webpack_require__(3201);
3453
3453
  const zlib = __webpack_require__(3704);
3454
3454
  const ReadEntry = __webpack_require__(7847);
3455
3455
  const WriteEntry = __webpack_require__(8418);
@@ -4407,7 +4407,7 @@ var __webpack_modules__ = {
4407
4407
  },
4408
4408
  7847: (module, __unused_webpack_exports, __webpack_require__) => {
4409
4409
  "use strict";
4410
- const MiniPass = __webpack_require__(2253);
4410
+ const MiniPass = __webpack_require__(3201);
4411
4411
  const normPath = __webpack_require__(4240);
4412
4412
  const SLURP = Symbol("slurp");
4413
4413
  module.exports = class ReadEntry extends MiniPass {
@@ -5459,7 +5459,7 @@ var __webpack_modules__ = {
5459
5459
  },
5460
5460
  8418: (module, __unused_webpack_exports, __webpack_require__) => {
5461
5461
  "use strict";
5462
- const MiniPass = __webpack_require__(2253);
5462
+ const MiniPass = __webpack_require__(3201);
5463
5463
  const Pax = __webpack_require__(9154);
5464
5464
  const Header = __webpack_require__(5017);
5465
5465
  const fs = __webpack_require__(7147);
@@ -5914,6 +5914,451 @@ var __webpack_modules__ = {
5914
5914
  const getType = stat => stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : "Unsupported";
5915
5915
  module.exports = WriteEntry;
5916
5916
  },
5917
+ 3201: (module, __unused_webpack_exports, __webpack_require__) => {
5918
+ "use strict";
5919
+ const proc = typeof process === "object" && process ? process : {
5920
+ stdout: null,
5921
+ stderr: null
5922
+ };
5923
+ const EE = __webpack_require__(2361);
5924
+ const Stream = __webpack_require__(2781);
5925
+ const SD = __webpack_require__(1576).StringDecoder;
5926
+ const EOF = Symbol("EOF");
5927
+ const MAYBE_EMIT_END = Symbol("maybeEmitEnd");
5928
+ const EMITTED_END = Symbol("emittedEnd");
5929
+ const EMITTING_END = Symbol("emittingEnd");
5930
+ const EMITTED_ERROR = Symbol("emittedError");
5931
+ const CLOSED = Symbol("closed");
5932
+ const READ = Symbol("read");
5933
+ const FLUSH = Symbol("flush");
5934
+ const FLUSHCHUNK = Symbol("flushChunk");
5935
+ const ENCODING = Symbol("encoding");
5936
+ const DECODER = Symbol("decoder");
5937
+ const FLOWING = Symbol("flowing");
5938
+ const PAUSED = Symbol("paused");
5939
+ const RESUME = Symbol("resume");
5940
+ const BUFFER = Symbol("buffer");
5941
+ const PIPES = Symbol("pipes");
5942
+ const BUFFERLENGTH = Symbol("bufferLength");
5943
+ const BUFFERPUSH = Symbol("bufferPush");
5944
+ const BUFFERSHIFT = Symbol("bufferShift");
5945
+ const OBJECTMODE = Symbol("objectMode");
5946
+ const DESTROYED = Symbol("destroyed");
5947
+ const EMITDATA = Symbol("emitData");
5948
+ const EMITEND = Symbol("emitEnd");
5949
+ const EMITEND2 = Symbol("emitEnd2");
5950
+ const ASYNC = Symbol("async");
5951
+ const defer = fn => Promise.resolve().then(fn);
5952
+ const doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== "1";
5953
+ const ASYNCITERATOR = doIter && Symbol.asyncIterator || Symbol("asyncIterator not implemented");
5954
+ const ITERATOR = doIter && Symbol.iterator || Symbol("iterator not implemented");
5955
+ const isEndish = ev => ev === "end" || ev === "finish" || ev === "prefinish";
5956
+ const isArrayBuffer = b => b instanceof ArrayBuffer || typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
5957
+ const isArrayBufferView = b => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
5958
+ class Pipe {
5959
+ constructor(src, dest, opts) {
5960
+ this.src = src;
5961
+ this.dest = dest;
5962
+ this.opts = opts;
5963
+ this.ondrain = () => src[RESUME]();
5964
+ dest.on("drain", this.ondrain);
5965
+ }
5966
+ unpipe() {
5967
+ this.dest.removeListener("drain", this.ondrain);
5968
+ }
5969
+ proxyErrors() {}
5970
+ end() {
5971
+ this.unpipe();
5972
+ if (this.opts.end) this.dest.end();
5973
+ }
5974
+ }
5975
+ class PipeProxyErrors extends Pipe {
5976
+ unpipe() {
5977
+ this.src.removeListener("error", this.proxyErrors);
5978
+ super.unpipe();
5979
+ }
5980
+ constructor(src, dest, opts) {
5981
+ super(src, dest, opts);
5982
+ this.proxyErrors = er => dest.emit("error", er);
5983
+ src.on("error", this.proxyErrors);
5984
+ }
5985
+ }
5986
+ module.exports = class Minipass extends Stream {
5987
+ constructor(options) {
5988
+ super();
5989
+ this[FLOWING] = false;
5990
+ this[PAUSED] = false;
5991
+ this[PIPES] = [];
5992
+ this[BUFFER] = [];
5993
+ this[OBJECTMODE] = options && options.objectMode || false;
5994
+ if (this[OBJECTMODE]) this[ENCODING] = null; else this[ENCODING] = options && options.encoding || null;
5995
+ if (this[ENCODING] === "buffer") this[ENCODING] = null;
5996
+ this[ASYNC] = options && !!options.async || false;
5997
+ this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null;
5998
+ this[EOF] = false;
5999
+ this[EMITTED_END] = false;
6000
+ this[EMITTING_END] = false;
6001
+ this[CLOSED] = false;
6002
+ this[EMITTED_ERROR] = null;
6003
+ this.writable = true;
6004
+ this.readable = true;
6005
+ this[BUFFERLENGTH] = 0;
6006
+ this[DESTROYED] = false;
6007
+ if (options && options.debugExposeBuffer === true) {
6008
+ Object.defineProperty(this, "buffer", {
6009
+ get: () => this[BUFFER]
6010
+ });
6011
+ }
6012
+ if (options && options.debugExposePipes === true) {
6013
+ Object.defineProperty(this, "pipes", {
6014
+ get: () => this[PIPES]
6015
+ });
6016
+ }
6017
+ }
6018
+ get bufferLength() {
6019
+ return this[BUFFERLENGTH];
6020
+ }
6021
+ get encoding() {
6022
+ return this[ENCODING];
6023
+ }
6024
+ set encoding(enc) {
6025
+ if (this[OBJECTMODE]) throw new Error("cannot set encoding in objectMode");
6026
+ if (this[ENCODING] && enc !== this[ENCODING] && (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH])) throw new Error("cannot change encoding");
6027
+ if (this[ENCODING] !== enc) {
6028
+ this[DECODER] = enc ? new SD(enc) : null;
6029
+ if (this[BUFFER].length) this[BUFFER] = this[BUFFER].map((chunk => this[DECODER].write(chunk)));
6030
+ }
6031
+ this[ENCODING] = enc;
6032
+ }
6033
+ setEncoding(enc) {
6034
+ this.encoding = enc;
6035
+ }
6036
+ get objectMode() {
6037
+ return this[OBJECTMODE];
6038
+ }
6039
+ set objectMode(om) {
6040
+ this[OBJECTMODE] = this[OBJECTMODE] || !!om;
6041
+ }
6042
+ get ["async"]() {
6043
+ return this[ASYNC];
6044
+ }
6045
+ set ["async"](a) {
6046
+ this[ASYNC] = this[ASYNC] || !!a;
6047
+ }
6048
+ write(chunk, encoding, cb) {
6049
+ if (this[EOF]) throw new Error("write after end");
6050
+ if (this[DESTROYED]) {
6051
+ this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), {
6052
+ code: "ERR_STREAM_DESTROYED"
6053
+ }));
6054
+ return true;
6055
+ }
6056
+ if (typeof encoding === "function") cb = encoding, encoding = "utf8";
6057
+ if (!encoding) encoding = "utf8";
6058
+ const fn = this[ASYNC] ? defer : f => f();
6059
+ if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
6060
+ if (isArrayBufferView(chunk)) chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength); else if (isArrayBuffer(chunk)) chunk = Buffer.from(chunk); else if (typeof chunk !== "string") this.objectMode = true;
6061
+ }
6062
+ if (this[OBJECTMODE]) {
6063
+ if (this.flowing && this[BUFFERLENGTH] !== 0) this[FLUSH](true);
6064
+ if (this.flowing) this.emit("data", chunk); else this[BUFFERPUSH](chunk);
6065
+ if (this[BUFFERLENGTH] !== 0) this.emit("readable");
6066
+ if (cb) fn(cb);
6067
+ return this.flowing;
6068
+ }
6069
+ if (!chunk.length) {
6070
+ if (this[BUFFERLENGTH] !== 0) this.emit("readable");
6071
+ if (cb) fn(cb);
6072
+ return this.flowing;
6073
+ }
6074
+ if (typeof chunk === "string" && !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) {
6075
+ chunk = Buffer.from(chunk, encoding);
6076
+ }
6077
+ if (Buffer.isBuffer(chunk) && this[ENCODING]) chunk = this[DECODER].write(chunk);
6078
+ if (this.flowing && this[BUFFERLENGTH] !== 0) this[FLUSH](true);
6079
+ if (this.flowing) this.emit("data", chunk); else this[BUFFERPUSH](chunk);
6080
+ if (this[BUFFERLENGTH] !== 0) this.emit("readable");
6081
+ if (cb) fn(cb);
6082
+ return this.flowing;
6083
+ }
6084
+ read(n) {
6085
+ if (this[DESTROYED]) return null;
6086
+ if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) {
6087
+ this[MAYBE_EMIT_END]();
6088
+ return null;
6089
+ }
6090
+ if (this[OBJECTMODE]) n = null;
6091
+ if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
6092
+ if (this.encoding) this[BUFFER] = [ this[BUFFER].join("") ]; else this[BUFFER] = [ Buffer.concat(this[BUFFER], this[BUFFERLENGTH]) ];
6093
+ }
6094
+ const ret = this[READ](n || null, this[BUFFER][0]);
6095
+ this[MAYBE_EMIT_END]();
6096
+ return ret;
6097
+ }
6098
+ [READ](n, chunk) {
6099
+ if (n === chunk.length || n === null) this[BUFFERSHIFT](); else {
6100
+ this[BUFFER][0] = chunk.slice(n);
6101
+ chunk = chunk.slice(0, n);
6102
+ this[BUFFERLENGTH] -= n;
6103
+ }
6104
+ this.emit("data", chunk);
6105
+ if (!this[BUFFER].length && !this[EOF]) this.emit("drain");
6106
+ return chunk;
6107
+ }
6108
+ end(chunk, encoding, cb) {
6109
+ if (typeof chunk === "function") cb = chunk, chunk = null;
6110
+ if (typeof encoding === "function") cb = encoding, encoding = "utf8";
6111
+ if (chunk) this.write(chunk, encoding);
6112
+ if (cb) this.once("end", cb);
6113
+ this[EOF] = true;
6114
+ this.writable = false;
6115
+ if (this.flowing || !this[PAUSED]) this[MAYBE_EMIT_END]();
6116
+ return this;
6117
+ }
6118
+ [RESUME]() {
6119
+ if (this[DESTROYED]) return;
6120
+ this[PAUSED] = false;
6121
+ this[FLOWING] = true;
6122
+ this.emit("resume");
6123
+ if (this[BUFFER].length) this[FLUSH](); else if (this[EOF]) this[MAYBE_EMIT_END](); else this.emit("drain");
6124
+ }
6125
+ resume() {
6126
+ return this[RESUME]();
6127
+ }
6128
+ pause() {
6129
+ this[FLOWING] = false;
6130
+ this[PAUSED] = true;
6131
+ }
6132
+ get destroyed() {
6133
+ return this[DESTROYED];
6134
+ }
6135
+ get flowing() {
6136
+ return this[FLOWING];
6137
+ }
6138
+ get paused() {
6139
+ return this[PAUSED];
6140
+ }
6141
+ [BUFFERPUSH](chunk) {
6142
+ if (this[OBJECTMODE]) this[BUFFERLENGTH] += 1; else this[BUFFERLENGTH] += chunk.length;
6143
+ this[BUFFER].push(chunk);
6144
+ }
6145
+ [BUFFERSHIFT]() {
6146
+ if (this[BUFFER].length) {
6147
+ if (this[OBJECTMODE]) this[BUFFERLENGTH] -= 1; else this[BUFFERLENGTH] -= this[BUFFER][0].length;
6148
+ }
6149
+ return this[BUFFER].shift();
6150
+ }
6151
+ [FLUSH](noDrain) {
6152
+ do {} while (this[FLUSHCHUNK](this[BUFFERSHIFT]()));
6153
+ if (!noDrain && !this[BUFFER].length && !this[EOF]) this.emit("drain");
6154
+ }
6155
+ [FLUSHCHUNK](chunk) {
6156
+ return chunk ? (this.emit("data", chunk), this.flowing) : false;
6157
+ }
6158
+ pipe(dest, opts) {
6159
+ if (this[DESTROYED]) return;
6160
+ const ended = this[EMITTED_END];
6161
+ opts = opts || {};
6162
+ if (dest === proc.stdout || dest === proc.stderr) opts.end = false; else opts.end = opts.end !== false;
6163
+ opts.proxyErrors = !!opts.proxyErrors;
6164
+ if (ended) {
6165
+ if (opts.end) dest.end();
6166
+ } else {
6167
+ this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
6168
+ if (this[ASYNC]) defer((() => this[RESUME]())); else this[RESUME]();
6169
+ }
6170
+ return dest;
6171
+ }
6172
+ unpipe(dest) {
6173
+ const p = this[PIPES].find((p => p.dest === dest));
6174
+ if (p) {
6175
+ this[PIPES].splice(this[PIPES].indexOf(p), 1);
6176
+ p.unpipe();
6177
+ }
6178
+ }
6179
+ addListener(ev, fn) {
6180
+ return this.on(ev, fn);
6181
+ }
6182
+ on(ev, fn) {
6183
+ const ret = super.on(ev, fn);
6184
+ if (ev === "data" && !this[PIPES].length && !this.flowing) this[RESUME](); else if (ev === "readable" && this[BUFFERLENGTH] !== 0) super.emit("readable"); else if (isEndish(ev) && this[EMITTED_END]) {
6185
+ super.emit(ev);
6186
+ this.removeAllListeners(ev);
6187
+ } else if (ev === "error" && this[EMITTED_ERROR]) {
6188
+ if (this[ASYNC]) defer((() => fn.call(this, this[EMITTED_ERROR]))); else fn.call(this, this[EMITTED_ERROR]);
6189
+ }
6190
+ return ret;
6191
+ }
6192
+ get emittedEnd() {
6193
+ return this[EMITTED_END];
6194
+ }
6195
+ [MAYBE_EMIT_END]() {
6196
+ if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
6197
+ this[EMITTING_END] = true;
6198
+ this.emit("end");
6199
+ this.emit("prefinish");
6200
+ this.emit("finish");
6201
+ if (this[CLOSED]) this.emit("close");
6202
+ this[EMITTING_END] = false;
6203
+ }
6204
+ }
6205
+ emit(ev, data, ...extra) {
6206
+ if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) return; else if (ev === "data") {
6207
+ return !data ? false : this[ASYNC] ? defer((() => this[EMITDATA](data))) : this[EMITDATA](data);
6208
+ } else if (ev === "end") {
6209
+ return this[EMITEND]();
6210
+ } else if (ev === "close") {
6211
+ this[CLOSED] = true;
6212
+ if (!this[EMITTED_END] && !this[DESTROYED]) return;
6213
+ const ret = super.emit("close");
6214
+ this.removeAllListeners("close");
6215
+ return ret;
6216
+ } else if (ev === "error") {
6217
+ this[EMITTED_ERROR] = data;
6218
+ const ret = super.emit("error", data);
6219
+ this[MAYBE_EMIT_END]();
6220
+ return ret;
6221
+ } else if (ev === "resume") {
6222
+ const ret = super.emit("resume");
6223
+ this[MAYBE_EMIT_END]();
6224
+ return ret;
6225
+ } else if (ev === "finish" || ev === "prefinish") {
6226
+ const ret = super.emit(ev);
6227
+ this.removeAllListeners(ev);
6228
+ return ret;
6229
+ }
6230
+ const ret = super.emit(ev, data, ...extra);
6231
+ this[MAYBE_EMIT_END]();
6232
+ return ret;
6233
+ }
6234
+ [EMITDATA](data) {
6235
+ for (const p of this[PIPES]) {
6236
+ if (p.dest.write(data) === false) this.pause();
6237
+ }
6238
+ const ret = super.emit("data", data);
6239
+ this[MAYBE_EMIT_END]();
6240
+ return ret;
6241
+ }
6242
+ [EMITEND]() {
6243
+ if (this[EMITTED_END]) return;
6244
+ this[EMITTED_END] = true;
6245
+ this.readable = false;
6246
+ if (this[ASYNC]) defer((() => this[EMITEND2]())); else this[EMITEND2]();
6247
+ }
6248
+ [EMITEND2]() {
6249
+ if (this[DECODER]) {
6250
+ const data = this[DECODER].end();
6251
+ if (data) {
6252
+ for (const p of this[PIPES]) {
6253
+ p.dest.write(data);
6254
+ }
6255
+ super.emit("data", data);
6256
+ }
6257
+ }
6258
+ for (const p of this[PIPES]) {
6259
+ p.end();
6260
+ }
6261
+ const ret = super.emit("end");
6262
+ this.removeAllListeners("end");
6263
+ return ret;
6264
+ }
6265
+ collect() {
6266
+ const buf = [];
6267
+ if (!this[OBJECTMODE]) buf.dataLength = 0;
6268
+ const p = this.promise();
6269
+ this.on("data", (c => {
6270
+ buf.push(c);
6271
+ if (!this[OBJECTMODE]) buf.dataLength += c.length;
6272
+ }));
6273
+ return p.then((() => buf));
6274
+ }
6275
+ concat() {
6276
+ return this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this.collect().then((buf => this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength)));
6277
+ }
6278
+ promise() {
6279
+ return new Promise(((resolve, reject) => {
6280
+ this.on(DESTROYED, (() => reject(new Error("stream destroyed"))));
6281
+ this.on("error", (er => reject(er)));
6282
+ this.on("end", (() => resolve()));
6283
+ }));
6284
+ }
6285
+ [ASYNCITERATOR]() {
6286
+ const next = () => {
6287
+ const res = this.read();
6288
+ if (res !== null) return Promise.resolve({
6289
+ done: false,
6290
+ value: res
6291
+ });
6292
+ if (this[EOF]) return Promise.resolve({
6293
+ done: true
6294
+ });
6295
+ let resolve = null;
6296
+ let reject = null;
6297
+ const onerr = er => {
6298
+ this.removeListener("data", ondata);
6299
+ this.removeListener("end", onend);
6300
+ reject(er);
6301
+ };
6302
+ const ondata = value => {
6303
+ this.removeListener("error", onerr);
6304
+ this.removeListener("end", onend);
6305
+ this.pause();
6306
+ resolve({
6307
+ value,
6308
+ done: !!this[EOF]
6309
+ });
6310
+ };
6311
+ const onend = () => {
6312
+ this.removeListener("error", onerr);
6313
+ this.removeListener("data", ondata);
6314
+ resolve({
6315
+ done: true
6316
+ });
6317
+ };
6318
+ const ondestroy = () => onerr(new Error("stream destroyed"));
6319
+ return new Promise(((res, rej) => {
6320
+ reject = rej;
6321
+ resolve = res;
6322
+ this.once(DESTROYED, ondestroy);
6323
+ this.once("error", onerr);
6324
+ this.once("end", onend);
6325
+ this.once("data", ondata);
6326
+ }));
6327
+ };
6328
+ return {
6329
+ next
6330
+ };
6331
+ }
6332
+ [ITERATOR]() {
6333
+ const next = () => {
6334
+ const value = this.read();
6335
+ const done = value === null;
6336
+ return {
6337
+ value,
6338
+ done
6339
+ };
6340
+ };
6341
+ return {
6342
+ next
6343
+ };
6344
+ }
6345
+ destroy(er) {
6346
+ if (this[DESTROYED]) {
6347
+ if (er) this.emit("error", er); else this.emit(DESTROYED);
6348
+ return this;
6349
+ }
6350
+ this[DESTROYED] = true;
6351
+ this[BUFFER].length = 0;
6352
+ this[BUFFERLENGTH] = 0;
6353
+ if (typeof this.close === "function" && !this[CLOSED]) this.close();
6354
+ if (er) this.emit("error", er); else this.emit(DESTROYED);
6355
+ return this;
6356
+ }
6357
+ static isStream(s) {
6358
+ return !!s && (s instanceof Minipass || s instanceof Stream || s instanceof EE && (typeof s.pipe === "function" || typeof s.write === "function" && typeof s.end === "function"));
6359
+ }
6360
+ };
6361
+ },
5917
6362
  3459: (__unused_webpack_module, exports) => {
5918
6363
  "use strict";
5919
6364
  exports.fromCallback = function(fn) {
@@ -13808,7 +14253,7 @@ var __webpack_modules__ = {
13808
14253
  strictTypesError(it, `type "${t}" not allowed by context "${it.dataTypes.join(",")}"`);
13809
14254
  }
13810
14255
  }));
13811
- it.dataTypes = it.dataTypes.filter((t => includesType(types, t)));
14256
+ narrowSchemaTypes(it, types);
13812
14257
  }
13813
14258
  function checkMultipleTypes(it, ts) {
13814
14259
  if (ts.length > 1 && !(ts.length === 2 && ts.includes("null"))) {
@@ -13833,6 +14278,13 @@ var __webpack_modules__ = {
13833
14278
  function includesType(ts, t) {
13834
14279
  return ts.includes(t) || t === "integer" && ts.includes("number");
13835
14280
  }
14281
+ function narrowSchemaTypes(it, withTypes) {
14282
+ const ts = [];
14283
+ for (const t of it.dataTypes) {
14284
+ if (includesType(withTypes, t)) ts.push(t); else if (withTypes.includes("integer") && t === "number") ts.push("integer");
14285
+ }
14286
+ it.dataTypes = ts;
14287
+ }
13836
14288
  function strictTypesError(it, msg) {
13837
14289
  const schemaPath = it.schemaEnv.baseId + it.errSchemaPath;
13838
14290
  msg += ` at "${schemaPath}" (strictTypes)`;
@@ -16798,7 +17250,7 @@ var __webpack_modules__ = {
16798
17250
  },
16799
17251
  4147: module => {
16800
17252
  "use strict";
16801
- module.exports = JSON.parse('{"name":"@jsii/runtime","version":"1.72.0","description":"jsii runtime kernel process","license":"Apache-2.0","author":{"name":"Amazon Web Services","url":"https://aws.amazon.com"},"homepage":"https://github.com/aws/jsii","bugs":{"url":"https://github.com/aws/jsii/issues"},"repository":{"type":"git","url":"https://github.com/aws/jsii.git","directory":"packages/@jsii/runtime"},"engines":{"node":">= 14.6.0"},"main":"lib/index.js","types":"lib/index.d.ts","bin":{"jsii-runtime":"bin/jsii-runtime"},"scripts":{"build":"tsc --build && chmod +x bin/jsii-runtime && npx webpack-cli && npm run lint","watch":"tsc --build -w","lint":"eslint . --ext .js,.ts --ignore-path=.gitignore --ignore-pattern=webpack.config.js","lint:fix":"yarn lint --fix","test":"jest","test:update":"jest -u","package":"package-js"},"dependencies":{"@jsii/kernel":"^1.72.0","@jsii/check-node":"1.72.0","@jsii/spec":"^1.72.0"},"devDependencies":{"@scope/jsii-calc-base":"^1.72.0","@scope/jsii-calc-lib":"^1.72.0","jsii-build-tools":"^1.72.0","jsii-calc":"^3.20.120","source-map-loader":"^4.0.1","webpack":"^5.75.0","webpack-cli":"^5.0.0"}}');
17253
+ module.exports = JSON.parse('{"name":"@jsii/runtime","version":"1.74.0","description":"jsii runtime kernel process","license":"Apache-2.0","author":{"name":"Amazon Web Services","url":"https://aws.amazon.com"},"homepage":"https://github.com/aws/jsii","bugs":{"url":"https://github.com/aws/jsii/issues"},"repository":{"type":"git","url":"https://github.com/aws/jsii.git","directory":"packages/@jsii/runtime"},"engines":{"node":">= 14.6.0"},"main":"lib/index.js","types":"lib/index.d.ts","bin":{"jsii-runtime":"bin/jsii-runtime"},"scripts":{"build":"tsc --build && chmod +x bin/jsii-runtime && npx webpack-cli && npm run lint","watch":"tsc --build -w","lint":"eslint . --ext .js,.ts --ignore-path=.gitignore --ignore-pattern=webpack.config.js","lint:fix":"yarn lint --fix","test":"jest","test:update":"jest -u","package":"package-js"},"dependencies":{"@jsii/kernel":"^1.74.0","@jsii/check-node":"1.74.0","@jsii/spec":"^1.74.0"},"devDependencies":{"@scope/jsii-calc-base":"^1.74.0","@scope/jsii-calc-lib":"^1.74.0","jsii-build-tools":"^1.74.0","jsii-calc":"^3.20.120","source-map-loader":"^4.0.1","webpack":"^5.75.0","webpack-cli":"^5.0.1"}}');
16802
17254
  },
16803
17255
  5277: module => {
16804
17256
  "use strict";