Javascript 如何使用流类型链接函数?
我正在尝试为Javascript 如何使用流类型链接函数?,javascript,firebase,google-cloud-functions,flowtype,Javascript,Firebase,Google Cloud Functions,Flowtype,我正在尝试为firebase函数模块创建基本的流类型定义 此模块的用例示例如下: // @flow import * as functions from 'firebase-functions' import create from './tasks/create' const { firestore } = functions exports.createCharacter = firestore .document('characters/{characterID}') .onC
firebase函数
模块创建基本的流类型定义
此模块的用例示例如下:
// @flow
import * as functions from 'firebase-functions'
import create from './tasks/create'
const { firestore } = functions
exports.createCharacter = firestore
.document('characters/{characterID}')
.onCreate((snapshot, context) => create(snapshot, context))
到目前为止,我已经在flow-typed/firebase-functions.js
// @flow
declare module 'firebase-functions' {
declare class firestore {
static document(path: string): void;
}
}
我现在被困在上。一旦创建(
从文档链接的部分,flow就不允许我扩展文档
而不是静态文档。opnCreate
是有效的。在流类型库代码中,您告诉flow文档
函数返回void
然后,您的应用程序代码使用的是之前声明为void的函数的结果。我怀疑这就是编译器抱怨的原因:在null对象上调用onCreate
不起作用(或者至少影响类型系统)
如果您这样做会发生什么:静态文档(路径:string):firestore
。因为这就是(大概:我不知道Firebase)这里发生的事情
当然,您现在需要在创建时声明函数onCreate
同样值得注意的是,对于像firebase这样的Javascript模块,您不需要自己编写流类型化声明(除非您愿意/需要)。flow-typed安装firebase@5.x.x
应该为您安装一个社区创建(或生成)的FlowType文件