我正在尝试利用字符串模板文字类型的强大功能为用于定义路由的字符串添加类型安全性。
string。:parameterName在路径字符串中并parameterName作为键/值包含在params对象中。我可以手动设置这些类型,而且效果很好。但是我想做的是找到一种方法来消除开发人员手动链接交叉点的需要。我想在我的图书馆里处理。
type DynamicParam<S extends string> = `:${S}`
type DynamicParamRoute<T extends string> = `${string}/${DynamicParam<T>}/${string}` | `${DynamicParam<T>}/${string}` | `${string}/${DynamicParam<T>}` | `${DynamicParam<T>}`
type UserParamRoute = DynamicParamRoute<'user'>
// const bad1: UserParamRoute = 'user' // error as doesn't match ":user"
const u1: UserParamRoute = ':user'
const u2: UserParamRoute = 'prefix/:user'
const u3: UserParamRoute = ':user/suffix'
const u4: UserParamRoute = 'prefix/:user/suffix'
type TeamParamRoute = DynamicParamRoute<'team'>
const t1: TeamParamRoute = ':team'
const t2: TeamParamRoute = …Run Code Online (Sandbox Code Playgroud) 首先,我爱普鲁米(Pulumi)。
我们正在尝试提出Pulumi作为分布式体系结构的解决方案,并且正在不断发展。我现在不确定的是,是否可以将现有的云资源附加到Pulumi配置中。
媒体已经存在一个S3存储桶,我想知道是否可以在我们的Pulumi配置中定义S3存储桶,还是 Pulumi必须先成为云资源的创建者,然后才能由Pulumi管理?