@equinor/fusion-framework-module
Advanced tools
Comparing version 4.2.7 to 4.3.0
# Change Log | ||
## 4.3.0 | ||
### Minor Changes | ||
- [#1953](https://github.com/equinor/fusion-framework/pull/1953) [`f3ae28d`](https://github.com/equinor/fusion-framework/commit/f3ae28dc6d1d5043605e07e2cd2e83ae799cd904) Thanks [@odinr](https://github.com/odinr)! - updated typescript to 5.4.2 | ||
### Patch Changes | ||
- [#1953](https://github.com/equinor/fusion-framework/pull/1953) [`f3ae28d`](https://github.com/equinor/fusion-framework/commit/f3ae28dc6d1d5043605e07e2cd2e83ae799cd904) Thanks [@odinr](https://github.com/odinr)! - Reworked `DotPath` since previous method used recursive typing | ||
## 4.2.7 | ||
@@ -4,0 +14,0 @@ |
@@ -49,3 +49,3 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { | ||
_buildConfig(init, initial) { | ||
return from(Object.entries(__classPrivateFieldGet(this, _BaseConfigBuilder_configCallbacks, "f"))).pipe(mergeMap(([target, cb]) => __awaiter(this, void 0, void 0, function* () { | ||
return from(Object.entries(__classPrivateFieldGet(this, _BaseConfigBuilder_configCallbacks, "f"))).pipe(mergeMap((_a) => __awaiter(this, [_a], void 0, function* ([target, cb]) { | ||
const value = yield cb(init); | ||
@@ -52,0 +52,0 @@ return { target, value }; |
@@ -1,2 +0,2 @@ | ||
export const version = '4.2.7'; | ||
export const version = '4.3.0'; | ||
//# sourceMappingURL=version.js.map |
import { IModulesConfigurator } from './configurator'; | ||
import type { AnyModule } from './types'; | ||
export declare const initializeModules: <TModules extends AnyModule[], TInstance = any>(configurator: IModulesConfigurator<TModules, TInstance>, ref?: TInstance | undefined) => Promise<import("./types").ModulesInstance<TModules extends AnyModule[] ? TModules : never>>; | ||
export declare const initializeModules: <TModules extends AnyModule[], TInstance = any>(configurator: IModulesConfigurator<TModules, TInstance>, ref?: TInstance) => Promise<import("./types").ModulesInstance<TModules extends AnyModule[] ? TModules : never>>; | ||
export default initializeModules; |
@@ -1,12 +0,4 @@ | ||
type Key = string | number | symbol; | ||
type Join<L extends Key | undefined, R extends Key | undefined> = L extends string | number ? R extends string | number ? `${L}.${R}` : L : R extends string | number ? R : undefined; | ||
type Union<L extends unknown | undefined, R extends unknown | undefined> = L extends undefined ? R extends undefined ? undefined : R : R extends undefined ? L : L | R; | ||
type ObjectsToIgnore = { | ||
new (...parms: any[]): any; | ||
} | Date | Array<any>; | ||
type ValidObject<T> = T extends object ? (T extends ObjectsToIgnore ? false & 1 : T) : false & 1; | ||
export type DotPath<T extends object, Prev extends Key | undefined = undefined, Path extends Key | undefined = undefined, PrevTypes extends object = T> = string & { | ||
[K in keyof T]: T[K] extends PrevTypes | T ? Union<Union<Prev, Path>, Join<Path, K>> : Required<T>[K] extends ValidObject<Required<T>[K]> ? DotPath<Required<T>[K], Union<Prev, Path>, Join<Path, K>, PrevTypes | T> : Union<Union<Prev, Path>, Join<Path, K>>; | ||
}[keyof T]; | ||
export type DotPathType<T, Path extends string> = string extends Path ? unknown : Path extends keyof T ? T[Path] : Path extends `${infer K}.${infer R}` ? K extends keyof T ? DotPathType<T[K], R> : unknown : unknown; | ||
export {}; | ||
export type DotPath<TObject extends object> = { | ||
[Key in keyof TObject & string]: TObject[Key] extends CallableFunction ? never : TObject[Key] extends object ? `${Key}` | `${Key}.${DotPath<TObject[Key]>}` : `${Key}`; | ||
}[keyof TObject & string]; | ||
export type DotPathType<TType, TPath extends string> = TPath extends keyof TType ? TType[TPath] : TPath extends `${infer K}.${infer R}` ? K extends keyof TType ? DotPathType<TType[K], R> : never : never; |
@@ -1,1 +0,1 @@ | ||
export declare const version = "4.2.7"; | ||
export declare const version = "4.3.0"; |
{ | ||
"name": "@equinor/fusion-framework-module", | ||
"version": "4.2.7", | ||
"version": "4.3.0", | ||
"description": "", | ||
@@ -45,3 +45,3 @@ "main": "dist/esm/index.js", | ||
"@types/semver": "^7.5.0", | ||
"typescript": "^5.1.3" | ||
"typescript": "^5.4.2" | ||
}, | ||
@@ -48,0 +48,0 @@ "peerDependencies": { |
@@ -1,51 +0,15 @@ | ||
type Key = string | number | symbol; | ||
export type DotPath<TObject extends object> = { | ||
[Key in keyof TObject & string]: TObject[Key] extends CallableFunction | ||
? never | ||
: TObject[Key] extends object | ||
? `${Key}` | `${Key}.${DotPath<TObject[Key]>}` | ||
: `${Key}`; | ||
}[keyof TObject & string]; | ||
type Join<L extends Key | undefined, R extends Key | undefined> = L extends string | number | ||
? R extends string | number | ||
? `${L}.${R}` | ||
: L | ||
: R extends string | number | ||
? R | ||
: undefined; | ||
type Union<L extends unknown | undefined, R extends unknown | undefined> = L extends undefined | ||
? R extends undefined | ||
? undefined | ||
: R | ||
: R extends undefined | ||
? L | ||
: L | R; | ||
// Use this type to define object types you want to skip (no path-scanning) | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
type ObjectsToIgnore = { new (...parms: any[]): any } | Date | Array<any>; | ||
type ValidObject<T> = T extends object ? (T extends ObjectsToIgnore ? false & 1 : T) : false & 1; | ||
export type DotPath< | ||
T extends object, | ||
Prev extends Key | undefined = undefined, | ||
Path extends Key | undefined = undefined, | ||
PrevTypes extends object = T, | ||
> = string & | ||
{ | ||
[K in keyof T]: T[K] extends PrevTypes | T // T[K] is a type alredy checked? | ||
? // Return all previous paths. | ||
Union<Union<Prev, Path>, Join<Path, K>> | ||
: // T[K] is an object?. | ||
Required<T>[K] extends ValidObject<Required<T>[K]> | ||
? // Continue extracting | ||
DotPath<Required<T>[K], Union<Prev, Path>, Join<Path, K>, PrevTypes | T> | ||
: // Return all previous paths, including current key. | ||
Union<Union<Prev, Path>, Join<Path, K>>; | ||
}[keyof T]; | ||
export type DotPathType<T, Path extends string> = string extends Path | ||
? unknown | ||
: Path extends keyof T | ||
? T[Path] | ||
: Path extends `${infer K}.${infer R}` | ||
? K extends keyof T | ||
? DotPathType<T[K], R> | ||
: unknown | ||
: unknown; | ||
export type DotPathType<TType, TPath extends string> = TPath extends keyof TType | ||
? TType[TPath] | ||
: TPath extends `${infer K}.${infer R}` | ||
? K extends keyof TType | ||
? DotPathType<TType[K], R> | ||
: never | ||
: never; |
// Generated by genversion. | ||
export const version = '4.2.7'; | ||
export const version = '4.3.0'; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
187644
1596