dyno-table 0.1.8 → 1.0.0-alpha.1

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 (58) hide show
  1. package/README.md +35 -7
  2. package/package.json +13 -3
  3. package/dist/builders/condition-check-builder.cjs +0 -394
  4. package/dist/builders/condition-check-builder.cjs.map +0 -1
  5. package/dist/builders/condition-check-builder.js +0 -392
  6. package/dist/builders/condition-check-builder.js.map +0 -1
  7. package/dist/builders/delete-builder.cjs +0 -422
  8. package/dist/builders/delete-builder.cjs.map +0 -1
  9. package/dist/builders/delete-builder.js +0 -420
  10. package/dist/builders/delete-builder.js.map +0 -1
  11. package/dist/builders/paginator.cjs +0 -199
  12. package/dist/builders/paginator.cjs.map +0 -1
  13. package/dist/builders/paginator.js +0 -197
  14. package/dist/builders/paginator.js.map +0 -1
  15. package/dist/builders/put-builder.cjs +0 -468
  16. package/dist/builders/put-builder.cjs.map +0 -1
  17. package/dist/builders/put-builder.js +0 -466
  18. package/dist/builders/put-builder.js.map +0 -1
  19. package/dist/builders/query-builder.cjs +0 -674
  20. package/dist/builders/query-builder.cjs.map +0 -1
  21. package/dist/builders/query-builder.js +0 -672
  22. package/dist/builders/query-builder.js.map +0 -1
  23. package/dist/builders/transaction-builder.cjs +0 -876
  24. package/dist/builders/transaction-builder.cjs.map +0 -1
  25. package/dist/builders/transaction-builder.js +0 -874
  26. package/dist/builders/transaction-builder.js.map +0 -1
  27. package/dist/builders/update-builder.cjs +0 -662
  28. package/dist/builders/update-builder.cjs.map +0 -1
  29. package/dist/builders/update-builder.js +0 -660
  30. package/dist/builders/update-builder.js.map +0 -1
  31. package/dist/conditions.cjs +0 -59
  32. package/dist/conditions.cjs.map +0 -1
  33. package/dist/conditions.js +0 -43
  34. package/dist/conditions.js.map +0 -1
  35. package/dist/entity.cjs +0 -169
  36. package/dist/entity.cjs.map +0 -1
  37. package/dist/entity.js +0 -165
  38. package/dist/entity.js.map +0 -1
  39. package/dist/standard-schema.cjs +0 -4
  40. package/dist/standard-schema.cjs.map +0 -1
  41. package/dist/standard-schema.js +0 -3
  42. package/dist/standard-schema.js.map +0 -1
  43. package/dist/table.cjs +0 -3265
  44. package/dist/table.cjs.map +0 -1
  45. package/dist/table.js +0 -3263
  46. package/dist/table.js.map +0 -1
  47. package/dist/types.cjs +0 -4
  48. package/dist/types.cjs.map +0 -1
  49. package/dist/types.js +0 -3
  50. package/dist/types.js.map +0 -1
  51. package/dist/utils/key-template.cjs +0 -19
  52. package/dist/utils/key-template.cjs.map +0 -1
  53. package/dist/utils/key-template.js +0 -17
  54. package/dist/utils/key-template.js.map +0 -1
  55. package/dist/utils/sort-key-template.cjs +0 -19
  56. package/dist/utils/sort-key-template.cjs.map +0 -1
  57. package/dist/utils/sort-key-template.js +0 -17
  58. package/dist/utils/sort-key-template.js.map +0 -1
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- // src/utils/sort-key-template.ts
4
- function sortKey(strings, ...keys) {
5
- return (params) => {
6
- let result = strings[0] ?? "";
7
- for (let i = 0; i < keys.length; i++) {
8
- const key = keys[i];
9
- if (key && params && key in params) {
10
- result += params[key] + (strings[i + 1] ?? "");
11
- }
12
- }
13
- return result;
14
- };
15
- }
16
-
17
- exports.sortKey = sortKey;
18
- //# sourceMappingURL=sort-key-template.cjs.map
19
- //# sourceMappingURL=sort-key-template.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/sort-key-template.ts"],"names":[],"mappings":";;;AAqCO,SAAS,OAAA,CACd,YACG,IACkC,EAAA;AACrC,EAAA,OAAO,CAAC,MAAW,KAAA;AACjB,IAAI,IAAA,MAAA,GAAS,OAAQ,CAAA,CAAC,CAAK,IAAA,EAAA;AAE3B,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,IAAA,CAAK,QAAQ,CAAK,EAAA,EAAA;AACpC,MAAM,MAAA,GAAA,GAAM,KAAK,CAAC,CAAA;AAElB,MAAI,IAAA,GAAA,IAAO,MAAU,IAAA,GAAA,IAAO,MAAQ,EAAA;AAClC,QAAA,MAAA,IAAU,OAAO,GAAG,CAAA,IAAK,OAAQ,CAAA,CAAA,GAAI,CAAC,CAAK,IAAA,EAAA,CAAA;AAAA;AAC7C;AAGF,IAAO,OAAA,MAAA;AAAA,GACT;AACF","file":"sort-key-template.cjs","sourcesContent":["export type GenerateType<T extends readonly string[], U extends string = never> = T extends [infer F, ...infer R]\n ? F extends string\n ? R extends string[]\n ? ({ [K in F | U]: string | number } & Partial<Record<Exclude<T[number], F | U>, never>>) | GenerateType<R, F | U>\n : never\n : never\n : never;\n\n/**\n * Creates a template function for generating DynamoDB sort keys with dynamic values.\n * Use this function when you need to:\n * - Create consistent sort key patterns with variable parts\n * - Generate sort keys that follow a specific format\n * - Ensure type safety for sort key parameters\n *\n * @example\n * ```ts\n * // Define a sort key template\n * const sk = sortKey`country#${\"country\"}#enclosure#${\"enclosure\"}#diet#${\"diet\"}`;\n *\n * // Generate a sort key with partial parameters\n * const templatedString = sk({ country: \"NZ\", enclosure: \"A1\" });\n * // Result: \"country#NZ#enclosure#A1#diet#\"\n *\n * // Generate a complete sort key\n * const fullKey = sk({ country: \"NZ\", enclosure: \"A1\", diet: \"carnivore\" });\n * // Result: \"country#NZ#enclosure#A1#diet#carnivore\"\n *\n * // Type checking ensures only valid parameters are used\n * const invalidKey = sk({ country: \"NZ\", invalid: \"value\" }); // TypeScript error\n * ```\n *\n * @param strings - The static parts of the template string\n * @param keys - The dynamic parts of the template string that will be replaced with values\n *\n * @returns A function that accepts an object with the dynamic values and returns the formatted sort key\n */\nexport function sortKey<T extends readonly string[]>(\n strings: TemplateStringsArray,\n ...keys: T\n): (params: GenerateType<T>) => string {\n return (params) => {\n let result = strings[0] ?? \"\";\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n if (key && params && key in params) {\n result += params[key] + (strings[i + 1] ?? \"\");\n }\n }\n\n return result;\n };\n}\n"]}
@@ -1,17 +0,0 @@
1
- // src/utils/sort-key-template.ts
2
- function sortKey(strings, ...keys) {
3
- return (params) => {
4
- let result = strings[0] ?? "";
5
- for (let i = 0; i < keys.length; i++) {
6
- const key = keys[i];
7
- if (key && params && key in params) {
8
- result += params[key] + (strings[i + 1] ?? "");
9
- }
10
- }
11
- return result;
12
- };
13
- }
14
-
15
- export { sortKey };
16
- //# sourceMappingURL=sort-key-template.js.map
17
- //# sourceMappingURL=sort-key-template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/sort-key-template.ts"],"names":[],"mappings":";AAqCO,SAAS,OAAA,CACd,YACG,IACkC,EAAA;AACrC,EAAA,OAAO,CAAC,MAAW,KAAA;AACjB,IAAI,IAAA,MAAA,GAAS,OAAQ,CAAA,CAAC,CAAK,IAAA,EAAA;AAE3B,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,IAAA,CAAK,QAAQ,CAAK,EAAA,EAAA;AACpC,MAAM,MAAA,GAAA,GAAM,KAAK,CAAC,CAAA;AAElB,MAAI,IAAA,GAAA,IAAO,MAAU,IAAA,GAAA,IAAO,MAAQ,EAAA;AAClC,QAAA,MAAA,IAAU,OAAO,GAAG,CAAA,IAAK,OAAQ,CAAA,CAAA,GAAI,CAAC,CAAK,IAAA,EAAA,CAAA;AAAA;AAC7C;AAGF,IAAO,OAAA,MAAA;AAAA,GACT;AACF","file":"sort-key-template.js","sourcesContent":["export type GenerateType<T extends readonly string[], U extends string = never> = T extends [infer F, ...infer R]\n ? F extends string\n ? R extends string[]\n ? ({ [K in F | U]: string | number } & Partial<Record<Exclude<T[number], F | U>, never>>) | GenerateType<R, F | U>\n : never\n : never\n : never;\n\n/**\n * Creates a template function for generating DynamoDB sort keys with dynamic values.\n * Use this function when you need to:\n * - Create consistent sort key patterns with variable parts\n * - Generate sort keys that follow a specific format\n * - Ensure type safety for sort key parameters\n *\n * @example\n * ```ts\n * // Define a sort key template\n * const sk = sortKey`country#${\"country\"}#enclosure#${\"enclosure\"}#diet#${\"diet\"}`;\n *\n * // Generate a sort key with partial parameters\n * const templatedString = sk({ country: \"NZ\", enclosure: \"A1\" });\n * // Result: \"country#NZ#enclosure#A1#diet#\"\n *\n * // Generate a complete sort key\n * const fullKey = sk({ country: \"NZ\", enclosure: \"A1\", diet: \"carnivore\" });\n * // Result: \"country#NZ#enclosure#A1#diet#carnivore\"\n *\n * // Type checking ensures only valid parameters are used\n * const invalidKey = sk({ country: \"NZ\", invalid: \"value\" }); // TypeScript error\n * ```\n *\n * @param strings - The static parts of the template string\n * @param keys - The dynamic parts of the template string that will be replaced with values\n *\n * @returns A function that accepts an object with the dynamic values and returns the formatted sort key\n */\nexport function sortKey<T extends readonly string[]>(\n strings: TemplateStringsArray,\n ...keys: T\n): (params: GenerateType<T>) => string {\n return (params) => {\n let result = strings[0] ?? \"\";\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n if (key && params && key in params) {\n result += params[key] + (strings[i + 1] ?? \"\");\n }\n }\n\n return result;\n };\n}\n"]}