File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ ---
2+ " @react-pdf/pdfkit " : patch
3+ ---
4+
5+ refactor(pdfkit): replace events import in line_wrapper.js with inline emitter
Original file line number Diff line number Diff line change 1- import { EventEmitter } from 'events' ;
21import LineBreaker from 'linebreak' ;
32import { PDFNumber } from './utils' ;
43
54const SOFT_HYPHEN = '\u00AD' ;
65const HYPHEN = '-' ;
76
8- class LineWrapper extends EventEmitter {
7+ class LineWrapper {
98 constructor ( document , options ) {
10- super ( ) ;
9+ this . _listeners = Object . create ( null ) ;
1110 this . document = document ;
1211 this . horizontalScaling = options . horizontalScaling || 100 ;
1312 this . indent = ( ( options . indent || 0 ) * this . horizontalScaling ) / 100 ;
@@ -85,6 +84,25 @@ class LineWrapper extends EventEmitter {
8584 } ) ;
8685 }
8786
87+ on ( event , listener ) {
88+ ( this . _listeners [ event ] || ( this . _listeners [ event ] = [ ] ) ) . push ( listener ) ;
89+ }
90+
91+ once ( event , listener ) {
92+ const wrapper = ( ...args ) => {
93+ const listeners = this . _listeners [ event ] ;
94+ listeners . splice ( listeners . indexOf ( wrapper ) , 1 ) ;
95+ listener ( ...args ) ;
96+ } ;
97+ this . on ( event , wrapper ) ;
98+ }
99+
100+ emit ( event , ...args ) {
101+ const listeners = this . _listeners [ event ] ;
102+ if ( ! listeners ) return ;
103+ for ( const listener of listeners . slice ( ) ) listener ( ...args ) ;
104+ }
105+
88106 wordWidth ( word ) {
89107 return PDFNumber (
90108 this . document . widthOfString ( word , this ) +
You can’t perform that action at this time.
0 commit comments