🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@kuindji/sql-type-parser

Package Overview
Dependencies
Maintainers
1
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@kuindji/sql-type-parser - npm Package Compare versions

Comparing version
0.1.0
to
0.1.1
+1
-1
package.json
{
"name": "@kuindji/sql-type-parser",
"version": "0.1.0",
"version": "0.1.1",
"description": "Type-level SQL SELECT parser for TypeScript",

@@ -5,0 +5,0 @@ "author": "Ivan Kuindzhi",

/**
* Examples Index
*
* Re-exports all example types for easy importing
*/
export type { ECommerceSchema, BlogSchema, JsonSchema, CamelCaseSchema, UUID, Timestamp, JSONObject, } from "./schema.js";
export type { TestsPass } from "./tests.js";
//# sourceMappingURL=index.d.ts.map
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,eAAe,EACf,IAAI,EACJ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAA;AAGpB,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
/**
* Examples Index
*
* Re-exports all example types for easy importing
*/
export {};
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/examples/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
/**
* Matcher Examples
*
* Comprehensive examples demonstrating schema matching and type inference.
* Shows how parsed SQL queries are matched against database schemas to
* produce result types.
*/
import type { QueryResult } from "../matcher.js";
import type { BlogSchema, ECommerceSchema } from "./schema.js";
/** Select all columns with * */
type SelectAllUsers = QueryResult<"SELECT * FROM users", BlogSchema>;
/** Select specific columns */
type SelectSpecificColumns = QueryResult<"SELECT id, name, email FROM users", BlogSchema>;
/** Columns with aliases */
type ColumnsWithAliases = QueryResult<"SELECT id AS user_id, name AS display_name FROM users", BlogSchema>;
/** INNER JOIN - columns from both tables */
type InnerJoinResult = QueryResult<"SELECT u.name, p.title FROM users AS u INNER JOIN posts AS p ON u.id = p.author_id", BlogSchema>;
/** COUNT returns number */
type CountResult = QueryResult<"SELECT COUNT ( * ) AS total FROM users", BlogSchema>;
/** Simple CTE */
type SimpleCTE = QueryResult<`
WITH active_users AS (
SELECT id, name FROM users WHERE is_active = TRUE
)
SELECT * FROM active_users
`, BlogSchema>;
/** Order with customer info */
type OrderWithCustomer = QueryResult<`
SELECT
o.order_number,
o.total_amount,
u.email AS customer_email,
u.first_name,
u.last_name
FROM orders AS o
INNER JOIN users AS u ON o.user_id = u.id
`, ECommerceSchema>;
/** Customer order history */
type CustomerOrderHistory = QueryResult<`
WITH customer_orders AS (
SELECT
user_id,
COUNT ( * ) AS total_orders,
SUM ( total_amount ) AS lifetime_value,
MAX ( created_at ) AS last_order_date
FROM orders
WHERE status != 'cancelled'
GROUP BY user_id
)
SELECT
u.email,
u.first_name,
u.last_name,
u.status AS account_status,
co.total_orders,
co.lifetime_value,
co.last_order_date
FROM users AS u
LEFT JOIN customer_orders AS co ON u.id = co.user_id
WHERE u.role = 'customer'
ORDER BY co.lifetime_value DESC
LIMIT 100
`, ECommerceSchema>;
export type { SelectAllUsers, SelectSpecificColumns, ColumnsWithAliases, InnerJoinResult, CountResult, SimpleCTE, OrderWithCustomer, CustomerOrderHistory, };
//# sourceMappingURL=matcher-examples.d.ts.map
{"version":3,"file":"matcher-examples.d.ts","sourceRoot":"","sources":["../../src/examples/matcher-examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAuD,MAAM,eAAe,CAAA;AAErG,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAc,MAAM,aAAa,CAAA;AAM1E,gCAAgC;AAChC,KAAK,cAAc,GAAG,WAAW,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAA;AAGpE,8BAA8B;AAC9B,KAAK,qBAAqB,GAAG,WAAW,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAA;AAWzF,2BAA2B;AAC3B,KAAK,kBAAkB,GAAG,WAAW,CACnC,uDAAuD,EACvD,UAAU,CACX,CAAA;AAkDD,4CAA4C;AAC5C,KAAK,eAAe,GAAG,WAAW,CAChC,oFAAoF,EACpF,UAAU,CACX,CAAA;AAuBD,2BAA2B;AAC3B,KAAK,WAAW,GAAG,WAAW,CAC5B,wCAAwC,EACxC,UAAU,CACX,CAAA;AAgID,iBAAiB;AACjB,KAAK,SAAS,GAAG,WAAW,CAAC;;;;;CAK5B,EAAE,UAAU,CAAC,CAAA;AA8Dd,+BAA+B;AAC/B,KAAK,iBAAiB,GAAG,WAAW,CAAC;;;;;;;;;CASpC,EAAE,eAAe,CAAC,CAAA;AAgGnB,6BAA6B;AAC7B,KAAK,oBAAoB,GAAG,WAAW,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAwBvC,EAAE,eAAe,CAAC,CAAA;AAmMnB,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,oBAAoB,GACrB,CAAA"}
/**
* Matcher Examples
*
* Comprehensive examples demonstrating schema matching and type inference.
* Shows how parsed SQL queries are matched against database schemas to
* produce result types.
*/
export {};
//# sourceMappingURL=matcher-examples.js.map
{"version":3,"file":"matcher-examples.js","sourceRoot":"","sources":["../../src/examples/matcher-examples.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
/**
* Parser Examples
*
* Comprehensive examples demonstrating all features supported by the SQL parser.
* Each example shows the SQL query and the expected AST type.
*/
export {};
//# sourceMappingURL=parser-examples.d.ts.map
{"version":3,"file":"parser-examples.d.ts","sourceRoot":"","sources":["../../src/examples/parser-examples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
/**
* Parser Examples
*
* Comprehensive examples demonstrating all features supported by the SQL parser.
* Each example shows the SQL query and the expected AST type.
*/
export {};
//# sourceMappingURL=parser-examples.js.map
{"version":3,"file":"parser-examples.js","sourceRoot":"","sources":["../../src/examples/parser-examples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
/**
* Example Database Schema
*
* Comprehensive schema covering various data types, relationships,
* and use cases for demonstrating the type-parser capabilities.
*/
/** UUID type alias */
type UUID = string;
/** Timestamp type alias */
type Timestamp = string;
/** JSON object type */
type JSONObject = Record<string, unknown>;
/**
* E-commerce database schema with users, products, orders, etc.
*/
export type ECommerceSchema = {
tables: {
/** User accounts */
users: {
id: number;
uuid: UUID;
email: string;
username: string;
password_hash: string;
first_name: string | null;
last_name: string | null;
role: "admin" | "moderator" | "customer";
status: "active" | "suspended" | "deleted";
created_at: Timestamp;
updated_at: Timestamp;
last_login_at: Timestamp | null;
email_verified: boolean;
preferences: JSONObject | null;
};
/** User profile information */
user_profiles: {
id: number;
user_id: number;
avatar_url: string | null;
bio: string | null;
phone: string | null;
birth_date: string | null;
country: string | null;
city: string | null;
timezone: string;
};
/** User addresses */
addresses: {
id: number;
user_id: number;
type: "billing" | "shipping";
is_default: boolean;
line1: string;
line2: string | null;
city: string;
state: string | null;
postal_code: string;
country: string;
created_at: Timestamp;
};
/** Product categories (hierarchical) */
categories: {
id: number;
parent_id: number | null;
name: string;
slug: string;
description: string | null;
image_url: string | null;
sort_order: number;
is_active: boolean;
};
/** Products */
products: {
id: number;
sku: string;
name: string;
slug: string;
description: string | null;
short_description: string | null;
price: number;
compare_at_price: number | null;
cost_price: number | null;
category_id: number;
brand_id: number | null;
status: "draft" | "active" | "archived";
is_featured: boolean;
weight: number | null;
dimensions: JSONObject | null;
attributes: JSONObject | null;
metadata: JSONObject | null;
created_at: Timestamp;
updated_at: Timestamp;
published_at: Timestamp | null;
};
/** Product brands */
brands: {
id: number;
name: string;
slug: string;
logo_url: string | null;
website: string | null;
description: string | null;
is_active: boolean;
};
/** Product images */
product_images: {
id: number;
product_id: number;
url: string;
alt_text: string | null;
sort_order: number;
is_primary: boolean;
};
/** Product inventory */
inventory: {
id: number;
product_id: number;
warehouse_id: number;
quantity: number;
reserved_quantity: number;
reorder_level: number | null;
last_counted_at: Timestamp | null;
};
/** Warehouses */
warehouses: {
id: number;
name: string;
code: string;
address_line1: string;
city: string;
country: string;
is_active: boolean;
};
/** Product tags (many-to-many junction) */
product_tags: {
product_id: number;
tag_id: number;
};
/** Tags */
tags: {
id: number;
name: string;
slug: string;
};
/** Orders */
orders: {
id: number;
order_number: string;
user_id: number;
status: "pending" | "processing" | "shipped" | "delivered" | "cancelled" | "refunded";
payment_status: "pending" | "paid" | "failed" | "refunded";
subtotal: number;
tax_amount: number;
shipping_amount: number;
discount_amount: number;
total_amount: number;
currency: string;
shipping_address_id: number;
billing_address_id: number;
notes: string | null;
created_at: Timestamp;
updated_at: Timestamp;
shipped_at: Timestamp | null;
delivered_at: Timestamp | null;
};
/** Order line items */
order_items: {
id: number;
order_id: number;
product_id: number;
quantity: number;
unit_price: number;
total_price: number;
discount_amount: number;
};
/** Payments */
payments: {
id: number;
order_id: number;
amount: number;
currency: string;
method: "credit_card" | "paypal" | "bank_transfer" | "crypto";
status: "pending" | "completed" | "failed" | "refunded";
provider_transaction_id: string | null;
metadata: JSONObject | null;
created_at: Timestamp;
};
/** Product reviews */
reviews: {
id: number;
product_id: number;
user_id: number;
rating: number;
title: string | null;
content: string | null;
is_verified_purchase: boolean;
is_approved: boolean;
helpful_count: number;
created_at: Timestamp;
updated_at: Timestamp;
};
/** Shopping cart items */
cart_items: {
id: number;
user_id: number;
product_id: number;
quantity: number;
added_at: Timestamp;
};
/** Wishlist items */
wishlist_items: {
id: number;
user_id: number;
product_id: number;
added_at: Timestamp;
};
/** Discount coupons */
coupons: {
id: number;
code: string;
type: "percentage" | "fixed" | "free_shipping";
value: number;
min_purchase: number | null;
max_uses: number | null;
used_count: number;
starts_at: Timestamp;
expires_at: Timestamp | null;
is_active: boolean;
};
/** Audit logs */
audit_logs: {
id: number;
user_id: number | null;
action: string;
entity_type: string;
entity_id: number;
old_values: JSONObject | null;
new_values: JSONObject | null;
ip_address: string | null;
user_agent: string | null;
created_at: Timestamp;
};
};
};
/**
* Simple blog schema for basic examples
*/
export type BlogSchema = {
tables: {
users: {
id: number;
name: string;
email: string;
role: "admin" | "author" | "reader";
is_active: boolean;
created_at: string;
};
posts: {
id: number;
author_id: number;
title: string;
slug: string;
content: string;
status: "draft" | "published" | "archived";
views: number;
created_at: string;
published_at: string | null;
};
comments: {
id: number;
post_id: number;
user_id: number;
content: string;
is_approved: boolean;
created_at: string;
};
categories: {
id: number;
name: string;
parent_id: number | null;
};
post_categories: {
post_id: number;
category_id: number;
};
};
};
/**
* Schema with JSON/JSONB columns for testing complex expressions
*/
export type JsonSchema = {
tables: {
documents: {
id: number;
data: JSONObject;
metadata: JSONObject | null;
tags: string[];
created_at: string;
};
events: {
id: number;
type: string;
payload: JSONObject;
context: JSONObject | null;
occurred_at: string;
};
settings: {
id: number;
user_id: number;
preferences: JSONObject;
notifications: JSONObject;
};
};
};
/**
* Schema with camelCased and Mixed_Case column/table names
* Tests identifier case preservation
*/
export type CamelCaseSchema = {
tables: {
userAccounts: {
id: number;
firstName: string;
lastName: string;
emailAddress: string;
phoneNumber: string | null;
createdAt: string;
updatedAt: string;
isActive: boolean;
Account_Status: "active" | "suspended" | "deleted";
Last_Login_Date: string | null;
};
OrderItems: {
id: number;
orderId: number;
productId: number;
unitPrice: number;
totalPrice: number;
discountAmount: number;
Item_Status: "pending" | "shipped" | "delivered";
Created_At: string;
};
Product_Categories: {
id: number;
categoryName: string;
parentId: number | null;
sortOrder: number;
Is_Active: boolean;
Display_Name: string;
};
"user-sessions": {
id: number;
userId: number;
sessionToken: string;
expiresAt: string;
"ip-address": string;
"user-agent": string | null;
};
"audit_logs": {
id: number;
"user_id": number | null;
action: string;
"entity_type": string;
"created_at": string;
};
};
};
export type { UUID, Timestamp, JSONObject };
//# sourceMappingURL=schema.d.ts.map
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/examples/schema.ts"],"names":[],"mappings":"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"}
/**
* Example Database Schema
*
* Comprehensive schema covering various data types, relationships,
* and use cases for demonstrating the type-parser capabilities.
*/
export {};
//# sourceMappingURL=schema.js.map
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/examples/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
/**
* Type-Level Tests
*
* Type assertions that verify the parser and matcher work correctly.
* These tests run at compile time - if they compile without errors,
* all tests pass.
*/
/**
* If this file compiles without errors, all tests pass!
*
* Test coverage:
* - Parser: SELECT, FROM, WHERE, JOIN, ORDER BY, GROUP BY, HAVING, LIMIT, OFFSET, DISTINCT, CTEs
* - Matcher: Column resolution, type inference, union types, nullable types, aggregates, errors
* - Validation: ValidateSQL for compile-time query checking
* - camelCase: camelCased and Mixed_Case table/column names
* - Quoted: Quoted identifiers with spaces and special characters
*/
export type TestsPass = true;
//# sourceMappingURL=tests.d.ts.map
{"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../src/examples/tests.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0kBH;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,CAAA"}
/**
* Type-Level Tests
*
* Type assertions that verify the parser and matcher work correctly.
* These tests run at compile time - if they compile without errors,
* all tests pass.
*/
export {};
//# sourceMappingURL=tests.js.map
{"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/examples/tests.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}