@typed/io
Version:
Runtime IO type system
16 lines • 630 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.set = exports.Set = void 0;
const G = require("../guard");
const Array_1 = require("./Array");
const Decoder_1 = require("./Decoder");
const refinement_1 = require("./refinement");
const _Set = Decoder_1.Decoder.fromGuard(G.Set, `ReadonlySet<unknown>`);
exports.Set = _Set;
exports.set = (d) => {
const arrayDecoder = Array_1.array(d);
return refinement_1.refinement(_Set, function* (s) {
return new Set(yield* arrayDecoder.decode(Array.from(s.values())));
}, `ReadonlySet<${d.expected}>`);
};
//# sourceMappingURL=Set.js.map