Skip to content

Commit c05f1cd

Browse files
authored
Merge branch 'main' into feature/addChecksumParam
2 parents 27f52c6 + c761186 commit c05f1cd

File tree

7 files changed

+241
-100
lines changed

7 files changed

+241
-100
lines changed

.github/dependabot.yml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "npm" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"

.github/workflows/codeql-analysis.yml

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
#
7+
# ******** NOTE ********
8+
# We have attempted to detect the languages in your repository. Please check
9+
# the `language` matrix defined below to confirm you have the correct set of
10+
# supported CodeQL languages.
11+
#
12+
name: "CodeQL"
13+
14+
on:
15+
push:
16+
branches: [ "main" ]
17+
pull_request:
18+
# The branches below must be a subset of the branches above
19+
branches: [ "main" ]
20+
schedule:
21+
- cron: '25 2 * * 5'
22+
23+
jobs:
24+
analyze:
25+
name: Analyze
26+
runs-on: ubuntu-latest
27+
permissions:
28+
actions: read
29+
contents: read
30+
security-events: write
31+
32+
strategy:
33+
fail-fast: false
34+
matrix:
35+
language: [ 'javascript' ]
36+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
38+
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@v3
42+
43+
# Initializes the CodeQL tools for scanning.
44+
- name: Initialize CodeQL
45+
uses: github/codeql-action/init@v2
46+
with:
47+
languages: ${{ matrix.language }}
48+
# If you wish to specify custom queries, you can do so here or in a config file.
49+
# By default, queries listed here will override any specified in a config file.
50+
# Prefix the list here with "+" to use these queries and those in the config file.
51+
52+
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
53+
# queries: security-extended,security-and-quality
54+
55+
56+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
57+
# If this step fails, then you should remove it and run the build manually (see below)
58+
- name: Autobuild
59+
uses: github/codeql-action/autobuild@v2
60+
61+
# ℹ️ Command-line programs to run using the OS shell.
62+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
63+
64+
# If the Autobuild fails above, remove it and uncomment the following three lines.
65+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
66+
67+
# - run: |
68+
# echo "Run, Build Application using script"
69+
# ./location_of_script_within_repo/buildscript.sh
70+
71+
- name: Perform CodeQL Analysis
72+
uses: github/codeql-action/analyze@v2

README.md

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
21
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
3-
4-
2+
![Build Status](https://github.com/frankely/vin-decoder/actions/workflows/node.js.yml/badge.svg)
3+
![NPM Status](https://github.com/frankely/vin-decoder/actions/workflows/npm-publish.yml/badge.svg)
54

65
# Vehicle Identification Number Decoder
76
VIN Decoder
@@ -71,4 +70,4 @@ const serialNumber = decode('1NXBR32E77Z923602').serialNumber // 923602
7170
**Manufacturer**
7271
```javascript
7372
const serialNumber = decode('1NXBR32E77Z923602').manufacturer // NUMMI USA
74-
```
73+
```

index.js

+5-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const validate = (vin, checksumParam) => {
1111
// use 9th character when checksumParam is not set
1212
const checksum = checksumParam || splitVIN[8]
1313

14+
1415
let total = 0;
1516

1617
for (let i = 0; i < splitVIN.length; i++) {
@@ -133,19 +134,21 @@ const validate = (vin, checksumParam) => {
133134
splitVIN.splice(i, 1, numValue * weight);
134135
}
135136

137+
136138
for (const element of splitVIN) {
137139
total += element;
138140
}
139141

140142
const lastFiveChars = splitVIN.splice(0, 12);
141-
142143
for (const element of lastFiveChars) {
144+
143145
if (!Number.isInteger(parseInt(element))) {
144146
return false;
145147
}
146148
}
147-
149+
148150
if ((total % 11 === parseInt(checksum) || total % 11 === 10 && checksum === "x") ) {
151+
149152
return true;
150153
} else {
151154
return false;

0 commit comments

Comments
 (0)