{"_id":"@7segment/core","_rev":"1-3f7bb0d6d65735496847077f24f9ade4","name":"@7segment/core","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.0":{"name":"@7segment/core","version":"0.0.0","keywords":[],"author":"","license":"ISC","_id":"@7segment/core@0.0.0","maintainers":[{"name":"sunset-kim","email":"0chickim@gmail.com"}],"dist":{"shasum":"1f6e1d161b5eb07b71f3d03e184d2f2379dff68c","tarball":"https://registry.npmjs.org/@7segment/core/-/core-0.0.0.tgz","fileCount":32,"integrity":"sha512-v2AgU8PFfbeGfZLqhpBkpjgEsIMa1jpI1gdVlQo+XNxbncWkd/vps8fx787Zl01Y0fCJHXFiH9LiJ7rMVMJqmA==","signatures":[{"sig":"MEYCIQDBT7kNtR3hLUq3T6QYLSvoD2iUBGF9dBjJuSuohQn+5AIhAMuoP2Vu/P+iEnjmqKUcdiCk51mQvHCx+cv+ogz+SRVD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":108947},"main":"dist/index.js","type":"module","_from":"file:7segment-core-0.0.0.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","scripts":{"test":"vitest","build":"rollup -c","watch":"rollup -cw","coverage":"vitest run --coverage"},"_npmUser":{"name":"sunset-kim","email":"0chickim@gmail.com"},"_resolved":"/private/var/folders/w1/k43w0qnx7n9g660zj0mg6xn80000gn/T/96360dd0b4add0d647ea904ddf50ec9b/7segment-core-0.0.0.tgz","_integrity":"sha512-v2AgU8PFfbeGfZLqhpBkpjgEsIMa1jpI1gdVlQo+XNxbncWkd/vps8fx787Zl01Y0fCJHXFiH9LiJ7rMVMJqmA==","_npmVersion":"10.7.0","description":"이 패키지는 카운트다운 기능의 핵심 로직을 제공합니다. 시간 계산, 세그먼트 디스플레이 로직, 그리고 유틸리티 함수들을 포함합니다.","directories":{},"_nodeVersion":"20.15.1","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.19.1","vitest":"^2.0.4","esbuild":"^0.23.0","typescript":"^5.5.4","@babel/preset-env":"^7.25.0","rollup-plugin-dts":"^6.1.1","@vitest/coverage-v8":"^2.0.4","rollup-plugin-esbuild":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/core_0.0.0_1722947309814_0.16750680126289597","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@7segment/core","version":"0.0.2","description":"7-segment display library의 core","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","type":"module","keywords":["7-segment","display","lcd","led","seven-segment"],"author":"","license":"ISC","devDependencies":{"@babel/preset-env":"^7.25.0","@vitest/coverage-v8":"^2.0.4","esbuild":"^0.23.0","rollup":"^4.19.1","rollup-plugin-dts":"^6.1.1","rollup-plugin-esbuild":"^6.1.1","typescript":"^5.5.4","vitest":"^2.0.4"},"scripts":{"test":"vitest","coverage":"vitest run --coverage","build":"rollup -c","watch":"rollup -cw"},"_id":"@7segment/core@0.0.2","_integrity":"sha512-IYhHkWi2s76EJtq9HHbT7PvNOwUWICCTFSae8DSxkG7r5YzViCstexVGLpaf3Ysx98alqARipuYB/+RU+MLuvQ==","_resolved":"/private/var/folders/w1/k43w0qnx7n9g660zj0mg6xn80000gn/T/f719d3e413e597510ccec0f4d368fc08/7segment-core-0.0.2.tgz","_from":"file:7segment-core-0.0.2.tgz","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-IYhHkWi2s76EJtq9HHbT7PvNOwUWICCTFSae8DSxkG7r5YzViCstexVGLpaf3Ysx98alqARipuYB/+RU+MLuvQ==","shasum":"4c858cf819c45c08fec28acf28d45e9bbe735a55","tarball":"https://registry.npmjs.org/@7segment/core/-/core-0.0.2.tgz","fileCount":32,"unpackedSize":113430,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcdkMMjGPMhUyem6qOKQJcgrLi8o5qKijlJa/WQoUw/QIgJRIygdCJji3ohe37R0+L9GzzV7Fc06jPz8z6KwLcwDc="}]},"_npmUser":{"name":"sunset-kim","email":"0chickim@gmail.com"},"directories":{},"maintainers":[{"name":"sunset-kim","email":"0chickim@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/core_0.0.2_1723269136582_0.1078949007988641"},"_hasShrinkwrap":false}},"time":{"created":"2024-08-06T12:28:29.733Z","modified":"2024-08-10T05:52:16.926Z","0.0.0":"2024-08-06T12:28:29.977Z","0.0.2":"2024-08-10T05:52:16.741Z"},"license":"ISC","keywords":["7-segment","display","lcd","led","seven-segment"],"description":"7-segment display library의 core","maintainers":[{"name":"sunset-kim","email":"0chickim@gmail.com"}],"readme":"# Countdown Core\n\n이 패키지는 카운트다운 기능의 핵심 로직을 제공합니다. 시간 계산, 세그먼트 디스플레이 로직, 그리고 유틸리티 함수들을 포함합니다.\n\n## 주요 기능\n\n- 남은 시간 계산\n- 시간을 일, 시간, 분, 초로 포맷팅\n- 7세그먼트 디스플레이를 위한 세그먼트 맵핑\n- 세그먼트 표시를 위한 SVG 포인트 생성\n\n## 주요 함수\n\n### calculateTimeLeft\n\n목표 날짜까지 남은 시간을 초 단위로 계산합니다.\n\n```javascript\n/**\n * 목표 날짜까지 남은 시간(초)을 계산합니다.\n *\n * @param {Object} params - 함수 파라미터\n * @param {Date} params.targetDate - 목표 날짜\n * @param {Date} [params.currentDate=new Date()] - 현재 날짜. 기본값은 현재 시간입니다.\n * @returns {number} 목표 날짜까지 남은 시간(초). 음수 값은 0으로 처리됩니다.\n */\nexport const calculateTimeLeft = ({\n  targetDate,\n  currentDate = new Date(),\n}) => {};\n```\n\n### formatTimeLeft\n\n초 단위의 시간을 일, 시간, 분, 초로 포맷팅합니다.\n\n```js\n/**\n * 주어진 시간(초)을 일, 시간, 분, 초 단위로 변환합니다.\n *\n * @param {number} timeLeft - 변환할 시간(초)\n * @returns {Object} 변환된 시간 객체\n * @returns {number} returns.days - 일 수\n * @returns {number} returns.hours - 시간 수\n * @returns {number} returns.minutes - 분 수\n * @returns {number} returns.seconds - 초 수\n */\nexport const formatTimeLeft = (timeLeft) => {};\n```\n\n### getPoints\n\n7세그먼트 디스플레이의 각 세그먼트에 대한 SVG 포인트를 생성합니다.\n\n```js\n/**\n * 주어진 세그먼트 키에 해당하는 SVG 포인트 문자열을 반환합니다.\n * @param segment 세그먼트 키 (A, B, C, D, E, F, G 중 하나)\n * @returns SVG 포인트 문자열\n */\nconst segmentPoints = getPoints(segmentKey);\n```\n\n### 상수\n\n```ts\n/**\n * 7-segment display의 각 세그먼트를 나타내는 키 배열\n */\nexport const SEGMENT_KEY = Object.freeze([\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\"]);\n\n/**\n * 7-segment display에서 각 숫자를 표현하는 세그먼트 조합 맵\n */\nexport const SEGMENT_MAP = Object.freeze({\n  \"0\": [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\"],\n  \"1\": [\"B\", \"C\"],\n  \"2\": [\"A\", \"B\", \"G\", \"E\", \"D\"],\n  \"3\": [\"A\", \"B\", \"G\", \"C\", \"D\"],\n  \"4\": [\"F\", \"G\", \"B\", \"C\"],\n  \"5\": [\"A\", \"F\", \"G\", \"C\", \"D\"],\n  \"6\": [\"A\", \"F\", \"E\", \"D\", \"C\", \"G\"],\n  \"7\": [\"A\", \"B\", \"C\"],\n  \"8\": [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\"],\n  \"9\": [\"A\", \"B\", \"C\", \"D\", \"F\", \"G\"],\n});\n```\n\n### 사용 예시\n\n```js\nimport { calculateTimeLeft, formatTimeLeft, getPoints } from \"countdown-core\";\n\nconst targetDate = new Date(\"2024-12-31T23:59:59\");\nconst timeLeft = calculateTimeLeft({ targetDate });\nconst formattedTime = formatTimeLeft(timeLeft);\n\nconsole.log(formattedTime);\n// 출력: { days: X, hours: Y, minutes: Z, seconds: W }\n\nconst segmentPointsForA = getPoints(\"A\");\n// 'A' 세그먼트에 대한 SVG 포인트 문자열 반환\n```\n\n## 라이선스\n\n이 프로젝트는 MIT 라이선스 하에 제공됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.\n","readmeFilename":"README.md"}