Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@backpack/luggage

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@backpack/luggage - npm Package Compare versions

Comparing version
1.0.6
to
1.0.7
+3
.babelrc
{
"presets": ["latest"]
}
{"version":3,"sources":["../src/fill-calculator.js"],"names":["module","exports","utils","require","calculateFill","items","total","reduce","acc","item","weight","normalizedWeight","volume","normalizedVolume","price","undefined","Number","filledWeight","Math","round","weightPercent","filledVolume","volumePercent","numItems","length","itemWeight","itemVolume","itemPrice"],"mappings":";;AAAA;;;;AAIAA,OAAOC,OAAP,GAAkB,YAAY;AAC5B,MAAMC,QAAQC,QAAQ,SAAR,CAAd;;AAEA;;;;;;;AAOA,WAASC,aAAT,CAAuBC,KAAvB,EAA8B;AAC5B,QAAMC,QAAQD,MAAME,MAAN,CAAa,UAAUC,GAAV,EAAeC,IAAf,EAAqB;AAC9C,UAAMC,SAASF,IAAIE,MAAJ,GAAaR,MAAMS,gBAAN,CAAuBF,IAAvB,CAA5B;AACA,UAAMG,SAASJ,IAAII,MAAJ,GAAaV,MAAMW,gBAAN,CAAuBJ,IAAvB,CAA5B;AACA,UAAMK,QAAQN,IAAIM,KAAJ,IAAaL,KAAKK,KAAL,KAAeC,SAAf,GAA2B,CAA3B,GAA+BC,OAAOP,KAAKK,KAAZ,CAA5C,CAAd;AACA,aAAO,EAAEJ,cAAF,EAAUE,cAAV,EAAkBE,YAAlB,EAAP;AACD,KALa,EAKX;AACDJ,cAAQ,CADP;AAEDE,cAAQ,CAFP;AAGDE,aAAO;AAHN,KALW,CAAd;;AAWA,QAAMG,eAAeC,KAAKC,KAAL,CAAWjB,MAAMkB,aAAN,CAAoBd,MAAMI,MAA1B,CAAX,CAArB;AACA,QAAMW,eAAeH,KAAKC,KAAL,CAAWjB,MAAMoB,aAAN,CAAoBhB,MAAMM,MAA1B,CAAX,CAArB;;AAEA,WAAO;AACLW,gBAAUlB,MAAMmB,MADX;AAELC,kBAAYnB,MAAMI,MAFb;AAGLgB,kBAAYpB,MAAMM,MAHb;AAILK,gCAJK;AAKLI,gCALK;AAMLM,iBAAWT,KAAKC,KAAL,CAAWb,MAAMQ,KAAjB;AANN,KAAP;AAQD;;AAED,SAAOV,aAAP;AACD,CApCiB,EAAlB","file":"fill-calculator.js","sourcesContent":["/**\n * @author masum\n * @since 8/28/16\n */\nmodule.exports = (function () {\n const utils = require('./utils');\n\n /**\n * Calculate luggage fill information of items.\n *\n * @param items {Array<{length: number, width: number, height: number, weight: number, price: number}>}\n * @returns {{numItems: number,\n * itemWeight: number, itemVolume: number, filledWeight: number, filledVolume: number, itemPrice: number}}\n */\n function calculateFill(items) {\n const total = items.reduce(function (acc, item) {\n const weight = acc.weight + utils.normalizedWeight(item);\n const volume = acc.volume + utils.normalizedVolume(item);\n const price = acc.price + (item.price === undefined ? 0 : Number(item.price));\n return { weight, volume, price };\n }, {\n weight: 0,\n volume: 0,\n price: 0,\n });\n\n const filledWeight = Math.round(utils.weightPercent(total.weight));\n const filledVolume = Math.round(utils.volumePercent(total.volume));\n\n return {\n numItems: items.length,\n itemWeight: total.weight,\n itemVolume: total.volume,\n filledWeight,\n filledVolume,\n itemPrice: Math.round(total.price),\n };\n }\n\n return calculateFill;\n}());\n"]}
{"version":3,"sources":["../src/utils.js"],"names":["module","exports","constants","require","volumePercent","volume","percent","LUGGAGE_VOLUME","Math","round","weightPercent","weight","LUGGAGE_WEIGHT","normalizedVolume","item","length","toNumber","AVG_ITEM_LENGTH","width","AVG_ITEM_WIDTH","height","AVG_ITEM_HEIGHT","normalizedWeight","AVG_ITEM_WEIGHT","val","defaultValue","trim","Number"],"mappings":";;AAAA;;;;;AAKAA,OAAOC,OAAP,GAAkB,YAAY;AAC5B,MAAMC,YAAYC,QAAQ,cAAR,CAAlB;;AAEA;;;;;;AAMA,WAASC,aAAT,CAAuBC,MAAvB,EAA+B;AAC7B,QAAMC,UAAWD,SAAS,GAAV,GAAiBH,UAAUK,cAA3C;AACA,WAAOC,KAAKC,KAAL,CAAWH,UAAU,EAArB,IAA2B,EAAlC;AACD;;AAED;;;;;AAKA,WAASI,aAAT,CAAuBC,MAAvB,EAA+B;AAC7B,QAAML,UAAWK,SAAS,GAAV,GAAiBT,UAAUU,cAA3C;AACA,WAAOJ,KAAKC,KAAL,CAAWH,UAAU,EAArB,IAA2B,EAAlC;AACD;;AAED;;;;;;;AAOA,WAASO,gBAAT,CAA0BC,IAA1B,EAAgC;AAC9B,QAAMC,SAASC,SAASF,KAAKC,MAAd,EAAsBb,UAAUe,eAAhC,CAAf;AACA,QAAMC,QAAQF,SAASF,KAAKI,KAAd,EAAqBhB,UAAUiB,cAA/B,CAAd;AACA,QAAMC,SAASJ,SAASF,KAAKM,MAAd,EAAsBlB,UAAUmB,eAAhC,CAAf;AACA,WAAON,SAASG,KAAT,GAAiBE,MAAxB;AACD;;AAED;;;;;;;AAOA,WAASE,gBAAT,CAA0BR,IAA1B,EAAgC;AAC9B,WAAOE,SAASF,KAAKH,MAAd,EAAsBT,UAAUqB,eAAhC,CAAP;AACD;;AAED;;;;;;;;AAQA,WAASP,QAAT,CAAkBQ,GAAlB,EAAuBC,YAAvB,EAAqC;AACnC,QAAI,OAAOD,GAAP,KAAe,WAAnB,EAAgC;AAC9B,aAAOC,YAAP;AACD;;AAED,QAAID,QAAQ,IAAZ,EAAkB;AAChB,aAAOC,YAAP;AACD;;AAED,QAAI,OAAOD,GAAP,KAAe,QAAnB,EAA6B;AAC3B,UAAIA,IAAIE,IAAJ,OAAe,EAAnB,EAAuB;AACrB,eAAOD,YAAP;AACD;AACF;;AAED,WAAOE,OAAOH,GAAP,CAAP;AACD;;AAED,SAAO;AACLpB,gCADK;AAELM,gCAFK;AAGLG,sCAHK;AAILS,sCAJK;AAKLN;AALK,GAAP;AAOD,CAlFiB,EAAlB","file":"utils.js","sourcesContent":["/**\n * @author masum\n * @since 8/28/16\n */\n\nmodule.exports = (function () {\n const constants = require('../constants');\n\n /**\n * Percentage of given volume to a single luggage volume.\n *\n * @param volume\n * @returns {number}\n */\n function volumePercent(volume) {\n const percent = (volume * 100) / constants.LUGGAGE_VOLUME;\n return Math.round(percent * 10) / 10;\n }\n\n /**\n * Percentage of given weight to a single luggage weight.\n * @param weight\n * @returns {number}\n */\n function weightPercent(weight) {\n const percent = (weight * 100) / constants.LUGGAGE_WEIGHT;\n return Math.round(percent * 10) / 10;\n }\n\n /**\n * Normalized volume of the item. By \"normalized\" we mean if a dimension is not present, we take the average for\n * that dimension.\n *\n * @param item {{length: number, width: number, height: number}}\n * @returns {number}\n */\n function normalizedVolume(item) {\n const length = toNumber(item.length, constants.AVG_ITEM_LENGTH);\n const width = toNumber(item.width, constants.AVG_ITEM_WIDTH);\n const height = toNumber(item.height, constants.AVG_ITEM_HEIGHT);\n return length * width * height;\n }\n\n /**\n * Normalized weight of the item. By \"normalized\" we mean if the weight is not present, we use the empirical\n * average weight.\n *\n * @param item {{weight: number}}\n * @returns {number}\n */\n function normalizedWeight(item) {\n return toNumber(item.weight, constants.AVG_ITEM_WEIGHT);\n }\n\n /**\n * Convert a given value to number. If the value is undefined, null or a blank/empty string,\n * returns the default value.\n *\n * @param val\n * @param defaultValue\n * @returns {*}\n */\n function toNumber(val, defaultValue) {\n if (typeof val === 'undefined') {\n return defaultValue;\n }\n\n if (val === null) {\n return defaultValue;\n }\n\n if (typeof val === 'string') {\n if (val.trim() === '') {\n return defaultValue;\n }\n }\n\n return Number(val);\n }\n\n return {\n volumePercent,\n weightPercent,\n normalizedVolume,\n normalizedWeight,\n toNumber,\n };\n}());\n"]}

Sorry, the diff of this file is too big to display

+24
-21

@@ -0,3 +1,6 @@

'use strict';
/* eslint comma-dangle: 0 */
/**
* Luggage related constants.
* Luggage related constants. This file MUST be in ES2015 only.
*

@@ -7,8 +10,8 @@ * @author masum

*/
const LB_TO_OZ = 16;
var LB_TO_OZ = 16;
const AVG_ITEM_LENGTH = 7;
const AVG_ITEM_WIDTH = 5;
const AVG_ITEM_HEIGHT = 2;
const AVG_ITEM_WEIGHT = 21.5;
var AVG_ITEM_LENGTH = 7;
var AVG_ITEM_WIDTH = 5;
var AVG_ITEM_HEIGHT = 2;
var AVG_ITEM_WEIGHT = 21.5;

@@ -18,7 +21,7 @@ //

//
const LUGGAGE_LENGTH = 24;
const LUGGAGE_WIDTH = 14;
const LUGGAGE_HEIGHT = 10;
var LUGGAGE_LENGTH = 24;
var LUGGAGE_WIDTH = 14;
var LUGGAGE_HEIGHT = 10;
const LUGGAGE_VOLUME = LUGGAGE_LENGTH * LUGGAGE_WIDTH * LUGGAGE_HEIGHT;
var LUGGAGE_VOLUME = LUGGAGE_LENGTH * LUGGAGE_WIDTH * LUGGAGE_HEIGHT;

@@ -28,18 +31,18 @@ //

//
const LUGGAGE_WEIGHT = 45 * LB_TO_OZ; // 45 lb
var LUGGAGE_WEIGHT = 45 * LB_TO_OZ; // 45 lb
module.exports = {
LB_TO_OZ,
LB_TO_OZ: LB_TO_OZ,
AVG_ITEM_LENGTH,
AVG_ITEM_WIDTH,
AVG_ITEM_HEIGHT,
AVG_ITEM_WEIGHT,
AVG_ITEM_LENGTH: AVG_ITEM_LENGTH,
AVG_ITEM_WIDTH: AVG_ITEM_WIDTH,
AVG_ITEM_HEIGHT: AVG_ITEM_HEIGHT,
AVG_ITEM_WEIGHT: AVG_ITEM_WEIGHT,
LUGGAGE_LENGTH,
LUGGAGE_WIDTH,
LUGGAGE_HEIGHT,
LUGGAGE_LENGTH: LUGGAGE_LENGTH,
LUGGAGE_WIDTH: LUGGAGE_WIDTH,
LUGGAGE_HEIGHT: LUGGAGE_HEIGHT,
LUGGAGE_VOLUME,
LUGGAGE_WEIGHT,
LUGGAGE_VOLUME: LUGGAGE_VOLUME,
LUGGAGE_WEIGHT: LUGGAGE_WEIGHT
};

@@ -0,7 +1,12 @@

'use strict';
/* eslint comma-dangle: 0, quotes: 0 */
/**
* Entry point. This file MUST be in ES2015 only.
*
* @author masum
* @since 8/31/16
*/
const utils = require('./lib/utils');
const calculateFill = require('./lib/fill-calculator');
var utils = require('./lib/utils');
var calculateFill = require('./lib/fill-calculator');

@@ -8,0 +13,0 @@ module.exports = {

@@ -0,1 +1,3 @@

'use strict';
/**

@@ -5,4 +7,4 @@ * @author masum

*/
module.exports = (function () {
const utils = require('./utils');
module.exports = function () {
var utils = require('./utils');

@@ -17,15 +19,15 @@ /**

function calculateFill(items) {
const total = items.reduce(function (acc, item) {
const weight = acc.weight + utils.normalizedWeight(item);
const volume = acc.volume + utils.normalizedVolume(item);
const price = acc.price + (item.price === undefined ? 0 : Number(item.price));
return { weight, volume, price };
var total = items.reduce(function (acc, item) {
var weight = acc.weight + utils.normalizedWeight(item);
var volume = acc.volume + utils.normalizedVolume(item);
var price = acc.price + (item.price === undefined ? 0 : Number(item.price));
return { weight: weight, volume: volume, price: price };
}, {
weight: 0,
volume: 0,
price: 0,
price: 0
});
const filledWeight = Math.round(utils.weightPercent(total.weight));
const filledVolume = Math.round(utils.volumePercent(total.volume));
var filledWeight = Math.round(utils.weightPercent(total.weight));
var filledVolume = Math.round(utils.volumePercent(total.volume));

@@ -36,5 +38,5 @@ return {

itemVolume: total.volume,
filledWeight,
filledVolume,
itemPrice: Math.round(total.price),
filledWeight: filledWeight,
filledVolume: filledVolume,
itemPrice: Math.round(total.price)
};

@@ -44,2 +46,3 @@ }

return calculateFill;
}());
}();
//# sourceMappingURL=fill-calculator.js.map

@@ -0,1 +1,3 @@

'use strict';
/**

@@ -6,4 +8,4 @@ * @author masum

module.exports = (function () {
const constants = require('../constants');
module.exports = function () {
var constants = require('../constants');

@@ -17,3 +19,3 @@ /**

function volumePercent(volume) {
const percent = (volume * 100) / constants.LUGGAGE_VOLUME;
var percent = volume * 100 / constants.LUGGAGE_VOLUME;
return Math.round(percent * 10) / 10;

@@ -28,3 +30,3 @@ }

function weightPercent(weight) {
const percent = (weight * 100) / constants.LUGGAGE_WEIGHT;
var percent = weight * 100 / constants.LUGGAGE_WEIGHT;
return Math.round(percent * 10) / 10;

@@ -41,5 +43,5 @@ }

function normalizedVolume(item) {
const length = toNumber(item.length, constants.AVG_ITEM_LENGTH);
const width = toNumber(item.width, constants.AVG_ITEM_WIDTH);
const height = toNumber(item.height, constants.AVG_ITEM_HEIGHT);
var length = toNumber(item.length, constants.AVG_ITEM_LENGTH);
var width = toNumber(item.width, constants.AVG_ITEM_WIDTH);
var height = toNumber(item.height, constants.AVG_ITEM_HEIGHT);
return length * width * height;

@@ -86,8 +88,9 @@ }

return {
volumePercent,
weightPercent,
normalizedVolume,
normalizedWeight,
toNumber,
volumePercent: volumePercent,
weightPercent: weightPercent,
normalizedVolume: normalizedVolume,
normalizedWeight: normalizedWeight,
toNumber: toNumber
};
}());
}();
//# sourceMappingURL=utils.js.map
{
"name": "@backpack/luggage",
"version": "1.0.6",
"version": "1.0.7",
"description": "Backpack luggage related code",
"main": "index.js",
"scripts": {
"pretest": "./node_modules/.bin/eslint index.js constants.js lib test",
"test": "./node_modules/.bin/mocha",
"lint": "./node_modules/.bin/eslint index.js constants.js lib test",
"browserify": "browserify test/api.js test/utils.js -o dist/test.js"
"build": "babel -s -d lib src",
"pretest": "npm run lint",
"test": "mocha",
"lint": "eslint index.js constants.js src test",
"browserify": "browserify test/api.js test/utils.js -o dist/test.js",
"prepublish": "npm run build"
},

@@ -19,10 +21,12 @@ "author": "Masum <just.unix@gmail.com>",

"devDependencies": {
"mocha": "^3.0.2",
"babel-cli": "^6.18.0",
"babel-preset-latest": "^6.16.0",
"chai": "^3.5.0",
"eslint": "^3.4.0",
"eslint-config-standard": "^6.0.0",
"eslint-plugin-import": "^1.14.0",
"eslint-plugin-promise": "^2.0.1",
"eslint-plugin-standard": "^2.0.0",
"eslint-plugin-import": "^1.14.0"
"mocha": "^3.0.2"
}
}

Sorry, the diff of this file is not supported yet