variant
Version:
Variant types (a.k.a. Discriminated Unions) in TypeScript
44 lines • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.genericVariant = exports.gg = exports.GParam = void 0;
const variant_1 = require("./variant");
;
const gParamKey = '__gen';
const gParam = variant_1.variantFactory(gParamKey);
exports.GParam = variant_1.variantList([
gParam('A'),
gParam('B'),
gParam('C'),
gParam('D'),
gParam('E'),
gParam('F'),
gParam('G'),
gParam('H'),
gParam('I'),
gParam('J'),
gParam('K'),
gParam('L'),
gParam('M'),
gParam('N'),
gParam('O'),
gParam('P'),
gParam('Q'),
gParam('R'),
gParam('S'),
gParam('T'),
gParam('U'),
gParam('V'),
gParam('W'),
gParam('X'),
gParam('Y'),
gParam('Z'),
]);
const Alpha = variant_1.flags(Object.values(exports.GParam).map(f => f()), gParamKey);
function gg(f) {
const rawModule = f(Alpha);
const vmod = variant_1.variantModule(rawModule);
return [vmod, vmod];
}
exports.gg = gg;
exports.genericVariant = gg;
//# sourceMappingURL=generic.js.map