hilzu / libpg-query-node Goto Github PK
View Code? Open in Web Editor NEWCollection of packages using libpg_query for Node.js
License: BSD 3-Clause "New" or "Revised" License
Collection of packages using libpg_query for Node.js
License: BSD 3-Clause "New" or "Revised" License
First, I want to say that your work on libpg-query-wasm
is awe-inspiring! I maintain an open source plugin called SafeQL which heavily relies on pg-parser. Currently, it uses libpg-query but due to incompatibility with Windows, I was looking at your implementation.
While trying to migrate the code, I've stumbled across some issues that are related to TypeScript types:
T | undefined
instead of T | null | undefined
While I assume it's auto-generated from protobuf, All of the properties of pg_query.INode
are both nullable and undefined-able, which is incorrect in runtime. They are never nullable
, but only undefined
-able:
For instance, when trying to access node.aConst
, it will be typed as (property) pg_query.INode.aConst?: pg_query.IA_Const
while it should be typed as pg_query.A_Const
. Due to this incorrect type, TypeScript will throw an error:
while in runtime it should be fine:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.