Skip to content

Commit

Permalink
export easy-to-use abbreviations
Browse files Browse the repository at this point in the history
  • Loading branch information
dangowans committed Aug 13, 2024
1 parent 3223f63 commit 614c471
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 7 deletions.
1 change: 1 addition & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
export default function getCanadianBankName(institutionNumber: string | number, transitNumber?: string | number): string | undefined;
export { institutionCommonNames } from './institutions.js';
1 change: 1 addition & 0 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ export default function getCanadianBankName(institutionNumber, transitNumber = '
}
return bankName;
}
export { institutionCommonNames } from './institutions.js';
2 changes: 2 additions & 0 deletions index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,5 @@ export default function getCanadianBankName(

return bankName
}

export { institutionCommonNames } from './institutions.js'
10 changes: 9 additions & 1 deletion institutions.d.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
type InstitutionKey = `${number}-${number}`;
export declare const institutions: Record<InstitutionKey, string>;
export default institutions;
export declare const institutionCommonNames: {
readonly BMO: "001";
readonly ScotiaBank: "002";
readonly RBC: "003";
readonly TD: "004";
readonly CIBC: "010";
readonly HSBC: "016";
};
export {};
9 changes: 8 additions & 1 deletion institutions.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,11 @@ export const institutions = {
'00000-890': 'Caisse Populaire Alliance Limitee',
'00000-899': 'Central 1 Credit Union - Alberta'
};
export default institutions;
export const institutionCommonNames = {
BMO: '001',
ScotiaBank: '002',
RBC: '003',
TD: '004',
CIBC: '010',
HSBC: '016'
};
9 changes: 8 additions & 1 deletion institutions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,11 @@ export const institutions: Record<InstitutionKey, string> = {
'00000-899': 'Central 1 Credit Union - Alberta'
}

export default institutions
export const institutionCommonNames = {
BMO: '001',
ScotiaBank: '002',
RBC: '003',
TD: '004',
CIBC: '010',
HSBC: '016'
} as const
12 changes: 10 additions & 2 deletions test/institutions.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
import assert from 'node:assert';
import { describe, it } from 'node:test';
import { institutions } from '../institutions.js';
import getCanadianBankName from '../index.js';
import { institutionCommonNames, institutions } from '../institutions.js';
await describe('institutions', async () => {
await it('Only includes valid institution codes', () => {
await it('Only includes valid transit-institution codes', () => {
for (const institutionKey of Object.keys(institutions)) {
assert(/^\d{5}-\d{3}$/.test(institutionKey));
}
});
});
await describe('institutionCommonNames', async () => {
await it('Contains valid institution codes', () => {
for (const commonName of Object.keys(institutionCommonNames)) {
assert(getCanadianBankName(institutionCommonNames[commonName]) !== undefined);
}
});
});
14 changes: 12 additions & 2 deletions test/institutions.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
import assert from 'node:assert'
import { describe, it } from 'node:test'

import { institutions } from '../institutions.js'
import getCanadianBankName from '../index.js'
import { institutionCommonNames, institutions } from '../institutions.js'

await describe('institutions', async () => {
await it('Only includes valid institution codes', () => {
await it('Only includes valid transit-institution codes', () => {
for (const institutionKey of Object.keys(institutions)) {
// eslint-disable-next-line security/detect-unsafe-regex
assert(/^\d{5}-\d{3}$/.test(institutionKey))
}
})
})

await describe('institutionCommonNames', async() => {
await it('Contains valid institution codes', () => {
for (const commonName of Object.keys(institutionCommonNames)) {
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, security/detect-object-injection
assert(getCanadianBankName(institutionCommonNames[commonName]) !== undefined)
}
})
})

0 comments on commit 614c471

Please sign in to comment.