@ngrx/data 16.1.0 → 16.3.0

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.
Files changed (39) hide show
  1. package/esm2022/src/actions/entity-action-factory.mjs +5 -6
  2. package/esm2022/src/dataservices/data-service-error.mjs +4 -5
  3. package/esm2022/src/dataservices/default-data.service.mjs +5 -6
  4. package/esm2022/src/dataservices/entity-cache-data.service.mjs +5 -6
  5. package/esm2022/src/dataservices/entity-data.service.mjs +5 -6
  6. package/esm2022/src/dataservices/http-url-generator.mjs +5 -6
  7. package/esm2022/src/dataservices/persistence-result-handler.service.mjs +5 -6
  8. package/esm2022/src/dispatchers/entity-cache-dispatcher.mjs +5 -6
  9. package/esm2022/src/dispatchers/entity-dispatcher-default-options.mjs +5 -6
  10. package/esm2022/src/dispatchers/entity-dispatcher-factory.mjs +5 -6
  11. package/esm2022/src/effects/entity-cache-effects.mjs +5 -6
  12. package/esm2022/src/effects/entity-effects.mjs +5 -6
  13. package/esm2022/src/entity-data-without-effects.module.mjs +6 -7
  14. package/esm2022/src/entity-data.module.mjs +6 -7
  15. package/esm2022/src/entity-metadata/entity-definition.service.mjs +5 -6
  16. package/esm2022/src/entity-services/entity-collection-service-elements-factory.mjs +5 -6
  17. package/esm2022/src/entity-services/entity-collection-service-factory.mjs +5 -6
  18. package/esm2022/src/entity-services/entity-services-base.mjs +5 -6
  19. package/esm2022/src/entity-services/entity-services-elements.mjs +5 -6
  20. package/esm2022/src/reducers/entity-cache-reducer.mjs +5 -6
  21. package/esm2022/src/reducers/entity-collection-creator.mjs +5 -6
  22. package/esm2022/src/reducers/entity-collection-reducer-methods.mjs +5 -6
  23. package/esm2022/src/reducers/entity-collection-reducer-registry.mjs +5 -6
  24. package/esm2022/src/reducers/entity-collection-reducer.mjs +5 -6
  25. package/esm2022/src/selectors/entity-selectors$.mjs +5 -6
  26. package/esm2022/src/selectors/entity-selectors.mjs +5 -6
  27. package/esm2022/src/utils/correlation-id-generator.mjs +5 -6
  28. package/esm2022/src/utils/default-logger.mjs +5 -6
  29. package/esm2022/src/utils/default-pluralizer.mjs +5 -6
  30. package/fesm2022/ngrx-data.mjs +89 -90
  31. package/fesm2022/ngrx-data.mjs.map +1 -1
  32. package/package.json +4 -4
  33. package/schematics/ng-add/index.js +49 -4
  34. package/schematics/ng-add/index.js.map +1 -1
  35. package/schematics-core/utility/libs-version.js +1 -1
  36. package/schematics-core/utility/libs-version.js.map +1 -1
  37. package/schematics-core/utility/standalone.js +12 -0
  38. package/schematics-core/utility/standalone.js.map +1 -0
  39. package/src/dataservices/data-service-error.d.ts +1 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngrx/data",
3
- "version": "16.1.0",
3
+ "version": "16.3.0",
4
4
  "description": "API management for NgRx",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,9 +22,9 @@
22
22
  "peerDependencies": {
23
23
  "@angular/common": "^16.0.0",
24
24
  "@angular/core": "^16.0.0",
25
- "@ngrx/store": "16.1.0",
26
- "@ngrx/effects": "16.1.0",
27
- "@ngrx/entity": "16.1.0",
25
+ "@ngrx/store": "16.3.0",
26
+ "@ngrx/effects": "16.3.0",
27
+ "@ngrx/entity": "16.3.0",
28
28
  "rxjs": "^6.5.3 || ^7.5.0"
29
29
  },
30
30
  "schematics": "./schematics/collection.json",
@@ -40,6 +40,9 @@ var ts = require("typescript");
40
40
  var schematics_1 = require("@angular-devkit/schematics");
41
41
  var tasks_1 = require("@angular-devkit/schematics/tasks");
42
42
  var schematics_core_1 = require("../../schematics-core");
43
+ var project_1 = require("../../schematics-core/utility/project");
44
+ var standalone_1 = require("../../schematics-core/utility/standalone");
45
+ var standalone_2 = require("@schematics/angular/private/standalone");
43
46
  function addNgRxDataToPackageJson() {
44
47
  return function (host, context) {
45
48
  (0, schematics_core_1.addPackageToPackageJson)(host, 'dependencies', '@ngrx/data', schematics_core_1.platformVersion);
@@ -69,6 +72,42 @@ function addEntityDataToNgModule(options) {
69
72
  return host;
70
73
  };
71
74
  }
75
+ function addStandaloneConfig(options) {
76
+ return function (host) {
77
+ var mainFile = (0, project_1.getProjectMainFile)(host, options);
78
+ if (host.exists(mainFile)) {
79
+ var providerFn = 'provideEntityData';
80
+ if ((0, standalone_2.callsProvidersFunction)(host, mainFile, providerFn)) {
81
+ // exit because the store config is already provided
82
+ return host;
83
+ }
84
+ var providerOptions = __spreadArray(__spreadArray([], __read((options.entityConfig
85
+ ? [ts.factory.createIdentifier("entityConfig")]
86
+ : [ts.factory.createIdentifier("{}")])), false), __read((options.effects
87
+ ? [ts.factory.createIdentifier("withEffects()")]
88
+ : [])), false);
89
+ var patchedConfigFile = (0, standalone_2.addFunctionalProvidersToStandaloneBootstrap)(host, mainFile, providerFn, '@ngrx/data', providerOptions);
90
+ var configFileContent = host.read(patchedConfigFile);
91
+ var source = ts.createSourceFile(patchedConfigFile, (configFileContent === null || configFileContent === void 0 ? void 0 : configFileContent.toString('utf-8')) || '', ts.ScriptTarget.Latest, true);
92
+ var recorder_1 = host.beginUpdate(patchedConfigFile);
93
+ var changes = [];
94
+ if (options.effects) {
95
+ var withEffectsImport = (0, schematics_core_1.insertImport)(source, patchedConfigFile, 'withEffects', '@ngrx/data');
96
+ changes.push(withEffectsImport);
97
+ }
98
+ if (options.entityConfig) {
99
+ var entityConfigImport = (0, schematics_core_1.insertImport)(source, patchedConfigFile, 'entityConfig', './entity-metadata');
100
+ changes.push(entityConfigImport);
101
+ }
102
+ changes.forEach(function (change) {
103
+ recorder_1.insertLeft(change.pos, change.toAdd);
104
+ });
105
+ host.commitUpdate(recorder_1);
106
+ return host;
107
+ }
108
+ throw new schematics_1.SchematicsException("Main file not found for a project ".concat(options.project));
109
+ };
110
+ }
72
111
  var renames = {
73
112
  NgrxDataModule: 'EntityDataModule',
74
113
  NgrxDataModuleWithoutEffects: 'EntityDataModuleWithoutEffects',
@@ -196,12 +235,18 @@ function default_1(options) {
196
235
  return function (host, context) {
197
236
  options.name = '';
198
237
  options.path = (0, schematics_core_1.getProjectPath)(host, options);
238
+ var mainFile = (0, project_1.getProjectMainFile)(host, options);
239
+ var isStandalone = (0, standalone_1.isStandaloneApp)(host, mainFile);
199
240
  options.effects = options.effects === undefined ? true : options.effects;
200
- options.module = options.module
201
- ? (0, schematics_core_1.findModuleFromOptions)(host, options)
202
- : options.module;
241
+ options.module =
242
+ options.module && !isStandalone
243
+ ? (0, schematics_core_1.findModuleFromOptions)(host, options)
244
+ : options.module;
203
245
  var parsedPath = (0, schematics_core_1.parseName)(options.path, '');
204
246
  options.path = parsedPath.path;
247
+ var configOrModuleUpdate = isStandalone
248
+ ? addStandaloneConfig(options)
249
+ : addEntityDataToNgModule(options);
205
250
  return (0, schematics_1.chain)([
206
251
  options && options.skipPackageJson ? (0, schematics_1.noop)() : addNgRxDataToPackageJson(),
207
252
  options.migrateNgrxData
@@ -209,7 +254,7 @@ function default_1(options) {
209
254
  removeAngularNgRxDataFromPackageJson(),
210
255
  renameNgrxDataModule(),
211
256
  ])
212
- : addEntityDataToNgModule(options),
257
+ : (0, schematics_1.branchAndMerge)((0, schematics_1.chain)([configOrModuleUpdate])),
213
258
  options.entityConfig
214
259
  ? createEntityConfigFile(options, parsedPath.path)
215
260
  : (0, schematics_1.noop)(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/data/schematics/ng-add/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript';\nimport { Path } from '@angular-devkit/core';\nimport {\n apply,\n applyTemplates,\n chain,\n mergeWith,\n move,\n noop,\n Rule,\n SchematicContext,\n SchematicsException,\n Tree,\n url,\n} from '@angular-devkit/schematics';\nimport { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';\nimport {\n addImportToModule,\n addPackageToPackageJson,\n commitChanges,\n createReplaceChange,\n findModuleFromOptions,\n getProjectPath,\n insertImport,\n parseName,\n platformVersion,\n ReplaceChange,\n stringUtils,\n visitTSSourceFiles,\n} from '../../schematics-core';\nimport { Schema as EntityDataOptions } from './schema';\n\nfunction addNgRxDataToPackageJson() {\n return (host: Tree, context: SchematicContext) => {\n addPackageToPackageJson(\n host,\n 'dependencies',\n '@ngrx/data',\n platformVersion\n );\n context.addTask(new NodePackageInstallTask());\n return host;\n };\n}\n\nfunction addEntityDataToNgModule(options: EntityDataOptions): Rule {\n return (host: Tree) => {\n throwIfModuleNotSpecified(host, options.module);\n\n const modulePath = options.module!;\n const text = host.read(modulePath)!.toString();\n\n const source = ts.createSourceFile(\n modulePath,\n text,\n ts.ScriptTarget.Latest,\n true\n );\n\n const moduleToImport = options.effects\n ? 'EntityDataModule'\n : 'EntityDataModuleWithoutEffects';\n\n const effectsModuleImport = insertImport(\n source,\n modulePath,\n moduleToImport,\n '@ngrx/data'\n );\n\n const [dateEntityNgModuleImport] = addImportToModule(\n source,\n modulePath,\n options.entityConfig\n ? [moduleToImport, 'forRoot(entityConfig)'].join('.')\n : moduleToImport,\n ''\n );\n\n const changes = [effectsModuleImport, dateEntityNgModuleImport];\n\n if (options.entityConfig) {\n const entityConfigImport = insertImport(\n source,\n modulePath,\n 'entityConfig',\n './entity-metadata'\n );\n changes.push(entityConfigImport);\n }\n\n commitChanges(host, source.fileName, changes);\n\n return host;\n };\n}\n\nconst renames = {\n NgrxDataModule: 'EntityDataModule',\n NgrxDataModuleWithoutEffects: 'EntityDataModuleWithoutEffects',\n NgrxDataModuleConfig: 'EntityDataModuleConfig',\n};\n\nfunction removeAngularNgRxDataFromPackageJson() {\n return (host: Tree) => {\n if (host.exists('package.json')) {\n const sourceText = host.read('package.json')!.toString('utf-8');\n const json = JSON.parse(sourceText);\n\n if (json['dependencies'] && json['dependencies']['ngrx-data']) {\n delete json['dependencies']['ngrx-data'];\n }\n\n host.overwrite('package.json', JSON.stringify(json, null, 2));\n }\n\n return host;\n };\n}\n\nfunction renameNgrxDataModule() {\n return (host: Tree) => {\n visitTSSourceFiles(host, (sourceFile) => {\n const ngrxDataImports = sourceFile.statements\n .filter(ts.isImportDeclaration)\n .filter(\n ({ moduleSpecifier }) =>\n moduleSpecifier.getText(sourceFile) === \"'ngrx-data'\"\n );\n\n if (ngrxDataImports.length === 0) {\n return;\n }\n\n const changes = [\n ...findNgrxDataImports(sourceFile, ngrxDataImports),\n ...findNgrxDataImportDeclarations(sourceFile, ngrxDataImports),\n ...findNgrxDataReplacements(sourceFile),\n ];\n\n commitChanges(host, sourceFile.fileName, changes);\n });\n };\n}\n\nfunction findNgrxDataImports(\n sourceFile: ts.SourceFile,\n imports: ts.ImportDeclaration[]\n) {\n const changes = imports.map((specifier) =>\n createReplaceChange(\n sourceFile,\n specifier.moduleSpecifier,\n \"'ngrx-data'\",\n \"'@ngrx/data'\"\n )\n );\n\n return changes;\n}\n\nfunction findNgrxDataImportDeclarations(\n sourceFile: ts.SourceFile,\n imports: ts.ImportDeclaration[]\n) {\n const changes = imports\n .map((p) => (p.importClause!.namedBindings! as ts.NamedImports).elements)\n .reduce((imports, curr) => imports.concat(curr), [] as ts.ImportSpecifier[])\n .map((specifier) => {\n if (!ts.isImportSpecifier(specifier)) {\n return { hit: false };\n }\n\n const ngrxDataImports = Object.keys(renames);\n if (ngrxDataImports.includes(specifier.name.text)) {\n return { hit: true, specifier, text: specifier.name.text };\n }\n\n // if import is renamed\n if (\n specifier.propertyName &&\n ngrxDataImports.includes(specifier.propertyName.text)\n ) {\n return { hit: true, specifier, text: specifier.propertyName.text };\n }\n\n return { hit: false };\n })\n .filter(({ hit }) => hit)\n .map(({ specifier, text }) =>\n createReplaceChange(\n sourceFile,\n specifier!,\n text!,\n (renames as any)[text!]\n )\n );\n\n return changes;\n}\n\nfunction findNgrxDataReplacements(sourceFile: ts.SourceFile) {\n const renameKeys = Object.keys(renames);\n const changes: ReplaceChange[] = [];\n ts.forEachChild(sourceFile, (node) => find(node, changes));\n return changes;\n\n function find(node: ts.Node, changes: ReplaceChange[]) {\n let change = undefined;\n\n if (\n ts.isPropertyAssignment(node) &&\n renameKeys.includes(node.initializer.getText(sourceFile))\n ) {\n change = {\n node: node.initializer,\n text: node.initializer.getText(sourceFile),\n };\n }\n\n if (\n ts.isPropertyAccessExpression(node) &&\n renameKeys.includes(node.expression.getText(sourceFile))\n ) {\n change = {\n node: node.expression,\n text: node.expression.getText(sourceFile),\n };\n }\n\n if (\n ts.isVariableDeclaration(node) &&\n node.type &&\n renameKeys.includes(node.type.getText(sourceFile))\n ) {\n change = {\n node: node.type,\n text: node.type.getText(sourceFile),\n };\n }\n\n if (change) {\n changes.push(\n createReplaceChange(\n sourceFile,\n change.node,\n change.text,\n (renames as any)[change.text]\n )\n );\n }\n\n ts.forEachChild(node, (childNode) => find(childNode, changes));\n }\n}\n\nfunction throwIfModuleNotSpecified(host: Tree, module?: string) {\n if (!module) {\n throw new Error('Module not specified');\n }\n\n if (!host.exists(module)) {\n throw new Error('Specified module does not exist');\n }\n\n const text = host.read(module);\n if (text === null) {\n throw new SchematicsException(`File ${module} does not exist.`);\n }\n}\n\nfunction createEntityConfigFile(options: EntityDataOptions, path: Path) {\n return mergeWith(\n apply(url('./files'), [\n applyTemplates({\n ...stringUtils,\n ...options,\n }),\n move(path),\n ])\n );\n}\n\nexport default function (options: EntityDataOptions): Rule {\n return (host: Tree, context: SchematicContext) => {\n (options as any).name = '';\n options.path = getProjectPath(host, options);\n options.effects = options.effects === undefined ? true : options.effects;\n options.module = options.module\n ? findModuleFromOptions(host, options as any)\n : options.module;\n\n const parsedPath = parseName(options.path, '');\n options.path = parsedPath.path;\n\n return chain([\n options && options.skipPackageJson ? noop() : addNgRxDataToPackageJson(),\n options.migrateNgrxData\n ? chain([\n removeAngularNgRxDataFromPackageJson(),\n renameNgrxDataModule(),\n ])\n : addEntityDataToNgModule(options),\n options.entityConfig\n ? createEntityConfigFile(options, parsedPath.path)\n : noop(),\n ])(host, context);\n };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../modules/data/schematics/ng-add/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript';\nimport { Path } from '@angular-devkit/core';\nimport {\n apply,\n applyTemplates,\n branchAndMerge,\n chain,\n mergeWith,\n move,\n Rule,\n SchematicContext,\n SchematicsException,\n noop,\n Tree,\n url,\n} from '@angular-devkit/schematics';\nimport { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';\nimport {\n addImportToModule,\n addPackageToPackageJson,\n commitChanges,\n createReplaceChange,\n findModuleFromOptions,\n getProjectPath,\n insertImport,\n parseName,\n platformVersion,\n ReplaceChange,\n stringUtils,\n visitTSSourceFiles,\n} from '../../schematics-core';\nimport { Schema as EntityDataOptions } from './schema';\nimport { getProjectMainFile } from '../../schematics-core/utility/project';\nimport { isStandaloneApp } from '../../schematics-core/utility/standalone';\nimport {\n addFunctionalProvidersToStandaloneBootstrap,\n callsProvidersFunction,\n} from '@schematics/angular/private/standalone';\n\nfunction addNgRxDataToPackageJson() {\n return (host: Tree, context: SchematicContext) => {\n addPackageToPackageJson(\n host,\n 'dependencies',\n '@ngrx/data',\n platformVersion\n );\n context.addTask(new NodePackageInstallTask());\n return host;\n };\n}\n\nfunction addEntityDataToNgModule(options: EntityDataOptions): Rule {\n return (host: Tree) => {\n throwIfModuleNotSpecified(host, options.module);\n\n const modulePath = options.module!;\n const text = host.read(modulePath)!.toString();\n\n const source = ts.createSourceFile(\n modulePath,\n text,\n ts.ScriptTarget.Latest,\n true\n );\n\n const moduleToImport = options.effects\n ? 'EntityDataModule'\n : 'EntityDataModuleWithoutEffects';\n\n const effectsModuleImport = insertImport(\n source,\n modulePath,\n moduleToImport,\n '@ngrx/data'\n );\n\n const [dateEntityNgModuleImport] = addImportToModule(\n source,\n modulePath,\n options.entityConfig\n ? [moduleToImport, 'forRoot(entityConfig)'].join('.')\n : moduleToImport,\n ''\n );\n\n const changes = [effectsModuleImport, dateEntityNgModuleImport];\n\n if (options.entityConfig) {\n const entityConfigImport = insertImport(\n source,\n modulePath,\n 'entityConfig',\n './entity-metadata'\n );\n changes.push(entityConfigImport);\n }\n\n commitChanges(host, source.fileName, changes);\n\n return host;\n };\n}\n\nfunction addStandaloneConfig(options: EntityDataOptions): Rule {\n return (host: Tree) => {\n const mainFile = getProjectMainFile(host, options);\n if (host.exists(mainFile)) {\n const providerFn = 'provideEntityData';\n\n if (callsProvidersFunction(host, mainFile, providerFn)) {\n // exit because the store config is already provided\n return host;\n }\n\n const providerOptions = [\n ...(options.entityConfig\n ? [ts.factory.createIdentifier(`entityConfig`)]\n : [ts.factory.createIdentifier(`{}`)]),\n ...(options.effects\n ? [ts.factory.createIdentifier(`withEffects()`)]\n : []),\n ];\n\n const patchedConfigFile = addFunctionalProvidersToStandaloneBootstrap(\n host,\n mainFile,\n providerFn,\n '@ngrx/data',\n providerOptions\n );\n\n const configFileContent = host.read(patchedConfigFile);\n const source = ts.createSourceFile(\n patchedConfigFile,\n configFileContent?.toString('utf-8') || '',\n ts.ScriptTarget.Latest,\n true\n );\n\n const recorder = host.beginUpdate(patchedConfigFile);\n\n const changes = [];\n\n if (options.effects) {\n const withEffectsImport = insertImport(\n source,\n patchedConfigFile,\n 'withEffects',\n '@ngrx/data'\n );\n\n changes.push(withEffectsImport);\n }\n\n if (options.entityConfig) {\n const entityConfigImport = insertImport(\n source,\n patchedConfigFile,\n 'entityConfig',\n './entity-metadata'\n );\n\n changes.push(entityConfigImport);\n }\n\n changes.forEach((change: any) => {\n recorder.insertLeft(change.pos, change.toAdd);\n });\n\n host.commitUpdate(recorder);\n\n return host;\n }\n\n throw new SchematicsException(\n `Main file not found for a project ${options.project}`\n );\n };\n}\n\nconst renames = {\n NgrxDataModule: 'EntityDataModule',\n NgrxDataModuleWithoutEffects: 'EntityDataModuleWithoutEffects',\n NgrxDataModuleConfig: 'EntityDataModuleConfig',\n};\n\nfunction removeAngularNgRxDataFromPackageJson() {\n return (host: Tree) => {\n if (host.exists('package.json')) {\n const sourceText = host.read('package.json')!.toString('utf-8');\n const json = JSON.parse(sourceText);\n\n if (json['dependencies'] && json['dependencies']['ngrx-data']) {\n delete json['dependencies']['ngrx-data'];\n }\n\n host.overwrite('package.json', JSON.stringify(json, null, 2));\n }\n\n return host;\n };\n}\n\nfunction renameNgrxDataModule() {\n return (host: Tree) => {\n visitTSSourceFiles(host, (sourceFile) => {\n const ngrxDataImports = sourceFile.statements\n .filter(ts.isImportDeclaration)\n .filter(\n ({ moduleSpecifier }) =>\n moduleSpecifier.getText(sourceFile) === \"'ngrx-data'\"\n );\n\n if (ngrxDataImports.length === 0) {\n return;\n }\n\n const changes = [\n ...findNgrxDataImports(sourceFile, ngrxDataImports),\n ...findNgrxDataImportDeclarations(sourceFile, ngrxDataImports),\n ...findNgrxDataReplacements(sourceFile),\n ];\n\n commitChanges(host, sourceFile.fileName, changes);\n });\n };\n}\n\nfunction findNgrxDataImports(\n sourceFile: ts.SourceFile,\n imports: ts.ImportDeclaration[]\n) {\n const changes = imports.map((specifier) =>\n createReplaceChange(\n sourceFile,\n specifier.moduleSpecifier,\n \"'ngrx-data'\",\n \"'@ngrx/data'\"\n )\n );\n\n return changes;\n}\n\nfunction findNgrxDataImportDeclarations(\n sourceFile: ts.SourceFile,\n imports: ts.ImportDeclaration[]\n) {\n const changes = imports\n .map((p) => (p.importClause!.namedBindings! as ts.NamedImports).elements)\n .reduce((imports, curr) => imports.concat(curr), [] as ts.ImportSpecifier[])\n .map((specifier) => {\n if (!ts.isImportSpecifier(specifier)) {\n return { hit: false };\n }\n\n const ngrxDataImports = Object.keys(renames);\n if (ngrxDataImports.includes(specifier.name.text)) {\n return { hit: true, specifier, text: specifier.name.text };\n }\n\n // if import is renamed\n if (\n specifier.propertyName &&\n ngrxDataImports.includes(specifier.propertyName.text)\n ) {\n return { hit: true, specifier, text: specifier.propertyName.text };\n }\n\n return { hit: false };\n })\n .filter(({ hit }) => hit)\n .map(({ specifier, text }) =>\n createReplaceChange(\n sourceFile,\n specifier!,\n text!,\n (renames as any)[text!]\n )\n );\n\n return changes;\n}\n\nfunction findNgrxDataReplacements(sourceFile: ts.SourceFile) {\n const renameKeys = Object.keys(renames);\n const changes: ReplaceChange[] = [];\n ts.forEachChild(sourceFile, (node) => find(node, changes));\n return changes;\n\n function find(node: ts.Node, changes: ReplaceChange[]) {\n let change = undefined;\n\n if (\n ts.isPropertyAssignment(node) &&\n renameKeys.includes(node.initializer.getText(sourceFile))\n ) {\n change = {\n node: node.initializer,\n text: node.initializer.getText(sourceFile),\n };\n }\n\n if (\n ts.isPropertyAccessExpression(node) &&\n renameKeys.includes(node.expression.getText(sourceFile))\n ) {\n change = {\n node: node.expression,\n text: node.expression.getText(sourceFile),\n };\n }\n\n if (\n ts.isVariableDeclaration(node) &&\n node.type &&\n renameKeys.includes(node.type.getText(sourceFile))\n ) {\n change = {\n node: node.type,\n text: node.type.getText(sourceFile),\n };\n }\n\n if (change) {\n changes.push(\n createReplaceChange(\n sourceFile,\n change.node,\n change.text,\n (renames as any)[change.text]\n )\n );\n }\n\n ts.forEachChild(node, (childNode) => find(childNode, changes));\n }\n}\n\nfunction throwIfModuleNotSpecified(host: Tree, module?: string) {\n if (!module) {\n throw new Error('Module not specified');\n }\n\n if (!host.exists(module)) {\n throw new Error('Specified module does not exist');\n }\n\n const text = host.read(module);\n if (text === null) {\n throw new SchematicsException(`File ${module} does not exist.`);\n }\n}\n\nfunction createEntityConfigFile(options: EntityDataOptions, path: Path) {\n return mergeWith(\n apply(url('./files'), [\n applyTemplates({\n ...stringUtils,\n ...options,\n }),\n move(path),\n ])\n );\n}\n\nexport default function (options: EntityDataOptions): Rule {\n return (host: Tree, context: SchematicContext) => {\n (options as any).name = '';\n options.path = getProjectPath(host, options);\n const mainFile = getProjectMainFile(host, options);\n const isStandalone = isStandaloneApp(host, mainFile);\n options.effects = options.effects === undefined ? true : options.effects;\n options.module =\n options.module && !isStandalone\n ? findModuleFromOptions(host, options as any)\n : options.module;\n\n const parsedPath = parseName(options.path, '');\n options.path = parsedPath.path;\n\n const configOrModuleUpdate = isStandalone\n ? addStandaloneConfig(options)\n : addEntityDataToNgModule(options);\n\n return chain([\n options && options.skipPackageJson ? noop() : addNgRxDataToPackageJson(),\n options.migrateNgrxData\n ? chain([\n removeAngularNgRxDataFromPackageJson(),\n renameNgrxDataModule(),\n ])\n : branchAndMerge(chain([configOrModuleUpdate])),\n options.entityConfig\n ? createEntityConfigFile(options, parsedPath.path)\n : noop(),\n ])(host, context);\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.platformVersion = void 0;
4
- exports.platformVersion = '^16.1.0';
4
+ exports.platformVersion = '^16.3.0';
5
5
  //# sourceMappingURL=libs-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"libs-version.js","sourceRoot":"","sources":["../../../../../modules/data/schematics-core/utility/libs-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,SAAS,CAAC","sourcesContent":["export const platformVersion = '^16.1.0';\n"]}
1
+ {"version":3,"file":"libs-version.js","sourceRoot":"","sources":["../../../../../modules/data/schematics-core/utility/libs-version.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,SAAS,CAAC","sourcesContent":["export const platformVersion = '^16.3.0';\n"]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isStandaloneApp = void 0;
4
+ var ts = require("typescript");
5
+ var standalone_1 = require("@schematics/angular/private/standalone");
6
+ function isStandaloneApp(host, mainPath) {
7
+ var source = ts.createSourceFile(mainPath, host.readText(mainPath), ts.ScriptTarget.Latest, true);
8
+ var bootstrapCall = (0, standalone_1.findBootstrapApplicationCall)(source);
9
+ return bootstrapCall !== null;
10
+ }
11
+ exports.isStandaloneApp = isStandaloneApp;
12
+ //# sourceMappingURL=standalone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../../../../../modules/data/schematics-core/utility/standalone.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAEjC,qEAAsF;AAEtF,SAAgB,eAAe,CAAC,IAAU,EAAE,QAAgB;IAC1D,IAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAChC,QAAQ,EACR,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACvB,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;IACF,IAAM,aAAa,GAAG,IAAA,yCAA4B,EAAC,MAAM,CAAC,CAAC;IAE3D,OAAO,aAAa,KAAK,IAAI,CAAC;AAChC,CAAC;AAVD,0CAUC","sourcesContent":["import * as ts from 'typescript';\nimport { Tree } from '@angular-devkit/schematics';\nimport { findBootstrapApplicationCall } from '@schematics/angular/private/standalone';\n\nexport function isStandaloneApp(host: Tree, mainPath: string): boolean {\n const source = ts.createSourceFile(\n mainPath,\n host.readText(mainPath),\n ts.ScriptTarget.Latest,\n true\n );\n const bootstrapCall = findBootstrapApplicationCall(source);\n\n return bootstrapCall !== null;\n}\n"]}
@@ -6,10 +6,9 @@ import { RequestData } from './interfaces';
6
6
  * @param error the HttpErrorResponse or the error thrown by the service
7
7
  * @param requestData the HTTP request information such as the method and the url.
8
8
  */
9
- export declare class DataServiceError {
9
+ export declare class DataServiceError extends Error {
10
10
  error: any;
11
11
  requestData: RequestData | null;
12
- message: string | null;
13
12
  constructor(error: any, requestData: RequestData | null);
14
13
  }
15
14
  /** Payload for an EntityAction data service error such as QUERY_ALL_ERROR */