Skip to content

Commit 2f6dfec

Browse files
committed
feat(models): ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
Signed-off-by: Lexus Drumgold <[email protected]>
1 parent 73d9a5c commit 2f6dfec

File tree

3 files changed

+68
-0
lines changed

3 files changed

+68
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* @file Unit Tests - ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
3+
* @module errnode/models/tests/unit/ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
4+
*/
5+
6+
import { ErrorCode } from '#src/enums'
7+
import type { NodeError } from '#src/types'
8+
import TestSubject from '../err-import-assertion-type-unsupported'
9+
10+
describe('unit:models/ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED', () => {
11+
let result: NodeError<TypeError>
12+
let type: string
13+
14+
beforeEach(() => {
15+
type = 'json'
16+
result = new TestSubject(type)
17+
})
18+
19+
it('should return TypeError instance', () => {
20+
expect(result).to.have.property('name').equal('TypeError')
21+
expect(result).to.be.instanceof(TypeError)
22+
})
23+
24+
it('should set error code', () => {
25+
expect(result)
26+
.to.have.property('code')
27+
.equal(ErrorCode.ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED)
28+
})
29+
30+
it('should set error message', () => {
31+
expect(result)
32+
.to.have.property('message')
33+
.equal(`Import assertion type '${type}' is unsupported`)
34+
})
35+
})
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* @file Error Models - ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
3+
* @module errnode/models/ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED
4+
* @see https://github.com/nodejs/node/blob/v19.3.0/lib/internal/errors.js#L1168-L1169
5+
*/
6+
7+
import { ErrorCode } from '#src/enums'
8+
import type { NodeError, NodeErrorConstructor } from '#src/types'
9+
import { createNodeError } from '#src/utils'
10+
11+
/**
12+
* `ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED` model.
13+
*
14+
* Thrown when an import assertion is not supported by a version of Node.js.
15+
*
16+
* @see https://nodejs.org/api/errors.html#err_import_assertion_type_unsupported
17+
*
18+
* @class
19+
*
20+
* @param {string} type - Unsupported import assertion type
21+
* @return {NodeError<TypeError>} `TypeError` instance
22+
*/
23+
const ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED: NodeErrorConstructor<
24+
TypeErrorConstructor,
25+
[string]
26+
> = createNodeError(
27+
ErrorCode.ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED,
28+
TypeError,
29+
"Import assertion type '%s' is unsupported"
30+
)
31+
32+
export default ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED

src/models/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ export { default as ERR_ASYNC_CALLBACK } from './err-async-callback'
1010
export { default as ERR_ILLEGAL_CONSTRUCTOR } from './err-illegal-constructor'
1111
export { default as ERR_IMPORT_ASSERTION_TYPE_FAILED } from './err-import-assertion-type-failed'
1212
export { default as ERR_IMPORT_ASSERTION_TYPE_MISSING } from './err-import-assertion-type-missing'
13+
export { default as ERR_IMPORT_ASSERTION_TYPE_UNSUPPORTED } from './err-import-assertion-type-unsupported'

0 commit comments

Comments
 (0)