{"version":3,"file":"maybe.mjs","names":[],"sources":["../../../esm/Schema/api/maybe.js"],"sourcesContent":["const fileName_1 = \"(@fncts/schema) src/Schema/api/maybe.ts\";\nimport * as tsplus_module_1 from \"@fncts/schema/ASTAnnotation\";\nimport * as tsplus_module_2 from \"@fncts/schema/Show\";\nimport * as tsplus_module_3 from \"@fncts/base/collection/immutable/Vector/api\";\nimport * as tsplus_module_4 from \"@fncts/schema/Schema/api\";\nimport * as tsplus_module_5 from \"@fncts/base/data/Maybe/constructors\";\nimport * as tsplus_module_6 from \"@fncts/base/data/Maybe/api\";\nimport * as tsplus_module_7 from \"@fncts/base/data/function/api\";\nimport * as tsplus_module_8 from \"@fncts/schema/Parser/api\";\nimport * as tsplus_module_9 from \"@fncts/base/data/Maybe/definition\";\nimport * as tsplus_module_10 from \"@fncts/schema/ParseError/ParseError\";\nimport * as tsplus_module_11 from \"@fncts/schema/ParseResult\";\nimport * as tsplus_module_12 from \"@fncts/base/data/Either/api\";\nimport * as tsplus_module_13 from \"@fncts/schema/Parser/definition\";\nexport const maybe = maybe_1;\nexport const maybeFromNullable = maybeFromNullable_1;\n/**\n * @tsplus static fncts.schema.SchemaOps maybe\n * @tsplus getter fncts.schema.Schema maybe\n */\nfunction maybe_1(value) {\n    return tsplus_module_4.annotate(tsplus_module_1.Identifier, `Maybe<${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(value), maybeParser(true), maybeParser(false)));\n}\n/**\n * @tsplus static fncts.schema.SchemaOps maybeFromNullable\n * @tsplus getter fncts.schema.Schema maybeFromNullable\n */\nfunction maybeFromNullable_1(value) {\n    return tsplus_module_4.transform(maybe_1(value), tsplus_module_5.fromNullable, (input) => tsplus_module_6.getOrElse(() => null)(input))(tsplus_module_4.union(tsplus_module_4._undefined, tsplus_module_4.nullable(value)));\n}\n/**\n * @tsplus derive fncts.schema.Schema[fncts.Maybe]<_> 10\n */\nexport function deriveMaybe(...[value]) {\n    return maybeFromNullable_1(value);\n}\nfunction maybeParser(isDecoding) {\n    return (value) => {\n        const schema = maybe_1(value);\n        const parseValue = isDecoding ? tsplus_module_8.decode(value) : tsplus_module_8.encode(value);\n        return tsplus_module_13.make((u, options) => {\n            if (!tsplus_module_9.isMaybe(u)) {\n                return tsplus_module_11.fail(tsplus_module_10.typeError(schema.ast, u));\n            }\n            void 0;\n            if (tsplus_module_9.isNothing(u)) {\n                return tsplus_module_11.succeed(tsplus_module_5.nothing(fileName_1 + \":47:43\"));\n            }\n            else {\n                return tsplus_module_12.map((a) => tsplus_module_5.just(a, fileName_1 + \":49:60\"))(parseValue(u.value, options));\n            }\n        });\n    };\n}\n//# sourceMappingURL=maybe.js.map"],"mappings":";;;;;;;;;;;;;;AAAA,MAAM,aAAa;AAcnB,MAAa,QAAQ;AACrB,MAAa,oBAAoB;;;;;AAKjC,SAAS,QAAQ,OAAO;AACpB,QAAO,gBAAgB,SAAS,gBAAgB,YAAY,SAAS,gBAAgB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,YAAY,gBAAgB,OAAO,MAAM,EAAE,YAAY,KAAK,EAAE,YAAY,MAAM,CAAC,CAAC;;;;;;AAM7M,SAAS,oBAAoB,OAAO;AAChC,QAAO,gBAAgB,UAAU,QAAQ,MAAM,EAAE,gBAAgB,eAAe,UAAU,gBAAgB,gBAAgB,KAAK,CAAC,MAAM,CAAC,CAAC,gBAAgB,MAAM,gBAAgB,YAAY,gBAAgB,SAAS,MAAM,CAAC,CAAC;;;;;AAK/N,SAAgB,YAAY,GAAG,CAAC,QAAQ;AACpC,QAAO,oBAAoB,MAAM;;AAErC,SAAS,YAAY,YAAY;AAC7B,SAAQ,UAAU;EACd,MAAM,SAAS,QAAQ,MAAM;EAC7B,MAAM,aAAa,aAAa,gBAAgB,OAAO,MAAM,GAAG,gBAAgB,OAAO,MAAM;AAC7F,SAAO,iBAAiB,MAAM,GAAG,YAAY;AACzC,OAAI,CAAC,gBAAgB,QAAQ,EAAE,CAC3B,QAAO,iBAAiB,KAAK,iBAAiB,UAAU,OAAO,KAAK,EAAE,CAAC;AAG3E,OAAI,gBAAgB,UAAU,EAAE,CAC5B,QAAO,iBAAiB,QAAQ,gBAAgB,QAAQ,aAAa,SAAS,CAAC;OAG/E,QAAO,iBAAiB,KAAK,MAAM,gBAAgB,KAAK,GAAG,aAAa,SAAS,CAAC,CAAC,WAAW,EAAE,OAAO,QAAQ,CAAC;IAEtH"}