ag-psd 21.0.2 → 22.0.1

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.
@@ -1,14 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  import { inflate as inflateSync } from 'pako';
13
2
  import { resetImageData, offsetForChannel, decodeBitmap, createImageData, toBlendMode, RAW_IMAGE_DATA, largeAdditionalInfoKeys, imageDataToCanvas } from './helpers';
14
3
  import { infoHandlersMap } from './additionalInfo';
@@ -24,13 +13,13 @@ function setupGrayscale(data) {
24
13
  }
25
14
  export function createReader(buffer, offset, length) {
26
15
  var view = new DataView(buffer, offset, length);
27
- return { view: view, offset: 0, strict: false, debug: false };
16
+ return { view: view, offset: 0, strict: false, debug: false, large: false, globalAlpha: false, log: console.log };
28
17
  }
29
18
  export function warnOrThrow(reader, message) {
30
19
  if (reader.strict)
31
20
  throw new Error(message);
32
21
  if (reader.debug)
33
- console.warn(message);
22
+ reader.log(message);
34
23
  }
35
24
  export function readUint8(reader) {
36
25
  reader.offset += 1;
@@ -100,6 +89,13 @@ export function readBytes(reader, length) {
100
89
  export function readSignature(reader) {
101
90
  return readShortString(reader, 4);
102
91
  }
92
+ export function validSignatureAt(reader, offset) {
93
+ var sig = String.fromCharCode(reader.view.getUint8(offset))
94
+ + String.fromCharCode(reader.view.getUint8(offset + 1))
95
+ + String.fromCharCode(reader.view.getUint8(offset + 2))
96
+ + String.fromCharCode(reader.view.getUint8(offset + 3));
97
+ return sig == '8BIM' || sig == '8B64';
98
+ }
103
99
  export function readPascalString(reader, padTo) {
104
100
  var length = readUint8(reader);
105
101
  var text = length ? readShortString(reader, length) : '';
@@ -184,7 +180,9 @@ export function readPsd(reader, readOptions) {
184
180
  if (supportedColorModes.indexOf(colorMode) === -1)
185
181
  throw new Error("Color mode not supported: ".concat((_a = colorModes[colorMode]) !== null && _a !== void 0 ? _a : colorMode));
186
182
  var psd = { width: width, height: height, channels: channels, bitsPerChannel: bitsPerChannel, colorMode: colorMode };
187
- var options = __assign(__assign({}, readOptions), { large: version === 2, globalAlpha: false });
183
+ Object.assign(reader, readOptions);
184
+ reader.large = version === 2;
185
+ reader.globalAlpha = false;
188
186
  var fixOffsets = [0, 1, -1, 2, -2, 3, -3, 4, -4];
189
187
  // color mode data
190
188
  readSection(reader, 1, function (left) {
@@ -222,16 +220,16 @@ export function readPsd(reader, readOptions) {
222
220
  readPascalString(reader, 2); // name
223
221
  readSection(reader, 2, function (left) {
224
222
  var handler = resourceHandlersMap[id];
225
- var skip = id === 1036 && !!options.skipThumbnail;
223
+ var skip = id === 1036 && !!reader.skipThumbnail;
226
224
  if (!psd.imageResources) {
227
225
  psd.imageResources = {};
228
226
  }
229
227
  if (handler && !skip) {
230
228
  try {
231
- handler.read(reader, psd.imageResources, left, options);
229
+ handler.read(reader, psd.imageResources, left);
232
230
  }
233
231
  catch (e) {
234
- if (options.throwForMissingFeatures)
232
+ if (reader.throwForMissingFeatures)
235
233
  throw e;
236
234
  skipBytes(reader, left());
237
235
  }
@@ -249,9 +247,9 @@ export function readPsd(reader, readOptions) {
249
247
  // layer and mask info
250
248
  readSection(reader, 1, function (left) {
251
249
  readSection(reader, 2, function (left) {
252
- readLayerInfo(reader, psd, options);
250
+ readLayerInfo(reader, psd);
253
251
  skipBytes(reader, left());
254
- }, undefined, options.large);
252
+ }, undefined, reader.large);
255
253
  // SAI does not include this section
256
254
  if (left() > 0) {
257
255
  var globalLayerMaskInfo = readGlobalLayerMaskInfo(reader);
@@ -270,40 +268,41 @@ export function readPsd(reader, readOptions) {
270
268
  skipBytes(reader, 1);
271
269
  }
272
270
  if (left() >= 12) {
273
- readAdditionalLayerInfo(reader, psd, psd, options);
271
+ readAdditionalLayerInfo(reader, psd, psd);
274
272
  }
275
273
  else {
276
274
  // opt.logMissingFeatures && console.log('skipping leftover bytes', left());
277
275
  skipBytes(reader, left());
278
276
  }
279
277
  }
280
- }, undefined, options.large);
278
+ }, undefined, reader.large);
281
279
  var hasChildren = psd.children && psd.children.length;
282
- var skipComposite = options.skipCompositeImageData && (options.skipLayerImageData || hasChildren);
280
+ var skipComposite = reader.skipCompositeImageData && (reader.skipLayerImageData || hasChildren);
283
281
  if (!skipComposite) {
284
- readImageData(reader, psd, options);
282
+ readImageData(reader, psd);
285
283
  }
286
284
  // TODO: show converted color mode instead of original PSD file color mode
287
285
  // but add option to preserve file color mode (need to return image data instead of canvas in that case)
288
286
  // psd.colorMode = ColorMode.RGB; // we convert all color modes to RGB
289
287
  return psd;
290
288
  }
291
- export function readLayerInfo(reader, psd, options) {
289
+ export function readLayerInfo(reader, psd) {
290
+ var _a, _b;
292
291
  var layerCount = readInt16(reader);
293
292
  if (layerCount < 0) {
294
- options.globalAlpha = true;
293
+ reader.globalAlpha = true;
295
294
  layerCount = -layerCount;
296
295
  }
297
296
  var layers = [];
298
297
  var layerChannels = [];
299
298
  for (var i = 0; i < layerCount; i++) {
300
- var _a = readLayerRecord(reader, psd, options), layer = _a.layer, channels = _a.channels;
299
+ var _c = readLayerRecord(reader, psd), layer = _c.layer, channels = _c.channels;
301
300
  layers.push(layer);
302
301
  layerChannels.push(channels);
303
302
  }
304
- if (!options.skipLayerImageData) {
303
+ if (!reader.skipLayerImageData) {
305
304
  for (var i = 0; i < layerCount; i++) {
306
- readLayerChannelImageData(reader, psd, layers[i], layerChannels[i], options);
305
+ readLayerChannelImageData(reader, psd, layers[i], layerChannels[i]);
307
306
  }
308
307
  }
309
308
  if (!psd.children)
@@ -315,6 +314,9 @@ export function readLayerInfo(reader, psd, options) {
315
314
  if (type === 1 /* SectionDividerType.OpenFolder */ || type === 2 /* SectionDividerType.ClosedFolder */) {
316
315
  l.opened = type === 1 /* SectionDividerType.OpenFolder */;
317
316
  l.children = [];
317
+ if ((_a = l.sectionDivider) === null || _a === void 0 ? void 0 : _a.key) {
318
+ l.blendMode = (_b = toBlendMode[l.sectionDivider.key]) !== null && _b !== void 0 ? _b : l.blendMode;
319
+ }
318
320
  stack[stack.length - 1].children.unshift(l);
319
321
  stack.push(l);
320
322
  }
@@ -330,7 +332,7 @@ export function readLayerInfo(reader, psd, options) {
330
332
  }
331
333
  }
332
334
  }
333
- function readLayerRecord(reader, psd, options) {
335
+ function readLayerRecord(reader, psd) {
334
336
  var layer = {};
335
337
  layer.top = readInt32(reader);
336
338
  layer.left = readInt32(reader);
@@ -341,7 +343,7 @@ function readLayerRecord(reader, psd, options) {
341
343
  for (var i = 0; i < channelCount; i++) {
342
344
  var id = readInt16(reader);
343
345
  var length_1 = readUint32(reader);
344
- if (options.large) {
346
+ if (reader.large) {
345
347
  if (length_1 !== 0)
346
348
  throw new Error('Sizes larger than 4GB are not supported');
347
349
  length_1 = readUint32(reader);
@@ -366,18 +368,20 @@ function readLayerRecord(reader, psd, options) {
366
368
  // 0x20 - effects/filters panel is expanded
367
369
  skipBytes(reader, 1);
368
370
  readSection(reader, 1, function (left) {
369
- var mask = readLayerMaskData(reader, options);
371
+ var mask = readLayerMaskData(reader);
370
372
  if (mask)
371
373
  layer.mask = mask;
372
374
  /*const blendingRanges =*/ readLayerBlendingRanges(reader);
373
- layer.name = readPascalString(reader, 4);
374
- while (left() > 0) {
375
- readAdditionalLayerInfo(reader, layer, psd, options);
376
- }
375
+ layer.name = readPascalString(reader, 1); // should be padded to 4, but is not sometimes
376
+ // HACK: fix for sometimes layer.name string not being padded correctly, just skip until we get valid signature
377
+ while (left() > 4 && !validSignatureAt(reader, reader.offset))
378
+ reader.offset++;
379
+ while (left() > 4)
380
+ readAdditionalLayerInfo(reader, layer, psd);
377
381
  });
378
382
  return { layer: layer, channels: channels };
379
383
  }
380
- function readLayerMaskData(reader, options) {
384
+ function readLayerMaskData(reader) {
381
385
  return readSection(reader, 1, function (left) {
382
386
  if (!left())
383
387
  return undefined;
@@ -413,8 +417,8 @@ function readLayerMaskData(reader, options) {
413
417
 
414
418
  // TEMP
415
419
  (mask as any)._real = { realFlags, realUserMaskBackground, top2, left2, bottom2, right2 };*/
416
- if (options.logMissingFeatures) {
417
- console.log('Unhandled extra real user mask params');
420
+ if (reader.logMissingFeatures) {
421
+ reader.log('Unhandled extra real user mask params');
418
422
  }
419
423
  }
420
424
  skipBytes(reader, left());
@@ -434,7 +438,7 @@ function readLayerBlendingRanges(reader) {
434
438
  return { compositeGrayBlendSource: compositeGrayBlendSource, compositeGraphBlendDestinationRange: compositeGraphBlendDestinationRange, ranges: ranges };
435
439
  });
436
440
  }
437
- function readLayerChannelImageData(reader, psd, layer, channels, options) {
441
+ function readLayerChannelImageData(reader, psd, layer, channels) {
438
442
  var _a, _b, _c, _d;
439
443
  var layerWidth = (layer.right || 0) - (layer.left || 0);
440
444
  var layerHeight = (layer.bottom || 0) - (layer.top || 0);
@@ -485,12 +489,12 @@ function readLayerChannelImageData(reader, psd, layer, channels, options) {
485
489
  var maskData = createImageDataBitDepth(maskWidth, maskHeight, (_b = psd.bitsPerChannel) !== null && _b !== void 0 ? _b : 8);
486
490
  resetImageData(maskData);
487
491
  var start_1 = reader.offset;
488
- readData(reader, channel.length, maskData, compression, maskWidth, maskHeight, (_c = psd.bitsPerChannel) !== null && _c !== void 0 ? _c : 8, 0, options.large, 4);
492
+ readData(reader, channel.length, maskData, compression, maskWidth, maskHeight, (_c = psd.bitsPerChannel) !== null && _c !== void 0 ? _c : 8, 0, reader.large, 4);
489
493
  if (RAW_IMAGE_DATA) {
490
494
  layer.maskDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start_1, reader.offset - start_1);
491
495
  }
492
496
  setupGrayscale(maskData);
493
- if (options.useImageData) {
497
+ if (reader.useImageData) {
494
498
  mask.imageData = maskData;
495
499
  }
496
500
  else {
@@ -499,8 +503,8 @@ function readLayerChannelImageData(reader, psd, layer, channels, options) {
499
503
  }
500
504
  }
501
505
  else if (channel.id === -3 /* ChannelID.RealUserMask */) {
502
- if (options.logMissingFeatures) {
503
- console.log("RealUserMask not supported");
506
+ if (reader.logMissingFeatures) {
507
+ reader.log("RealUserMask not supported");
504
508
  }
505
509
  reader.offset = start + channel.length;
506
510
  }
@@ -509,11 +513,11 @@ function readLayerChannelImageData(reader, psd, layer, channels, options) {
509
513
  var targetData = imageData;
510
514
  if (offset < 0) {
511
515
  targetData = undefined;
512
- if (options.throwForMissingFeatures) {
516
+ if (reader.throwForMissingFeatures) {
513
517
  throw new Error("Channel not supported: ".concat(channel.id));
514
518
  }
515
519
  }
516
- readData(reader, channel.length, targetData, compression, layerWidth, layerHeight, (_d = psd.bitsPerChannel) !== null && _d !== void 0 ? _d : 8, offset, options.large, cmyk ? 5 : 4);
520
+ readData(reader, channel.length, targetData, compression, layerWidth, layerHeight, (_d = psd.bitsPerChannel) !== null && _d !== void 0 ? _d : 8, offset, reader.large, cmyk ? 5 : 4);
517
521
  if (RAW_IMAGE_DATA) {
518
522
  layer.imageDataRaw[channel.id] = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start + 2, channel.length - 2);
519
523
  }
@@ -529,7 +533,7 @@ function readLayerChannelImageData(reader, psd, layer, channels, options) {
529
533
  imageData = createImageData(cmykData.width, cmykData.height);
530
534
  cmykToRgb(cmykData, imageData, false);
531
535
  }
532
- if (options.useImageData) {
536
+ if (reader.useImageData) {
533
537
  layer.imageData = imageData;
534
538
  }
535
539
  else {
@@ -569,30 +573,30 @@ export function readGlobalLayerMaskInfo(reader) {
569
573
  return { overlayColorSpace: overlayColorSpace, colorSpace1: colorSpace1, colorSpace2: colorSpace2, colorSpace3: colorSpace3, colorSpace4: colorSpace4, opacity: opacity, kind: kind };
570
574
  });
571
575
  }
572
- export function readAdditionalLayerInfo(reader, target, psd, options) {
576
+ export function readAdditionalLayerInfo(reader, target, psd) {
573
577
  var sig = readSignature(reader);
574
578
  if (sig !== '8BIM' && sig !== '8B64')
575
579
  throw new Error("Invalid signature: '".concat(sig, "' at 0x").concat((reader.offset - 4).toString(16)));
576
580
  var key = readSignature(reader);
577
581
  // `largeAdditionalInfoKeys` fallback, because some keys don't have 8B64 signature even when they are 64bit
578
- var u64 = sig === '8B64' || (options.large && largeAdditionalInfoKeys.indexOf(key) !== -1);
582
+ var u64 = sig === '8B64' || (reader.large && largeAdditionalInfoKeys.indexOf(key) !== -1);
579
583
  readSection(reader, 2, function (left) {
580
584
  var handler = infoHandlersMap[key];
581
585
  if (handler) {
582
586
  try {
583
- handler.read(reader, target, left, psd, options);
587
+ handler.read(reader, target, left, psd);
584
588
  }
585
589
  catch (e) {
586
- if (options.throwForMissingFeatures)
590
+ if (reader.throwForMissingFeatures)
587
591
  throw e;
588
592
  }
589
593
  }
590
594
  else {
591
- options.logMissingFeatures && console.log("Unhandled additional info: ".concat(key));
595
+ reader.logMissingFeatures && reader.log("Unhandled additional info: ".concat(key));
592
596
  skipBytes(reader, left());
593
597
  }
594
598
  if (left()) {
595
- options.logMissingFeatures && console.log("Unread ".concat(left(), " bytes left for additional info: ").concat(key));
599
+ reader.logMissingFeatures && reader.log("Unread ".concat(left(), " bytes left for additional info: ").concat(key));
596
600
  skipBytes(reader, left());
597
601
  }
598
602
  }, false, u64);
@@ -611,7 +615,7 @@ function createImageDataBitDepth(width, height, bitDepth) {
611
615
  throw new Error("Invalid bitDepth (".concat(bitDepth, ")"));
612
616
  }
613
617
  }
614
- function readImageData(reader, psd, options) {
618
+ function readImageData(reader, psd) {
615
619
  var _a, _b;
616
620
  var compression = readUint16(reader);
617
621
  var bitsPerChannel = (_a = psd.bitsPerChannel) !== null && _a !== void 0 ? _a : 8;
@@ -631,7 +635,7 @@ function readImageData(reader, psd, options) {
631
635
  }
632
636
  else if (compression === 1 /* Compression.RleCompressed */) {
633
637
  bytes = new Uint8Array(psd.width * psd.height);
634
- readDataRLE(reader, { data: bytes, width: psd.width, height: psd.height }, psd.width, psd.height, 8, 1, [0], options.large);
638
+ readDataRLE(reader, { data: bytes, width: psd.width, height: psd.height }, psd.width, psd.height, 8, 1, [0], reader.large);
635
639
  }
636
640
  else {
637
641
  throw new Error("Bitmap compression not supported: ".concat(compression));
@@ -648,7 +652,7 @@ function readImageData(reader, psd, options) {
648
652
  channels.push(i);
649
653
  }
650
654
  }
651
- else if (options.globalAlpha) {
655
+ else if (reader.globalAlpha) {
652
656
  channels.push(3);
653
657
  }
654
658
  if (compression === 0 /* Compression.RawData */) {
@@ -658,7 +662,7 @@ function readImageData(reader, psd, options) {
658
662
  }
659
663
  else if (compression === 1 /* Compression.RleCompressed */) {
660
664
  var start = reader.offset;
661
- readDataRLE(reader, imageData, psd.width, psd.height, bitsPerChannel, 4, channels, options.large);
665
+ readDataRLE(reader, imageData, psd.width, psd.height, bitsPerChannel, 4, channels, reader.large);
662
666
  if (RAW_IMAGE_DATA)
663
667
  psd.imageDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start, reader.offset - start);
664
668
  }
@@ -673,7 +677,7 @@ function readImageData(reader, psd, options) {
673
677
  if (psd.channels !== 4)
674
678
  throw new Error("Invalid channel count");
675
679
  var channels = [0, 1, 2, 3];
676
- if (options.globalAlpha)
680
+ if (reader.globalAlpha)
677
681
  channels.push(4);
678
682
  if (compression === 0 /* Compression.RawData */) {
679
683
  throw new Error("Not implemented");
@@ -689,7 +693,7 @@ function readImageData(reader, psd, options) {
689
693
  data: new Uint8Array(imageData.width * imageData.height * 5),
690
694
  };
691
695
  var start = reader.offset;
692
- readDataRLE(reader, cmykImageData, psd.width, psd.height, (_b = psd.bitsPerChannel) !== null && _b !== void 0 ? _b : 8, 5, channels, options.large);
696
+ readDataRLE(reader, cmykImageData, psd.width, psd.height, (_b = psd.bitsPerChannel) !== null && _b !== void 0 ? _b : 8, 5, channels, reader.large);
693
697
  cmykToRgb(cmykImageData, imageData, true);
694
698
  if (RAW_IMAGE_DATA)
695
699
  psd.imageDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start, reader.offset - start);
@@ -699,7 +703,7 @@ function readImageData(reader, psd, options) {
699
703
  default: throw new Error("Color mode not supported: ".concat(psd.colorMode));
700
704
  }
701
705
  // remove weird white matte
702
- if (options.globalAlpha) {
706
+ if (reader.globalAlpha) {
703
707
  if (psd.bitsPerChannel !== 8)
704
708
  throw new Error('bitsPerChannel Not supproted');
705
709
  var p = imageData.data;
@@ -716,7 +720,7 @@ function readImageData(reader, psd, options) {
716
720
  }
717
721
  }
718
722
  }
719
- if (options.useImageData) {
723
+ if (reader.useImageData) {
720
724
  psd.imageData = imageData;
721
725
  }
722
726
  else {
@@ -1078,7 +1082,7 @@ export function readPattern(reader) {
1078
1082
  // console.log(data);
1079
1083
  // throw new Error('Zip compression not supported for pattern');
1080
1084
  // throw new Error('Unsupported pattern compression');
1081
- console.error('Unsupported pattern compression');
1085
+ reader.log('Unsupported pattern compression');
1082
1086
  name += ' (failed to decode)';
1083
1087
  }
1084
1088
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"psdReader.js","sourceRoot":"../src/","sources":["psdReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"psdReader.js","sourceRoot":"../src/","sources":["psdReader.ts"],"names":[],"mappings":"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"}
@@ -451,11 +451,11 @@ function addChildren(layers, children) {
451
451
  // referencePoint: { x: 0, y: 0 },
452
452
  });
453
453
  addChildren(layers, c.children);
454
- layers.push(__assign({ sectionDivider: {
454
+ layers.push(__assign(__assign({}, c), { blendMode: c.blendMode === 'pass through' ? 'normal' : c.blendMode, sectionDivider: {
455
455
  type: c.opened === false ? 2 /* SectionDividerType.ClosedFolder */ : 1 /* SectionDividerType.OpenFolder */,
456
456
  key: fromBlendMode[c.blendMode] || 'pass',
457
457
  subType: 0,
458
- } }, c));
458
+ } }));
459
459
  }
460
460
  else {
461
461
  layers.push(__assign({}, c));