@exabugs/dynamodb-client 0.3.6 → 0.4.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 (176) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +35 -23
  3. package/dist/client/Collection.d.ts +1 -1
  4. package/dist/client/Collection.d.ts.map +1 -1
  5. package/dist/client/FindCursor.d.ts +1 -1
  6. package/dist/client/FindCursor.d.ts.map +1 -1
  7. package/dist/index.d.ts +1 -7
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +4 -4
  10. package/dist/index.js.map +1 -1
  11. package/dist/server/handler.cjs +8186 -7921
  12. package/dist/server/handler.cjs.map +4 -4
  13. package/dist/server/handler.d.ts.map +1 -1
  14. package/dist/server/handler.js +1 -2
  15. package/dist/server/handler.js.map +1 -1
  16. package/dist/server/operations/deleteMany.js +1 -1
  17. package/dist/server/operations/deleteMany.js.map +1 -1
  18. package/dist/server/operations/deleteOne.js +1 -1
  19. package/dist/server/operations/deleteOne.js.map +1 -1
  20. package/dist/server/operations/find/handler.d.ts +21 -0
  21. package/dist/server/operations/find/handler.d.ts.map +1 -0
  22. package/dist/server/operations/find/handler.js +53 -0
  23. package/dist/server/operations/find/handler.js.map +1 -0
  24. package/dist/server/operations/find/idQuery.d.ts +16 -0
  25. package/dist/server/operations/find/idQuery.d.ts.map +1 -0
  26. package/dist/server/operations/find/idQuery.js +149 -0
  27. package/dist/server/operations/find/idQuery.js.map +1 -0
  28. package/dist/server/operations/find/index.d.ts +9 -0
  29. package/dist/server/operations/find/index.d.ts.map +1 -0
  30. package/dist/server/operations/find/index.js +9 -0
  31. package/dist/server/operations/find/index.js.map +1 -0
  32. package/dist/server/operations/find/shadowQuery.d.ts +16 -0
  33. package/dist/server/operations/find/shadowQuery.d.ts.map +1 -0
  34. package/dist/server/operations/find/shadowQuery.js +283 -0
  35. package/dist/server/operations/find/shadowQuery.js.map +1 -0
  36. package/dist/server/operations/find/types.d.ts +71 -0
  37. package/dist/server/operations/find/types.d.ts.map +1 -0
  38. package/dist/server/operations/find/types.js +5 -0
  39. package/dist/server/operations/find/types.js.map +1 -0
  40. package/dist/server/operations/find/utils.d.ts +37 -0
  41. package/dist/server/operations/find/utils.d.ts.map +1 -0
  42. package/dist/server/operations/find/utils.js +117 -0
  43. package/dist/server/operations/find/utils.js.map +1 -0
  44. package/dist/server/operations/find.d.ts +4 -14
  45. package/dist/server/operations/find.d.ts.map +1 -1
  46. package/dist/server/operations/find.js +2 -368
  47. package/dist/server/operations/find.js.map +1 -1
  48. package/dist/server/operations/findMany.js +1 -1
  49. package/dist/server/operations/findMany.js.map +1 -1
  50. package/dist/server/operations/findManyReference.d.ts.map +1 -1
  51. package/dist/server/operations/findManyReference.js +2 -1
  52. package/dist/server/operations/findManyReference.js.map +1 -1
  53. package/dist/server/operations/findOne.js +1 -1
  54. package/dist/server/operations/findOne.js.map +1 -1
  55. package/dist/server/operations/insertMany.d.ts.map +1 -1
  56. package/dist/server/operations/insertMany.js +2 -1
  57. package/dist/server/operations/insertMany.js.map +1 -1
  58. package/dist/server/operations/insertOne.d.ts.map +1 -1
  59. package/dist/server/operations/insertOne.js +2 -1
  60. package/dist/server/operations/insertOne.js.map +1 -1
  61. package/dist/server/operations/updateMany.d.ts.map +1 -1
  62. package/dist/server/operations/updateMany.js +2 -1
  63. package/dist/server/operations/updateMany.js.map +1 -1
  64. package/dist/server/operations/updateOne.d.ts.map +1 -1
  65. package/dist/server/operations/updateOne.js +2 -1
  66. package/dist/server/operations/updateOne.js.map +1 -1
  67. package/dist/server/query/converter.d.ts +1 -1
  68. package/dist/server/query/converter.d.ts.map +1 -1
  69. package/dist/server/shadow/config.d.ts +13 -13
  70. package/dist/server/shadow/config.d.ts.map +1 -1
  71. package/dist/server/shadow/config.js +10 -10
  72. package/dist/server/shadow/differ.d.ts +3 -38
  73. package/dist/server/shadow/differ.d.ts.map +1 -1
  74. package/dist/server/shadow/differ.js +4 -62
  75. package/dist/server/shadow/differ.js.map +1 -1
  76. package/dist/server/shadow/generator.d.ts +1 -1
  77. package/dist/server/shadow/generator.d.ts.map +1 -1
  78. package/dist/server/shadow/generator.js +8 -19
  79. package/dist/server/shadow/generator.js.map +1 -1
  80. package/dist/server/shadow/index.d.ts +2 -1
  81. package/dist/server/shadow/index.d.ts.map +1 -1
  82. package/dist/server/shadow/index.js.map +1 -1
  83. package/dist/server/shadow/types.d.ts +4 -41
  84. package/dist/server/shadow/types.d.ts.map +1 -1
  85. package/dist/server/shadow/types.js +5 -0
  86. package/dist/server/shadow/types.js.map +1 -1
  87. package/dist/server/utils/bulkOperations.d.ts +0 -15
  88. package/dist/server/utils/bulkOperations.d.ts.map +1 -1
  89. package/dist/server/utils/bulkOperations.js +1 -16
  90. package/dist/server/utils/bulkOperations.js.map +1 -1
  91. package/dist/server/utils/chunking.d.ts +0 -9
  92. package/dist/server/utils/chunking.d.ts.map +1 -1
  93. package/dist/server/utils/chunking.js +1 -10
  94. package/dist/server/utils/chunking.js.map +1 -1
  95. package/dist/server/utils/dynamodb.js +1 -1
  96. package/dist/server/utils/dynamodb.js.map +1 -1
  97. package/dist/shadows/differ.d.ts +12 -12
  98. package/dist/shadows/differ.js +15 -15
  99. package/dist/shadows/differ.js.map +1 -1
  100. package/dist/shadows/generator.d.ts +53 -31
  101. package/dist/shadows/generator.d.ts.map +1 -1
  102. package/dist/shadows/generator.js +79 -35
  103. package/dist/shadows/generator.js.map +1 -1
  104. package/dist/shadows/index.d.ts +8 -10
  105. package/dist/shadows/index.d.ts.map +1 -1
  106. package/dist/shadows/index.js +12 -11
  107. package/dist/shadows/index.js.map +1 -1
  108. package/dist/shadows/types.d.ts +8 -28
  109. package/dist/shadows/types.d.ts.map +1 -1
  110. package/dist/shared/constants/dynamodb.d.ts +36 -0
  111. package/dist/shared/constants/dynamodb.d.ts.map +1 -0
  112. package/dist/shared/constants/dynamodb.js +100 -0
  113. package/dist/shared/constants/dynamodb.js.map +1 -0
  114. package/dist/shared/constants/http.d.ts +48 -0
  115. package/dist/shared/constants/http.d.ts.map +1 -0
  116. package/dist/shared/constants/http.js +48 -0
  117. package/dist/shared/constants/http.js.map +1 -0
  118. package/dist/shared/constants/index.d.ts +7 -0
  119. package/dist/shared/constants/index.d.ts.map +1 -0
  120. package/dist/shared/constants/index.js +7 -0
  121. package/dist/shared/constants/index.js.map +1 -0
  122. package/dist/shared/constants/lambda.d.ts +33 -0
  123. package/dist/shared/constants/lambda.d.ts.map +1 -0
  124. package/dist/shared/constants/lambda.js +33 -0
  125. package/dist/shared/constants/lambda.js.map +1 -0
  126. package/dist/{errors.d.ts → shared/errors/index.d.ts} +7 -1
  127. package/dist/shared/errors/index.d.ts.map +1 -0
  128. package/dist/{errors.js → shared/errors/index.js} +7 -1
  129. package/dist/shared/errors/index.js.map +1 -0
  130. package/dist/shared/index.d.ts +11 -0
  131. package/dist/shared/index.d.ts.map +1 -0
  132. package/dist/shared/index.js +15 -0
  133. package/dist/shared/index.js.map +1 -0
  134. package/dist/{types.d.ts → shared/types/index.d.ts} +7 -1
  135. package/dist/shared/types/index.d.ts.map +1 -0
  136. package/dist/shared/types/index.js +8 -0
  137. package/dist/shared/types/index.js.map +1 -0
  138. package/dist/shared/utils/dynamodb.d.ts +18 -0
  139. package/dist/shared/utils/dynamodb.d.ts.map +1 -0
  140. package/dist/shared/utils/dynamodb.js +32 -0
  141. package/dist/shared/utils/dynamodb.js.map +1 -0
  142. package/dist/shared/utils/index.d.ts +8 -0
  143. package/dist/shared/utils/index.d.ts.map +1 -0
  144. package/dist/shared/utils/index.js +8 -0
  145. package/dist/shared/utils/index.js.map +1 -0
  146. package/dist/{logger.d.ts → shared/utils/logger.d.ts} +7 -1
  147. package/dist/shared/utils/logger.d.ts.map +1 -0
  148. package/dist/{logger.js → shared/utils/logger.js} +7 -1
  149. package/dist/shared/utils/logger.js.map +1 -0
  150. package/dist/shared/utils/ulid.d.ts.map +1 -0
  151. package/dist/{ulid.js → shared/utils/ulid.js} +5 -0
  152. package/dist/shared/utils/ulid.js.map +1 -0
  153. package/dist/shared/utils/validation.d.ts +59 -0
  154. package/dist/shared/utils/validation.d.ts.map +1 -0
  155. package/dist/shared/utils/validation.js +114 -0
  156. package/dist/shared/utils/validation.js.map +1 -0
  157. package/package.json +8 -7
  158. package/terraform/README.md +8 -7
  159. package/dist/errors.d.ts.map +0 -1
  160. package/dist/errors.js.map +0 -1
  161. package/dist/logger.d.ts.map +0 -1
  162. package/dist/logger.js.map +0 -1
  163. package/dist/shadows/config.d.ts +0 -54
  164. package/dist/shadows/config.d.ts.map +0 -1
  165. package/dist/shadows/config.js +0 -95
  166. package/dist/shadows/config.js.map +0 -1
  167. package/dist/shadows/schema.d.ts +0 -63
  168. package/dist/shadows/schema.d.ts.map +0 -1
  169. package/dist/shadows/schema.js +0 -8
  170. package/dist/shadows/schema.js.map +0 -1
  171. package/dist/types.d.ts.map +0 -1
  172. package/dist/types.js +0 -2
  173. package/dist/types.js.map +0 -1
  174. package/dist/ulid.d.ts.map +0 -1
  175. package/dist/ulid.js.map +0 -1
  176. /package/dist/{ulid.d.ts → shared/utils/ulid.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunking.js","sourceRoot":"","sources":["../../../src/server/utils/chunking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunking.js","sourceRoot":"","sources":["../../../src/server/utils/chunking.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,YAAY,EACZ,iCAAiC,EAClC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAY3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAY,EACZ,YAAmC;IAEnC,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,IAAI,YAAY,GAAQ,EAAE,CAAC;IAC3B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAEvC,8BAA8B;QAC9B,IAAI,SAAS,GAAG,iCAAiC,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,yBAAyB,iCAAiC,iBAAiB,SAAS,QAAQ,CAAC;YAC9G,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBACtC,SAAS;gBACT,KAAK,EAAE,iCAAiC;aACzC,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,2CAA2C;QAC3C,IAAI,gBAAgB,GAAG,SAAS,GAAG,iCAAiC,EAAE,CAAC;YACrE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YACD,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,gBAAgB,GAAG,SAAS,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,gBAAgB,IAAI,SAAS,CAAC;QAChC,CAAC;IACH,CAAC;IAED,aAAa;IACb,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED,mBAAmB;IACnB,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;QACzC,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,UAAU;QACV,gBAAgB,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,gBAAgB,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,gBAAgB,EACd,UAAU,CAAC,MAAM,GAAG,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;YACnF,CAAC,CAAC,CAAC;KACR,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AA0BD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAa,EACb,YAA0C,EAC1C,WAAkC;IAElC,MAAM,cAAc,GAAQ,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEtC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;QACtC,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,YAAY;KACb,CAAC,CAAC;IAEH,aAAa;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE;gBACxD,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,KAAK,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,UAAU;YACV,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;YACpD,cAAc,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAE1C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,YAAY,EAAE;gBACvD,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,UAAU,EAAE,aAAa;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uCAAuC;YACvC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;YAClD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAEtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,SAAS,EAAE;gBACrD,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,YAAY;gBACnB,SAAS;aACV,CAAC,CAAC;YAEH,yBAAyB;YACzB,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBACrC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,QAAQ;oBACZ,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,YAAY;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;IAE3D,iBAAiB;IACjB,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;QACvC,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,YAAY;QACZ,YAAY,EAAE,cAAc,CAAC,MAAM;QACnC,WAAW,EAAE,SAAS,CAAC,MAAM;QAC7B,oBAAoB,EAAE,kBAAkB;QACxC,iBAAiB,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1F,CAAC,CAAC;IAEH,wBAAwB;IACxB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE;YACzD,YAAY;YACZ,YAAY,EAAE,cAAc,CAAC,MAAM;YACnC,WAAW,EAAE,SAAS,CAAC,MAAM;YAC7B,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,GAAG;YACtE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,eAAe;YAClD,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,iBAAiB;aACxD,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,cAAc;QACd,SAAS;QACT,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,cAAc;QACd,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;QACD,UAAU;QACV,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ConfigError, createDynamoDBClient, createLogger } from '../../index.js';
1
+ import { ConfigError, createDynamoDBClient, createLogger } from '../../shared/index.js';
2
2
  // ロガーインスタンス
3
3
  const logger = createLogger({ service: 'records-lambda' });
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dynamodb.js","sourceRoot":"","sources":["../../../src/server/utils/dynamodb.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjF,YAAY;AACZ,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE3D;;GAEG;AACH,IAAI,QAAQ,GAAkC,IAAI,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,oBAAoB,CAAC;YAC9B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM;SACrD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAEzC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CAAC,4CAA4C,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA+B;IAC9D,6DAA6D;IAC7D,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAA6B;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAA+B,CAAC;IAClD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAA2B,EAC3B,aAAqB;IAErB,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,sBAAsB;QACtB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBACrC,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,SAAS,EAAE,aAAa;gBACxB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;gBACjC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM;aACrD,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,gDAAgD,aAAa,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,mBAAmB;QACnB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"dynamodb.js","sourceRoot":"","sources":["../../../src/server/utils/dynamodb.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAExF,YAAY;AACZ,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE3D;;GAEG;AACH,IAAI,QAAQ,GAAkC,IAAI,CAAC;AAEnD;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,oBAAoB,CAAC;YAC9B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM;SACrD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAEzC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,WAAW,CAAC,4CAA4C,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA+B;IAC9D,6DAA6D;IAC7D,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAA6B;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAA+B,CAAC;IAClD,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAA2B,EAC3B,aAAqB;IAErB,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,sBAAsB;QACtB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBACrC,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,YAAY,EAAE,KAAK,CAAC,OAAO;gBAC3B,SAAS,EAAE,aAAa;gBACxB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;gBACjC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM;aACrD,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,gDAAgD,aAAa,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,mBAAmB;QACnB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import type { ShadowDiff } from './types.js';
2
2
  /**
3
- * 旧シャドーキーと新シャドーキーの差分を計算する
3
+ * Calculate difference between old and new shadow keys
4
4
  *
5
- * この関数は、レコード更新時に既存のシャドーレコードと新しく生成すべき
6
- * シャドーレコードを比較し、削除すべきものと追加すべきものを特定します。
5
+ * This function compares existing shadow records with newly generated ones
6
+ * during record updates, identifying which ones should be deleted and added.
7
7
  *
8
- * @param oldShadowKeys - 既存のシャドーSKの配列
9
- * @param newShadowKeys - 新しく生成されたシャドーSKの配列
10
- * @returns 削除すべきSKと追加すべきSKのリスト
8
+ * @param oldShadowKeys - Array of existing shadow SKs
9
+ * @param newShadowKeys - Array of newly generated shadow SKs
10
+ * @returns List of SKs to delete and add
11
11
  *
12
12
  * @example
13
13
  * const oldKeys = [
@@ -26,17 +26,17 @@ import type { ShadowDiff } from './types.js';
26
26
  */
27
27
  export declare function calculateShadowDiff(oldShadowKeys: string[], newShadowKeys: string[]): ShadowDiff;
28
28
  /**
29
- * シャドー差分が空かどうかを判定する
29
+ * Check if shadow difference is empty
30
30
  *
31
- * @param diff - シャドー差分オブジェクト
32
- * @returns 差分が空の場合true
31
+ * @param diff - Shadow difference object
32
+ * @returns True if difference is empty
33
33
  */
34
34
  export declare function isDiffEmpty(diff: ShadowDiff): boolean;
35
35
  /**
36
- * 複数のシャドー差分をマージする
36
+ * Merge multiple shadow differences
37
37
  *
38
- * @param diffs - マージするシャドー差分の配列
39
- * @returns マージされたシャドー差分
38
+ * @param diffs - Array of shadow differences to merge
39
+ * @returns Merged shadow difference
40
40
  */
41
41
  export declare function mergeShadowDiffs(diffs: ShadowDiff[]): ShadowDiff;
42
42
  //# sourceMappingURL=differ.d.ts.map
@@ -1,12 +1,12 @@
1
1
  /**
2
- * 旧シャドーキーと新シャドーキーの差分を計算する
2
+ * Calculate difference between old and new shadow keys
3
3
  *
4
- * この関数は、レコード更新時に既存のシャドーレコードと新しく生成すべき
5
- * シャドーレコードを比較し、削除すべきものと追加すべきものを特定します。
4
+ * This function compares existing shadow records with newly generated ones
5
+ * during record updates, identifying which ones should be deleted and added.
6
6
  *
7
- * @param oldShadowKeys - 既存のシャドーSKの配列
8
- * @param newShadowKeys - 新しく生成されたシャドーSKの配列
9
- * @returns 削除すべきSKと追加すべきSKのリスト
7
+ * @param oldShadowKeys - Array of existing shadow SKs
8
+ * @param newShadowKeys - Array of newly generated shadow SKs
9
+ * @returns List of SKs to delete and add
10
10
  *
11
11
  * @example
12
12
  * const oldKeys = [
@@ -24,12 +24,12 @@
24
24
  * // }
25
25
  */
26
26
  export function calculateShadowDiff(oldShadowKeys, newShadowKeys) {
27
- // Set を使用して効率的な差分計算を行う
27
+ // Use Set for efficient difference calculation
28
28
  const oldSet = new Set(oldShadowKeys);
29
29
  const newSet = new Set(newShadowKeys);
30
- // 削除すべきキー: 旧キーに存在するが新キーに存在しない
30
+ // Keys to delete: exist in old but not in new
31
31
  const toDelete = oldShadowKeys.filter((key) => !newSet.has(key));
32
- // 追加すべきキー: 新キーに存在するが旧キーに存在しない
32
+ // Keys to add: exist in new but not in old
33
33
  const toAdd = newShadowKeys.filter((key) => !oldSet.has(key));
34
34
  return {
35
35
  toDelete,
@@ -37,19 +37,19 @@ export function calculateShadowDiff(oldShadowKeys, newShadowKeys) {
37
37
  };
38
38
  }
39
39
  /**
40
- * シャドー差分が空かどうかを判定する
40
+ * Check if shadow difference is empty
41
41
  *
42
- * @param diff - シャドー差分オブジェクト
43
- * @returns 差分が空の場合true
42
+ * @param diff - Shadow difference object
43
+ * @returns True if difference is empty
44
44
  */
45
45
  export function isDiffEmpty(diff) {
46
46
  return diff.toDelete.length === 0 && diff.toAdd.length === 0;
47
47
  }
48
48
  /**
49
- * 複数のシャドー差分をマージする
49
+ * Merge multiple shadow differences
50
50
  *
51
- * @param diffs - マージするシャドー差分の配列
52
- * @returns マージされたシャドー差分
51
+ * @param diffs - Array of shadow differences to merge
52
+ * @returns Merged shadow difference
53
53
  */
54
54
  export function mergeShadowDiffs(diffs) {
55
55
  const allToDelete = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"differ.js","sourceRoot":"","sources":["../../src/shadows/differ.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAuB,EAAE,aAAuB;IAClF,uBAAuB;IACvB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IAEtC,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,8BAA8B;IAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAmB;IAClD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QACjC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"differ.js","sourceRoot":"","sources":["../../src/shadows/differ.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAuB,EAAE,aAAuB;IAClF,+CAA+C;IAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IAEtC,8CAA8C;IAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,2CAA2C;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,QAAQ;QACR,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAmB;IAClD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QACjC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC5B,CAAC;AACJ,CAAC"}
@@ -1,50 +1,64 @@
1
- import type { ShadowFieldType } from './schema.js';
1
+ import type { ShadowFieldType } from './types.js';
2
2
  /**
3
- * 文字列値をエスケープする
4
- * ルール: # → ##, スペース → #
3
+ * Escape string values for shadow SK generation
4
+ * Rules: # → ##, space → #
5
5
  *
6
- * @param value - エスケープする文字列
7
- * @returns エスケープされた文字列
6
+ * @param value - String to escape
7
+ * @returns Escaped string
8
8
  */
9
9
  export declare function escapeString(value: string): string;
10
10
  /**
11
- * 数値を20桁のゼロ埋め文字列に変換する
11
+ * Convert number to 20-digit zero-padded string
12
12
  *
13
- * @param value - 変換する数値(null/undefinedも許容)
14
- * @returns 20桁のゼロ埋め文字列
13
+ * @param value - Number to convert (null/undefined allowed)
14
+ * @returns 20-digit zero-padded string
15
15
  */
16
16
  export declare function formatNumber(value: number | null | undefined): string;
17
17
  /**
18
- * 日時をUTC ISO 8601形式にフォーマットする
18
+ * Format datetime to UTC ISO 8601 format
19
19
  *
20
- * @param value - 日時文字列またはDateオブジェクト(null/undefinedも許容)
21
- * @returns UTC ISO 8601形式の文字列
20
+ * @param value - Datetime string or Date object (null/undefined allowed)
21
+ * @returns UTC ISO 8601 format string
22
22
  */
23
23
  export declare function formatDatetime(value: string | Date | null | undefined): string;
24
24
  /**
25
- * boolean値をフォーマットする
25
+ * Format boolean value
26
26
  *
27
- * @param value - boolean値(null/undefinedも許容)
28
- * @returns 'true' または 'false' または空文字
27
+ * @param value - Boolean value (null/undefined allowed)
28
+ * @returns 'true' or 'false' or empty string
29
29
  */
30
30
  export declare function formatBoolean(value: boolean | null | undefined): string;
31
31
  /**
32
- * フィールド値を型に応じてフォーマットする
32
+ * Format array to JSON string
33
33
  *
34
- * @param type - フィールドの型
35
- * @param value - フォーマットする値(null/undefinedも許容)
36
- * @returns フォーマットされた文字列
34
+ * @param value - Array (null/undefined allowed)
35
+ * @returns JSON string or empty string
37
36
  */
38
- export declare function formatFieldValue(type: ShadowFieldType, value: string | number | Date | boolean | null | undefined): string;
37
+ export declare function formatArray(value: any[] | null | undefined): string;
39
38
  /**
40
- * シャドーSKを生成する
41
- * フォーマット: {fieldName}#{formattedValue}#id#{recordId}
39
+ * Format object to JSON string
42
40
  *
43
- * @param fieldName - フィールド名
44
- * @param value - フィールド値
45
- * @param recordId - レコードID(ULID)
46
- * @param type - フィールドの型(デフォルト: 'string')
47
- * @returns 生成されたシャドーSK
41
+ * @param value - Object (null/undefined allowed)
42
+ * @returns JSON string or empty string
43
+ */
44
+ export declare function formatObject(value: object | null | undefined): string;
45
+ /**
46
+ * Format field value according to its type
47
+ *
48
+ * @param type - Field type
49
+ * @param value - Value to format (null/undefined allowed)
50
+ * @returns Formatted string
51
+ */
52
+ export declare function formatFieldValue(type: ShadowFieldType, value: any): string;
53
+ /**
54
+ * Generate shadow SK
55
+ * Format: {fieldName}#{formattedValue}#id#{recordId}
56
+ *
57
+ * @param fieldName - Field name
58
+ * @param value - Field value
59
+ * @param recordId - Record ID (ULID)
60
+ * @param type - Field type (default: 'string')
61
+ * @returns Generated shadow SK
48
62
  *
49
63
  * @example
50
64
  * generateShadowSK('name', 'Tech News', '01HZXY123', 'string')
@@ -61,14 +75,22 @@ export declare function formatFieldValue(type: ShadowFieldType, value: string |
61
75
  * @example
62
76
  * generateShadowSK('isPublished', true, '01HZXY123', 'boolean')
63
77
  * // => 'isPublished#true#id#01HZXY123'
78
+ *
79
+ * @example
80
+ * generateShadowSK('tags', ['tech', 'aws'], '01HZXY123', 'array')
81
+ * // => 'tags#["tech","aws"]#id#01HZXY123'
82
+ *
83
+ * @example
84
+ * generateShadowSK('metadata', { category: 'tech' }, '01HZXY123', 'object')
85
+ * // => 'metadata#{"category":"tech"}#id#01HZXY123'
64
86
  */
65
- export declare function generateShadowSK(fieldName: string, value: string | number | Date | boolean, recordId: string, type?: ShadowFieldType): string;
87
+ export declare function generateShadowSK(fieldName: string, value: any, recordId: string, type?: ShadowFieldType): string;
66
88
  /**
67
- * レコードIDからメインレコードのSKを生成する
68
- * フォーマット: id#{recordId}
89
+ * Generate main record SK from record ID
90
+ * Format: id#{recordId}
69
91
  *
70
- * @param recordId - レコードIDULID
71
- * @returns メインレコードのSK
92
+ * @param recordId - Record ID (ULID)
93
+ * @returns Main record SK
72
94
  */
73
95
  export declare function generateMainRecordSK(recordId: string): string;
74
96
  //# sourceMappingURL=generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/shadows/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAcrE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAa9E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAOvE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GACzD,MAAM,CAiBR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,EACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,eAA0B,GAC/B,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/shadows/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAcrE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAa9E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAOvE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAWnE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAWrE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,GAAG,GACT,MAAM,CAqBR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,eAA0B,GAC/B,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D"}
@@ -1,41 +1,41 @@
1
1
  /**
2
- * 文字列値をエスケープする
3
- * ルール: # → ##, スペース → #
2
+ * Escape string values for shadow SK generation
3
+ * Rules: # → ##, space → #
4
4
  *
5
- * @param value - エスケープする文字列
6
- * @returns エスケープされた文字列
5
+ * @param value - String to escape
6
+ * @returns Escaped string
7
7
  */
8
8
  export function escapeString(value) {
9
9
  return value
10
- .replace(/#/g, '##') // # ## に置換
11
- .replace(/ /g, '#'); // スペースを # に置換
10
+ .replace(/#/g, '##') // Replace # with ##
11
+ .replace(/ /g, '#'); // Replace space with #
12
12
  }
13
13
  /**
14
- * 数値を20桁のゼロ埋め文字列に変換する
14
+ * Convert number to 20-digit zero-padded string
15
15
  *
16
- * @param value - 変換する数値(null/undefinedも許容)
17
- * @returns 20桁のゼロ埋め文字列
16
+ * @param value - Number to convert (null/undefined allowed)
17
+ * @returns 20-digit zero-padded string
18
18
  */
19
19
  export function formatNumber(value) {
20
- // null/undefined は空文字を返す
20
+ // Return empty string for null/undefined
21
21
  if (value === null || value === undefined) {
22
22
  return '';
23
23
  }
24
24
  if (!Number.isFinite(value)) {
25
25
  throw new Error(`Invalid number value: ${value}`);
26
26
  }
27
- // 負の数値は0として扱う(または別のエラーハンドリング)
27
+ // Treat negative numbers as 0
28
28
  const normalized = Math.max(0, Math.floor(value));
29
29
  return normalized.toString().padStart(20, '0');
30
30
  }
31
31
  /**
32
- * 日時をUTC ISO 8601形式にフォーマットする
32
+ * Format datetime to UTC ISO 8601 format
33
33
  *
34
- * @param value - 日時文字列またはDateオブジェクト(null/undefinedも許容)
35
- * @returns UTC ISO 8601形式の文字列
34
+ * @param value - Datetime string or Date object (null/undefined allowed)
35
+ * @returns UTC ISO 8601 format string
36
36
  */
37
37
  export function formatDatetime(value) {
38
- // null/undefined は空文字を返す
38
+ // Return empty string for null/undefined
39
39
  if (value === null || value === undefined) {
40
40
  return '';
41
41
  }
@@ -46,29 +46,61 @@ export function formatDatetime(value) {
46
46
  return date.toISOString();
47
47
  }
48
48
  /**
49
- * boolean値をフォーマットする
49
+ * Format boolean value
50
50
  *
51
- * @param value - boolean値(null/undefinedも許容)
52
- * @returns 'true' または 'false' または空文字
51
+ * @param value - Boolean value (null/undefined allowed)
52
+ * @returns 'true' or 'false' or empty string
53
53
  */
54
54
  export function formatBoolean(value) {
55
- // null/undefined は空文字を返す
55
+ // Return empty string for null/undefined
56
56
  if (value === null || value === undefined) {
57
57
  return '';
58
58
  }
59
59
  return value ? 'true' : 'false';
60
60
  }
61
61
  /**
62
- * フィールド値を型に応じてフォーマットする
62
+ * Format array to JSON string
63
63
  *
64
- * @param type - フィールドの型
65
- * @param value - フォーマットする値(null/undefinedも許容)
66
- * @returns フォーマットされた文字列
64
+ * @param value - Array (null/undefined allowed)
65
+ * @returns JSON string or empty string
66
+ */
67
+ export function formatArray(value) {
68
+ // Return empty string for null/undefined
69
+ if (value === null || value === undefined) {
70
+ return '';
71
+ }
72
+ if (!Array.isArray(value)) {
73
+ throw new Error(`Invalid array value: ${value}`);
74
+ }
75
+ return JSON.stringify(value);
76
+ }
77
+ /**
78
+ * Format object to JSON string
79
+ *
80
+ * @param value - Object (null/undefined allowed)
81
+ * @returns JSON string or empty string
82
+ */
83
+ export function formatObject(value) {
84
+ // Return empty string for null/undefined
85
+ if (value === null || value === undefined) {
86
+ return '';
87
+ }
88
+ if (typeof value !== 'object' || Array.isArray(value)) {
89
+ throw new Error(`Invalid object value: ${value}`);
90
+ }
91
+ return JSON.stringify(value);
92
+ }
93
+ /**
94
+ * Format field value according to its type
95
+ *
96
+ * @param type - Field type
97
+ * @param value - Value to format (null/undefined allowed)
98
+ * @returns Formatted string
67
99
  */
68
100
  export function formatFieldValue(type, value) {
69
101
  switch (type) {
70
102
  case 'string':
71
- // 文字列型の場合、null/undefinedは空文字として扱う
103
+ // For string type, treat null/undefined as empty string
72
104
  if (value === null || value === undefined) {
73
105
  return '';
74
106
  }
@@ -79,19 +111,23 @@ export function formatFieldValue(type, value) {
79
111
  return formatDatetime(value);
80
112
  case 'boolean':
81
113
  return formatBoolean(value);
114
+ case 'array':
115
+ return formatArray(value);
116
+ case 'object':
117
+ return formatObject(value);
82
118
  default:
83
119
  throw new Error(`Unknown shadow field type: ${type}`);
84
120
  }
85
121
  }
86
122
  /**
87
- * シャドーSKを生成する
88
- * フォーマット: {fieldName}#{formattedValue}#id#{recordId}
123
+ * Generate shadow SK
124
+ * Format: {fieldName}#{formattedValue}#id#{recordId}
89
125
  *
90
- * @param fieldName - フィールド名
91
- * @param value - フィールド値
92
- * @param recordId - レコードIDULID
93
- * @param type - フィールドの型(デフォルト: 'string'
94
- * @returns 生成されたシャドーSK
126
+ * @param fieldName - Field name
127
+ * @param value - Field value
128
+ * @param recordId - Record ID (ULID)
129
+ * @param type - Field type (default: 'string')
130
+ * @returns Generated shadow SK
95
131
  *
96
132
  * @example
97
133
  * generateShadowSK('name', 'Tech News', '01HZXY123', 'string')
@@ -108,17 +144,25 @@ export function formatFieldValue(type, value) {
108
144
  * @example
109
145
  * generateShadowSK('isPublished', true, '01HZXY123', 'boolean')
110
146
  * // => 'isPublished#true#id#01HZXY123'
147
+ *
148
+ * @example
149
+ * generateShadowSK('tags', ['tech', 'aws'], '01HZXY123', 'array')
150
+ * // => 'tags#["tech","aws"]#id#01HZXY123'
151
+ *
152
+ * @example
153
+ * generateShadowSK('metadata', { category: 'tech' }, '01HZXY123', 'object')
154
+ * // => 'metadata#{"category":"tech"}#id#01HZXY123'
111
155
  */
112
156
  export function generateShadowSK(fieldName, value, recordId, type = 'string') {
113
157
  const formattedValue = formatFieldValue(type, value);
114
158
  return `${fieldName}#${formattedValue}#id#${recordId}`;
115
159
  }
116
160
  /**
117
- * レコードIDからメインレコードのSKを生成する
118
- * フォーマット: id#{recordId}
161
+ * Generate main record SK from record ID
162
+ * Format: id#{recordId}
119
163
  *
120
- * @param recordId - レコードIDULID
121
- * @returns メインレコードのSK
164
+ * @param recordId - Record ID (ULID)
165
+ * @returns Main record SK
122
166
  */
123
167
  export function generateMainRecordSK(recordId) {
124
168
  return `id#${recordId}`;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/shadows/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/shadows/generator.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,14 @@
1
1
  /**
2
- * @exabugs/dynamodb-client/shadows - シャドー管理ライブラリ
2
+ * @exabugs/dynamodb-client/shadows - Shadow management library
3
3
  *
4
- * DynamoDB Single-Table設計における動的シャドーレコード管理を提供します。
4
+ * Provides dynamic shadow record management for DynamoDB Single-Table design.
5
5
  *
6
- * 主な機能:
7
- * - シャドーSK生成(string/number/datetime対応)
8
- * - シャドー差分計算(旧影と新影の比較)
9
- * - shadow.config.json読み込みと検証
6
+ * Main features:
7
+ * - Shadow SK generation (supports string/number/datetime/boolean/array/object)
8
+ * - Shadow difference calculation (comparing old and new shadows)
9
+ * - Configuration management utilities (for legacy compatibility)
10
10
  */
11
- export type { ShadowFieldConfig, ResourceShadowConfig, ShadowConfig, ShadowDiff } from './types.js';
12
- export type { ShadowFieldType, ShadowFieldDefinition, ResourceSchema, SchemaRegistryConfig, } from './schema.js';
13
- export { escapeString, formatNumber, formatDatetime, formatBoolean, formatFieldValue, generateShadowSK, generateMainRecordSK, } from './generator.js';
11
+ export type { ShadowFieldType, ShadowFieldConfig, ShadowDiff } from './types.js';
12
+ export { escapeString, formatNumber, formatDatetime, formatBoolean, formatArray, formatObject, formatFieldValue, generateShadowSK, generateMainRecordSK, } from './generator.js';
14
13
  export { calculateShadowDiff, isDiffEmpty, mergeShadowDiffs } from './differ.js';
15
- export { loadShadowConfig, getResourceConfig, getAllShadowFields, isValidShadowField, getDefaultSort, getConfigPathFromEnv, } from './config.js';
16
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shadows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGpG,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shadows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,17 +1,18 @@
1
1
  /**
2
- * @exabugs/dynamodb-client/shadows - シャドー管理ライブラリ
2
+ * @exabugs/dynamodb-client/shadows - Shadow management library
3
3
  *
4
- * DynamoDB Single-Table設計における動的シャドーレコード管理を提供します。
4
+ * Provides dynamic shadow record management for DynamoDB Single-Table design.
5
5
  *
6
- * 主な機能:
7
- * - シャドーSK生成(string/number/datetime対応)
8
- * - シャドー差分計算(旧影と新影の比較)
9
- * - shadow.config.json読み込みと検証
6
+ * Main features:
7
+ * - Shadow SK generation (supports string/number/datetime/boolean/array/object)
8
+ * - Shadow difference calculation (comparing old and new shadows)
9
+ * - Configuration management utilities (for legacy compatibility)
10
10
  */
11
- // ジェネレーター関数のエクスポート
12
- export { escapeString, formatNumber, formatDatetime, formatBoolean, formatFieldValue, generateShadowSK, generateMainRecordSK, } from './generator.js';
13
- // 差分計算関数のエクスポート
11
+ // Legacy types removed in v0.3.x - use environment variables for configuration
12
+ // Generator functions export
13
+ export { escapeString, formatNumber, formatDatetime, formatBoolean, formatArray, formatObject, formatFieldValue, generateShadowSK, generateMainRecordSK, } from './generator.js';
14
+ // Difference calculation functions export
14
15
  export { calculateShadowDiff, isDiffEmpty, mergeShadowDiffs } from './differ.js';
15
- // 設定管理関数のエクスポート
16
- export { loadShadowConfig, getResourceConfig, getAllShadowFields, isValidShadowField, getDefaultSort, getConfigPathFromEnv, } from './config.js';
16
+ // Note: Configuration management functions removed in v0.3.x
17
+ // Use environment variables for configuration instead
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shadows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,mBAAmB;AACnB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,gBAAgB;AAChB,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjF,gBAAgB;AAChB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shadows/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,+EAA+E;AAE/E,6BAA6B;AAC7B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,0CAA0C;AAC1C,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjF,6DAA6D;AAC7D,sDAAsD"}
@@ -1,40 +1,20 @@
1
1
  /**
2
- * シャドー設定のフィールド定義
2
+ * Shadow field types supported by the automatic shadow generation system
3
3
  */
4
- export interface ShadowFieldConfig {
5
- type: 'string' | 'number' | 'datetime';
6
- }
7
- /**
8
- * リソースごとのシャドー設定
9
- */
10
- export interface ResourceShadowConfig {
11
- sortDefaults: {
12
- field: string;
13
- order: 'ASC' | 'DESC';
14
- };
15
- shadows: {
16
- [fieldName: string]: ShadowFieldConfig;
17
- };
18
- ttl?: {
19
- days: number;
20
- };
21
- }
4
+ export type ShadowFieldType = 'string' | 'number' | 'datetime' | 'boolean' | 'array' | 'object';
22
5
  /**
23
- * shadow.config.jsonの全体構造
6
+ * Shadow field configuration
24
7
  */
25
- export interface ShadowConfig {
26
- $schemaVersion: string;
27
- resources: {
28
- [resourceName: string]: ResourceShadowConfig;
29
- };
8
+ export interface ShadowFieldConfig {
9
+ type: ShadowFieldType;
30
10
  }
31
11
  /**
32
- * シャドー差分計算の結果
12
+ * Result of shadow difference calculation
33
13
  */
34
14
  export interface ShadowDiff {
35
- /** 削除すべきシャドーSKのリスト */
15
+ /** List of shadow SKs to delete */
36
16
  toDelete: string[];
37
- /** 追加すべきシャドーSKのリスト */
17
+ /** List of shadow SKs to add */
38
18
  toAdd: string[];
39
19
  }
40
20
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shadows/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,OAAO,EAAE;QACP,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAAC;KACxC,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE;QACT,CAAC,YAAY,EAAE,MAAM,GAAG,oBAAoB,CAAC;KAC9C,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sBAAsB;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sBAAsB;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shadows/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhG;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;CACvB;AAKD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gCAAgC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB"}