Repository navigation
Description
Student: Anjali Dewangan
Task: R51-T047 · 7 of 10
Repository: https://github.com/S-AI-Projects/javascript-algorithms
Assigned working branch: student/e26b07f0661
Goal
Work on src/data-structures/bloom-filter/BloomFilter.js. Add an executable worked example explaining bloom filter from input through intermediate state to the final result. Use the smallest valid input and one ordinary input for bloom filter from src/data-structures/bloom-filter/BloomFilter.js. Write the literal inputs and independently calculated expected outputs in the tests before editing the implementation. The check must name the source line establishing each precondition. Fixture: Use the smallest valid input and one ordinary input for bloom filter from src/data-structures/bloom-filter/BloomFilter.js. Write the literal inputs and independently calculated expected outputs in the tests before editing the implementation. The check must name the source line establishing each precondition.
Steps
- Read src/data-structures/bloom-filter/BloomFilter.js, especially
bloom filternear line 1. Record its public inputs, result, mutation behavior and any external dependencies before changing it. - Calculate the intermediate states by hand and compare them with one traced execution.
- Use the language’s existing documentation conventions; ensure examples use the real public names and valid imports.
- Implement work/R51-T047/check.py as a focused runner that executes the new checks and propagates failures. Native check to incorporate: run the repository test script in non-watch mode after installing from its lockfile; for browser-only code use a browser test instead of plain Node. Record the actual command and nonzero test count.
- Create the checks specified below and run
python3 work/R51-T047/check.py. Save inputs, expected versus actual results and tool versions in work/R51-T047/; a check must exit non-zero when an assertion fails. - Commit the repository change on branch R51-T047; prepare a PR to the organisation fork explaining the result and linking the checks. Keep each task independently reviewable. Remove work/R51-T047/ from a later upstream branch.
Done when
☐ The checked behavior is tied to bloom filter in src/data-structures/bloom-filter/BloomFilter.js; every assertion has an explicit expected value.
☐ Use the smallest valid input and one ordinary input for bloom filter from src/data-structures/bloom-filter/BloomFilter.js. Write the literal inputs and independently calculated expected outputs in the tests before editing the implementation. The check must name the source line establishing each precondition.
☐ Existing supported behavior and the public interface are preserved unless a failing regression demonstrates and documents a defect.
☐ The documentation example is executed by a check and its displayed output is asserted.
☐ The explanation identifies the decisive state transition rather than paraphrasing every line.
Additional task guidance
Additional curated task guidance
Item:
src/data-structures/bloom-filter
Task type:
Executable documentation
Code change (goes into the PR):
src/data-structures/bloom-filter/BloomFilter.js: improve the existing docstring/JSDoc/Doxygen or neighboring README with a concrete example and expected output; add a test that executes that example.
Automated check:
python3 work/R51-T047/check.py
Prerequisites:
Node matching project CI, the project lockfile dependencies, and Python 3.
Upstream PR rules:
Keep the contribution scoped to the named item and follow the linked contribution instructions and repository CI. Submit coursework to the organisation fork first; keep work/ evidence out of any later upstream PR. Upstream acceptance is not a grading requirement. Policy: https://github.com/trekhleb/javascript-algorithms/blob/85293e3e2b88f4d2ce330d956b139cf628aa1e82/CONTRIBUTING.md
Source (pinned):
https://github.com/trekhleb/javascript-algorithms/blob/85293e3e2b88f4d2ce330d956b139cf628aa1e82/src/data-structures/bloom-filter/BloomFilter.js#L1
Change:
Replaces the shared task template with an item-specific contribution brief.
PR destination:
Upstream candidate after review
Submission checklist
- Complete this task and its checks.
- Add the required evidence and link your pull request here.
- Select this S-AI-Projects fork as the PR base repository.
- Request instructor review.
Keep this PR focused on this task. Do not submit assignment PRs to the upstream repository.
Activity