@antelopejs/interface-database-decorators 0.1.10 → 0.1.11

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 (55) hide show
  1. package/dist/common.js.map +1 -1
  2. package/dist/database.js.map +1 -1
  3. package/dist/model.js +29 -26
  4. package/dist/model.js.map +1 -1
  5. package/dist/modifiers/common.d.ts +24 -4
  6. package/dist/modifiers/common.js +92 -114
  7. package/dist/modifiers/common.js.map +1 -1
  8. package/dist/modifiers/encryption.js +14 -9
  9. package/dist/modifiers/encryption.js.map +1 -1
  10. package/dist/modifiers/internal/kinds.d.ts +12 -0
  11. package/dist/modifiers/internal/kinds.js +29 -0
  12. package/dist/modifiers/internal/kinds.js.map +1 -0
  13. package/dist/modifiers/internal/records.d.ts +29 -0
  14. package/dist/modifiers/internal/records.js +42 -0
  15. package/dist/modifiers/internal/records.js.map +1 -0
  16. package/dist/modifiers/localization.js +5 -1
  17. package/dist/modifiers/localization.js.map +1 -1
  18. package/dist/schema.js +1 -2
  19. package/dist/schema.js.map +1 -1
  20. package/dist/table.js +19 -5
  21. package/dist/table.js.map +1 -1
  22. package/dist/tests/codec_helpers.d.ts +6 -2
  23. package/dist/tests/codec_helpers.js +18 -14
  24. package/dist/tests/codec_helpers.js.map +1 -1
  25. package/dist/tests/common.test.js +38 -46
  26. package/dist/tests/common.test.js.map +1 -1
  27. package/dist/tests/cross_instance.test.js +27 -2
  28. package/dist/tests/cross_instance.test.js.map +1 -1
  29. package/dist/tests/database.test.js +246 -256
  30. package/dist/tests/database.test.js.map +1 -1
  31. package/dist/tests/helpers/other-instance.d.ts +1 -1
  32. package/dist/tests/helpers/other-instance.js +41 -9
  33. package/dist/tests/helpers/other-instance.js.map +1 -1
  34. package/dist/tests/integration.test.js +485 -485
  35. package/dist/tests/integration.test.js.map +1 -1
  36. package/dist/tests/model.test.js +293 -308
  37. package/dist/tests/model.test.js.map +1 -1
  38. package/dist/tests/modifiers/autodate.test.js +80 -86
  39. package/dist/tests/modifiers/autodate.test.js.map +1 -1
  40. package/dist/tests/modifiers/common.test.js +181 -195
  41. package/dist/tests/modifiers/common.test.js.map +1 -1
  42. package/dist/tests/modifiers/encryption.test.js +149 -155
  43. package/dist/tests/modifiers/encryption.test.js.map +1 -1
  44. package/dist/tests/modifiers/hash.test.js +91 -99
  45. package/dist/tests/modifiers/hash.test.js.map +1 -1
  46. package/dist/tests/modifiers/localization.test.js +186 -196
  47. package/dist/tests/modifiers/localization.test.js.map +1 -1
  48. package/dist/tests/relation.test.js +92 -97
  49. package/dist/tests/relation.test.js.map +1 -1
  50. package/dist/tests/schema.test.js +101 -106
  51. package/dist/tests/schema.test.js.map +1 -1
  52. package/dist/tests/table.test.js +124 -132
  53. package/dist/tests/table.test.js.map +1 -1
  54. package/package.json +14 -3
  55. package/skills/database-decorators-interface/cases.json +71 -0
@@ -7,7 +7,31 @@ exports.CreateOtherInstance = CreateOtherInstance;
7
7
  const node_module_1 = __importDefault(require("node:module"));
8
8
  const node_fs_1 = require("node:fs");
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
- const internals = node_module_1.default;
10
+ function hasInternals(candidate) {
11
+ return ("_resolveFilename" in candidate &&
12
+ typeof candidate._resolveFilename === "function" &&
13
+ "_nodeModulePaths" in candidate &&
14
+ typeof candidate._nodeModulePaths === "function");
15
+ }
16
+ function isLoadable(candidate) {
17
+ return "load" in candidate && typeof candidate.load === "function";
18
+ }
19
+ function isModuleExports(value) {
20
+ return ((typeof value === "object" || typeof value === "function") && value !== null);
21
+ }
22
+ function exportsOf(loaded) {
23
+ const exported = loaded.exports;
24
+ if (!isModuleExports(exported)) {
25
+ throw new Error(`${loaded.filename} does not export an object or a function`);
26
+ }
27
+ return exported;
28
+ }
29
+ function resolveInternals() {
30
+ if (!hasInternals(node_module_1.default)) {
31
+ throw new Error("node:module does not expose its resolution internals");
32
+ }
33
+ return node_module_1.default;
34
+ }
11
35
  /**
12
36
  * Evaluates built packages a second time, the way the core gives each
13
37
  * provider binding its own copy of an interface: every file under `folders`
@@ -24,22 +48,30 @@ function CreateOtherInstance(folders) {
24
48
  const load = (filename, parent) => {
25
49
  const cached = modules.get(filename);
26
50
  if (cached) {
27
- return cached.exports;
51
+ return exportsOf(cached);
28
52
  }
29
53
  const loaded = new node_module_1.default(filename, parent);
30
54
  loaded.filename = filename;
31
- loaded.paths = internals._nodeModulePaths(node_path_1.default.dirname(filename));
32
- loaded.require = ((request) => requireFrom(loaded, request));
55
+ loaded.paths = resolveInternals()._nodeModulePaths(node_path_1.default.dirname(filename));
56
+ loaded.require = (request) => requireFrom(loaded, request);
33
57
  modules.set(filename, loaded);
58
+ if (!isLoadable(loaded)) {
59
+ throw new Error("node:module instances cannot load a file directly");
60
+ }
34
61
  loaded.load(filename);
35
- return loaded.exports;
62
+ return exportsOf(loaded);
36
63
  };
37
64
  const requireFrom = (parent, request) => {
38
- const filename = internals._resolveFilename(request, parent);
65
+ const filename = resolveInternals()._resolveFilename(request, parent);
39
66
  const isOwned = owned.some((root) => filename.startsWith(root));
40
- return isOwned
41
- ? load(filename, parent)
42
- : node_module_1.default.prototype.require.call(parent, request);
67
+ if (isOwned) {
68
+ return load(filename, parent);
69
+ }
70
+ const required = node_module_1.default.prototype.require.call(parent, request);
71
+ if (!isModuleExports(required)) {
72
+ throw new Error(`${request} does not export an object or a function`);
73
+ }
74
+ return required;
43
75
  };
44
76
  return (request) => requireFrom(module, request);
45
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"other-instance.js","sourceRoot":"","sources":["../../../src/tests/helpers/other-instance.ts"],"names":[],"mappings":";;;;;AA2BA,kDA4BC;AAvDD,8DAAiC;AACjC,qCAAuC;AACvC,0DAA6B;AAa7B,MAAM,SAAS,GAAG,qBAAoC,CAAC;AAEvD;;;;;;;;;GASG;AACH,SAAgB,mBAAmB,CAAC,OAAiB;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,sBAAY,EAAC,MAAM,CAAC,GAAG,mBAAI,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,MAAM,IAAI,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAW,EAAE;QACzD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,qBAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,gBAAgB,CAAC,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,OAAe,EAAE,EAAE,CACpC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAsB,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,OAAe,EAAW,EAAE;QAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,OAAO;YACZ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxB,CAAC,CAAC,qBAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,OAAO,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"other-instance.js","sourceRoot":"","sources":["../../../src/tests/helpers/other-instance.ts"],"names":[],"mappings":"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"}