我正在尝试使用类型系统对特定模式进行建模,其中对象仅由一组可能属性中的单个属性组成。
换句话说,该类型将是部分类型,但只允许一个属性。
interface PossibleProperties {
cat?: AllPropsOfSameType;
dog?: AllPropsOfSameType;
cow?: AllPropsOfSameType;
}
interface ShouldBeExactlyOneOfPossibleProperties {
[P in keyof PossibleProperties]: AllPropsOfSameType; // Wupz, this allows for 0 or more...
}
Run Code Online (Sandbox Code Playgroud)
我见过需要至少一个属性的解决方案:
type AtLeastOne<T, U = {[K in keyof T]: Pick<T, K> }> = Partial<T> & U[keyof U]
Run Code Online (Sandbox Code Playgroud)
但我需要类似AtMostOne<T, U = {[K in keyof T]: Pick<T, K> }>or 的东西ExactlyOne<T, U = {[K in keyof T]: Pick<T, K> }>,它可能是AtMostOneand的交集类型AtLeastOne
如果这可能的话有什么想法吗?
基本上就是这样.不知何故,Google文档中的javascript可以关闭显示网址,日期,网页编号等的默认页眉和页脚.
这仅适用于Google Chrome.当Google Docs从其他浏览器运行时,它将打印页眉/页脚,除非通过打印配置对话框手动删除.在Safari中,它似乎生成一个PDF服务器端,当然它将在浏览器外打印.
我在网上搜索过,并没有发现如何做到这一点.页面中的javascript当然是缩小和混淆的,因此很难从中获得任何见解.
因此,在我被迫潜入意大利面之前,我想知道是否有人对如何做到这一点有任何想法.
具体来说,我想在运行“ npm install”时下载angular.min.js。
根据我在此处阅读的内容,在预发布脚本中可以进行此类操作。它还提到我不需要依靠在系统上安装wget / curl。
但是,它没有详细介绍如何执行此操作。
有人知道怎么做吗?