UNPKG

emvco-qr-sdk

Version:

A robust TypeScript SDK for decoding, validating, and processing EMVCo-compliant QR codes used in digital payment systems.

57 lines (56 loc) 2.53 kB
"use strict"; /** * Central registry of tag mapping strategies used during TLV transformation. * * Each entry in the registry defines how a tag is interpreted for a specific region * (e.g., CO, GLOBAL, DEFAULT). Strategies are pure functions that receive a TLV entity * and return a structured object for output. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.TagMappingRegistryStrategy = void 0; const qr_constant_1 = require("../../constants/qr.constant"); const tag49_acquirer_network_strategy_1 = require("../co/tag49-acquirer-network.strategy"); const tag95_account_strategy_1 = require("../co/tag95-account.strategy"); const tag96_account_strategy_1 = require("../co/tag96-account.strategy"); const tag98_transfer_product_strategy_1 = require("../co/tag98-transfer-product.strategy"); const default_strategy_1 = require("../defaults/default.strategy"); const generic_gui_strategy_1 = require("../shared/generic-gui.strategy"); const gui_and_typed_strategy_1 = require("../shared/gui-and-typed.strategy"); const register_generic_strategy_1 = require("../shared/register-generic-strategy"); const registry = {}; registry['26'] = { CO: gui_and_typed_strategy_1.guiAndTypedStrategy, GLOBAL: default_strategy_1.defaultStrategy, DEFAULT: default_strategy_1.defaultStrategy, }; registry['80'] = { CO: gui_and_typed_strategy_1.guiAndTypedStrategy, GLOBAL: default_strategy_1.defaultStrategy, DEFAULT: default_strategy_1.defaultStrategy, }; registry['49'] = { CO: tag49_acquirer_network_strategy_1.acquirerNetworkStrategy, GLOBAL: default_strategy_1.defaultStrategy, DEFAULT: default_strategy_1.defaultStrategy, }; registry['95'] = { CO: tag95_account_strategy_1.accountFieldStrategy95, GLOBAL: default_strategy_1.defaultStrategy, DEFAULT: default_strategy_1.defaultStrategy, }; registry['96'] = { CO: tag96_account_strategy_1.accountFieldStrategy96, GLOBAL: default_strategy_1.defaultStrategy, DEFAULT: default_strategy_1.defaultStrategy, }; registry['98'] = { CO: tag98_transfer_product_strategy_1.transferProductTypeStrategy, GLOBAL: default_strategy_1.defaultStrategy, DEFAULT: default_strategy_1.defaultStrategy, }; (0, register_generic_strategy_1.registerGenericStrategyForTags)(registry, qr_constant_1.TAGS_WITH_GENERIC_GUI_STRATEGY, generic_gui_strategy_1.genericGuiStrategy); /** * Exports the final registry used by mappers to determine * how to decode TLV tag values. */ exports.TagMappingRegistryStrategy = registry;