summaryrefslogtreecommitdiff
path: root/node_modules/capnp-ts/src/serialization/pointers/pointer-allocation-result.ts
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/capnp-ts/src/serialization/pointers/pointer-allocation-result.ts')
-rw-r--r--node_modules/capnp-ts/src/serialization/pointers/pointer-allocation-result.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/capnp-ts/src/serialization/pointers/pointer-allocation-result.ts b/node_modules/capnp-ts/src/serialization/pointers/pointer-allocation-result.ts
new file mode 100644
index 0000000..ffa436e
--- /dev/null
+++ b/node_modules/capnp-ts/src/serialization/pointers/pointer-allocation-result.ts
@@ -0,0 +1,31 @@
+/**
+ * @author jdiaz5513
+ */
+
+import initTrace from "debug";
+
+import { Pointer } from "./pointer";
+
+const trace = initTrace("capnp:pointer-allocation-result");
+trace("load");
+
+/**
+ * This is used as the return value for `Pointer.prototype.initPointer`. Turns out using a class in V8 for multiple
+ * return values is faster than using an array or anonymous object.
+ *
+ * http://jsben.ch/#/zTdbD
+ *
+ * @export
+ * @class PointerAllocationResult
+ */
+
+export class PointerAllocationResult {
+ readonly offsetWords: number;
+
+ readonly pointer: Pointer;
+
+ constructor(pointer: Pointer, offsetWords: number) {
+ this.pointer = pointer;
+ this.offsetWords = offsetWords;
+ }
+}