ag-psd 17.0.2 → 17.0.4
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 +6 -0
- package/dist/additionalInfo.js +47 -4
- package/dist/additionalInfo.js.map +1 -1
- package/dist/bundle.js +47 -4
- package/dist-es/additionalInfo.js +47 -4
- package/dist-es/additionalInfo.js.map +1 -1
- package/package.json +1 -1
- package/src/additionalInfo.ts +52 -5
- package/src/psd.ts +5 -5
package/dist/bundle.js
CHANGED
|
@@ -1124,6 +1124,9 @@ addHandler('PlLd', hasKey('placedLayer'), function (reader, target, left) {
|
|
|
1124
1124
|
var placed = target.placedLayer;
|
|
1125
1125
|
(0, psdWriter_1.writeSignature)(writer, 'plcL');
|
|
1126
1126
|
(0, psdWriter_1.writeInt32)(writer, 3); // version
|
|
1127
|
+
if (!placed.id || typeof placed.id !== 'string' || !/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/.test(placed.id)) {
|
|
1128
|
+
throw new Error('Placed layer ID must be in a GUID format (example: 20953ddb-9391-11ec-b4f1-c15674f50bc4)');
|
|
1129
|
+
}
|
|
1127
1130
|
(0, psdWriter_1.writePascalString)(writer, placed.id, 1);
|
|
1128
1131
|
(0, psdWriter_1.writeInt32)(writer, 1); // pageNumber
|
|
1129
1132
|
(0, psdWriter_1.writeInt32)(writer, 1); // totalPages
|
|
@@ -1134,9 +1137,10 @@ addHandler('PlLd', hasKey('placedLayer'), function (reader, target, left) {
|
|
|
1134
1137
|
for (var i = 0; i < 8; i++)
|
|
1135
1138
|
(0, psdWriter_1.writeFloat64)(writer, placed.transform[i]);
|
|
1136
1139
|
(0, psdWriter_1.writeInt32)(writer, 0); // warp version
|
|
1137
|
-
var
|
|
1140
|
+
var warp = getWarpFromPlacedLayer(placed);
|
|
1141
|
+
var isQuilt = isQuiltWarp(warp);
|
|
1138
1142
|
var type = isQuilt ? 'quiltWarp' : 'warp';
|
|
1139
|
-
(0, descriptor_1.writeVersionAndDescriptor)(writer, '', type, encodeWarp(
|
|
1143
|
+
(0, descriptor_1.writeVersionAndDescriptor)(writer, '', type, encodeWarp(warp), type);
|
|
1140
1144
|
});
|
|
1141
1145
|
function uint8ToFloat32(array) {
|
|
1142
1146
|
return new Float32Array(array.buffer.slice(array.byteOffset), 0, array.byteLength / 4);
|
|
@@ -1960,6 +1964,39 @@ function serializeFilterFXItem(f) {
|
|
|
1960
1964
|
}
|
|
1961
1965
|
}
|
|
1962
1966
|
// let t: any;
|
|
1967
|
+
function getWarpFromPlacedLayer(placed) {
|
|
1968
|
+
if (placed.warp)
|
|
1969
|
+
return placed.warp;
|
|
1970
|
+
if (!placed.width || !placed.height)
|
|
1971
|
+
throw new Error('You must provide width and height of the linked image in placedLayer');
|
|
1972
|
+
var w = placed.width;
|
|
1973
|
+
var h = placed.height;
|
|
1974
|
+
var x0 = 0, x1 = w / 3, x2 = w * 2 / 3, x3 = w;
|
|
1975
|
+
var y0 = 0, y1 = h / 3, y2 = h * 2 / 3, y3 = h;
|
|
1976
|
+
return {
|
|
1977
|
+
style: 'custom',
|
|
1978
|
+
value: 0,
|
|
1979
|
+
perspective: 0,
|
|
1980
|
+
perspectiveOther: 0,
|
|
1981
|
+
rotate: 'horizontal',
|
|
1982
|
+
bounds: {
|
|
1983
|
+
top: { value: 0, units: 'Pixels' },
|
|
1984
|
+
left: { value: 0, units: 'Pixels' },
|
|
1985
|
+
bottom: { value: h, units: 'Pixels' },
|
|
1986
|
+
right: { value: w, units: 'Pixels' },
|
|
1987
|
+
},
|
|
1988
|
+
uOrder: 4,
|
|
1989
|
+
vOrder: 4,
|
|
1990
|
+
customEnvelopeWarp: {
|
|
1991
|
+
meshPoints: [
|
|
1992
|
+
{ x: x0, y: y0 }, { x: x1, y: y0 }, { x: x2, y: y0 }, { x: x3, y: y0 },
|
|
1993
|
+
{ x: x0, y: y1 }, { x: x1, y: y1 }, { x: x2, y: y1 }, { x: x3, y: y1 },
|
|
1994
|
+
{ x: x0, y: y2 }, { x: x1, y: y2 }, { x: x2, y: y2 }, { x: x3, y: y2 },
|
|
1995
|
+
{ x: x0, y: y3 }, { x: x1, y: y3 }, { x: x2, y: y3 }, { x: x3, y: y3 },
|
|
1996
|
+
],
|
|
1997
|
+
},
|
|
1998
|
+
};
|
|
1999
|
+
}
|
|
1963
2000
|
addHandler('SoLd', hasKey('placedLayer'), function (reader, target, left) {
|
|
1964
2001
|
if ((0, psdReader_1.readSignature)(reader) !== 'soLD')
|
|
1965
2002
|
throw new Error("Invalid SoLd type");
|
|
@@ -2011,9 +2048,12 @@ addHandler('SoLd', hasKey('placedLayer'), function (reader, target, left) {
|
|
|
2011
2048
|
(0, psdWriter_1.writeSignature)(writer, 'soLD');
|
|
2012
2049
|
(0, psdWriter_1.writeInt32)(writer, 4); // version
|
|
2013
2050
|
var placed = target.placedLayer;
|
|
2051
|
+
if (!placed.id || typeof placed.id !== 'string' || !/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/.test(placed.id)) {
|
|
2052
|
+
throw new Error('Placed layer ID must be in a GUID format (example: 20953ddb-9391-11ec-b4f1-c15674f50bc4)');
|
|
2053
|
+
}
|
|
2014
2054
|
var desc = __assign(__assign({ Idnt: placed.id, placed: (_a = placed.placed) !== null && _a !== void 0 ? _a : placed.id, PgNm: placed.pageNumber || 1, totalPages: placed.totalPages || 1 }, (placed.crop ? { Crop: placed.crop } : {})), { frameStep: placed.frameStep || { numerator: 0, denominator: 600 }, duration: placed.duration || { numerator: 0, denominator: 600 }, frameCount: placed.frameCount || 0, Annt: 16, Type: placedLayerTypes.indexOf(placed.type), Trnf: placed.transform, nonAffineTransform: (_b = placed.nonAffineTransform) !== null && _b !== void 0 ? _b : placed.transform,
|
|
2015
2055
|
// quiltWarp: {} as any,
|
|
2016
|
-
warp: encodeWarp(placed
|
|
2056
|
+
warp: encodeWarp(getWarpFromPlacedLayer(placed)), 'Sz ': {
|
|
2017
2057
|
_name: '',
|
|
2018
2058
|
_classID: 'Pnt ',
|
|
2019
2059
|
Wdth: placed.width || 0,
|
|
@@ -2281,7 +2321,10 @@ addHandler('lnk2', function (target) { return !!target.linkedFiles && target.lin
|
|
|
2281
2321
|
var sizeOffset = writer.offset;
|
|
2282
2322
|
(0, psdWriter_1.writeSignature)(writer, file.data ? 'liFD' : 'liFA');
|
|
2283
2323
|
(0, psdWriter_1.writeInt32)(writer, version);
|
|
2284
|
-
|
|
2324
|
+
if (!file.id || typeof file.id !== 'string' || !/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/.test(file.id)) {
|
|
2325
|
+
throw new Error('Linked file ID must be in a GUID format (example: 20953ddb-9391-11ec-b4f1-c15674f50bc4)');
|
|
2326
|
+
}
|
|
2327
|
+
(0, psdWriter_1.writePascalString)(writer, file.id, 1);
|
|
2285
2328
|
(0, psdWriter_1.writeUnicodeStringWithPadding)(writer, file.name || '');
|
|
2286
2329
|
(0, psdWriter_1.writeSignature)(writer, file.type ? "".concat(file.type, " ").substring(0, 4) : ' ');
|
|
2287
2330
|
(0, psdWriter_1.writeSignature)(writer, file.creator ? "".concat(file.creator, " ").substring(0, 4) : '\0\0\0\0');
|
|
@@ -847,6 +847,9 @@ addHandler('PlLd', hasKey('placedLayer'), function (reader, target, left) {
|
|
|
847
847
|
var placed = target.placedLayer;
|
|
848
848
|
writeSignature(writer, 'plcL');
|
|
849
849
|
writeInt32(writer, 3); // version
|
|
850
|
+
if (!placed.id || typeof placed.id !== 'string' || !/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/.test(placed.id)) {
|
|
851
|
+
throw new Error('Placed layer ID must be in a GUID format (example: 20953ddb-9391-11ec-b4f1-c15674f50bc4)');
|
|
852
|
+
}
|
|
850
853
|
writePascalString(writer, placed.id, 1);
|
|
851
854
|
writeInt32(writer, 1); // pageNumber
|
|
852
855
|
writeInt32(writer, 1); // totalPages
|
|
@@ -857,9 +860,10 @@ addHandler('PlLd', hasKey('placedLayer'), function (reader, target, left) {
|
|
|
857
860
|
for (var i = 0; i < 8; i++)
|
|
858
861
|
writeFloat64(writer, placed.transform[i]);
|
|
859
862
|
writeInt32(writer, 0); // warp version
|
|
860
|
-
var
|
|
863
|
+
var warp = getWarpFromPlacedLayer(placed);
|
|
864
|
+
var isQuilt = isQuiltWarp(warp);
|
|
861
865
|
var type = isQuilt ? 'quiltWarp' : 'warp';
|
|
862
|
-
writeVersionAndDescriptor(writer, '', type, encodeWarp(
|
|
866
|
+
writeVersionAndDescriptor(writer, '', type, encodeWarp(warp), type);
|
|
863
867
|
});
|
|
864
868
|
function uint8ToFloat32(array) {
|
|
865
869
|
return new Float32Array(array.buffer.slice(array.byteOffset), 0, array.byteLength / 4);
|
|
@@ -1683,6 +1687,39 @@ function serializeFilterFXItem(f) {
|
|
|
1683
1687
|
}
|
|
1684
1688
|
}
|
|
1685
1689
|
// let t: any;
|
|
1690
|
+
function getWarpFromPlacedLayer(placed) {
|
|
1691
|
+
if (placed.warp)
|
|
1692
|
+
return placed.warp;
|
|
1693
|
+
if (!placed.width || !placed.height)
|
|
1694
|
+
throw new Error('You must provide width and height of the linked image in placedLayer');
|
|
1695
|
+
var w = placed.width;
|
|
1696
|
+
var h = placed.height;
|
|
1697
|
+
var x0 = 0, x1 = w / 3, x2 = w * 2 / 3, x3 = w;
|
|
1698
|
+
var y0 = 0, y1 = h / 3, y2 = h * 2 / 3, y3 = h;
|
|
1699
|
+
return {
|
|
1700
|
+
style: 'custom',
|
|
1701
|
+
value: 0,
|
|
1702
|
+
perspective: 0,
|
|
1703
|
+
perspectiveOther: 0,
|
|
1704
|
+
rotate: 'horizontal',
|
|
1705
|
+
bounds: {
|
|
1706
|
+
top: { value: 0, units: 'Pixels' },
|
|
1707
|
+
left: { value: 0, units: 'Pixels' },
|
|
1708
|
+
bottom: { value: h, units: 'Pixels' },
|
|
1709
|
+
right: { value: w, units: 'Pixels' },
|
|
1710
|
+
},
|
|
1711
|
+
uOrder: 4,
|
|
1712
|
+
vOrder: 4,
|
|
1713
|
+
customEnvelopeWarp: {
|
|
1714
|
+
meshPoints: [
|
|
1715
|
+
{ x: x0, y: y0 }, { x: x1, y: y0 }, { x: x2, y: y0 }, { x: x3, y: y0 },
|
|
1716
|
+
{ x: x0, y: y1 }, { x: x1, y: y1 }, { x: x2, y: y1 }, { x: x3, y: y1 },
|
|
1717
|
+
{ x: x0, y: y2 }, { x: x1, y: y2 }, { x: x2, y: y2 }, { x: x3, y: y2 },
|
|
1718
|
+
{ x: x0, y: y3 }, { x: x1, y: y3 }, { x: x2, y: y3 }, { x: x3, y: y3 },
|
|
1719
|
+
],
|
|
1720
|
+
},
|
|
1721
|
+
};
|
|
1722
|
+
}
|
|
1686
1723
|
addHandler('SoLd', hasKey('placedLayer'), function (reader, target, left) {
|
|
1687
1724
|
if (readSignature(reader) !== 'soLD')
|
|
1688
1725
|
throw new Error("Invalid SoLd type");
|
|
@@ -1734,9 +1771,12 @@ addHandler('SoLd', hasKey('placedLayer'), function (reader, target, left) {
|
|
|
1734
1771
|
writeSignature(writer, 'soLD');
|
|
1735
1772
|
writeInt32(writer, 4); // version
|
|
1736
1773
|
var placed = target.placedLayer;
|
|
1774
|
+
if (!placed.id || typeof placed.id !== 'string' || !/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/.test(placed.id)) {
|
|
1775
|
+
throw new Error('Placed layer ID must be in a GUID format (example: 20953ddb-9391-11ec-b4f1-c15674f50bc4)');
|
|
1776
|
+
}
|
|
1737
1777
|
var desc = __assign(__assign({ Idnt: placed.id, placed: (_a = placed.placed) !== null && _a !== void 0 ? _a : placed.id, PgNm: placed.pageNumber || 1, totalPages: placed.totalPages || 1 }, (placed.crop ? { Crop: placed.crop } : {})), { frameStep: placed.frameStep || { numerator: 0, denominator: 600 }, duration: placed.duration || { numerator: 0, denominator: 600 }, frameCount: placed.frameCount || 0, Annt: 16, Type: placedLayerTypes.indexOf(placed.type), Trnf: placed.transform, nonAffineTransform: (_b = placed.nonAffineTransform) !== null && _b !== void 0 ? _b : placed.transform,
|
|
1738
1778
|
// quiltWarp: {} as any,
|
|
1739
|
-
warp: encodeWarp(placed
|
|
1779
|
+
warp: encodeWarp(getWarpFromPlacedLayer(placed)), 'Sz ': {
|
|
1740
1780
|
_name: '',
|
|
1741
1781
|
_classID: 'Pnt ',
|
|
1742
1782
|
Wdth: placed.width || 0,
|
|
@@ -2004,7 +2044,10 @@ addHandler('lnk2', function (target) { return !!target.linkedFiles && target.lin
|
|
|
2004
2044
|
var sizeOffset = writer.offset;
|
|
2005
2045
|
writeSignature(writer, file.data ? 'liFD' : 'liFA');
|
|
2006
2046
|
writeInt32(writer, version);
|
|
2007
|
-
|
|
2047
|
+
if (!file.id || typeof file.id !== 'string' || !/^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$/.test(file.id)) {
|
|
2048
|
+
throw new Error('Linked file ID must be in a GUID format (example: 20953ddb-9391-11ec-b4f1-c15674f50bc4)');
|
|
2049
|
+
}
|
|
2050
|
+
writePascalString(writer, file.id, 1);
|
|
2008
2051
|
writeUnicodeStringWithPadding(writer, file.name || '');
|
|
2009
2052
|
writeSignature(writer, file.type ? "".concat(file.type, " ").substring(0, 4) : ' ');
|
|
2010
2053
|
writeSignature(writer, file.creator ? "".concat(file.creator, " ").substring(0, 4) : '\0\0\0\0');
|