first commit

This commit is contained in:
zzc
2026-01-09 11:21:29 +08:00
commit 24e6484860
29 changed files with 1930 additions and 0 deletions

27
util/grpc-promisify.js Normal file
View File

@@ -0,0 +1,27 @@
function promisify (client) {
Object.keys(Object.getPrototypeOf(client)).forEach(functionName => {
if (functionName.startsWith('$')) {
return
}
const originalFunction = client[functionName]
client[functionName] = (request, callback) => {
if (callback && typeof callback === 'function') {
return originalFunction.call(client, request, (error, response) => {
callback(error, response)
})
}
return new Promise((resolve, reject) => {
originalFunction.call(client, request, (error, response) => {
if (error) {
reject(error)
} else {
resolve(response)
}
})
})
}
client[functionName].interceptors = originalFunction.interceptors
})
}
module.exports = promisify