{"version":3,"sources":["jsdelivr-header.js","/npm/node-boggle-solver@1.0.4/dist/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,OAAO,eAAe,QAAS,aAAc,CAC3C,OAAO,IAET,QAAQ,QAAU,OAElB,IAAI,gBAAkB,QAAQ,oBAE1B,iBAAmB,uBAAuB,iBAE1C,eAAiB,QAAQ,mBAEzB,gBAAkB,uBAAuB,gBAEzC,QAAU,QAAQ,YAElB,SAAW,uBAAuB,SAElC,OAAS,QAAQ,WAEjB,QAAU,uBAAuB,QAEjC,YAAc,QAAQ,gBAEtB,aAAe,uBAAuB,aAE1C,SAAS,uBAAuB,GAAO,OAAO,GAAO,EAAI,WAAa,EAAM,CAAE,QAAS,EAAO,CAE9F,IAAI,SAAW,SAAS,QAAQ,QAC5B,WAAa,SAAW,SACxB,aAAe,SAAS,QAAQ,WAChC,oBAAqB,EAAI,gBAAgB,WACzC,cAAe,EAAI,iBAAiB,SAAS,oBAEjD,SAAS,SACP,IAAI,EAAS,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,GAEjF,IAAK,MAAM,QAAQ,GACjB,KAAM,+DAGR,IACI,EADW,EAAO,OAAS,GACT,EAAI,iBAAiB,SAAS,GAAU,aAE9D,MAAO,CACL,MAAO,SAAe,EAAQ,GAC5B,IAAI,EAAa,UAAU,OAAS,QAAsB,IAAjB,UAAU,GAAmB,UAAU,GAAK,aAErF,IAAK,GAAgC,mBAAb,EACtB,KAAM,6BAGc,iBAAX,GAAkC,KAAX,GAChC,EAAS,0DAGX,IAAI,EAAU,KAAK,KAAK,GAAU,EAAO,QAAQ,MAAO,IAAM,EAC1D,EAAa,EAAQ,OAErB,EAAa,YACf,EAAS,SAAW,WAAa,oBAGnC,IAAI,EAAa,QAAQ,QAAQ,WAAW,GAY5C,OAVmB,IAAf,GACF,EAAS,+DAGe,iBAAf,GAA2B,EAAa,eACjD,EAAS,0BAA4B,cAKhC,EAAS,MAFH,EAAI,aAAa,SAAS,EAAS,EAAY,EAAM,GAGpE,EAEJ,CACA,OAAO,QAAU,QAAiB","file":"/npm/node-boggle-solver@1.0.4/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/node-boggle-solver@1.0.4/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = solver;\n\nvar _triePrefixTree = require('trie-prefix-tree');\n\nvar _triePrefixTree2 = _interopRequireDefault(_triePrefixTree);\n\nvar _getDictionary = require('./getDictionary');\n\nvar _getDictionary2 = _interopRequireDefault(_getDictionary);\n\nvar _config = require('./config');\n\nvar _config2 = _interopRequireDefault(_config);\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _initSolver = require('./initSolver');\n\nvar _initSolver2 = _interopRequireDefault(_initSolver);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar MIN_SIZE = _config2.default.minSize;\nvar MIN_MATRIX = MIN_SIZE * MIN_SIZE;\nvar MIN_WORD_LEN = _config2.default.minWordLen;\nvar DEFAULT_DICTIONARY = (0, _getDictionary2.default)();\nvar DEFAULT_TRIE = (0, _triePrefixTree2.default)(DEFAULT_DICTIONARY);\n\nfunction solver() {\n  var custom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n  if (!Array.isArray(custom)) {\n    throw 'Custom dictionary should be an array with at least one value';\n  }\n\n  var isCustom = custom.length > 0;\n  var trie = isCustom ? (0, _triePrefixTree2.default)(custom) : DEFAULT_TRIE;\n\n  return {\n    solve: function solve(boggle, callback) {\n      var minWordLen = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : MIN_WORD_LEN;\n\n      if (!callback || typeof callback !== 'function') {\n        throw 'Expected callback function';\n      }\n\n      if (typeof boggle !== 'string' || boggle === '') {\n        callback('Use uppercase, lowercase or space-delimited characters');\n      }\n\n      var letters = /\\s/.test(boggle) ? boggle.replace(/\\s/g, '') : boggle;\n      var numLetters = letters.length;\n\n      if (numLetters < MIN_MATRIX) {\n        callback('Enter ' + MIN_MATRIX + ' letters or more');\n      }\n\n      var boggleSize = _utils2.default.boggleSize(numLetters);\n\n      if (boggleSize === 0) {\n        callback('Enter a valid number of letters, eg. 9 for 3x3, 16 for 4x4');\n      }\n\n      if (typeof minWordLen !== 'number' || minWordLen < MIN_WORD_LEN) {\n        callback('Minimum word length is ' + MIN_WORD_LEN);\n      }\n\n      var result = (0, _initSolver2.default)(letters, boggleSize, trie, minWordLen);\n\n      return callback(null, result);\n    }\n  };\n};\nmodule.exports = exports['default'];"]}