{"version":3,"file":"hashSet.cjs","names":["tsplus_module_4","tsplus_module_1","tsplus_module_2","tsplus_module_3","tsplus_module_5","tsplus_module_7","tsplus_module_13","tsplus_module_8","tsplus_module_10","tsplus_module_9","tsplus_module_11","tsplus_module_14"],"sources":["../../../esm/Schema/api/hashSet.js"],"sourcesContent":["import * 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/collection/immutable/HashSet/api\";\nimport * as tsplus_module_6 from \"@fncts/base/data/function/api\";\nimport * as tsplus_module_7 from \"@fncts/schema/Parser/api\";\nimport * as tsplus_module_8 from \"@fncts/base/collection/immutable/HashSet/definition\";\nimport * as tsplus_module_9 from \"@fncts/schema/ParseError/ParseError\";\nimport * as tsplus_module_10 from \"@fncts/schema/ParseResult\";\nimport * as tsplus_module_11 from \"@fncts/base/data/Either/api\";\nimport * as tsplus_module_12 from \"@fncts/base/collection/immutable/Vector/internal\";\nimport * as tsplus_module_13 from \"@fncts/schema/Parser/definition\";\nimport * as tsplus_module_14 from \"@fncts/test/control/Gen/api\";\nexport const hashSetFromArray = hashSetFromArray_1;\nexport function hashSet(value) {\n    return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `HashSet<${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(value), hashSetParser(true), hashSetParser(false))));\n}\n/**\n * @tsplus static fncts.schema.SchemaOps hashSetFromArray\n */\nfunction hashSetFromArray_1(value) {\n    return tsplus_module_4.transform(hashSet(value), (input) => {\n        const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());\n        for (const v of input) {\n            tsplus_module_5.add(v)(out);\n        }\n        return tsplus_module_5.endMutation(out);\n    }, (input) => {\n        const out = [];\n        tsplus_module_5.forEach((v) => {\n            out.push(v);\n        })(input);\n        return out;\n    })(tsplus_module_4.array(value));\n}\n/**\n * @tsplus derive fncts.schema.Schema[fncts.HashSet]<_> 10\n */\nexport function deriveHashSet(...[value]) {\n    return hashSetFromArray_1(value);\n}\nfunction hashSetParser(isDecoding) {\n    return (value) => {\n        const schema = hashSet(value);\n        const parseValue = isDecoding ? tsplus_module_7.decode(value) : tsplus_module_7.encode(value);\n        return tsplus_module_13.make((u, options) => {\n            if (!tsplus_module_8.isHashSet(u)) {\n                return tsplus_module_10.fail(tsplus_module_9.typeError(schema.ast, u));\n            }\n            const allErrors = options?.allErrors;\n            const errors = tsplus_module_3.emptyPushable();\n            const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());\n            for (const v of u) {\n                const tv = parseValue(v, options);\n                void 0;\n                if (tsplus_module_11.isLeft(tv)) {\n                    tsplus_module_12.push(tsplus_module_9.keyError(value.ast, v, tv.left))(errors);\n                    if (!allErrors) {\n                        return tsplus_module_10.fail(tsplus_module_9.iterableError(schema.ast, u, errors));\n                    }\n                    continue;\n                }\n                tsplus_module_5.add(tv.right)(out);\n            }\n            return tsplus_module_3.isNonEmpty(errors)\n                ? tsplus_module_10.fail(tsplus_module_9.iterableError(schema.ast, u, errors))\n                : tsplus_module_10.succeed(tsplus_module_5.endMutation(out));\n        });\n    };\n}\nfunction gen(value) {\n    return tsplus_module_14.map(tsplus_module_5.from)(tsplus_module_14.array(value));\n}\n//# sourceMappingURL=hashSet.js.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,mBAAmB;AAChC,SAAgB,QAAQ,OAAO;AAC3B,QAAOA,yBAAgB,SAASC,4BAAgB,SAAS,IAAI,CAACD,yBAAgB,SAASC,4BAAgB,YAAY,WAAWC,mBAAgB,MAAM,CAAC,MAAM,CAAC,GAAG,CAACF,yBAAgB,YAAYG,4CAAgB,OAAO,MAAM,EAAE,cAAc,KAAK,EAAE,cAAc,MAAM,CAAC,CAAC,CAAC;;;;;AAK3Q,SAAS,mBAAmB,OAAO;AAC/B,QAAOH,yBAAgB,UAAU,QAAQ,MAAM,GAAG,UAAU;EACxD,MAAM,MAAMI,6CAAgB,cAAcA,6CAAgB,OAAO,CAAC;AAClE,OAAK,MAAM,KAAK,MACZ,8CAAgB,IAAI,EAAE,CAAC,IAAI;AAE/B,SAAOA,6CAAgB,YAAY,IAAI;KACvC,UAAU;EACV,MAAM,MAAM,EAAE;AACd,+CAAgB,SAAS,MAAM;AAC3B,OAAI,KAAK,EAAE;IACb,CAAC,MAAM;AACT,SAAO;GACT,CAACJ,yBAAgB,MAAM,MAAM,CAAC;;;;;AAKpC,SAAgB,cAAc,GAAG,CAAC,QAAQ;AACtC,QAAO,mBAAmB,MAAM;;AAEpC,SAAS,cAAc,YAAY;AAC/B,SAAQ,UAAU;EACd,MAAM,SAAS,QAAQ,MAAM;EAC7B,MAAM,aAAa,aAAaK,yBAAgB,OAAO,MAAM,GAAGA,yBAAgB,OAAO,MAAM;AAC7F,SAAOC,gCAAiB,MAAM,GAAG,YAAY;AACzC,OAAI,CAACC,oDAAgB,UAAU,EAAE,CAC7B,QAAOC,0BAAiB,KAAKC,oCAAgB,UAAU,OAAO,KAAK,EAAE,CAAC;GAE1E,MAAM,YAAY,SAAS;GAC3B,MAAM,SAASN,4CAAgB,eAAe;GAC9C,MAAM,MAAMC,6CAAgB,cAAcA,6CAAgB,OAAO,CAAC;AAClE,QAAK,MAAM,KAAK,GAAG;IACf,MAAM,KAAK,WAAW,GAAG,QAAQ;AAEjC,QAAIM,4BAAiB,OAAO,GAAG,EAAE;AAC7B,sDAAiB,KAAKD,oCAAgB,SAAS,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO;AAC9E,SAAI,CAAC,UACD,QAAOD,0BAAiB,KAAKC,oCAAgB,cAAc,OAAO,KAAK,GAAG,OAAO,CAAC;AAEtF;;AAEJ,iDAAgB,IAAI,GAAG,MAAM,CAAC,IAAI;;AAEtC,UAAON,4CAAgB,WAAW,OAAO,GACnCK,0BAAiB,KAAKC,oCAAgB,cAAc,OAAO,KAAK,GAAG,OAAO,CAAC,GAC3ED,0BAAiB,QAAQJ,6CAAgB,YAAY,IAAI,CAAC;IAClE;;;AAGV,SAAS,IAAI,OAAO;AAChB,QAAOO,4BAAiB,IAAIP,6CAAgB,KAAK,CAACO,4BAAiB,MAAM,MAAM,CAAC"}