// FIXME: Update this file to be type safe and remove this and next line // @ts-strict-ignore import { Jsonify } from "type-fest"; import { Classifier } from "./state/classifier"; export class PublicClassifier implements Classifier> { constructor(private keys: (keyof Jsonify)[]) {} classify(value: Data): { disclosed: Jsonify; secret: Jsonify> } { const pickMe = JSON.parse(JSON.stringify(value)); const picked: Partial> = {}; for (const key of this.keys) { picked[key] = pickMe[key]; } const disclosed = picked as Jsonify; return { disclosed, secret: null }; } declassify(disclosed: Jsonify, _secret: Jsonify>) { const result: Partial> = {}; for (const key of this.keys) { result[key] = disclosed[key]; } return result as Jsonify; } }