@kensio/smartass 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/assert/instance-of/instance-of.assert.d.ts +5 -0
- package/dist/assert/instance-of/instance-of.assert.d.ts.map +1 -0
- package/dist/assert/instance-of/instance-of.assert.js +11 -0
- package/dist/assert/instance-of/instance-of.assert.js.map +1 -0
- package/dist/assert/throws-error/throws-error.assert.d.ts +7 -0
- package/dist/assert/throws-error/throws-error.assert.d.ts.map +1 -0
- package/dist/assert/throws-error/throws-error.assert.js +21 -0
- package/dist/assert/throws-error/throws-error.assert.js.map +1 -0
- package/dist/assert/throws-error-async/throws-error-async.assert.d.ts +6 -0
- package/dist/assert/throws-error-async/throws-error-async.assert.d.ts.map +1 -0
- package/dist/assert/throws-error-async/throws-error-async.assert.js +20 -0
- package/dist/assert/throws-error-async/throws-error-async.assert.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -51,3 +51,6 @@ npm install @kensio/smartass
|
|
|
51
51
|
- [assertTypeNumeric](src/assert/type-numeric/type-numeric.assert.ts)
|
|
52
52
|
- [assertTypeObject](src/assert/type-object/type-object.assert.ts)
|
|
53
53
|
- [assertTypeString](src/assert/type-string/type-string.assert.ts)
|
|
54
|
+
- [assertInstanceOf](src/assert/instance-of/instance-of.assert.ts)
|
|
55
|
+
- [assertThrowsError](src/assert/throws-error/throws-error.assert.ts)
|
|
56
|
+
- [assertThrowsErrorAsync](src/assert/throws-error-async/throws-error-async.assert.ts)
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assertion function that checks if a value is an instance of a given class, with type-narrowing.
|
|
3
|
+
*/
|
|
4
|
+
export declare function assertInstanceOf<T>(value: unknown, classConstructor: abstract new (...args: never[]) => T, message?: string): asserts value is T;
|
|
5
|
+
//# sourceMappingURL=instance-of.assert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-of.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/instance-of/instance-of.assert.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,KAAK,EAAE,OAAO,EACd,gBAAgB,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EACtD,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,CAAC,CASpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AssertionError } from "../../assertion-error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Assertion function that checks if a value is an instance of a given class, with type-narrowing.
|
|
4
|
+
*/
|
|
5
|
+
export function assertInstanceOf(value, classConstructor, message) {
|
|
6
|
+
if (!(value instanceof classConstructor)) {
|
|
7
|
+
throw new AssertionError(message ??
|
|
8
|
+
`Expected value to be instance of ${classConstructor.name}, but it was not.`, value, `instanceof ${classConstructor.name}`);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=instance-of.assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-of.assert.js","sourceRoot":"","sources":["../../../src/assert/instance-of/instance-of.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAc,EACd,gBAAsD,EACtD,OAAgB;IAEhB,IAAI,CAAC,CAAC,KAAK,YAAY,gBAAgB,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,cAAc,CACtB,OAAO;YACL,oCAAoC,gBAAgB,CAAC,IAAI,mBAAmB,EAC9E,KAAK,EACL,cAAc,gBAAgB,CAAC,IAAI,EAAE,CACtC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assertion function that verifies a given function throws an error.
|
|
3
|
+
* Returns the thrown error for further assertions.
|
|
4
|
+
* Note this function does not apply type-narrowing via an assertion signature.
|
|
5
|
+
*/
|
|
6
|
+
export declare function assertThrowsError(fn: () => unknown, message?: string): Error;
|
|
7
|
+
//# sourceMappingURL=throws-error.assert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throws-error.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/throws-error/throws-error.assert.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAoB5E"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AssertionError } from "../../assertion-error.js";
|
|
2
|
+
import { desc } from "../../describe/describe.js";
|
|
3
|
+
/**
|
|
4
|
+
* Assertion function that verifies a given function throws an error.
|
|
5
|
+
* Returns the thrown error for further assertions.
|
|
6
|
+
* Note this function does not apply type-narrowing via an assertion signature.
|
|
7
|
+
*/
|
|
8
|
+
export function assertThrowsError(fn, message) {
|
|
9
|
+
try {
|
|
10
|
+
fn();
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
if (error instanceof Error) {
|
|
14
|
+
return error;
|
|
15
|
+
}
|
|
16
|
+
throw new AssertionError(message ??
|
|
17
|
+
`Expected ${desc(fn)} to throw Error, but it threw ${desc(error)}.`, error, Error);
|
|
18
|
+
}
|
|
19
|
+
throw new AssertionError(message ?? `Expected ${desc(fn)} to throw, but it did not.`, undefined, Error);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=throws-error.assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throws-error.assert.js","sourceRoot":"","sources":["../../../src/assert/throws-error/throws-error.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAiB,EAAE,OAAgB;IACnE,IAAI,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,cAAc,CACtB,OAAO;YACL,YAAY,IAAI,CAAC,EAAE,CAAC,iCAAiC,IAAI,CAAC,KAAK,CAAC,GAAG,EACrE,KAAK,EACL,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,cAAc,CACtB,OAAO,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC,4BAA4B,EAC3D,SAAS,EACT,KAAK,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assertion function that verifies an async function throws an error.
|
|
3
|
+
* Returns the thrown error for further assertions.
|
|
4
|
+
*/
|
|
5
|
+
export declare function assertThrowsErrorAsync(fn: () => Promise<unknown>, message?: string): Promise<Error>;
|
|
6
|
+
//# sourceMappingURL=throws-error-async.assert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throws-error-async.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/throws-error-async/throws-error-async.assert.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC,CAoBhB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AssertionError } from "../../assertion-error.js";
|
|
2
|
+
import { desc } from "../../describe/describe.js";
|
|
3
|
+
/**
|
|
4
|
+
* Assertion function that verifies an async function throws an error.
|
|
5
|
+
* Returns the thrown error for further assertions.
|
|
6
|
+
*/
|
|
7
|
+
export async function assertThrowsErrorAsync(fn, message) {
|
|
8
|
+
try {
|
|
9
|
+
await fn();
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
if (error instanceof Error) {
|
|
13
|
+
return error;
|
|
14
|
+
}
|
|
15
|
+
throw new AssertionError(message ??
|
|
16
|
+
`Expected ${desc(fn)} to throw Error, but it threw ${desc(error)}.`, error, Error);
|
|
17
|
+
}
|
|
18
|
+
throw new AssertionError(message ?? `Expected ${desc(fn)} to throw, but it did not.`, undefined, Error);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=throws-error-async.assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throws-error-async.assert.js","sourceRoot":"","sources":["../../../src/assert/throws-error-async/throws-error-async.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAA0B,EAC1B,OAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,EAAE,EAAE,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,cAAc,CACtB,OAAO;YACL,YAAY,IAAI,CAAC,EAAE,CAAC,iCAAiC,IAAI,CAAC,KAAK,CAAC,GAAG,EACrE,KAAK,EACL,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,cAAc,CACtB,OAAO,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC,4BAA4B,EAC3D,SAAS,EACT,KAAK,CACN,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export * from "./assert/identical/identical.assert.js";
|
|
2
|
+
export * from "./assert/instance-of/instance-of.assert.js";
|
|
2
3
|
export * from "./assert/non-nullable/non-nullable.assert.js";
|
|
3
4
|
export * from "./assert/not-empty/not-empty.assert.js";
|
|
4
5
|
export * from "./assert/number-between/number-between.assert.js";
|
|
5
6
|
export * from "./assert/number-to-nearest/number-to-nearest.assert.js";
|
|
6
7
|
export * from "./assert/one-of/one-of.assert.js";
|
|
8
|
+
export * from "./assert/throws-error-async/throws-error-async.assert.js";
|
|
9
|
+
export * from "./assert/throws-error/throws-error.assert.js";
|
|
7
10
|
export * from "./assert/type-bigint/type-bigint.assert.js";
|
|
8
11
|
export * from "./assert/type-boolean/type-boolean.assert.js";
|
|
9
12
|
export * from "./assert/type-function/type-function.assert.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AACvD,cAAc,kDAAkD,CAAC;AACjE,cAAc,wDAAwD,CAAC;AACvE,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AACvD,cAAc,kDAAkD,CAAC;AACjE,cAAc,wDAAwD,CAAC;AACvE,cAAc,kCAAkC,CAAC;AACjD,cAAc,0DAA0D,CAAC;AACzE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export * from "./assert/identical/identical.assert.js";
|
|
2
|
+
export * from "./assert/instance-of/instance-of.assert.js";
|
|
2
3
|
export * from "./assert/non-nullable/non-nullable.assert.js";
|
|
3
4
|
export * from "./assert/not-empty/not-empty.assert.js";
|
|
4
5
|
export * from "./assert/number-between/number-between.assert.js";
|
|
5
6
|
export * from "./assert/number-to-nearest/number-to-nearest.assert.js";
|
|
6
7
|
export * from "./assert/one-of/one-of.assert.js";
|
|
8
|
+
export * from "./assert/throws-error-async/throws-error-async.assert.js";
|
|
9
|
+
export * from "./assert/throws-error/throws-error.assert.js";
|
|
7
10
|
export * from "./assert/type-bigint/type-bigint.assert.js";
|
|
8
11
|
export * from "./assert/type-boolean/type-boolean.assert.js";
|
|
9
12
|
export * from "./assert/type-function/type-function.assert.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AACvD,cAAc,kDAAkD,CAAC;AACjE,cAAc,wDAAwD,CAAC;AACvE,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,wCAAwC,CAAC;AACvD,cAAc,kDAAkD,CAAC;AACjE,cAAc,wDAAwD,CAAC;AACvE,cAAc,kCAAkC,CAAC;AACjD,cAAc,0DAA0D,CAAC;AACzE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC"}
|
package/package.json
CHANGED