diff options
author | 2021-07-13 10:32:57 -0700 | |
---|---|---|
committer | 2021-07-13 10:32:57 -0700 | |
commit | fea9faaf4cd110591e9e6f07cd4d17cbc0ea5918 (patch) | |
tree | b59ec68d139ebcb339cd7bd6d1d15eb71a423b4f /src/api/schema.js | |
parent | b1b459435f375bf5eef7c6aeb7285ac6c2719b62 (diff) | |
download | bun-fea9faaf4cd110591e9e6f07cd4d17cbc0ea5918.tar.gz bun-fea9faaf4cd110591e9e6f07cd4d17cbc0ea5918.tar.zst bun-fea9faaf4cd110591e9e6f07cd4d17cbc0ea5918.zip |
alright
Former-commit-id: ab73c7b323c222e5d1172c07036653ca98aa8e6b
Diffstat (limited to 'src/api/schema.js')
-rw-r--r-- | src/api/schema.js | 95 |
1 files changed, 92 insertions, 3 deletions
diff --git a/src/api/schema.js b/src/api/schema.js index a8241f345..947e3d9a8 100644 --- a/src/api/schema.js +++ b/src/api/schema.js @@ -569,6 +569,81 @@ bb.writeByte(encoded); } +function decodeFrameworkConfig(bb) { + var result = {}; + + while (true) { + switch (bb.readByte()) { + case 0: + return result; + + case 1: + result["entry_point"] = bb.readString(); + break; + + default: + throw new Error("Attempted to parse invalid message"); + } + } +} + +function encodeFrameworkConfig(message, bb) { + + var value = message["entry_point"]; + if (value != null) { + bb.writeByte(1); + bb.writeString(value); + } + bb.writeByte(0); + +} + +function decodeRouteConfig(bb) { + var result = {}; + + while (true) { + switch (bb.readByte()) { + case 0: + return result; + + case 1: + result["dir"] = bb.readString(); + break; + + case 2: + var length = bb.readVarUint(); + var values = result["extensions"] = Array(length); + for (var i = 0; i < length; i++) values[i] = bb.readString(); + break; + + default: + throw new Error("Attempted to parse invalid message"); + } + } +} + +function encodeRouteConfig(message, bb) { + + var value = message["dir"]; + if (value != null) { + bb.writeByte(1); + bb.writeString(value); + } + + var value = message["extensions"]; + if (value != null) { + bb.writeByte(2); + var values = value, n = values.length; + bb.writeVarUint(n); + for (var i = 0; i < n; i++) { + value = values[i]; + bb.writeString(value); + } + } + bb.writeByte(0); + +} + function decodeTransformOptions(bb) { var result = {}; @@ -672,7 +747,11 @@ function decodeTransformOptions(bb) { break; case 22: - result["javascript_framework_file"] = bb.readString(); + result["framework"] = decodeFrameworkConfig(bb); + break; + + case 23: + result["router"] = decodeRouteConfig(bb); break; default: @@ -840,10 +919,16 @@ bb.writeByte(encoded); bb.writeString(value); } - var value = message["javascript_framework_file"]; + var value = message["framework"]; if (value != null) { bb.writeByte(22); - bb.writeString(value); + encodeFrameworkConfig(value, bb); + } + + var value = message["router"]; + if (value != null) { + bb.writeByte(23); + encodeRouteConfig(value, bb); } bb.writeByte(0); @@ -1789,6 +1874,10 @@ export { decodeStringMap } export { encodeStringMap } export { decodeLoaderMap } export { encodeLoaderMap } +export { decodeFrameworkConfig } +export { encodeFrameworkConfig } +export { decodeRouteConfig } +export { encodeRouteConfig } export { decodeTransformOptions } export { encodeTransformOptions } export { decodeFileHandle } |