ag-psd 22.0.1 → 23.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.
@@ -1 +1 @@
1
- {"version":3,"file":"psdWriter.js","sourceRoot":"../src/","sources":["psdWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"psdWriter.js","sourceRoot":"../src/","sources":["psdWriter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ag-psd",
3
- "version": "22.0.1",
3
+ "version": "23.0.0",
4
4
  "description": "Library for reading and writing PSD files",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist-es/index.js",
@@ -518,7 +518,7 @@ addHandler(
518
518
  if (version !== 0) throw new Error('Invalid lmfx version');
519
519
 
520
520
  const desc: LmfxDescriptor = readVersionAndDescriptor(reader);
521
- // console.log(require('util').inspect(info, false, 99, true));
521
+ // console.log('READ', require('util').inspect(desc, false, 99, true));
522
522
 
523
523
  // discard if read in 'lrFX' or 'lfx2' section
524
524
  target.effects = parseEffects(desc, !!reader.logMissingFeatures);
@@ -527,6 +527,7 @@ addHandler(
527
527
  },
528
528
  (writer, target, _, options) => {
529
529
  const desc = serializeEffects(target.effects!, !!options.logMissingFeatures, true);
530
+ // console.log('WRITE', require('util').inspect(desc, false, 99, true));
530
531
 
531
532
  writeUint32(writer, 0); // version
532
533
  writeVersionAndDescriptor(writer, '', 'null', desc);
@@ -3602,134 +3603,187 @@ interface FileOpenDescriptor {
3602
3603
  compInfo: { compID: number; originalCompID: number; };
3603
3604
  }
3604
3605
 
3605
- addHandler(
3606
- 'lnk2',
3607
- (target: any) => !!(target as Psd).linkedFiles && (target as Psd).linkedFiles!.length > 0,
3608
- (reader, target, left) => {
3609
- const psd = target as Psd;
3610
- psd.linkedFiles = psd.linkedFiles || [];
3611
-
3612
- while (left() > 8) {
3613
- let size = readLength64(reader); // size
3614
- const startOffset = reader.offset;
3615
- const type = readSignature(reader) as 'liFD' | 'liFE' | 'liFA';
3616
- // liFD - linked file data
3617
- // liFE - linked file external
3618
- // liFA - linked file alias
3619
- const version = readInt32(reader);
3620
- const id = readPascalString(reader, 1);
3621
- const name = readUnicodeString(reader);
3622
-
3623
- const fileType = readSignature(reader).trim(); // ' ' if empty
3624
- const fileCreator = readSignature(reader).trim(); // ' ' or '\0\0\0\0' if empty
3625
- const dataSize = readLength64(reader);
3626
- const hasFileOpenDescriptor = readUint8(reader);
3627
- const fileOpenDescriptor = hasFileOpenDescriptor ? readVersionAndDescriptor(reader) as FileOpenDescriptor : undefined;
3628
- const linkedFileDescriptor = type === 'liFE' ? readVersionAndDescriptor(reader) : undefined;
3629
- const file: LinkedFile = { id, name };
3630
-
3631
- if (fileType) file.type = fileType;
3632
- if (fileCreator) file.creator = fileCreator;
3633
-
3634
- if (fileOpenDescriptor) {
3635
- file.descriptor = {
3636
- compInfo: {
3637
- compID: fileOpenDescriptor.compInfo.compID,
3638
- originalCompID: fileOpenDescriptor.compInfo.originalCompID,
3639
- }
3640
- };
3641
- }
3606
+ interface LinkedFileDescriptor {
3607
+ descVersion: 2;
3608
+ 'Nm ': string;
3609
+ fullPath: string;
3610
+ originalPath: string;
3611
+ relPath: string;
3612
+ }
3642
3613
 
3643
- if (type === 'liFE' && version > 3) {
3644
- const year = readInt32(reader);
3645
- const month = readUint8(reader);
3646
- const day = readUint8(reader);
3647
- const hour = readUint8(reader);
3648
- const minute = readUint8(reader);
3649
- const seconds = readFloat64(reader);
3650
- const wholeSeconds = Math.floor(seconds);
3651
- const ms = (seconds - wholeSeconds) * 1000;
3652
- file.time = (new Date(year, month, day, hour, minute, wholeSeconds, ms)).toISOString();
3614
+ function createLnkHandler(tag: string) {
3615
+ addHandler(
3616
+ tag,
3617
+ (target: any) => {
3618
+ const psd = target as Psd;
3619
+ if (!psd.linkedFiles || !psd.linkedFiles.length) return false;
3620
+ if (tag === 'lnkE' && !psd.linkedFiles.some(f => f.linkedFile)) return false;
3621
+ return true;
3622
+ },
3623
+ (reader, target, left, _psd) => {
3624
+ const psd = target as Psd;
3625
+ psd.linkedFiles = psd.linkedFiles || [];
3626
+
3627
+ while (left() > 8) {
3628
+ let size = readLength64(reader);
3629
+ const startOffset = reader.offset;
3630
+ const type = readSignature(reader) as 'liFD' | 'liFE' | 'liFA';
3631
+ // liFD - linked file data
3632
+ // liFE - linked file external
3633
+ // liFA - linked file alias
3634
+ const version = readInt32(reader);
3635
+ const id = readPascalString(reader, 1);
3636
+ const name = readUnicodeString(reader);
3637
+
3638
+ const fileType = readSignature(reader).trim(); // ' ' if empty
3639
+ const fileCreator = readSignature(reader).trim(); // ' ' or '\0\0\0\0' if empty
3640
+ const dataSize = readLength64(reader);
3641
+ const hasFileOpenDescriptor = readUint8(reader);
3642
+ const fileOpenDescriptor = hasFileOpenDescriptor ? readVersionAndDescriptor(reader) as FileOpenDescriptor : undefined;
3643
+ const linkedFileDescriptor = type === 'liFE' ? readVersionAndDescriptor(reader) as LinkedFileDescriptor : undefined;
3644
+ const file: LinkedFile = { id, name };
3645
+
3646
+ if (fileType) file.type = fileType;
3647
+ if (fileCreator) file.creator = fileCreator;
3648
+
3649
+ if (fileOpenDescriptor) {
3650
+ file.descriptor = {
3651
+ compInfo: {
3652
+ compID: fileOpenDescriptor.compInfo.compID,
3653
+ originalCompID: fileOpenDescriptor.compInfo.originalCompID,
3654
+ }
3655
+ };
3656
+ }
3657
+
3658
+ if (type === 'liFE' && version > 3) {
3659
+ const year = readInt32(reader);
3660
+ const month = readUint8(reader);
3661
+ const day = readUint8(reader);
3662
+ const hour = readUint8(reader);
3663
+ const minute = readUint8(reader);
3664
+ const seconds = readFloat64(reader);
3665
+ const wholeSeconds = Math.floor(seconds);
3666
+ const ms = (seconds - wholeSeconds) * 1000;
3667
+ file.time = (new Date(Date.UTC(year, month, day, hour, minute, wholeSeconds, ms))).toISOString();
3668
+ }
3669
+
3670
+ const fileSize = type === 'liFE' ? readLength64(reader) : 0;
3671
+
3672
+ if (type === 'liFA') skipBytes(reader, 8);
3673
+ if (type === 'liFD') file.data = readBytes(reader, dataSize); // seems to be a typo in docs
3674
+ if (version >= 5) file.childDocumentID = readUnicodeString(reader);
3675
+ if (version >= 6) file.assetModTime = readFloat64(reader);
3676
+ if (version >= 7) file.assetLockedState = readUint8(reader);
3677
+ if (type === 'liFE' && version === 2) file.data = readBytes(reader, fileSize);
3678
+
3679
+ if (reader.skipLinkedFilesData) file.data = undefined;
3680
+
3681
+ if (tag === 'lnkE') {
3682
+ file.linkedFile = {
3683
+ fileSize,
3684
+ name: linkedFileDescriptor?.['Nm '] || '',
3685
+ fullPath: linkedFileDescriptor?.fullPath || '',
3686
+ originalPath: linkedFileDescriptor?.originalPath || '',
3687
+ relativePath: linkedFileDescriptor?.relPath || '',
3688
+ };
3689
+ }
3690
+
3691
+ psd.linkedFiles.push(file);
3692
+
3693
+ while (size % 4) size++;
3694
+ reader.offset = startOffset + size;
3653
3695
  }
3654
3696
 
3655
- const fileSize = type === 'liFE' ? readLength64(reader) : 0;
3656
- if (type === 'liFA') skipBytes(reader, 8);
3657
- if (type === 'liFD') file.data = readBytes(reader, dataSize); // seems to be a typo in docs
3658
- if (version >= 5) file.childDocumentID = readUnicodeString(reader);
3659
- if (version >= 6) file.assetModTime = readFloat64(reader);
3660
- if (version >= 7) file.assetLockedState = readUint8(reader);
3661
- if (type === 'liFE' && version === 2) file.data = readBytes(reader, fileSize);
3697
+ skipBytes(reader, left()); // ?
3698
+ },
3699
+ (writer, target) => {
3700
+ const psd = target as Psd;
3662
3701
 
3663
- if (reader.skipLinkedFilesData) file.data = undefined;
3702
+ for (const file of psd.linkedFiles!) {
3703
+ if ((tag === 'lnkE') !== !!file.linkedFile) continue;
3664
3704
 
3665
- psd.linkedFiles.push(file);
3666
- linkedFileDescriptor;
3705
+ let version = 2;
3667
3706
 
3668
- while (size % 4) size++;
3669
- reader.offset = startOffset + size;
3670
- }
3707
+ if (file.assetLockedState != null) version = 7;
3708
+ else if (file.assetModTime != null) version = 6;
3709
+ else if (file.childDocumentID != null) version = 5;
3710
+ else if (tag == 'lnkE') version = 3;
3671
3711
 
3672
- skipBytes(reader, left()); // ?
3673
- },
3674
- (writer, target) => {
3675
- const psd = target as Psd;
3712
+ writeLength64(writer, 0);
3676
3713
 
3677
- for (const file of psd.linkedFiles!) {
3678
- let version = 2;
3714
+ const sizeOffset = writer.offset;
3715
+ writeSignature(writer, (tag === 'lnkE') ? 'liFE' : (file.data ? 'liFD' : 'liFA'));
3716
+ writeInt32(writer, version);
3717
+ if (!file.id || typeof file.id !== 'string' || !/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/.test(file.id)) {
3718
+ throw new Error('Linked file ID must be in a GUID format (example: 20953ddb-9391-11ec-b4f1-c15674f50bc4)');
3719
+ }
3720
+ writePascalString(writer, file.id, 1);
3721
+ writeUnicodeStringWithPadding(writer, file.name || '');
3722
+ writeSignature(writer, file.type ? `${file.type} `.substring(0, 4) : ' ');
3723
+ writeSignature(writer, file.creator ? `${file.creator} `.substring(0, 4) : '\0\0\0\0');
3724
+ writeLength64(writer, file.data ? file.data.byteLength : 0);
3725
+
3726
+ if (file.descriptor && file.descriptor.compInfo) {
3727
+ const desc: FileOpenDescriptor = {
3728
+ compInfo: {
3729
+ compID: file.descriptor.compInfo.compID,
3730
+ originalCompID: file.descriptor.compInfo.originalCompID,
3731
+ },
3732
+ };
3679
3733
 
3680
- if (file.assetLockedState != null) version = 7;
3681
- else if (file.assetModTime != null) version = 6;
3682
- else if (file.childDocumentID != null) version = 5;
3683
- // TODO: else if (file.time != null) version = 3; (only for liFE)
3734
+ writeUint8(writer, 1);
3735
+ writeVersionAndDescriptor(writer, '', 'null', desc);
3736
+ } else {
3737
+ writeUint8(writer, 0);
3738
+ }
3684
3739
 
3685
- writeUint32(writer, 0);
3686
- writeUint32(writer, 0); // size
3687
- const sizeOffset = writer.offset;
3688
- writeSignature(writer, file.data ? 'liFD' : 'liFA');
3689
- writeInt32(writer, version);
3690
- if (!file.id || typeof file.id !== 'string' || !/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/.test(file.id)) {
3691
- throw new Error('Linked file ID must be in a GUID format (example: 20953ddb-9391-11ec-b4f1-c15674f50bc4)');
3692
- }
3693
- writePascalString(writer, file.id, 1);
3694
- writeUnicodeStringWithPadding(writer, file.name || '');
3695
- writeSignature(writer, file.type ? `${file.type} `.substring(0, 4) : ' ');
3696
- writeSignature(writer, file.creator ? `${file.creator} `.substring(0, 4) : '\0\0\0\0');
3697
- writeLength64(writer, file.data ? file.data.byteLength : 0);
3698
-
3699
- if (file.descriptor && file.descriptor.compInfo) {
3700
- const desc: FileOpenDescriptor = {
3701
- compInfo: {
3702
- compID: file.descriptor.compInfo.compID,
3703
- originalCompID: file.descriptor.compInfo.originalCompID,
3704
- }
3705
- };
3740
+ if (tag === 'lnkE') {
3741
+ const desc: LinkedFileDescriptor = {
3742
+ descVersion: 2,
3743
+ 'Nm ': file.linkedFile?.name ?? '',
3744
+ fullPath: file.linkedFile?.fullPath ?? '',
3745
+ originalPath: file.linkedFile?.originalPath ?? '',
3746
+ relPath: file.linkedFile?.relativePath ?? '',
3747
+ };
3706
3748
 
3707
- writeUint8(writer, 1);
3708
- writeVersionAndDescriptor(writer, '', 'null', desc);
3709
- } else {
3710
- writeUint8(writer, 0);
3711
- }
3749
+ writeVersionAndDescriptor(writer, '', 'ExternalFileLink', desc);
3712
3750
 
3713
- if (file.data) writeBytes(writer, file.data);
3714
- else writeLength64(writer, 0);
3715
- if (version >= 5) writeUnicodeStringWithPadding(writer, file.childDocumentID || '');
3716
- if (version >= 6) writeFloat64(writer, file.assetModTime || 0);
3717
- if (version >= 7) writeUint8(writer, file.assetLockedState || 0);
3751
+ const time = file.time ? new Date(file.time) : new Date();
3752
+ writeInt32(writer, time.getUTCFullYear());
3753
+ writeUint8(writer, time.getUTCMonth());
3754
+ writeUint8(writer, time.getUTCDate());
3755
+ writeUint8(writer, time.getUTCHours());
3756
+ writeUint8(writer, time.getUTCMinutes());
3757
+ writeFloat64(writer, time.getUTCSeconds() + time.getUTCMilliseconds() / 1000);
3758
+ }
3759
+
3760
+ if (file.data) {
3761
+ writeBytes(writer, file.data);
3762
+ } else {
3763
+ writeLength64(writer, file.linkedFile?.fileSize || 0);
3764
+ }
3718
3765
 
3719
- let size = writer.offset - sizeOffset;
3720
- writer.view.setUint32(sizeOffset - 4, size, false); // write size
3766
+ if (version >= 5) writeUnicodeStringWithPadding(writer, file.childDocumentID || '');
3767
+ if (version >= 6) writeFloat64(writer, file.assetModTime || 0);
3768
+ if (version >= 7) writeUint8(writer, file.assetLockedState || 0);
3721
3769
 
3722
- while (size % 4) {
3723
- size++;
3724
- writeUint8(writer, 0);
3770
+ let size = writer.offset - sizeOffset;
3771
+ writer.view.setUint32(sizeOffset - 4, size, false); // write size
3772
+
3773
+ while (size % 4) {
3774
+ size++;
3775
+ writeUint8(writer, 0);
3776
+ }
3725
3777
  }
3726
- }
3727
- },
3728
- );
3778
+ },
3779
+ );
3780
+ }
3781
+
3782
+ createLnkHandler('lnk2');
3783
+ createLnkHandler('lnkE');
3729
3784
 
3730
3785
  addHandlerAlias('lnkD', 'lnk2');
3731
3786
  addHandlerAlias('lnk3', 'lnk2');
3732
- addHandlerAlias('lnkE', 'lnk2');
3733
3787
 
3734
3788
  interface PthsDescriptor {
3735
3789
  pathList: {
package/src/descriptor.ts CHANGED
@@ -178,7 +178,7 @@ const typeToField: { [key: string]: string[]; } = {
178
178
  'Txt ', 'printerName', 'Nm ', 'Idnt', 'blackAndWhitePresetFileName', 'LUT3DFileName',
179
179
  'presetFileName', 'curvesPresetFileName', 'mixerPresetFileName', 'placed', 'description', 'reason',
180
180
  'artboardPresetName', 'json', 'clipID', 'relPath', 'fullPath', 'mediaDescriptor', 'Msge',
181
- 'altTag', 'url', 'cellText', 'preset', 'KnNm', 'FPth', 'comment',
181
+ 'altTag', 'url', 'cellText', 'preset', 'KnNm', 'FPth', 'comment', 'originalPath',
182
182
  ],
183
183
  'tdta': [
184
184
  'EngineData', 'LUT3DFileData', 'indexArray', 'originalVertexArray', 'deformedVertexArray',
@@ -935,7 +935,13 @@ export interface WarpDescriptor {
935
935
  Left: DescriptorUnitsValue;
936
936
  Btom: DescriptorUnitsValue;
937
937
  Rght: DescriptorUnitsValue;
938
- };
938
+ } | {
939
+ _classID: 'classFloatRect',
940
+ 'Top ': number,
941
+ Left: number,
942
+ Btom: number,
943
+ Rght: number,
944
+ },
939
945
  uOrder: number;
940
946
  vOrder: number;
941
947
  customEnvelopeWarp?: {
@@ -1180,21 +1186,24 @@ export function serializeEffects(e: LayerEffectsInfo, log: boolean, multi: boole
1180
1186
  if (e[key] && !Array.isArray(e[key])) throw new Error(`${key} should be an array`);
1181
1187
  }
1182
1188
 
1183
- if (e.dropShadow?.[0] && !multi) info.DrSh = serializeEffectObject(e.dropShadow[0], 'dropShadow', log);
1184
- if (e.dropShadow?.[0] && multi) info.dropShadowMulti = e.dropShadow.map(i => serializeEffectObject(i, 'dropShadow', log));
1185
- if (e.innerShadow?.[0] && !multi) info.IrSh = serializeEffectObject(e.innerShadow[0], 'innerShadow', log);
1186
- if (e.innerShadow?.[0] && multi) info.innerShadowMulti = e.innerShadow.map(i => serializeEffectObject(i, 'innerShadow', log));
1189
+ const useMulti = <T>(arr: undefined | T[]): arr is T[] => !!arr && arr.length > 1 && multi;
1190
+ const useSingle = <T>(arr: undefined | T[]): arr is T[] => !!arr && arr.length >= 1 && (!multi || arr.length === 1);
1191
+
1192
+ if (useSingle(e.dropShadow)) info.DrSh = serializeEffectObject(e.dropShadow[0], 'dropShadow', log);
1193
+ if (useMulti(e.dropShadow)) info.dropShadowMulti = e.dropShadow.map(i => serializeEffectObject(i, 'dropShadow', log));
1194
+ if (useSingle(e.innerShadow)) info.IrSh = serializeEffectObject(e.innerShadow[0], 'innerShadow', log);
1195
+ if (useMulti(e.innerShadow)) info.innerShadowMulti = e.innerShadow.map(i => serializeEffectObject(i, 'innerShadow', log));
1187
1196
  if (e.outerGlow) info.OrGl = serializeEffectObject(e.outerGlow, 'outerGlow', log);
1188
- if (e.solidFill?.[0] && multi) info.solidFillMulti = e.solidFill.map(i => serializeEffectObject(i, 'solidFill', log));
1189
- if (e.gradientOverlay?.[0] && multi) info.gradientFillMulti = e.gradientOverlay.map(i => serializeEffectObject(i, 'gradientOverlay', log));
1190
- if (e.stroke?.[0] && multi) info.frameFXMulti = e.stroke.map(i => serializeFxObject(i));
1197
+ if (useMulti(e.solidFill)) info.solidFillMulti = e.solidFill.map(i => serializeEffectObject(i, 'solidFill', log));
1198
+ if (useMulti(e.gradientOverlay)) info.gradientFillMulti = e.gradientOverlay.map(i => serializeEffectObject(i, 'gradientOverlay', log));
1199
+ if (useMulti(e.stroke)) info.frameFXMulti = e.stroke.map(i => serializeFxObject(i));
1191
1200
  if (e.innerGlow) info.IrGl = serializeEffectObject(e.innerGlow, 'innerGlow', log);
1192
1201
  if (e.bevel) info.ebbl = serializeEffectObject(e.bevel, 'bevel', log);
1193
- if (e.solidFill?.[0] && !multi) info.SoFi = serializeEffectObject(e.solidFill[0], 'solidFill', log);
1202
+ if (useSingle(e.solidFill)) info.SoFi = serializeEffectObject(e.solidFill[0], 'solidFill', log);
1194
1203
  if (e.patternOverlay) info.patternFill = serializeEffectObject(e.patternOverlay, 'patternOverlay', log);
1195
- if (e.gradientOverlay?.[0] && !multi) info.GrFl = serializeEffectObject(e.gradientOverlay[0], 'gradientOverlay', log);
1204
+ if (useSingle(e.gradientOverlay)) info.GrFl = serializeEffectObject(e.gradientOverlay[0], 'gradientOverlay', log);
1196
1205
  if (e.satin) info.ChFX = serializeEffectObject(e.satin, 'satin', log);
1197
- if (e.stroke?.[0] && !multi) info.FrFX = serializeFxObject(e.stroke?.[0]);
1206
+ if (useSingle(e.stroke)) info.FrFX = serializeFxObject(e.stroke?.[0]);
1198
1207
 
1199
1208
  if (multi) {
1200
1209
  info.numModifyingFX = 0;
package/src/psd.ts CHANGED
@@ -678,7 +678,7 @@ export interface SelectiveColorAdjustment {
678
678
  blacks?: CMYK;
679
679
  }
680
680
 
681
- export interface LinkedFile {
681
+ export type LinkedFile = {
682
682
  id: string; // must be in a GUID format (example: 20953ddb-9391-11ec-b4f1-c15674f50bc4)
683
683
  name: string;
684
684
  type?: string;
@@ -691,6 +691,15 @@ export interface LinkedFile {
691
691
  childDocumentID?: string;
692
692
  assetModTime?: number;
693
693
  assetLockedState?: number;
694
+
695
+ // external files
696
+ linkedFile?: {
697
+ fileSize: number;
698
+ name: string;
699
+ fullPath: string;
700
+ originalPath: string;
701
+ relativePath: string;
702
+ };
694
703
  }
695
704
 
696
705
  type FilterVariant = {
package/src/psdWriter.ts CHANGED
@@ -476,13 +476,6 @@ function addChildren(layers: Layer[], children: Layer[] | undefined) {
476
476
  sectionDivider: {
477
477
  type: SectionDividerType.BoundingSectionDivider,
478
478
  },
479
- // TESTING
480
- // nameSource: 'lset',
481
- // id: [4, 0, 0, 8, 11, 0, 0, 0, 0, 14][layers.length] || 0,
482
- // layerColor: 'none',
483
- // timestamp: [1611346817.349021, 0, 0, 1611346817.349175, 1611346817.3491833, 0, 0, 0, 0, 1611346817.349832][layers.length] || 0,
484
- // protected: {},
485
- // referencePoint: { x: 0, y: 0 },
486
479
  });
487
480
  addChildren(layers, c.children);
488
481
  layers.push({