ag-psd 32.0.0 → 34.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.
Files changed (117) hide show
  1. package/.v8-cache/v24.7.0-x64-ef5a0af0/03e19709 +0 -0
  2. package/.v8-cache/v24.7.0-x64-ef5a0af0/05135617 +0 -0
  3. package/.v8-cache/v24.7.0-x64-ef5a0af0/1130885f +0 -0
  4. package/.v8-cache/v24.7.0-x64-ef5a0af0/226e2801 +0 -0
  5. package/.v8-cache/v24.7.0-x64-ef5a0af0/2a19133e +0 -0
  6. package/.v8-cache/v24.7.0-x64-ef5a0af0/4511bacf +0 -0
  7. package/.v8-cache/v24.7.0-x64-ef5a0af0/68416cb2 +0 -0
  8. package/.v8-cache/v24.7.0-x64-ef5a0af0/71df9cb3 +0 -0
  9. package/.v8-cache/v24.7.0-x64-ef5a0af0/7ea06cea +0 -0
  10. package/.v8-cache/v24.7.0-x64-ef5a0af0/87cf2209 +0 -0
  11. package/.v8-cache/v24.7.0-x64-ef5a0af0/932f0770 +0 -0
  12. package/.v8-cache/v24.7.0-x64-ef5a0af0/acc36e66 +0 -0
  13. package/.v8-cache/v24.7.0-x64-ef5a0af0/b3c2fab7 +0 -0
  14. package/.v8-cache/v24.7.0-x64-ef5a0af0/c0b789d2 +0 -0
  15. package/.v8-cache/v24.7.0-x64-ef5a0af0/c314aece +0 -0
  16. package/.v8-cache/v24.7.0-x64-ef5a0af0/cfc49f4f +0 -0
  17. package/.v8-cache/v24.7.0-x64-ef5a0af0/cff9434a +0 -0
  18. package/.v8-cache/v24.7.0-x64-ef5a0af0/d13d7610 +0 -0
  19. package/.v8-cache/v24.7.0-x64-ef5a0af0/dc86f000 +0 -0
  20. package/.v8-cache/v24.7.0-x64-ef5a0af0/e03e2acd +0 -0
  21. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6745c2b +0 -0
  22. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6b99945 +0 -0
  23. package/.v8-cache/v24.7.0-x64-ef5a0af0/eeeebdfe +0 -0
  24. package/.v8-cache/v24.7.0-x64-ef5a0af0/f6fd8125 +0 -0
  25. package/CHANGELOG.md +100 -0
  26. package/LICENSE +5 -0
  27. package/README.md +4 -7
  28. package/README_PSD.md +261 -84
  29. package/TODO.md +13 -84
  30. package/dist/abr.d.ts +11 -4
  31. package/dist/abr.js +362 -230
  32. package/dist/abr.js.map +1 -1
  33. package/dist/additionalInfo.d.ts +56 -2
  34. package/dist/additionalInfo.js +828 -361
  35. package/dist/additionalInfo.js.map +1 -1
  36. package/dist/ase.d.ts +6 -1
  37. package/dist/ase.js +61 -61
  38. package/dist/ase.js.map +1 -1
  39. package/dist/bundle.js +3321 -1364
  40. package/dist/descriptor.d.ts +28 -13
  41. package/dist/descriptor.js +295 -241
  42. package/dist/descriptor.js.map +1 -1
  43. package/dist/helpers.d.ts +7 -1
  44. package/dist/helpers.js +246 -4
  45. package/dist/helpers.js.map +1 -1
  46. package/dist/imageResources.d.ts +15 -3
  47. package/dist/imageResources.js +586 -144
  48. package/dist/imageResources.js.map +1 -1
  49. package/dist/index.d.ts +1 -0
  50. package/dist/index.js +1 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/jpeg.js +8 -8
  53. package/dist/jpeg.js.map +1 -1
  54. package/dist/psd.d.ts +292 -19
  55. package/dist/psd.js.map +1 -1
  56. package/dist/psdReader.d.ts +10 -0
  57. package/dist/psdReader.js +424 -216
  58. package/dist/psdReader.js.map +1 -1
  59. package/dist/psdWriter.d.ts +2 -0
  60. package/dist/psdWriter.js +373 -113
  61. package/dist/psdWriter.js.map +1 -1
  62. package/dist/text.d.ts +32 -1
  63. package/dist/text.js +75 -6
  64. package/dist/text.js.map +1 -1
  65. package/dist/utf8.js +0 -3
  66. package/dist/utf8.js.map +1 -1
  67. package/dist-es/abr.d.ts +11 -4
  68. package/dist-es/abr.js +362 -230
  69. package/dist-es/abr.js.map +1 -1
  70. package/dist-es/additionalInfo.d.ts +56 -2
  71. package/dist-es/additionalInfo.js +828 -361
  72. package/dist-es/additionalInfo.js.map +1 -1
  73. package/dist-es/ase.d.ts +6 -1
  74. package/dist-es/ase.js +61 -61
  75. package/dist-es/ase.js.map +1 -1
  76. package/dist-es/descriptor.d.ts +28 -13
  77. package/dist-es/descriptor.js +295 -241
  78. package/dist-es/descriptor.js.map +1 -1
  79. package/dist-es/helpers.d.ts +7 -1
  80. package/dist-es/helpers.js +246 -4
  81. package/dist-es/helpers.js.map +1 -1
  82. package/dist-es/imageResources.d.ts +15 -3
  83. package/dist-es/imageResources.js +586 -144
  84. package/dist-es/imageResources.js.map +1 -1
  85. package/dist-es/index.d.ts +1 -0
  86. package/dist-es/index.js +1 -0
  87. package/dist-es/index.js.map +1 -1
  88. package/dist-es/jpeg.js +8 -8
  89. package/dist-es/jpeg.js.map +1 -1
  90. package/dist-es/psd.d.ts +292 -19
  91. package/dist-es/psd.js.map +1 -1
  92. package/dist-es/psdReader.d.ts +10 -0
  93. package/dist-es/psdReader.js +424 -216
  94. package/dist-es/psdReader.js.map +1 -1
  95. package/dist-es/psdWriter.d.ts +2 -0
  96. package/dist-es/psdWriter.js +373 -113
  97. package/dist-es/psdWriter.js.map +1 -1
  98. package/dist-es/text.d.ts +32 -1
  99. package/dist-es/text.js +75 -6
  100. package/dist-es/text.js.map +1 -1
  101. package/dist-es/utf8.js +0 -3
  102. package/dist-es/utf8.js.map +1 -1
  103. package/package.json +2 -2
  104. package/perf.js +312 -9
  105. package/src/abr.ts +382 -235
  106. package/src/additionalInfo.ts +1071 -482
  107. package/src/ase.ts +66 -61
  108. package/src/descriptor.ts +291 -242
  109. package/src/helpers.ts +266 -3
  110. package/src/imageResources.ts +736 -169
  111. package/src/index.ts +1 -0
  112. package/src/jpeg.ts +8 -8
  113. package/src/psd.ts +271 -32
  114. package/src/psdReader.ts +440 -221
  115. package/src/psdWriter.ts +402 -110
  116. package/src/text.ts +93 -7
  117. package/src/utf8.ts +0 -4
package/dist-es/psd.d.ts CHANGED
@@ -50,7 +50,15 @@ export type LAB = {
50
50
  export type Grayscale = {
51
51
  k: number;
52
52
  };
53
- export type Color = RGBA | RGB | FRGB | HSB | CMYK | LAB | Grayscale;
53
+ export interface ColorBookInfo {
54
+ book: string;
55
+ name: string;
56
+ bookID: number;
57
+ bookKey: string;
58
+ }
59
+ export type Color = (RGBA | RGB | FRGB | HSB | CMYK | LAB | Grayscale) & {
60
+ book?: ColorBookInfo;
61
+ };
54
62
  export interface EffectContour {
55
63
  name: string;
56
64
  curve: {
@@ -87,12 +95,15 @@ export interface LayerEffectsOuterGlow {
87
95
  blendMode?: BlendMode;
88
96
  opacity?: number;
89
97
  source?: GlowSource;
98
+ technique?: GlowTechnique;
90
99
  antialiased?: boolean;
91
100
  noise?: number;
92
101
  range?: number;
93
102
  choke?: UnitsValue;
94
103
  jitter?: number;
95
104
  contour?: EffectContour;
105
+ gradient?: EffectSolidGradient | EffectNoiseGradient;
106
+ interpolationMethod?: InterpolationMethod;
96
107
  }
97
108
  export interface LayerEffectInnerGlow {
98
109
  present?: boolean;
@@ -110,6 +121,8 @@ export interface LayerEffectInnerGlow {
110
121
  choke?: UnitsValue;
111
122
  jitter?: number;
112
123
  contour?: EffectContour;
124
+ gradient?: EffectSolidGradient | EffectNoiseGradient;
125
+ interpolationMethod?: InterpolationMethod;
113
126
  }
114
127
  export interface LayerEffectBevel {
115
128
  present?: boolean;
@@ -134,6 +147,9 @@ export interface LayerEffectBevel {
134
147
  useShape?: boolean;
135
148
  antialiasGloss?: boolean;
136
149
  contour?: EffectContour;
150
+ shapeContour?: EffectContour;
151
+ range?: number;
152
+ antialiased?: boolean;
137
153
  }
138
154
  export interface LayerEffectSolidFill {
139
155
  present?: boolean;
@@ -155,7 +171,7 @@ export interface LayerEffectStroke {
155
171
  opacity?: number;
156
172
  color?: Color;
157
173
  gradient?: (EffectSolidGradient | EffectNoiseGradient) & ExtraGradientInfo;
158
- pattern?: EffectPattern & {};
174
+ pattern?: EffectPattern & ExtraPatternInfo;
159
175
  }
160
176
  export interface LayerEffectSatin {
161
177
  present?: boolean;
@@ -178,6 +194,7 @@ export interface LayerEffectPatternOverlay {
178
194
  blendMode?: BlendMode;
179
195
  opacity?: number;
180
196
  scale?: number;
197
+ angle?: number;
181
198
  pattern?: EffectPattern;
182
199
  phase?: {
183
200
  x: number;
@@ -497,6 +514,8 @@ export interface ExtraPatternInfo {
497
514
  x: number;
498
515
  y: number;
499
516
  };
517
+ scale?: number;
518
+ angle?: number;
500
519
  }
501
520
  export type VectorContent = {
502
521
  type: 'color';
@@ -505,7 +524,7 @@ export type VectorContent = {
505
524
  type: 'pattern';
506
525
  } & ExtraPatternInfo);
507
526
  export type RenderingIntent = 'perceptual' | 'saturation' | 'relative colorimetric' | 'absolute colorimetric';
508
- export type Units = 'Pixels' | 'Points' | 'Picas' | 'Millimeters' | 'Centimeters' | 'Inches' | 'None' | 'Density';
527
+ export type Units = 'Pixels' | 'Points' | 'Picas' | 'Millimeters' | 'Centimeters' | 'Inches' | 'None' | 'Density' | 'Distance';
509
528
  export interface UnitsValue {
510
529
  units: Units;
511
530
  value: number;
@@ -532,10 +551,7 @@ export interface PresetInfo {
532
551
  }
533
552
  export interface LevelsAdjustment extends PresetInfo {
534
553
  type: 'levels';
535
- rgb?: LevelsAdjustmentChannel;
536
- red?: LevelsAdjustmentChannel;
537
- green?: LevelsAdjustmentChannel;
538
- blue?: LevelsAdjustmentChannel;
554
+ channels?: LevelsAdjustmentChannel[];
539
555
  }
540
556
  export type CurvesAdjustmentChannel = {
541
557
  input: number;
@@ -543,10 +559,8 @@ export type CurvesAdjustmentChannel = {
543
559
  }[];
544
560
  export interface CurvesAdjustment extends PresetInfo {
545
561
  type: 'curves';
546
- rgb?: CurvesAdjustmentChannel;
547
- red?: CurvesAdjustmentChannel;
548
- green?: CurvesAdjustmentChannel;
549
- blue?: CurvesAdjustmentChannel;
562
+ channels?: CurvesAdjustmentChannel[];
563
+ values?: number[][];
550
564
  }
551
565
  export interface ExposureAdjustment extends PresetInfo {
552
566
  type: 'exposure';
@@ -570,7 +584,17 @@ export interface HueSaturationAdjustmentChannel {
570
584
  }
571
585
  export interface HueSaturationAdjustment extends PresetInfo {
572
586
  type: 'hue/saturation';
573
- master?: HueSaturationAdjustmentChannel;
587
+ colorize?: boolean;
588
+ colorization?: {
589
+ hue: number;
590
+ saturation: number;
591
+ lightness: number;
592
+ };
593
+ master?: {
594
+ hue: number;
595
+ saturation: number;
596
+ lightness: number;
597
+ };
574
598
  reds?: HueSaturationAdjustmentChannel;
575
599
  yellows?: HueSaturationAdjustmentChannel;
576
600
  greens?: HueSaturationAdjustmentChannel;
@@ -648,6 +672,7 @@ export interface ColorStop {
648
672
  color: Color;
649
673
  location: number;
650
674
  midpoint: number;
675
+ type?: 'foreground' | 'background';
651
676
  }
652
677
  export interface OpacityStop {
653
678
  opacity: number;
@@ -709,6 +734,14 @@ export type LinkedFile = {
709
734
  relativePath: string;
710
735
  };
711
736
  };
737
+ export interface LevelsFilterAdjustment {
738
+ channels: ('composite' | 'red' | 'green' | 'blue')[];
739
+ shadowInput?: number;
740
+ highlightInput?: number;
741
+ shadowOutput?: number;
742
+ highlightOutput?: number;
743
+ midtoneInput?: number;
744
+ }
712
745
  type FilterVariant = {
713
746
  type: 'average' | 'blur' | 'blur more';
714
747
  } | {
@@ -1146,7 +1179,7 @@ type FilterVariant = {
1146
1179
  } | {
1147
1180
  type: 'curves';
1148
1181
  filter: {
1149
- presetKind: 'custom' | 'default';
1182
+ presetKind?: 'custom' | 'default';
1150
1183
  adjustments?: ({
1151
1184
  channels: ('composite' | 'red' | 'green' | 'blue')[];
1152
1185
  curve: {
@@ -1159,6 +1192,12 @@ type FilterVariant = {
1159
1192
  values: number[];
1160
1193
  })[];
1161
1194
  };
1195
+ } | {
1196
+ type: 'levels';
1197
+ filter: {
1198
+ presetKind?: 'custom' | 'default';
1199
+ adjustments?: LevelsFilterAdjustment[];
1200
+ };
1162
1201
  } | {
1163
1202
  type: 'invert';
1164
1203
  } | {
@@ -1168,7 +1207,101 @@ type FilterVariant = {
1168
1207
  contrast: number;
1169
1208
  useLegacy: boolean;
1170
1209
  };
1210
+ } | {
1211
+ type: 'camera raw';
1212
+ filter: CameraRawFilterSettings;
1171
1213
  };
1214
+ export type CameraRawCurvePoint = {
1215
+ input: number;
1216
+ output: number;
1217
+ };
1218
+ export type CameraRawColors = {
1219
+ red?: number;
1220
+ orange?: number;
1221
+ yellow?: number;
1222
+ green?: number;
1223
+ aqua?: number;
1224
+ blue?: number;
1225
+ purple?: number;
1226
+ magenta?: number;
1227
+ };
1228
+ export type CameraRawColorGradingWheel = {
1229
+ hue?: number;
1230
+ saturation?: number;
1231
+ luminance?: number;
1232
+ };
1233
+ export interface CameraRawFilterSettings {
1234
+ version?: string;
1235
+ processVersion?: number;
1236
+ processVersionCode?: number;
1237
+ whiteBalance?: string;
1238
+ temperature?: number;
1239
+ tint?: number;
1240
+ exposure?: number;
1241
+ contrast?: number;
1242
+ highlights?: number;
1243
+ shadows?: number;
1244
+ whites?: number;
1245
+ blacks?: number;
1246
+ texture?: number;
1247
+ clarity?: number;
1248
+ dehaze?: number;
1249
+ vibrance?: number;
1250
+ saturation?: number;
1251
+ parametricCurve?: {
1252
+ shadows?: number;
1253
+ darks?: number;
1254
+ lights?: number;
1255
+ highlights?: number;
1256
+ shadowSplit?: number;
1257
+ midtoneSplit?: number;
1258
+ highlightSplit?: number;
1259
+ };
1260
+ pointCurve?: {
1261
+ composite?: CameraRawCurvePoint[];
1262
+ red?: CameraRawCurvePoint[];
1263
+ green?: CameraRawCurvePoint[];
1264
+ blue?: CameraRawCurvePoint[];
1265
+ };
1266
+ hsl?: {
1267
+ hue?: CameraRawColors;
1268
+ saturation?: CameraRawColors;
1269
+ luminance?: CameraRawColors;
1270
+ };
1271
+ colorGrading?: {
1272
+ shadows?: CameraRawColorGradingWheel;
1273
+ midtones?: CameraRawColorGradingWheel;
1274
+ highlights?: CameraRawColorGradingWheel;
1275
+ global?: CameraRawColorGradingWheel;
1276
+ blending?: number;
1277
+ balance?: number;
1278
+ };
1279
+ sharpening?: {
1280
+ amount?: number;
1281
+ radius?: number;
1282
+ detail?: number;
1283
+ masking?: number;
1284
+ };
1285
+ noiseReduction?: {
1286
+ luminance?: number;
1287
+ luminanceDetail?: number;
1288
+ luminanceContrast?: number;
1289
+ color?: number;
1290
+ colorDetail?: number;
1291
+ colorSmoothness?: number;
1292
+ };
1293
+ grain?: {
1294
+ amount?: number;
1295
+ size?: number;
1296
+ roughness?: number;
1297
+ };
1298
+ postCropVignette?: {
1299
+ amount?: number;
1300
+ midpoint?: number;
1301
+ feather?: number;
1302
+ roundness?: number;
1303
+ };
1304
+ }
1172
1305
  export type Filter = FilterVariant & {
1173
1306
  name: string;
1174
1307
  opacity: number;
@@ -1191,6 +1324,7 @@ export interface PlacedLayer {
1191
1324
  id: string;
1192
1325
  placed?: string;
1193
1326
  type: PlacedLayerType;
1327
+ external?: boolean;
1194
1328
  pageNumber?: number;
1195
1329
  totalPages?: number;
1196
1330
  frameStep?: {
@@ -1217,7 +1351,7 @@ export interface PlacedLayer {
1217
1351
  filter?: PlacedLayerFilter;
1218
1352
  }
1219
1353
  export type AdjustmentLayer = BrightnessAdjustment | LevelsAdjustment | CurvesAdjustment | ExposureAdjustment | VibranceAdjustment | HueSaturationAdjustment | ColorBalanceAdjustment | BlackAndWhiteAdjustment | PhotoFilterAdjustment | ChannelMixerAdjustment | ColorLookupAdjustment | InvertAdjustment | PosterizeAdjustment | ThresholdAdjustment | GradientMapAdjustment | SelectiveColorAdjustment;
1220
- export type LayerColor = 'none' | 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'violet' | 'gray';
1354
+ export type LayerColor = 'none' | 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'violet' | 'gray' | 'seafoam' | 'indigo' | 'magenta' | 'fuchsia';
1221
1355
  export interface KeyDescriptorItem {
1222
1356
  keyShapeInvalidated?: boolean;
1223
1357
  keyOriginType?: number;
@@ -1240,10 +1374,7 @@ export interface KeyDescriptorItem {
1240
1374
  }[];
1241
1375
  transform?: number[];
1242
1376
  }
1243
- export interface LayerVectorMask {
1244
- invert?: boolean;
1245
- notLink?: boolean;
1246
- disable?: boolean;
1377
+ export interface VectorPathData {
1247
1378
  fillStartsWithAllPixels?: boolean;
1248
1379
  clipboard?: {
1249
1380
  top: number;
@@ -1254,6 +1385,18 @@ export interface LayerVectorMask {
1254
1385
  };
1255
1386
  paths: BezierPath[];
1256
1387
  }
1388
+ export interface LayerVectorMask extends VectorPathData {
1389
+ invert?: boolean;
1390
+ notLink?: boolean;
1391
+ disable?: boolean;
1392
+ }
1393
+ export interface SavedPath extends VectorPathData {
1394
+ name: string;
1395
+ symmetryMode?: string;
1396
+ vectorOrigination?: {
1397
+ keyDescriptorList: KeyDescriptorItem[];
1398
+ };
1399
+ }
1257
1400
  export interface AnimationFrame {
1258
1401
  frames: number[];
1259
1402
  enable?: boolean;
@@ -1338,11 +1481,13 @@ export interface LayerAdditionalInfo {
1338
1481
  blendInteriorElements?: boolean;
1339
1482
  knockout?: boolean;
1340
1483
  layerMaskAsGlobalMask?: boolean;
1484
+ vectorMaskAsGlobalMask?: boolean;
1341
1485
  protected?: {
1342
1486
  transparency?: boolean;
1343
1487
  composite?: boolean;
1344
1488
  position?: boolean;
1345
1489
  artboards?: boolean;
1490
+ all?: boolean;
1346
1491
  };
1347
1492
  layerColor?: LayerColor;
1348
1493
  referencePoint?: {
@@ -1382,7 +1527,15 @@ export interface LayerAdditionalInfo {
1382
1527
  vectorMask?: LayerVectorMask;
1383
1528
  usingAlignedRendering?: boolean;
1384
1529
  timestamp?: number;
1385
- pathList?: {}[];
1530
+ generatorSettings?: {
1531
+ exportAs?: {
1532
+ exportOption?: string;
1533
+ scaleSettings?: string;
1534
+ };
1535
+ assets?: string;
1536
+ layerTime?: number;
1537
+ crema?: string;
1538
+ };
1386
1539
  adjustment?: AdjustmentLayer;
1387
1540
  placedLayer?: PlacedLayer;
1388
1541
  vectorOrigination?: {
@@ -1482,6 +1635,31 @@ export interface LayerAdditionalInfo {
1482
1635
  }[];
1483
1636
  };
1484
1637
  vowv?: number;
1638
+ foreignEffectId?: number;
1639
+ framedGroup?: {
1640
+ rect: {
1641
+ top: number;
1642
+ left: number;
1643
+ bottom: number;
1644
+ right: number;
1645
+ };
1646
+ type: number;
1647
+ lockPPI?: boolean;
1648
+ preferredResolution?: number;
1649
+ savedIteratedName?: string;
1650
+ };
1651
+ animationEffects?: Uint8Array;
1652
+ patternData?: {
1653
+ signature: string;
1654
+ key: string;
1655
+ copyOnSheetDuplication: boolean;
1656
+ patterns: {
1657
+ colorHandling: 'convert' | 'avoid conversion' | 'luminance only';
1658
+ name: string;
1659
+ id: string;
1660
+ }[];
1661
+ }[];
1662
+ pixelSourceData?: Uint8Array[];
1485
1663
  pixelSource?: {
1486
1664
  type: 'vdPS';
1487
1665
  origin: {
@@ -1513,6 +1691,18 @@ export declare enum LayerCompCapturedInfo {
1513
1691
  Position = 2,
1514
1692
  Appearance = 4
1515
1693
  }
1694
+ export interface HalftoneScreen {
1695
+ frequency: number;
1696
+ frequencyUnits: 'lines/inch' | 'lines/cm';
1697
+ angle: number;
1698
+ shape: 'round' | 'ellipse' | 'line' | 'square' | 'cross' | 'diamond';
1699
+ accurateScreens: boolean;
1700
+ printerDefaultScreens: boolean;
1701
+ }
1702
+ export interface PrintTransferFunction {
1703
+ curve: number[];
1704
+ override: boolean;
1705
+ }
1516
1706
  export interface ImageResources {
1517
1707
  layerState?: number;
1518
1708
  layerSelectionIds?: number[];
@@ -1542,6 +1732,8 @@ export interface ImageResources {
1542
1732
  guides?: {
1543
1733
  location: number;
1544
1734
  direction: 'horizontal' | 'vertical';
1735
+ color?: RGB;
1736
+ id?: string;
1545
1737
  }[];
1546
1738
  };
1547
1739
  resolutionInfo?: {
@@ -1570,6 +1762,7 @@ export interface ImageResources {
1570
1762
  printerManagesColors?: boolean;
1571
1763
  printerName?: string;
1572
1764
  printerProfile?: string;
1765
+ printerProfileColorSpace?: 'rgb' | 'grayscale';
1573
1766
  printSixteenBit?: boolean;
1574
1767
  renderingIntent?: RenderingIntent;
1575
1768
  hardProof?: boolean;
@@ -1597,7 +1790,84 @@ export interface ImageResources {
1597
1790
  printFlags?: boolean;
1598
1791
  };
1599
1792
  iccUntaggedProfile?: boolean;
1793
+ colorSamplers?: {
1794
+ x: number;
1795
+ y: number;
1796
+ colorSpace: number;
1797
+ depth?: number;
1798
+ }[];
1799
+ effectsVisible?: boolean;
1800
+ iccProfile?: Uint8Array;
1801
+ exifData?: Uint8Array;
1802
+ iptcData?: Uint8Array;
1803
+ windowsDevMode?: Uint8Array;
1804
+ outputSettings?: any;
1805
+ colorHalftoneScreens?: HalftoneScreen[];
1806
+ grayscaleHalftoneScreens?: HalftoneScreen[];
1807
+ colorTransferFunctions?: PrintTransferFunction[];
1808
+ grayscaleTransferFunctions?: PrintTransferFunction[];
1809
+ duotoneHalftoneScreens?: HalftoneScreen[];
1810
+ duotoneTransferFunctions?: PrintTransferFunction[];
1811
+ duotoneImageInformation?: Uint8Array;
1812
+ alternateDuotoneColors?: {
1813
+ colors: Color[];
1814
+ labColors: Uint8Array;
1815
+ };
1816
+ quickMaskInfo?: {
1817
+ channelId: number;
1818
+ initiallyEmpty: boolean;
1819
+ };
1820
+ measurementScale?: Uint8Array;
1821
+ printStyle?: {
1822
+ caption?: boolean;
1823
+ calibrationBars?: boolean;
1824
+ registrationMarks?: boolean;
1825
+ cornerCropMarks?: boolean;
1826
+ centerCropMarks?: boolean;
1827
+ labels?: boolean;
1828
+ negative?: boolean;
1829
+ emulsionDown?: boolean;
1830
+ interpolate?: boolean;
1831
+ backgroundColor?: Color;
1832
+ border?: UnitsValue;
1833
+ bleed?: UnitsValue;
1834
+ resolution?: UnitsValue;
1835
+ vectorData?: boolean;
1836
+ pagePosition?: string;
1837
+ left?: UnitsValue;
1838
+ top?: UnitsValue;
1839
+ scale?: number;
1840
+ cropWhenPrinting?: boolean;
1841
+ cropRect?: {
1842
+ top: number;
1843
+ left: number;
1844
+ bottom: number;
1845
+ right: number;
1846
+ };
1847
+ };
1848
+ printFlagsInfo?: {
1849
+ centerCropMarks: boolean;
1850
+ bleedWidth: number;
1851
+ bleedWidthScale: number;
1852
+ };
1853
+ indexedColorCount?: number;
1854
+ transparencyIndex?: number;
1855
+ alphaChannelDisplayInfo?: {
1856
+ color?: Color;
1857
+ rawColor?: {
1858
+ colorSpace: number;
1859
+ values: number[];
1860
+ };
1861
+ opacity: number;
1862
+ kind: 'selected' | 'protected' | 'spot';
1863
+ }[];
1600
1864
  pathSelectionState?: string[];
1865
+ savedPaths?: SavedPath[];
1866
+ workPath?: VectorPathData;
1867
+ clippingPath?: {
1868
+ name: string;
1869
+ flatness: number;
1870
+ };
1601
1871
  imageReadyVariables?: string;
1602
1872
  imageReadyDataSets?: string;
1603
1873
  animations?: Animations;
@@ -1804,6 +2074,7 @@ export interface Psd extends LayerAdditionalInfo {
1804
2074
  rawCompositeDataInfo?: {
1805
2075
  large: boolean;
1806
2076
  globalAlpha: boolean;
2077
+ layersInGlobalInfo?: boolean;
1807
2078
  };
1808
2079
  imageResources?: ImageResources;
1809
2080
  linkedFiles?: LinkedFile[];
@@ -1878,5 +2149,7 @@ export interface WriteOptions {
1878
2149
  /** Uses zip compression when writing PSD file, will result in smaller file size but may be incompatible
1879
2150
  * with some software. It may also be significantly slower. */
1880
2151
  compress?: boolean;
2152
+ /** Used only for development. */
2153
+ log?: (...args: any[]) => void;
1881
2154
  }
1882
2155
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"psd.js","sourceRoot":"../src/","sources":["psd.ts"],"names":[],"mappings":";;;AAMA,IAAkB,SAWjB;AAXD,WAAkB,SAAS;IAC1B,6CAAU,CAAA;IACV,mDAAa,CAAA;IACb,+CAAW,CAAA;IACX,uCAAO,CAAA;IACP,yCAAQ,CAAA;IACR,IAAI;IACJ,IAAI;IACJ,yDAAgB,CAAA;IAChB,+CAAW,CAAA;IACX,uCAAO,CAAA;AACR,CAAC,EAXiB,SAAS,yBAAT,SAAS,QAW1B;AAED,IAAkB,kBAKjB;AALD,WAAkB,kBAAkB;IACnC,6DAAS,CAAA;IACT,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,+FAA0B,CAAA;AAC3B,CAAC,EALiB,kBAAkB,kCAAlB,kBAAkB,QAKnC;AAw9CD,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAChC,iEAAQ,CAAA;IACR,6EAAc,CAAA;IACd,yEAAY,CAAA;IACZ,6EAAc,CAAA;AACf,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC;AAgND,IAAkB,SAQjB;AARD,WAAkB,SAAS;IAC1B,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,0DAAiB,CAAA;IACjB,kDAAa,CAAA;IACb,0DAAiB,CAAA;AAClB,CAAC,EARiB,SAAS,yBAAT,SAAS,QAQ1B;AAED,IAAkB,WAKjB;AALD,WAAkB,WAAW;IAC5B,mDAAW,CAAA;IACX,+DAAiB,CAAA;IACjB,6EAAwB,CAAA;IACxB,uEAAqB,CAAA;AACtB,CAAC,EALiB,WAAW,2BAAX,WAAW,QAK5B"}
1
+ {"version":3,"file":"psd.js","sourceRoot":"../src/","sources":["psd.ts"],"names":[],"mappings":";;;AAMA,IAAkB,SAWjB;AAXD,WAAkB,SAAS;IAC1B,6CAAU,CAAA;IACV,mDAAa,CAAA;IACb,+CAAW,CAAA;IACX,uCAAO,CAAA;IACP,yCAAQ,CAAA;IACR,IAAI;IACJ,IAAI;IACJ,yDAAgB,CAAA;IAChB,+CAAW,CAAA;IACX,uCAAO,CAAA;AACR,CAAC,EAXiB,SAAS,yBAAT,SAAS,QAW1B;AAED,IAAkB,kBAKjB;AALD,WAAkB,kBAAkB;IACnC,6DAAS,CAAA;IACT,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,+FAA0B,CAAA;AAC3B,CAAC,EALiB,kBAAkB,kCAAlB,kBAAkB,QAKnC;AA8mDD,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAChC,iEAAQ,CAAA;IACR,6EAAc,CAAA;IACd,yEAAY,CAAA;IACZ,6EAAc,CAAA;AACf,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC;AAsSD,IAAkB,SAQjB;AARD,WAAkB,SAAS;IAC1B,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,0DAAiB,CAAA;IACjB,kDAAa,CAAA;IACb,0DAAiB,CAAA;AAClB,CAAC,EARiB,SAAS,yBAAT,SAAS,QAQ1B;AAED,IAAkB,WAKjB;AALD,WAAkB,WAAW;IAC5B,mDAAW,CAAA;IACX,+DAAiB,CAAA;IACjB,6EAAwB,CAAA;IACxB,uEAAqB,CAAA;AACtB,CAAC,EALiB,WAAW,2BAAX,WAAW,QAK5B"}
@@ -6,8 +6,16 @@ export interface PsdReader extends ReadOptions {
6
6
  view: DataView;
7
7
  large: boolean;
8
8
  globalAlpha: boolean;
9
+ layersInGlobalInfo?: boolean;
9
10
  log(...args: any[]): void;
11
+ utf8Decoder?: TextDecoder | null;
12
+ utf8StrictDecoder?: TextDecoder | null;
13
+ gbkDecoder?: TextDecoder | null;
10
14
  }
15
+ export declare function getUtf8Decoder(reader: PsdReader): TextDecoder | null;
16
+ export declare function getUtf8StrictDecoder(reader: PsdReader): TextDecoder | null;
17
+ export declare function getGbkStrictDecoder(reader: PsdReader): TextDecoder | null;
18
+ export declare function decodeUtf8(reader: PsdReader, buffer: Uint8Array): string;
11
19
  export declare function createReader(buffer: ArrayBufferLike, offset?: number, length?: number): PsdReader;
12
20
  export declare function warnOrThrow(reader: PsdReader, message: string): void;
13
21
  export declare function readUint8(reader: PsdReader): number;
@@ -49,4 +57,6 @@ export declare function readDataZip(compressed: Uint8Array, pixelData: PixelData
49
57
  export declare function readDataRLE(reader: PsdReader, pixelData: PixelData | undefined, width: number, height: number, bitDepth: number, step: number, offsets: number[], large: boolean): void;
50
58
  export declare function readSection<T>(reader: PsdReader, round: number, func: (left: () => number) => T, skipEmpty?: boolean, eightBytes?: boolean): T | undefined;
51
59
  export declare function readColor(reader: PsdReader): Color;
60
+ export declare function readPatternSafe(reader: PsdReader): PatternInfo | undefined;
52
61
  export declare function readPattern(reader: PsdReader): PatternInfo;
62
+ export declare function consumeMemory(reader: PsdReader, size: number): void;