@doodad-js/mime
Version:
doodad-js Mime (beta)
2 lines • 1.26 kB
JavaScript
// Copyright 2015-2018 Claude Petit, licensed under Apache License version 2.0
;exports.add=function add(modules){modules=modules||{};modules['Doodad.Tools.Mime/Resources']={version:'4.1.1b',type:'Package',dependencies:['Doodad.Types','Doodad.Tools','Doodad.Tools.Files','Doodad.Namespaces','Doodad.Tools.Mime'],create:function create(root,_options,_shared){const doodad=root.Doodad,types=doodad.Types,tools=doodad.Tools,files=tools.Files,namespaces=doodad.Namespaces;const mod=namespaces.get('Doodad.Tools.Mime');return function init(options){const prevLoader=mod.getResourcesLoader();const rp=files.parsePath('/',{os:'linux'});mod.setResourcesLoader({load:function load(filename,options){const Promise=types.getPromise();return Promise.try(function tryLoad(){const path=rp.combine(filename);const tmp=path.toArray({trim:true});let result=null;switch(tmp[0]){case'common':switch(tmp[1]){case'res':switch(tmp[2]){case'mimeExtensions.json':result=require('./mimeExtensions.json.res.js');break;default:return prevLoader.load(filename,options)};break;default:return prevLoader.load(filename,options)};break;default:return prevLoader.load(filename,options)}if(path.extension==='json'){result=JSON.parse(result)};return result})},})}},};return modules};