我将使用一个npm库,并且只需要一些函数,如何禁用或删除库中未使用的函数?
我仍然想使用这个库,但库中有很多读写功能,但我想启用读功能并禁用写功能,这样开发者就没有机会使用写功能
假设包导出一个类PackageFoo
,该类具有getBar
和setBar
等方法,但您不希望代码的用户能够调用setBar
。与其在代码库中传递PackageFoo
对象,不如将其封装在自己的类RestrictedFoo
中,该类只有方法getBar
。在内部,RestrictedFoo
类存储PackageFoo
的一个实例,该实例是私有的,您将所有逻辑委托给它
export class RestrictedFoo {
private readonly _internal: PackageFoo;
constructor(props) {
this._internal = new PackageFoo(props);
}
getBar(): BarType {
return this._internal.getBar();
}
}
如果我们处理的是类属性而不是方法,这种方法仍然有效,但您会在类中使用getter和setter。
get bar(): FooType {
return this._internal.bar;
}