Files
DeviceManager/node_modules/vite-plugin-mkcert/plugin/mkcert/record.ts

55 lines
998 B
TypeScript

import Config, { RecordHash, RecordMate } from './config'
export type RecordProps = {
config: Config
}
class Record {
private config: Config
constructor(options: RecordProps) {
this.config = options.config
}
public getHosts() {
return this.config.getRecord()?.hosts
}
public getHash() {
return this.config.getRecord()?.hash
}
public contains(hosts: string[]) {
const oldHosts = this.getHosts()
if (!oldHosts) {
return false
}
// require hosts is subset of oldHosts
for (const host of hosts) {
if (!oldHosts.includes(host)) {
return false
}
}
return true
}
// whether the files has been tampered with
public equal(hash: RecordHash) {
const oldHash = this.getHash()
if (!oldHash) {
return false
}
return oldHash.key === hash.key && oldHash.cert === hash.cert
}
public async update(record: RecordMate) {
await this.config.merge({ record })
}
}
export default Record