@kensio/smartass 0.1.3 → 0.1.5

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 CHANGED
@@ -41,6 +41,8 @@ npm install @kensio/smartass
41
41
  - [assertArrayLength](src/assert/array-length/array-length.assert.ts)
42
42
  - [assertArrayMinLength](src/assert/array-min-length/array-min-length.assert.ts)
43
43
  - [assertArrayNotEmpty](src/assert/array-not-empty/array-not-empty.assert.ts)
44
+ - [assertBufferEqual](src/assert/buffer-equal/buffer-equal.assert.ts)
45
+ - [assertFalse](src/assert/false/false.assert.ts)
44
46
  - [assertIdentical](src/assert/identical/identical.assert.ts)
45
47
  - [assertInstanceOf](src/assert/instance-of/instance-of.assert.ts)
46
48
  - [assertNonNullable](src/assert/non-nullable/non-nullable.assert.ts)
@@ -49,6 +51,7 @@ npm install @kensio/smartass
49
51
  - [assertOneOf](src/assert/one-of/one-of.assert.ts)
50
52
  - [assertThrowsError](src/assert/throws-error/throws-error.assert.ts)
51
53
  - [assertThrowsErrorAsync](src/assert/throws-error-async/throws-error-async.assert.ts)
54
+ - [assertTrue](src/assert/true/true.assert.ts)
52
55
  - [assertTypeBigInt](src/assert/type-bigint/type-bigint.assert.ts)
53
56
  - [assertTypeBoolean](src/assert/type-boolean/type-boolean.assert.ts)
54
57
  - [assertTypeFunction](src/assert/type-function/type-function.assert.ts)
@@ -56,3 +59,4 @@ npm install @kensio/smartass
56
59
  - [assertTypeNumeric](src/assert/type-numeric/type-numeric.assert.ts)
57
60
  - [assertTypeObject](src/assert/type-object/type-object.assert.ts)
58
61
  - [assertTypeString](src/assert/type-string/type-string.assert.ts)
62
+ - [assertTypeTypedArray](src/assert/type-typed-array/type-typed-array.assert.ts)
@@ -0,0 +1,8 @@
1
+ import { type TypedArray } from "../type-typed-array/type-typed-array.assert.js";
2
+ /**
3
+ * Assert that two buffers (TypedArrays) are equal, comparing element by element.
4
+ * Supports all TypedArray types: Uint8Array, Int8Array, Uint16Array, Int16Array,
5
+ * Uint32Array, Int32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array.
6
+ */
7
+ export declare function assertBufferEqual<T extends TypedArray>(actual: unknown, expected: T, message?: string): asserts actual is T;
8
+ //# sourceMappingURL=buffer-equal.assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-equal.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/buffer-equal/buffer-equal.assert.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,gDAAgD,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EACpD,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,CAAC,EACX,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,IAAI,CAAC,CAsBrB"}
@@ -0,0 +1,18 @@
1
+ import { AssertionError } from "../../assertion-error.js";
2
+ import { desc } from "../../describe/describe.js";
3
+ import { assertTypeTypedArray, } from "../type-typed-array/type-typed-array.assert.js";
4
+ /**
5
+ * Assert that two buffers (TypedArrays) are equal, comparing element by element.
6
+ * Supports all TypedArray types: Uint8Array, Int8Array, Uint16Array, Int16Array,
7
+ * Uint32Array, Int32Array, Float32Array, Float64Array, BigInt64Array, BigUint64Array.
8
+ */
9
+ export function assertBufferEqual(actual, expected, message) {
10
+ assertTypeTypedArray(actual);
11
+ // Convert to Node.js Buffer for fast native comparison
12
+ const actualBuffer = Buffer.from(actual.buffer, actual.byteOffset, actual.byteLength);
13
+ const expectedBuffer = Buffer.from(expected.buffer, expected.byteOffset, expected.byteLength);
14
+ if (Buffer.compare(actualBuffer, expectedBuffer) !== 0) {
15
+ throw new AssertionError(message ?? `Expected ${desc(actual)} to equal ${desc(expected)}.`, actual, expected);
16
+ }
17
+ }
18
+ //# sourceMappingURL=buffer-equal.assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-equal.assert.js","sourceRoot":"","sources":["../../../src/assert/buffer-equal/buffer-equal.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EACL,oBAAoB,GAErB,MAAM,gDAAgD,CAAC;AAExD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAe,EACf,QAAW,EACX,OAAgB;IAEhB,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE7B,uDAAuD;IACvD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAC9B,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,CAClB,CAAC;IACF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAChC,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,UAAU,CACpB,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,cAAc,CACtB,OAAO,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,GAAG,EACjE,MAAM,EACN,QAAQ,CACT,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Assert that a value is strictly false (not just falsy), with type-narrowing
3
+ * to the literal type `false`.
4
+ */
5
+ export declare function assertFalse(value: unknown, message?: string): asserts value is false;
6
+ //# sourceMappingURL=false.assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"false.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/false/false.assert.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,OAAO,SAAkD,GACxD,OAAO,CAAC,KAAK,IAAI,KAAK,CAIxB"}
@@ -0,0 +1,12 @@
1
+ import { AssertionError } from "../../assertion-error.js";
2
+ import { desc } from "../../describe/describe.js";
3
+ /**
4
+ * Assert that a value is strictly false (not just falsy), with type-narrowing
5
+ * to the literal type `false`.
6
+ */
7
+ export function assertFalse(value, message = `Expected ${desc(value)} to be ${desc(false)}.`) {
8
+ if (value !== false) {
9
+ throw new AssertionError(message, value, false);
10
+ }
11
+ }
12
+ //# sourceMappingURL=false.assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"false.assert.js","sourceRoot":"","sources":["../../../src/assert/false/false.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,KAAc,EACd,OAAO,GAAG,YAAY,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG;IAEzD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Assert that a value is strictly true (not just truthy), with type-narrowing
3
+ * to the literal type `true`.
4
+ */
5
+ export declare function assertTrue(value: unknown, message?: string): asserts value is true;
6
+ //# sourceMappingURL=true.assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"true.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/true/true.assert.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,OAAO,SAAgD,GACtD,OAAO,CAAC,KAAK,IAAI,IAAI,CAIvB"}
@@ -0,0 +1,12 @@
1
+ import { AssertionError } from "../../assertion-error.js";
2
+ import { desc } from "../../describe/describe.js";
3
+ /**
4
+ * Assert that a value is strictly true (not just truthy), with type-narrowing
5
+ * to the literal type `true`.
6
+ */
7
+ export function assertTrue(value, message = `Expected ${desc(value)} to be boolean true.`) {
8
+ if (value !== true) {
9
+ throw new AssertionError(message, value, true);
10
+ }
11
+ }
12
+ //# sourceMappingURL=true.assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"true.assert.js","sourceRoot":"","sources":["../../../src/assert/true/true.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,KAAc,EACd,OAAO,GAAG,YAAY,IAAI,CAAC,KAAK,CAAC,sBAAsB;IAEvD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Union type of all TypedArray types
3
+ */
4
+ export type TypedArray = Uint8Array | Int8Array | Uint16Array | Int16Array | Uint32Array | Int32Array | Float32Array | Float64Array | BigInt64Array | BigUint64Array;
5
+ /**
6
+ * Assert that a value is a TypedArray, with type-narrowing.
7
+ * Supports all TypedArray types: Uint8Array, Int8Array, Uint16Array,
8
+ * Int16Array, Uint32Array, Int32Array, Float32Array, Float64Array,
9
+ * BigInt64Array, BigUint64Array.
10
+ */
11
+ export declare function assertTypeTypedArray(value: unknown, message?: string): asserts value is TypedArray;
12
+ //# sourceMappingURL=type-typed-array.assert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-typed-array.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/type-typed-array/type-typed-array.assert.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,SAAS,GACT,WAAW,GACX,UAAU,GACV,WAAW,GACX,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,cAAc,CAAC;AAEnB;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,OAAO,SAAgD,GACtD,OAAO,CAAC,KAAK,IAAI,UAAU,CAI7B"}
@@ -0,0 +1,14 @@
1
+ import { AssertionError } from "../../assertion-error.js";
2
+ import { desc } from "../../describe/describe.js";
3
+ /**
4
+ * Assert that a value is a TypedArray, with type-narrowing.
5
+ * Supports all TypedArray types: Uint8Array, Int8Array, Uint16Array,
6
+ * Int16Array, Uint32Array, Int32Array, Float32Array, Float64Array,
7
+ * BigInt64Array, BigUint64Array.
8
+ */
9
+ export function assertTypeTypedArray(value, message = `Expected ${desc(value)} to be a TypedArray.`) {
10
+ if (!ArrayBuffer.isView(value)) {
11
+ throw new AssertionError(message, value, "TypedArray");
12
+ }
13
+ }
14
+ //# sourceMappingURL=type-typed-array.assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-typed-array.assert.js","sourceRoot":"","sources":["../../../src/assert/type-typed-array/type-typed-array.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAiBlD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAc,EACd,OAAO,GAAG,YAAY,IAAI,CAAC,KAAK,CAAC,sBAAsB;IAEvD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from "./assert/array-length/array-length.assert.js";
2
2
  export * from "./assert/array-min-length/array-min-length.assert.js";
3
3
  export * from "./assert/array-not-empty/array-not-empty.assert.js";
4
+ export * from "./assert/buffer-equal/buffer-equal.assert.js";
5
+ export * from "./assert/false/false.assert.js";
4
6
  export * from "./assert/identical/identical.assert.js";
5
7
  export * from "./assert/instance-of/instance-of.assert.js";
6
8
  export * from "./assert/non-nullable/non-nullable.assert.js";
@@ -9,6 +11,7 @@ export * from "./assert/number-to-nearest/number-to-nearest.assert.js";
9
11
  export * from "./assert/one-of/one-of.assert.js";
10
12
  export * from "./assert/throws-error-async/throws-error-async.assert.js";
11
13
  export * from "./assert/throws-error/throws-error.assert.js";
14
+ export * from "./assert/true/true.assert.js";
12
15
  export * from "./assert/type-bigint/type-bigint.assert.js";
13
16
  export * from "./assert/type-boolean/type-boolean.assert.js";
14
17
  export * from "./assert/type-function/type-function.assert.js";
@@ -16,4 +19,5 @@ export * from "./assert/type-number/type-number.assert.js";
16
19
  export * from "./assert/type-numeric/type-numeric.assert.js";
17
20
  export * from "./assert/type-object/type-object.assert.js";
18
21
  export * from "./assert/type-string/type-string.assert.js";
22
+ export * from "./assert/type-typed-array/type-typed-array.assert.js";
19
23
  //# sourceMappingURL=index.d.ts.map
@@ -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,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,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,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"}
package/dist/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from "./assert/array-length/array-length.assert.js";
2
2
  export * from "./assert/array-min-length/array-min-length.assert.js";
3
3
  export * from "./assert/array-not-empty/array-not-empty.assert.js";
4
+ export * from "./assert/buffer-equal/buffer-equal.assert.js";
5
+ export * from "./assert/false/false.assert.js";
4
6
  export * from "./assert/identical/identical.assert.js";
5
7
  export * from "./assert/instance-of/instance-of.assert.js";
6
8
  export * from "./assert/non-nullable/non-nullable.assert.js";
@@ -9,6 +11,7 @@ export * from "./assert/number-to-nearest/number-to-nearest.assert.js";
9
11
  export * from "./assert/one-of/one-of.assert.js";
10
12
  export * from "./assert/throws-error-async/throws-error-async.assert.js";
11
13
  export * from "./assert/throws-error/throws-error.assert.js";
14
+ export * from "./assert/true/true.assert.js";
12
15
  export * from "./assert/type-bigint/type-bigint.assert.js";
13
16
  export * from "./assert/type-boolean/type-boolean.assert.js";
14
17
  export * from "./assert/type-function/type-function.assert.js";
@@ -16,4 +19,5 @@ export * from "./assert/type-number/type-number.assert.js";
16
19
  export * from "./assert/type-numeric/type-numeric.assert.js";
17
20
  export * from "./assert/type-object/type-object.assert.js";
18
21
  export * from "./assert/type-string/type-string.assert.js";
22
+ export * from "./assert/type-typed-array/type-typed-array.assert.js";
19
23
  //# sourceMappingURL=index.js.map
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,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,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,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"}
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.3",
7
+ "version": "0.1.5",
8
8
  "type": "module",
9
9
  "main": "./dist/index.js",
10
10
  "types": "./dist/index.d.ts",