abc-branch
v0.0.4
Published
Branch package for the repo
Readme
ABC Branch Package
Package for handling branch tests in the ABC system, specifically designed for specialized test scenarios like ASVAB branch tests.
📦 Installation
pnpm add abc-branch🚀 Key Features
1. Branch Test Generation
- Generate specialized branch tests for different applications
- Support for ASVAB and other military branch tests
- Configurable test parameters and question distribution
2. Question Management
- Fetch questions for specific topics
- Handle question exclusion and filtering
- Generate random negative IDs for test instances
3. Test Data Processing
- Create new branch test instances
- Process test data with proper structure
- Handle test metadata and configuration
📚 API Reference
Core Functions
generateBranchTest(options)
Generate a complete branch test with questions and configuration.
import { generateBranchTest } from "abc-branch";
const branchTest = await generateBranchTest(
topics: ITopic[],
listQ: IQuestionCore[],
excludedQuestions: number[],
branch: {
id: number;
title: string;
name: string;
},
appShortName: string
);Parameters:
topics- Array of topics for the testlistQ- List of available questionsexcludedQuestions- Questions to exclude from the testbranch- Branch configuration objectappShortName- Short name of the application
Returns:
- Complete branch test object with questions, timing, and configuration
handleGetBranchTest(options)
Handle branch test retrieval and processing.
import { handleGetBranchTest } from "abc-branch";
const result = await handleGetBranchTest({
topics: ITopic[],
questions: IQuestion[],
appShortName: string
});createNewBranchTest(options)
Create a new branch test instance.
import { createNewBranchTest } from "abc-branch";
const newTest = await createNewBranchTest({
topics: ITopic[],
questions: IQuestion[],
appShortName: string
});fetchQuestionsForTopics(options)
Fetch questions for specific topics with advanced filtering.
import { fetchQuestionsForTopics } from "abc-branch";
const questions = await fetchQuestionsForTopics({
selectListTopic: ITopic[],
countQuestionTopic: number,
remainderQuestionTopic: number,
excludeListID: number[],
target: number,
questions: IQuestionCore[]
});Data Export
parsedData
Pre-configured branch test data for development and testing.
import { parsedData } from "abc-branch";
// Use pre-configured test data
const testData = parsedData;🧪 Testing
# Run tests
pnpm test
# Run tests with coverage
pnpm test:coverage
# Run tests once
pnpm test:run🔧 Development
# Build package
pnpm build
# Development mode
pnpm dev
# Clean dist
pnpm clean📦 Dependencies
Production Dependencies
abc-constants- Constants and configurationabc-core- Core utilities and functionsabc-model- Data models and types
Development Dependencies
@types/node- Node.js type definitionsvitest- Testing framework@vitest/coverage-v8- Coverage reportingjsdom- DOM environment for tests
🎯 Use Cases
ASVAB Branch Tests
- Marine ASVAB Practice Test
- Coast Guard ASVAB Test
- Army ASVAB Test
- Navy ASVAB Test
Test Configuration
- 135 total questions per test
- 135 minutes duration
- 70% passing threshold
- Multiple topic coverage
📄 License
MIT
