/* * Copyright 2011 eBay Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var loader = require('./loader'); var Taglib = require('./Taglib'); var cache = {}; function load(path) { // Only load a taglib once by caching the loaded taglibs using the file // system path as the key if (cache[path]) { return cache[path]; } var taglib = cache[path] = new Taglib(path); loader.taglibLoader.loadTaglib(path, taglib); cache[path] = taglib; return taglib; } exports.load = load;