@entity-access/entity-access 1.2.11 → 1.2.13

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 (154) hide show
  1. package/README.md +28 -22
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/common/EventSet.d.ts.map +1 -1
  4. package/dist/common/EventSet.js.map +1 -1
  5. package/dist/common/JsonGenerator.d.ts +1 -1
  6. package/dist/common/JsonGenerator.d.ts.map +1 -1
  7. package/dist/common/JsonGenerator.js +3 -100
  8. package/dist/common/JsonGenerator.js.map +1 -1
  9. package/dist/common/cache/TimedCache.d.ts.map +1 -1
  10. package/dist/common/cache/TimedCache.js +1 -0
  11. package/dist/common/cache/TimedCache.js.map +1 -1
  12. package/dist/compiler/ISqlHelpers.d.ts.map +1 -1
  13. package/dist/compiler/ISqlHelpers.js.map +1 -1
  14. package/dist/compiler/RawQuery.d.ts.map +1 -1
  15. package/dist/compiler/postgres/PostgreSqlMethodTransformer.d.ts.map +1 -1
  16. package/dist/compiler/postgres/PostgreSqlMethodTransformer.js.map +1 -1
  17. package/dist/decorators/IColumn.d.ts.map +1 -1
  18. package/dist/decorators/IForeignKeyConstraint.d.ts.map +1 -1
  19. package/dist/decorators/Index.d.ts.map +1 -1
  20. package/dist/decorators/Index.js.map +1 -1
  21. package/dist/drivers/base/BaseDriver.d.ts.map +1 -1
  22. package/dist/drivers/base/BaseDriver.js +0 -1
  23. package/dist/drivers/base/BaseDriver.js.map +1 -1
  24. package/dist/drivers/base/ExistingSchema.d.ts.map +1 -1
  25. package/dist/drivers/base/ExistingSchema.js.map +1 -1
  26. package/dist/drivers/postgres/PostgreSqlDriver.d.ts +1 -1
  27. package/dist/drivers/postgres/PostgreSqlDriver.d.ts.map +1 -1
  28. package/dist/drivers/postgres/PostgreSqlDriver.js +0 -1
  29. package/dist/drivers/postgres/PostgreSqlDriver.js.map +1 -1
  30. package/dist/drivers/sql-server/SqlServerDriver.d.ts +0 -1
  31. package/dist/drivers/sql-server/SqlServerDriver.d.ts.map +1 -1
  32. package/dist/drivers/sql-server/SqlServerDriver.js +3 -4
  33. package/dist/drivers/sql-server/SqlServerDriver.js.map +1 -1
  34. package/dist/migrations/Migrations.d.ts.map +1 -1
  35. package/dist/migrations/Migrations.js +4 -7
  36. package/dist/migrations/Migrations.js.map +1 -1
  37. package/dist/migrations/postgres/PostgresAutomaticMigrations.d.ts.map +1 -1
  38. package/dist/migrations/postgres/PostgresAutomaticMigrations.js +0 -2
  39. package/dist/migrations/postgres/PostgresAutomaticMigrations.js.map +1 -1
  40. package/dist/migrations/postgres/PostgresMigrations.d.ts +1 -1
  41. package/dist/migrations/postgres/PostgresMigrations.d.ts.map +1 -1
  42. package/dist/migrations/postgres/PostgresMigrations.js +2 -1
  43. package/dist/migrations/postgres/PostgresMigrations.js.map +1 -1
  44. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.d.ts.map +1 -1
  45. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.js +0 -4
  46. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.js.map +1 -1
  47. package/dist/migrations/sql-server/SqlServerMigrations.d.ts +1 -1
  48. package/dist/migrations/sql-server/SqlServerMigrations.d.ts.map +1 -1
  49. package/dist/migrations/sql-server/SqlServerMigrations.js +1 -0
  50. package/dist/migrations/sql-server/SqlServerMigrations.js.map +1 -1
  51. package/dist/model/EntityContext.d.ts +0 -1
  52. package/dist/model/EntityContext.d.ts.map +1 -1
  53. package/dist/model/EntityContext.js +0 -9
  54. package/dist/model/EntityContext.js.map +1 -1
  55. package/dist/model/EntityModel.d.ts.map +1 -1
  56. package/dist/model/EntityModel.js.map +1 -1
  57. package/dist/model/EntityQuery.d.ts.map +1 -1
  58. package/dist/model/EntityQuery.js +0 -1
  59. package/dist/model/EntityQuery.js.map +1 -1
  60. package/dist/model/EntitySource.d.ts +8 -0
  61. package/dist/model/EntitySource.d.ts.map +1 -1
  62. package/dist/model/EntitySource.js +42 -0
  63. package/dist/model/EntitySource.js.map +1 -1
  64. package/dist/model/changes/ChangeEntry.d.ts +0 -1
  65. package/dist/model/changes/ChangeEntry.d.ts.map +1 -1
  66. package/dist/model/changes/ChangeEntry.js +1 -3
  67. package/dist/model/changes/ChangeEntry.js.map +1 -1
  68. package/dist/model/changes/ChangeSet.d.ts +0 -1
  69. package/dist/model/changes/ChangeSet.d.ts.map +1 -1
  70. package/dist/model/changes/ChangeSet.js +0 -1
  71. package/dist/model/changes/ChangeSet.js.map +1 -1
  72. package/dist/model/events/ContextEvents.d.ts.map +1 -1
  73. package/dist/model/events/ContextEvents.js.map +1 -1
  74. package/dist/model/identity/IdentityService.d.ts.map +1 -1
  75. package/dist/model/identity/IdentityService.js.map +1 -1
  76. package/dist/model/identity/RelationMapper.d.ts +0 -1
  77. package/dist/model/identity/RelationMapper.d.ts.map +1 -1
  78. package/dist/model/identity/RelationMapper.js +0 -2
  79. package/dist/model/identity/RelationMapper.js.map +1 -1
  80. package/dist/query/ast/ExpressionToSql.js +1 -1
  81. package/dist/query/ast/ExpressionToSql.js.map +1 -1
  82. package/dist/query/ast/Expressions.d.ts +0 -1
  83. package/dist/query/ast/Expressions.d.ts.map +1 -1
  84. package/dist/query/ast/Expressions.js +17 -18
  85. package/dist/query/ast/Expressions.js.map +1 -1
  86. package/dist/query/ast/Visitor.d.ts.map +1 -1
  87. package/dist/query/ast/Visitor.js +1 -0
  88. package/dist/query/ast/Visitor.js.map +1 -1
  89. package/dist/query/expander/QueryExpander.d.ts +0 -2
  90. package/dist/query/expander/QueryExpander.d.ts.map +1 -1
  91. package/dist/query/expander/QueryExpander.js +0 -5
  92. package/dist/query/expander/QueryExpander.js.map +1 -1
  93. package/dist/query/parser/ArrowToExpression.d.ts.map +1 -1
  94. package/dist/query/parser/ArrowToExpression.js +0 -1
  95. package/dist/query/parser/ArrowToExpression.js.map +1 -1
  96. package/dist/query/parser/BabelVisitor.d.ts.map +1 -1
  97. package/dist/query/parser/BabelVisitor.js.map +1 -1
  98. package/dist/query/parser/Restructure.d.ts.map +1 -1
  99. package/dist/query/parser/Restructure.js.map +1 -1
  100. package/dist/sql/ISql.d.ts.map +1 -1
  101. package/dist/types/TimeSpan.d.ts +1 -1
  102. package/dist/types/TimeSpan.d.ts.map +1 -1
  103. package/dist/types/TimeSpan.js +9 -6
  104. package/dist/types/TimeSpan.js.map +1 -1
  105. package/dist/workflows/WorkflowContext.js +1 -1
  106. package/dist/workflows/WorkflowContext.js.map +1 -1
  107. package/dist/workflows/WorkflowStorage.d.ts.map +1 -1
  108. package/dist/workflows/WorkflowStorage.js +2 -2
  109. package/dist/workflows/WorkflowStorage.js.map +1 -1
  110. package/package.json +1 -1
  111. package/src/common/EventSet.ts +0 -1
  112. package/src/common/JsonGenerator.ts +4 -124
  113. package/src/common/cache/TimedCache.ts +0 -1
  114. package/src/compiler/ISqlHelpers.ts +0 -2
  115. package/src/compiler/RawQuery.ts +1 -1
  116. package/src/compiler/postgres/PostgreSqlMethodTransformer.ts +0 -1
  117. package/src/decorators/IColumn.ts +1 -1
  118. package/src/decorators/IForeignKeyConstraint.ts +1 -1
  119. package/src/decorators/Index.ts +0 -2
  120. package/src/drivers/base/BaseDriver.ts +0 -3
  121. package/src/drivers/base/ExistingSchema.ts +0 -1
  122. package/src/drivers/postgres/PostgreSqlDriver.ts +1 -2
  123. package/src/drivers/sql-server/SqlServerDriver.ts +3 -6
  124. package/src/migrations/Migrations.ts +4 -8
  125. package/src/migrations/postgres/PostgresAutomaticMigrations.ts +0 -5
  126. package/src/migrations/postgres/PostgresMigrations.ts +2 -1
  127. package/src/migrations/sql-server/SqlServerAutomaticMigrations.ts +0 -9
  128. package/src/migrations/sql-server/SqlServerMigrations.ts +1 -0
  129. package/src/model/EntityContext.ts +8 -12
  130. package/src/model/EntityModel.ts +0 -2
  131. package/src/model/EntityQuery.ts +1 -2
  132. package/src/model/EntitySource.ts +44 -2
  133. package/src/model/changes/ChangeEntry.ts +1 -4
  134. package/src/model/changes/ChangeSet.ts +0 -3
  135. package/src/model/events/ContextEvents.ts +0 -3
  136. package/src/model/identity/IdentityService.ts +0 -1
  137. package/src/model/identity/RelationMapper.ts +1 -2
  138. package/src/query/ast/ExpressionToSql.ts +5 -5
  139. package/src/query/ast/Expressions.ts +17 -21
  140. package/src/query/ast/Visitor.ts +1 -0
  141. package/src/query/expander/QueryExpander.ts +3 -9
  142. package/src/query/parser/ArrowToExpression.ts +0 -3
  143. package/src/query/parser/BabelVisitor.ts +0 -1
  144. package/src/query/parser/Restructure.ts +0 -1
  145. package/src/sql/ISql.ts +0 -4
  146. package/src/types/TimeSpan.ts +10 -8
  147. package/src/workflows/WorkflowContext.ts +3 -3
  148. package/src/workflows/WorkflowStorage.ts +2 -4
  149. package/tsconfig.json +1 -0
  150. package/dist/TestRunner.d.ts +0 -2
  151. package/dist/TestRunner.d.ts.map +0 -1
  152. package/dist/TestRunner.js +0 -2
  153. package/dist/TestRunner.js.map +0 -1
  154. package/src/TestRunner.ts +0 -2
package/README.md CHANGED
@@ -354,19 +354,19 @@ Just as text functions you can also use date functions as shown below.
354
354
 
355
355
  ### OrderBy
356
356
  ```typescript
357
- q.orderBy({}, (x, p) => x.orderDate)
358
- .thenBy({}, (x, p) => x.customer.firstName)
357
+ q.orderBy((x) => x.orderDate)
358
+ .thenBy((x) => x.customer.firstName)
359
359
 
360
360
  // custom...
361
- q.orderBy({}, (x, p) => x.orderDate)
362
- .thenBy({}, (x, p) => Sql.text.collate(x.customer.firstName, "case_insensitive"))
361
+ q.orderBy((x) => x.orderDate)
362
+ .thenBy((x) => Sql.text.collate(x.customer.firstName, "case_insensitive"))
363
363
 
364
364
  ```
365
365
 
366
366
  ### Limit/Offset
367
367
  ```typescript
368
- q = q.orderByDescending({}, (x, p) => x.orderDate)
369
- .thenBy({}, (x, p) => x.customer.firstName)
368
+ q = q.orderByDescending((x) => x.orderDate)
369
+ .thenBy((x) => x.customer.firstName)
370
370
  .limit(50)
371
371
  .offset(50);
372
372
  ```
@@ -446,9 +446,9 @@ Entity Context provides direct statements to save/retrieve entities without load
446
446
 
447
447
  ### Select
448
448
  ```typescript
449
- const msg = await context.messages.statements.select({
450
- messageID
451
- });
449
+ const msg = await context.messages
450
+ .withKeys({ messageID })
451
+ .select();
452
452
  ```
453
453
 
454
454
  ### Insert
@@ -463,28 +463,34 @@ Entity Context provides direct statements to save/retrieve entities without load
463
463
 
464
464
  ### Update
465
465
  ```typescript
466
- await context.messages.statements
466
+ await context.messages
467
+ .withKeys({
468
+ messageID
469
+ })
467
470
  .update(
468
- /** Changes */
469
471
  { archived: true },
470
- /** key */
471
- { messageID }
472
+ )
473
+ ```
474
+
475
+ ### UpdateOrInsert
476
+ ```typescript
477
+ await context.messages
478
+ .withKeys({
479
+ messageID
480
+ })
481
+ .updateOrInsert(
482
+ { archived: true },
472
483
  )
473
484
  ```
474
485
 
475
486
  ### Upsert
476
487
  ```typescript
477
488
  await context.messages.statements
489
+ .withKeys({ messageID })
478
490
  .upsert(
479
- /** Changes */
480
- { read: 1 },
481
- /** Apply update for an existing entity */
482
- (existing) => ({
483
- ... existing,
484
- read: existing.read + 1
485
- })
486
- /** key */
487
- { messageID }
491
+ (existing) => existing
492
+ ? ({ read: existing.read + 1 })
493
+ : ({ read: 1 })
488
494
  )
489
495
  ```
490
496