mirror of
https://github.com/mshick/add-pr-comment.git
synced 2026-01-02 06:49:48 +11:00
parent
ef723874d4
commit
a251f051d3
9 changed files with 154 additions and 85 deletions
74
src/message.ts
Normal file
74
src/message.ts
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
import fs from 'node:fs/promises'
|
||||
import { findFiles } from './files'
|
||||
import { Inputs } from './types'
|
||||
|
||||
export async function getMessage({
|
||||
messageInput,
|
||||
messagePath,
|
||||
messageCancelled,
|
||||
messageSkipped,
|
||||
messageFailure,
|
||||
messageSuccess,
|
||||
preformatted,
|
||||
status,
|
||||
}: Pick<
|
||||
Inputs,
|
||||
| 'messageInput'
|
||||
| 'messageCancelled'
|
||||
| 'messageSuccess'
|
||||
| 'messageFailure'
|
||||
| 'messageSkipped'
|
||||
| 'messagePath'
|
||||
| 'preformatted'
|
||||
| 'status'
|
||||
>) {
|
||||
let message
|
||||
|
||||
if (status === 'success') {
|
||||
if (messageSuccess) {
|
||||
message = messageSuccess
|
||||
} else if (messagePath) {
|
||||
message = await getMessageFromPath(messagePath)
|
||||
} else {
|
||||
message = messageInput
|
||||
}
|
||||
}
|
||||
|
||||
if (status === 'failure' && messageFailure) {
|
||||
message = messageFailure
|
||||
}
|
||||
|
||||
if (status === 'cancelled' && messageCancelled) {
|
||||
message = messageCancelled
|
||||
}
|
||||
|
||||
if (status === 'skipped' && messageSkipped) {
|
||||
message = messageSkipped
|
||||
}
|
||||
|
||||
if (!message) {
|
||||
throw new Error('no message, check your message inputs')
|
||||
}
|
||||
|
||||
if (preformatted) {
|
||||
message = `\`\`\`\n${message}\n\`\`\``
|
||||
}
|
||||
|
||||
return message
|
||||
}
|
||||
|
||||
export async function getMessageFromPath(searchPath: string) {
|
||||
let message = ''
|
||||
|
||||
const files = await findFiles(searchPath)
|
||||
|
||||
for (const [index, path] of files.entries()) {
|
||||
if (index > 0) {
|
||||
message += '\n'
|
||||
}
|
||||
|
||||
message += await fs.readFile(path, { encoding: 'utf8' })
|
||||
}
|
||||
|
||||
return message
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue