pdetail-diff

0.1.1 • Public • Published

pdetail-diff build status

Concise way to express which card combos found in a set are also set in another

const { createDiff, applyDiff } = require('pdetail-diff')

const diff = createDiff(availableSet, includedSet, blockers)
const res = applyDiff(availableSet, diff, blockers)
// => res now has exact same combos as the original includedSet

Installation

npm install pdetail-diff

API

createDiff

Creates a diff between the detailed combo sets that were available and the ones of those that were included.

It assumes that we can only include available combos and omits any checks to verify in order to not hurt performance.

If all details of a combo that were available were also included it adds the combo specifier, i.e. 'AA' or 'AKs' to the complete set. If some details were missing it instead adds the included combos to the incomplete set, i.e. AsKs, AhKh, AcKc.

Note round tripping createDiff and applyDiff, results in the original included set.

Parameters

  • available Set<string> detail set of combos that were available to be included
  • included Set<string> detail set of the available combos that were included
  • blockers Set<string> cards that may be part of available combos but are blocked for the included set i.e. 'Ah', 'Ks'

Returns Object result { complete, incomplete } complete being a set of combo notations for detail sets that were fully included and incomplete a set of detail notations of combos that were partially included

applyDiff

Applies a diff derived via createDiff to the available set.

Parameters

  • available Set<string> detail set of combos that were available to be included
  • blockers Set<string> cards that weren't available to be included when diff was created, i.e. 'Ah', 'Ks' should be the same as the ones passed to createDiff to arrive at the same included set

Returns Set included combos for which the diff from the available ones was created

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i pdetail-diff

Weekly Downloads

0

Version

0.1.1

License

MIT

Last publish

Collaborators

  • thlorenz