Update TypeParser references and upgrade dependencies in package.json and pnpm-lock.yaml.

This commit is contained in:
Zitao Xiong
2024-05-23 18:23:13 +08:00
parent 6a32320992
commit d3e62edfcf
7 changed files with 333 additions and 475 deletions

View File

@@ -9,14 +9,14 @@
"dependencies": { "dependencies": {
"@mysten/bcs": "0.11.1", "@mysten/bcs": "0.11.1",
"@mysten/sui.js": "0.54.1", "@mysten/sui.js": "0.54.1",
"@nestjs/common": "10.3.0", "@nestjs/common": "10.3.8",
"@nestjs/core": "10.3.0", "@nestjs/core": "10.3.8",
"@nestjs/microservices": "^10.3.0", "@nestjs/microservices": "^10.3.8",
"@t3-oss/env-core": "^0.7.1", "@t3-oss/env-core": "^0.10.1",
"slonik": "^37.2.0", "slonik": "^45.4.1",
"slonik-interceptor-query-logging": "^1.4.7", "slonik-interceptor-query-logging": "^45.4.1",
"tslib": "^2.3.0", "tslib": "^2.6.2",
"zod": "^3.22.4" "zod": "^3.23.8"
}, },
"devDependencies": { "devDependencies": {
"@nx/devkit": "^19.0.6", "@nx/devkit": "^19.0.6",
@@ -26,23 +26,23 @@
"@nx/vite": "19.0.6", "@nx/vite": "19.0.6",
"@nx/web": "19.0.6", "@nx/web": "19.0.6",
"@nx/workspace": "19.0.6", "@nx/workspace": "19.0.6",
"@swc-node/register": "~1.8.0", "@swc-node/register": "~1.9.1",
"@swc/core": "~1.3.85", "@swc/core": "~1.5.7",
"@swc/helpers": "~0.5.2", "@swc/helpers": "~0.5.11",
"@types/node": "18.16.9", "@types/node": "20.12.12",
"@typescript-eslint/eslint-plugin": "^7.3.0", "@typescript-eslint/eslint-plugin": "^7.3.0",
"@typescript-eslint/parser": "^7.3.0", "@typescript-eslint/parser": "^7.3.0",
"@vitest/coverage-v8": "^1.0.4", "@vitest/coverage-v8": "^1.6.0",
"@vitest/ui": "^1.3.1", "@vitest/ui": "^1.6.0",
"eslint": "~8.57.0", "eslint": "~8.57.0",
"eslint-config-prettier": "^9.0.0", "eslint-config-prettier": "^9.0.0",
"npm-check-updates": "^16.14.20", "npm-check-updates": "^16.14.20",
"nx": "19.0.6", "nx": "19.0.6",
"prettier": "^2.6.2", "prettier": "^2.6.2",
"tsx": "^4.10.3", "tsx": "^4.11.0",
"typescript": "~5.4.2", "typescript": "~5.4.5",
"vite": "~5.0.0", "vite": "~5.2.11",
"vitest": "^1.3.1" "vitest": "^1.6.0"
}, },
"nx": { "nx": {
"includedScripts": [] "includedScripts": []

733
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
import { TypeParser } from 'slonik'; import { DriverTypeParser } from 'slonik';
const bigintParser = (value: string) => { const bigintParser = (value: string) => {
return BigInt(value); return BigInt(value);
@@ -6,28 +6,28 @@ const bigintParser = (value: string) => {
// SELECT oid, typarray, typname FROM pg_type // SELECT oid, typarray, typname FROM pg_type
export const createInt8TypeParser = (): TypeParser => { export const createInt8TypeParser = (): DriverTypeParser => {
return { return {
name: 'int8', name: 'int8',
parse: bigintParser, parse: bigintParser,
}; };
}; };
export const createFloat4TypeParser = (): TypeParser => { export const createFloat4TypeParser = (): DriverTypeParser => {
return { return {
name: 'float4', name: 'float4',
parse: bigintParser, parse: bigintParser,
}; };
}; };
export const createFloat8TypeParser = (): TypeParser => { export const createFloat8TypeParser = (): DriverTypeParser => {
return { return {
name: 'float8', name: 'float8',
parse: bigintParser, parse: bigintParser,
}; };
}; };
export const createIntegerTypeParser = (): TypeParser => { export const createIntegerTypeParser = (): DriverTypeParser => {
return { return {
name: 'int4', name: 'int4',
parse: bigintParser, parse: bigintParser,

View File

@@ -1,11 +1,12 @@
import { TypeParser } from 'slonik';
import { hexToBuffer } from './utils'; import { hexToBuffer } from './utils';
import { DriverTypeParser } from 'slonik';
const byteaParser = (value: string) => { const byteaParser = (value: string) => {
return hexToBuffer(value); return hexToBuffer(value);
}; };
export const createByteaTypeParser = (): TypeParser => { export const createByteaTypeParser = (): DriverTypeParser => {
return { return {
name: 'bytea', name: 'bytea',
parse: byteaParser, parse: byteaParser,

View File

@@ -1,10 +1,9 @@
import { TypeParser } from 'slonik'; import { DriverTypeParser } from 'slonik';
const numericParser = (value: string) => { const numericParser = (value: string) => {
return BigInt(value); return BigInt(value);
}; };
export const createNumericTypeParser = (): TypeParser => { export const createNumericTypeParser = (): DriverTypeParser => {
return { return {
name: 'numeric', name: 'numeric',
parse: numericParser, parse: numericParser,

View File

@@ -1,5 +1,4 @@
import { OnModuleDestroy } from '@nestjs/common'; import { OnModuleDestroy } from '@nestjs/common';
import { typedEnv } from '@placeholdersoft/typed-env';
import { import {
createDateTypeParser, createDateTypeParser,
createIntervalTypeParser, createIntervalTypeParser,
@@ -20,6 +19,14 @@ import {
} from './parsers'; } from './parsers';
import { PersistentService } from './persistent.interface'; import { PersistentService } from './persistent.interface';
function getNodeDatabaseURL() {
const NODE_DATABASE_URL = process.env.NODE_DATABASE_URL;
if (NODE_DATABASE_URL == null || NODE_DATABASE_URL.length === 0) {
return null
}
return NODE_DATABASE_URL;
}
export class DefaultPersistentService export class DefaultPersistentService
extends PersistentService extends PersistentService
implements OnModuleDestroy implements OnModuleDestroy
@@ -34,8 +41,12 @@ export class DefaultPersistentService
} }
async connectPool() { async connectPool() {
const NODE_DATABASE_URL = getNodeDatabaseURL();
if (NODE_DATABASE_URL == null) {
throw new Error('NODE_DATABASE_URL is not set');
}
const pool = await createPool( const pool = await createPool(
typedEnv('NODE_DATABASE_URL').required().toString(), NODE_DATABASE_URL,
{ {
typeParsers: [ typeParsers: [
// - customized type parsers // - customized type parsers
@@ -71,7 +82,7 @@ const PersistentServiceProvider = {
provide: PersistentService, provide: PersistentService,
useFactory: async () => { useFactory: async () => {
const service = new DefaultPersistentService(); const service = new DefaultPersistentService();
const url = typedEnv('NODE_DATABASE_URL').toString(); const url = getNodeDatabaseURL();
if (url != null && url.length > 0) { if (url != null && url.length > 0) {
await service.connectPool(); await service.connectPool();
} else { } else {

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
ncu -u -x prettier ncu -u -x prettier,eslint,eslint-config-prettier,@typescript-eslint/eslint-plugin,@typescript-eslint/parser