@kensio/smartass 1.22.0 → 1.24.0

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.
@@ -1,4 +1,4 @@
1
1
  import type { ArrayOfLength, ArrayOfLengthMatch } from "./array-length.type.js";
2
- export declare function assertArrayLength<TArray extends unknown[] | null | undefined, const N extends number>(value: TArray, expectedLength: N, message?: string): asserts value is Extract<NonNullable<TArray>, unknown[]> & ArrayOfLengthMatch<TArray, N>;
2
+ export declare function assertArrayLength<TArray extends readonly unknown[] | null | undefined, const N extends number>(value: TArray, expectedLength: N, message?: string): asserts value is Extract<NonNullable<TArray>, readonly unknown[]> & ArrayOfLengthMatch<TArray, N>;
3
3
  export declare function assertArrayLength<const N extends number>(value: unknown, expectedLength: N, message?: string): asserts value is ArrayOfLength<unknown, N>;
4
4
  //# sourceMappingURL=array-length.assert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array-length.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/array-length/array-length.assert.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,wBAAgB,iBAAiB,CAC/B,MAAM,SAAS,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,EAC3C,KAAK,CAAC,CAAC,SAAS,MAAM,EAEtB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,CAAC,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,GACzD,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhC,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACtD,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,CAAC,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"array-length.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/array-length/array-length.assert.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEhF,wBAAgB,iBAAiB,CAC/B,MAAM,SAAS,SAAS,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,EACpD,KAAK,CAAC,CAAC,SAAS,MAAM,EAEtB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,CAAC,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,GAClE,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhC,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACtD,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,CAAC,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC"}
@@ -13,6 +13,9 @@ type ArrayMatchElement<TActual> = [
13
13
  export type ArrayOfLength<T, N extends number> = N extends 0 ? [] : N extends 1 ? [T] : N extends 2 ? [T, T] : N extends 3 ? [T, T, T] : N extends 4 ? [T, T, T, T] : N extends 5 ? [T, T, T, T, T] : N extends 6 ? [T, T, T, T, T, T] : N extends 7 ? [T, T, T, T, T, T, T] : N extends 8 ? [T, T, T, T, T, T, T, T] : N extends 9 ? [T, T, T, T, T, T, T, T, T] : N extends 10 ? [T, T, T, T, T, T, T, T, T, T] : [T, T, T, T, T, T, T, T, T, T, ...T[]] & {
14
14
  length: N;
15
15
  };
16
+ export type ReadonlyArrayOfLength<T, N extends number> = Readonly<ArrayOfLength<T, N>>;
17
+ type IsKnownReadonlyArray<TActual> = Extract<NonNullable<TActual>, readonly unknown[]> extends Extract<NonNullable<TActual>, unknown[]> ? false : true;
18
+ type ArrayOfLengthMatchForMutability<TActual, TElement, N extends number> = IsKnownReadonlyArray<TActual> extends true ? ReadonlyArrayOfLength<TElement, N> : ArrayOfLength<TElement, N>;
16
19
  /**
17
20
  * Type produced when an actual value is matched by arrayOfLength().
18
21
  *
@@ -21,7 +24,7 @@ export type ArrayOfLength<T, N extends number> = N extends 0 ? [] : N extends 1
21
24
  * actual value is an array, we preserve its element type. Otherwise, we fall
22
25
  * back to unknown elements.
23
26
  */
24
- export type ArrayOfLengthMatch<TActual, N extends number> = ArrayOfLength<ArrayMatchElement<TActual>, N>;
27
+ export type ArrayOfLengthMatch<TActual, N extends number> = ArrayOfLengthMatchForMutability<TActual, ArrayMatchElement<TActual>, N>;
25
28
  export type ArrayOfLengthMatcher<N extends number> = AssertionMatcher<ArrayOfLength<unknown, N>> & {
26
29
  readonly [arrayOfLengthMatcher]: N;
27
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"array-length.type.d.ts","sourceRoot":"","sources":["../../../src/assert/array-length/array-length.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,eAA0C,CAAC;AAE5E,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,QAAQ,CAAC,EAAE,GAC1D,QAAQ,GACR,OAAO,CAAC;AAEZ,KAAK,iBAAiB,CAAC,OAAO,IAAI;IAChC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAClD,SAAS,CAAC,KAAK,CAAC,GACb,OAAO,GACP,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,GACxD,EAAE,GACF,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,CAAC,GACH,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,CAAC,GACN,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACT,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACZ,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACf,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAClB,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACrB,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACxB,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC3B,CAAC,SAAS,EAAE,GACV,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG;IACvC,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAE1B;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC,SAAS,MAAM,IAAI,aAAa,CACvE,iBAAiB,CAAC,OAAO,CAAC,EAC1B,CAAC,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,MAAM,IAAI,gBAAgB,CACnE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAC1B,GAAG;IACF,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAEnC;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,EAC9B,MAAM,EAAE,OAAO,KACZ,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACrC,CAAC"}
1
+ {"version":3,"file":"array-length.type.d.ts","sourceRoot":"","sources":["../../../src/assert/array-length/array-length.type.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ArrayOfMinLength } from "./array-min-length.type.js";
2
- export declare function assertArrayMinLength<TArray extends unknown[], const N extends number>(value: TArray, minLength: N, message?: string): asserts value is TArray & ArrayOfMinLength<TArray[number], N>;
1
+ import type { ArrayOfMinLength, ArrayOfMinLengthMatch } from "./array-min-length.type.js";
2
+ export declare function assertArrayMinLength<TArray extends readonly unknown[] | null | undefined, const N extends number>(value: TArray, minLength: N, message?: string): asserts value is Extract<NonNullable<TArray>, readonly unknown[]> & ArrayOfMinLengthMatch<TArray, N>;
3
3
  export declare function assertArrayMinLength<const N extends number>(value: unknown, minLength: N, message?: string): asserts value is ArrayOfMinLength<unknown, N>;
4
4
  //# sourceMappingURL=array-min-length.assert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array-min-length.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/array-min-length/array-min-length.assert.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,OAAO,EAAE,EACxB,KAAK,CAAC,CAAC,SAAS,MAAM,EAEtB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAEjE,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACzD,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,CAAC,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"array-min-length.assert.d.ts","sourceRoot":"","sources":["../../../src/assert/array-min-length/array-min-length.assert.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,SAAS,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,EACpD,KAAK,CAAC,CAAC,SAAS,MAAM,EAEtB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,CAAC,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,GAClE,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEnC,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACzD,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,CAAC,EACZ,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"array-min-length.assert.js","sourceRoot":"","sources":["../../../src/assert/array-min-length/array-min-length.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAkBxD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAc,EACd,SAAiB,EACjB,OAAgB;IAEhB,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,cAAc,CACtB,OAAO,IAAI,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,EACvD,KAAK,EACL,OAAO,CAAC,SAAS,EAAE,CACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc,EAAE,SAAiB;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;IAC3F,CAAC;IAED,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,yBAAyB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;AACnH,CAAC"}
1
+ {"version":3,"file":"array-min-length.assert.js","sourceRoot":"","sources":["../../../src/assert/array-min-length/array-min-length.assert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAsBxD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAc,EACd,SAAiB,EACjB,OAAgB;IAEhB,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,cAAc,CACtB,OAAO,IAAI,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,EACvD,KAAK,EACL,OAAO,CAAC,SAAS,EAAE,CACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc,EAAE,SAAiB;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;IAC3F,CAAC;IAED,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,yBAAyB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;AACnH,CAAC"}
@@ -11,6 +11,9 @@ type ArrayMatchElement<TActual> = [
11
11
  Extract<NonNullable<TActual>, readonly unknown[]>
12
12
  ] extends [never] ? unknown : ArrayElementOf<Extract<NonNullable<TActual>, readonly unknown[]>>;
13
13
  export type ArrayOfMinLength<T, N extends number> = N extends 0 ? T[] : N extends 1 ? [T, ...T[]] : N extends 2 ? [T, T, ...T[]] : N extends 3 ? [T, T, T, ...T[]] : N extends 4 ? [T, T, T, T, ...T[]] : N extends 5 ? [T, T, T, T, T, ...T[]] : [T, T, T, T, T, ...T[]];
14
+ export type ReadonlyArrayOfMinLength<T, N extends number> = Readonly<ArrayOfMinLength<T, N>>;
15
+ type IsKnownReadonlyArray<TActual> = Extract<NonNullable<TActual>, readonly unknown[]> extends Extract<NonNullable<TActual>, unknown[]> ? false : true;
16
+ type ArrayOfMinLengthMatchForMutability<TActual, TElement, N extends number> = IsKnownReadonlyArray<TActual> extends true ? ReadonlyArrayOfMinLength<TElement, N> : ArrayOfMinLength<TElement, N>;
14
17
  /**
15
18
  * Type produced when an actual value is matched by arrayOfMinLength().
16
19
  *
@@ -19,7 +22,7 @@ export type ArrayOfMinLength<T, N extends number> = N extends 0 ? T[] : N extend
19
22
  * actual value is an array, we preserve its element type. Otherwise, we fall
20
23
  * back to unknown elements.
21
24
  */
22
- export type ArrayOfMinLengthMatch<TActual, N extends number> = ArrayOfMinLength<ArrayMatchElement<TActual>, N>;
25
+ export type ArrayOfMinLengthMatch<TActual, N extends number> = ArrayOfMinLengthMatchForMutability<TActual, ArrayMatchElement<TActual>, N>;
23
26
  export type ArrayOfMinLengthMatcher<N extends number> = AssertionMatcher<ArrayOfMinLength<unknown, N>> & {
24
27
  readonly [arrayOfMinLengthMatcher]: N;
25
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"array-min-length.type.d.ts","sourceRoot":"","sources":["../../../src/assert/array-min-length/array-min-length.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,eAEnC,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,QAAQ,CAAC,EAAE,GAC1D,QAAQ,GACR,OAAO,CAAC;AAEZ,KAAK,iBAAiB,CAAC,OAAO,IAAI;IAChC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAClD,SAAS,CAAC,KAAK,CAAC,GACb,OAAO,GACP,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,GAC3D,CAAC,EAAE,GACH,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACX,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACd,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACjB,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACpB,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,CAAC,OAAO,EAAE,CAAC,SAAS,MAAM,IAAI,gBAAgB,CAC7E,iBAAiB,CAAC,OAAO,CAAC,EAC1B,CAAC,CACF,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI,gBAAgB,CACtE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAC7B,GAAG;IACF,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,EAC9B,MAAM,EAAE,OAAO,KACZ,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACxC,CAAC"}
1
+ {"version":3,"file":"array-min-length.type.d.ts","sourceRoot":"","sources":["../../../src/assert/array-min-length/array-min-length.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,eAEnC,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,QAAQ,CAAC,EAAE,GAC1D,QAAQ,GACR,OAAO,CAAC;AAEZ,KAAK,iBAAiB,CAAC,OAAO,IAAI;IAChC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAClD,SAAS,CAAC,KAAK,CAAC,GACb,OAAO,GACP,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;AAEtE,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,GAC3D,CAAC,EAAE,GACH,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACX,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACd,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACjB,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACpB,CAAC,SAAS,CAAC,GACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAEtC,MAAM,MAAM,wBAAwB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,QAAQ,CAClE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CACvB,CAAC;AAEF,KAAK,oBAAoB,CAAC,OAAO,IAC/B,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,CAC/D,WAAW,CAAC,OAAO,CAAC,EACpB,OAAO,EAAE,CACV,GACG,KAAK,GACL,IAAI,CAAC;AAEX,KAAK,kCAAkC,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,SAAS,MAAM,IACzE,oBAAoB,CAAC,OAAO,CAAC,SAAS,IAAI,GACtC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC,GACrC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,CAC/B,OAAO,EACP,CAAC,SAAS,MAAM,IACd,kCAAkC,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,MAAM,IAAI,gBAAgB,CACtE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAC7B,GAAG;IACF,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,OAAO,EAC9B,MAAM,EAAE,OAAO,KACZ,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACxC,CAAC"}
@@ -1,5 +1,4 @@
1
- type StringStartingWith<TActual extends string, TPrefix extends string> = TActual extends `${TPrefix}${string}` ? TActual : never;
2
- export declare function assertStringStartsWith<TActual extends string, const TPrefix extends string>(value: TActual, prefix: TPrefix, message?: string): asserts value is StringStartingWith<TActual, TPrefix>;
1
+ import type { StringStartingWithAssertion } from "./string-starts-with.type.js";
2
+ export declare function assertStringStartsWith<TActual extends string, const TPrefix extends string>(value: TActual, prefix: TPrefix, message?: string): asserts value is StringStartingWithAssertion<TActual, TPrefix>;
3
3
  export declare function assertStringStartsWith<const TPrefix extends string>(value: unknown, prefix: TPrefix, message?: string): asserts value is `${TPrefix}${string}`;
4
- export {};
5
4
  //# sourceMappingURL=string-starts-with.assert.d.ts.map
@@ -1 +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":"AAIA,KAAK,kBAAkB,CACrB,OAAO,SAAS,MAAM,EACtB,OAAO,SAAS,MAAM,IACpB,OAAO,SAAS,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC;AAE5D,wBAAgB,sBAAsB,CACpC,OAAO,SAAS,MAAM,EACtB,KAAK,CAAC,OAAO,SAAS,MAAM,EAE5B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAEzD,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,EACjE,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC"}
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,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,wBAAgB,sBAAsB,CACpC,OAAO,SAAS,MAAM,EACtB,KAAK,CAAC,OAAO,SAAS,MAAM,EAE5B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAElE,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,EACjE,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC"}
@@ -1 +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;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAsBnE;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,MAAc,EACd,OAAgB;IAEhB,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,cAAc,CACtB,OAAO,IAAI,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,EACtD,KAAK,EACL,OAAO,CAAC,SAAS,EAAE,CACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc,EAAE,MAAc;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACjF,CAAC;IAED,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;AAClF,CAAC"}
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;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAkBnE;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,MAAc,EACd,OAAgB;IAEhB,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,cAAc,CACtB,OAAO,IAAI,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,EACtD,KAAK,EACL,OAAO,CAAC,SAAS,EAAE,CACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAc,EAAE,MAAc;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACjF,CAAC;IAED,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;AAClF,CAAC"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "url": "https://github.com/KensioSoftware/smartass"
8
8
  },
9
9
  "license": "Apache-2.0",
10
- "version": "1.22.0",
10
+ "version": "1.24.0",
11
11
  "type": "module",
12
12
  "main": "./dist/index.js",
13
13
  "types": "./dist/index.d.ts",
@@ -38,20 +38,20 @@
38
38
  "devDependencies": {
39
39
  "@eslint/js": "^10.0.1",
40
40
  "@types/eslint-plugin-security": "^3.0.1",
41
- "@types/node": "^25",
41
+ "@types/node": "^25.9.4",
42
42
  "@vitest/coverage-v8": "^4.1.9",
43
43
  "@vitest/eslint-plugin": "^1.6.20",
44
44
  "eslint": "^10.5.0",
45
45
  "eslint-config-prettier": "^10.1.8",
46
- "eslint-plugin-jsdoc": "^63.0.0",
46
+ "eslint-plugin-jsdoc": "^63.0.8",
47
47
  "eslint-plugin-no-secrets": "^2.3.3",
48
48
  "eslint-plugin-security": "^4.0.1",
49
49
  "eslint-plugin-unicorn": "^64.0.0",
50
- "globals": "^17.6.0",
50
+ "globals": "^17.7.0",
51
51
  "jiti": "^2.7.0",
52
52
  "prettier": "^3.8.4",
53
53
  "typescript": "^6.0.3",
54
- "typescript-eslint": "^8.61.1",
54
+ "typescript-eslint": "^8.62.0",
55
55
  "vitest": "^4.1.9"
56
56
  },
57
57
  "scripts": {