{"id":19352203,"url":"https://github.com/you21979/node-binaryarray","last_synced_at":"2025-02-24T10:43:00.546Z","repository":{"id":143857500,"uuid":"47011576","full_name":"you21979/node-binaryarray","owner":"you21979","description":null,"archived":false,"fork":false,"pushed_at":"2018-04-25T03:06:58.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-22T17:22:46.322Z","etag":null,"topics":["binaryarray","bitflags","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/you21979.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-28T05:36:07.000Z","updated_at":"2018-04-25T03:06:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"f382ea50-111c-4758-a9f5-b746fe16d3e3","html_url":"https://github.com/you21979/node-binaryarray","commit_stats":{"total_commits":51,"total_committers":1,"mean_commits":51.0,"dds":0.0,"last_synced_commit":"409e3bd1985c8394ab87cea1d89de68d0bdc0835"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/you21979%2Fnode-binaryarray","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/you21979%2Fnode-binaryarray/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/you21979%2Fnode-binaryarray/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/you21979%2Fnode-binaryarray/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/you21979","download_url":"https://codeload.github.com/you21979/node-binaryarray/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240465349,"owners_count":19805852,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binaryarray","bitflags","typescript"],"created_at":"2024-11-10T04:38:30.129Z","updated_at":"2025-02-24T10:43:00.522Z","avatar_url":"https://github.com/you21979.png","language":"TypeScript","readme":"# binaryarray\n\n[![NPM](https://nodei.co/npm/binaryarray.png?downloads=true\u0026downloadRank=true\u0026stars=true)](https://nodei.co/npm/binaryarray)  \n[![Build Status](https://secure.travis-ci.org/you21979/node-binaryarray.png?branch=master)](https://travis-ci.org/you21979/node-binaryarray)\n[![Coverage Status](https://coveralls.io/repos/you21979/node-binaryarray/badge.png)](https://coveralls.io/r/you21979/node-binaryarray)\n\n## install\n\n```\nnpm i binaryarray\n```\n\n## usage\n\n### simple\n\n```\nvar BinaryArray = require('binaryarray');\nvar all_off = BinaryArray.loadFromArray([0,0,0,0,0,0,0,0]);\nvar all_on = BinaryArray.loadFromArray([1,1,1,1,1,1,1,1]);\n```\n\n### application1\n\n* event flag\n\n```\nvar BinaryArray = require('binaryarray');\n\nvar EVENT_CLEAR = {\n    TUTORIAL : 0,\n    QUEST1 : 1,\n    QUEST2 : 2,\n    QUEST3 : 3,\n    QUEST4 : 4,\n    QUEST5 : 5,\n    QUEST6 : 6,\n    LASTBOSS : 7,\n}\nvar EVENT_CLEAR_MAX = Math.max.apply(Math, Object.keys(EVENT_CLEAR).map(function(k){ return EVENT_CLEAR[k] })) + 1;\n\nvar ba = new BinaryArray(EVENT_CLEAR_MAX)\n\nba.bitOn(EVENT_CLEAR.TUTORIAL);\nba.bitOn(EVENT_CLEAR.QUEST1);\nba.bitOn(EVENT_CLEAR.QUEST4);\n\nvar save = ba.toArray();\nvar ba2 = BinaryArray.loadFromArray(save);\nconsole.log(save);\nconsole.log(ba2.toArray());\n\nba2.bitOn(2);\nba2.bitOn(3);\nba2.bitOff(4);\nconsole.log(ba.toHexString())\nconsole.log(ba2.toHexString())\n\n\nif(ba.at(EVENT_CLEAR.QUEST4)) console.log(\"ok\")\nif(!ba2.at(EVENT_CLEAR.QUEST4)) console.log(\"ok\")\n\n```\n\n* typescript\n\n```\nimport BinaryArray = require('binaryarray')\n\nenum EVENT_CLEAR {\n    TUTORIAL,\n    QUEST1,\n    QUEST2,\n    QUEST3,\n    QUEST4,\n    QUEST5,\n    QUEST6,\n    LASTBOSS,\n    _SIZEOF\n}\nconst ba = new BinaryArray(EVENT_CLEAR._SIZEOF)\n\nba.bitOn(EVENT_CLEAR.TUTORIAL);\nba.bitOn(EVENT_CLEAR.QUEST1);\nba.bitOn(EVENT_CLEAR.QUEST4);\n\nconst save = ba.toArray();\nconst ba2 = BinaryArray.loadFromArray(save);\nconsole.log(save);\nconsole.log(ba2.toArray());\n\nba2.bitOn(2);\nba2.bitOn(3);\nba2.bitOff(4);\nconsole.log(ba.toHexString())\nconsole.log(ba2.toHexString())\n\nif(ba.at(EVENT_CLEAR.QUEST4)) console.log(\"ok\")\nif(!ba2.at(EVENT_CLEAR.QUEST4)) console.log(\"ok\")\n```\n\n### application2\n\n* job category\n\n```\n\"use strict\"\nconst BinaryArray = require(\"binaryarray\")\n\nconst JOB = Object.freeze({\n    NONE : 0,\n    FIGHTER : 1,\n    MAGE : 2,\n    PRIEST : 3,\n    MONK : 4,\n    KNIGHT : 5,\n    SUMMONER : 6,\n});\n\nconst JOB_MAX = Math.max.apply(Math, Object.keys(JOB).map(k =\u003e JOB[k] )) + 1;\n\nlet JOB_GROUP = {\n    TANK : BinaryArray.deserialize([\n        'FIGHTER',\n        'MONK',\n        'KNIGHT'\n    ], JOB, JOB_MAX),\n    CASTER : BinaryArray.deserialize([\n        'MAGE',\n        'PRIEST',\n        'SUMMONER'\n    ], JOB, JOB_MAX),\n    HEALER : BinaryArray.deserialize([\n        'PRIEST'\n    ], JOB, JOB_MAX),\n    EXJOB : BinaryArray.deserialize([\n        'SUMMONER',\n        'KNIGHT'\n    ], JOB, JOB_MAX),\n}\n\nlet job_id = JOB.FIGHTER;\nif( JOB_GROUP.TANK.at(job_id) ){\n    console.log(\"tank job\")\n}else{\n    console.log(\"not tank job\")\n}\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyou21979%2Fnode-binaryarray","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyou21979%2Fnode-binaryarray","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyou21979%2Fnode-binaryarray/lists"}