{"version":3,"file":"hashMap.cjs","names":["tsplus_module_4","tsplus_module_1","tsplus_module_2","tsplus_module_3","tsplus_module_5","tsplus_module_13","tsplus_module_7","tsplus_module_9","tsplus_module_8","tsplus_module_10","tsplus_module_11","tsplus_module_14"],"sources":["../../../esm/Schema/api/hashMap.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/HashMap/api\";\nimport * as tsplus_module_6 from \"@fncts/base/data/function/api\";\nimport * as tsplus_module_7 from \"@fncts/base/collection/immutable/HashMap/definition\";\nimport * as tsplus_module_8 from \"@fncts/schema/ParseError/ParseError\";\nimport * as tsplus_module_9 from \"@fncts/schema/ParseResult\";\nimport * as tsplus_module_10 from \"@fncts/schema/Parser/api\";\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 hashMap = hashMap_1;\nexport const hashMapFromRecord = hashMapFromRecord_1;\n/**\n * @tsplus static fncts.schema.SchemaOps hashMap\n */\nfunction hashMap_1(key, value) {\n    return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `HashMap<${tsplus_module_2.show()(key)}, ${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(key, value), hashMapParser(true), hashMapParser(false))));\n}\n/**\n * @tsplus static fncts.schema.SchemaOps hashMapFromRecord\n */\nfunction hashMapFromRecord_1(key, value) {\n    return tsplus_module_4.transform(hashMap_1(key, value), (input) => {\n        const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());\n        for (const [k, v] of Object.entries(input)) {\n            tsplus_module_5.set(k, v)(out);\n        }\n        return tsplus_module_5.endMutation(out);\n    }, (input) => {\n        const out = {};\n        tsplus_module_5.forEachWithIndex((k, v) => {\n            out[k] = v;\n        })(input);\n        return out;\n    })(tsplus_module_4.record(key, value));\n}\n/**\n * @tsplus derive fncts.schema.Schema[fncts.HashMap]<_> 10\n */\nexport function deriveHashMap(\n// @ts-expect-error\n...[key, value]) {\n    return hashMapFromRecord_1(key, value);\n}\nfunction hashMapParser(isDecoding) {\n    return (key, value) => {\n        const schema = hashMap_1(key, value);\n        return tsplus_module_13.make((u, options) => {\n            if (!tsplus_module_7.isHashMap(u)) {\n                return tsplus_module_9.fail(tsplus_module_8.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            const keyParser = isDecoding ? tsplus_module_10.decode(key) : tsplus_module_10.encode(key);\n            const valueParser = isDecoding ? tsplus_module_10.decode(value) : tsplus_module_10.encode(value);\n            for (const [k, v] of u) {\n                const tk = keyParser(k, options);\n                void 0;\n                if (tsplus_module_11.isLeft(tk)) {\n                    tsplus_module_12.push(tsplus_module_8.keyError(key.ast, k, tk.left))(errors);\n                    if (!allErrors) {\n                        return tsplus_module_9.fail(tsplus_module_8.iterableError(schema.ast, u, errors));\n                    }\n                }\n                const tv = valueParser(v, options);\n                void 0;\n                if (tsplus_module_11.isLeft(tv)) {\n                    tsplus_module_12.push(tsplus_module_8.keyError(key.ast, k, tv.left))(errors);\n                    if (!allErrors) {\n                        return tsplus_module_9.fail(tsplus_module_8.iterableError(schema.ast, u, errors));\n                    }\n                }\n                if (tsplus_module_11.isLeft(tk) || tsplus_module_11.isLeft(tv)) {\n                    continue;\n                }\n                tsplus_module_5.set(tk.right, tv.right)(out);\n            }\n            return tsplus_module_3.isNonEmpty(errors)\n                ? tsplus_module_9.fail(tsplus_module_8.iterableError(schema.ast, u, errors))\n                : tsplus_module_9.succeed(tsplus_module_5.endMutation(out));\n        });\n    };\n}\nfunction gen(key, value) {\n    return tsplus_module_14.map((pairs) => tsplus_module_5.from(pairs))(tsplus_module_14.array(tsplus_module_14.tuple(key, value)));\n}\n//# sourceMappingURL=hashMap.js.map"],"mappings":"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"}