@antelopejs/interface-database 0.1.7 → 0.1.9

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 (47) hide show
  1. package/README.md +0 -2
  2. package/dist/antelope.test.js +1 -1
  3. package/dist/datum.d.ts +1 -1
  4. package/dist/datum.js +2 -1
  5. package/dist/datum.js.map +1 -1
  6. package/dist/index.d.ts +4 -4
  7. package/dist/index.js +5 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/query.d.ts +1 -0
  10. package/dist/query.js +3 -1
  11. package/dist/query.js.map +1 -1
  12. package/dist/staged-query/datum.d.ts +10 -0
  13. package/dist/staged-query/datum.js +16 -0
  14. package/dist/staged-query/datum.js.map +1 -1
  15. package/dist/staged-query/index.d.ts +4 -4
  16. package/dist/staged-query/index.js +5 -1
  17. package/dist/staged-query/index.js.map +1 -1
  18. package/dist/staged-query/kind.d.ts +2 -0
  19. package/dist/staged-query/kind.js +13 -0
  20. package/dist/staged-query/kind.js.map +1 -0
  21. package/dist/staged-query/query.d.ts +10 -0
  22. package/dist/staged-query/query.js +16 -0
  23. package/dist/staged-query/query.js.map +1 -1
  24. package/dist/staged-query/schema.d.ts +15 -0
  25. package/dist/staged-query/schema.js +5 -1
  26. package/dist/staged-query/schema.js.map +1 -1
  27. package/dist/staged-query/stream.d.ts +10 -0
  28. package/dist/staged-query/stream.js +16 -0
  29. package/dist/staged-query/stream.js.map +1 -1
  30. package/dist/staged-query/valueproxy.d.ts +10 -0
  31. package/dist/staged-query/valueproxy.js +16 -0
  32. package/dist/staged-query/valueproxy.js.map +1 -1
  33. package/dist/stream.d.ts +1 -1
  34. package/dist/stream.js +2 -1
  35. package/dist/stream.js.map +1 -1
  36. package/dist/tests/cross_instance.test.d.ts +1 -0
  37. package/dist/tests/cross_instance.test.js +80 -0
  38. package/dist/tests/cross_instance.test.js.map +1 -0
  39. package/dist/tests/helpers/other-instance.d.ts +13 -0
  40. package/dist/tests/helpers/other-instance.js +46 -0
  41. package/dist/tests/helpers/other-instance.js.map +1 -0
  42. package/docs/1.query_types/1.index.md +14 -0
  43. package/docs/2.operations/5.indexes.md +24 -0
  44. package/docs/3.results/3.index_changes.md +11 -0
  45. package/docs/3.results/5.database_changes.md +2 -0
  46. package/package.json +5 -4
  47. package/skills/database-interface/SKILL.md +6 -1
package/README.md CHANGED
@@ -1,5 +1,3 @@
1
- ![Database](.github/social-card.png)
2
-
3
1
  # Interface Database
4
2
 
5
3
  <div align="center">
@@ -11,7 +11,7 @@ exports.default = (0, config_1.defineConfig)({
11
11
  source: {
12
12
  type: "package",
13
13
  package: "@antelopejs/mongodb",
14
- version: "1.3.0",
14
+ version: "1.3.1",
15
15
  },
16
16
  },
17
17
  },
package/dist/datum.d.ts CHANGED
@@ -1 +1 @@
1
- export { Datum } from "./staged-query/datum";
1
+ export { Datum, IsDatum } from "./staged-query/datum";
package/dist/datum.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Datum = void 0;
3
+ exports.IsDatum = exports.Datum = void 0;
4
4
  var datum_1 = require("./staged-query/datum");
5
5
  Object.defineProperty(exports, "Datum", { enumerable: true, get: function () { return datum_1.Datum; } });
6
+ Object.defineProperty(exports, "IsDatum", { enumerable: true, get: function () { return datum_1.IsDatum; } });
6
7
  //# sourceMappingURL=datum.js.map
package/dist/datum.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"datum.js","sourceRoot":"","sources":["../src/datum.ts"],"names":[],"mappings":";;;AAAA,8CAA6C;AAApC,8FAAA,KAAK,OAAA"}
1
+ {"version":3,"file":"datum.js","sourceRoot":"","sources":["../src/datum.ts"],"names":[],"mappings":";;;AAAA,8CAAsD;AAA7C,8FAAA,KAAK,OAAA;AAAE,gGAAA,OAAO,OAAA"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export * from "./atomic";
2
- export { Datum } from "./datum";
3
- export { Query } from "./query";
2
+ export { Datum, IsDatum } from "./datum";
3
+ export { IsQuery, Query } from "./query";
4
4
  export { CROSS_INSTANCE, InstanceId, Schema, SchemaDefinition, SchemaInstance, } from "./schema";
5
5
  export { Selection, SingleSelection, Table } from "./selection";
6
- export { Stream } from "./stream";
7
- export { ValueProxy, ValueProxyOrValue } from "./valueproxy";
6
+ export { IsStream, Stream } from "./stream";
7
+ export { IsValueProxy, ValueProxy, ValueProxyOrValue } from "./valueproxy";
package/dist/index.js CHANGED
@@ -14,11 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ValueProxy = exports.Stream = exports.Table = exports.SingleSelection = exports.Selection = exports.SchemaInstance = exports.Schema = exports.CROSS_INSTANCE = exports.Query = exports.Datum = void 0;
17
+ exports.ValueProxy = exports.IsValueProxy = exports.Stream = exports.IsStream = exports.Table = exports.SingleSelection = exports.Selection = exports.SchemaInstance = exports.Schema = exports.CROSS_INSTANCE = exports.Query = exports.IsQuery = exports.IsDatum = exports.Datum = void 0;
18
18
  __exportStar(require("./atomic"), exports);
19
19
  var datum_1 = require("./datum");
20
20
  Object.defineProperty(exports, "Datum", { enumerable: true, get: function () { return datum_1.Datum; } });
21
+ Object.defineProperty(exports, "IsDatum", { enumerable: true, get: function () { return datum_1.IsDatum; } });
21
22
  var query_1 = require("./query");
23
+ Object.defineProperty(exports, "IsQuery", { enumerable: true, get: function () { return query_1.IsQuery; } });
22
24
  Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return query_1.Query; } });
23
25
  var schema_1 = require("./schema");
24
26
  Object.defineProperty(exports, "CROSS_INSTANCE", { enumerable: true, get: function () { return schema_1.CROSS_INSTANCE; } });
@@ -29,7 +31,9 @@ Object.defineProperty(exports, "Selection", { enumerable: true, get: function ()
29
31
  Object.defineProperty(exports, "SingleSelection", { enumerable: true, get: function () { return selection_1.SingleSelection; } });
30
32
  Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return selection_1.Table; } });
31
33
  var stream_1 = require("./stream");
34
+ Object.defineProperty(exports, "IsStream", { enumerable: true, get: function () { return stream_1.IsStream; } });
32
35
  Object.defineProperty(exports, "Stream", { enumerable: true, get: function () { return stream_1.Stream; } });
33
36
  var valueproxy_1 = require("./valueproxy");
37
+ Object.defineProperty(exports, "IsValueProxy", { enumerable: true, get: function () { return valueproxy_1.IsValueProxy; } });
34
38
  Object.defineProperty(exports, "ValueProxy", { enumerable: true, get: function () { return valueproxy_1.ValueProxy; } });
35
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,mCAMkB;AALhB,wGAAA,cAAc,OAAA;AAEd,gGAAA,MAAM,OAAA;AAEN,wGAAA,cAAc,OAAA;AAEhB,yCAAgE;AAAvD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,kGAAA,KAAK,OAAA;AAC1C,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,2CAA6D;AAApD,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,iCAAyC;AAAhC,8FAAA,KAAK,OAAA;AAAE,gGAAA,OAAO,OAAA;AACvB,iCAAyC;AAAhC,gGAAA,OAAO,OAAA;AAAE,8FAAA,KAAK,OAAA;AACvB,mCAMkB;AALhB,wGAAA,cAAc,OAAA;AAEd,gGAAA,MAAM,OAAA;AAEN,wGAAA,cAAc,OAAA;AAEhB,yCAAgE;AAAvD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,kGAAA,KAAK,OAAA;AAC1C,mCAA4C;AAAnC,kGAAA,QAAQ,OAAA;AAAE,gGAAA,MAAM,OAAA;AACzB,2CAA2E;AAAlE,0GAAA,YAAY,OAAA;AAAE,wGAAA,UAAU,OAAA"}
package/dist/query.d.ts CHANGED
@@ -12,3 +12,4 @@ declare module "./staged-query/query" {
12
12
  }
13
13
  }
14
14
  export { StagedQuery as Query };
15
+ export { IsQuery } from "./staged-query/query";
package/dist/query.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Query = exports.CloseCursor = exports.ReadCursor = exports.RunQuery = void 0;
3
+ exports.IsQuery = exports.Query = exports.CloseCursor = exports.ReadCursor = exports.RunQuery = void 0;
4
4
  const interface_core_1 = require("@antelopejs/interface-core");
5
5
  const query_1 = require("./staged-query/query");
6
6
  Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return query_1.Query; } });
@@ -78,4 +78,6 @@ Object.defineProperties(query_1.Query.prototype, {
78
78
  writable: true,
79
79
  },
80
80
  });
81
+ var query_2 = require("./staged-query/query");
82
+ Object.defineProperty(exports, "IsQuery", { enumerable: true, get: function () { return query_2.IsQuery; } });
81
83
  //# sourceMappingURL=query.js.map
package/dist/query.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":";;;AAAA,+DAA+D;AAG/D,gDAA4D;AAgHpC,sFAhHN,aAAW,OAgHA;AA9G7B,WAAW;AACE,QAAA,QAAQ,GACnB,IAAA,kCAAiB,GAA0C,CAAC;AAC9D,WAAW;AACE,QAAA,UAAU,GACrB,IAAA,kCAAiB,GAEd,CAAC;AACN,WAAW;AACE,QAAA,WAAW,GAAG,IAAA,kCAAiB,GAA2B,CAAC;AAExE,IAAI,SAAS,GAAG,CAAC,CAAC;AAClB,MAAM,cAAc;IAKS;IAJnB,KAAK,CAAS;IACd,OAAO,CAA4C;IACnD,MAAM,CAAsB;IAEpC,YAA2B,MAA8B;QAA9B,WAAM,GAAN,MAAM,CAAwB;QACvD,IAAI,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC;IAC3B,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,KAAK,IAAA,kBAAU,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;iBACrC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;iBACrB,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC1B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,MAAM,IAAA,mBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,CAAM;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,MAAM,IAAA,mBAAW,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAgBD,SAAS,GAAG;IACV,OAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,IAAI,CAEX,WAAqE,EACrE,UAAuE;IAEvE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,MAAM;IAGb,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,OAAO;IAGd,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,gBAAgB,CAAC,aAAW,CAAC,SAAS,EAAE;IAC7C,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;IACvD,kHAAkH;IAClH,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IACzD,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;IAC7D,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QACtB,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,IAAI;KACf;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"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"}
@@ -53,3 +53,13 @@ export declare class Datum<T> extends Query<T> {
53
53
  */
54
54
  pluck(...fields: string[]): Datum<Partial<T>>;
55
55
  }
56
+ /**
57
+ * Whether a value is a datum, built by any instance of this interface.
58
+ *
59
+ * Unlike `instanceof`, it also recognises objects built by the instance of
60
+ * another provider binding.
61
+ *
62
+ * @param value Value to test
63
+ * @returns True if the value is a datum
64
+ */
65
+ export declare function IsDatum(value: unknown): value is Datum<unknown>;
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Datum = void 0;
4
+ exports.IsDatum = IsDatum;
4
5
  const query_1 = require("./query");
5
6
  const valueproxy_1 = require("./valueproxy");
7
+ const kind_1 = require("./kind");
8
+ const DATUM_KIND = Symbol.for("@antelopejs/interface-database/Datum@1");
6
9
  class Datum extends query_1.Query {
7
10
  /**
8
11
  * Changes the type of this datum.
@@ -67,4 +70,17 @@ class Datum extends query_1.Query {
67
70
  }
68
71
  }
69
72
  exports.Datum = Datum;
73
+ (0, kind_1.MarkKind)(Datum.prototype, DATUM_KIND);
74
+ /**
75
+ * Whether a value is a datum, built by any instance of this interface.
76
+ *
77
+ * Unlike `instanceof`, it also recognises objects built by the instance of
78
+ * another provider binding.
79
+ *
80
+ * @param value Value to test
81
+ * @returns True if the value is a datum
82
+ */
83
+ function IsDatum(value) {
84
+ return (0, kind_1.HasKind)(value, DATUM_KIND);
85
+ }
70
86
  //# sourceMappingURL=datum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datum.js","sourceRoot":"","sources":["../../src/staged-query/datum.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,6CAA0C;AAI1C,MAAa,KAAS,SAAQ,aAAQ;IACpC;;;;;OAKG;IACI,IAAI;QACT,OAAO,IAA2B,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACI,GAAG,CAAgD,GAAM,EAAE,GAAO;QACvE,OAAO,IAAI,CAAC,KAAK,CACf,CAAA,KAIC,CAAA,EACD,KAAK,EACL,SAAS,EACT,GAAG,EACH,GAAG,CACJ,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAI,GAAa;QAC7B,OAAO,IAAI,CAAC,KAAK,CACf,CAAA,KAAuC,CAAA,EACvC,SAAS,EACT,SAAS,EACT,GAAG,CACJ,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAI,MAAiC;QAC5C,OAAO,IAAI,CAAC,KAAK,CACf,CAAA,KAAqB,CAAA,EACrB,KAAK,EACL,SAAS,EACT,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA,uBAAa,CAAA,CAAC,CACrC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CACX,KAAmB,EACnB,QAAY,EACZ,QAAiB;QAEjB,OAAO,IAAI,CAAC,KAAK,CACf,CAAA,KAA8D,CAAA,EAC9D,QAAQ,EACR,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACtB,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,GAAG,MAAgB;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,KAAiB,CAAA,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;CACF;AAhGD,sBAgGC"}
1
+ {"version":3,"file":"datum.js","sourceRoot":"","sources":["../../src/staged-query/datum.ts"],"names":[],"mappings":";;;AAqHA,0BAEC;AAvHD,mCAAgC;AAChC,6CAA0C;AAG1C,iCAA2C;AAE3C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAExE,MAAa,KAAS,SAAQ,aAAQ;IACpC;;;;;OAKG;IACI,IAAI;QACT,OAAO,IAA2B,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACI,GAAG,CAAgD,GAAM,EAAE,GAAO;QACvE,OAAO,IAAI,CAAC,KAAK,CACf,CAAA,KAIC,CAAA,EACD,KAAK,EACL,SAAS,EACT,GAAG,EACH,GAAG,CACJ,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAI,GAAa;QAC7B,OAAO,IAAI,CAAC,KAAK,CACf,CAAA,KAAuC,CAAA,EACvC,SAAS,EACT,SAAS,EACT,GAAG,CACJ,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAI,MAAiC;QAC5C,OAAO,IAAI,CAAC,KAAK,CACf,CAAA,KAAqB,CAAA,EACrB,KAAK,EACL,SAAS,EACT,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA,uBAAa,CAAA,CAAC,CACrC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CACX,KAAmB,EACnB,QAAY,EACZ,QAAiB;QAEjB,OAAO,IAAI,CAAC,KAAK,CACf,CAAA,KAA8D,CAAA,EAC9D,QAAQ,EACR,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACtB,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,GAAG,MAAgB;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,KAAiB,CAAA,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;CACF;AAhGD,sBAgGC;AAED,IAAA,eAAQ,EAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAEtC;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAAC,KAAc;IACpC,OAAO,IAAA,cAAO,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACpC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  export * from "./common";
2
2
  export * from "./atomic";
3
- export { Datum } from "./datum";
4
- export { Query } from "./query";
3
+ export { Datum, IsDatum } from "./datum";
4
+ export { IsQuery, Query } from "./query";
5
5
  export { CROSS_INSTANCE, Schema, SchemaInstance, type FieldType, type IndexDefinition, type InstanceId, type SchemaDefinition, type StringFieldType, type TableDefinition, } from "./schema";
6
6
  export { Selection, SingleSelection, Table } from "./selection";
7
- export { Stream } from "./stream";
8
- export { ValueProxy, type ValueProxyOrValue } from "./valueproxy";
7
+ export { IsStream, Stream } from "./stream";
8
+ export { IsValueProxy, ValueProxy, type ValueProxyOrValue } from "./valueproxy";
@@ -14,12 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ValueProxy = exports.Stream = exports.Table = exports.SingleSelection = exports.Selection = exports.SchemaInstance = exports.Schema = exports.CROSS_INSTANCE = exports.Query = exports.Datum = void 0;
17
+ exports.ValueProxy = exports.IsValueProxy = exports.Stream = exports.IsStream = exports.Table = exports.SingleSelection = exports.Selection = exports.SchemaInstance = exports.Schema = exports.CROSS_INSTANCE = exports.Query = exports.IsQuery = exports.IsDatum = exports.Datum = void 0;
18
18
  __exportStar(require("./common"), exports);
19
19
  __exportStar(require("./atomic"), exports);
20
20
  var datum_1 = require("./datum");
21
21
  Object.defineProperty(exports, "Datum", { enumerable: true, get: function () { return datum_1.Datum; } });
22
+ Object.defineProperty(exports, "IsDatum", { enumerable: true, get: function () { return datum_1.IsDatum; } });
22
23
  var query_1 = require("./query");
24
+ Object.defineProperty(exports, "IsQuery", { enumerable: true, get: function () { return query_1.IsQuery; } });
23
25
  Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return query_1.Query; } });
24
26
  var schema_1 = require("./schema");
25
27
  Object.defineProperty(exports, "CROSS_INSTANCE", { enumerable: true, get: function () { return schema_1.CROSS_INSTANCE; } });
@@ -30,7 +32,9 @@ Object.defineProperty(exports, "Selection", { enumerable: true, get: function ()
30
32
  Object.defineProperty(exports, "SingleSelection", { enumerable: true, get: function () { return selection_1.SingleSelection; } });
31
33
  Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return selection_1.Table; } });
32
34
  var stream_1 = require("./stream");
35
+ Object.defineProperty(exports, "IsStream", { enumerable: true, get: function () { return stream_1.IsStream; } });
33
36
  Object.defineProperty(exports, "Stream", { enumerable: true, get: function () { return stream_1.Stream; } });
34
37
  var valueproxy_1 = require("./valueproxy");
38
+ Object.defineProperty(exports, "IsValueProxy", { enumerable: true, get: function () { return valueproxy_1.IsValueProxy; } });
35
39
  Object.defineProperty(exports, "ValueProxy", { enumerable: true, get: function () { return valueproxy_1.ValueProxy; } });
36
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/staged-query/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,mCAUkB;AAThB,wGAAA,cAAc,OAAA;AACd,gGAAA,MAAM,OAAA;AACN,wGAAA,cAAc,OAAA;AAQhB,yCAAgE;AAAvD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,kGAAA,KAAK,OAAA;AAC1C,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,2CAAkE;AAAzD,wGAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/staged-query/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,iCAAyC;AAAhC,8FAAA,KAAK,OAAA;AAAE,gGAAA,OAAO,OAAA;AACvB,iCAAyC;AAAhC,gGAAA,OAAO,OAAA;AAAE,8FAAA,KAAK,OAAA;AACvB,mCAUkB;AAThB,wGAAA,cAAc,OAAA;AACd,gGAAA,MAAM,OAAA;AACN,wGAAA,cAAc,OAAA;AAQhB,yCAAgE;AAAvD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,kGAAA,KAAK,OAAA;AAC1C,mCAA4C;AAAnC,kGAAA,QAAQ,OAAA;AAAE,gGAAA,MAAM,OAAA;AACzB,2CAAgF;AAAvE,0GAAA,YAAY,OAAA;AAAE,wGAAA,UAAU,OAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function MarkKind(target: object, kind: symbol): void;
2
+ export declare function HasKind(value: unknown, kind: symbol): boolean;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MarkKind = MarkKind;
4
+ exports.HasKind = HasKind;
5
+ function MarkKind(target, kind) {
6
+ Object.defineProperty(target, kind, { value: true });
7
+ }
8
+ function HasKind(value, kind) {
9
+ return (typeof value === "object" &&
10
+ value !== null &&
11
+ value[kind] === true);
12
+ }
13
+ //# sourceMappingURL=kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kind.js","sourceRoot":"","sources":["../../src/staged-query/kind.ts"],"names":[],"mappings":";;AAEA,4BAEC;AAED,0BAMC;AAVD,SAAgB,QAAQ,CAAC,MAAc,EAAE,IAAY;IACnD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,OAAO,CAAC,KAAc,EAAE,IAAY;IAClD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAoB,CAAC,IAAI,CAAC,KAAK,IAAI,CACrC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,13 @@
1
1
  import { StagedObject } from "./common";
2
2
  export declare class Query<T> extends StagedObject {
3
3
  }
4
+ /**
5
+ * Whether a value is a query, built by any instance of this interface.
6
+ *
7
+ * Unlike `instanceof`, it also recognises objects built by the instance of
8
+ * another provider binding.
9
+ *
10
+ * @param value Value to test
11
+ * @returns True if the value is a query
12
+ */
13
+ export declare function IsQuery(value: unknown): value is Query<unknown>;
@@ -1,9 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Query = void 0;
4
+ exports.IsQuery = IsQuery;
4
5
  const common_1 = require("./common");
6
+ const kind_1 = require("./kind");
7
+ const QUERY_KIND = Symbol.for("@antelopejs/interface-database/Query@1");
5
8
  // oxlint-disable-next-line typescript/no-unused-vars -- The executable entry consumes T through declaration merging.
6
9
  class Query extends common_1.StagedObject {
7
10
  }
8
11
  exports.Query = Query;
12
+ (0, kind_1.MarkKind)(Query.prototype, QUERY_KIND);
13
+ /**
14
+ * Whether a value is a query, built by any instance of this interface.
15
+ *
16
+ * Unlike `instanceof`, it also recognises objects built by the instance of
17
+ * another provider binding.
18
+ *
19
+ * @param value Value to test
20
+ * @returns True if the value is a query
21
+ */
22
+ function IsQuery(value) {
23
+ return (0, kind_1.HasKind)(value, QUERY_KIND);
24
+ }
9
25
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/staged-query/query.ts"],"names":[],"mappings":";;;AAAA,qCAAwC;AAExC,qHAAqH;AACrH,MAAa,KAAS,SAAQ,qBAAY;CAAG;AAA7C,sBAA6C"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/staged-query/query.ts"],"names":[],"mappings":";;;AAmBA,0BAEC;AArBD,qCAAwC;AACxC,iCAA2C;AAE3C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAExE,qHAAqH;AACrH,MAAa,KAAS,SAAQ,qBAAY;CAAG;AAA7C,sBAA6C;AAE7C,IAAA,eAAQ,EAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAEtC;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAAC,KAAc;IACpC,OAAO,IAAA,cAAO,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACpC,CAAC"}
@@ -13,6 +13,17 @@ export interface IndexDefinition {
13
13
  * Whether or not this is a multi index
14
14
  */
15
15
  multi?: boolean;
16
+ /**
17
+ * Whether this index must also serve queries that run across all instances
18
+ * ({@link CROSS_INSTANCE})
19
+ *
20
+ * When `true`, the driver also maintains an index usable by cross-instance
21
+ * queries. Defaults to `false`: the index is optimized for queries scoped to
22
+ * one instance, and cross-instance queries using it may be slow.
23
+ *
24
+ * This flag never changes query results, only performance.
25
+ */
26
+ crossInstance?: boolean;
16
27
  }
17
28
  export type StringFieldType = string | Array<StringFieldType> | {
18
29
  [subfield: string]: StringFieldType;
@@ -48,6 +59,10 @@ export interface SchemaDefinition {
48
59
  }
49
60
  /**
50
61
  * Sentinel instance id meaning "operate across all instances of the schema".
62
+ *
63
+ * Secondary indexes are optimized for queries scoped to one instance; set
64
+ * {@link IndexDefinition.crossInstance} on the indexes that cross-instance
65
+ * queries rely on.
51
66
  */
52
67
  export declare const CROSS_INSTANCE: unique symbol;
53
68
  /**
@@ -6,8 +6,12 @@ const selection_1 = require("./selection");
6
6
  const common_1 = require("./common");
7
7
  /**
8
8
  * Sentinel instance id meaning "operate across all instances of the schema".
9
+ *
10
+ * Secondary indexes are optimized for queries scoped to one instance; set
11
+ * {@link IndexDefinition.crossInstance} on the indexes that cross-instance
12
+ * queries rely on.
9
13
  */
10
- exports.CROSS_INSTANCE = Symbol("antelopejs:cross-instance");
14
+ exports.CROSS_INSTANCE = Symbol.for("@antelopejs/interface-database/CROSS_INSTANCE");
11
15
  /**
12
16
  * A schema determines the structure of a database
13
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/staged-query/schema.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,2CAAoC;AACpC,qCAAoD;AAwDpD;;GAEG;AACU,QAAA,cAAc,GAAkB,MAAM,CACjD,2BAA2B,CAC5B,CAAC;AAOF;;;;;GAKG;AACH,MAAa,MAGX,SAAQ,qBAAY;IAsBF;IACA;IAtBV,MAAM,CAAU,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IAE3E;;;;;OAKG;IACI,MAAM,CAAC,GAAG,CACf,EAAU;QAEV,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAsC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,YACkB,EAAU,EACV,UAAsB;QAEtC,KAAK,CAAC,IAAA,mBAAU,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAHpB,OAAE,GAAF,EAAE,CAAQ;QACV,eAAU,GAAV,UAAU,CAAY;QAGtC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,EAAe;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,cAAiB,CAAA,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,EAAW;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,aAAa,CAAA,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,EAAW;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,aAAW,CAAA,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;OAMG;IACI,aAAa;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,aAAe,CAAA,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;;AAtEH,wBAuEC;AAED;;GAEG;AACH,MAAa,cAAkB,SAAQ,qBAAY;IACjD;;;;;OAKG;IACI,KAAK,CAAqB,EAAM;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,iBAAY,CAAA,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;CACF;AAVD,wCAUC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/staged-query/schema.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,2CAAoC;AACpC,qCAAoD;AAoEpD;;;;;;GAMG;AACU,QAAA,cAAc,GAAkB,MAAM,CAAC,GAAG,CACrD,+CAA+C,CAChD,CAAC;AAOF;;;;;GAKG;AACH,MAAa,MAGX,SAAQ,qBAAY;IAsBF;IACA;IAtBV,MAAM,CAAU,QAAQ,GAAG,IAAI,GAAG,EAAgC,CAAC;IAE3E;;;;;OAKG;IACI,MAAM,CAAC,GAAG,CACf,EAAU;QAEV,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAsC,CAAC;IACtE,CAAC;IAED;;;;;OAKG;IACH,YACkB,EAAU,EACV,UAAsB;QAEtC,KAAK,CAAC,IAAA,mBAAU,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAHpB,OAAE,GAAF,EAAE,CAAQ;QACV,eAAU,GAAV,UAAU,CAAY;QAGtC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,EAAe;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,cAAiB,CAAA,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,EAAW;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,aAAa,CAAA,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,EAAW;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,aAAW,CAAA,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;OAMG;IACI,aAAa;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,aAAe,CAAA,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;;AAtEH,wBAuEC;AAED;;GAEG;AACH,MAAa,cAAkB,SAAQ,qBAAY;IACjD;;;;;OAKG;IACI,KAAK,CAAqB,EAAM;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA,iBAAY,CAAA,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;CACF;AAVD,wCAUC"}
@@ -183,3 +183,13 @@ export declare class Stream<T> extends Query<T[]> {
183
183
  */
184
184
  changes(): Query<Changes<T>[]>;
185
185
  }
186
+ /**
187
+ * Whether a value is a stream, built by any instance of this interface.
188
+ *
189
+ * Unlike `instanceof`, it also recognises objects built by the instance of
190
+ * another provider binding.
191
+ *
192
+ * @param value Value to test
193
+ * @returns True if the value is a stream
194
+ */
195
+ export declare function IsStream(value: unknown): value is Stream<unknown>;
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Stream = void 0;
4
+ exports.IsStream = IsStream;
4
5
  const datum_1 = require("./datum");
5
6
  const query_1 = require("./query");
6
7
  const valueproxy_1 = require("./valueproxy");
8
+ const kind_1 = require("./kind");
9
+ const STREAM_KIND = Symbol.for("@antelopejs/interface-database/Stream@1");
7
10
  class Stream extends query_1.Query {
8
11
  /**
9
12
  * Changes the type of the value in this stream.
@@ -218,4 +221,17 @@ class Stream extends query_1.Query {
218
221
  }
219
222
  }
220
223
  exports.Stream = Stream;
224
+ (0, kind_1.MarkKind)(Stream.prototype, STREAM_KIND);
225
+ /**
226
+ * Whether a value is a stream, built by any instance of this interface.
227
+ *
228
+ * Unlike `instanceof`, it also recognises objects built by the instance of
229
+ * another provider binding.
230
+ *
231
+ * @param value Value to test
232
+ * @returns True if the value is a stream
233
+ */
234
+ function IsStream(value) {
235
+ return (0, kind_1.HasKind)(value, STREAM_KIND);
236
+ }
221
237
  //# sourceMappingURL=stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/staged-query/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/staged-query/stream.ts"],"names":[],"mappings":"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"}
@@ -413,3 +413,13 @@ export declare class ValueProxy<T> extends StagedObject {
413
413
  */
414
414
  hasfields(this: Is<T, Record<any, any>, this>, ...fields: string[]): ValueProxy<boolean>;
415
415
  }
416
+ /**
417
+ * Whether a value is a value proxy, built by any instance of this interface.
418
+ *
419
+ * Unlike `instanceof`, it also recognises objects built by the instance of
420
+ * another provider binding.
421
+ *
422
+ * @param value Value to test
423
+ * @returns True if the value is a value proxy
424
+ */
425
+ export declare function IsValueProxy(value: unknown): value is ValueProxy<unknown>;
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ValueProxy = void 0;
4
+ exports.IsValueProxy = IsValueProxy;
4
5
  const common_1 = require("./common");
6
+ const kind_1 = require("./kind");
7
+ const VALUEPROXY_KIND = Symbol.for("@antelopejs/interface-database/ValueProxy@1");
5
8
  /**
6
9
  * Proxy to an actual value in the database
7
10
  *
@@ -559,4 +562,17 @@ class ValueProxy extends common_1.StagedObject {
559
562
  }
560
563
  }
561
564
  exports.ValueProxy = ValueProxy;
565
+ (0, kind_1.MarkKind)(ValueProxy.prototype, VALUEPROXY_KIND);
566
+ /**
567
+ * Whether a value is a value proxy, built by any instance of this interface.
568
+ *
569
+ * Unlike `instanceof`, it also recognises objects built by the instance of
570
+ * another provider binding.
571
+ *
572
+ * @param value Value to test
573
+ * @returns True if the value is a value proxy
574
+ */
575
+ function IsValueProxy(value) {
576
+ return (0, kind_1.HasKind)(value, VALUEPROXY_KIND);
577
+ }
562
578
  //# sourceMappingURL=valueproxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"valueproxy.js","sourceRoot":"","sources":["../../src/staged-query/valueproxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"valueproxy.js","sourceRoot":"","sources":["../../src/staged-query/valueproxy.ts"],"names":[],"mappings":"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"}
package/dist/stream.d.ts CHANGED
@@ -1 +1 @@
1
- export { Stream } from "./staged-query/stream";
1
+ export { IsStream, Stream } from "./staged-query/stream";
package/dist/stream.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Stream = void 0;
3
+ exports.Stream = exports.IsStream = void 0;
4
4
  var stream_1 = require("./staged-query/stream");
5
+ Object.defineProperty(exports, "IsStream", { enumerable: true, get: function () { return stream_1.IsStream; } });
5
6
  Object.defineProperty(exports, "Stream", { enumerable: true, get: function () { return stream_1.Stream; } });
6
7
  //# sourceMappingURL=stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAAtC,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":";;;AAAA,gDAAyD;AAAhD,kGAAA,QAAQ,OAAA;AAAE,gGAAA,MAAM,OAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const node_path_1 = __importDefault(require("node:path"));
40
+ const chai_1 = require("chai");
41
+ const Database = __importStar(require("../staged-query"));
42
+ const other_instance_1 = require("./helpers/other-instance");
43
+ const buildFolder = node_path_1.default.resolve(__dirname, "..");
44
+ const otherInstance = (0, other_instance_1.CreateOtherInstance)([buildFolder]);
45
+ const Other = otherInstance(node_path_1.default.join(buildFolder, "staged-query", "index.js"));
46
+ function OtherTable() {
47
+ return new Other.Schema("cross-instance-other", {
48
+ items: { fields: {}, indexes: {} },
49
+ })
50
+ .instance()
51
+ .table("items");
52
+ }
53
+ describe("Objects built by another interface instance", () => {
54
+ it("IsStream, IsDatum, IsQuery and IsValueProxy recognise them (data-api picks its query path with them)", PredicatesRecogniseOtherInstance);
55
+ it("are not instanceof this instance's classes (providers refuse sub-queries from another binding with it)", InstanceofStaysPerInstance);
56
+ it("share CROSS_INSTANCE with this instance (providers compare it with ===)", CrossInstanceIsShared);
57
+ });
58
+ function PredicatesRecogniseOtherInstance() {
59
+ const otherTable = OtherTable();
60
+ const otherDatum = otherTable.get("id");
61
+ const otherValue = Other.ValueProxy.constant(1);
62
+ (0, chai_1.expect)(Other.Stream).to.not.equal(Database.Stream);
63
+ (0, chai_1.expect)(Database.IsStream(otherTable)).to.equal(true);
64
+ (0, chai_1.expect)(Database.IsQuery(otherTable)).to.equal(true);
65
+ (0, chai_1.expect)(Database.IsDatum(otherTable)).to.equal(false);
66
+ (0, chai_1.expect)(Database.IsDatum(otherDatum)).to.equal(true);
67
+ (0, chai_1.expect)(Database.IsStream(otherDatum)).to.equal(false);
68
+ (0, chai_1.expect)(Database.IsValueProxy(otherValue)).to.equal(true);
69
+ (0, chai_1.expect)(Database.IsQuery(otherValue)).to.equal(false);
70
+ (0, chai_1.expect)(Database.IsStream({})).to.equal(false);
71
+ (0, chai_1.expect)(Database.IsStream(null)).to.equal(false);
72
+ }
73
+ function InstanceofStaysPerInstance() {
74
+ (0, chai_1.expect)(OtherTable() instanceof Database.Query).to.equal(false);
75
+ (0, chai_1.expect)(Other.ValueProxy.constant(1) instanceof Database.ValueProxy).to.equal(false);
76
+ }
77
+ function CrossInstanceIsShared() {
78
+ (0, chai_1.expect)(Other.CROSS_INSTANCE).to.equal(Database.CROSS_INSTANCE);
79
+ }
80
+ //# sourceMappingURL=cross_instance.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross_instance.test.js","sourceRoot":"","sources":["../../src/tests/cross_instance.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ type ModuleRequire = (request: string) => unknown;
2
+ /**
3
+ * Evaluates built packages a second time, the way the core gives each
4
+ * provider binding its own copy of an interface: every file under `folders`
5
+ * is loaded again, with its own classes, symbols and registries, while
6
+ * anything else (interface-core, third-party dependencies) stays the copy
7
+ * already loaded.
8
+ *
9
+ * @param folders Build output folders to evaluate again
10
+ * @returns A `require` resolving into the second copy
11
+ */
12
+ export declare function CreateOtherInstance(folders: string[]): ModuleRequire;
13
+ export {};
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CreateOtherInstance = CreateOtherInstance;
7
+ const node_module_1 = __importDefault(require("node:module"));
8
+ const node_fs_1 = require("node:fs");
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const internals = node_module_1.default;
11
+ /**
12
+ * Evaluates built packages a second time, the way the core gives each
13
+ * provider binding its own copy of an interface: every file under `folders`
14
+ * is loaded again, with its own classes, symbols and registries, while
15
+ * anything else (interface-core, third-party dependencies) stays the copy
16
+ * already loaded.
17
+ *
18
+ * @param folders Build output folders to evaluate again
19
+ * @returns A `require` resolving into the second copy
20
+ */
21
+ function CreateOtherInstance(folders) {
22
+ const owned = folders.map((folder) => (0, node_fs_1.realpathSync)(folder) + node_path_1.default.sep);
23
+ const modules = new Map();
24
+ const load = (filename, parent) => {
25
+ const cached = modules.get(filename);
26
+ if (cached) {
27
+ return cached.exports;
28
+ }
29
+ const loaded = new node_module_1.default(filename, parent);
30
+ loaded.filename = filename;
31
+ loaded.paths = internals._nodeModulePaths(node_path_1.default.dirname(filename));
32
+ loaded.require = ((request) => requireFrom(loaded, request));
33
+ modules.set(filename, loaded);
34
+ loaded.load(filename);
35
+ return loaded.exports;
36
+ };
37
+ const requireFrom = (parent, request) => {
38
+ const filename = internals._resolveFilename(request, parent);
39
+ 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);
43
+ };
44
+ return (request) => requireFrom(module, request);
45
+ }
46
+ //# sourceMappingURL=other-instance.js.map
@@ -0,0 +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"}
@@ -41,6 +41,20 @@ for await (const user of schema.instance().table("users")) {
41
41
  }
42
42
  ```
43
43
 
44
+ ## Recognize a Query Type
45
+
46
+ `IsQuery`, `IsDatum`, `IsStream` and `IsValueProxy` tell what kind of staged object a value is:
47
+
48
+ ```typescript
49
+ import { IsStream } from "@antelopejs/interface-database";
50
+
51
+ function describe(query: unknown) {
52
+ return IsStream(query) ? "a sequence of documents" : "a single value";
53
+ }
54
+ ```
55
+
56
+ Each provider binding of the interface has its own copy of these classes, so a query built by a module bound to another database is not an `instanceof` this module's `Stream`. The predicates recognize it whichever copy built it. Keep `instanceof` for checking that a query was built for this module's own binding.
57
+
44
58
  ## Available Query Types
45
59
 
46
60
  - [**Table**](./2.table.md) - Represents a database table with insert, get, getAll, and between operations
@@ -27,6 +27,7 @@ const schema = new Schema("myapp", {
27
27
  interface IndexDefinition {
28
28
  fields?: string[]; // Fields for compound indexes (omit for single-field)
29
29
  multi?: boolean; // Whether this is a multi-valued index
30
+ crossInstance?: boolean; // Also serve CROSS_INSTANCE queries efficiently
30
31
  }
31
32
  ```
32
33
 
@@ -102,6 +103,29 @@ const schema = new Schema("content", {
102
103
  });
103
104
  ```
104
105
 
106
+ ## Cross-Instance Indexes
107
+
108
+ Indexes are optimized for queries scoped to one instance (`schema.instance(id)`). Queries run with `schema.instance(CROSS_INSTANCE)` can still use them, but may be slow. Set `crossInstance: true` on the indexes that cross-instance queries rely on, and the driver also maintains an index usable by those queries:
109
+
110
+ ```typescript
111
+ const schema = new Schema("billing", {
112
+ invoices: {
113
+ fields: { status: "string" },
114
+ indexes: {
115
+ status: { crossInstance: true },
116
+ },
117
+ },
118
+ });
119
+
120
+ // Efficient on every instance at once
121
+ await schema
122
+ .instance(CROSS_INSTANCE)
123
+ .table("invoices")
124
+ .getAll("unpaid", "status");
125
+ ```
126
+
127
+ The flag defaults to `false`. It never changes query results, only performance. Each flagged index costs extra storage and write overhead, so only set it where cross-instance queries use the index.
128
+
105
129
  ## Index Design Guidelines
106
130
 
107
131
  - **Index fields used in `getAll()` and `between()` calls** for best performance.
@@ -8,6 +8,7 @@ In AQL, indexes are defined as part of the schema definition rather than created
8
8
  interface IndexDefinition {
9
9
  fields?: string[]; // Fields for compound indexes
10
10
  multi?: boolean; // Multi-valued index
11
+ crossInstance?: boolean; // Also serve CROSS_INSTANCE queries efficiently
11
12
  }
12
13
  ```
13
14
 
@@ -60,6 +61,16 @@ indexes: {
60
61
  }
61
62
  ```
62
63
 
64
+ ### Cross-Instance Indexes
65
+
66
+ Set `crossInstance: true` when queries run with `CROSS_INSTANCE` use the index. The driver then also maintains an index usable across all instances. Without it, the index is optimized for queries scoped to one instance and cross-instance queries using it may be slow. Results are never affected:
67
+
68
+ ```typescript
69
+ indexes: {
70
+ status: { crossInstance: true },
71
+ }
72
+ ```
73
+
63
74
  ## Use Indexes in Queries
64
75
 
65
76
  Once defined, indexes are available for `getAll()` and `between()` operations:
@@ -34,6 +34,8 @@ type InstanceId = string | typeof CROSS_INSTANCE;
34
34
 
35
35
  `schema.instance(CROSS_INSTANCE)` returns a query stage that operates across every instance of the schema. Adapters skip the per-instance filter on read/update/delete and reject inserts.
36
36
 
37
+ Secondary indexes are optimized for queries scoped to one instance. Set `crossInstance: true` in the `IndexDefinition` of the indexes that cross-instance queries rely on (see [Index Management](../2.operations/5.indexes.md)).
38
+
37
39
  ## Create and Manage Instances
38
40
 
39
41
  ```typescript
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-database",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "AntelopeJS interface for database-agnostic query operations",
5
5
  "keywords": [
6
6
  "antelopejs",
@@ -110,8 +110,9 @@
110
110
  "knip": "knip"
111
111
  },
112
112
  "devDependencies": {
113
- "@antelopejs/interface-core": ">=0.0.3 <1.0.0",
114
- "@antelopejs/tooling-configs": "^0.0.4",
113
+ "@antelopejs/core": "^1.13.4",
114
+ "@antelopejs/interface-core": ">=0.1.1 <1.0.0",
115
+ "@antelopejs/tooling-configs": "^0.0.6",
115
116
  "@types/chai": "^4.3.20",
116
117
  "@types/mocha": "^10.0.10",
117
118
  "@types/node": "^22.19.15",
@@ -131,7 +132,7 @@
131
132
  "typescript": "^5.9.3"
132
133
  },
133
134
  "peerDependencies": {
134
- "@antelopejs/interface-core": ">=0.0.3 <1.0.0"
135
+ "@antelopejs/interface-core": ">=0.1.1 <1.0.0"
135
136
  },
136
137
  "packageManager": "pnpm@10.6.5",
137
138
  "antelopeJs": {
@@ -27,6 +27,10 @@ import {
27
27
  ValueProxyOrValue,
28
28
  InstanceId,
29
29
  CROSS_INSTANCE,
30
+ IsQuery,
31
+ IsDatum,
32
+ IsStream,
33
+ IsValueProxy,
30
34
  } from "@antelopejs/interface-database";
31
35
  // Types only available via subpath (not re-exported at root):
32
36
  import {
@@ -89,8 +93,9 @@ for await (const change of novels.changes()) {
89
93
  - **Callbacks receive `ValueProxy`, not values.** Functions passed to `filter`, `map`, `do`, `update(fn)`, `join`, `group` are recorded, then replayed by the backend. Only `ValueProxy` methods (`key`, `eq`, `ne`, `gt/ge/lt/le`, `and/or/not`, `add/sub/mul/div`, string/date/array/object helpers, `ValueProxy.constant`) become part of the query — plain JS (`if`, `===`, `Math.*`, template strings) does not travel. Exception: `group`'s mapper receives a staged `Stream` (the group's documents) as its first parameter and a `ValueProxy` (the index value) second — staged `Stream` methods also travel.
90
94
  - **Staged objects are immutable.** Each chained call returns a new object; a prefix like `novels.getAll(true, "available")` can be safely reused for several derived queries.
91
95
  - A provider module must be loaded in the project or startup fails with unresolved interface dependencies; queries themselves need no defensive "is the DB ready" checks (calls queue until the provider attaches).
92
- - `Schema` ids are persistent: changing an id leaves previous data inaccessible. `Schema.get(id)` retrieves a previously constructed schema. `instance()` with no argument is the default instance; pass `CROSS_INSTANCE` to query across all instances.
96
+ - `Schema` ids are persistent: changing an id leaves previous data inaccessible. `Schema.get(id)` retrieves a previously constructed schema. `instance()` with no argument is the default instance; pass `CROSS_INSTANCE` to query across all instances. Indexes are optimized for per-instance queries; set `crossInstance: true` on the indexes that `CROSS_INSTANCE` queries use (performance only, results are unchanged).
93
97
  - Field types are string tokens (`"string"`, `"number"`, `"boolean"`, `"date"`, `"string[]"`, nested object literals) or a single io-ts codec at the field root — codecs are not mixed inside string-tree records.
98
+ - **Recognize query kinds with `IsStream`/`IsDatum`/`IsQuery`/`IsValueProxy`, not `instanceof`,** when the object may come from another module. Each provider binding has its own copy of the classes, so `instanceof` is false for a query built by a module bound to another database; the predicates are not. `CROSS_INSTANCE` is the same value in every copy.
94
99
  - Range semantics: `Table.between(index, low, high)` and `ValueProxy.during(left, right)` exclude the upper bound.
95
100
  - `insert` accepts one document or an array, with `{ conflict: "update" | "replace" }` as options; it resolves to the inserted ids.
96
101
  - `cast<U>()` on `Datum`/`Stream`/`ValueProxy` only changes the TypeScript type — no runtime conversion.