{"version":3,"file":"api.mjs","names":[],"sources":["../../esm/Parser/api.js"],"sourcesContent":["import * as tsplus_module_1 from \"@fncts/schema/AST\";\nimport * as tsplus_module_2 from \"@fncts/base/data/Either/api\";\nimport * as tsplus_module_3 from \"@fncts/schema/ParseError/TreeFormatter\";\nimport * as tsplus_module_4 from \"@fncts/base/data/function/api\";\nimport * as tsplus_module_5 from \"@fncts/base/data/Either/destructors\";\nexport const encode = encode_1;\nimport { parserFor } from \"./interpreter.js\";\n/**\n * @tsplus getter fncts.schema.Schema decode\n * @tsplus getter fncts.schema.Parser decode\n */\nexport function decode(schema) {\n    return parserFor(schema.ast, true);\n}\n/**\n * @tsplus getter fncts.schema.Schema decodeMaybe\n * @tsplus getter fncts.schema.Parser decodeMaybe\n */\nexport function decodeMaybe(schema) {\n    return parseMaybe(tsplus_module_1.getTo(schema.ast));\n}\n/**\n * @tsplus getter fncts.schema.Schema encode\n * @tsplus getter fncts.schema.Parser encode\n */\nfunction encode_1(schema) {\n    return parserFor(schema.ast, false);\n}\n/**\n * @tsplus getter fncts.schema.Schema encodeMaybe\n * @tsplus getter fncts.schema.Parser encodeMaybe\n */\nexport function encodeMaybe(schema) {\n    return (input, options) => tsplus_module_2.toMaybe(encode_1(schema)(input, options));\n}\nfunction parseMaybe(ast) {\n    const parse = parserFor(ast, true);\n    return (input, options) => {\n        return tsplus_module_2.toMaybe(parse(input, options));\n    };\n}\nfunction parseOrThrow(ast) {\n    const parser = parserFor(ast, true);\n    return (input, options) => {\n        return tsplus_module_5.match((failure) => {\n            throw new Error(tsplus_module_3.format(failure));\n        }, tsplus_module_4.identity)(parser(input, options));\n    };\n}\n/**\n * @tsplus getter fncts.schema.Schema asserts\n * @tsplus getter fncts.schema.Parser asserts\n */\nexport function asserts(schema) {\n    return (input, options) => {\n        parseOrThrow(tsplus_module_1.getTo(schema.ast))(input, options);\n    };\n}\n//# sourceMappingURL=api.js.map"],"mappings":";;;;;;;AAKA,MAAa,SAAS;;;;;AAMtB,SAAgB,OAAO,QAAQ;AAC3B,QAAO,UAAU,OAAO,KAAK,KAAK;;;;;;AAMtC,SAAgB,YAAY,QAAQ;AAChC,QAAO,WAAW,gBAAgB,MAAM,OAAO,IAAI,CAAC;;;;;;AAMxD,SAAS,SAAS,QAAQ;AACtB,QAAO,UAAU,OAAO,KAAK,MAAM;;;;;;AAMvC,SAAgB,YAAY,QAAQ;AAChC,SAAQ,OAAO,YAAY,gBAAgB,QAAQ,SAAS,OAAO,CAAC,OAAO,QAAQ,CAAC;;AAExF,SAAS,WAAW,KAAK;CACrB,MAAM,QAAQ,UAAU,KAAK,KAAK;AAClC,SAAQ,OAAO,YAAY;AACvB,SAAO,gBAAgB,QAAQ,MAAM,OAAO,QAAQ,CAAC;;;AAG7D,SAAS,aAAa,KAAK;CACvB,MAAM,SAAS,UAAU,KAAK,KAAK;AACnC,SAAQ,OAAO,YAAY;AACvB,SAAO,gBAAgB,OAAO,YAAY;AACtC,SAAM,IAAI,MAAM,gBAAgB,OAAO,QAAQ,CAAC;KACjD,gBAAgB,SAAS,CAAC,OAAO,OAAO,QAAQ,CAAC;;;;;;;AAO5D,SAAgB,QAAQ,QAAQ;AAC5B,SAAQ,OAAO,YAAY;AACvB,eAAa,gBAAgB,MAAM,OAAO,IAAI,CAAC,CAAC,OAAO,QAAQ"}