Skip to content

Commit

Permalink
fix(project): revert new import for old syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
va-stefanek committed Jul 29, 2021
1 parent d104a46 commit f72f416
Show file tree
Hide file tree
Showing 14 changed files with 80 additions and 72 deletions.
7 changes: 5 additions & 2 deletions src/collection/crud/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import { formatFiles } from '../../utils/rules/format-files';
import {
findClassNameInFile,
findDeclarationNodeByPartialName,
findNamespaceName,
readIntoSourceFile
} from '../../utils/ts.utils';
import { DataServiceBackend } from '../data-service/data-service-schema';
Expand All @@ -37,7 +38,7 @@ export interface CrudGenerate {

export interface CrudOptions {
actionPrefix: string;
actionsAliasName: string;
actionsImportName: string;
dataService: {
names: Names;
path: string;
Expand Down Expand Up @@ -140,7 +141,9 @@ export function parseOptions(host: Tree, options: CrudSchema): CrudOptions {
const deleteResponseType = responseTypeParts.find(rtp => rtp.startsWith('d:'));

return {
actionsAliasName: createActionAliasName(parsedStateDir.actions),
actionsImportName: options.creators
? createActionAliasName(parsedStateDir.actions)
: findNamespaceName(host, parsedStateDir.actions),
effects: {
name: findClassNameInFile(host, parsedStateDir.effects)
},
Expand Down
64 changes: 32 additions & 32 deletions src/collection/crud/rules/crud-effects.rule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ function getEffectSpecTemplate(
actionName: string,
actionPayload = true
): string {
const { actionsAliasName, dataService } = options;
const { actionsImportName, dataService } = options;
const actionNames = names(actionName);
const payload = actionPayload ? '{} as any' : '';

return `\n\ndescribe('${actionNames.propertyName}$', () => {
test('returns ${actionNames.className}Success action on success', () => {
const payload = {} as any;
const action = new ${actionsAliasName}.${actionNames.className}(${payload});
const completion = new ${actionsAliasName}.${actionNames.className}Success(payload);
const action = new ${actionsImportName}.${actionNames.className}(${payload});
const completion = new ${actionsImportName}.${actionNames.className}Success(payload);
actions = hot('-a', {a: action});
const response = cold('--b|', {b: payload});
Expand All @@ -39,8 +39,8 @@ function getEffectSpecTemplate(
test('returns ${actionNames.className}Fail action on fail', () => {
const payload = {} as any;
const action = new ${actionsAliasName}.${actionNames.className}(${payload});
const completion = new ${actionsAliasName}.${actionNames.className}Fail(payload);
const action = new ${actionsImportName}.${actionNames.className}(${payload});
const completion = new ${actionsImportName}.${actionNames.className}Fail(payload);
actions = hot('-a', { a: action });
const response = cold('-#', {}, payload);
Expand All @@ -60,15 +60,15 @@ function getEffectCreatorsSpecTemplate(
actionName: string,
actionPayload = true
): string {
const { actionsAliasName, dataService } = options;
const { actionsImportName, dataService } = options;
const actionNames = names(actionName);
const payload = actionPayload ? '{} as any' : '';

return `\n\ndescribe('${actionNames.propertyName}$', () => {
test('returns ${actionNames.className}Success action on success', () => {
const payload = {} as any;
const action = ${actionsAliasName}.${camelize(actionNames.className)}(${payload});
const completion = ${actionsAliasName}.${camelize(actionNames.className)}Success(payload);
const action = ${actionsImportName}.${camelize(actionNames.className)}(${payload});
const completion = ${actionsImportName}.${camelize(actionNames.className)}Success(payload);
actions = hot('-a', {a: action});
const response = cold('--b|', {b: payload});
Expand All @@ -83,8 +83,8 @@ function getEffectCreatorsSpecTemplate(
test('returns ${actionNames.className}Fail action on fail', () => {
const payload = {} as any;
const action = ${actionsAliasName}.${camelize(actionNames.className)}(${payload});
const completion = ${actionsAliasName}.${camelize(actionNames.className)}Fail(payload);
const action = ${actionsImportName}.${camelize(actionNames.className)}(${payload});
const completion = ${actionsImportName}.${camelize(actionNames.className)}Fail(payload);
actions = hot('-a', { a: action });
const response = cold('-#', {}, payload);
Expand All @@ -104,41 +104,41 @@ function getEffectFetchTemplate(
actionName: string,
actionPayload = true
): string {
const { actionsAliasName } = options;
const { actionsImportName } = options;
const actionNames = names(actionName);
const payload = actionPayload ? 'action.payload' : '';

return `@Effect()
${actionNames.propertyName}$ = this.dp.fetch(${actionsAliasName}.${config.action.typesEnumName}.${actionNames.className}, {
${actionNames.propertyName}$ = this.dp.fetch(${actionsImportName}.${config.action.typesEnumName}.${actionNames.className}, {
id: () => {},
run: (action: ${actionsAliasName}.${actionNames.className}) => {
run: (action: ${actionsImportName}.${actionNames.className}) => {
return this.${options.dataService.names.propertyName}
.${actionNames.propertyName}(${payload})
.pipe(map(data => new ${actionsAliasName}.${actionNames.className}Success(data)));
.pipe(map(data => new ${actionsImportName}.${actionNames.className}Success(data)));
},
onError: (action: ${actionsAliasName}.${actionNames.className}, error: HttpErrorResponse) => {
return new ${actionsAliasName}.${actionNames.className}Fail(error);
onError: (action: ${actionsImportName}.${actionNames.className}, error: HttpErrorResponse) => {
return new ${actionsImportName}.${actionNames.className}Fail(error);
}
});\n\n`;
}

function getEffectCreatorFetchTemplate(options: CrudOptions, actionName: string): string {
const { actionsAliasName } = options;
const { actionsImportName } = options;
const actionNames = names(actionName);

return `${actionNames.propertyName}$ = createEffect(() => this.actions$.pipe(
ofType(${actionsAliasName}.${camelize(actionNames.className)}),
ofType(${actionsImportName}.${camelize(actionNames.className)}),
fetch({
id: () => {},
run: ({payload}) => {
return this.${options.dataService.names.propertyName}
.${actionNames.propertyName}(payload)
.pipe(map(data => ${actionsAliasName}.${camelize(
.pipe(map(data => ${actionsImportName}.${camelize(
actionNames.className
)}Success({payload: data})));
},
onError: (action, error: HttpErrorResponse) => {
return ${actionsAliasName}.${camelize(actionNames.className)}Fail({payload: error});
return ${actionsImportName}.${camelize(actionNames.className)}Fail({payload: error});
}
})
)
Expand All @@ -151,22 +151,22 @@ function getEffectUpdateTemplate(
update: 'pessimistic' | 'optimistic',
successPayload?: string
): string {
const { actionsAliasName } = options;
const { actionsImportName } = options;
const actionNames = names(actionName);

return `@Effect()
${actionNames.propertyName}$ = this.dp.${update}Update(${actionsAliasName}.${
${actionNames.propertyName}$ = this.dp.${update}Update(${actionsImportName}.${
config.action.typesEnumName
}.${actionNames.className}, {
run: (action: ${actionsAliasName}.${actionNames.className}) => {
run: (action: ${actionsImportName}.${actionNames.className}) => {
return this.${options.dataService.names.propertyName}
.${actionNames.propertyName}(action.payload)
.pipe(map(data => new ${actionsAliasName}.${actionNames.className}Success(${
.pipe(map(data => new ${actionsImportName}.${actionNames.className}Success(${
successPayload || 'data'
})));
},
onError: (action: ${actionsAliasName}.${actionNames.className}, error: HttpErrorResponse) => {
return new ${actionsAliasName}.${actionNames.className}Fail(error);
onError: (action: ${actionsImportName}.${actionNames.className}, error: HttpErrorResponse) => {
return new ${actionsImportName}.${actionNames.className}Fail(error);
}
});\n\n`;
}
Expand All @@ -177,21 +177,21 @@ function getEffectCreatorUpdateTemplate(
update: 'pessimistic' | 'optimistic',
successPayload?: string
): string {
const { actionsAliasName } = options;
const { actionsImportName } = options;
const actionNames = names(actionName);

return `${actionNames.propertyName}$ = createEffect(() => this.actions$.pipe(
ofType(${actionsAliasName}.${camelize(actionNames.className)}),
ofType(${actionsImportName}.${camelize(actionNames.className)}),
${update}Update({
run: ({payload}) => {
return this.${options.dataService.names.propertyName}
.${actionNames.propertyName}(payload)
.pipe(map(data => ${actionsAliasName}.${camelize(actionNames.className)}Success(${
.pipe(map(data => ${actionsImportName}.${camelize(actionNames.className)}Success(${
successPayload || '{payload: data}'
})));
},
onError: (action, error: HttpErrorResponse) => {
return ${actionsAliasName}.${camelize(actionNames.className)}Fail({payload: error});
return ${actionsImportName}.${camelize(actionNames.className)}Fail({payload: error});
}
})
)
Expand Down Expand Up @@ -392,7 +392,7 @@ export function crudEffects(options: CrudOptions): Rule {
return (host: Tree, context: SchematicContext) => {
context.logger.info(`Generating effects.`);

const { actionsAliasName, dataService, stateDir, statePartialName } = options;
const { actionsImportName, dataService, stateDir, statePartialName } = options;

insertConstructorArguments(host, options.stateDir.effects, [
{
Expand Down Expand Up @@ -420,7 +420,7 @@ export function crudEffects(options: CrudOptions): Rule {
insertCustomImport(host, stateDir.effects, 'HttpErrorResponse', '@angular/common/http');
insertCustomImport(host, stateDir.effects, 'map', 'rxjs/operators');

insertTypeImport(host, stateDir.effectsSpec, actionsAliasName);
insertTypeImport(host, stateDir.effectsSpec, actionsImportName);
insertTypeImport(host, stateDir.effectsSpec, dataService.names.className);
options.creators
? insertEffectCreatorPersistenceFunctions(host, stateDir.effectsSpec, options.toGenerate)
Expand Down
12 changes: 6 additions & 6 deletions src/collection/crud/rules/crud-facade-spec.rule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ function getMethodTestTemplate(
creators: boolean,
methodPayload = true
): string {
const { actionsAliasName } = options;
const { actionsImportName } = options;
const actionNames = names(actionName);
const actionToDispatch = creators
? `${actionsAliasName}.${camelize(actionNames.className)}(${methodPayload ? '{payload}' : ''})`
: `new ${actionsAliasName}.${actionNames.className}(${methodPayload ? 'payload' : ''})`;
? `${actionsImportName}.${camelize(actionNames.className)}(${methodPayload ? '{payload}' : ''})`
: `new ${actionsImportName}.${actionNames.className}(${methodPayload ? 'payload' : ''})`;

return `\n\ndescribe('#${method}', () => {
test('should dispatch ${actionsAliasName}.${
test('should dispatch ${actionsImportName}.${
creators ? camelize(actionNames.className) : actionNames.className
} action', () => {
${methodPayload ? 'const payload = {} as any;' : ''}
Expand Down Expand Up @@ -126,11 +126,11 @@ function createCrudFacadeSpec(host: Tree, options: CrudOptions): Change[] {

export function crudFacadeSpec(options: CrudOptions): Rule {
return (host: Tree, context: SchematicContext) => {
const { actionsAliasName, stateDir } = options;
const { actionsImportName, stateDir } = options;

insert(host, stateDir.facadeSpec, createCrudFacadeSpec(host, options));

insertTypeImport(host, stateDir.facadeSpec, actionsAliasName);
insertTypeImport(host, stateDir.facadeSpec, actionsImportName);

return host;
};
Expand Down
14 changes: 7 additions & 7 deletions src/collection/crud/rules/crud-facade.rule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ function getMethodTemplate(
}

function createFacade(host: Tree, options: CrudOptions): Change[] {
const { toGenerate, entity, stateDir, facade, actionsAliasName } = options;
const { toGenerate, entity, stateDir, facade, actionsImportName } = options;
const entityPropertyName = toPropertyName(entity.name);
const selectorChanges: Change[] = [];
const methodsChanges: Change[] = [];
Expand Down Expand Up @@ -59,7 +59,7 @@ function createFacade(host: Tree, options: CrudOptions): Change[] {
stateDir.facade,
facadeClassBody.getEnd(),
getMethodTemplate(
actionsAliasName,
actionsImportName,
`Get${entity.name}`,
getRequestPayloadClass(`Get${entity.name}`),
options.creators
Expand Down Expand Up @@ -92,7 +92,7 @@ function createFacade(host: Tree, options: CrudOptions): Change[] {
stateDir.facade,
facadeClassBody.getEnd(),
getMethodTemplate(
actionsAliasName,
actionsImportName,
`Get${entity.name}Collection`,
getRequestPayloadClass(`Get${entity.name}Collection`),
options.creators
Expand Down Expand Up @@ -120,7 +120,7 @@ function createFacade(host: Tree, options: CrudOptions): Change[] {
stateDir.facade,
facadeClassBody.getEnd(),
getMethodTemplate(
actionsAliasName,
actionsImportName,
`Create${entity.name}`,
getRequestPayloadClass(`Create${entity.name}`),
options.creators
Expand Down Expand Up @@ -148,7 +148,7 @@ function createFacade(host: Tree, options: CrudOptions): Change[] {
stateDir.facade,
facadeClassBody.getEnd(),
getMethodTemplate(
actionsAliasName,
actionsImportName,
`Update${entity.name}`,
getRequestPayloadClass(`Update${entity.name}`),
options.creators
Expand Down Expand Up @@ -176,7 +176,7 @@ function createFacade(host: Tree, options: CrudOptions): Change[] {
stateDir.facade,
facadeClassBody.getEnd(),
getMethodTemplate(
actionsAliasName,
actionsImportName,
`Remove${entity.name}`,
getRequestPayloadClass(`Remove${entity.name}`),
options.creators
Expand All @@ -195,7 +195,7 @@ export function crudFacade(options: CrudOptions): Rule {
insert(host, options.stateDir.facade, createFacade(host, options));

insertTypeImport(host, options.stateDir.facade, options.facade.queryName);
insertTypeImport(host, options.stateDir.facade, options.actionsAliasName);
insertTypeImport(host, options.stateDir.facade, options.actionsImportName);
insertTypeImport(host, options.stateDir.facade, options.entity.name);

if (options.toGenerate.read) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { Action } from '@ngrx/store';

export enum Types {}
export namespace from<%= className %>Actions {
export enum Types {}

export type CollectiveType = Action;
export type CollectiveType = Action;
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { provideMockStore } from '@ngrx/store/testing';
import { NxModule, DataPersistence } from '@nrwl/angular';
import { cold, hot } from 'jest-marbles';
import { <%= className %>Effects } from './<%= fileName %>.effects';
import * as from<%= className %>Actions from './<%= fileName %>.actions';
import { from<%= className %>Actions } from './<%= fileName %>.actions';

describe('<%= className %>Effects', () => {
let actions: Observable<any>;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { Effect } from '@ngrx/effects';
import { DataPersistence } from '@nrwl/angular';
import * as from<%= className %>Actions from './<%= fileName %>.actions';
import { from<%= className %>Actions } from './<%= fileName %>.actions';
import { <%= className %>PartialState } from './<%= fileName %>.reducer';

@Injectable()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { MockStore, provideMockStore } from '@ngrx/store/testing';
import { NxModule } from '@nrwl/angular';
import { Observable } from 'rxjs';
import { <%= className %>Facade } from './<%= fileName %>.facade';
import * as from<%= className %>Actions from './<%= fileName %>.actions';
import { from<%= className %>Actions } from './<%= fileName %>.actions';

describe('<%= className %>Facade', () => {
let actions: Observable<any>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
import { select, Store } from '@ngrx/store';
import { <%= className %>PartialState } from './<%= fileName %>.reducer';
import { <%= propertyName %>Query } from './<%= fileName %>.selectors';
import * as from<%= className %>Actions from './<%= fileName %>.actions';
import { from<%= className %>Actions } from './<%= fileName %>.actions';

@Injectable()
export class <%= className %>Facade {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as from<%= className %>Actions from './<%= fileName %>.actions';
import { from<%= className %>Actions } from './<%= fileName %>.actions';
import { <%= className %>State, initialState, <%= propertyName %>Reducer } from './<%= fileName %>.reducer';

describe('<%= className %> Reducer', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as from<%= className %>Actions from './<%= fileName %>.actions';
import { from<%= className %>Actions } from './<%= fileName %>.actions';

export const <%= className.toUpperCase() %>_FEATURE_KEY = '<%= propertyName %>';

Expand Down
Loading

0 comments on commit f72f416

Please sign in to comment.