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.
- package/CHANGELOG.md +4 -0
- package/dist/additionalInfo.d.ts +2 -2
- package/dist/additionalInfo.js +30 -17
- package/dist/additionalInfo.js.map +1 -1
- package/dist/bundle.js +125 -108
- package/dist/descriptor.js +1 -0
- package/dist/descriptor.js.map +1 -1
- package/dist/imageResources.d.ts +2 -2
- package/dist/imageResources.js +25 -27
- package/dist/imageResources.js.map +1 -1
- package/dist/psd.d.ts +7 -1
- package/dist/psdReader.d.ts +7 -9
- package/dist/psdReader.js +67 -62
- package/dist/psdReader.js.map +1 -1
- package/dist/psdWriter.js +2 -2
- package/dist/psdWriter.js.map +1 -1
- package/dist-es/additionalInfo.d.ts +2 -2
- package/dist-es/additionalInfo.js +30 -17
- package/dist-es/additionalInfo.js.map +1 -1
- package/dist-es/descriptor.js +1 -0
- package/dist-es/descriptor.js.map +1 -1
- package/dist-es/imageResources.d.ts +2 -2
- package/dist-es/imageResources.js +25 -27
- package/dist-es/imageResources.js.map +1 -1
- package/dist-es/psd.d.ts +7 -1
- package/dist-es/psdReader.d.ts +7 -9
- package/dist-es/psdReader.js +65 -61
- package/dist-es/psdReader.js.map +1 -1
- package/dist-es/psdWriter.js +2 -2
- package/dist-es/psdWriter.js.map +1 -1
- package/package.json +1 -1
- package/src/additionalInfo.ts +30 -19
- package/src/descriptor.ts +1 -0
- package/src/engineData2.ts +2 -2
- package/src/imageResources.ts +28 -28
- package/src/psd.ts +9 -2
- package/src/psdReader.ts +72 -58
- package/src/psdWriter.ts +2 -1
package/CHANGELOG.md
CHANGED
package/dist/additionalInfo.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { LayerAdditionalInfo, BezierPath, Psd, WriteOptions, BooleanOperation, LayerEffectsInfo, LayerVectorMask } from './psd';
|
|
2
|
-
import { 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
|
|
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;
|
package/dist/additionalInfo.js
CHANGED
|
@@ -388,14 +388,14 @@ addHandler('vogk', hasKey('vectorOrigination'), function (reader, target, left)
|
|
|
388
388
|
(0, psdWriter_1.writeInt32)(writer, 1); // version
|
|
389
389
|
(0, descriptor_1.writeVersionAndDescriptor)(writer, '', 'null', desc);
|
|
390
390
|
});
|
|
391
|
-
addHandler('lmfx', function (target) { return target.effects !== undefined && hasMultiEffects(target.effects); }, function (reader, target, left
|
|
391
|
+
addHandler('lmfx', function (target) { return target.effects !== undefined && hasMultiEffects(target.effects); }, function (reader, target, left) {
|
|
392
392
|
var version = (0, psdReader_1.readUint32)(reader);
|
|
393
393
|
if (version !== 0)
|
|
394
394
|
throw new Error('Invalid lmfx version');
|
|
395
395
|
var desc = (0, descriptor_1.readVersionAndDescriptor)(reader);
|
|
396
396
|
// console.log(require('util').inspect(info, false, 99, true));
|
|
397
397
|
// discard if read in 'lrFX' or 'lfx2' section
|
|
398
|
-
target.effects = (0, descriptor_1.parseEffects)(desc, !!
|
|
398
|
+
target.effects = (0, descriptor_1.parseEffects)(desc, !!reader.logMissingFeatures);
|
|
399
399
|
(0, psdReader_1.skipBytes)(reader, left());
|
|
400
400
|
}, function (writer, target, _, options) {
|
|
401
401
|
var desc = (0, descriptor_1.serializeEffects)(target.effects, !!options.logMissingFeatures, true);
|
|
@@ -410,7 +410,20 @@ addHandler('lrFX', hasKey('effects'), function (reader, target, left) {
|
|
|
410
410
|
(0, effectsHelpers_1.writeEffects)(writer, target.effects);
|
|
411
411
|
});
|
|
412
412
|
addHandler('luni', hasKey('name'), function (reader, target, left) {
|
|
413
|
-
|
|
413
|
+
if (left() > 4) {
|
|
414
|
+
var length_1 = (0, psdReader_1.readUint32)(reader);
|
|
415
|
+
if (left() >= (length_1 * 2)) {
|
|
416
|
+
target.name = (0, psdReader_1.readUnicodeStringWithLength)(reader, length_1);
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
if (reader.logDevFeatures)
|
|
420
|
+
reader.log('name in luni section is too long');
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
else {
|
|
424
|
+
if (reader.logDevFeatures)
|
|
425
|
+
reader.log('empty luni section');
|
|
426
|
+
}
|
|
414
427
|
(0, psdReader_1.skipBytes)(reader, left());
|
|
415
428
|
}, function (writer, target) {
|
|
416
429
|
(0, psdWriter_1.writeUnicodeString)(writer, target.name);
|
|
@@ -501,7 +514,7 @@ addHandler('lclr', hasKey('layerColor'), function (reader, target) {
|
|
|
501
514
|
(0, psdWriter_1.writeZeros)(writer, 6);
|
|
502
515
|
});
|
|
503
516
|
addHandler('shmd', function (target) { return target.timestamp !== undefined || target.animationFrames !== undefined ||
|
|
504
|
-
target.animationFrameFlags !== undefined || target.timeline !== undefined || target.comps !== undefined; }, function (reader, target, left
|
|
517
|
+
target.animationFrameFlags !== undefined || target.timeline !== undefined || target.comps !== undefined; }, function (reader, target, left) {
|
|
505
518
|
var count = (0, psdReader_1.readUint32)(reader);
|
|
506
519
|
var _loop_1 = function (i) {
|
|
507
520
|
(0, psdReader_1.checkSignature)(reader, '8BIM');
|
|
@@ -529,7 +542,7 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
|
|
|
529
542
|
if (f.FXRf)
|
|
530
543
|
frame.referencePoint = (0, descriptor_1.horzVrtcToXY)(f.FXRf);
|
|
531
544
|
if (f.Lefx)
|
|
532
|
-
frame.effects = (0, descriptor_1.parseEffects)(f.Lefx, !!
|
|
545
|
+
frame.effects = (0, descriptor_1.parseEffects)(f.Lefx, !!reader.logMissingFeatures);
|
|
533
546
|
if (f.blendOptions && f.blendOptions.Opct)
|
|
534
547
|
frame.opacity = (0, descriptor_1.parsePercent)(f.blendOptions.Opct);
|
|
535
548
|
target.animationFrames.push(frame);
|
|
@@ -560,7 +573,7 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
|
|
|
560
573
|
audioLevel: desc.audioLevel,
|
|
561
574
|
};
|
|
562
575
|
if (desc.trackList) {
|
|
563
|
-
timeline.tracks = (0, descriptor_1.parseTrackList)(desc.trackList, !!
|
|
576
|
+
timeline.tracks = (0, descriptor_1.parseTrackList)(desc.trackList, !!reader.logMissingFeatures);
|
|
564
577
|
}
|
|
565
578
|
target.timeline = timeline;
|
|
566
579
|
// console.log('tmln:result', target.name, target.id, require('util').inspect(timeline, false, 99, true));
|
|
@@ -586,7 +599,7 @@ addHandler('shmd', function (target) { return target.timestamp !== undefined ||
|
|
|
586
599
|
}
|
|
587
600
|
}
|
|
588
601
|
else {
|
|
589
|
-
|
|
602
|
+
reader.logMissingFeatures && reader.log('Unhandled "shmd" section key', key);
|
|
590
603
|
}
|
|
591
604
|
(0, psdReader_1.skipBytes)(reader, left());
|
|
592
605
|
});
|
|
@@ -1800,7 +1813,7 @@ function getWarpFromPlacedLayer(placed) {
|
|
|
1800
1813
|
},
|
|
1801
1814
|
};
|
|
1802
1815
|
}
|
|
1803
|
-
addHandler('SoLd', hasKey('placedLayer'), function (reader, target, left
|
|
1816
|
+
addHandler('SoLd', hasKey('placedLayer'), function (reader, target, left) {
|
|
1804
1817
|
if ((0, psdReader_1.readSignature)(reader) !== 'soLD')
|
|
1805
1818
|
throw new Error("Invalid SoLd type");
|
|
1806
1819
|
var version = (0, psdReader_1.readInt32)(reader);
|
|
@@ -1843,7 +1856,7 @@ addHandler('SoLd', hasKey('placedLayer'), function (reader, target, left, _, opt
|
|
|
1843
1856
|
};
|
|
1844
1857
|
}
|
|
1845
1858
|
if (desc.filterFX)
|
|
1846
|
-
target.placedLayer.filter = parseFilterFX(desc.filterFX,
|
|
1859
|
+
target.placedLayer.filter = parseFilterFX(desc.filterFX, reader);
|
|
1847
1860
|
// console.log('filter', require('util').inspect(target.placedLayer.filter, false, 99, true));
|
|
1848
1861
|
(0, psdReader_1.skipBytes)(reader, left()); // HACK
|
|
1849
1862
|
}, function (writer, target) {
|
|
@@ -1914,12 +1927,12 @@ addHandler('fxrp', hasKey('referencePoint'), function (reader, target) {
|
|
|
1914
1927
|
(0, psdWriter_1.writeFloat64)(writer, target.referencePoint.x);
|
|
1915
1928
|
(0, psdWriter_1.writeFloat64)(writer, target.referencePoint.y);
|
|
1916
1929
|
});
|
|
1917
|
-
addHandler('Lr16', function () { return false; }, function (reader, _target, _left, psd
|
|
1918
|
-
(0, psdReader_1.readLayerInfo)(reader, psd
|
|
1930
|
+
addHandler('Lr16', function () { return false; }, function (reader, _target, _left, psd) {
|
|
1931
|
+
(0, psdReader_1.readLayerInfo)(reader, psd);
|
|
1919
1932
|
}, function (_writer, _target) {
|
|
1920
1933
|
});
|
|
1921
|
-
addHandler('Lr32', function () { return false; }, function (reader, _target, _left, psd
|
|
1922
|
-
(0, psdReader_1.readLayerInfo)(reader, psd
|
|
1934
|
+
addHandler('Lr32', function () { return false; }, function (reader, _target, _left, psd) {
|
|
1935
|
+
(0, psdReader_1.readLayerInfo)(reader, psd);
|
|
1923
1936
|
}, function (_writer, _target) {
|
|
1924
1937
|
});
|
|
1925
1938
|
addHandler('LMsk', hasKey('userMask'), function (reader, target) {
|
|
@@ -2117,7 +2130,7 @@ addHandler('Anno', function (target) { return target.annotations !== undefined;
|
|
|
2117
2130
|
writer.view.setUint32(dataOffset - 4, writer.offset - dataOffset, false);
|
|
2118
2131
|
}
|
|
2119
2132
|
});
|
|
2120
|
-
addHandler('lnk2', function (target) { return !!target.linkedFiles && target.linkedFiles.length > 0; }, function (reader, target, left
|
|
2133
|
+
addHandler('lnk2', function (target) { return !!target.linkedFiles && target.linkedFiles.length > 0; }, function (reader, target, left) {
|
|
2121
2134
|
var psd = target;
|
|
2122
2135
|
psd.linkedFiles = psd.linkedFiles || [];
|
|
2123
2136
|
while (left() > 8) {
|
|
@@ -2173,7 +2186,7 @@ addHandler('lnk2', function (target) { return !!target.linkedFiles && target.lin
|
|
|
2173
2186
|
file.assetLockedState = (0, psdReader_1.readUint8)(reader);
|
|
2174
2187
|
if (type === 'liFE' && version === 2)
|
|
2175
2188
|
file.data = (0, psdReader_1.readBytes)(reader, fileSize);
|
|
2176
|
-
if (
|
|
2189
|
+
if (reader.skipLinkedFilesData)
|
|
2177
2190
|
file.data = undefined;
|
|
2178
2191
|
psd.linkedFiles.push(file);
|
|
2179
2192
|
linkedFileDescriptor;
|
|
@@ -3089,7 +3102,7 @@ function hasMultiEffects(effects) {
|
|
|
3089
3102
|
return Object.keys(effects).map(function (key) { return effects[key]; }).some(function (v) { return Array.isArray(v) && v.length > 1; });
|
|
3090
3103
|
}
|
|
3091
3104
|
exports.hasMultiEffects = hasMultiEffects;
|
|
3092
|
-
addHandler('lfx2', function (target) { return target.effects !== undefined && !hasMultiEffects(target.effects); }, function (reader, target, left
|
|
3105
|
+
addHandler('lfx2', function (target) { return target.effects !== undefined && !hasMultiEffects(target.effects); }, function (reader, target, left) {
|
|
3093
3106
|
var version = (0, psdReader_1.readUint32)(reader);
|
|
3094
3107
|
if (version !== 0)
|
|
3095
3108
|
throw new Error("Invalid lfx2 version");
|
|
@@ -3097,7 +3110,7 @@ addHandler('lfx2', function (target) { return target.effects !== undefined && !h
|
|
|
3097
3110
|
// console.log('READ', require('util').inspect(desc, false, 99, true));
|
|
3098
3111
|
// TODO: don't discard if we got it from lmfx
|
|
3099
3112
|
// discard if read in 'lrFX' section
|
|
3100
|
-
target.effects = (0, descriptor_1.parseEffects)(desc, !!
|
|
3113
|
+
target.effects = (0, descriptor_1.parseEffects)(desc, !!reader.logMissingFeatures);
|
|
3101
3114
|
(0, psdReader_1.skipBytes)(reader, left());
|
|
3102
3115
|
}, function (writer, target, _, options) {
|
|
3103
3116
|
var desc = (0, descriptor_1.serializeEffects)(target.effects, !!options.logMissingFeatures, true);
|