@postxl/generator 0.9.0 → 0.9.2

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.
@@ -64,7 +64,7 @@ export class ${meta.data.repositoryClassName} implements Repository<
64
64
 
65
65
  ${relations
66
66
  .map((r) => `
67
- protected ${r.name}Map: Map<${r.meta.types.brandedIdType}, Set<${model.brandedIdType}>> = new Map()
67
+ protected ${r.name}Map: Map<${r.meta.types.brandedIdType}, Map<${model.brandedIdType}, ${model.typeName}>> = new Map()
68
68
  `)
69
69
  .join('\n')}
70
70
 
@@ -99,7 +99,7 @@ export class ${meta.data.repositoryClassName} implements Repository<
99
99
 
100
100
  for (const rawItem of data) {
101
101
  const item = this.${decoder}(rawItem)
102
- this.data.set(item.id, item)
102
+ this.set(item)
103
103
 
104
104
  ${model.defaultField ? defaultValueInitFn : ''}
105
105
  ${uniqueStringFields.map((f) => `this.uniqueIds.${f.name}.set(item.${f.name}, item)`).join('\n')}
@@ -325,8 +325,10 @@ export class ${meta.data.repositoryClassName} implements Repository<
325
325
  /**
326
326
  * Function to retrieve all ${(0, string_1.pluralize)(model.name)} that are related to a ${r.name}
327
327
  */
328
- public ${r.fieldMeta.getByForeignKeyMethodFnName}(id: ${r.meta.types.brandedIdType}): ${model.typeName}[] {
329
- return this.${r.fieldMeta.getByForeignKeyIdsMethodFnName}(id).map((id) => this.get(id) as ${model.typeName})
328
+ public ${r.fieldMeta.getByForeignKeyMethodFnName}(id: ${r.meta.types.brandedIdType}): Map<${model.brandedIdType},${model.typeName}> {
329
+ const result = this.${r.name}Map.get(id)
330
+ if (!result) return new Map()
331
+ return result
330
332
  }
331
333
 
332
334
  /**
@@ -335,7 +337,7 @@ export class ${meta.data.repositoryClassName} implements Repository<
335
337
  public ${r.fieldMeta.getByForeignKeyIdsMethodFnName}(id: ${r.meta.types.brandedIdType}): ${model.brandedIdType}[] {
336
338
  const s = this.${r.name}Map.get(id)
337
339
  if (!s) return []
338
- return Array.from(s)
340
+ return Array.from(s.keys())
339
341
  }
340
342
  `)
341
343
  .join('\n')}
@@ -387,12 +389,12 @@ export class ${meta.data.repositoryClassName} implements Repository<
387
389
  ${relations
388
390
  .map((r) => `
389
391
  ${!r.isRequired ? `if (item.${r.name}) {` : ''}
390
- let ${r.name}Set = this.${r.name}Map.get(item.${r.name})
391
- if (!${r.name}Set) {
392
- ${r.name}Set = new Set()
393
- this.${r.name}Map.set(item.${r.name}, ${r.name}Set)
392
+ let ${r.name}Map = this.${r.name}Map.get(item.${r.name})
393
+ if (!${r.name}Map) {
394
+ ${r.name}Map = new Map()
395
+ this.${r.name}Map.set(item.${r.name}, ${r.name}Map)
394
396
  }
395
- ${r.name}Set.add(item.id)
397
+ ${r.name}Map.set(item.id, item)
396
398
  ${!r.isRequired ? `}` : ''}
397
399
  `)
398
400
  .join('\n')}
@@ -408,10 +410,10 @@ export class ${meta.data.repositoryClassName} implements Repository<
408
410
  ${relations
409
411
  .map((r) => `
410
412
  ${!r.isRequired ? `if (item.${r.name}) {` : ''}
411
- const ${r.name}Set = this.${r.name}Map.get(item.${r.name})
412
- if (${r.name}Set) {
413
- ${r.name}Set.delete(item.id)
414
- if (${r.name}Set.size === 0) {
413
+ const ${r.name}Map = this.${r.name}Map.get(item.${r.name})
414
+ if (${r.name}Map) {
415
+ ${r.name}Map.delete(item.id)
416
+ if (${r.name}Map.size === 0) {
415
417
  this.${r.name}Map.delete(item.${r.name})
416
418
  }
417
419
  }
package/dist/lib/meta.js CHANGED
@@ -156,8 +156,8 @@ function getFieldMetadata({ field }) {
156
156
  const PascalCase = (0, string_1.toPascalCase)(field.name);
157
157
  return {
158
158
  tsFieldName: Types.toVariableName((0, string_1.toCamelCase)(field.name)),
159
- getByForeignKeyMethodFnName: Types.toFunction(`get${PascalCase}Items`),
160
- getByForeignKeyIdsMethodFnName: Types.toFunction(`get${PascalCase}Ids`),
159
+ getByForeignKeyMethodFnName: Types.toFunction(`getItemsFor${PascalCase}`),
160
+ getByForeignKeyIdsMethodFnName: Types.toFunction(`getIdsFor${PascalCase}`),
161
161
  };
162
162
  // switch (field.kind) {
163
163
  // case 'id':
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postxl/generator",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "main": "./dist/generator.js",
5
5
  "typings": "./dist/generator.d.ts",
6
6
  "bin": {