Skip to content

Commit 45d7351

Browse files
authored
Merge pull request #586 from unidoc-build/prep-rc-v4.1.0
Release v4.1.0
2 parents b67948e + b9825d9 commit 45d7351

File tree

63 files changed

+17030
-16939
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+17030
-16939
lines changed

annotator/annotator.go

Lines changed: 450 additions & 451 deletions
Large diffs are not rendered by default.

common/common.go

Lines changed: 61 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -10,100 +10,101 @@
1010
// terms that can be accessed at https://unidoc.io/eula/
1111

1212
// Package common contains common properties used by the subpackages.
13-
package common ;import (_c "fmt";_gf "io";_a "os";_g "path/filepath";_f "runtime";_cg "time";);const (LogLevelTrace LogLevel =5;LogLevelDebug LogLevel =4;LogLevelInfo LogLevel =3;LogLevelNotice LogLevel =2;LogLevelWarning LogLevel =1;LogLevelError LogLevel =0;
14-
);
13+
package common ;import (_e "fmt";_dd "io";_c "os";_d "path/filepath";_b "runtime";_ab "time";);
1514

1615
// IsLogLevel returns true from dummy logger.
17-
func (DummyLogger )IsLogLevel (level LogLevel )bool {return true };func (_bg WriterLogger )logToWriter (_ga _gf .Writer ,_gec string ,_fgd string ,_bec ...interface{}){_gbg (_ga ,_gec ,_fgd ,_bec );};
16+
func (DummyLogger )IsLogLevel (level LogLevel )bool {return true };func (_gdb WriterLogger )logToWriter (_da _dd .Writer ,_fg string ,_gf string ,_dfd ...interface{}){_ee (_da ,_fg ,_gf ,_dfd );};
1817

19-
// Logger is the interface used for logging in the unipdf package.
20-
type Logger interface{Error (_d string ,_fg ...interface{});Warning (_e string ,_de ...interface{});Notice (_ff string ,_gb ...interface{});Info (_fc string ,_aa ...interface{});Debug (_eb string ,_fa ...interface{});Trace (_ad string ,_bb ...interface{});
21-
IsLogLevel (_dc LogLevel )bool ;};
22-
23-
// Info logs info message.
24-
func (_gg ConsoleLogger )Info (format string ,args ...interface{}){if _gg .LogLevel >=LogLevelInfo {_dd :="\u005bI\u004e\u0046\u004f\u005d\u0020";_gg .output (_a .Stdout ,_dd ,format ,args ...);};};
25-
26-
// Warning logs warning message.
27-
func (_dcg WriterLogger )Warning (format string ,args ...interface{}){if _dcg .LogLevel >=LogLevelWarning {_be :="\u005b\u0057\u0041\u0052\u004e\u0049\u004e\u0047\u005d\u0020";_dcg .logToWriter (_dcg .Output ,_be ,format ,args ...);};};
18+
// Error logs error message.
19+
func (_bcb WriterLogger )Error (format string ,args ...interface{}){if _bcb .LogLevel >=LogLevelError {_gc :="\u005b\u0045\u0052\u0052\u004f\u0052\u005d\u0020";_bcb .logToWriter (_bcb .Output ,_gc ,format ,args ...);};};const _egd ="\u0032\u0020\u004aan\u0075\u0061\u0072\u0079\u0020\u0032\u0030\u0030\u0036\u0020\u0061\u0074\u0020\u0031\u0035\u003a\u0030\u0034";
2820

29-
// IsLogLevel returns true if log level is greater or equal than `level`.
30-
// Can be used to avoid resource intensive calls to loggers.
31-
func (_bf ConsoleLogger )IsLogLevel (level LogLevel )bool {return _bf .LogLevel >=level };const _ab =2025;
3221

3322
// DummyLogger does nothing.
3423
type DummyLogger struct{};
3524

36-
// WriterLogger is the logger that writes data to the Output writer
37-
type WriterLogger struct{LogLevel LogLevel ;Output _gf .Writer ;};
25+
// Trace does nothing for dummy logger.
26+
func (DummyLogger )Trace (format string ,args ...interface{}){};
3827

39-
// Warning logs warning message.
40-
func (_ba ConsoleLogger )Warning (format string ,args ...interface{}){if _ba .LogLevel >=LogLevelWarning {_faa :="\u005b\u0057\u0041\u0052\u004e\u0049\u004e\u0047\u005d\u0020";_ba .output (_a .Stdout ,_faa ,format ,args ...);};};const _ef =15;
28+
// LogLevel is the verbosity level for logging.
29+
type LogLevel int ;const _gbe =2025;
4130

42-
// Error logs error message.
43-
func (_fce WriterLogger )Error (format string ,args ...interface{}){if _fce .LogLevel >=LogLevelError {_gdc :="\u005b\u0045\u0052\u0052\u004f\u0052\u005d\u0020";_fce .logToWriter (_fce .Output ,_gdc ,format ,args ...);};};
31+
// Debug logs debug message.
32+
func (_dce ConsoleLogger )Debug (format string ,args ...interface{}){if _dce .LogLevel >=LogLevelDebug {_f :="\u005b\u0044\u0045\u0042\u0055\u0047\u005d\u0020";_dce .output (_c .Stdout ,_f ,format ,args ...);};};
4433

45-
// Trace logs trace message.
46-
func (_gbf WriterLogger )Trace (format string ,args ...interface{}){if _gbf .LogLevel >=LogLevelTrace {_fgc :="\u005b\u0054\u0052\u0041\u0043\u0045\u005d\u0020";_gbf .logToWriter (_gbf .Output ,_fgc ,format ,args ...);};};var Log Logger =DummyLogger {};
34+
// ConsoleLogger is a logger that writes logs to the 'os.Stdout'
35+
type ConsoleLogger struct{LogLevel LogLevel ;};
4736

37+
// Notice logs notice message.
38+
func (_df WriterLogger )Notice (format string ,args ...interface{}){if _df .LogLevel >=LogLevelNotice {_de :="\u005bN\u004f\u0054\u0049\u0043\u0045\u005d ";_df .logToWriter (_df .Output ,_de ,format ,args ...);};};
4839

49-
// UtcTimeFormat returns a formatted string describing a UTC timestamp.
50-
func UtcTimeFormat (t _cg .Time )string {return t .Format (_fbf )+"\u0020\u0055\u0054\u0043"};
40+
// Error does nothing for dummy logger.
41+
func (DummyLogger )Error (format string ,args ...interface{}){};
5142

52-
// Warning does nothing for dummy logger.
53-
func (DummyLogger )Warning (format string ,args ...interface{}){};const _fbf ="\u0032\u0020\u004aan\u0075\u0061\u0072\u0079\u0020\u0032\u0030\u0030\u0036\u0020\u0061\u0074\u0020\u0031\u0035\u003a\u0030\u0034";
43+
// Info logs info message.
44+
func (_def WriterLogger )Info (format string ,args ...interface{}){if _def .LogLevel >=LogLevelInfo {_fc :="\u005bI\u004e\u0046\u004f\u005d\u0020";_def .logToWriter (_def .Output ,_fc ,format ,args ...);};};
5445

55-
// NewConsoleLogger creates new console logger.
56-
func NewConsoleLogger (logLevel LogLevel )*ConsoleLogger {return &ConsoleLogger {LogLevel :logLevel }};
46+
// Logger is the interface used for logging in the unipdf package.
47+
type Logger interface{Error (_g string ,_ge ...interface{});Warning (_bd string ,_ae ...interface{});Notice (_gg string ,_bc ...interface{});Info (_ea string ,_ac ...interface{});Debug (_cf string ,_ce ...interface{});Trace (_acf string ,_dc ...interface{});
48+
IsLogLevel (_eg LogLevel )bool ;};
5749

58-
// Info does nothing for dummy logger.
59-
func (DummyLogger )Info (format string ,args ...interface{}){};func (_bab ConsoleLogger )output (_fcg _gf .Writer ,_gd string ,_gee string ,_eg ...interface{}){_gbg (_fcg ,_gd ,_gee ,_eg ...);};
50+
// Notice logs notice message.
51+
func (_bdd ConsoleLogger )Notice (format string ,args ...interface{}){if _bdd .LogLevel >=LogLevelNotice {_cc :="\u005bN\u004f\u0054\u0049\u0043\u0045\u005d ";_bdd .output (_c .Stdout ,_cc ,format ,args ...);};};
6052

61-
// LogLevel is the verbosity level for logging.
62-
type LogLevel int ;
53+
// Trace logs trace message.
54+
func (_dge WriterLogger )Trace (format string ,args ...interface{}){if _dge .LogLevel >=LogLevelTrace {_fe :="\u005b\u0054\u0052\u0041\u0043\u0045\u005d\u0020";_dge .logToWriter (_dge .Output ,_fe ,format ,args ...);};};func (_ceb ConsoleLogger )output (_af _dd .Writer ,_eae string ,_ccd string ,_fb ...interface{}){_ee (_af ,_eae ,_ccd ,_fb ...);
55+
};var Log Logger =DummyLogger {};
56+
57+
// WriterLogger is the logger that writes data to the Output writer
58+
type WriterLogger struct{LogLevel LogLevel ;Output _dd .Writer ;};
6359

6460
// IsLogLevel returns true if log level is greater or equal than `level`.
6561
// Can be used to avoid resource intensive calls to loggers.
66-
func (_cd WriterLogger )IsLogLevel (level LogLevel )bool {return _cd .LogLevel >=level };
62+
func (_ag ConsoleLogger )IsLogLevel (level LogLevel )bool {return _ag .LogLevel >=level };
6763

6864
// Info logs info message.
69-
func (_cf WriterLogger )Info (format string ,args ...interface{}){if _cf .LogLevel >=LogLevelInfo {_fb :="\u005bI\u004e\u0046\u004f\u005d\u0020";_cf .logToWriter (_cf .Output ,_fb ,format ,args ...);};};
65+
func (_cd ConsoleLogger )Info (format string ,args ...interface{}){if _cd .LogLevel >=LogLevelInfo {_gd :="\u005bI\u004e\u0046\u004f\u005d\u0020";_cd .output (_c .Stdout ,_gd ,format ,args ...);};};
7066

71-
// Error logs error message.
72-
func (_ge ConsoleLogger )Error (format string ,args ...interface{}){if _ge .LogLevel >=LogLevelError {_cc :="\u005b\u0045\u0052\u0052\u004f\u0052\u005d\u0020";_ge .output (_a .Stdout ,_cc ,format ,args ...);};};
67+
// UtcTimeFormat returns a formatted string describing a UTC timestamp.
68+
func UtcTimeFormat (t _ab .Time )string {return t .Format (_egd )+"\u0020\u0055\u0054\u0043"};const _aae =6;
7369

74-
// Debug logs debug message.
75-
func (_gff WriterLogger )Debug (format string ,args ...interface{}){if _gff .LogLevel >=LogLevelDebug {_ffa :="\u005b\u0044\u0045\u0042\u0055\u0047\u005d\u0020";_gff .logToWriter (_gff .Output ,_ffa ,format ,args ...);};};const _bbg =5;
70+
// Info does nothing for dummy logger.
71+
func (DummyLogger )Info (format string ,args ...interface{}){};
7672

77-
// Debug logs debug message.
78-
func (_gbe ConsoleLogger )Debug (format string ,args ...interface{}){if _gbe .LogLevel >=LogLevelDebug {_ebe :="\u005b\u0044\u0045\u0042\u0055\u0047\u005d\u0020";_gbe .output (_a .Stdout ,_ebe ,format ,args ...);};};
73+
// Warning logs warning message.
74+
func (_ba ConsoleLogger )Warning (format string ,args ...interface{}){if _ba .LogLevel >=LogLevelWarning {_aa :="\u005b\u0057\u0041\u0052\u004e\u0049\u004e\u0047\u005d\u0020";_ba .output (_c .Stdout ,_aa ,format ,args ...);};};
7975

80-
// Debug does nothing for dummy logger.
81-
func (DummyLogger )Debug (format string ,args ...interface{}){};
76+
// Debug logs debug message.
77+
func (_fbe WriterLogger )Debug (format string ,args ...interface{}){if _fbe .LogLevel >=LogLevelDebug {_abg :="\u005b\u0044\u0045\u0042\u0055\u0047\u005d\u0020";_fbe .logToWriter (_fbe .Output ,_abg ,format ,args ...);};};
8278

83-
// Notice logs notice message.
84-
func (_fe ConsoleLogger )Notice (format string ,args ...interface{}){if _fe .LogLevel >=LogLevelNotice {_fed :="\u005bN\u004f\u0054\u0049\u0043\u0045\u005d ";_fe .output (_a .Stdout ,_fed ,format ,args ...);};};const _ce =30;
79+
// NewConsoleLogger creates new console logger.
80+
func NewConsoleLogger (logLevel LogLevel )*ConsoleLogger {return &ConsoleLogger {LogLevel :logLevel }};const _fdg =23;const _ad =30;var ReleasedAt =_ab .Date (_gbe ,_aae ,_fdg ,_feb ,_ad ,0,0,_ab .UTC );
8581

86-
// ConsoleLogger is a logger that writes logs to the 'os.Stdout'
87-
type ConsoleLogger struct{LogLevel LogLevel ;};var ReleasedAt =_cg .Date (_ab ,_bbg ,_db ,_ef ,_ce ,0,0,_cg .UTC );
82+
// Trace logs trace message.
83+
func (_dg ConsoleLogger )Trace (format string ,args ...interface{}){if _dg .LogLevel >=LogLevelTrace {_fd :="\u005b\u0054\u0052\u0041\u0043\u0045\u005d\u0020";_dg .output (_c .Stdout ,_fd ,format ,args ...);};};
8884

8985
// Notice does nothing for dummy logger.
9086
func (DummyLogger )Notice (format string ,args ...interface{}){};
9187

92-
// SetLogger sets 'logger' to be used by the unidoc unipdf library.
93-
func SetLogger (logger Logger ){Log =logger };
88+
// Debug does nothing for dummy logger.
89+
func (DummyLogger )Debug (format string ,args ...interface{}){};const Version ="\u0034\u002e\u0031.\u0030";const _feb =15;
9490

95-
// NewWriterLogger creates new 'writer' logger.
96-
func NewWriterLogger (logLevel LogLevel ,writer _gf .Writer )*WriterLogger {_cgff :=WriterLogger {Output :writer ,LogLevel :logLevel };return &_cgff ;};const Version ="\u0034\u002e\u0030.\u0030";func _gbg (_bc _gf .Writer ,_bdbb string ,_ed string ,_ac ...interface{}){_ ,_ec ,_eca ,_ged :=_f .Caller (3);
97-
if !_ged {_ec ="\u003f\u003f\u003f";_eca =0;}else {_ec =_g .Base (_ec );};_ded :=_c .Sprintf ("\u0025s\u0020\u0025\u0073\u003a\u0025\u0064 ",_bdbb ,_ec ,_eca )+_ed +"\u000a";_c .Fprintf (_bc ,_ded ,_ac ...);};
91+
// Warning logs warning message.
92+
func (_fda WriterLogger )Warning (format string ,args ...interface{}){if _fda .LogLevel >=LogLevelWarning {_ged :="\u005b\u0057\u0041\u0052\u004e\u0049\u004e\u0047\u005d\u0020";_fda .logToWriter (_fda .Output ,_ged ,format ,args ...);};};
9893

99-
// Trace logs trace message.
100-
func (_cgf ConsoleLogger )Trace (format string ,args ...interface{}){if _cgf .LogLevel >=LogLevelTrace {_bd :="\u005b\u0054\u0052\u0041\u0043\u0045\u005d\u0020";_cgf .output (_a .Stdout ,_bd ,format ,args ...);};};
94+
// Error logs error message.
95+
func (_agc ConsoleLogger )Error (format string ,args ...interface{}){if _agc .LogLevel >=LogLevelError {_cfb :="\u005b\u0045\u0052\u0052\u004f\u0052\u005d\u0020";_agc .output (_c .Stdout ,_cfb ,format ,args ...);};};
10196

102-
// Error does nothing for dummy logger.
103-
func (DummyLogger )Error (format string ,args ...interface{}){};const _db =9;
97+
// IsLogLevel returns true if log level is greater or equal than `level`.
98+
// Can be used to avoid resource intensive calls to loggers.
99+
func (_gb WriterLogger )IsLogLevel (level LogLevel )bool {return _gb .LogLevel >=level };
104100

105-
// Trace does nothing for dummy logger.
106-
func (DummyLogger )Trace (format string ,args ...interface{}){};
101+
// NewWriterLogger creates new 'writer' logger.
102+
func NewWriterLogger (logLevel LogLevel ,writer _dd .Writer )*WriterLogger {_eb :=WriterLogger {Output :writer ,LogLevel :logLevel };return &_eb ;};const (LogLevelTrace LogLevel =5;LogLevelDebug LogLevel =4;LogLevelInfo LogLevel =3;LogLevelNotice LogLevel =2;
103+
LogLevelWarning LogLevel =1;LogLevelError LogLevel =0;);func _ee (_cce _dd .Writer ,_dgg string ,_gfc string ,_ef ...interface{}){_ ,_aga ,_be ,_ec :=_b .Caller (3);if !_ec {_aga ="\u003f\u003f\u003f";_be =0;}else {_aga =_d .Base (_aga );};_aag :=_e .Sprintf ("\u0025s\u0020\u0025\u0073\u003a\u0025\u0064 ",_dgg ,_aga ,_be )+_gfc +"\u000a";
104+
_e .Fprintf (_cce ,_aag ,_ef ...);};
107105

108-
// Notice logs notice message.
109-
func (_bdb WriterLogger )Notice (format string ,args ...interface{}){if _bdb .LogLevel >=LogLevelNotice {_dee :="\u005bN\u004f\u0054\u0049\u0043\u0045\u005d ";_bdb .logToWriter (_bdb .Output ,_dee ,format ,args ...);};};
106+
// Warning does nothing for dummy logger.
107+
func (DummyLogger )Warning (format string ,args ...interface{}){};
108+
109+
// SetLogger sets 'logger' to be used by the unidoc unipdf library.
110+
func SetLogger (logger Logger ){Log =logger };

common/license/license.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,30 @@
1010
// terms that can be accessed at https://unidoc.io/eula/
1111

1212
// Package license helps manage commercial licenses and check if they are valid for the version of unipdf used.
13-
package license ;import _ed "github.com/unidoc/unipdf/v4/internal/license";
14-
15-
// LicenseKey represents a loaded license key.
16-
type LicenseKey =_ed .LicenseKey ;
17-
18-
// SetLicenseKey sets and validates the license key.
19-
func SetLicenseKey (content string ,customerName string )error {return _ed .SetLicenseKey (content ,customerName );};
13+
package license ;import _c "github.com/unidoc/unipdf/v4/internal/license";const (LicenseTierUnlicensed =_c .LicenseTierUnlicensed ;LicenseTierCommunity =_c .LicenseTierCommunity ;LicenseTierIndividual =_c .LicenseTierIndividual ;LicenseTierBusiness =_c .LicenseTierBusiness ;
14+
);func SetMeteredKeyUsageLogVerboseMode (val bool ){_c .SetMeteredKeyUsageLogVerboseMode (val )};
2015

2116
// GetMeteredState checks the currently used metered document usage status,
2217
// documents used and credits available.
23-
func GetMeteredState ()(_ed .MeteredStatus ,error ){return _ed .GetMeteredState ()};const (LicenseTierUnlicensed =_ed .LicenseTierUnlicensed ;LicenseTierCommunity =_ed .LicenseTierCommunity ;LicenseTierIndividual =_ed .LicenseTierIndividual ;LicenseTierBusiness =_ed .LicenseTierBusiness ;
24-
);func SetMeteredKeyUsageLogVerboseMode (val bool ){_ed .SetMeteredKeyUsageLogVerboseMode (val )};
18+
func GetMeteredState ()(_c .MeteredStatus ,error ){return _c .GetMeteredState ()};
2519

26-
// GetLicenseKey returns the currently loaded license key.
27-
func GetLicenseKey ()*LicenseKey {return _ed .GetLicenseKey ()};
20+
// MakeUnlicensedKey returns a default key.
21+
func MakeUnlicensedKey ()*LicenseKey {return _c .MakeUnlicensedKey ()};
2822

29-
// SetMeteredKey sets the metered API key required for SaaS operation.
30-
// Document usage is reported periodically for the product to function correctly.
31-
func SetMeteredKey (apiKey string )error {return _ed .SetMeteredKey (apiKey )};
23+
// SetLicenseKey sets and validates the license key.
24+
func SetLicenseKey (content string ,customerName string )error {return _c .SetLicenseKey (content ,customerName );};
3225

3326
// SetMeteredKeyPersistentCache sets the metered License API Key persistent cache.
3427
// Default value 'true', set to `false` will report the usage immediately to license server,
3528
// this can be used when there's no access to persistent data storage.
36-
func SetMeteredKeyPersistentCache (val bool ){_ed .SetMeteredKeyPersistentCache (val )};
29+
func SetMeteredKeyPersistentCache (val bool ){_c .SetMeteredKeyPersistentCache (val )};
3730

38-
// MakeUnlicensedKey returns a default key.
39-
func MakeUnlicensedKey ()*LicenseKey {return _ed .MakeUnlicensedKey ()};
31+
// SetMeteredKey sets the metered API key required for SaaS operation.
32+
// Document usage is reported periodically for the product to function correctly.
33+
func SetMeteredKey (apiKey string )error {return _c .SetMeteredKey (apiKey )};
34+
35+
// GetLicenseKey returns the currently loaded license key.
36+
func GetLicenseKey ()*LicenseKey {return _c .GetLicenseKey ()};
37+
38+
// LicenseKey represents a loaded license key.
39+
type LicenseKey =_c .LicenseKey ;

0 commit comments

Comments
 (0)