ag-psd 20.2.3 → 21.0.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/dist/bundle.js CHANGED
@@ -482,13 +482,13 @@ function readVectorMask(reader, vectorMask, width, height, size) {
482
482
  var boolOp = (0, psdReader_1.readInt16)(reader);
483
483
  var flags = (0, psdReader_1.readUint16)(reader); // bit 1 always 1 ?
484
484
  (0, psdReader_1.skipBytes)(reader, 18);
485
- // TODO: 'combine' here might be wrong
486
485
  path = {
487
486
  open: selector === 3,
488
- operation: boolOp === -1 ? 'combine' : exports.booleanOperations[boolOp],
489
487
  knots: [],
490
488
  fillRule: flags === 2 ? 'non-zero' : 'even-odd',
491
489
  };
490
+ if (boolOp !== -1)
491
+ path.operation = exports.booleanOperations[boolOp];
492
492
  paths.push(path);
493
493
  break;
494
494
  }
@@ -565,7 +565,7 @@ addHandler('vmsk', hasKey('vectorMask'), function (reader, target, left, _a) {
565
565
  var path = _b[_i];
566
566
  (0, psdWriter_1.writeUint16)(writer, path.open ? 3 : 0);
567
567
  (0, psdWriter_1.writeUint16)(writer, path.knots.length);
568
- (0, psdWriter_1.writeUint16)(writer, Math.abs(exports.booleanOperations.indexOf(path.operation))); // default to 1 if not found
568
+ (0, psdWriter_1.writeUint16)(writer, path.operation ? exports.booleanOperations.indexOf(path.operation) : -1); // -1 for undefined
569
569
  (0, psdWriter_1.writeUint16)(writer, path.fillRule === 'non-zero' ? 2 : 1);
570
570
  (0, psdWriter_1.writeZeros)(writer, 18); // TODO: these are sometimes non-zero
571
571
  var linkedKnot = path.open ? 4 : 1;
package/dist/psd.d.ts CHANGED
@@ -448,7 +448,7 @@ export interface BezierKnot {
448
448
  export type BooleanOperation = 'exclude' | 'combine' | 'subtract' | 'intersect';
449
449
  export interface BezierPath {
450
450
  open: boolean;
451
- operation: BooleanOperation;
451
+ operation?: BooleanOperation;
452
452
  knots: BezierKnot[];
453
453
  fillRule: 'even-odd' | 'non-zero';
454
454
  }
@@ -177,13 +177,13 @@ export function readVectorMask(reader, vectorMask, width, height, size) {
177
177
  var boolOp = readInt16(reader);
178
178
  var flags = readUint16(reader); // bit 1 always 1 ?
179
179
  skipBytes(reader, 18);
180
- // TODO: 'combine' here might be wrong
181
180
  path = {
182
181
  open: selector === 3,
183
- operation: boolOp === -1 ? 'combine' : booleanOperations[boolOp],
184
182
  knots: [],
185
183
  fillRule: flags === 2 ? 'non-zero' : 'even-odd',
186
184
  };
185
+ if (boolOp !== -1)
186
+ path.operation = booleanOperations[boolOp];
187
187
  paths.push(path);
188
188
  break;
189
189
  }
@@ -259,7 +259,7 @@ addHandler('vmsk', hasKey('vectorMask'), function (reader, target, left, _a) {
259
259
  var path = _b[_i];
260
260
  writeUint16(writer, path.open ? 3 : 0);
261
261
  writeUint16(writer, path.knots.length);
262
- writeUint16(writer, Math.abs(booleanOperations.indexOf(path.operation))); // default to 1 if not found
262
+ writeUint16(writer, path.operation ? booleanOperations.indexOf(path.operation) : -1); // -1 for undefined
263
263
  writeUint16(writer, path.fillRule === 'non-zero' ? 2 : 1);
264
264
  writeZeros(writer, 18); // TODO: these are sometimes non-zero
265
265
  var linkedKnot = path.open ? 4 : 1;