{"version":3,"sources":["jsdelivr-header.js","/npm/sugar-engine@0.0.2/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACFA,aAEA,MAAM,GAAK,QAAQ,MAGb,IAAM,QAAQ,OACd,IAAM,QAAQ,cAGd,KAAO,QAAQ,QAGf,MAAQ,QAAQ,eAAe,MAErC,QAAQ,IAAM,SAAS,EAAQ,GAE9B,OADe,IAAI,QAAQ,EACpB,CAAS,EACjB,EAEA,QAAQ,IAAM,SAAS,EAAQ,GAE9B,OADe,IAAI,QAAQ,EACpB,CAAS,EACjB,EAEA,QAAQ,OAAS,SAAS,GACzB,OAAO,QAAQ,EAChB,EAEA,QAAQ,SAAW,SAAS,EAAM,GACjC,IAA4B,IAAxB,GAAG,WAAW,GACjB,OAAO,EAGR,IAAI,EAAO,KAAK,GAEhB,GAAI,MAAM,IAAI,GACb,OAAO,MAAM,IAAI,GAGlB,IAAI,EAAW,GAAG,aAAa,EAAM,CACpC,SAAU,SAGX,OAAO,EAAU,MAAM,IAAI,EAAM,GAAU,IAAI,GAAQ,CACxD,EAEA,QAAQ,KAAO,SAAS,EAAM,EAAM,GACnC,IAAI,EAAW,QAAQ,SAAS,EAAM,EAAK,SAG3C,OAFa,QAAQ,OAAO,EAAK,OAE1B,CAAO,EAAU,EACzB","file":"/npm/sugar-engine@0.0.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/sugar-engine@0.0.2/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","/**\n * sugar2.0框架的模板渲染引擎类\n * ss.feng\n */\n'use strict'\n\nconst fs = require('fs');\n\n// 模板引擎\nconst ejs = require('ejs');\nconst hbs = require('handlebars');\n\n// sha1编码\nconst sha1 = require('sha1');\n\n// 缓存\nconst cache = require('sugar-utils').cache;\n\nexports.ejs = function(source, data) {\n\tlet template = ejs.compile(source);\n\treturn template(data);\n};\n\nexports.hbs = function(source, data) {\n\tlet template = hbs.compile(source);\n\treturn template(data);\n};\n\nexports.render = function(engine) {\n\treturn exports[engine];\n};\n\nexports.template = function(file, isCache) {\n\tif (fs.existsSync(file) === false) {\n\t\treturn false;\n\t}\n\n\tlet sign = sha1(file);\n\n\tif (cache.has(sign)) {\n\t\treturn cache.get(sign);\n\t}\n\n\tlet template = fs.readFileSync(file, {\n\t\tencoding: 'utf8',\n\t});\n\n\treturn isCache ? cache.set(sign, template).get(sign) : template;\n};\n\nexports.html = function(file, data, opts) {\n\tlet template = exports.template(file, opts.isCache);\n\tlet render = exports.render(opts.engine);\n\n\treturn render(template, data);\n};\n"]}