function initialize(string memory name, string memory symbol, string memory baseURI_) external onlyInitializing {
require(bytes(baseURI_).length>0, "Invalid BaseURI");
__NFT__init(name, symbol, baseURI_);
}
vs
function initialize(string memory name, string memory symbol, string memory baseURI_) external initializer {
require(bytes(baseURI_).length>0, "Invalid BaseURI");
__NFT__init(name, symbol, baseURI_);
}
Openzepplin Documentation reccomends using initailizer for initailizer functions (used instead for constructors in upgradable contract) while most of the upgradeable contract at @openzepplin/contracts-upgradeable use onlyInitializing.