ag-psd 21.0.2 → 22.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.
@@ -383,14 +383,14 @@ addHandler('vogk', hasKey('vectorOrigination'), function (reader, target, left)
383
383
  writeInt32(writer, 1); // version
384
384
  writeVersionAndDescriptor(writer, '', 'null', desc);
385
385
  });
386
- addHandler('lmfx', function (target) { return target.effects !== undefined && hasMultiEffects(target.effects); }, function (reader, target, left, _, options) {
386
+ addHandler('lmfx', function (target) { return target.effects !== undefined && hasMultiEffects(target.effects); }, function (reader, target, left) {
387
387
  var version = readUint32(reader);
388
388
  if (version !== 0)
389
389
  throw new Error('Invalid lmfx version');
390
390
  var desc = readVersionAndDescriptor(reader);
391
391
  // console.log(require('util').inspect(info, false, 99, true));
392
392
  // discard if read in 'lrFX' or 'lfx2' section
393
- target.effects = parseEffects(desc, !!options.logMissingFeatures);
393
+ target.effects = parseEffects(desc, !!reader.logMissingFeatures);
394
394
  skipBytes(reader, left());
395
395
  }, function (writer, target, _, options) {
396
396
  var desc = serializeEffects(target.effects, !!options.logMissingFeatures, true);
@@ -405,7 +405,20 @@ addHandler('lrFX', hasKey('effects'), function (reader, target, left) {
405
405
  writeEffects(writer, target.effects);
406
406
  });
407
407
  addHandler('luni', hasKey('name'), function (reader, target, left) {
408
- target.name = readUnicodeString(reader);
408
+ if (left() > 4) {
409
+ var length_1 = readUint32(reader);
410
+ if (left() >= (length_1 * 2)) {
411
+ target.name = readUnicodeStringWithLength(reader, length_1);
412
+ }
413
+ else {
414
+ if (reader.logDevFeatures)
415
+ reader.log('name in luni section is too long');
416
+ }
417
+ }
418
+ else {
419
+ if (reader.logDevFeatures)
420
+ reader.log('empty luni section');
421
+ }
409
422
  skipBytes(reader, left());
410
423
  }, function (writer, target) {
411
424
  writeUnicodeString(writer, target.name);
@@ -496,7 +509,7 @@ addHandler('lclr', hasKey('layerColor'), function (reader, target) {
496
509
  writeZeros(writer, 6);
497
510
  });
498
511
  addHandler('shmd', function (target) { return target.timestamp !== undefined || target.animationFrames !== undefined ||
499
- target.animationFrameFlags !== undefined || target.timeline !== undefined || target.comps !== undefined; }, function (reader, target, left, _, options) {
512
+ target.animationFrameFlags !== undefined || target.timeline !== undefined || target.comps !== undefined; }, function (reader, target, left) {
500
513
  var count = readUint32(reader);
501
514
  var _loop_1 = function (i) {
502
515
  checkSignature(reader, '8BIM');
@@ -524,7 +537,7 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
524
537
  if (f.FXRf)
525
538
  frame.referencePoint = horzVrtcToXY(f.FXRf);
526
539
  if (f.Lefx)
527
- frame.effects = parseEffects(f.Lefx, !!options.logMissingFeatures);
540
+ frame.effects = parseEffects(f.Lefx, !!reader.logMissingFeatures);
528
541
  if (f.blendOptions && f.blendOptions.Opct)
529
542
  frame.opacity = parsePercent(f.blendOptions.Opct);
530
543
  target.animationFrames.push(frame);
@@ -555,7 +568,7 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
555
568
  audioLevel: desc.audioLevel,
556
569
  };
557
570
  if (desc.trackList) {
558
- timeline.tracks = parseTrackList(desc.trackList, !!options.logMissingFeatures);
571
+ timeline.tracks = parseTrackList(desc.trackList, !!reader.logMissingFeatures);
559
572
  }
560
573
  target.timeline = timeline;
561
574
  // console.log('tmln:result', target.name, target.id, require('util').inspect(timeline, false, 99, true));
@@ -581,7 +594,7 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
581
594
  }
582
595
  }
583
596
  else {
584
- options.logMissingFeatures && console.log('Unhandled "shmd" section key', key);
597
+ reader.logMissingFeatures && reader.log('Unhandled "shmd" section key', key);
585
598
  }
586
599
  skipBytes(reader, left());
587
600
  });
@@ -1795,7 +1808,7 @@ function getWarpFromPlacedLayer(placed) {
1795
1808
  },
1796
1809
  };
1797
1810
  }
1798
- addHandler('SoLd', hasKey('placedLayer'), function (reader, target, left, _, options) {
1811
+ addHandler('SoLd', hasKey('placedLayer'), function (reader, target, left) {
1799
1812
  if (readSignature(reader) !== 'soLD')
1800
1813
  throw new Error("Invalid SoLd type");
1801
1814
  var version = readInt32(reader);
@@ -1838,7 +1851,7 @@ addHandler('SoLd', hasKey('placedLayer'), function (reader, target, left, _, opt
1838
1851
  };
1839
1852
  }
1840
1853
  if (desc.filterFX)
1841
- target.placedLayer.filter = parseFilterFX(desc.filterFX, options);
1854
+ target.placedLayer.filter = parseFilterFX(desc.filterFX, reader);
1842
1855
  // console.log('filter', require('util').inspect(target.placedLayer.filter, false, 99, true));
1843
1856
  skipBytes(reader, left()); // HACK
1844
1857
  }, function (writer, target) {
@@ -1909,12 +1922,12 @@ addHandler('fxrp', hasKey('referencePoint'), function (reader, target) {
1909
1922
  writeFloat64(writer, target.referencePoint.x);
1910
1923
  writeFloat64(writer, target.referencePoint.y);
1911
1924
  });
1912
- addHandler('Lr16', function () { return false; }, function (reader, _target, _left, psd, options) {
1913
- readLayerInfo(reader, psd, options);
1925
+ addHandler('Lr16', function () { return false; }, function (reader, _target, _left, psd) {
1926
+ readLayerInfo(reader, psd);
1914
1927
  }, function (_writer, _target) {
1915
1928
  });
1916
- addHandler('Lr32', function () { return false; }, function (reader, _target, _left, psd, options) {
1917
- readLayerInfo(reader, psd, options);
1929
+ addHandler('Lr32', function () { return false; }, function (reader, _target, _left, psd) {
1930
+ readLayerInfo(reader, psd);
1918
1931
  }, function (_writer, _target) {
1919
1932
  });
1920
1933
  addHandler('LMsk', hasKey('userMask'), function (reader, target) {
@@ -2112,7 +2125,7 @@ addHandler('Anno', function (target) { return target.annotations !== undefined;
2112
2125
  writer.view.setUint32(dataOffset - 4, writer.offset - dataOffset, false);
2113
2126
  }
2114
2127
  });
2115
- addHandler('lnk2', function (target) { return !!target.linkedFiles && target.linkedFiles.length > 0; }, function (reader, target, left, _, options) {
2128
+ addHandler('lnk2', function (target) { return !!target.linkedFiles && target.linkedFiles.length > 0; }, function (reader, target, left) {
2116
2129
  var psd = target;
2117
2130
  psd.linkedFiles = psd.linkedFiles || [];
2118
2131
  while (left() > 8) {
@@ -2168,7 +2181,7 @@ addHandler('lnk2', function (target) { return !!target.linkedFiles && target.lin
2168
2181
  file.assetLockedState = readUint8(reader);
2169
2182
  if (type === 'liFE' && version === 2)
2170
2183
  file.data = readBytes(reader, fileSize);
2171
- if (options.skipLinkedFilesData)
2184
+ if (reader.skipLinkedFilesData)
2172
2185
  file.data = undefined;
2173
2186
  psd.linkedFiles.push(file);
2174
2187
  linkedFileDescriptor;
@@ -3083,7 +3096,7 @@ target) { return target.artboards !== undefined; }, function (reader, target, le
3083
3096
  export function hasMultiEffects(effects) {
3084
3097
  return Object.keys(effects).map(function (key) { return effects[key]; }).some(function (v) { return Array.isArray(v) && v.length > 1; });
3085
3098
  }
3086
- addHandler('lfx2', function (target) { return target.effects !== undefined && !hasMultiEffects(target.effects); }, function (reader, target, left, _, options) {
3099
+ addHandler('lfx2', function (target) { return target.effects !== undefined && !hasMultiEffects(target.effects); }, function (reader, target, left) {
3087
3100
  var version = readUint32(reader);
3088
3101
  if (version !== 0)
3089
3102
  throw new Error("Invalid lfx2 version");
@@ -3091,7 +3104,7 @@ addHandler('lfx2', function (target) { return target.effects !== undefined && !h
3091
3104
  // console.log('READ', require('util').inspect(desc, false, 99, true));
3092
3105
  // TODO: don't discard if we got it from lmfx
3093
3106
  // discard if read in 'lrFX' section
3094
- target.effects = parseEffects(desc, !!options.logMissingFeatures);
3107
+ target.effects = parseEffects(desc, !!reader.logMissingFeatures);
3095
3108
  skipBytes(reader, left());
3096
3109
  }, function (writer, target, _, options) {
3097
3110
  var desc = serializeEffects(target.effects, !!options.logMissingFeatures, true);