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/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 +110 -97
- package/dist/descriptor.js +1 -0
- package/dist/descriptor.js.map +1 -1
- package/dist/imageResources.d.ts +2 -2
- package/dist/imageResources.js +16 -18
- 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 +63 -62
- package/dist/psdReader.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 +16 -18
- 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 +61 -61
- package/dist-es/psdReader.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 +19 -19
- package/src/psd.ts +9 -2
- package/src/psdReader.ts +67 -58
|
@@ -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
|
|
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, !!
|
|
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
|
-
|
|
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
|
|
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, !!
|
|
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, !!
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|
|
1913
|
-
readLayerInfo(reader, psd
|
|
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
|
|
1917
|
-
readLayerInfo(reader, psd
|
|
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
|
|
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 (
|
|
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
|
|
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, !!
|
|
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);
|