{"version":3,"file":"RefType.mjs","sources":["../../src/RefType.ts"],"sourcesContent":["import { allow } from './Authorization';\nimport { __auth } from './ModelField';\nconst _brandName = 'ref';\nfunction brandedBuilder(builder) {\n    return builder;\n}\nfunction _ref(link) {\n    const data = {\n        type: 'ref',\n        link,\n        valueRequired: false,\n        array: false,\n        arrayRequired: false,\n        mutationOperations: [],\n        authorization: [],\n    };\n    const builder = brandedBuilder({\n        required() {\n            if (data.array) {\n                data.arrayRequired = true;\n            }\n            else {\n                data.valueRequired = true;\n            }\n            return this;\n        },\n        array() {\n            data.array = true;\n            return this;\n        },\n        authorization(callback) {\n            const rules = callback(allow);\n            data.authorization = Array.isArray(rules) ? rules : [rules];\n            return this;\n        },\n        mutations(operations) {\n            data.mutationOperations = operations;\n            return this;\n        },\n    });\n    return { ...builder, data };\n}\nexport function ref(link) {\n    return _ref(link);\n}\n"],"names":[],"mappings":";;;AAGA,SAAS,cAAc,CAAC,OAAO,EAAE;AACjC,IAAI,OAAO,OAAO;AAClB;AACA,SAAS,IAAI,CAAC,IAAI,EAAE;AACpB,IAAI,MAAM,IAAI,GAAG;AACjB,QAAQ,IAAI,EAAE,KAAK;AACnB,QAAQ,IAAI;AACZ,QAAQ,aAAa,EAAE,KAAK;AAC5B,QAAQ,KAAK,EAAE,KAAK;AACpB,QAAQ,aAAa,EAAE,KAAK;AAC5B,QAAQ,kBAAkB,EAAE,EAAE;AAC9B,QAAQ,aAAa,EAAE,EAAE;AACzB,KAAK;AACL,IAAI,MAAM,OAAO,GAAG,cAAc,CAAC;AACnC,QAAQ,QAAQ,GAAG;AACnB,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;AAC5B,gBAAgB,IAAI,CAAC,aAAa,GAAG,IAAI;AACzC,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,aAAa,GAAG,IAAI;AACzC,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,KAAK,GAAG;AAChB,YAAY,IAAI,CAAC,KAAK,GAAG,IAAI;AAC7B,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,aAAa,CAAC,QAAQ,EAAE;AAChC,YAAY,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AACzC,YAAY,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC;AACvE,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,SAAS,CAAC,UAAU,EAAE;AAC9B,YAAY,IAAI,CAAC,kBAAkB,GAAG,UAAU;AAChD,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE;AAC/B;AACO,SAAS,GAAG,CAAC,IAAI,EAAE;AAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB;;;;"}