27 lines
606 B
Swift
27 lines
606 B
Swift
//
|
|
// PolicyRuleSnapshot.swift
|
|
// punchnet
|
|
//
|
|
// Created by 安礼成 on 2026/2/5.
|
|
//
|
|
import Foundation
|
|
|
|
final class PolicyRuleSnapshot: Snapshot {
|
|
typealias IdentityID = UInt32
|
|
|
|
private let ruleMapByIdentity: [IdentityID: PolicyRuleMap]
|
|
|
|
init(ruleMapByIdentity: [IdentityID : PolicyRuleMap]) {
|
|
self.ruleMapByIdentity = ruleMapByIdentity
|
|
}
|
|
|
|
func lookup(_ id: IdentityID) -> PolicyRuleMap? {
|
|
return self.ruleMapByIdentity[id]
|
|
}
|
|
|
|
static func empty() -> PolicyRuleSnapshot {
|
|
return PolicyRuleSnapshot(ruleMapByIdentity: [:])
|
|
}
|
|
|
|
}
|