@kakasoo/deep-strict-types 1.0.29 → 2.0.1

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.
Files changed (33) hide show
  1. package/README.md +7 -0
  2. package/bin/src/functions/DeepStrictAssert.d.ts +4 -0
  3. package/bin/src/functions/DeepStrictAssert.d.ts.map +1 -0
  4. package/bin/src/functions/DeepStrictAssert.js.map +1 -0
  5. package/bin/src/functions/DeepStrictObjectKeys.d.ts +20 -0
  6. package/bin/src/functions/DeepStrictObjectKeys.d.ts.map +1 -0
  7. package/bin/src/functions/DeepStrictObjectKeys.js +23 -0
  8. package/bin/src/functions/DeepStrictObjectKeys.js.map +1 -0
  9. package/bin/src/functions/index.d.ts +3 -0
  10. package/bin/src/functions/index.d.ts.map +1 -0
  11. package/bin/src/functions/index.js +19 -0
  12. package/bin/src/functions/index.js.map +1 -0
  13. package/bin/src/index.d.ts +2 -19
  14. package/bin/src/index.d.ts.map +1 -1
  15. package/bin/src/index.js +2 -19
  16. package/bin/src/index.js.map +1 -1
  17. package/bin/src/types/DeepStrictObjectKeys.d.ts +8 -4
  18. package/bin/src/types/DeepStrictObjectKeys.d.ts.map +1 -1
  19. package/bin/src/types/DeepStrictPick.d.ts +3 -1
  20. package/bin/src/types/DeepStrictPick.d.ts.map +1 -1
  21. package/bin/src/types/DeepStrictUnbrand.d.ts +1 -1
  22. package/bin/src/types/DeepStrictUnbrand.d.ts.map +1 -1
  23. package/bin/src/types/RemoveLastProperty.d.ts +1 -1
  24. package/bin/src/types/RemoveLastProperty.d.ts.map +1 -1
  25. package/bin/src/types/index.d.ts +19 -0
  26. package/bin/src/types/index.d.ts.map +1 -0
  27. package/bin/src/types/index.js +35 -0
  28. package/bin/src/types/index.js.map +1 -0
  29. package/package.json +3 -3
  30. package/bin/src/DeepStrictAssert.d.ts +0 -4
  31. package/bin/src/DeepStrictAssert.d.ts.map +0 -1
  32. package/bin/src/DeepStrictAssert.js.map +0 -1
  33. /package/bin/src/{DeepStrictAssert.js → functions/DeepStrictAssert.js} +0 -0
package/README.md CHANGED
@@ -31,6 +31,13 @@ type Example = {
31
31
  type Keys = DeepStrictObjectKeys<Example>;
32
32
  ```
33
33
 
34
+ Also, We create function for this type! Application of existing Object.keys to nested objects.
35
+
36
+ ```ts
37
+ type Target = { a: 1 }[][];
38
+ const keys = deepStrictObjectKeys({} as Target); // "[*].[*].a"[]
39
+ ```
40
+
34
41
  In arrays, elements are represented with the `[*]` symbol, ensuring perfect inference even for nested structures.
35
42
 
36
43
  ### `DeepStrictOmit`
@@ -0,0 +1,4 @@
1
+ import { DeepStrictObjectKeys } from '../types/DeepStrictObjectKeys';
2
+ import { DeepStrictPick } from '../types/DeepStrictPick';
3
+ export declare const deepStrictAssert: <T extends object>(input: T) => <K extends DeepStrictObjectKeys<T>>(key: K) => DeepStrictPick<T, K>;
4
+ //# sourceMappingURL=DeepStrictAssert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeepStrictAssert.d.ts","sourceRoot":"","sources":["../../../src/functions/DeepStrictAssert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,eAAO,MAAM,gBAAgB,GAC1B,CAAC,SAAS,MAAM,SAAS,CAAC,MAC1B,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAiC/D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeepStrictAssert.js","sourceRoot":"","sources":["../../../src/functions/DeepStrictAssert.ts"],"names":[],"mappings":";;;AAGO,MAAM,gBAAgB,GAC3B,CAAmB,KAAQ,EAAE,EAAE,CAC/B,CAAoC,GAAM,EAAwB,EAAE;IAClE,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAG,CAAC,KAAkD,EAAE,IAAc,EAAO,EAAE;QAC3F,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAE9B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;oBACrB,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;wBAClE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;oBACrD,CAAC;oBAED,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;gBACnB,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC9D,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnD,CAAC;gBACD,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAyB,CAAC;AACvD,CAAC,CAAC;AAnCS,QAAA,gBAAgB,oBAmCzB"}
@@ -0,0 +1,20 @@
1
+ import { DeepStrictObjectKeys } from '../types';
2
+ type RemoveStartWithDot<T extends string> = T extends `.${infer R extends string}` ? R : T;
3
+ type Replace<T extends string> = ReplaceWildcard<T>;
4
+ type ReplaceWildcard<S extends string> = S extends '[*]' ? `${number}` : S extends `[*].${infer Rest}` ? `${number}.${ReplaceWildcard<Rest>}` : S extends `${infer Prefix extends string}.[*]${infer Rest}` ? `${Prefix}.${number}${ReplaceWildcard<Rest>}` : S extends `${infer Prefix extends string}[*]${infer Rest}` ? `${Prefix}.${number}${ReplaceWildcard<Rest>}` : S;
5
+ type ReturnType<Target extends object, Joiner extends {
6
+ array: string;
7
+ object: string;
8
+ } = {
9
+ array: '[*]';
10
+ object: '.';
11
+ }> = [Target] extends [never] ? [] : RemoveStartWithDot<Replace<DeepStrictObjectKeys<Target, Joiner, false>>>[];
12
+ export declare function deepStrictObjectKeys<Target extends object, Joiner extends {
13
+ array: string;
14
+ object: string;
15
+ } = {
16
+ array: '[*]';
17
+ object: '.';
18
+ }>(target: Target): ReturnType<Target, Joiner>;
19
+ export {};
20
+ //# sourceMappingURL=DeepStrictObjectKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeepStrictObjectKeys.d.ts","sourceRoot":"","sources":["../../../src/functions/DeepStrictObjectKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3F,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAEpD,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,KAAK,GACpD,GAAG,MAAM,EAAE,GACX,CAAC,SAAS,OAAO,MAAM,IAAI,EAAE,GAC3B,GAAG,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,GACpC,CAAC,SAAS,GAAG,MAAM,MAAM,SAAS,MAAM,OAAO,MAAM,IAAI,EAAE,GACzD,GAAG,MAAM,IAAI,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,GAC7C,CAAC,SAAS,GAAG,MAAM,MAAM,SAAS,MAAM,MAAM,MAAM,IAAI,EAAE,GACxD,GAAG,MAAM,IAAI,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,GAC7C,CAAC,CAAC;AAEZ,KAAK,UAAU,CACb,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,IAC9E,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAE/G,wBAAgB,oBAAoB,CAClC,MAAM,SAAS,MAAM,EACrB,MAAM,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,EAChF,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAqB5C"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deepStrictObjectKeys = deepStrictObjectKeys;
4
+ function deepStrictObjectKeys(target) {
5
+ let joiner = { array: '[*]', object: '.' };
6
+ if (joiner === undefined) {
7
+ joiner = { array: '[*]', object: '.' };
8
+ }
9
+ const response = [];
10
+ const keys = Object.keys(target);
11
+ response.push(...keys);
12
+ for (const key of keys) {
13
+ if (key in target) {
14
+ const value = target[key];
15
+ if (typeof value === 'object' && value !== null) {
16
+ const children = deepStrictObjectKeys(value).map((el) => `${key}.${el}`);
17
+ response.push(...children);
18
+ }
19
+ }
20
+ }
21
+ return Array.from(new Set(response));
22
+ }
23
+ //# sourceMappingURL=DeepStrictObjectKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeepStrictObjectKeys.js","sourceRoot":"","sources":["../../../src/functions/DeepStrictObjectKeys.ts"],"names":[],"mappings":";;AAqBA,oDAwBC;AAxBD,SAAgB,oBAAoB,CAGlC,MAAc;IACd,IAAI,MAAM,GAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAY,CAAC;IAC7D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAY,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;YAClB,MAAM,KAAK,GAAI,MAAc,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzE,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAA+B,CAAC;AACrE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './DeepStrictAssert';
2
+ export * from './DeepStrictObjectKeys';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./DeepStrictAssert"), exports);
18
+ __exportStar(require("./DeepStrictObjectKeys"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,yDAAuC"}
@@ -1,20 +1,3 @@
1
- export * from './DeepStrictAssert';
2
- export * from './types/DeepDateToString';
3
- export * from './types/DeepStrictMerge';
4
- export * from './types/DeepStrictObjectKeys';
5
- export * from './types/DeepStrictObjectLastKeys';
6
- export * from './types/DeepStrictOmit';
7
- export * from './types/DeepStrictPick';
8
- export * from './types/DeepStrictUnbrand';
9
- export * from './types/ElementOf';
10
- export * from './types/Equal';
11
- export * from './types/GetMember';
12
- export * from './types/GetType';
13
- export * from './types/IsAny';
14
- export * from './types/IsUnion';
15
- export * from './types/RemoveAfterDot';
16
- export * from './types/RemoveArraySymbol';
17
- export * from './types/RemoveLastProperty';
18
- export * from './types/StringToDeepObject';
19
- export * from './types/ValueType';
1
+ export * from './functions';
2
+ export * from './types';
20
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
package/bin/src/index.js CHANGED
@@ -14,23 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./DeepStrictAssert"), exports);
18
- __exportStar(require("./types/DeepDateToString"), exports);
19
- __exportStar(require("./types/DeepStrictMerge"), exports);
20
- __exportStar(require("./types/DeepStrictObjectKeys"), exports);
21
- __exportStar(require("./types/DeepStrictObjectLastKeys"), exports);
22
- __exportStar(require("./types/DeepStrictOmit"), exports);
23
- __exportStar(require("./types/DeepStrictPick"), exports);
24
- __exportStar(require("./types/DeepStrictUnbrand"), exports);
25
- __exportStar(require("./types/ElementOf"), exports);
26
- __exportStar(require("./types/Equal"), exports);
27
- __exportStar(require("./types/GetMember"), exports);
28
- __exportStar(require("./types/GetType"), exports);
29
- __exportStar(require("./types/IsAny"), exports);
30
- __exportStar(require("./types/IsUnion"), exports);
31
- __exportStar(require("./types/RemoveAfterDot"), exports);
32
- __exportStar(require("./types/RemoveArraySymbol"), exports);
33
- __exportStar(require("./types/RemoveLastProperty"), exports);
34
- __exportStar(require("./types/StringToDeepObject"), exports);
35
- __exportStar(require("./types/ValueType"), exports);
17
+ __exportStar(require("./functions"), exports);
18
+ __exportStar(require("./types"), exports);
36
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2DAAyC;AACzC,0DAAwC;AACxC,+DAA6C;AAC7C,mEAAiD;AACjD,yDAAuC;AACvC,yDAAuC;AACvC,4DAA0C;AAC1C,oDAAkC;AAClC,gDAA8B;AAC9B,oDAAkC;AAClC,kDAAgC;AAChC,gDAA8B;AAC9B,kDAAgC;AAChC,yDAAuC;AACvC,4DAA0C;AAC1C,6DAA2C;AAC3C,6DAA2C;AAC3C,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB"}
@@ -1,15 +1,16 @@
1
1
  import { DeepStrictUnbrand } from './DeepStrictUnbrand';
2
+ import { Equal } from './Equal';
2
3
  import type { IsAny } from './IsAny';
3
4
  import type { IsUnion } from './IsUnion';
4
5
  import type { ValueType } from './ValueType';
5
6
  declare namespace DeepStrictObjectKeys {
6
- type Infer<T extends object, Joiner extends {
7
+ type Infer<Target extends object, Joiner extends {
7
8
  array: string;
8
9
  object: string;
9
10
  } = {
10
11
  array: '[*]';
11
12
  object: '.';
12
- }, P extends keyof T = keyof T> = P extends string ? IsUnion<T[P]> extends true ? P : T[P] extends Array<infer Element extends object> ? P | `${P}${Joiner['array']}${Joiner['object']}${Infer<Element, Joiner>}` : T[P] extends ValueType ? P : IsAny<T[P]> extends true ? P : T[P] extends object ? T[P] extends Array<infer _Element> ? P : T[P] extends Record<string, never> ? `${P}` : `${P}` | `${P}${Joiner['object']}${Infer<T[P], Joiner>}` : never : never;
13
+ }, IsSafe extends boolean = true, P extends keyof Target = Exclude<keyof Target, keyof []>> = [Target] extends [never] ? never : P extends string ? IsUnion<Target[P]> extends true ? Equal<IsSafe, true> extends true ? P : P | (Target[P] extends infer E ? E extends ValueType ? P : E extends object ? E extends Array<infer _Element extends object> ? P | `${P}${Joiner['array']}${Joiner['object']}${Infer<_Element, Joiner, IsSafe>}` : `${P}${Joiner['object']}${Infer<E, Joiner, IsSafe>}` : never : never) : Target[P] extends Array<infer Element extends object> ? P | `${P}${Joiner['array']}${Joiner['object']}${Infer<Element, Joiner, false>}` : Target[P] extends Array<infer _Element> ? Equal<IsSafe, true> extends true ? P : P | never : Target[P] extends ValueType ? P : IsAny<Target[P]> extends true ? P : Target[P] extends object ? Target[P] extends Record<string, never> ? `${P}` : `${P}` | `${P}${Joiner['object']}${Infer<Target[P], Joiner, false>}` : never : never;
13
14
  }
14
15
  /**
15
16
  * @title Type for Listing All Keys of Nested Objects or Arrays.
@@ -22,13 +23,16 @@ declare namespace DeepStrictObjectKeys {
22
23
  * type Example1 = DeepStrictObjectKeys<{ a: { b: 1; c: 2 } }>; // "a" | "a.b" | "a.c"
23
24
  * type Example2 = DeepStrictObjectKeys<{ a: { b: 1; c: { d: number }[] } }>; // "a" | "a.b" | "a.c" | "a.c[*].d"
24
25
  * ```
26
+ * @template Target Destination type for which you want to pull a key
27
+ * @template Joiner It means what symbol to connect when recursively spinning superimposed types.
28
+ * @template IsSafe When a key is a combination type of a primitive type and an object, it means whether to perform a recursive search or not.
25
29
  */
26
- export type DeepStrictObjectKeys<T extends object, Joiner extends {
30
+ export type DeepStrictObjectKeys<Target extends object, Joiner extends {
27
31
  array: string;
28
32
  object: string;
29
33
  } = {
30
34
  array: '[*]';
31
35
  object: '.';
32
- }, P extends keyof T = keyof T> = DeepStrictUnbrand<T> extends Array<infer Element> ? Element extends object ? `${Joiner['array']}.${DeepStrictObjectKeys<Element, Joiner>}` : `${Joiner['array']}.${keyof Element extends string ? keyof Element : never}` : DeepStrictObjectKeys.Infer<DeepStrictUnbrand<T>, Joiner, Extract<P, keyof DeepStrictUnbrand<T>>>;
36
+ }, IsSafe extends boolean = true> = DeepStrictUnbrand<Target> extends Array<infer Element> ? IsAny<Element> extends true ? Joiner['array'] : Element extends object ? Joiner['array'] | `${Joiner['array']}.${DeepStrictObjectKeys<Element, Joiner, IsSafe>}` : Joiner['array'] : DeepStrictUnbrand<Target> extends readonly (infer Element)[] ? IsAny<Element> extends true ? Joiner['array'] : Element extends object ? Joiner['array'] | `${Joiner['array']}.${DeepStrictObjectKeys<Element, Joiner, IsSafe>}` : Joiner['array'] : DeepStrictObjectKeys.Infer<DeepStrictUnbrand<Target>, Joiner, IsSafe>;
33
37
  export {};
34
38
  //# sourceMappingURL=DeepStrictObjectKeys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeepStrictObjectKeys.d.ts","sourceRoot":"","sources":["../../../src/types/DeepStrictObjectKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,kBAAU,oBAAoB,CAAC;IAC7B,KAAY,KAAK,CACf,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG;QACF,KAAK,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,GAAG,CAAC;KACb,EACD,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IACzB,CAAC,SAAS,MAAM,GAChB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACxB,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,OAAO,SAAS,MAAM,CAAC,GAC9C,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,GACxE,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GACpB,CAAC,GACD,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GACtB,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACjB,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,QAAQ,CAAC,GAChC,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAChC,GAAG,CAAC,EAAE,GACN,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAC5D,KAAK,GACf,KAAK,CAAC;CACX;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,oBAAoB,CAC9B,CAAC,SAAS,MAAM,EAChB,MAAM,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IACjD,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;CACb,EACD,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAE3B,iBAAiB,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,OAAO,CAAC,GAC7C,OAAO,SAAS,MAAM,GACpB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,GAC7D,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,OAAO,SAAS,MAAM,GAAG,MAAM,OAAO,GAAG,KAAK,EAAE,GAC9E,oBAAoB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"DeepStrictObjectKeys.d.ts","sourceRoot":"","sources":["../../../src/types/DeepStrictObjectKeys.ts"],"names":[],"mappings":"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"}
@@ -22,5 +22,7 @@ import type { RemoveLastProperty } from './RemoveLastProperty';
22
22
  * type Example3 = DeepStrictPick<{ a: 1 }[], "[*].a">; // { a: 1 }[]
23
23
  * ```
24
24
  */
25
- export type DeepStrictPick<T extends object, K extends DeepStrictObjectKeys<T>> = DeepStrictOmit<T, Exclude<DeepStrictObjectKeys<T>, K | RemoveLastProperty<K> | RemoveAfterDot<DeepStrictUnbrand<T>, K>>>;
25
+ export type DeepStrictPick<T extends object, K extends DeepStrictObjectKeys<T>> = DeepStrictOmit<T, Exclude<DeepStrictObjectKeys<T>, //
26
+ //
27
+ K | RemoveLastProperty<K> | RemoveAfterDot<DeepStrictUnbrand<T>, K>>>;
26
28
  //# sourceMappingURL=DeepStrictPick.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeepStrictPick.d.ts","sourceRoot":"","sources":["../../../src/types/DeepStrictPick.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,IAAI,cAAc,CAC9F,CAAC,EACD,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACtG,CAAC"}
1
+ {"version":3,"file":"DeepStrictPick.d.ts","sourceRoot":"","sources":["../../../src/types/DeepStrictPick.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,IAAI,cAAc,CAC9F,CAAC,EACD,OAAO,CACL,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE;AAC3B,AADyB,EAAE;AAC3B,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACpE,CACF,CAAC"}
@@ -26,7 +26,7 @@ declare namespace DeepStrictUnbrand {
26
26
  * type Example3 = DeepStrictUnbrand<Array<string & { __brand: 'email' }>>; // Array<string>
27
27
  * ```
28
28
  */
29
- export type DeepStrictUnbrand<T> = T extends Array<Date> ? Array<Date> : T extends Array<infer I extends object> ? Array<DeepStrictUnbrand<I>> : T extends DeepStrictUnbrand.Primitive & NonNullable<unknown> ? DeepStrictUnbrand.Infer<T> : T extends Date ? T : {
29
+ export type DeepStrictUnbrand<T> = T extends [] ? [] : T extends Array<infer I extends object> ? Array<DeepStrictUnbrand<I>> : T extends DeepStrictUnbrand.Primitive & NonNullable<unknown> ? DeepStrictUnbrand.Infer<T> : T extends Date ? T : {
30
30
  [K in keyof T]: T[K] extends object ? DeepStrictUnbrand<T[K]> : T[K];
31
31
  };
32
32
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DeepStrictUnbrand.d.ts","sourceRoot":"","sources":["../../../src/types/DeepStrictUnbrand.ts"],"names":[],"mappings":"AAAA,kBAAU,iBAAiB,CAAC;IAC1B,KAAY,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9E,KAAY,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAC3F,MAAM,GACN,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,GACN,CAAC,SAAS,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAClC,OAAO,GACP,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,GACN,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAC/B,IAAI,GACJ,CAAC,SAAS,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,SAAS,GACT,CAAC,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAC7B,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,GACjB,KAAK,CAAC,IAAI,CAAC,GACX,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,GACrC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAC3B,CAAC,SAAS,iBAAiB,CAAC,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,GAC1D,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,GAC1B,CAAC,SAAS,IAAI,GACZ,CAAC,GACD;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAC/B,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvB,CAAC,CAAC,CAAC,CAAC;CACT,CAAC"}
1
+ {"version":3,"file":"DeepStrictUnbrand.d.ts","sourceRoot":"","sources":["../../../src/types/DeepStrictUnbrand.ts"],"names":[],"mappings":"AAAA,kBAAU,iBAAiB,CAAC;IAC1B,KAAY,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9E,KAAY,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAC3F,MAAM,GACN,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,GACN,CAAC,SAAS,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAClC,OAAO,GACP,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GACjC,MAAM,GACN,CAAC,SAAS,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAC/B,IAAI,GACJ,CAAC,SAAS,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GACpC,SAAS,GACT,CAAC,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAC3C,EAAE,GACF,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,GACrC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAC3B,CAAC,SAAS,iBAAiB,CAAC,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,GAC1D,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,GAC1B,CAAC,SAAS,IAAI,GACZ,CAAC,GACD;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAC/B,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvB,CAAC,CAAC,CAAC,CAAC;CACT,CAAC"}
@@ -1,2 +1,2 @@
1
- export type RemoveLastProperty<S extends string> = S extends `${infer First}.${infer Last}` ? First extends `${infer ObjectPart}[*]` ? ObjectPart | `${First}.${RemoveLastProperty<Last>}` : `${First}` | `${First}.${RemoveLastProperty<Last>}` : never;
1
+ export type RemoveLastProperty<S extends string> = S extends `${infer First}.${infer Last}` ? First extends `${infer ObjectPart}[*]` ? First | ObjectPart | `${First}.${RemoveLastProperty<Last>}` : `${First}` | `${First}.${RemoveLastProperty<Last>}` : never;
2
2
  //# sourceMappingURL=RemoveLastProperty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoveLastProperty.d.ts","sourceRoot":"","sources":["../../../src/types/RemoveLastProperty.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GACvF,KAAK,SAAS,GAAG,MAAM,UAAU,KAAK,GACpC,UAAU,GAAG,GAAG,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,GACnD,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,GACrD,KAAK,CAAC"}
1
+ {"version":3,"file":"RemoveLastProperty.d.ts","sourceRoot":"","sources":["../../../src/types/RemoveLastProperty.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GACvF,KAAK,SAAS,GAAG,MAAM,UAAU,KAAK,GACpC,KAAK,GAAG,UAAU,GAAG,GAAG,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,GAC3D,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,GACrD,KAAK,CAAC"}
@@ -0,0 +1,19 @@
1
+ export * from './DeepDateToString';
2
+ export * from './DeepStrictMerge';
3
+ export * from './DeepStrictObjectKeys';
4
+ export * from './DeepStrictObjectLastKeys';
5
+ export * from './DeepStrictOmit';
6
+ export * from './DeepStrictPick';
7
+ export * from './DeepStrictUnbrand';
8
+ export * from './ElementOf';
9
+ export * from './Equal';
10
+ export * from './GetMember';
11
+ export * from './GetType';
12
+ export * from './IsAny';
13
+ export * from './IsUnion';
14
+ export * from './RemoveAfterDot';
15
+ export * from './RemoveArraySymbol';
16
+ export * from './RemoveLastProperty';
17
+ export * from './StringToDeepObject';
18
+ export * from './ValueType';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./DeepDateToString"), exports);
18
+ __exportStar(require("./DeepStrictMerge"), exports);
19
+ __exportStar(require("./DeepStrictObjectKeys"), exports);
20
+ __exportStar(require("./DeepStrictObjectLastKeys"), exports);
21
+ __exportStar(require("./DeepStrictOmit"), exports);
22
+ __exportStar(require("./DeepStrictPick"), exports);
23
+ __exportStar(require("./DeepStrictUnbrand"), exports);
24
+ __exportStar(require("./ElementOf"), exports);
25
+ __exportStar(require("./Equal"), exports);
26
+ __exportStar(require("./GetMember"), exports);
27
+ __exportStar(require("./GetType"), exports);
28
+ __exportStar(require("./IsAny"), exports);
29
+ __exportStar(require("./IsUnion"), exports);
30
+ __exportStar(require("./RemoveAfterDot"), exports);
31
+ __exportStar(require("./RemoveArraySymbol"), exports);
32
+ __exportStar(require("./RemoveLastProperty"), exports);
33
+ __exportStar(require("./StringToDeepObject"), exports);
34
+ __exportStar(require("./ValueType"), exports);
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,oDAAkC;AAClC,yDAAuC;AACvC,6DAA2C;AAC3C,mDAAiC;AACjC,mDAAiC;AACjC,sDAAoC;AACpC,8CAA4B;AAC5B,0CAAwB;AACxB,8CAA4B;AAC5B,4CAA0B;AAC1B,0CAAwB;AACxB,4CAA0B;AAC1B,mDAAiC;AACjC,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,8CAA4B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kakasoo/deep-strict-types",
3
- "version": "1.0.29",
4
- "description": "",
3
+ "version": "2.0.1",
4
+ "description": "typescript utility types including deep-strict-omit and pick type",
5
5
  "private": false,
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -52,7 +52,7 @@
52
52
  "prettier": "^3.4.2",
53
53
  "rimraf": "^6.0.1",
54
54
  "ts-patch": "^3.3.0",
55
- "typescript": "^5.7.3",
55
+ "typescript": "~5.7.3",
56
56
  "typia": "^7.6.0"
57
57
  },
58
58
  "repository": {
@@ -1,4 +0,0 @@
1
- import { DeepStrictObjectKeys } from './types/DeepStrictObjectKeys';
2
- import { DeepStrictPick } from './types/DeepStrictPick';
3
- export declare const deepStrictAssert: <T extends object>(input: T) => <K extends DeepStrictObjectKeys<T>>(key: K) => DeepStrictPick<T, K>;
4
- //# sourceMappingURL=DeepStrictAssert.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeepStrictAssert.d.ts","sourceRoot":"","sources":["../../src/DeepStrictAssert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,eAAO,MAAM,gBAAgB,GAC1B,CAAC,SAAS,MAAM,SAAS,CAAC,MAC1B,CAAC,SAAS,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAiC/D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeepStrictAssert.js","sourceRoot":"","sources":["../../src/DeepStrictAssert.ts"],"names":[],"mappings":";;;AAGO,MAAM,gBAAgB,GAC3B,CAAmB,KAAQ,EAAE,EAAE,CAC/B,CAAoC,GAAM,EAAwB,EAAE;IAClE,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzD,MAAM,QAAQ,GAAG,CAAC,KAAkD,EAAE,IAAc,EAAO,EAAE;QAC3F,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAE9B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;oBACrB,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;wBAClE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;oBACrD,CAAC;oBAED,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,CAAC;gBAED,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;gBACnB,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC9D,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnD,CAAC;gBACD,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAyB,CAAC;AACvD,CAAC,CAAC;AAnCS,QAAA,gBAAgB,oBAmCzB"}