@azure-net/kit 1.4.31 → 1.4.33

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.
@@ -2,6 +2,7 @@ import type { HttpServiceResponse } from '../httpService/index.js';
2
2
  type DeepKeys<T> = T extends object ? {
3
3
  [K in keyof T & string]: T[K] extends object ? K | `${K}.${DeepKeys<T[K]>}` : K;
4
4
  }[keyof T & string] : never;
5
+ type DeepValue<T, Path extends string> = Path extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? DeepValue<T[Key], Rest> : never : Path extends keyof T ? T[Path] : never;
5
6
  type ResponseBuilderState<TData, TMeta = unknown> = {
6
7
  data: TData;
7
8
  meta: TMeta;
@@ -14,11 +15,11 @@ export declare class ResponseBuilder<TData = unknown, TMeta = object, TWrapper =
14
15
  protected unwrapData(data: TWrapper): TData;
15
16
  mapUsing<TResource>(ResourceClass: new (data: TData) => {
16
17
  toPlainObject(): TResource;
17
- }): this;
18
+ }): Omit<this, keyof ResponseBuilder<unknown, unknown, unknown>> & ResponseBuilder<TResource, TMeta, TWrapper>;
18
19
  mapCollectionUsing<TResource>(ResourceClass: new (data: ArrayElement<TData>) => {
19
20
  toPlainObject(): TResource;
20
- }): this;
21
- extract<TPath extends DeepKeys<TData>>(path: TPath): this;
21
+ }): Omit<this, keyof ResponseBuilder<unknown, unknown, unknown>> & ResponseBuilder<TResource[], TMeta, TWrapper>;
22
+ extract<TPath extends DeepKeys<TData>>(path: TPath): Omit<this, keyof ResponseBuilder<unknown, unknown, unknown>> & ResponseBuilder<DeepValue<TData, TPath>, TMeta, TWrapper>;
22
23
  addMeta<TNewMeta extends Record<string, unknown>>(metaData: TNewMeta | ((current: TMeta) => TNewMeta)): Omit<this, keyof ResponseBuilder<unknown, unknown, unknown>> & ResponseBuilder<TData, TMeta & TNewMeta, TWrapper>;
23
24
  getData(): TData;
24
25
  get(): {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-net/kit",
3
- "version": "1.4.31",
3
+ "version": "1.4.33",
4
4
  "files": [
5
5
  "dist",
6
6
  "!dist/**/*.test.*",