text: /**
   *
   * Copyright (c) 2017 InterDigital, Inc. All Rights Reserved
   *
   * 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.
   */
  require('./sugar.js');
  
  function Calculate() {}
  
  Calculate.prototype = {};
  
  Calculate.prototype.invoke = function(imports, channel, sysImports, contentParts, next) {
    var pod = this.pod;
    try {
      var exports = {},
        d = Date.create(imports.expression);
  
      if (imports.format) {
        exports.date_calculated = pod.format(d, imports.format);
      } else {
        exports.date_calculated = d.getTime();
      }
  
      next(false, exports);
    } catch (e) {
      next(e.message);
    }
  }
  
  // -----------------------------------------------------------------------------
  module.exports = Calculate;