Browse Source

fix: ts-toolbelt build errors for ng-packs

pull/20244/head
sumeyyeKurtulus 2 years ago
parent
commit
f5b030a001
  1. 2
      npm/ng-packs/package.json
  2. 4
      npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.ts
  3. 14
      npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts
  4. 47
      npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts
  5. 2
      npm/ng-packs/packages/components/extensible/src/lib/utils/typeahead.util.ts
  6. 4
      npm/ng-packs/packages/components/tsconfig.json
  7. 9
      npm/ng-packs/packages/core/src/lib/models/environment.ts

2
npm/ng-packs/package.json

@ -124,7 +124,7 @@
"should-quote": "^1.0.0", "should-quote": "^1.0.0",
"ts-jest": "29.1.0", "ts-jest": "29.1.0",
"ts-node": "10.9.1", "ts-node": "10.9.1",
"ts-toolbelt": "6.15.4", "ts-toolbelt": "^9.0.0",
"tslib": "^2.0.0", "tslib": "^2.0.0",
"tslint": "~6.1.0", "tslint": "~6.1.0",
"typescript": "~5.3.0", "typescript": "~5.3.0",

4
npm/ng-packs/packages/components/extensible/src/lib/components/extensible-form/extensible-form.component.ts

@ -55,7 +55,7 @@ export class ExtensibleFormComponent<R = any> {
extraPropertiesKey = EXTRA_PROPERTIES_KEY; extraPropertiesKey = EXTRA_PROPERTIES_KEY;
groupedPropList!: GroupedFormPropList; groupedPropList!: GroupedFormPropList;
groupedPropListOfArray: FormProp<any>[][]; groupedPropListOfArray!: FormProp<any>[][];
record!: R; record!: R;
get form(): UntypedFormGroup { get form(): UntypedFormGroup {
@ -76,7 +76,7 @@ export class ExtensibleFormComponent<R = any> {
} }
//TODO: Reactor this method //TODO: Reactor this method
isAnyGroupMemberVisible(index: number, data) { isAnyGroupMemberVisible(index: number, data: any) {
const { items } = this.groupedPropList; const { items } = this.groupedPropList;
const formPropList = items[index].formPropList.toArray(); const formPropList = items[index].formPropList.toArray();
return formPropList.some(prop => prop.visible(data)); return formPropList.some(prop => prop.visible(data));

14
npm/ng-packs/packages/components/extensible/src/lib/utils/form-props.util.ts

@ -1,10 +1,10 @@
import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
import { DateTimeAdapter,DateAdapter,TimeAdapter } from '@abp/ng.theme.shared'; import { DateTimeAdapter, DateAdapter, TimeAdapter } from '@abp/ng.theme.shared';
import { EXTRA_PROPERTIES_KEY } from '../constants/extra-properties'; import { EXTRA_PROPERTIES_KEY } from '../constants/extra-properties';
import { ePropType } from '../enums/props.enum'; import { ePropType } from '../enums/props.enum';
import { FormPropList } from "../models/form-props"; import { FormPropList } from '../models/form-props';
import { PropData } from "../models/props"; import { PropData } from '../models/props';
import { ExtensionsService } from '../services/extensions.service'; import { ExtensionsService } from '../services/extensions.service';
import { EXTENSIONS_IDENTIFIER } from '../tokens/extensions.token'; import { EXTENSIONS_IDENTIFIER } from '../tokens/extensions.token';
@ -16,7 +16,7 @@ export function generateFormFromProps<R = any>(data: PropData<R>) {
const extraForm = new UntypedFormGroup({}); const extraForm = new UntypedFormGroup({});
form.addControl(EXTRA_PROPERTIES_KEY, extraForm); form.addControl(EXTRA_PROPERTIES_KEY, extraForm);
const record = data.record || {}; const record: any = data.record || {};
const type = JSON.stringify(record) === '{}' ? 'create' : 'edit'; const type = JSON.stringify(record) === '{}' ? 'create' : 'edit';
const props: FormPropList<R> = extensions[`${type}FormProps`].get(identifier).props; const props: FormPropList<R> = extensions[`${type}FormProps`].get(identifier).props;
const extraProperties = record[EXTRA_PROPERTIES_KEY] || {}; const extraProperties = record[EXTRA_PROPERTIES_KEY] || {};
@ -24,7 +24,11 @@ export function generateFormFromProps<R = any>(data: PropData<R>) {
props.forEach(({ value: prop }) => { props.forEach(({ value: prop }) => {
const name = prop.name; const name = prop.name;
const isExtraProperty = prop.isExtra || name in extraProperties; const isExtraProperty = prop.isExtra || name in extraProperties;
let value = isExtraProperty ? extraProperties[name] : name in record ? record[name] : undefined; let value = isExtraProperty
? extraProperties[name as string]
: name in record
? record[name]
: undefined;
if (typeof value === 'undefined') value = prop.defaultValue; if (typeof value === 'undefined') value = prop.defaultValue;

47
npm/ng-packs/packages/components/extensible/src/lib/utils/props.util.ts

@ -26,7 +26,7 @@ import {
export function createExtraPropertyValueResolver<T>( export function createExtraPropertyValueResolver<T>(
name: string, name: string,
): PropCallback<T, Observable<any>> { ): PropCallback<T, Observable<any>> {
return (data?) => of((data.record as { [key: string]: any })[EXTRA_PROPERTIES_KEY][name]); return (data?) => of((data?.record as { [key: string]: any })[EXTRA_PROPERTIES_KEY][name]);
} }
export function mergeWithDefaultProps<F extends PropsFactory<any>>( export function mergeWithDefaultProps<F extends PropsFactory<any>>(
@ -47,26 +47,29 @@ export function mergeWithDefaultProps<F extends PropsFactory<any>>(
); );
}); });
} }
type InferredPropDefaults<F> = F extends EntityPropsFactory<infer RE> type InferredPropDefaults<F> =
? EntityPropDefaults<RE> F extends EntityPropsFactory<infer RE>
: F extends CreateFormPropsFactory<infer RCF> ? EntityPropDefaults<RE>
? CreateFormPropDefaults<RCF> : F extends CreateFormPropsFactory<infer RCF>
: F extends EditFormPropsFactory<infer REF> ? CreateFormPropDefaults<RCF>
? EditFormPropDefaults<REF> : F extends EditFormPropsFactory<infer REF>
: never; ? EditFormPropDefaults<REF>
: never;
type InferredPropContributorCallbacks<F> = F extends EntityPropsFactory<infer RE> type InferredPropContributorCallbacks<F> =
? EntityPropContributorCallbacks<RE> F extends EntityPropsFactory<infer RE>
: F extends CreateFormPropsFactory<infer RCF> ? EntityPropContributorCallbacks<RE>
? CreateFormPropContributorCallbacks<RCF> : F extends CreateFormPropsFactory<infer RCF>
: F extends EditFormPropsFactory<infer REF> ? CreateFormPropContributorCallbacks<RCF>
? EditFormPropContributorCallbacks<REF> : F extends EditFormPropsFactory<infer REF>
: never; ? EditFormPropContributorCallbacks<REF>
: never;
type InferredProps<F> = F extends EntityPropsFactory<infer RE> type InferredProps<F> =
? EntityProps<RE> F extends EntityPropsFactory<infer RE>
: F extends CreateFormPropsFactory<infer RCF> ? EntityProps<RE>
? FormProps<RCF> : F extends CreateFormPropsFactory<infer RCF>
: F extends EditFormPropsFactory<infer REF> ? FormProps<RCF>
? FormProps<REF> : F extends EditFormPropsFactory<infer REF>
: never; ? FormProps<REF>
: never;

2
npm/ng-packs/packages/components/extensible/src/lib/utils/typeahead.util.ts

@ -39,7 +39,7 @@ export function createTypeaheadOptions(
} }
export function getTypeaheadType(lookup: ExtensionPropertyUiLookupDto, name: string) { export function getTypeaheadType(lookup: ExtensionPropertyUiLookupDto, name: string) {
if (!!lookup.url) { if (!lookup.url) {
return ePropType.Typeahead; return ePropType.Typeahead;
} else { } else {
return name.endsWith(TYPEAHEAD_TEXT_SUFFIX) ? ePropType.Hidden : undefined; return name.endsWith(TYPEAHEAD_TEXT_SUFFIX) ? ePropType.Hidden : undefined;

4
npm/ng-packs/packages/components/tsconfig.json

@ -11,6 +11,8 @@
} }
], ],
"compilerOptions": { "compilerOptions": {
"target": "es2020" "target": "es2020",
"strict": true,
"strictNullChecks": true
} }
} }

9
npm/ng-packs/packages/core/src/lib/models/environment.ts

@ -1,5 +1,6 @@
import { AuthConfig } from 'angular-oauth2-oidc'; import { AuthConfig } from 'angular-oauth2-oidc';
import { ABP } from './common'; import { ABP } from './common';
import { O } from 'ts-toolbelt';
export interface Environment { export interface Environment {
apis: Apis; apis: Apis;
@ -20,17 +21,17 @@ export interface ApplicationInfo {
export interface HasAdditional { export interface HasAdditional {
[key: string]: string; [key: string]: string;
} }
export interface ApiConfig extends Partial<HasAdditional>{ export interface ApiConfig extends O.Partial<HasAdditional> {
url: string; url: string;
rootNamespace?: string; rootNamespace: string;
} }
export interface Apis { export interface Apis {
[key: string]: Partial<ApiConfig>; [key: string]: O.Partial<ApiConfig>;
default: ApiConfig; default: ApiConfig;
} }
export type customMergeFn = (localEnv: Partial<Environment>, remoteEnv: any) => Environment; export type customMergeFn = (localEnv: O.Partial<Environment>, remoteEnv: any) => Environment;
export interface RemoteEnv { export interface RemoteEnv {
url: string; url: string;

Loading…
Cancel
Save