generator-zionapps
Version:
Angular 9 Code Generator
45 lines (38 loc) • 2.32 kB
text/typescript
/**
* <%= titleCase(pluralDomainName) %> Actions
* v<%= zionAppsGeneratorVersion %> | Generated on <%= zionAppsGeneratorBuildDate %>
*/
import {
generateNgRxCoreActionName,
generateNgRxCoreActions,
generateNgRxCoreEmptyPayloadAction,
generateNgRxCoreErrorPayloadAction,
generateNgRxCoreItemPayloadAction,
generateNgRxCoreListPayloadAction,
} from '@zionusa-nx-workspace/shared/ngrx-core';
import { <%= pascalCase(singularDomainName) %> } from '@zionusa-nx-workspace/shared/domain';
import {
I<%= pascalCase(pluralDomainName) %>Actions,
I<%= pascalCase(pluralDomainName) %>ActionType,
<%= pascalCase(pluralDomainName) %>Config,
} from './<%= paramCase(pluralDomainName) %>.domain';
const { Type, ...ActionGenerators } = generateNgRxCoreActions<<%= pascalCase(singularDomainName) %>, <%= idPropertyDataType %>>(<%= pascalCase(pluralDomainName) %>Config.pluralName);
const <%= pascalCase(singularDomainName) %>Type: I<%= pascalCase(pluralDomainName) %>ActionType = {
// Spread the original types
...Type,
// Add additional action types
EmptyExample: generateNgRxCoreActionName(<%= pascalCase(pluralDomainName) %>Config.pluralName, 'EmptyExample'),
ErrorExample: generateNgRxCoreActionName(<%= pascalCase(pluralDomainName) %>Config.pluralName, 'ErrorExample'),
ItemExample: generateNgRxCoreActionName(<%= pascalCase(pluralDomainName) %>Config.pluralName, 'ItemExample'),
ListExample: generateNgRxCoreActionName(<%= pascalCase(pluralDomainName) %>Config.pluralName, 'ListExample'),
};
export const <%= pascalCase(pluralDomainName) %>Actions: I<%= pascalCase(pluralDomainName) %>Actions = {
Type: <%= pascalCase(singularDomainName) %>Type,
// Spread the original actions
...ActionGenerators,
// Add additional action generators
EmptyExample: generateNgRxCoreEmptyPayloadAction(<%= pascalCase(singularDomainName) %>Type.EmptyExample),
ErrorExample: generateNgRxCoreErrorPayloadAction(<%= pascalCase(singularDomainName) %>Type.ErrorExample),
ItemExample: generateNgRxCoreItemPayloadAction<<%= pascalCase(singularDomainName) %>>(<%= pascalCase(singularDomainName) %>Type.ItemExample),
ListExample: generateNgRxCoreListPayloadAction<<%= pascalCase(singularDomainName) %>>(<%= pascalCase(singularDomainName) %>Type.ListExample),
};