UNPKG

ts-cast

Version:
20 lines (19 loc) 814 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ref = void 0; var engine_1 = require("../engine"); var throw_type_error_1 = require("../engine/throw-type-error"); var ref = function (casterRef, typeName) { if (typeName === void 0) { typeName = '<type-reference>'; } var caster = function (value, context, reportError) { caster = casterRef(); return caster(value, context, reportError); }; var referredCaster = function (value, context, reportError) { if (reportError === void 0) { reportError = throw_type_error_1.throwTypeError; } return caster(value, context, reportError); }; Object.defineProperty(referredCaster, 'name', { value: typeName }); return (0, engine_1.casterApi)(referredCaster); }; exports.ref = ref;