@neutral-trade/internal 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,13 @@
1
+ import { A as TSyncCursor, B as rawVaultDataSchema, C as TokenDocType, D as TmpPortfolioItemType, E as TTmpVaultPortfolioItems, F as referralsModel, G as TPendingWithdrawal, H as TPortfolioItem, I as referralsSchema, J as TDailyVaultSnapshotItem, K as pendingWithdrawalModel, L as IRawVaultDataDoc, M as syncCursorSchema, N as TReferral, O as tmpVaultPortfolioItemsModel, P as TReferree, R as RawVaultDataDocType, S as ITokenDoc, T as tokenSchema, U as portfolioHistoryModel, V as TPortfolioHistory, W as portfolioHistorySchema, X as dailyVaultSnapshotSchema, Y as dailyVaultSnapshotModel, _ as userModel, a as vaultHistoryModel, b as txHistoryModel, c as vaultEventModel, d as vaultModel, f as vaultSchema, g as TUser, h as userVaultSnapshotSchema, i as TVaultHistory, j as syncCursorModel, k as tmpVaultPortfolioItemsSchema, l as vaultEventSchema, m as userVaultSnapshotModel, n as vaultsMetadataModel, o as vaultHistorySchema, p as TUserVaultSnapshot, q as pendingWithdrawalSchema, r as vaultsMetadataSchema, s as TVaultEvent, t as TVaultMetadata, u as TVault, v as userSchema, w as tokenModel, x as txHistorySchema, y as TTxHistory, z as rawVaultDataModel } from "./index-TvJXGjUv.mjs";
2
+ import { Mongoose } from "mongoose";
3
+
4
+ //#region src/db/connection.d.ts
5
+
6
+ /**
7
+ * Connect to MongoDB with connection caching.
8
+ * Each consumer passes its own URI — this keeps the internal package
9
+ * decoupled from any specific env validation strategy.
10
+ */
11
+ declare function mongoConnect(uri: string): Promise<Mongoose>;
12
+ //#endregion
13
+ export { IRawVaultDataDoc, ITokenDoc, RawVaultDataDocType, TDailyVaultSnapshotItem, TPendingWithdrawal, TPortfolioHistory, TPortfolioItem, TReferral, TReferree, TSyncCursor, TTmpVaultPortfolioItems, TTxHistory, TUser, TUserVaultSnapshot, TVault, TVaultEvent, TVaultHistory, TVaultMetadata, TmpPortfolioItemType, TokenDocType, dailyVaultSnapshotModel, dailyVaultSnapshotSchema, mongoConnect, pendingWithdrawalModel, pendingWithdrawalSchema, portfolioHistoryModel, portfolioHistorySchema, rawVaultDataModel, rawVaultDataSchema, referralsModel, referralsSchema, syncCursorModel, syncCursorSchema, tmpVaultPortfolioItemsModel, tmpVaultPortfolioItemsSchema, tokenModel, tokenSchema, txHistoryModel, txHistorySchema, userModel, userSchema, userVaultSnapshotModel, userVaultSnapshotSchema, vaultEventModel, vaultEventSchema, vaultHistoryModel, vaultHistorySchema, vaultModel, vaultSchema, vaultsMetadataModel, vaultsMetadataSchema };
package/dist/index.mjs ADDED
@@ -0,0 +1,22 @@
1
+ import { A as dailyVaultSnapshotSchema, C as rawVaultDataModel, D as pendingWithdrawalModel, E as portfolioHistorySchema, O as pendingWithdrawalSchema, S as referralsSchema, T as portfolioHistoryModel, _ as tmpVaultPortfolioItemsModel, a as vaultEventModel, b as syncCursorSchema, c as vaultSchema, d as userModel, f as userSchema, g as tokenSchema, h as tokenModel, i as vaultHistorySchema, k as dailyVaultSnapshotModel, l as userVaultSnapshotModel, m as txHistorySchema, n as vaultsMetadataSchema, o as vaultEventSchema, p as txHistoryModel, r as vaultHistoryModel, s as vaultModel, t as vaultsMetadataModel, u as userVaultSnapshotSchema, v as tmpVaultPortfolioItemsSchema, w as rawVaultDataSchema, x as referralsModel, y as syncCursorModel } from "./db-8FCd_z9L.mjs";
2
+ import mongoose from "mongoose";
3
+
4
+ //#region src/db/connection.ts
5
+ const cached = {
6
+ conn: null,
7
+ promise: null
8
+ };
9
+ /**
10
+ * Connect to MongoDB with connection caching.
11
+ * Each consumer passes its own URI — this keeps the internal package
12
+ * decoupled from any specific env validation strategy.
13
+ */
14
+ async function mongoConnect(uri) {
15
+ if (cached?.conn) return cached.conn;
16
+ if (!cached?.promise) cached.promise = mongoose.connect(uri).then((m) => m);
17
+ cached.conn = await cached.promise;
18
+ return cached.conn;
19
+ }
20
+
21
+ //#endregion
22
+ export { dailyVaultSnapshotModel, dailyVaultSnapshotSchema, mongoConnect, pendingWithdrawalModel, pendingWithdrawalSchema, portfolioHistoryModel, portfolioHistorySchema, rawVaultDataModel, rawVaultDataSchema, referralsModel, referralsSchema, syncCursorModel, syncCursorSchema, tmpVaultPortfolioItemsModel, tmpVaultPortfolioItemsSchema, tokenModel, tokenSchema, txHistoryModel, txHistorySchema, userModel, userSchema, userVaultSnapshotModel, userVaultSnapshotSchema, vaultEventModel, vaultEventSchema, vaultHistoryModel, vaultHistorySchema, vaultModel, vaultSchema, vaultsMetadataModel, vaultsMetadataSchema };
@@ -0,0 +1 @@
1
+ export * from "@neutral-trade/sdk";
@@ -0,0 +1,3 @@
1
+ export * from "@neutral-trade/sdk"
2
+
3
+ export { };
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@neutral-trade/internal",
3
+ "version": "0.0.1",
4
+ "description": "Shared internal package for Neutral Trade backend services",
5
+ "sideEffects": false,
6
+ "exports": {
7
+ ".": "./dist/index.mjs",
8
+ "./db": "./dist/db/index.mjs",
9
+ "./sdk": "./dist/sdk/index.mjs",
10
+ "./package.json": "./package.json"
11
+ },
12
+ "main": "./dist/index.mjs",
13
+ "module": "./dist/index.mjs",
14
+ "types": "./dist/index.d.mts",
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "dependencies": {
19
+ "@neutral-trade/sdk": "^0.1.9",
20
+ "mongoose": "^9.2.0"
21
+ },
22
+ "devDependencies": {
23
+ "@antfu/eslint-config": "^6.6.1",
24
+ "@antfu/ni": "^28.0.0",
25
+ "@antfu/utils": "^9.3.0",
26
+ "@types/node": "^25.0.1",
27
+ "bumpp": "^10.3.2",
28
+ "eslint": "^9.39.2",
29
+ "lint-staged": "^16.2.7",
30
+ "publint": "^0.3.16",
31
+ "simple-git-hooks": "^2.13.1",
32
+ "tinyexec": "^1.0.2",
33
+ "tsdown": "^0.17.3",
34
+ "tsx": "^4.21.0",
35
+ "typescript": "^5.9.3",
36
+ "vite": "^7.2.7",
37
+ "vitest": "^4.0.15",
38
+ "vitest-package-exports": "^0.1.1",
39
+ "yaml": "^2.8.2"
40
+ },
41
+ "simple-git-hooks": {
42
+ "pre-commit": "pnpm i --frozen-lockfile --ignore-scripts --offline && npx lint-staged"
43
+ },
44
+ "lint-staged": {
45
+ "*": "eslint --fix"
46
+ },
47
+ "scripts": {
48
+ "build": "tsdown",
49
+ "dev": "tsdown --watch",
50
+ "lint": "eslint",
51
+ "start": "tsx src/index.ts",
52
+ "test": "vitest",
53
+ "typecheck": "tsc"
54
+ }
55
+ }