New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

binaryarray

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

binaryarray - npm Package Compare versions

Comparing version
0.0.5
to
0.0.6
+8
.travis.yml
language: node_js
node_js:
- "4.1"
- "0.12"
- "0.10"
script: npm test --coverage
after_success:
- npm run coveralls
"use strict"
const BinaryArray = require('..')
const JOB = Object.freeze({
NONE : 0,
FIGHTER : 1,
MAGE : 2,
PRIEST : 3,
MONK : 4,
KNIGHT : 5,
SUMMONER : 6,
});
const JOB_MAX = Object.keys(JOB).reduce((r, k) => Math.max(r, JOB[k]), 0) + 1;
let ba = new BinaryArray(JOB_MAX);
ba.bitOn(JOB.FIGHTER);
ba.bitOn(JOB.PRIEST);
if(ba.check([JOB.FIGHTER, JOB.PRIEST], [JOB.KNIGHT])){
ba.bitOn(JOB.KNIGHT);
console.log("EXJOB GET")
}
let save = ba.serialize(JOB);
console.log(save);
let ba2 = BinaryArray.deserialize(save, JOB, JOB_MAX);
if(ba2.check([JOB.FIGHTER, JOB.PRIEST], [JOB.KNIGHT])){
ba2.bitOn(JOB.KNIGHT);
console.log("EXJOB GET")
}
console.log(ba2.serialize(JOB));
var assert = require('power-assert');
var BinaryArray = require('../');
describe('test', function() {
describe('array length test', function() {
[
function(){
var ba = new BinaryArray(0);
assert(ba.maxnum === 0);
assert(ba.storage.length === 0);
},
function(){
var ba = new BinaryArray(1);
assert(ba.maxnum === 1);
assert(ba.storage.length === 1);
},
function(){
var ba = new BinaryArray(32);
assert(ba.maxnum === 32);
assert(ba.storage.length === 1);
},
function(){
var ba = new BinaryArray(33);
assert(ba.maxnum === 33);
assert(ba.storage.length === 2);
},
function(){
var ba = new BinaryArray(64);
assert(ba.maxnum === 64);
assert(ba.storage.length === 2);
},
function(){
var ba = new BinaryArray(65);
assert(ba.maxnum === 65);
assert(ba.storage.length === 3);
}].forEach(function(f){f()})
});
describe('binary on test', function() {
[
function(){
var ba = new BinaryArray(32);
assert(ba.storage[0] === 0x00000000);
},
function(){
var ba = new BinaryArray(32);
ba.bitOn(0);
assert(ba.storage[0] === 0x00000001);
assert(ba.at(0) === 1);
},
function(){
var ba = new BinaryArray(32);
ba.bitOn(0);
ba.bitOn(1);
assert(ba.storage[0] === 0x00000003);
assert(ba.at(0) === 1);
assert(ba.at(1) === 1);
},
function(){
var ba = new BinaryArray(32);
ba.bitOn(0);
ba.bitOn(1);
ba.bitOn(2);
assert(ba.storage[0] === 0x00000007);
assert(ba.at(0) === 1);
assert(ba.at(1) === 1);
assert(ba.at(2) === 1);
},
function(){
var ba = new BinaryArray(32);
ba.bitOn(31);
assert(ba.storage[0] === 0x80000000);
assert(ba.at(31) === 1);
},
function(){
var ba = new BinaryArray(33);
ba.bitOn(32);
assert(ba.storage[0] === 0x00000000);
assert(ba.storage[1] === 0x00000001);
assert(ba.at(31) === 0);
assert(ba.at(32) === 1);
},
function(){
var ba = new BinaryArray(32);
ba.bitOn(0);
assert(ba.storage[0] === 0x00000001);
ba.bitOn(0);
assert(ba.storage[0] === 0x00000001);
}].forEach(function(f){f()})
});
describe('binary off test', function() {
[
function(){
var ba = new BinaryArray(32);
ba.storage[0] = 0xffffffff;
ba.bitOff(0);
assert(ba.storage[0] === 0xfffffffe);
assert(ba.at(0) === 0);
assert(ba.at(1) === 1);
},
function(){
var ba = new BinaryArray(32);
ba.storage[0] = 0xffffffff;
ba.bitOff(31);
assert(ba.storage[0] === 0x7fffffff);
assert(ba.at(0) === 1);
assert(ba.at(30) === 1);
assert(ba.at(31) === 0);
},
function(){
var ba = new BinaryArray(64);
ba.storage[0] = 0xffffffff;
ba.storage[1] = 0xffffffff;
ba.bitOff(32);
assert(ba.storage[0] === 0xffffffff);
assert(ba.storage[1] === 0xfffffffe);
assert(ba.at(31) === 1);
assert(ba.at(32) === 0);
assert(ba.at(33) === 1);
},
function(){
var ba = new BinaryArray(32);
ba.storage[0] = 0xfffffffe;
ba.bitOff(0);
assert(ba.storage[0] === 0xfffffffe);
ba.bitOff(0);
assert(ba.storage[0] === 0xfffffffe);
}].forEach(function(f){f()})
});
describe('if array test', function() {
[
function(){
var input = [1,1,1,1,1,1,1,1];
var ba = BinaryArray.loadFromArray(input);
assert(ba.maxnum === 8);
assert(ba.storage[0] === 0x000000ff);
var output = ba.toArray();
assert(JSON.stringify(input) === JSON.stringify(output));
},
function(){
var input = [
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1
];
var ba = BinaryArray.loadFromArray(input);
assert(ba.maxnum === input.length);
assert(ba.storage[0] === 0xffffffff);
assert(ba.storage[1] === 0x000000ff);
var output = ba.toArray();
assert(JSON.stringify(input) === JSON.stringify(output));
}].forEach(function(f){f()})
});
describe('if serialize test', function() {
[
function(){
var SPEC = {};
for(var i = 0; i<33; i++){ SPEC['TEST_'+(i+1)] = i }
var input = ['TEST_1','TEST_2','TEST_33'];
var ba = BinaryArray.deserialize(input, SPEC, i);
assert(ba.maxnum === i);
assert(ba.storage[0] === 0x00000003);
assert(ba.storage[1] === 0x00000001);
var output = ba.serialize(SPEC);
assert(JSON.stringify(input) === JSON.stringify(output));
}].forEach(function(f){f()})
});
describe('if other test', function() {
[
function(){
var input = [
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1
];
var ba = BinaryArray.loadFromArray(input);
assert(ba.toHexString() === 'FFFFFFFF');
},
function(){
var input = [
1,0,0,0,0,0,0,0,
0,1,0,0,0,0,0,0,
0,0,1,0,0,0,0,0,
0,0,0,1,0,0,0,0,
0,0,0,0,1,0,0,0,
0,0,0,0,0,1,0,0,
0,0,0,0,0,0,1,0,
0,0,0,0,0,0
];
var ba = BinaryArray.loadFromArray(input);
assert(ba.toHexString() === '0040201008040201');
},
function(){
var ba = BinaryArray.loadFromHexString(32, 'FFFFFFFF');
assert(ba.toHexString() === 'FFFFFFFF');
},
function(){
var input = [1,0,1,0,1,0,1];
var ba = BinaryArray.loadFromArray(input);
var json = ba.toJSON()
assert(json === JSON.stringify(input));
}].forEach(function(f){f()})
});
describe('other test', function() {
[
function(){
var ba = new BinaryArray(1024);
[0,1,2,3,4,5,10].forEach(function(v){ ba.bitOn(v) });
assert(ba.check([0,1,2,3,4,5]))
assert(!ba.check([0,1,2,3,4,5], [10]))
assert(ba.check([0,1,2,3,4,5],[7,8,9]))
},
function(){
var ba = new BinaryArray(1024);
ba.bitOn(3);
var obj = ba.rangeOf([0,1,2,3,4,5]);
assert(!obj[0]);
assert(obj[3]);
},
function(){
var ba = new BinaryArray(1024);
ba.bitOn(3);
var obj = ba.rangeOf(3);
assert(obj[3]);
},
function(){
var ba = new BinaryArray(1024);
ba.bitOn(3);
try{
var obj = ba.rangeOf("AAA");
}catch(e){
}
},
function(){
var ba = new BinaryArray(1024);
assert(ba.isRange(1023));
assert(!ba.isRange(1024));
assert(!ba.isRange(-1));
}].forEach(function(f){f()})
});
});
+2
-2

@@ -33,3 +33,3 @@ var BinaryArray = require('..');

if(ba.indexOf(EVENT_CLEAR.QUEST4)) console.log("ok")
if(!ba2.indexOf(EVENT_CLEAR.QUEST4)) console.log("ok")
if(ba.at(EVENT_CLEAR.QUEST4)) console.log("ok")
if(!ba2.at(EVENT_CLEAR.QUEST4)) console.log("ok")

@@ -37,3 +37,3 @@ "use strict"

let job_id = JOB.FIGHTER;
if( JOB_GROUP.TANK.indexOf(job_id) ){
if( JOB_GROUP.TANK.at(job_id) ){
console.log("tank job")

@@ -40,0 +40,0 @@ }else{

@@ -13,3 +13,3 @@ "use strict";

for(var i = 0; i < max; ++i ){
w.push(this.indexOf(i));
w.push(this.at(i));
}

@@ -38,3 +38,3 @@ return w;

}
BinaryArray.prototype.indexOf = function(no){
BinaryArray.prototype.at = function(no){
assert(this.maxnum > no, 'get:over flagmax');

@@ -53,3 +53,3 @@ var idx = util.getArrayIndex(no);

return xs.reduce(function(r, v){
r[v] = self.indexOf(v)
r[v] = self.at(v)
return r;

@@ -56,0 +56,0 @@ }, {})

{
"name": "binaryarray",
"version": "0.0.5",
"version": "0.0.6",
"description": "the binary array",

@@ -18,2 +18,12 @@ "main": "index.js",

],
"devDependencies": {
"istanbul":"",
"coveralls":"",
"power-assert":"",
"mocha":""
},
"scripts": {
"test": "./node_modules/.bin/istanbul cover ./node_modules/mocha/bin/_mocha",
"coveralls": "cat ./coverage/lcov.info | ./node_modules/.bin/coveralls"
},
"author": "Yuki Akiyama",

@@ -20,0 +30,0 @@ "license": "MIT",

# binaryarray
[![NPM](https://nodei.co/npm/binaryarray.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/binaryarray)
[![Build Status](https://secure.travis-ci.org/you21979/node-binaryarray.png?branch=master)](https://travis-ci.org/you21979/node-binaryarray)
[![Coverage Status](https://coveralls.io/repos/you21979/node-binaryarray/badge.png)](https://coveralls.io/r/you21979/node-binaryarray)
## install

@@ -56,4 +60,4 @@

if(ba.indexOf(EVENT_CLEAR.QUEST4)) console.log("ok")
if(!ba2.indexOf(EVENT_CLEAR.QUEST4)) console.log("ok")
if(ba.at(EVENT_CLEAR.QUEST4)) console.log("ok")
if(!ba2.at(EVENT_CLEAR.QUEST4)) console.log("ok")

@@ -103,3 +107,3 @@ ```

let job_id = JOB.FIGHTER;
if( JOB_GROUP.TANK.indexOf(job_id) ){
if( JOB_GROUP.TANK.at(job_id) ){
console.log("tank job")

@@ -106,0 +110,0 @@ }else{