UNPKG

@decaf-ts/decorator-validation

Version:
30 lines 3.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getModelKey = getModelKey; exports.getMetadata = getMetadata; exports.toConditionalPromise = toConditionalPromise; const constants_1 = require("./../utils/constants.cjs"); function getModelKey(str) { return constants_1.ModelKeys.REFLECT + str; } function getMetadata(model) { const metadata = Reflect.getMetadata(getModelKey(constants_1.ModelKeys.MODEL), model.constructor); if (!metadata) throw new Error("could not find metadata for provided " + model.constructor.name); return metadata; } /** * Wraps a value in a Promise if the `async` flag is true. * * @template T - The type of the value being wrapped. * @template Async - A boolean type that determines if the result should be wrapped in a Promise. * * @param value - The value to return directly or wrap in a Promise. * @param async - If true, the value is wrapped in a resolved Promise. If false or undefined, the value is returned as-is. * * @returns The original value or a Promise resolving to it, depending on the `async` flag. */ function toConditionalPromise(value, async) { return (async ? Promise.resolve(value) : value); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxrQ0FFQztBQUVELGtDQVVDO0FBYUQsb0RBS0M7QUFwQ0Qsd0RBQStDO0FBSS9DLFNBQWdCLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8scUJBQVMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBQ2pDLENBQUM7QUFFRCxTQUFnQixXQUFXLENBQWtCLEtBQVE7SUFDbkQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FDbEMsV0FBVyxDQUFDLHFCQUFTLENBQUMsS0FBSyxDQUFDLEVBQzVCLEtBQUssQ0FBQyxXQUFXLENBQ2xCLENBQUM7SUFDRixJQUFJLENBQUMsUUFBUTtRQUNYLE1BQU0sSUFBSSxLQUFLLENBQ2IsdUNBQXVDLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ2pFLENBQUM7SUFDSixPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLG9CQUFvQixDQUNsQyxLQUFRLEVBQ1IsS0FBYTtJQUViLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBK0IsQ0FBQztBQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWxLZXlzIH0gZnJvbSBcIi4uL3V0aWxzL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgQ29uZGl0aW9uYWxBc3luYyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiLi9Nb2RlbFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9kZWxLZXkoc3RyOiBzdHJpbmcpIHtcbiAgcmV0dXJuIE1vZGVsS2V5cy5SRUZMRUNUICsgc3RyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YWRhdGE8TSBleHRlbmRzIE1vZGVsPihtb2RlbDogTSkge1xuICBjb25zdCBtZXRhZGF0YSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoXG4gICAgZ2V0TW9kZWxLZXkoTW9kZWxLZXlzLk1PREVMKSxcbiAgICBtb2RlbC5jb25zdHJ1Y3RvclxuICApO1xuICBpZiAoIW1ldGFkYXRhKVxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiY291bGQgbm90IGZpbmQgbWV0YWRhdGEgZm9yIHByb3ZpZGVkIFwiICsgbW9kZWwuY29uc3RydWN0b3IubmFtZVxuICAgICk7XG4gIHJldHVybiBtZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBXcmFwcyBhIHZhbHVlIGluIGEgUHJvbWlzZSBpZiB0aGUgYGFzeW5jYCBmbGFnIGlzIHRydWUuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgYmVpbmcgd3JhcHBlZC5cbiAqIEB0ZW1wbGF0ZSBBc3luYyAtIEEgYm9vbGVhbiB0eXBlIHRoYXQgZGV0ZXJtaW5lcyBpZiB0aGUgcmVzdWx0IHNob3VsZCBiZSB3cmFwcGVkIGluIGEgUHJvbWlzZS5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gcmV0dXJuIGRpcmVjdGx5IG9yIHdyYXAgaW4gYSBQcm9taXNlLlxuICogQHBhcmFtIGFzeW5jIC0gSWYgdHJ1ZSwgdGhlIHZhbHVlIGlzIHdyYXBwZWQgaW4gYSByZXNvbHZlZCBQcm9taXNlLiBJZiBmYWxzZSBvciB1bmRlZmluZWQsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZCBhcy1pcy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgb3JpZ2luYWwgdmFsdWUgb3IgYSBQcm9taXNlIHJlc29sdmluZyB0byBpdCwgZGVwZW5kaW5nIG9uIHRoZSBgYXN5bmNgIGZsYWcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0NvbmRpdGlvbmFsUHJvbWlzZTxULCBBc3luYyBleHRlbmRzIGJvb2xlYW4+KFxuICB2YWx1ZTogVCxcbiAgYXN5bmM/OiBBc3luY1xuKTogQ29uZGl0aW9uYWxBc3luYzxBc3luYywgVD4ge1xuICByZXR1cm4gKGFzeW5jID8gUHJvbWlzZS5yZXNvbHZlKHZhbHVlKSA6IHZhbHVlKSBhcyBDb25kaXRpb25hbEFzeW5jPEFzeW5jLCBUPjtcbn1cbiJdfQ==