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.
package/dist/psdReader.js CHANGED
@@ -1,17 +1,6 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.readPattern = exports.readColor = exports.readSection = exports.readDataRLE = exports.readDataZip = exports.readAdditionalLayerInfo = exports.readGlobalLayerMaskInfo = exports.readLayerInfo = exports.readPsd = exports.checkSignature = exports.skipBytes = exports.readAsciiString = exports.readUnicodeStringWithLengthLE = exports.readUnicodeStringWithLength = exports.readUnicodeString = exports.readPascalString = exports.readSignature = exports.readBytes = exports.readFixedPointPath32 = exports.readFixedPoint32 = exports.readFloat64 = exports.readFloat32 = exports.readUint32 = exports.readInt32LE = exports.readInt32 = exports.readUint16LE = exports.readUint16 = exports.readInt16 = exports.peekUint8 = exports.readUint8 = exports.warnOrThrow = exports.createReader = exports.supportedColorModes = void 0;
3
+ exports.readPattern = exports.readColor = exports.readSection = exports.readDataRLE = exports.readDataZip = exports.readAdditionalLayerInfo = exports.readGlobalLayerMaskInfo = exports.readLayerInfo = exports.readPsd = exports.checkSignature = exports.skipBytes = exports.readAsciiString = exports.readUnicodeStringWithLengthLE = exports.readUnicodeStringWithLength = exports.readUnicodeString = exports.readPascalString = exports.validSignatureAt = exports.readSignature = exports.readBytes = exports.readFixedPointPath32 = exports.readFixedPoint32 = exports.readFloat64 = exports.readFloat32 = exports.readUint32 = exports.readInt32LE = exports.readInt32 = exports.readUint16LE = exports.readUint16 = exports.readInt16 = exports.peekUint8 = exports.readUint8 = exports.warnOrThrow = exports.createReader = exports.supportedColorModes = void 0;
15
4
  var pako_1 = require("pako");
16
5
  var helpers_1 = require("./helpers");
17
6
  var additionalInfo_1 = require("./additionalInfo");
@@ -27,14 +16,14 @@ function setupGrayscale(data) {
27
16
  }
28
17
  function createReader(buffer, offset, length) {
29
18
  var view = new DataView(buffer, offset, length);
30
- return { view: view, offset: 0, strict: false, debug: false };
19
+ return { view: view, offset: 0, strict: false, debug: false, large: false, globalAlpha: false, log: console.log };
31
20
  }
32
21
  exports.createReader = createReader;
33
22
  function warnOrThrow(reader, message) {
34
23
  if (reader.strict)
35
24
  throw new Error(message);
36
25
  if (reader.debug)
37
- console.warn(message);
26
+ reader.log(message);
38
27
  }
39
28
  exports.warnOrThrow = warnOrThrow;
40
29
  function readUint8(reader) {
@@ -119,6 +108,14 @@ function readSignature(reader) {
119
108
  return readShortString(reader, 4);
120
109
  }
121
110
  exports.readSignature = readSignature;
111
+ function validSignatureAt(reader, offset) {
112
+ var sig = String.fromCharCode(reader.view.getUint8(offset))
113
+ + String.fromCharCode(reader.view.getUint8(offset + 1))
114
+ + String.fromCharCode(reader.view.getUint8(offset + 2))
115
+ + String.fromCharCode(reader.view.getUint8(offset + 3));
116
+ return sig == '8BIM' || sig == '8B64';
117
+ }
118
+ exports.validSignatureAt = validSignatureAt;
122
119
  function readPascalString(reader, padTo) {
123
120
  var length = readUint8(reader);
124
121
  var text = length ? readShortString(reader, length) : '';
@@ -210,7 +207,9 @@ function readPsd(reader, readOptions) {
210
207
  if (exports.supportedColorModes.indexOf(colorMode) === -1)
211
208
  throw new Error("Color mode not supported: ".concat((_a = colorModes[colorMode]) !== null && _a !== void 0 ? _a : colorMode));
212
209
  var psd = { width: width, height: height, channels: channels, bitsPerChannel: bitsPerChannel, colorMode: colorMode };
213
- var options = __assign(__assign({}, readOptions), { large: version === 2, globalAlpha: false });
210
+ Object.assign(reader, readOptions);
211
+ reader.large = version === 2;
212
+ reader.globalAlpha = false;
214
213
  var fixOffsets = [0, 1, -1, 2, -2, 3, -3, 4, -4];
215
214
  // color mode data
216
215
  readSection(reader, 1, function (left) {
@@ -248,16 +247,16 @@ function readPsd(reader, readOptions) {
248
247
  readPascalString(reader, 2); // name
249
248
  readSection(reader, 2, function (left) {
250
249
  var handler = imageResources_1.resourceHandlersMap[id];
251
- var skip = id === 1036 && !!options.skipThumbnail;
250
+ var skip = id === 1036 && !!reader.skipThumbnail;
252
251
  if (!psd.imageResources) {
253
252
  psd.imageResources = {};
254
253
  }
255
254
  if (handler && !skip) {
256
255
  try {
257
- handler.read(reader, psd.imageResources, left, options);
256
+ handler.read(reader, psd.imageResources, left);
258
257
  }
259
258
  catch (e) {
260
- if (options.throwForMissingFeatures)
259
+ if (reader.throwForMissingFeatures)
261
260
  throw e;
262
261
  skipBytes(reader, left());
263
262
  }
@@ -275,9 +274,9 @@ function readPsd(reader, readOptions) {
275
274
  // layer and mask info
276
275
  readSection(reader, 1, function (left) {
277
276
  readSection(reader, 2, function (left) {
278
- readLayerInfo(reader, psd, options);
277
+ readLayerInfo(reader, psd);
279
278
  skipBytes(reader, left());
280
- }, undefined, options.large);
279
+ }, undefined, reader.large);
281
280
  // SAI does not include this section
282
281
  if (left() > 0) {
283
282
  var globalLayerMaskInfo = readGlobalLayerMaskInfo(reader);
@@ -296,18 +295,18 @@ function readPsd(reader, readOptions) {
296
295
  skipBytes(reader, 1);
297
296
  }
298
297
  if (left() >= 12) {
299
- readAdditionalLayerInfo(reader, psd, psd, options);
298
+ readAdditionalLayerInfo(reader, psd, psd);
300
299
  }
301
300
  else {
302
301
  // opt.logMissingFeatures && console.log('skipping leftover bytes', left());
303
302
  skipBytes(reader, left());
304
303
  }
305
304
  }
306
- }, undefined, options.large);
305
+ }, undefined, reader.large);
307
306
  var hasChildren = psd.children && psd.children.length;
308
- var skipComposite = options.skipCompositeImageData && (options.skipLayerImageData || hasChildren);
307
+ var skipComposite = reader.skipCompositeImageData && (reader.skipLayerImageData || hasChildren);
309
308
  if (!skipComposite) {
310
- readImageData(reader, psd, options);
309
+ readImageData(reader, psd);
311
310
  }
312
311
  // TODO: show converted color mode instead of original PSD file color mode
313
312
  // but add option to preserve file color mode (need to return image data instead of canvas in that case)
@@ -315,22 +314,22 @@ function readPsd(reader, readOptions) {
315
314
  return psd;
316
315
  }
317
316
  exports.readPsd = readPsd;
318
- function readLayerInfo(reader, psd, options) {
317
+ function readLayerInfo(reader, psd) {
319
318
  var layerCount = readInt16(reader);
320
319
  if (layerCount < 0) {
321
- options.globalAlpha = true;
320
+ reader.globalAlpha = true;
322
321
  layerCount = -layerCount;
323
322
  }
324
323
  var layers = [];
325
324
  var layerChannels = [];
326
325
  for (var i = 0; i < layerCount; i++) {
327
- var _a = readLayerRecord(reader, psd, options), layer = _a.layer, channels = _a.channels;
326
+ var _a = readLayerRecord(reader, psd), layer = _a.layer, channels = _a.channels;
328
327
  layers.push(layer);
329
328
  layerChannels.push(channels);
330
329
  }
331
- if (!options.skipLayerImageData) {
330
+ if (!reader.skipLayerImageData) {
332
331
  for (var i = 0; i < layerCount; i++) {
333
- readLayerChannelImageData(reader, psd, layers[i], layerChannels[i], options);
332
+ readLayerChannelImageData(reader, psd, layers[i], layerChannels[i]);
334
333
  }
335
334
  }
336
335
  if (!psd.children)
@@ -358,7 +357,7 @@ function readLayerInfo(reader, psd, options) {
358
357
  }
359
358
  }
360
359
  exports.readLayerInfo = readLayerInfo;
361
- function readLayerRecord(reader, psd, options) {
360
+ function readLayerRecord(reader, psd) {
362
361
  var layer = {};
363
362
  layer.top = readInt32(reader);
364
363
  layer.left = readInt32(reader);
@@ -369,7 +368,7 @@ function readLayerRecord(reader, psd, options) {
369
368
  for (var i = 0; i < channelCount; i++) {
370
369
  var id = readInt16(reader);
371
370
  var length_1 = readUint32(reader);
372
- if (options.large) {
371
+ if (reader.large) {
373
372
  if (length_1 !== 0)
374
373
  throw new Error('Sizes larger than 4GB are not supported');
375
374
  length_1 = readUint32(reader);
@@ -394,18 +393,20 @@ function readLayerRecord(reader, psd, options) {
394
393
  // 0x20 - effects/filters panel is expanded
395
394
  skipBytes(reader, 1);
396
395
  readSection(reader, 1, function (left) {
397
- var mask = readLayerMaskData(reader, options);
396
+ var mask = readLayerMaskData(reader);
398
397
  if (mask)
399
398
  layer.mask = mask;
400
399
  /*const blendingRanges =*/ readLayerBlendingRanges(reader);
401
- layer.name = readPascalString(reader, 4);
402
- while (left() > 0) {
403
- readAdditionalLayerInfo(reader, layer, psd, options);
404
- }
400
+ layer.name = readPascalString(reader, 1); // should be padded to 4, but is not sometimes
401
+ // HACK: fix for sometimes layer.name string not being padded correctly, just skip until we get valid signature
402
+ while (left() > 4 && !validSignatureAt(reader, reader.offset))
403
+ reader.offset++;
404
+ while (left() > 4)
405
+ readAdditionalLayerInfo(reader, layer, psd);
405
406
  });
406
407
  return { layer: layer, channels: channels };
407
408
  }
408
- function readLayerMaskData(reader, options) {
409
+ function readLayerMaskData(reader) {
409
410
  return readSection(reader, 1, function (left) {
410
411
  if (!left())
411
412
  return undefined;
@@ -441,8 +442,8 @@ function readLayerMaskData(reader, options) {
441
442
 
442
443
  // TEMP
443
444
  (mask as any)._real = { realFlags, realUserMaskBackground, top2, left2, bottom2, right2 };*/
444
- if (options.logMissingFeatures) {
445
- console.log('Unhandled extra real user mask params');
445
+ if (reader.logMissingFeatures) {
446
+ reader.log('Unhandled extra real user mask params');
446
447
  }
447
448
  }
448
449
  skipBytes(reader, left());
@@ -462,7 +463,7 @@ function readLayerBlendingRanges(reader) {
462
463
  return { compositeGrayBlendSource: compositeGrayBlendSource, compositeGraphBlendDestinationRange: compositeGraphBlendDestinationRange, ranges: ranges };
463
464
  });
464
465
  }
465
- function readLayerChannelImageData(reader, psd, layer, channels, options) {
466
+ function readLayerChannelImageData(reader, psd, layer, channels) {
466
467
  var _a, _b, _c, _d;
467
468
  var layerWidth = (layer.right || 0) - (layer.left || 0);
468
469
  var layerHeight = (layer.bottom || 0) - (layer.top || 0);
@@ -513,12 +514,12 @@ function readLayerChannelImageData(reader, psd, layer, channels, options) {
513
514
  var maskData = createImageDataBitDepth(maskWidth, maskHeight, (_b = psd.bitsPerChannel) !== null && _b !== void 0 ? _b : 8);
514
515
  (0, helpers_1.resetImageData)(maskData);
515
516
  var start_1 = reader.offset;
516
- readData(reader, channel.length, maskData, compression, maskWidth, maskHeight, (_c = psd.bitsPerChannel) !== null && _c !== void 0 ? _c : 8, 0, options.large, 4);
517
+ readData(reader, channel.length, maskData, compression, maskWidth, maskHeight, (_c = psd.bitsPerChannel) !== null && _c !== void 0 ? _c : 8, 0, reader.large, 4);
517
518
  if (helpers_1.RAW_IMAGE_DATA) {
518
519
  layer.maskDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start_1, reader.offset - start_1);
519
520
  }
520
521
  setupGrayscale(maskData);
521
- if (options.useImageData) {
522
+ if (reader.useImageData) {
522
523
  mask.imageData = maskData;
523
524
  }
524
525
  else {
@@ -527,8 +528,8 @@ function readLayerChannelImageData(reader, psd, layer, channels, options) {
527
528
  }
528
529
  }
529
530
  else if (channel.id === -3 /* ChannelID.RealUserMask */) {
530
- if (options.logMissingFeatures) {
531
- console.log("RealUserMask not supported");
531
+ if (reader.logMissingFeatures) {
532
+ reader.log("RealUserMask not supported");
532
533
  }
533
534
  reader.offset = start + channel.length;
534
535
  }
@@ -537,11 +538,11 @@ function readLayerChannelImageData(reader, psd, layer, channels, options) {
537
538
  var targetData = imageData;
538
539
  if (offset < 0) {
539
540
  targetData = undefined;
540
- if (options.throwForMissingFeatures) {
541
+ if (reader.throwForMissingFeatures) {
541
542
  throw new Error("Channel not supported: ".concat(channel.id));
542
543
  }
543
544
  }
544
- readData(reader, channel.length, targetData, compression, layerWidth, layerHeight, (_d = psd.bitsPerChannel) !== null && _d !== void 0 ? _d : 8, offset, options.large, cmyk ? 5 : 4);
545
+ readData(reader, channel.length, targetData, compression, layerWidth, layerHeight, (_d = psd.bitsPerChannel) !== null && _d !== void 0 ? _d : 8, offset, reader.large, cmyk ? 5 : 4);
545
546
  if (helpers_1.RAW_IMAGE_DATA) {
546
547
  layer.imageDataRaw[channel.id] = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start + 2, channel.length - 2);
547
548
  }
@@ -557,7 +558,7 @@ function readLayerChannelImageData(reader, psd, layer, channels, options) {
557
558
  imageData = (0, helpers_1.createImageData)(cmykData.width, cmykData.height);
558
559
  cmykToRgb(cmykData, imageData, false);
559
560
  }
560
- if (options.useImageData) {
561
+ if (reader.useImageData) {
561
562
  layer.imageData = imageData;
562
563
  }
563
564
  else {
@@ -598,30 +599,30 @@ function readGlobalLayerMaskInfo(reader) {
598
599
  });
599
600
  }
600
601
  exports.readGlobalLayerMaskInfo = readGlobalLayerMaskInfo;
601
- function readAdditionalLayerInfo(reader, target, psd, options) {
602
+ function readAdditionalLayerInfo(reader, target, psd) {
602
603
  var sig = readSignature(reader);
603
604
  if (sig !== '8BIM' && sig !== '8B64')
604
605
  throw new Error("Invalid signature: '".concat(sig, "' at 0x").concat((reader.offset - 4).toString(16)));
605
606
  var key = readSignature(reader);
606
607
  // `largeAdditionalInfoKeys` fallback, because some keys don't have 8B64 signature even when they are 64bit
607
- var u64 = sig === '8B64' || (options.large && helpers_1.largeAdditionalInfoKeys.indexOf(key) !== -1);
608
+ var u64 = sig === '8B64' || (reader.large && helpers_1.largeAdditionalInfoKeys.indexOf(key) !== -1);
608
609
  readSection(reader, 2, function (left) {
609
610
  var handler = additionalInfo_1.infoHandlersMap[key];
610
611
  if (handler) {
611
612
  try {
612
- handler.read(reader, target, left, psd, options);
613
+ handler.read(reader, target, left, psd);
613
614
  }
614
615
  catch (e) {
615
- if (options.throwForMissingFeatures)
616
+ if (reader.throwForMissingFeatures)
616
617
  throw e;
617
618
  }
618
619
  }
619
620
  else {
620
- options.logMissingFeatures && console.log("Unhandled additional info: ".concat(key));
621
+ reader.logMissingFeatures && reader.log("Unhandled additional info: ".concat(key));
621
622
  skipBytes(reader, left());
622
623
  }
623
624
  if (left()) {
624
- options.logMissingFeatures && console.log("Unread ".concat(left(), " bytes left for additional info: ").concat(key));
625
+ reader.logMissingFeatures && reader.log("Unread ".concat(left(), " bytes left for additional info: ").concat(key));
625
626
  skipBytes(reader, left());
626
627
  }
627
628
  }, false, u64);
@@ -641,7 +642,7 @@ function createImageDataBitDepth(width, height, bitDepth) {
641
642
  throw new Error("Invalid bitDepth (".concat(bitDepth, ")"));
642
643
  }
643
644
  }
644
- function readImageData(reader, psd, options) {
645
+ function readImageData(reader, psd) {
645
646
  var _a, _b;
646
647
  var compression = readUint16(reader);
647
648
  var bitsPerChannel = (_a = psd.bitsPerChannel) !== null && _a !== void 0 ? _a : 8;
@@ -661,7 +662,7 @@ function readImageData(reader, psd, options) {
661
662
  }
662
663
  else if (compression === 1 /* Compression.RleCompressed */) {
663
664
  bytes = new Uint8Array(psd.width * psd.height);
664
- readDataRLE(reader, { data: bytes, width: psd.width, height: psd.height }, psd.width, psd.height, 8, 1, [0], options.large);
665
+ readDataRLE(reader, { data: bytes, width: psd.width, height: psd.height }, psd.width, psd.height, 8, 1, [0], reader.large);
665
666
  }
666
667
  else {
667
668
  throw new Error("Bitmap compression not supported: ".concat(compression));
@@ -678,7 +679,7 @@ function readImageData(reader, psd, options) {
678
679
  channels.push(i);
679
680
  }
680
681
  }
681
- else if (options.globalAlpha) {
682
+ else if (reader.globalAlpha) {
682
683
  channels.push(3);
683
684
  }
684
685
  if (compression === 0 /* Compression.RawData */) {
@@ -688,7 +689,7 @@ function readImageData(reader, psd, options) {
688
689
  }
689
690
  else if (compression === 1 /* Compression.RleCompressed */) {
690
691
  var start = reader.offset;
691
- readDataRLE(reader, imageData, psd.width, psd.height, bitsPerChannel, 4, channels, options.large);
692
+ readDataRLE(reader, imageData, psd.width, psd.height, bitsPerChannel, 4, channels, reader.large);
692
693
  if (helpers_1.RAW_IMAGE_DATA)
693
694
  psd.imageDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start, reader.offset - start);
694
695
  }
@@ -703,7 +704,7 @@ function readImageData(reader, psd, options) {
703
704
  if (psd.channels !== 4)
704
705
  throw new Error("Invalid channel count");
705
706
  var channels = [0, 1, 2, 3];
706
- if (options.globalAlpha)
707
+ if (reader.globalAlpha)
707
708
  channels.push(4);
708
709
  if (compression === 0 /* Compression.RawData */) {
709
710
  throw new Error("Not implemented");
@@ -719,7 +720,7 @@ function readImageData(reader, psd, options) {
719
720
  data: new Uint8Array(imageData.width * imageData.height * 5),
720
721
  };
721
722
  var start = reader.offset;
722
- readDataRLE(reader, cmykImageData, psd.width, psd.height, (_b = psd.bitsPerChannel) !== null && _b !== void 0 ? _b : 8, 5, channels, options.large);
723
+ readDataRLE(reader, cmykImageData, psd.width, psd.height, (_b = psd.bitsPerChannel) !== null && _b !== void 0 ? _b : 8, 5, channels, reader.large);
723
724
  cmykToRgb(cmykImageData, imageData, true);
724
725
  if (helpers_1.RAW_IMAGE_DATA)
725
726
  psd.imageDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start, reader.offset - start);
@@ -729,7 +730,7 @@ function readImageData(reader, psd, options) {
729
730
  default: throw new Error("Color mode not supported: ".concat(psd.colorMode));
730
731
  }
731
732
  // remove weird white matte
732
- if (options.globalAlpha) {
733
+ if (reader.globalAlpha) {
733
734
  if (psd.bitsPerChannel !== 8)
734
735
  throw new Error('bitsPerChannel Not supproted');
735
736
  var p = imageData.data;
@@ -746,7 +747,7 @@ function readImageData(reader, psd, options) {
746
747
  }
747
748
  }
748
749
  }
749
- if (options.useImageData) {
750
+ if (reader.useImageData) {
750
751
  psd.imageData = imageData;
751
752
  }
752
753
  else {
@@ -1112,7 +1113,7 @@ function readPattern(reader) {
1112
1113
  // console.log(data);
1113
1114
  // throw new Error('Zip compression not supported for pattern');
1114
1115
  // throw new Error('Unsupported pattern compression');
1115
- console.error('Unsupported pattern compression');
1116
+ reader.log('Unsupported pattern compression');
1116
1117
  name += ' (failed to decode)';
1117
1118
  }
1118
1119
  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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"}
@@ -1,12 +1,12 @@
1
1
  import { LayerAdditionalInfo, BezierPath, Psd, WriteOptions, BooleanOperation, LayerEffectsInfo, LayerVectorMask } from './psd';
2
- import { PsdReader, ReadOptionsExt } from './psdReader';
2
+ import { PsdReader } from './psdReader';
3
3
  import { PsdWriter } from './psdWriter';
4
4
  export interface ExtendedWriteOptions extends WriteOptions {
5
5
  layerIds: Set<number>;
6
6
  layerToId: Map<any, number>;
7
7
  }
8
8
  type HasMethod = (target: LayerAdditionalInfo) => boolean;
9
- type ReadMethod = (reader: PsdReader, target: LayerAdditionalInfo, left: () => number, psd: Psd, options: ReadOptionsExt) => void;
9
+ type ReadMethod = (reader: PsdReader, target: LayerAdditionalInfo, left: () => number, psd: Psd) => void;
10
10
  type WriteMethod = (writer: PsdWriter, target: LayerAdditionalInfo, psd: Psd, options: ExtendedWriteOptions) => void;
11
11
  export interface InfoHandler {
12
12
  key: string;