@kensio/smartass 0.1.5 → 0.1.8
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 +5 -0
- package/dist/assert/array-includes/array-includes.assert.d.ts +10 -0
- package/dist/assert/array-includes/array-includes.assert.d.ts.map +1 -0
- package/dist/assert/array-includes/array-includes.assert.js +15 -0
- package/dist/assert/array-includes/array-includes.assert.js.map +1 -0
- package/dist/assert/array-includes-all/array-includes-all.assert.d.ts +9 -0
- package/dist/assert/array-includes-all/array-includes-all.assert.d.ts.map +1 -0
- package/dist/assert/array-includes-all/array-includes-all.assert.js +15 -0
- package/dist/assert/array-includes-all/array-includes-all.assert.js.map +1 -0
- package/dist/assert/string-ends-with/string-ends-with.assert.d.ts +5 -0
- package/dist/assert/string-ends-with/string-ends-with.assert.d.ts.map +1 -0
- package/dist/assert/string-ends-with/string-ends-with.assert.js +12 -0
- package/dist/assert/string-ends-with/string-ends-with.assert.js.map +1 -0
- package/dist/assert/string-includes/string-includes.assert.d.ts +5 -0
- package/dist/assert/string-includes/string-includes.assert.d.ts.map +1 -0
- package/dist/assert/string-includes/string-includes.assert.js +12 -0
- package/dist/assert/string-includes/string-includes.assert.js.map +1 -0
- package/dist/assert/string-starts-with/string-starts-with.assert.d.ts +5 -0
- package/dist/assert/string-starts-with/string-starts-with.assert.d.ts.map +1 -0
- package/dist/assert/string-starts-with/string-starts-with.assert.js +12 -0
- package/dist/assert/string-starts-with/string-starts-with.assert.js.map +1 -0
- package/dist/assert/uuid/uuid-v4.assert.d.ts +8 -0
- package/dist/assert/uuid/uuid-v4.assert.d.ts.map +1 -0
- package/dist/assert/uuid/uuid-v4.assert.js +12 -0
- package/dist/assert/uuid/uuid-v4.assert.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/package.json +11 -11
- package/dist/assert/not-empty/not-empty.assert.d.ts +0 -5
- package/dist/assert/not-empty/not-empty.assert.d.ts.map +0 -1
- package/dist/assert/not-empty/not-empty.assert.js +0 -12
- package/dist/assert/not-empty/not-empty.assert.js.map +0 -1
package/README.md
CHANGED
|
@@ -38,6 +38,8 @@ npm install @kensio/smartass
|
|
|
38
38
|
|
|
39
39
|
## Assertion functions
|
|
40
40
|
|
|
41
|
+
- [assertArrayIncludes](src/assert/array-includes/array-includes.assert.ts)
|
|
42
|
+
- [assertArrayIncludesAll](src/assert/array-includes-all/array-includes-all.assert.ts)
|
|
41
43
|
- [assertArrayLength](src/assert/array-length/array-length.assert.ts)
|
|
42
44
|
- [assertArrayMinLength](src/assert/array-min-length/array-min-length.assert.ts)
|
|
43
45
|
- [assertArrayNotEmpty](src/assert/array-not-empty/array-not-empty.assert.ts)
|
|
@@ -49,6 +51,9 @@ npm install @kensio/smartass
|
|
|
49
51
|
- [assertNumberBetween](src/assert/number-between/number-between.assert.ts)
|
|
50
52
|
- [assertNumberToNearest](src/assert/number-to-nearest/number-to-nearest.assert.ts)
|
|
51
53
|
- [assertOneOf](src/assert/one-of/one-of.assert.ts)
|
|
54
|
+
- [assertStringIncludes](src/assert/string-includes/string-includes.assert.ts)
|
|
55
|
+
- [assertStringEndsWith](src/assert/string-ends-with/string-ends-with.assert.ts)
|
|
56
|
+
- [assertStringStartsWith](src/assert/string-starts-with/string-starts-with.assert.ts)
|
|
52
57
|
- [assertThrowsError](src/assert/throws-error/throws-error.assert.ts)
|
|
53
58
|
- [assertThrowsErrorAsync](src/assert/throws-error-async/throws-error-async.assert.ts)
|
|
54
59
|
- [assertTrue](src/assert/true/true.assert.ts)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assert that an array includes a specific element, with type narrowing.
|
|
3
|
+
* Note that this is an identity match, so objects in an array only fulfill the
|
|
4
|
+
* assertion by being a reference to the same object, rather than equivalent in
|
|
5
|
+
* value to another object reference.
|
|
6
|
+
*/
|
|
7
|
+
export declare function assertArrayIncludes<T, const E extends T>(value: readonly T[], element: E, message?: string): asserts value is readonly [T, ...T[]] & {
|
|
8
|
+
includes(searchElement: E): true;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=array-includes.assert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-includes.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/array-includes/array-includes.assert.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,EACtD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG;IACzC,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC;CAClC,CASA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AssertionError } from "../../assertion-error.js";
|
|
2
|
+
import { desc } from "../../describe/describe.js";
|
|
3
|
+
/**
|
|
4
|
+
* Assert that an array includes a specific element, with type narrowing.
|
|
5
|
+
* Note that this is an identity match, so objects in an array only fulfill the
|
|
6
|
+
* assertion by being a reference to the same object, rather than equivalent in
|
|
7
|
+
* value to another object reference.
|
|
8
|
+
*/
|
|
9
|
+
export function assertArrayIncludes(value, element, message) {
|
|
10
|
+
if (!value.includes(element)) {
|
|
11
|
+
throw new AssertionError(message ??
|
|
12
|
+
`Expected ${desc(value)} to include ${desc(element)}, but it did not.`, value, [element]);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=array-includes.assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-includes.assert.js","sourceRoot":"","sources":["../../../src/assert/array-includes/array-includes.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAmB,EACnB,OAAU,EACV,OAAgB;IAIhB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,cAAc,CACtB,OAAO;YACL,YAAY,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,mBAAmB,EACxE,KAAK,EACL,CAAC,OAAO,CAAC,CACV,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assert that an array includes all specified elements, with type narrowing.
|
|
3
|
+
* Elements can appear in any order and do not need to be contiguous.
|
|
4
|
+
* Each required element must be present at least once.
|
|
5
|
+
*/
|
|
6
|
+
export declare function assertArrayIncludesAll<T, const E extends readonly T[]>(value: readonly T[], elements: E, message?: string): asserts value is readonly [T, ...T[]] & {
|
|
7
|
+
includes(searchElement: E[number]): true;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=array-includes-all.assert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-includes-all.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/array-includes-all/array-includes-all.assert.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,EACpE,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,QAAQ,EAAE,CAAC,EACX,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG;IACzC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAC1C,CAWA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AssertionError } from "../../assertion-error.js";
|
|
2
|
+
import { desc, repr } from "../../describe/describe.js";
|
|
3
|
+
/**
|
|
4
|
+
* Assert that an array includes all specified elements, with type narrowing.
|
|
5
|
+
* Elements can appear in any order and do not need to be contiguous.
|
|
6
|
+
* Each required element must be present at least once.
|
|
7
|
+
*/
|
|
8
|
+
export function assertArrayIncludesAll(value, elements, message) {
|
|
9
|
+
const missing = elements.filter((element) => !value.includes(element));
|
|
10
|
+
if (missing.length > 0) {
|
|
11
|
+
throw new AssertionError(message ??
|
|
12
|
+
`Expected ${desc(value)} to include all of ${repr(elements)}, but missing ${repr(missing)}.`, value, elements);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=array-includes-all.assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-includes-all.assert.js","sourceRoot":"","sources":["../../../src/assert/array-includes-all/array-includes-all.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmB,EACnB,QAAW,EACX,OAAgB;IAIhB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,cAAc,CACtB,OAAO;YACL,YAAY,IAAI,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,GAAG,EAC9F,KAAK,EACL,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assert that a string ends with a given suffix, with type narrowing.
|
|
3
|
+
*/
|
|
4
|
+
export declare function assertStringEndsWith<const T extends string>(value: string, suffix: T, message?: string): asserts value is `${string}${T}`;
|
|
5
|
+
//# sourceMappingURL=string-ends-with.assert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-ends-with.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/string-ends-with/string-ends-with.assert.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACzD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,CASlC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AssertionError } from "../../assertion-error.js";
|
|
2
|
+
import { desc, repr } from "../../describe/describe.js";
|
|
3
|
+
/**
|
|
4
|
+
* Assert that a string ends with a given suffix, with type narrowing.
|
|
5
|
+
*/
|
|
6
|
+
export function assertStringEndsWith(value, suffix, message) {
|
|
7
|
+
if (!value.endsWith(suffix)) {
|
|
8
|
+
throw new AssertionError(message ??
|
|
9
|
+
`Expected ${desc(value)} to end with ${repr(suffix)}, but it did not.`, value, `string ending with ${repr(suffix)}`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=string-ends-with.assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-ends-with.assert.js","sourceRoot":"","sources":["../../../src/assert/string-ends-with/string-ends-with.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAExD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,MAAS,EACT,OAAgB;IAEhB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,cAAc,CACtB,OAAO;YACL,YAAY,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EACxE,KAAK,EACL,sBAAsB,IAAI,CAAC,MAAM,CAAC,EAAE,CACrC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assert that a string includes a given substring, with type narrowing.
|
|
3
|
+
*/
|
|
4
|
+
export declare function assertStringIncludes<const T extends string>(value: string, substring: T, message?: string): asserts value is `${string}${T}${string}`;
|
|
5
|
+
//# sourceMappingURL=string-includes.assert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-includes.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/string-includes/string-includes.assert.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACzD,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,CAS3C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AssertionError } from "../../assertion-error.js";
|
|
2
|
+
import { desc, repr } from "../../describe/describe.js";
|
|
3
|
+
/**
|
|
4
|
+
* Assert that a string includes a given substring, with type narrowing.
|
|
5
|
+
*/
|
|
6
|
+
export function assertStringIncludes(value, substring, message) {
|
|
7
|
+
if (!value.includes(substring)) {
|
|
8
|
+
throw new AssertionError(message ??
|
|
9
|
+
`Expected ${desc(value)} to include ${repr(substring)}, but it did not.`, value, `... ${substring} ...`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=string-includes.assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-includes.assert.js","sourceRoot":"","sources":["../../../src/assert/string-includes/string-includes.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAExD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,SAAY,EACZ,OAAgB;IAEhB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,cAAc,CACtB,OAAO;YACL,YAAY,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAC1E,KAAK,EACL,OAAO,SAAS,MAAM,CACvB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assert that a string starts with a given prefix, with type narrowing.
|
|
3
|
+
*/
|
|
4
|
+
export declare function assertStringStartsWith<const T extends string>(value: string, prefix: T, message?: string): asserts value is `${T}${string}`;
|
|
5
|
+
//# sourceMappingURL=string-starts-with.assert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-starts-with.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/string-starts-with/string-starts-with.assert.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAC3D,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,CASlC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AssertionError } from "../../assertion-error.js";
|
|
2
|
+
import { desc, repr } from "../../describe/describe.js";
|
|
3
|
+
/**
|
|
4
|
+
* Assert that a string starts with a given prefix, with type narrowing.
|
|
5
|
+
*/
|
|
6
|
+
export function assertStringStartsWith(value, prefix, message) {
|
|
7
|
+
if (!value.startsWith(prefix)) {
|
|
8
|
+
throw new AssertionError(message ??
|
|
9
|
+
`Expected ${desc(value)} to start with ${repr(prefix)}, but it did not.`, value, `string starting with ${repr(prefix)}`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=string-starts-with.assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-starts-with.assert.js","sourceRoot":"","sources":["../../../src/assert/string-starts-with/string-starts-with.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAExD;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,MAAS,EACT,OAAgB;IAEhB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,cAAc,CACtB,OAAO;YACL,YAAY,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC1E,KAAK,EACL,wBAAwB,IAAI,CAAC,MAAM,CAAC,EAAE,CACvC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { UUID } from "node:crypto";
|
|
2
|
+
type UuidV4 = UUID & `${string}-${string}-4${string}-${"8" | "9" | "a" | "b"}${string}-${string}`;
|
|
3
|
+
/**
|
|
4
|
+
* Assert that a value is a UUID v4 string, with type-narrowing.
|
|
5
|
+
*/
|
|
6
|
+
export declare function assertUuidV4(value: unknown, message?: string): asserts value is UuidV4;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=uuid-v4.assert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid-v4.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/uuid/uuid-v4.assert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAOxC,KAAK,MAAM,GAAG,IAAI,GAChB,GAAG,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAE/E;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,EACd,OAAO,SAAoD,GAC1D,OAAO,CAAC,KAAK,IAAI,MAAM,CAIzB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AssertionError } from "../../assertion-error.js";
|
|
2
|
+
import { desc } from "../../describe/describe.js";
|
|
3
|
+
const uuidV4Regex = /^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i;
|
|
4
|
+
/**
|
|
5
|
+
* Assert that a value is a UUID v4 string, with type-narrowing.
|
|
6
|
+
*/
|
|
7
|
+
export function assertUuidV4(value, message = `Expected ${desc(value)} to be a UUID v4 string.`) {
|
|
8
|
+
if (typeof value !== "string" || !uuidV4Regex.test(value)) {
|
|
9
|
+
throw new AssertionError(message, value, "UUID v4 string");
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=uuid-v4.assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uuid-v4.assert.js","sourceRoot":"","sources":["../../../src/assert/uuid/uuid-v4.assert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,MAAM,WAAW,GACf,mEAAmE,CAAC;AAKtE;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAc,EACd,OAAO,GAAG,YAAY,IAAI,CAAC,KAAK,CAAC,0BAA0B;IAE3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export * from "./assert/array-includes/array-includes.assert.js";
|
|
2
|
+
export * from "./assert/array-includes-all/array-includes-all.assert.js";
|
|
1
3
|
export * from "./assert/array-length/array-length.assert.js";
|
|
2
4
|
export * from "./assert/array-min-length/array-min-length.assert.js";
|
|
3
5
|
export * from "./assert/array-not-empty/array-not-empty.assert.js";
|
|
@@ -9,6 +11,9 @@ export * from "./assert/non-nullable/non-nullable.assert.js";
|
|
|
9
11
|
export * from "./assert/number-between/number-between.assert.js";
|
|
10
12
|
export * from "./assert/number-to-nearest/number-to-nearest.assert.js";
|
|
11
13
|
export * from "./assert/one-of/one-of.assert.js";
|
|
14
|
+
export * from "./assert/string-includes/string-includes.assert.js";
|
|
15
|
+
export * from "./assert/string-ends-with/string-ends-with.assert.js";
|
|
16
|
+
export * from "./assert/string-starts-with/string-starts-with.assert.js";
|
|
12
17
|
export * from "./assert/throws-error-async/throws-error-async.assert.js";
|
|
13
18
|
export * from "./assert/throws-error/throws-error.assert.js";
|
|
14
19
|
export * from "./assert/true/true.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,8CAA8C,CAAC;AAC7D,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AACnE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,wDAAwD,CAAC;AACvE,cAAc,kCAAkC,CAAC;AACjD,cAAc,0DAA0D,CAAC;AACzE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8BAA8B,CAAC;AAC7C,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;AAC3D,cAAc,sDAAsD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kDAAkD,CAAC;AACjE,cAAc,0DAA0D,CAAC;AACzE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AACnE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,wDAAwD,CAAC;AACvE,cAAc,kCAAkC,CAAC;AACjD,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC;AACrE,cAAc,0DAA0D,CAAC;AACzE,cAAc,0DAA0D,CAAC;AACzE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8BAA8B,CAAC;AAC7C,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;AAC3D,cAAc,sDAAsD,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export * from "./assert/array-includes/array-includes.assert.js";
|
|
2
|
+
export * from "./assert/array-includes-all/array-includes-all.assert.js";
|
|
1
3
|
export * from "./assert/array-length/array-length.assert.js";
|
|
2
4
|
export * from "./assert/array-min-length/array-min-length.assert.js";
|
|
3
5
|
export * from "./assert/array-not-empty/array-not-empty.assert.js";
|
|
@@ -9,6 +11,9 @@ export * from "./assert/non-nullable/non-nullable.assert.js";
|
|
|
9
11
|
export * from "./assert/number-between/number-between.assert.js";
|
|
10
12
|
export * from "./assert/number-to-nearest/number-to-nearest.assert.js";
|
|
11
13
|
export * from "./assert/one-of/one-of.assert.js";
|
|
14
|
+
export * from "./assert/string-includes/string-includes.assert.js";
|
|
15
|
+
export * from "./assert/string-ends-with/string-ends-with.assert.js";
|
|
16
|
+
export * from "./assert/string-starts-with/string-starts-with.assert.js";
|
|
12
17
|
export * from "./assert/throws-error-async/throws-error-async.assert.js";
|
|
13
18
|
export * from "./assert/throws-error/throws-error.assert.js";
|
|
14
19
|
export * from "./assert/true/true.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,8CAA8C,CAAC;AAC7D,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AACnE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,wDAAwD,CAAC;AACvE,cAAc,kCAAkC,CAAC;AACjD,cAAc,0DAA0D,CAAC;AACzE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8BAA8B,CAAC;AAC7C,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;AAC3D,cAAc,sDAAsD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kDAAkD,CAAC;AACjE,cAAc,0DAA0D,CAAC;AACzE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AACnE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,wDAAwD,CAAC;AACvE,cAAc,kCAAkC,CAAC;AACjD,cAAc,oDAAoD,CAAC;AACnE,cAAc,sDAAsD,CAAC;AACrE,cAAc,0DAA0D,CAAC;AACzE,cAAc,0DAA0D,CAAC;AACzE,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8BAA8B,CAAC;AAC7C,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;AAC3D,cAAc,sDAAsD,CAAC"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"author": "Kensio Software",
|
|
5
5
|
"repository": "https://github.com/KensioSoftware/smartass",
|
|
6
6
|
"license": "AGPL-3.0",
|
|
7
|
-
"version": "0.1.
|
|
7
|
+
"version": "0.1.8",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"main": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
@@ -33,21 +33,21 @@
|
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@eslint/js": "^10.0.1",
|
|
35
35
|
"@types/eslint-plugin-security": "^3.0.1",
|
|
36
|
-
"@types/node": "^25.
|
|
37
|
-
"@vitest/coverage-v8": "^4.
|
|
38
|
-
"@vitest/eslint-plugin": "^1.6.
|
|
39
|
-
"eslint": "^10.0
|
|
36
|
+
"@types/node": "^25.9.1",
|
|
37
|
+
"@vitest/coverage-v8": "^4.1.7",
|
|
38
|
+
"@vitest/eslint-plugin": "^1.6.18",
|
|
39
|
+
"eslint": "^10.4.0",
|
|
40
40
|
"eslint-config-prettier": "^10.1.8",
|
|
41
|
-
"eslint-plugin-jsdoc": "^62.
|
|
41
|
+
"eslint-plugin-jsdoc": "^62.9.0",
|
|
42
42
|
"eslint-plugin-no-secrets": "^2.3.3",
|
|
43
43
|
"eslint-plugin-security": "^4.0.0",
|
|
44
44
|
"eslint-plugin-unicorn": "^63.0.0",
|
|
45
|
-
"globals": "^17.
|
|
46
|
-
"jiti": "^2.
|
|
47
|
-
"prettier": "^3.8.
|
|
45
|
+
"globals": "^17.6.0",
|
|
46
|
+
"jiti": "^2.7.0",
|
|
47
|
+
"prettier": "^3.8.3",
|
|
48
48
|
"typescript": "^5.9.3",
|
|
49
|
-
"typescript-eslint": "^8.
|
|
50
|
-
"vitest": "^4.
|
|
49
|
+
"typescript-eslint": "^8.60.0",
|
|
50
|
+
"vitest": "^4.1.7"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"build": "tsc -p tsconfig.build.json",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"not-empty.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/not-empty/not-empty.assert.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI,EACtC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAUvC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { assertNonNullable } from "../non-nullable/non-nullable.assert.js";
|
|
2
|
-
import { AssertionError } from "../../assertion-error.js";
|
|
3
|
-
/**
|
|
4
|
-
* Assertion function a non-empty array, with type-narrowing.
|
|
5
|
-
*/
|
|
6
|
-
export function assertNotEmpty(value, message) {
|
|
7
|
-
assertNonNullable(value, message);
|
|
8
|
-
if (value.length === 0) {
|
|
9
|
-
throw new AssertionError(message ?? `Expected array not to be empty, but it was empty.`, value, ["..."]);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=not-empty.assert.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"not-empty.assert.js","sourceRoot":"","sources":["../../../src/assert/not-empty/not-empty.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAsC,EACtC,OAAgB;IAEhB,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAElC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,cAAc,CACtB,OAAO,IAAI,mDAAmD,EAC9D,KAAK,EACL,CAAC,KAAK,CAAC,CACR,CAAC;IACJ,CAAC;AACH,CAAC"}
|