@swf2es/runtime 0.1.19 → 0.1.20

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.
@@ -142,6 +142,12 @@ export declare class Bytes {
142
142
  * it by default, at the position; the length grows to the position after.
143
143
  */
144
144
  write(source: Uint8Array, offset?: number, count?: number): void;
145
+ /**
146
+ * As ByteArray::Write but for the bytes, which the caller writes itself:
147
+ * room for `count` at the position, which moves past them, the length
148
+ * growing to it. Where in the buffer they start.
149
+ */
150
+ claim(count: number): number;
145
151
  /** As ByteArray's operator[] for a write: the length grows to hold `index`. */
146
152
  setByte(index: number, value: number): void;
147
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bytearray.d.ts","sourceRoot":"","sources":["../../../src/avm2/natives/bytearray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bytearray.d.ts","sourceRoot":"","sources":["../../../src/avm2/natives/bytearray.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAU,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,OAAO,EAAuB,MAAM,aAAa,CAAC;AAWhE,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAI3C;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,oGAAoG;IACpG,EAAE,EAAE,MAAM,CAAC;IACX,0CAA0C;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,mGAAmG;IACnG,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAmBD;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAED,iGAAiG;AACjG,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAI/C;AA2BD,uFAAuF;AACvF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAK;IA4Bd,QAAQ,CAAC,EAAE,EAAE,OAAO;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ;IA5B1B,MAAM,EAAE,UAAU,CAAqB;IACvC,IAAI,4BAAoC;IACxC,MAAM,SAAK;IACX,QAAQ,SAAK;IACb,YAAY,UAAS;IACrB,mFAAmF;IACnF,cAAc,EAAE,MAAM,CAAC;IACvB,8FAA8F;IAC9F,UAAU,UAAS;IACnB;;;OAGG;IACH,SAAS,UAAS;IAClB;;;;OAIG;IACH,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IACxC,2FAA2F;IAC3F,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,UAAU,CAA2B;IAC7C,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAE1D,YACW,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,QAAQ,EAWzB;IAED,2EAA2E;IAC3E,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAM7C;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,qGAAqG;IACrG,OAAO,CAAC,OAAO;IAoCf,oHAAoH;IACpH,OAAO,CAAC,MAAM;IAUd,qCAAqC;IACrC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,UAAQ,GAAG,IAAI,CAYlD;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAS3B;IAED,gFAAgF;IAChF,OAAO,CAAC,KAAK;IAUb,uFAAuF;IACvF,OAAO,CAAC,OAAO;IAcf,6HAA6H;IAC7H,MAAM,IAAI,IAAI,CAQb;IAED,4FAA4F;IAC5F,KAAK,IAAI,IAAI,CAiBZ;IAED;;;;;OAKG;IACH,KAAK,IAAI,iBAAiB,CAiCzB;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAsBrC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAwBf,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAWpE;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CA0B3D;IAED,iFAAiF;IACjF,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ3B;IAED,qGAAqG;IACrG,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAY5B;IAED,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAI5B;IAED,2DAA2D;IAC3D,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAK9B;IAED,iGAAiG;IACjG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAKlC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,SAAI,EAAE,KAAK,SAAgB,GAAG,IAAI,CAIjE;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsB3B;IAED,+EAA+E;IAC/E,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAU1C;CACF;AAiCD,0GAA0G;AAC1G,eAAO,MAAM,aAAa,EAAE,SAAS,GAAG;IAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,KAAK,QAAQ,CAAA;CAkB1F,CAAC;AAEF,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAMvD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,GAAG,iBAAiB,CAEtE;AAED,oHAAoH;AACpH,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,GAAG,QAAQ,CAWhF;AAED,qEAAqE;AACrE,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAElF;AAkDD,iEAAiE;AACjE,2GAA2G;AAC3G,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAojBrD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CA2B3D"}
@@ -421,14 +421,24 @@ export class Bytes {
421
421
  * it by default, at the position; the length grows to the position after.
422
422
  */
423
423
  write(source, offset = 0, count = source.length) {
424
+ // Before the buffer is read: making room may replace it.
425
+ const at = this.claim(count);
426
+ copyBytes(this.buffer, at, source, offset, count);
427
+ }
428
+ /**
429
+ * As ByteArray::Write but for the bytes, which the caller writes itself:
430
+ * room for `count` at the position, which moves past them, the length
431
+ * growing to it. Where in the buffer they start.
432
+ */
433
+ claim(count) {
424
434
  if (count > 0xffffffff - this.position) {
425
435
  throw this.rt.error("flash.errors::MemoryError", 1000);
426
436
  }
427
- const end = (this.position + count) >>> 0;
437
+ const at = this.position;
438
+ const end = (at + count) >>> 0;
428
439
  if (end > this.buffer.length) {
429
440
  this.ensure(end, false);
430
441
  }
431
- copyBytes(this.buffer, this.position, source, offset, count);
432
442
  this.position = end;
433
443
  if (this.length < end) {
434
444
  if (this.shared === null) {
@@ -439,6 +449,7 @@ export class Bytes {
439
449
  }
440
450
  }
441
451
  this.notify();
452
+ return at;
442
453
  }
443
454
  /** As ByteArray's operator[] for a write: the length grows to hold `index`. */
444
455
  setByte(index, value) {
@@ -1 +1 @@
1
- {"version":3,"file":"bytearray.js","sourceRoot":"","sources":["../../../src/avm2/natives/bytearray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bytearray.js","sourceRoot":"","sources":["../../../src/avm2/natives/bytearray.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swf2es/runtime",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "description": "AVM2 and AVM1 language runtime used by generated code",
5
5
  "keywords": [
6
6
  "actionscript",
@@ -41,6 +41,6 @@
41
41
  "LICENSE.third-party"
42
42
  ],
43
43
  "dependencies": {
44
- "@swf2es/format": "0.1.19"
44
+ "@swf2es/format": "0.1.20"
45
45
  }
46
46
  }
@@ -529,16 +529,27 @@ export class Bytes {
529
529
  * it by default, at the position; the length grows to the position after.
530
530
  */
531
531
  write(source: Uint8Array, offset = 0, count = source.length): void {
532
+ // Before the buffer is read: making room may replace it.
533
+ const at = this.claim(count);
534
+ copyBytes(this.buffer, at, source, offset, count);
535
+ }
536
+
537
+ /**
538
+ * As ByteArray::Write but for the bytes, which the caller writes itself:
539
+ * room for `count` at the position, which moves past them, the length
540
+ * growing to it. Where in the buffer they start.
541
+ */
542
+ claim(count: number): number {
532
543
  if (count > 0xffffffff - this.position) {
533
544
  throw this.rt.error("flash.errors::MemoryError", 1000);
534
545
  }
535
546
 
536
- const end = (this.position + count) >>> 0;
547
+ const at = this.position;
548
+ const end = (at + count) >>> 0;
537
549
  if (end > this.buffer.length) {
538
550
  this.ensure(end, false);
539
551
  }
540
552
 
541
- copyBytes(this.buffer, this.position, source, offset, count);
542
553
  this.position = end;
543
554
  if (this.length < end) {
544
555
  if (this.shared === null) {
@@ -549,6 +560,7 @@ export class Bytes {
549
560
  }
550
561
 
551
562
  this.notify();
563
+ return at;
552
564
  }
553
565
 
554
566
  /** As ByteArray's operator[] for a write: the length grows to hold `index`. */