From b2e427791b215ed3b8163e21d80e2e395d73fc05 Mon Sep 17 00:00:00 2001 From: Kunthawat Date: Tue, 10 Mar 2026 21:28:23 +0700 Subject: [PATCH] feat: Add complete PDPA compliance pages - Admin dashboard (/admin/consent-logs) with password auth - Consent API (/api/consent) with SQLite + IP hashing - Privacy Policy (Thai) - PDPA Section 36 compliant - Terms & Conditions (Thai) - 9 standard clauses - .env.example template with Umami placeholder All pages preserve current design system. --- dealplustech-astro/.astro/content.d.ts | 14 +- dealplustech-astro/.env.example | 19 + dealplustech-astro/dist/blog/index.html | 5 - dealplustech-astro/dist/favicon.ico | Bin 655 -> 0 bytes dealplustech-astro/dist/favicon.svg | 9 - dealplustech-astro/dist/index.html | 36 - dealplustech-astro/dist/products/index.html | 2 - .../products/pp-r-pp-rct-poloplast/index.html | 52 - .../dist/products/ท่อhdpe/index.html | 107 - .../dist/products/ท่อppr-thaippr/index.html | 42 - .../dist/products/ท่อพีพีอาร์ตราช้าง/index.html | 59 - .../products/ท่อระบายน้ำ-3-ชั้น-ไซเลนท/index.html | 59 - .../dist/products/ท่อไซเลอร์/index.html | 51 - .../node_modules/.astro/data-store.json | 2 +- .../node_modules/.bin/astro-consent | 1 + .../node_modules/.package-lock.json | 558 +- .../node_modules/.vite/deps/_metadata.json | 12 +- .../node_modules/@emnapi/runtime/LICENSE | 21 + .../node_modules/@emnapi/runtime/README.md | 1 + .../@emnapi/runtime/dist/emnapi.cjs.js | 1354 ++++ .../@emnapi/runtime/dist/emnapi.cjs.min.d.ts | 665 ++ .../@emnapi/runtime/dist/emnapi.cjs.min.js | 1 + .../@emnapi/runtime/dist/emnapi.d.mts | 665 ++ .../@emnapi/runtime/dist/emnapi.d.ts | 667 ++ .../runtime/dist/emnapi.esm-bundler.js | 1410 +++++ .../@emnapi/runtime/dist/emnapi.iife.d.ts | 420 ++ .../@emnapi/runtime/dist/emnapi.iife.js | 1481 +++++ .../@emnapi/runtime/dist/emnapi.js | 1482 +++++ .../@emnapi/runtime/dist/emnapi.min.d.mts | 665 ++ .../@emnapi/runtime/dist/emnapi.min.js | 1 + .../@emnapi/runtime/dist/emnapi.min.mjs | 1 + .../@emnapi/runtime/dist/emnapi.mjs | 1323 ++++ .../node_modules/@emnapi/runtime/index.js | 5 + .../node_modules/@emnapi/runtime/package.json | 48 + .../node_modules/@libsql/client/README.md | 126 + .../@libsql/client/lib-cjs/hrana.js | 372 ++ .../@libsql/client/lib-cjs/http.js | 268 + .../@libsql/client/lib-cjs/node.js | 41 + .../@libsql/client/lib-cjs/package.json | 3 + .../@libsql/client/lib-cjs/sql_cache.js | 91 + .../@libsql/client/lib-cjs/sqlite3.js | 500 ++ .../@libsql/client/lib-cjs/web.js | 41 + .../node_modules/@libsql/client/lib-cjs/ws.js | 395 ++ .../@libsql/client/lib-esm/hrana.d.ts | 23 + .../@libsql/client/lib-esm/hrana.js | 341 + .../@libsql/client/lib-esm/http.d.ts | 38 + .../@libsql/client/lib-esm/http.js | 232 + .../@libsql/client/lib-esm/node.d.ts | 7 + .../@libsql/client/lib-esm/node.js | 23 + .../@libsql/client/lib-esm/sql_cache.d.ts | 7 + .../@libsql/client/lib-esm/sql_cache.js | 87 + .../@libsql/client/lib-esm/sqlite3.d.ts | 35 + .../@libsql/client/lib-esm/sqlite3.js | 476 ++ .../@libsql/client/lib-esm/web.d.ts | 6 + .../@libsql/client/lib-esm/web.js | 22 + .../@libsql/client/lib-esm/ws.d.ts | 49 + .../node_modules/@libsql/client/lib-esm/ws.js | 359 ++ .../node_modules/@libsql/client/package.json | 123 + .../node_modules/@libsql/core/lib-cjs/api.js | 34 + .../@libsql/core/lib-cjs/config.js | 143 + .../@libsql/core/lib-cjs/package.json | 3 + .../node_modules/@libsql/core/lib-cjs/uri.js | 125 + .../node_modules/@libsql/core/lib-cjs/util.js | 60 + .../@libsql/core/lib-esm/api.d.ts | 459 ++ .../node_modules/@libsql/core/lib-esm/api.js | 29 + .../@libsql/core/lib-esm/config.d.ts | 21 + .../@libsql/core/lib-esm/config.js | 138 + .../@libsql/core/lib-esm/uri.d.ts | 30 + .../node_modules/@libsql/core/lib-esm/uri.js | 120 + .../@libsql/core/lib-esm/util.d.ts | 12 + .../node_modules/@libsql/core/lib-esm/util.js | 55 + .../node_modules/@libsql/core/package.json | 91 + .../@libsql/darwin-arm64/README.md | 3 + .../@libsql/darwin-arm64/index.node | Bin 0 -> 7837584 bytes .../@libsql/darwin-arm64/package.json | 36 + .../node_modules/@libsql/hrana-client/LICENSE | 20 + .../@libsql/hrana-client/README.md | 59 + .../@libsql/hrana-client/lib-cjs/batch.js | 277 + .../hrana-client/lib-cjs/byte_queue.js | 49 + .../@libsql/hrana-client/lib-cjs/client.js | 17 + .../@libsql/hrana-client/lib-cjs/cursor.js | 6 + .../@libsql/hrana-client/lib-cjs/describe.js | 12 + .../hrana-client/lib-cjs/encoding/index.js | 11 + .../lib-cjs/encoding/json/decode.js | 70 + .../lib-cjs/encoding/json/encode.js | 77 + .../lib-cjs/encoding/protobuf/decode.js | 155 + .../lib-cjs/encoding/protobuf/encode.js | 100 + .../lib-cjs/encoding/protobuf/util.js | 9 + .../@libsql/hrana-client/lib-cjs/errors.js | 116 + .../hrana-client/lib-cjs/http/client.js | 130 + .../hrana-client/lib-cjs/http/cursor.js | 165 + .../hrana-client/lib-cjs/http/json_decode.js | 90 + .../hrana-client/lib-cjs/http/json_encode.js | 60 + .../hrana-client/lib-cjs/http/proto.js | 18 + .../lib-cjs/http/protobuf_decode.js | 47 + .../lib-cjs/http/protobuf_encode.js | 83 + .../hrana-client/lib-cjs/http/stream.js | 372 ++ .../@libsql/hrana-client/lib-cjs/id_alloc.js | 51 + .../@libsql/hrana-client/lib-cjs/index.js | 77 + .../hrana-client/lib-cjs/libsql_url.js | 79 + .../@libsql/hrana-client/lib-cjs/package.json | 3 + .../@libsql/hrana-client/lib-cjs/queue.js | 30 + .../hrana-client/lib-cjs/queue_microtask.js | 15 + .../@libsql/hrana-client/lib-cjs/result.js | 56 + .../lib-cjs/shared/json_decode.js | 138 + .../lib-cjs/shared/json_encode.js | 76 + .../hrana-client/lib-cjs/shared/proto.js | 3 + .../lib-cjs/shared/protobuf_decode.js | 118 + .../lib-cjs/shared/protobuf_encode.js | 90 + .../@libsql/hrana-client/lib-cjs/sql.js | 51 + .../@libsql/hrana-client/lib-cjs/stmt.js | 81 + .../@libsql/hrana-client/lib-cjs/stream.js | 61 + .../@libsql/hrana-client/lib-cjs/util.js | 8 + .../@libsql/hrana-client/lib-cjs/value.js | 88 + .../@libsql/hrana-client/lib-cjs/ws/client.js | 322 + .../@libsql/hrana-client/lib-cjs/ws/cursor.js | 84 + .../hrana-client/lib-cjs/ws/json_decode.js | 101 + .../hrana-client/lib-cjs/ws/json_encode.js | 81 + .../@libsql/hrana-client/lib-cjs/ws/proto.js | 18 + .../lib-cjs/ws/protobuf_decode.js | 63 + .../lib-cjs/ws/protobuf_encode.js | 119 + .../@libsql/hrana-client/lib-cjs/ws/stream.js | 215 + .../@libsql/hrana-client/lib-esm/batch.d.ts | 77 + .../@libsql/hrana-client/lib-esm/batch.js | 271 + .../hrana-client/lib-esm/byte_queue.d.ts | 8 + .../hrana-client/lib-esm/byte_queue.js | 45 + .../@libsql/hrana-client/lib-esm/client.d.ts | 28 + .../@libsql/hrana-client/lib-esm/client.js | 13 + .../@libsql/hrana-client/lib-esm/cursor.d.ts | 9 + .../@libsql/hrana-client/lib-esm/cursor.js | 2 + .../hrana-client/lib-esm/describe.d.ts | 12 + .../@libsql/hrana-client/lib-esm/describe.js | 8 + .../hrana-client/lib-esm/encoding/index.d.ts | 4 + .../hrana-client/lib-esm/encoding/index.js | 4 + .../lib-esm/encoding/json/decode.d.ts | 13 + .../lib-esm/encoding/json/decode.js | 59 + .../lib-esm/encoding/json/encode.d.ts | 14 + .../lib-esm/encoding/json/encode.js | 72 + .../lib-esm/encoding/protobuf/decode.d.ts | 32 + .../lib-esm/encoding/protobuf/decode.js | 150 + .../lib-esm/encoding/protobuf/encode.d.ts | 15 + .../lib-esm/encoding/protobuf/encode.js | 95 + .../lib-esm/encoding/protobuf/util.d.ts | 7 + .../lib-esm/encoding/protobuf/util.js | 6 + .../@libsql/hrana-client/lib-esm/errors.d.ts | 60 + .../@libsql/hrana-client/lib-esm/errors.js | 102 + .../hrana-client/lib-esm/http/client.d.ts | 33 + .../hrana-client/lib-esm/http/client.js | 126 + .../hrana-client/lib-esm/http/cursor.d.ts | 18 + .../hrana-client/lib-esm/http/cursor.js | 138 + .../lib-esm/http/json_decode.d.ts | 4 + .../hrana-client/lib-esm/http/json_decode.js | 62 + .../lib-esm/http/json_encode.d.ts | 4 + .../hrana-client/lib-esm/http/json_encode.js | 55 + .../hrana-client/lib-esm/http/proto.d.ts | 95 + .../hrana-client/lib-esm/http/proto.js | 2 + .../lib-esm/http/protobuf_decode.d.ts | 4 + .../lib-esm/http/protobuf_decode.js | 44 + .../lib-esm/http/protobuf_encode.d.ts | 4 + .../lib-esm/http/protobuf_encode.js | 78 + .../hrana-client/lib-esm/http/stream.d.ts | 44 + .../hrana-client/lib-esm/http/stream.js | 368 ++ .../hrana-client/lib-esm/id_alloc.d.ts | 6 + .../@libsql/hrana-client/lib-esm/id_alloc.js | 47 + .../@libsql/hrana-client/lib-esm/index.d.ts | 33 + .../@libsql/hrana-client/lib-esm/index.js | 42 + .../hrana-client/lib-esm/libsql_url.d.ts | 15 + .../hrana-client/lib-esm/libsql_url.js | 75 + .../@libsql/hrana-client/lib-esm/queue.d.ts | 8 + .../@libsql/hrana-client/lib-esm/queue.js | 26 + .../hrana-client/lib-esm/queue_microtask.d.ts | 2 + .../hrana-client/lib-esm/queue_microtask.js | 13 + .../@libsql/hrana-client/lib-esm/result.d.ts | 43 + .../@libsql/hrana-client/lib-esm/result.js | 48 + .../lib-esm/shared/json_decode.d.ts | 8 + .../lib-esm/shared/json_decode.js | 106 + .../lib-esm/shared/json_encode.d.ts | 4 + .../lib-esm/shared/json_encode.js | 71 + .../hrana-client/lib-esm/shared/proto.d.ts | 96 + .../hrana-client/lib-esm/shared/proto.js | 2 + .../lib-esm/shared/protobuf_decode.d.ts | 7 + .../lib-esm/shared/protobuf_decode.js | 115 + .../lib-esm/shared/protobuf_encode.d.ts | 4 + .../lib-esm/shared/protobuf_encode.js | 85 + .../@libsql/hrana-client/lib-esm/sql.d.ts | 28 + .../@libsql/hrana-client/lib-esm/sql.js | 46 + .../@libsql/hrana-client/lib-esm/stmt.d.ts | 32 + .../@libsql/hrana-client/lib-esm/stmt.js | 76 + .../@libsql/hrana-client/lib-esm/stream.d.ts | 75 + .../@libsql/hrana-client/lib-esm/stream.js | 57 + .../@libsql/hrana-client/lib-esm/util.d.ts | 1 + .../@libsql/hrana-client/lib-esm/util.js | 4 + .../@libsql/hrana-client/lib-esm/value.d.ts | 17 + .../@libsql/hrana-client/lib-esm/value.js | 83 + .../hrana-client/lib-esm/ws/client.d.ts | 48 + .../@libsql/hrana-client/lib-esm/ws/client.js | 318 + .../hrana-client/lib-esm/ws/cursor.d.ts | 17 + .../@libsql/hrana-client/lib-esm/ws/cursor.js | 80 + .../hrana-client/lib-esm/ws/json_decode.d.ts | 3 + .../hrana-client/lib-esm/ws/json_decode.js | 74 + .../hrana-client/lib-esm/ws/json_encode.d.ts | 3 + .../hrana-client/lib-esm/ws/json_encode.js | 77 + .../hrana-client/lib-esm/ws/proto.d.ts | 136 + .../@libsql/hrana-client/lib-esm/ws/proto.js | 2 + .../lib-esm/ws/protobuf_decode.d.ts | 3 + .../lib-esm/ws/protobuf_decode.js | 60 + .../lib-esm/ws/protobuf_encode.d.ts | 3 + .../lib-esm/ws/protobuf_encode.js | 115 + .../hrana-client/lib-esm/ws/stream.d.ts | 40 + .../@libsql/hrana-client/lib-esm/ws/stream.js | 211 + .../@libsql/hrana-client/package.json | 60 + .../@libsql/isomorphic-ws/README.md | 16 + .../@libsql/isomorphic-ws/index.d.ts | 2 + .../@libsql/isomorphic-ws/node.cjs | 3 + .../@libsql/isomorphic-ws/node.mjs | 2 + .../@libsql/isomorphic-ws/package.json | 43 + .../@libsql/isomorphic-ws/web.cjs | 12 + .../@libsql/isomorphic-ws/web.mjs | 11 + .../node_modules/@neon-rs/load/LICENSE | 21 + .../node_modules/@neon-rs/load/dist/index.js | 102 + .../node_modules/@neon-rs/load/package.json | 37 + .../@neon-rs/load/types/index.d.ts | 2 + .../node_modules/@types/node/LICENSE | 21 + .../node_modules/@types/node/README.md | 15 + .../node_modules/@types/node/assert.d.ts | 955 +++ .../@types/node/assert/strict.d.ts | 105 + .../node_modules/@types/node/async_hooks.d.ts | 623 ++ .../@types/node/buffer.buffer.d.ts | 466 ++ .../node_modules/@types/node/buffer.d.ts | 1810 ++++++ .../@types/node/child_process.d.ts | 1433 +++++ .../node_modules/@types/node/cluster.d.ts | 486 ++ .../@types/node/compatibility/iterators.d.ts | 21 + .../node_modules/@types/node/console.d.ts | 151 + .../node_modules/@types/node/constants.d.ts | 20 + .../node_modules/@types/node/crypto.d.ts | 4065 ++++++++++++ .../node_modules/@types/node/dgram.d.ts | 564 ++ .../@types/node/diagnostics_channel.d.ts | 576 ++ .../node_modules/@types/node/dns.d.ts | 922 +++ .../@types/node/dns/promises.d.ts | 503 ++ .../node_modules/@types/node/domain.d.ts | 166 + .../node_modules/@types/node/events.d.ts | 1047 ++++ .../node_modules/@types/node/fs.d.ts | 4676 ++++++++++++++ .../node_modules/@types/node/fs/promises.d.ts | 1329 ++++ .../node_modules/@types/node/globals.d.ts | 150 + .../@types/node/globals.typedarray.d.ts | 101 + .../node_modules/@types/node/http.d.ts | 2188 +++++++ .../node_modules/@types/node/http2.d.ts | 2480 ++++++++ .../node_modules/@types/node/https.d.ts | 405 ++ .../node_modules/@types/node/index.d.ts | 115 + .../node_modules/@types/node/inspector.d.ts | 224 + .../@types/node/inspector.generated.d.ts | 4239 +++++++++++++ .../@types/node/inspector/promises.d.ts | 41 + .../node_modules/@types/node/module.d.ts | 757 +++ .../node_modules/@types/node/net.d.ts | 933 +++ .../node_modules/@types/node/os.d.ts | 507 ++ .../node_modules/@types/node/package.json | 155 + .../node_modules/@types/node/path.d.ts | 187 + .../node_modules/@types/node/path/posix.d.ts | 8 + .../node_modules/@types/node/path/win32.d.ts | 8 + .../node_modules/@types/node/perf_hooks.d.ts | 643 ++ .../node_modules/@types/node/process.d.ts | 2174 +++++++ .../node_modules/@types/node/punycode.d.ts | 117 + .../node_modules/@types/node/querystring.d.ts | 152 + .../node_modules/@types/node/quic.d.ts | 910 +++ .../node_modules/@types/node/readline.d.ts | 542 ++ .../@types/node/readline/promises.d.ts | 161 + .../node_modules/@types/node/repl.d.ts | 415 ++ .../node_modules/@types/node/sea.d.ts | 162 + .../node_modules/@types/node/sqlite.d.ts | 1042 ++++ .../node_modules/@types/node/stream.d.ts | 1770 ++++++ .../@types/node/stream/consumers.d.ts | 38 + .../@types/node/stream/promises.d.ts | 211 + .../node_modules/@types/node/stream/web.d.ts | 296 + .../@types/node/string_decoder.d.ts | 67 + .../node_modules/@types/node/test.d.ts | 2263 +++++++ .../@types/node/test/reporters.d.ts | 96 + .../node_modules/@types/node/timers.d.ts | 159 + .../@types/node/timers/promises.d.ts | 108 + .../node_modules/@types/node/tls.d.ts | 1202 ++++ .../@types/node/trace_events.d.ts | 197 + .../@types/node/ts5.6/buffer.buffer.d.ts | 462 ++ .../ts5.6/compatibility/float16array.d.ts | 71 + .../@types/node/ts5.6/globals.typedarray.d.ts | 36 + .../node_modules/@types/node/ts5.6/index.d.ts | 117 + .../ts5.7/compatibility/float16array.d.ts | 72 + .../node_modules/@types/node/ts5.7/index.d.ts | 117 + .../node_modules/@types/node/tty.d.ts | 250 + .../node_modules/@types/node/url.d.ts | 541 ++ .../node_modules/@types/node/util.d.ts | 1687 +++++ .../node_modules/@types/node/util/types.d.ts | 558 ++ .../node_modules/@types/node/v8.d.ts | 982 +++ .../node_modules/@types/node/vm.d.ts | 1208 ++++ .../node_modules/@types/node/wasi.d.ts | 202 + .../node/web-globals/abortcontroller.d.ts | 59 + .../@types/node/web-globals/blob.d.ts | 23 + .../@types/node/web-globals/console.d.ts | 9 + .../@types/node/web-globals/crypto.d.ts | 39 + .../@types/node/web-globals/domexception.d.ts | 68 + .../@types/node/web-globals/encoding.d.ts | 11 + .../@types/node/web-globals/events.d.ts | 106 + .../@types/node/web-globals/fetch.d.ts | 69 + .../@types/node/web-globals/importmeta.d.ts | 13 + .../@types/node/web-globals/messaging.d.ts | 23 + .../@types/node/web-globals/navigator.d.ts | 25 + .../@types/node/web-globals/performance.d.ts | 45 + .../@types/node/web-globals/storage.d.ts | 24 + .../@types/node/web-globals/streams.d.ts | 115 + .../@types/node/web-globals/timers.d.ts | 44 + .../@types/node/web-globals/url.d.ts | 24 + .../@types/node/worker_threads.d.ts | 717 +++ .../node_modules/@types/node/zlib.d.ts | 682 ++ .../node_modules/@types/ws/LICENSE | 21 + .../node_modules/@types/ws/README.md | 15 + .../node_modules/@types/ws/index.d.mts | 451 ++ .../node_modules/@types/ws/index.d.ts | 445 ++ .../node_modules/@types/ws/package.json | 72 + .../node_modules/astro-consent/LICENSE.md | 21 + .../node_modules/astro-consent/README.md | 200 + .../node_modules/astro-consent/dist/cli.cjs | 345 + .../node_modules/astro-consent/dist/cli.d.ts | 2 + .../astro-consent/dist/config/defaults.d.ts | 13 + .../astro-consent/dist/config/defaults.js | 40 + .../astro-consent/dist/config/loadConfig.d.ts | 7 + .../astro-consent/dist/config/loadConfig.js | 65 + .../astro-consent/dist/index.d.ts | 15 + .../node_modules/astro-consent/dist/index.js | 173 + .../dist/templates/cssTemplate.d.ts | 1 + .../dist/templates/cssTemplate.js | 117 + .../astro-consent/dist/types/config.d.ts | 56 + .../astro-consent/dist/types/config.js | 1 + .../node_modules/astro-consent/package.json | 60 + .../node_modules/cross-fetch/LICENSE | 21 + .../node_modules/cross-fetch/README.md | 164 + .../cross-fetch/dist/browser-polyfill.js | 656 ++ .../cross-fetch/dist/browser-ponyfill.js | 684 ++ .../cross-fetch/dist/cross-fetch.js | 3 + .../cross-fetch/dist/cross-fetch.js.map | 1 + .../cross-fetch/dist/node-polyfill.js | 11 + .../cross-fetch/dist/node-ponyfill.js | 22 + .../cross-fetch/dist/react-native-polyfill.js | 12 + .../cross-fetch/dist/react-native-ponyfill.js | 6 + .../node_modules/cross-fetch/index.d.ts | 14 + .../node_modules/node-fetch/LICENSE.md | 22 + .../node_modules/node-fetch/README.md | 634 ++ .../node_modules/node-fetch/browser.js | 25 + .../node_modules/node-fetch/lib/index.es.js | 1777 ++++++ .../node_modules/node-fetch/lib/index.js | 1787 ++++++ .../node_modules/node-fetch/lib/index.mjs | 1775 ++++++ .../node_modules/node-fetch/package.json | 89 + .../node_modules/cross-fetch/package.json | 129 + .../cross-fetch/polyfill/package.json | 9 + .../node_modules/data-uri-to-buffer/README.md | 88 + .../data-uri-to-buffer/dist/index.d.ts | 15 + .../data-uri-to-buffer/dist/index.js | 53 + .../data-uri-to-buffer/dist/index.js.map | 1 + .../data-uri-to-buffer/package.json | 62 + .../data-uri-to-buffer/src/index.ts | 68 + .../node_modules/drizzle-orm/README.md | 44 + .../node_modules/drizzle-orm/alias.cjs | 144 + .../node_modules/drizzle-orm/alias.cjs.map | 1 + .../node_modules/drizzle-orm/alias.d.cts | 31 + .../node_modules/drizzle-orm/alias.d.ts | 31 + .../node_modules/drizzle-orm/alias.js | 113 + .../node_modules/drizzle-orm/alias.js.map | 1 + .../drizzle-orm/aws-data-api/common/index.cjs | 119 + .../aws-data-api/common/index.cjs.map | 1 + .../aws-data-api/common/index.d.cts | 9 + .../aws-data-api/common/index.d.ts | 9 + .../drizzle-orm/aws-data-api/common/index.js | 93 + .../aws-data-api/common/index.js.map | 1 + .../drizzle-orm/aws-data-api/pg/driver.cjs | 126 + .../aws-data-api/pg/driver.cjs.map | 1 + .../drizzle-orm/aws-data-api/pg/driver.d.cts | 49 + .../drizzle-orm/aws-data-api/pg/driver.d.ts | 49 + .../drizzle-orm/aws-data-api/pg/driver.js | 103 + .../drizzle-orm/aws-data-api/pg/driver.js.map | 1 + .../drizzle-orm/aws-data-api/pg/index.cjs | 25 + .../drizzle-orm/aws-data-api/pg/index.cjs.map | 1 + .../drizzle-orm/aws-data-api/pg/index.d.cts | 2 + .../drizzle-orm/aws-data-api/pg/index.d.ts | 2 + .../drizzle-orm/aws-data-api/pg/index.js | 3 + .../drizzle-orm/aws-data-api/pg/index.js.map | 1 + .../drizzle-orm/aws-data-api/pg/migrator.cjs | 33 + .../aws-data-api/pg/migrator.cjs.map | 1 + .../aws-data-api/pg/migrator.d.cts | 3 + .../drizzle-orm/aws-data-api/pg/migrator.d.ts | 3 + .../drizzle-orm/aws-data-api/pg/migrator.js | 9 + .../aws-data-api/pg/migrator.js.map | 1 + .../drizzle-orm/aws-data-api/pg/session.cjs | 218 + .../aws-data-api/pg/session.cjs.map | 1 + .../drizzle-orm/aws-data-api/pg/session.d.cts | 71 + .../drizzle-orm/aws-data-api/pg/session.d.ts | 71 + .../drizzle-orm/aws-data-api/pg/session.js | 201 + .../aws-data-api/pg/session.js.map | 1 + .../node_modules/drizzle-orm/batch.cjs | 17 + .../node_modules/drizzle-orm/batch.cjs.map | 1 + .../node_modules/drizzle-orm/batch.d.cts | 6 + .../node_modules/drizzle-orm/batch.d.ts | 6 + .../node_modules/drizzle-orm/batch.js | 1 + .../node_modules/drizzle-orm/batch.js.map | 1 + .../drizzle-orm/better-sqlite3/driver.cjs | 100 + .../drizzle-orm/better-sqlite3/driver.cjs.map | 1 + .../drizzle-orm/better-sqlite3/driver.d.cts | 29 + .../drizzle-orm/better-sqlite3/driver.d.ts | 29 + .../drizzle-orm/better-sqlite3/driver.js | 68 + .../drizzle-orm/better-sqlite3/driver.js.map | 1 + .../drizzle-orm/better-sqlite3/index.cjs | 25 + .../drizzle-orm/better-sqlite3/index.cjs.map | 1 + .../drizzle-orm/better-sqlite3/index.d.cts | 2 + .../drizzle-orm/better-sqlite3/index.d.ts | 2 + .../drizzle-orm/better-sqlite3/index.js | 3 + .../drizzle-orm/better-sqlite3/index.js.map | 1 + .../drizzle-orm/better-sqlite3/migrator.cjs | 33 + .../better-sqlite3/migrator.cjs.map | 1 + .../drizzle-orm/better-sqlite3/migrator.d.cts | 3 + .../drizzle-orm/better-sqlite3/migrator.d.ts | 3 + .../drizzle-orm/better-sqlite3/migrator.js | 9 + .../better-sqlite3/migrator.js.map | 1 + .../drizzle-orm/better-sqlite3/session.cjs | 141 + .../better-sqlite3/session.cjs.map | 1 + .../drizzle-orm/better-sqlite3/session.d.cts | 57 + .../drizzle-orm/better-sqlite3/session.d.ts | 57 + .../drizzle-orm/better-sqlite3/session.js | 118 + .../drizzle-orm/better-sqlite3/session.js.map | 1 + .../drizzle-orm/bun-sql/driver.cjs | 99 + .../drizzle-orm/bun-sql/driver.cjs.map | 1 + .../drizzle-orm/bun-sql/driver.d.cts | 30 + .../drizzle-orm/bun-sql/driver.d.ts | 30 + .../drizzle-orm/bun-sql/driver.js | 77 + .../drizzle-orm/bun-sql/driver.js.map | 1 + .../drizzle-orm/bun-sql/index.cjs | 25 + .../drizzle-orm/bun-sql/index.cjs.map | 1 + .../drizzle-orm/bun-sql/index.d.cts | 2 + .../drizzle-orm/bun-sql/index.d.ts | 2 + .../node_modules/drizzle-orm/bun-sql/index.js | 3 + .../drizzle-orm/bun-sql/index.js.map | 1 + .../drizzle-orm/bun-sql/migrator.cjs | 33 + .../drizzle-orm/bun-sql/migrator.cjs.map | 1 + .../drizzle-orm/bun-sql/migrator.d.cts | 3 + .../drizzle-orm/bun-sql/migrator.d.ts | 3 + .../drizzle-orm/bun-sql/migrator.js | 9 + .../drizzle-orm/bun-sql/migrator.js.map | 1 + .../drizzle-orm/bun-sql/session.cjs | 174 + .../drizzle-orm/bun-sql/session.cjs.map | 1 + .../drizzle-orm/bun-sql/session.d.cts | 60 + .../drizzle-orm/bun-sql/session.d.ts | 60 + .../drizzle-orm/bun-sql/session.js | 148 + .../drizzle-orm/bun-sql/session.js.map | 1 + .../drizzle-orm/bun-sqlite/driver.cjs | 91 + .../drizzle-orm/bun-sqlite/driver.cjs.map | 1 + .../drizzle-orm/bun-sqlite/driver.d.cts | 50 + .../drizzle-orm/bun-sqlite/driver.d.ts | 50 + .../drizzle-orm/bun-sqlite/driver.js | 69 + .../drizzle-orm/bun-sqlite/driver.js.map | 1 + .../drizzle-orm/bun-sqlite/index.cjs | 25 + .../drizzle-orm/bun-sqlite/index.cjs.map | 1 + .../drizzle-orm/bun-sqlite/index.d.cts | 2 + .../drizzle-orm/bun-sqlite/index.d.ts | 2 + .../drizzle-orm/bun-sqlite/index.js | 3 + .../drizzle-orm/bun-sqlite/index.js.map | 1 + .../drizzle-orm/bun-sqlite/migrator.cjs | 33 + .../drizzle-orm/bun-sqlite/migrator.cjs.map | 1 + .../drizzle-orm/bun-sqlite/migrator.d.cts | 3 + .../drizzle-orm/bun-sqlite/migrator.d.ts | 3 + .../drizzle-orm/bun-sqlite/migrator.js | 9 + .../drizzle-orm/bun-sqlite/migrator.js.map | 1 + .../drizzle-orm/bun-sqlite/session.cjs | 142 + .../drizzle-orm/bun-sqlite/session.cjs.map | 1 + .../drizzle-orm/bun-sqlite/session.d.cts | 50 + .../drizzle-orm/bun-sqlite/session.d.ts | 50 + .../drizzle-orm/bun-sqlite/session.js | 116 + .../drizzle-orm/bun-sqlite/session.js.map | 1 + .../drizzle-orm/cache/core/cache.cjs | 58 + .../drizzle-orm/cache/core/cache.cjs.map | 1 + .../drizzle-orm/cache/core/cache.d.cts | 36 + .../drizzle-orm/cache/core/cache.d.ts | 36 + .../drizzle-orm/cache/core/cache.js | 32 + .../drizzle-orm/cache/core/cache.js.map | 1 + .../drizzle-orm/cache/core/index.cjs | 23 + .../drizzle-orm/cache/core/index.cjs.map | 1 + .../drizzle-orm/cache/core/index.d.cts | 1 + .../drizzle-orm/cache/core/index.d.ts | 1 + .../drizzle-orm/cache/core/index.js | 2 + .../drizzle-orm/cache/core/index.js.map | 1 + .../drizzle-orm/cache/core/types.cjs | 17 + .../drizzle-orm/cache/core/types.cjs.map | 1 + .../drizzle-orm/cache/core/types.d.cts | 33 + .../drizzle-orm/cache/core/types.d.ts | 33 + .../drizzle-orm/cache/core/types.js | 1 + .../drizzle-orm/cache/core/types.js.map | 1 + .../drizzle-orm/cache/upstash/cache.cjs | 195 + .../drizzle-orm/cache/upstash/cache.cjs.map | 1 + .../drizzle-orm/cache/upstash/cache.d.cts | 59 + .../drizzle-orm/cache/upstash/cache.d.ts | 59 + .../drizzle-orm/cache/upstash/cache.js | 170 + .../drizzle-orm/cache/upstash/cache.js.map | 1 + .../drizzle-orm/cache/upstash/index.cjs | 23 + .../drizzle-orm/cache/upstash/index.cjs.map | 1 + .../drizzle-orm/cache/upstash/index.d.cts | 1 + .../drizzle-orm/cache/upstash/index.d.ts | 1 + .../drizzle-orm/cache/upstash/index.js | 2 + .../drizzle-orm/cache/upstash/index.js.map | 1 + .../node_modules/drizzle-orm/casing.cjs | 84 + .../node_modules/drizzle-orm/casing.cjs.map | 1 + .../node_modules/drizzle-orm/casing.d.cts | 14 + .../node_modules/drizzle-orm/casing.d.ts | 14 + .../node_modules/drizzle-orm/casing.js | 58 + .../node_modules/drizzle-orm/casing.js.map | 1 + .../drizzle-orm/column-builder.cjs | 130 + .../drizzle-orm/column-builder.cjs.map | 1 + .../drizzle-orm/column-builder.d.cts | 242 + .../drizzle-orm/column-builder.d.ts | 242 + .../drizzle-orm/column-builder.js | 106 + .../drizzle-orm/column-builder.js.map | 1 + .../node_modules/drizzle-orm/column.cjs | 78 + .../node_modules/drizzle-orm/column.cjs.map | 1 + .../node_modules/drizzle-orm/column.d.cts | 68 + .../node_modules/drizzle-orm/column.d.ts | 68 + .../node_modules/drizzle-orm/column.js | 54 + .../node_modules/drizzle-orm/column.js.map | 1 + .../node_modules/drizzle-orm/d1/driver.cjs | 71 + .../drizzle-orm/d1/driver.cjs.map | 1 + .../node_modules/drizzle-orm/d1/driver.d.cts | 13 + .../node_modules/drizzle-orm/d1/driver.d.ts | 13 + .../node_modules/drizzle-orm/d1/driver.js | 49 + .../node_modules/drizzle-orm/d1/driver.js.map | 1 + .../node_modules/drizzle-orm/d1/index.cjs | 25 + .../node_modules/drizzle-orm/d1/index.cjs.map | 1 + .../node_modules/drizzle-orm/d1/index.d.cts | 2 + .../node_modules/drizzle-orm/d1/index.d.ts | 2 + .../node_modules/drizzle-orm/d1/index.js | 3 + .../node_modules/drizzle-orm/d1/index.js.map | 1 + .../node_modules/drizzle-orm/d1/migrator.cjs | 62 + .../drizzle-orm/d1/migrator.cjs.map | 1 + .../drizzle-orm/d1/migrator.d.cts | 3 + .../node_modules/drizzle-orm/d1/migrator.d.ts | 3 + .../node_modules/drizzle-orm/d1/migrator.js | 38 + .../drizzle-orm/d1/migrator.js.map | 1 + .../node_modules/drizzle-orm/d1/session.cjs | 220 + .../drizzle-orm/d1/session.cjs.map | 1 + .../node_modules/drizzle-orm/d1/session.d.cts | 62 + .../node_modules/drizzle-orm/d1/session.d.ts | 62 + .../node_modules/drizzle-orm/d1/session.js | 194 + .../drizzle-orm/d1/session.js.map | 1 + .../drizzle-orm/durable-sqlite/driver.cjs | 64 + .../drizzle-orm/durable-sqlite/driver.cjs.map | 1 + .../drizzle-orm/durable-sqlite/driver.d.cts | 9 + .../drizzle-orm/durable-sqlite/driver.d.ts | 9 + .../drizzle-orm/durable-sqlite/driver.js | 42 + .../drizzle-orm/durable-sqlite/driver.js.map | 1 + .../drizzle-orm/durable-sqlite/index.cjs | 25 + .../drizzle-orm/durable-sqlite/index.cjs.map | 1 + .../drizzle-orm/durable-sqlite/index.d.cts | 2 + .../drizzle-orm/durable-sqlite/index.d.ts | 2 + .../drizzle-orm/durable-sqlite/index.js | 3 + .../drizzle-orm/durable-sqlite/index.js.map | 1 + .../drizzle-orm/durable-sqlite/migrator.cjs | 85 + .../durable-sqlite/migrator.cjs.map | 1 + .../drizzle-orm/durable-sqlite/migrator.d.cts | 14 + .../drizzle-orm/durable-sqlite/migrator.d.ts | 14 + .../drizzle-orm/durable-sqlite/migrator.js | 61 + .../durable-sqlite/migrator.js.map | 1 + .../drizzle-orm/durable-sqlite/session.cjs | 127 + .../durable-sqlite/session.cjs.map | 1 + .../drizzle-orm/durable-sqlite/session.d.cts | 46 + .../drizzle-orm/durable-sqlite/session.d.ts | 46 + .../drizzle-orm/durable-sqlite/session.js | 103 + .../drizzle-orm/durable-sqlite/session.js.map | 1 + .../node_modules/drizzle-orm/entity.cjs | 57 + .../node_modules/drizzle-orm/entity.cjs.map | 1 + .../node_modules/drizzle-orm/entity.d.cts | 7 + .../node_modules/drizzle-orm/entity.d.ts | 7 + .../node_modules/drizzle-orm/entity.js | 31 + .../node_modules/drizzle-orm/entity.js.map | 1 + .../node_modules/drizzle-orm/errors.cjs | 58 + .../node_modules/drizzle-orm/errors.cjs.map | 1 + .../node_modules/drizzle-orm/errors.d.cts | 18 + .../node_modules/drizzle-orm/errors.d.ts | 18 + .../node_modules/drizzle-orm/errors.js | 32 + .../node_modules/drizzle-orm/errors.js.map | 1 + .../drizzle-orm/expo-sqlite/driver.cjs | 64 + .../drizzle-orm/expo-sqlite/driver.cjs.map | 1 + .../drizzle-orm/expo-sqlite/driver.d.cts | 10 + .../drizzle-orm/expo-sqlite/driver.d.ts | 10 + .../drizzle-orm/expo-sqlite/driver.js | 42 + .../drizzle-orm/expo-sqlite/driver.js.map | 1 + .../drizzle-orm/expo-sqlite/index.cjs | 27 + .../drizzle-orm/expo-sqlite/index.cjs.map | 1 + .../drizzle-orm/expo-sqlite/index.d.cts | 3 + .../drizzle-orm/expo-sqlite/index.d.ts | 3 + .../drizzle-orm/expo-sqlite/index.js | 4 + .../drizzle-orm/expo-sqlite/index.js.map | 1 + .../drizzle-orm/expo-sqlite/migrator.cjs | 90 + .../drizzle-orm/expo-sqlite/migrator.cjs.map | 1 + .../drizzle-orm/expo-sqlite/migrator.d.cts | 29 + .../drizzle-orm/expo-sqlite/migrator.d.ts | 29 + .../drizzle-orm/expo-sqlite/migrator.js | 65 + .../drizzle-orm/expo-sqlite/migrator.js.map | 1 + .../drizzle-orm/expo-sqlite/query.cjs | 71 + .../drizzle-orm/expo-sqlite/query.cjs.map | 1 + .../drizzle-orm/expo-sqlite/query.d.cts | 7 + .../drizzle-orm/expo-sqlite/query.d.ts | 7 + .../drizzle-orm/expo-sqlite/query.js | 47 + .../drizzle-orm/expo-sqlite/query.js.map | 1 + .../drizzle-orm/expo-sqlite/session.cjs | 147 + .../drizzle-orm/expo-sqlite/session.cjs.map | 1 + .../drizzle-orm/expo-sqlite/session.d.cts | 47 + .../drizzle-orm/expo-sqlite/session.d.ts | 47 + .../drizzle-orm/expo-sqlite/session.js | 124 + .../drizzle-orm/expo-sqlite/session.js.map | 1 + .../drizzle-orm/gel-core/alias.cjs | 32 + .../drizzle-orm/gel-core/alias.cjs.map | 1 + .../drizzle-orm/gel-core/alias.d.cts | 4 + .../drizzle-orm/gel-core/alias.d.ts | 4 + .../drizzle-orm/gel-core/alias.js | 8 + .../drizzle-orm/gel-core/alias.js.map | 1 + .../drizzle-orm/gel-core/checks.cjs | 58 + .../drizzle-orm/gel-core/checks.cjs.map | 1 + .../drizzle-orm/gel-core/checks.d.cts | 18 + .../drizzle-orm/gel-core/checks.d.ts | 18 + .../drizzle-orm/gel-core/checks.js | 32 + .../drizzle-orm/gel-core/checks.js.map | 1 + .../drizzle-orm/gel-core/columns/all.cjs | 72 + .../drizzle-orm/gel-core/columns/all.cjs.map | 1 + .../drizzle-orm/gel-core/columns/all.d.cts | 43 + .../drizzle-orm/gel-core/columns/all.d.ts | 43 + .../drizzle-orm/gel-core/columns/all.js | 48 + .../drizzle-orm/gel-core/columns/all.js.map | 1 + .../drizzle-orm/gel-core/columns/bigint.cjs | 54 + .../gel-core/columns/bigint.cjs.map | 1 + .../drizzle-orm/gel-core/columns/bigint.d.cts | 23 + .../drizzle-orm/gel-core/columns/bigint.d.ts | 23 + .../drizzle-orm/gel-core/columns/bigint.js | 28 + .../gel-core/columns/bigint.js.map | 1 + .../drizzle-orm/gel-core/columns/bigintT.cjs | 60 + .../gel-core/columns/bigintT.cjs.map | 1 + .../gel-core/columns/bigintT.d.cts | 24 + .../drizzle-orm/gel-core/columns/bigintT.d.ts | 24 + .../drizzle-orm/gel-core/columns/bigintT.js | 34 + .../gel-core/columns/bigintT.js.map | 1 + .../drizzle-orm/gel-core/columns/boolean.cjs | 53 + .../gel-core/columns/boolean.cjs.map | 1 + .../gel-core/columns/boolean.d.cts | 22 + .../drizzle-orm/gel-core/columns/boolean.d.ts | 22 + .../drizzle-orm/gel-core/columns/boolean.js | 27 + .../gel-core/columns/boolean.js.map | 1 + .../drizzle-orm/gel-core/columns/bytes.cjs | 56 + .../gel-core/columns/bytes.cjs.map | 1 + .../drizzle-orm/gel-core/columns/bytes.d.cts | 22 + .../drizzle-orm/gel-core/columns/bytes.d.ts | 22 + .../drizzle-orm/gel-core/columns/bytes.js | 30 + .../drizzle-orm/gel-core/columns/bytes.js.map | 1 + .../drizzle-orm/gel-core/columns/common.cjs | 213 + .../gel-core/columns/common.cjs.map | 1 + .../drizzle-orm/gel-core/columns/common.d.cts | 147 + .../drizzle-orm/gel-core/columns/common.d.ts | 147 + .../drizzle-orm/gel-core/columns/common.js | 184 + .../gel-core/columns/common.js.map | 1 + .../drizzle-orm/gel-core/columns/custom.cjs | 77 + .../gel-core/columns/custom.cjs.map | 1 + .../drizzle-orm/gel-core/columns/custom.d.cts | 155 + .../drizzle-orm/gel-core/columns/custom.d.ts | 155 + .../drizzle-orm/gel-core/columns/custom.js | 51 + .../gel-core/columns/custom.js.map | 1 + .../gel-core/columns/date-duration.cjs | 56 + .../gel-core/columns/date-duration.cjs.map | 1 + .../gel-core/columns/date-duration.d.cts | 23 + .../gel-core/columns/date-duration.d.ts | 23 + .../gel-core/columns/date-duration.js | 30 + .../gel-core/columns/date-duration.js.map | 1 + .../gel-core/columns/date.common.cjs | 37 + .../gel-core/columns/date.common.cjs.map | 1 + .../gel-core/columns/date.common.d.cts | 7 + .../gel-core/columns/date.common.d.ts | 7 + .../gel-core/columns/date.common.js | 13 + .../gel-core/columns/date.common.js.map | 1 + .../drizzle-orm/gel-core/columns/decimal.cjs | 56 + .../gel-core/columns/decimal.cjs.map | 1 + .../gel-core/columns/decimal.d.cts | 26 + .../drizzle-orm/gel-core/columns/decimal.d.ts | 26 + .../drizzle-orm/gel-core/columns/decimal.js | 30 + .../gel-core/columns/decimal.js.map | 1 + .../gel-core/columns/double-precision.cjs | 62 + .../gel-core/columns/double-precision.cjs.map | 1 + .../gel-core/columns/double-precision.d.cts | 23 + .../gel-core/columns/double-precision.d.ts | 23 + .../gel-core/columns/double-precision.js | 36 + .../gel-core/columns/double-precision.js.map | 1 + .../drizzle-orm/gel-core/columns/duration.cjs | 53 + .../gel-core/columns/duration.cjs.map | 1 + .../gel-core/columns/duration.d.cts | 23 + .../gel-core/columns/duration.d.ts | 23 + .../drizzle-orm/gel-core/columns/duration.js | 27 + .../gel-core/columns/duration.js.map | 1 + .../drizzle-orm/gel-core/columns/index.cjs | 65 + .../gel-core/columns/index.cjs.map | 1 + .../drizzle-orm/gel-core/columns/index.d.cts | 22 + .../drizzle-orm/gel-core/columns/index.d.ts | 22 + .../drizzle-orm/gel-core/columns/index.js | 23 + .../drizzle-orm/gel-core/columns/index.js.map | 1 + .../gel-core/columns/int.common.cjs | 67 + .../gel-core/columns/int.common.cjs.map | 1 + .../gel-core/columns/int.common.d.cts | 15 + .../gel-core/columns/int.common.d.ts | 15 + .../gel-core/columns/int.common.js | 43 + .../gel-core/columns/int.common.js.map | 1 + .../drizzle-orm/gel-core/columns/integer.cjs | 54 + .../gel-core/columns/integer.cjs.map | 1 + .../gel-core/columns/integer.d.cts | 23 + .../drizzle-orm/gel-core/columns/integer.d.ts | 23 + .../drizzle-orm/gel-core/columns/integer.js | 28 + .../gel-core/columns/integer.js.map | 1 + .../drizzle-orm/gel-core/columns/json.cjs | 56 + .../drizzle-orm/gel-core/columns/json.cjs.map | 1 + .../drizzle-orm/gel-core/columns/json.d.cts | 26 + .../drizzle-orm/gel-core/columns/json.d.ts | 26 + .../drizzle-orm/gel-core/columns/json.js | 30 + .../drizzle-orm/gel-core/columns/json.js.map | 1 + .../gel-core/columns/localdate.cjs | 57 + .../gel-core/columns/localdate.cjs.map | 1 + .../gel-core/columns/localdate.d.cts | 24 + .../gel-core/columns/localdate.d.ts | 24 + .../drizzle-orm/gel-core/columns/localdate.js | 31 + .../gel-core/columns/localdate.js.map | 1 + .../gel-core/columns/localtime.cjs | 57 + .../gel-core/columns/localtime.cjs.map | 1 + .../gel-core/columns/localtime.d.cts | 24 + .../gel-core/columns/localtime.d.ts | 24 + .../drizzle-orm/gel-core/columns/localtime.js | 31 + .../gel-core/columns/localtime.js.map | 1 + .../drizzle-orm/gel-core/columns/real.cjs | 57 + .../drizzle-orm/gel-core/columns/real.cjs.map | 1 + .../drizzle-orm/gel-core/columns/real.d.cts | 28 + .../drizzle-orm/gel-core/columns/real.d.ts | 28 + .../drizzle-orm/gel-core/columns/real.js | 31 + .../drizzle-orm/gel-core/columns/real.js.map | 1 + .../gel-core/columns/relative-duration.cjs | 56 + .../columns/relative-duration.cjs.map | 1 + .../gel-core/columns/relative-duration.d.cts | 23 + .../gel-core/columns/relative-duration.d.ts | 23 + .../gel-core/columns/relative-duration.js | 30 + .../gel-core/columns/relative-duration.js.map | 1 + .../drizzle-orm/gel-core/columns/smallint.cjs | 54 + .../gel-core/columns/smallint.cjs.map | 1 + .../gel-core/columns/smallint.d.cts | 23 + .../gel-core/columns/smallint.d.ts | 23 + .../drizzle-orm/gel-core/columns/smallint.js | 28 + .../gel-core/columns/smallint.js.map | 1 + .../drizzle-orm/gel-core/columns/text.cjs | 54 + .../drizzle-orm/gel-core/columns/text.cjs.map | 1 + .../drizzle-orm/gel-core/columns/text.d.cts | 26 + .../drizzle-orm/gel-core/columns/text.d.ts | 26 + .../drizzle-orm/gel-core/columns/text.js | 28 + .../drizzle-orm/gel-core/columns/text.js.map | 1 + .../gel-core/columns/timestamp.cjs | 60 + .../gel-core/columns/timestamp.cjs.map | 1 + .../gel-core/columns/timestamp.d.cts | 28 + .../gel-core/columns/timestamp.d.ts | 28 + .../drizzle-orm/gel-core/columns/timestamp.js | 34 + .../gel-core/columns/timestamp.js.map | 1 + .../gel-core/columns/timestamptz.cjs | 60 + .../gel-core/columns/timestamptz.cjs.map | 1 + .../gel-core/columns/timestamptz.d.cts | 27 + .../gel-core/columns/timestamptz.d.ts | 27 + .../gel-core/columns/timestamptz.js | 34 + .../gel-core/columns/timestamptz.js.map | 1 + .../drizzle-orm/gel-core/columns/uuid.cjs | 53 + .../drizzle-orm/gel-core/columns/uuid.cjs.map | 1 + .../drizzle-orm/gel-core/columns/uuid.d.cts | 22 + .../drizzle-orm/gel-core/columns/uuid.d.ts | 22 + .../drizzle-orm/gel-core/columns/uuid.js | 27 + .../drizzle-orm/gel-core/columns/uuid.js.map | 1 + .../node_modules/drizzle-orm/gel-core/db.cjs | 342 + .../drizzle-orm/gel-core/db.cjs.map | 1 + .../drizzle-orm/gel-core/db.d.cts | 286 + .../node_modules/drizzle-orm/gel-core/db.d.ts | 286 + .../node_modules/drizzle-orm/gel-core/db.js | 323 + .../drizzle-orm/gel-core/db.js.map | 1 + .../drizzle-orm/gel-core/dialect.cjs | 1137 ++++ .../drizzle-orm/gel-core/dialect.cjs.map | 1 + .../drizzle-orm/gel-core/dialect.d.cts | 63 + .../drizzle-orm/gel-core/dialect.d.ts | 63 + .../drizzle-orm/gel-core/dialect.js | 1123 ++++ .../drizzle-orm/gel-core/dialect.js.map | 1 + .../drizzle-orm/gel-core/expressions.cjs | 49 + .../drizzle-orm/gel-core/expressions.cjs.map | 1 + .../drizzle-orm/gel-core/expressions.d.cts | 8 + .../drizzle-orm/gel-core/expressions.d.ts | 8 + .../drizzle-orm/gel-core/expressions.js | 22 + .../drizzle-orm/gel-core/expressions.js.map | 1 + .../drizzle-orm/gel-core/foreign-keys.cjs | 100 + .../drizzle-orm/gel-core/foreign-keys.cjs.map | 1 + .../drizzle-orm/gel-core/foreign-keys.d.cts | 48 + .../drizzle-orm/gel-core/foreign-keys.d.ts | 48 + .../drizzle-orm/gel-core/foreign-keys.js | 74 + .../drizzle-orm/gel-core/foreign-keys.js.map | 1 + .../drizzle-orm/gel-core/index.cjs | 61 + .../drizzle-orm/gel-core/index.cjs.map | 1 + .../drizzle-orm/gel-core/index.d.cts | 20 + .../drizzle-orm/gel-core/index.d.ts | 20 + .../drizzle-orm/gel-core/index.js | 21 + .../drizzle-orm/gel-core/index.js.map | 1 + .../drizzle-orm/gel-core/indexes.cjs | 149 + .../drizzle-orm/gel-core/indexes.cjs.map | 1 + .../drizzle-orm/gel-core/indexes.d.cts | 79 + .../drizzle-orm/gel-core/indexes.d.ts | 79 + .../drizzle-orm/gel-core/indexes.js | 121 + .../drizzle-orm/gel-core/indexes.js.map | 1 + .../drizzle-orm/gel-core/policies.cjs | 58 + .../drizzle-orm/gel-core/policies.cjs.map | 1 + .../drizzle-orm/gel-core/policies.d.cts | 24 + .../drizzle-orm/gel-core/policies.d.ts | 24 + .../drizzle-orm/gel-core/policies.js | 33 + .../drizzle-orm/gel-core/policies.js.map | 1 + .../drizzle-orm/gel-core/primary-keys.cjs | 68 + .../drizzle-orm/gel-core/primary-keys.cjs.map | 1 + .../drizzle-orm/gel-core/primary-keys.d.cts | 30 + .../drizzle-orm/gel-core/primary-keys.d.ts | 30 + .../drizzle-orm/gel-core/primary-keys.js | 42 + .../drizzle-orm/gel-core/primary-keys.js.map | 1 + .../gel-core/query-builders/count.cjs | 73 + .../gel-core/query-builders/count.cjs.map | 1 + .../gel-core/query-builders/count.d.cts | 25 + .../gel-core/query-builders/count.d.ts | 25 + .../gel-core/query-builders/count.js | 49 + .../gel-core/query-builders/count.js.map | 1 + .../gel-core/query-builders/delete.cjs | 109 + .../gel-core/query-builders/delete.cjs.map | 1 + .../gel-core/query-builders/delete.d.cts | 99 + .../gel-core/query-builders/delete.d.ts | 99 + .../gel-core/query-builders/delete.js | 85 + .../gel-core/query-builders/delete.js.map | 1 + .../gel-core/query-builders/index.cjs | 35 + .../gel-core/query-builders/index.cjs.map | 1 + .../gel-core/query-builders/index.d.cts | 7 + .../gel-core/query-builders/index.d.ts | 7 + .../gel-core/query-builders/index.js | 8 + .../gel-core/query-builders/index.js.map | 1 + .../gel-core/query-builders/insert.cjs | 222 + .../gel-core/query-builders/insert.cjs.map | 1 + .../gel-core/query-builders/insert.d.cts | 116 + .../gel-core/query-builders/insert.d.ts | 116 + .../gel-core/query-builders/insert.js | 197 + .../gel-core/query-builders/insert.js.map | 1 + .../gel-core/query-builders/query-builder.cjs | 114 + .../query-builders/query-builder.cjs.map | 1 + .../query-builders/query-builder.d.cts | 40 + .../query-builders/query-builder.d.ts | 40 + .../gel-core/query-builders/query-builder.js | 90 + .../query-builders/query-builder.js.map | 1 + .../gel-core/query-builders/query.cjs | 139 + .../gel-core/query-builders/query.cjs.map | 1 + .../gel-core/query-builders/query.d.cts | 46 + .../gel-core/query-builders/query.d.ts | 46 + .../gel-core/query-builders/query.js | 116 + .../gel-core/query-builders/query.js.map | 1 + .../gel-core/query-builders/raw.cjs | 57 + .../gel-core/query-builders/raw.cjs.map | 1 + .../gel-core/query-builders/raw.d.cts | 22 + .../gel-core/query-builders/raw.d.ts | 22 + .../gel-core/query-builders/raw.js | 33 + .../gel-core/query-builders/raw.js.map | 1 + .../refresh-materialized-view.cjs | 77 + .../refresh-materialized-view.cjs.map | 1 + .../refresh-materialized-view.d.cts | 27 + .../refresh-materialized-view.d.ts | 27 + .../refresh-materialized-view.js | 53 + .../refresh-materialized-view.js.map | 1 + .../gel-core/query-builders/select.cjs | 863 +++ .../gel-core/query-builders/select.cjs.map | 1 + .../gel-core/query-builders/select.d.cts | 795 +++ .../gel-core/query-builders/select.d.ts | 795 +++ .../gel-core/query-builders/select.js | 836 +++ .../gel-core/query-builders/select.js.map | 1 + .../gel-core/query-builders/select.types.cjs | 17 + .../query-builders/select.types.cjs.map | 1 + .../query-builders/select.types.d.cts | 139 + .../gel-core/query-builders/select.types.d.ts | 139 + .../gel-core/query-builders/select.types.js | 1 + .../query-builders/select.types.js.map | 1 + .../gel-core/query-builders/update.cjs | 230 + .../gel-core/query-builders/update.cjs.map | 1 + .../gel-core/query-builders/update.d.cts | 166 + .../gel-core/query-builders/update.d.ts | 166 + .../gel-core/query-builders/update.js | 209 + .../gel-core/query-builders/update.js.map | 1 + .../drizzle-orm/gel-core/roles.cjs | 57 + .../drizzle-orm/gel-core/roles.cjs.map | 1 + .../drizzle-orm/gel-core/roles.d.cts | 13 + .../drizzle-orm/gel-core/roles.d.ts | 13 + .../drizzle-orm/gel-core/roles.js | 32 + .../drizzle-orm/gel-core/roles.js.map | 1 + .../drizzle-orm/gel-core/schema.cjs | 74 + .../drizzle-orm/gel-core/schema.cjs.map | 1 + .../drizzle-orm/gel-core/schema.d.cts | 15 + .../drizzle-orm/gel-core/schema.d.ts | 15 + .../drizzle-orm/gel-core/schema.js | 48 + .../drizzle-orm/gel-core/schema.js.map | 1 + .../drizzle-orm/gel-core/sequence.cjs | 52 + .../drizzle-orm/gel-core/sequence.cjs.map | 1 + .../drizzle-orm/gel-core/sequence.d.cts | 18 + .../drizzle-orm/gel-core/sequence.d.ts | 18 + .../drizzle-orm/gel-core/sequence.js | 25 + .../drizzle-orm/gel-core/sequence.js.map | 1 + .../drizzle-orm/gel-core/session.cjs | 170 + .../drizzle-orm/gel-core/session.cjs.map | 1 + .../drizzle-orm/gel-core/session.d.cts | 67 + .../drizzle-orm/gel-core/session.d.ts | 67 + .../drizzle-orm/gel-core/session.js | 144 + .../drizzle-orm/gel-core/session.js.map | 1 + .../drizzle-orm/gel-core/subquery.cjs | 17 + .../drizzle-orm/gel-core/subquery.cjs.map | 1 + .../drizzle-orm/gel-core/subquery.d.cts | 5 + .../drizzle-orm/gel-core/subquery.d.ts | 5 + .../drizzle-orm/gel-core/subquery.js | 1 + .../drizzle-orm/gel-core/subquery.js.map | 1 + .../drizzle-orm/gel-core/table.cjs | 100 + .../drizzle-orm/gel-core/table.cjs.map | 1 + .../drizzle-orm/gel-core/table.d.cts | 95 + .../drizzle-orm/gel-core/table.d.ts | 95 + .../drizzle-orm/gel-core/table.js | 71 + .../drizzle-orm/gel-core/table.js.map | 1 + .../gel-core/unique-constraint.cjs | 89 + .../gel-core/unique-constraint.cjs.map | 1 + .../gel-core/unique-constraint.d.cts | 25 + .../gel-core/unique-constraint.d.ts | 25 + .../drizzle-orm/gel-core/unique-constraint.js | 61 + .../gel-core/unique-constraint.js.map | 1 + .../drizzle-orm/gel-core/utils.cjs | 116 + .../drizzle-orm/gel-core/utils.cjs.map | 1 + .../drizzle-orm/gel-core/utils.d.cts | 55 + .../drizzle-orm/gel-core/utils.d.ts | 55 + .../drizzle-orm/gel-core/utils.js | 89 + .../drizzle-orm/gel-core/utils.js.map | 1 + .../drizzle-orm/gel-core/view-base.cjs | 33 + .../drizzle-orm/gel-core/view-base.cjs.map | 1 + .../drizzle-orm/gel-core/view-base.d.cts | 8 + .../drizzle-orm/gel-core/view-base.d.ts | 8 + .../drizzle-orm/gel-core/view-base.js | 9 + .../drizzle-orm/gel-core/view-base.js.map | 1 + .../drizzle-orm/gel-core/view-common.cjs | 29 + .../drizzle-orm/gel-core/view-common.cjs.map | 1 + .../drizzle-orm/gel-core/view-common.d.cts | 1 + .../drizzle-orm/gel-core/view-common.d.ts | 1 + .../drizzle-orm/gel-core/view-common.js | 5 + .../drizzle-orm/gel-core/view-common.js.map | 1 + .../drizzle-orm/gel-core/view.cjs | 302 + .../drizzle-orm/gel-core/view.cjs.map | 1 + .../drizzle-orm/gel-core/view.d.cts | 150 + .../drizzle-orm/gel-core/view.d.ts | 150 + .../node_modules/drizzle-orm/gel-core/view.js | 268 + .../drizzle-orm/gel-core/view.js.map | 1 + .../node_modules/drizzle-orm/gel/driver.cjs | 103 + .../drizzle-orm/gel/driver.cjs.map | 1 + .../node_modules/drizzle-orm/gel/driver.d.cts | 40 + .../node_modules/drizzle-orm/gel/driver.d.ts | 40 + .../node_modules/drizzle-orm/gel/driver.js | 80 + .../drizzle-orm/gel/driver.js.map | 1 + .../node_modules/drizzle-orm/gel/index.cjs | 25 + .../drizzle-orm/gel/index.cjs.map | 1 + .../node_modules/drizzle-orm/gel/index.d.cts | 2 + .../node_modules/drizzle-orm/gel/index.d.ts | 2 + .../node_modules/drizzle-orm/gel/index.js | 3 + .../node_modules/drizzle-orm/gel/index.js.map | 1 + .../node_modules/drizzle-orm/gel/migrator.cjs | 5 + .../drizzle-orm/gel/migrator.cjs.map | 1 + .../drizzle-orm/gel/migrator.d.cts | 1 + .../drizzle-orm/gel/migrator.d.ts | 1 + .../node_modules/drizzle-orm/gel/migrator.js | 4 + .../drizzle-orm/gel/migrator.js.map | 1 + .../node_modules/drizzle-orm/gel/session.cjs | 154 + .../drizzle-orm/gel/session.cjs.map | 1 + .../drizzle-orm/gel/session.d.cts | 57 + .../node_modules/drizzle-orm/gel/session.d.ts | 57 + .../node_modules/drizzle-orm/gel/session.js | 128 + .../drizzle-orm/gel/session.js.map | 1 + .../node_modules/drizzle-orm/index.cjs | 49 + .../node_modules/drizzle-orm/index.cjs.map | 1 + .../node_modules/drizzle-orm/index.d.cts | 14 + .../node_modules/drizzle-orm/index.d.ts | 14 + .../node_modules/drizzle-orm/index.js | 15 + .../node_modules/drizzle-orm/index.js.map | 1 + .../node_modules/drizzle-orm/knex/index.cjs | 2 + .../drizzle-orm/knex/index.cjs.map | 1 + .../node_modules/drizzle-orm/knex/index.d.cts | 9 + .../node_modules/drizzle-orm/knex/index.d.ts | 9 + .../node_modules/drizzle-orm/knex/index.js | 1 + .../drizzle-orm/knex/index.js.map | 1 + .../node_modules/drizzle-orm/kysely/index.cjs | 17 + .../drizzle-orm/kysely/index.cjs.map | 1 + .../drizzle-orm/kysely/index.d.cts | 16 + .../drizzle-orm/kysely/index.d.ts | 16 + .../node_modules/drizzle-orm/kysely/index.js | 1 + .../drizzle-orm/kysely/index.js.map | 1 + .../drizzle-orm/libsql/driver-core.cjs | 71 + .../drizzle-orm/libsql/driver-core.cjs.map | 1 + .../drizzle-orm/libsql/driver-core.d.cts | 8 + .../drizzle-orm/libsql/driver-core.d.ts | 8 + .../drizzle-orm/libsql/driver-core.js | 49 + .../drizzle-orm/libsql/driver-core.js.map | 1 + .../drizzle-orm/libsql/driver.cjs | 55 + .../drizzle-orm/libsql/driver.cjs.map | 1 + .../drizzle-orm/libsql/driver.d.cts | 23 + .../drizzle-orm/libsql/driver.d.ts | 23 + .../node_modules/drizzle-orm/libsql/driver.js | 30 + .../drizzle-orm/libsql/driver.js.map | 1 + .../drizzle-orm/libsql/http/index.cjs | 52 + .../drizzle-orm/libsql/http/index.cjs.map | 1 + .../drizzle-orm/libsql/http/index.d.cts | 22 + .../drizzle-orm/libsql/http/index.d.ts | 22 + .../drizzle-orm/libsql/http/index.js | 28 + .../drizzle-orm/libsql/http/index.js.map | 1 + .../node_modules/drizzle-orm/libsql/index.cjs | 25 + .../drizzle-orm/libsql/index.cjs.map | 1 + .../drizzle-orm/libsql/index.d.cts | 2 + .../drizzle-orm/libsql/index.d.ts | 2 + .../node_modules/drizzle-orm/libsql/index.js | 3 + .../drizzle-orm/libsql/index.js.map | 1 + .../drizzle-orm/libsql/migrator.cjs | 60 + .../drizzle-orm/libsql/migrator.cjs.map | 1 + .../drizzle-orm/libsql/migrator.d.cts | 3 + .../drizzle-orm/libsql/migrator.d.ts | 3 + .../drizzle-orm/libsql/migrator.js | 36 + .../drizzle-orm/libsql/migrator.js.map | 1 + .../drizzle-orm/libsql/node/index.cjs | 52 + .../drizzle-orm/libsql/node/index.cjs.map | 1 + .../drizzle-orm/libsql/node/index.d.cts | 22 + .../drizzle-orm/libsql/node/index.d.ts | 22 + .../drizzle-orm/libsql/node/index.js | 28 + .../drizzle-orm/libsql/node/index.js.map | 1 + .../drizzle-orm/libsql/session.cjs | 257 + .../drizzle-orm/libsql/session.cjs.map | 1 + .../drizzle-orm/libsql/session.d.cts | 69 + .../drizzle-orm/libsql/session.d.ts | 69 + .../drizzle-orm/libsql/session.js | 231 + .../drizzle-orm/libsql/session.js.map | 1 + .../drizzle-orm/libsql/sqlite3/index.cjs | 52 + .../drizzle-orm/libsql/sqlite3/index.cjs.map | 1 + .../drizzle-orm/libsql/sqlite3/index.d.cts | 22 + .../drizzle-orm/libsql/sqlite3/index.d.ts | 22 + .../drizzle-orm/libsql/sqlite3/index.js | 28 + .../drizzle-orm/libsql/sqlite3/index.js.map | 1 + .../drizzle-orm/libsql/wasm/index.cjs | 52 + .../drizzle-orm/libsql/wasm/index.cjs.map | 1 + .../drizzle-orm/libsql/wasm/index.d.cts | 22 + .../drizzle-orm/libsql/wasm/index.d.ts | 22 + .../drizzle-orm/libsql/wasm/index.js | 28 + .../drizzle-orm/libsql/wasm/index.js.map | 1 + .../drizzle-orm/libsql/web/index.cjs | 52 + .../drizzle-orm/libsql/web/index.cjs.map | 1 + .../drizzle-orm/libsql/web/index.d.cts | 22 + .../drizzle-orm/libsql/web/index.d.ts | 22 + .../drizzle-orm/libsql/web/index.js | 28 + .../drizzle-orm/libsql/web/index.js.map | 1 + .../drizzle-orm/libsql/ws/index.cjs | 52 + .../drizzle-orm/libsql/ws/index.cjs.map | 1 + .../drizzle-orm/libsql/ws/index.d.cts | 22 + .../drizzle-orm/libsql/ws/index.d.ts | 22 + .../drizzle-orm/libsql/ws/index.js | 28 + .../drizzle-orm/libsql/ws/index.js.map | 1 + .../node_modules/drizzle-orm/logger.cjs | 62 + .../node_modules/drizzle-orm/logger.cjs.map | 1 + .../node_modules/drizzle-orm/logger.d.cts | 23 + .../node_modules/drizzle-orm/logger.d.ts | 23 + .../node_modules/drizzle-orm/logger.js | 36 + .../node_modules/drizzle-orm/logger.js.map | 1 + .../node_modules/drizzle-orm/migrator.cjs | 68 + .../node_modules/drizzle-orm/migrator.cjs.map | 1 + .../node_modules/drizzle-orm/migrator.d.cts | 16 + .../node_modules/drizzle-orm/migrator.d.ts | 16 + .../node_modules/drizzle-orm/migrator.js | 34 + .../node_modules/drizzle-orm/migrator.js.map | 1 + .../drizzle-orm/mysql-core/alias.cjs | 32 + .../drizzle-orm/mysql-core/alias.cjs.map | 1 + .../drizzle-orm/mysql-core/alias.d.cts | 4 + .../drizzle-orm/mysql-core/alias.d.ts | 4 + .../drizzle-orm/mysql-core/alias.js | 8 + .../drizzle-orm/mysql-core/alias.js.map | 1 + .../drizzle-orm/mysql-core/checks.cjs | 58 + .../drizzle-orm/mysql-core/checks.cjs.map | 1 + .../drizzle-orm/mysql-core/checks.d.cts | 18 + .../drizzle-orm/mysql-core/checks.d.ts | 18 + .../drizzle-orm/mysql-core/checks.js | 32 + .../drizzle-orm/mysql-core/checks.js.map | 1 + .../drizzle-orm/mysql-core/columns/all.cjs | 83 + .../mysql-core/columns/all.cjs.map | 1 + .../drizzle-orm/mysql-core/columns/all.d.cts | 54 + .../drizzle-orm/mysql-core/columns/all.d.ts | 54 + .../drizzle-orm/mysql-core/columns/all.js | 59 + .../drizzle-orm/mysql-core/columns/all.js.map | 1 + .../drizzle-orm/mysql-core/columns/bigint.cjs | 96 + .../mysql-core/columns/bigint.cjs.map | 1 + .../mysql-core/columns/bigint.d.cts | 52 + .../mysql-core/columns/bigint.d.ts | 52 + .../drizzle-orm/mysql-core/columns/bigint.js | 68 + .../mysql-core/columns/bigint.js.map | 1 + .../drizzle-orm/mysql-core/columns/binary.cjs | 66 + .../mysql-core/columns/binary.cjs.map | 1 + .../mysql-core/columns/binary.d.cts | 28 + .../mysql-core/columns/binary.d.ts | 28 + .../drizzle-orm/mysql-core/columns/binary.js | 40 + .../mysql-core/columns/binary.js.map | 1 + .../mysql-core/columns/boolean.cjs | 62 + .../mysql-core/columns/boolean.cjs.map | 1 + .../mysql-core/columns/boolean.d.cts | 23 + .../mysql-core/columns/boolean.d.ts | 23 + .../drizzle-orm/mysql-core/columns/boolean.js | 36 + .../mysql-core/columns/boolean.js.map | 1 + .../drizzle-orm/mysql-core/columns/char.cjs | 62 + .../mysql-core/columns/char.cjs.map | 1 + .../drizzle-orm/mysql-core/columns/char.d.cts | 39 + .../drizzle-orm/mysql-core/columns/char.d.ts | 39 + .../drizzle-orm/mysql-core/columns/char.js | 36 + .../mysql-core/columns/char.js.map | 1 + .../drizzle-orm/mysql-core/columns/common.cjs | 104 + .../mysql-core/columns/common.cjs.map | 1 + .../mysql-core/columns/common.d.cts | 56 + .../mysql-core/columns/common.d.ts | 56 + .../drizzle-orm/mysql-core/columns/common.js | 77 + .../mysql-core/columns/common.js.map | 1 + .../drizzle-orm/mysql-core/columns/custom.cjs | 77 + .../mysql-core/columns/custom.cjs.map | 1 + .../mysql-core/columns/custom.d.cts | 155 + .../mysql-core/columns/custom.d.ts | 155 + .../drizzle-orm/mysql-core/columns/custom.js | 51 + .../mysql-core/columns/custom.js.map | 1 + .../drizzle-orm/mysql-core/columns/date.cjs | 90 + .../mysql-core/columns/date.cjs.map | 1 + .../mysql-core/columns/date.common.cjs | 49 + .../mysql-core/columns/date.common.cjs.map | 1 + .../mysql-core/columns/date.common.d.cts | 16 + .../mysql-core/columns/date.common.d.ts | 16 + .../mysql-core/columns/date.common.js | 24 + .../mysql-core/columns/date.common.js.map | 1 + .../drizzle-orm/mysql-core/columns/date.d.cts | 51 + .../drizzle-orm/mysql-core/columns/date.d.ts | 51 + .../drizzle-orm/mysql-core/columns/date.js | 62 + .../mysql-core/columns/date.js.map | 1 + .../mysql-core/columns/datetime.cjs | 104 + .../mysql-core/columns/datetime.cjs.map | 1 + .../mysql-core/columns/datetime.d.cts | 56 + .../mysql-core/columns/datetime.d.ts | 56 + .../mysql-core/columns/datetime.js | 76 + .../mysql-core/columns/datetime.js.map | 1 + .../mysql-core/columns/decimal.cjs | 161 + .../mysql-core/columns/decimal.cjs.map | 1 + .../mysql-core/columns/decimal.d.cts | 76 + .../mysql-core/columns/decimal.d.ts | 76 + .../drizzle-orm/mysql-core/columns/decimal.js | 131 + .../mysql-core/columns/decimal.js.map | 1 + .../drizzle-orm/mysql-core/columns/double.cjs | 69 + .../mysql-core/columns/double.cjs.map | 1 + .../mysql-core/columns/double.d.cts | 31 + .../mysql-core/columns/double.d.ts | 31 + .../drizzle-orm/mysql-core/columns/double.js | 43 + .../mysql-core/columns/double.js.map | 1 + .../drizzle-orm/mysql-core/columns/enum.cjs | 98 + .../mysql-core/columns/enum.cjs.map | 1 + .../drizzle-orm/mysql-core/columns/enum.d.cts | 51 + .../drizzle-orm/mysql-core/columns/enum.d.ts | 51 + .../drizzle-orm/mysql-core/columns/enum.js | 70 + .../mysql-core/columns/enum.js.map | 1 + .../drizzle-orm/mysql-core/columns/float.cjs | 69 + .../mysql-core/columns/float.cjs.map | 1 + .../mysql-core/columns/float.d.cts | 31 + .../drizzle-orm/mysql-core/columns/float.d.ts | 31 + .../drizzle-orm/mysql-core/columns/float.js | 43 + .../mysql-core/columns/float.js.map | 1 + .../drizzle-orm/mysql-core/columns/index.cjs | 71 + .../mysql-core/columns/index.cjs.map | 1 + .../mysql-core/columns/index.d.cts | 25 + .../drizzle-orm/mysql-core/columns/index.d.ts | 25 + .../drizzle-orm/mysql-core/columns/index.js | 26 + .../mysql-core/columns/index.js.map | 1 + .../drizzle-orm/mysql-core/columns/int.cjs | 62 + .../mysql-core/columns/int.cjs.map | 1 + .../drizzle-orm/mysql-core/columns/int.d.cts | 27 + .../drizzle-orm/mysql-core/columns/int.d.ts | 27 + .../drizzle-orm/mysql-core/columns/int.js | 36 + .../drizzle-orm/mysql-core/columns/int.js.map | 1 + .../drizzle-orm/mysql-core/columns/json.cjs | 56 + .../mysql-core/columns/json.cjs.map | 1 + .../drizzle-orm/mysql-core/columns/json.d.cts | 23 + .../drizzle-orm/mysql-core/columns/json.d.ts | 23 + .../drizzle-orm/mysql-core/columns/json.js | 30 + .../mysql-core/columns/json.js.map | 1 + .../mysql-core/columns/mediumint.cjs | 65 + .../mysql-core/columns/mediumint.cjs.map | 1 + .../mysql-core/columns/mediumint.d.cts | 25 + .../mysql-core/columns/mediumint.d.ts | 25 + .../mysql-core/columns/mediumint.js | 39 + .../mysql-core/columns/mediumint.js.map | 1 + .../drizzle-orm/mysql-core/columns/real.cjs | 65 + .../mysql-core/columns/real.cjs.map | 1 + .../drizzle-orm/mysql-core/columns/real.d.cts | 29 + .../drizzle-orm/mysql-core/columns/real.d.ts | 29 + .../drizzle-orm/mysql-core/columns/real.js | 39 + .../mysql-core/columns/real.js.map | 1 + .../drizzle-orm/mysql-core/columns/serial.cjs | 61 + .../mysql-core/columns/serial.cjs.map | 1 + .../mysql-core/columns/serial.d.cts | 23 + .../mysql-core/columns/serial.d.ts | 23 + .../drizzle-orm/mysql-core/columns/serial.js | 35 + .../mysql-core/columns/serial.js.map | 1 + .../mysql-core/columns/smallint.cjs | 65 + .../mysql-core/columns/smallint.cjs.map | 1 + .../mysql-core/columns/smallint.d.cts | 25 + .../mysql-core/columns/smallint.d.ts | 25 + .../mysql-core/columns/smallint.js | 39 + .../mysql-core/columns/smallint.js.map | 1 + .../drizzle-orm/mysql-core/columns/text.cjs | 77 + .../mysql-core/columns/text.cjs.map | 1 + .../drizzle-orm/mysql-core/columns/text.d.cts | 45 + .../drizzle-orm/mysql-core/columns/text.d.ts | 45 + .../drizzle-orm/mysql-core/columns/text.js | 48 + .../mysql-core/columns/text.js.map | 1 + .../drizzle-orm/mysql-core/columns/time.cjs | 58 + .../mysql-core/columns/time.cjs.map | 1 + .../drizzle-orm/mysql-core/columns/time.d.cts | 27 + .../drizzle-orm/mysql-core/columns/time.d.ts | 27 + .../drizzle-orm/mysql-core/columns/time.js | 32 + .../mysql-core/columns/time.js.map | 1 + .../mysql-core/columns/timestamp.cjs | 96 + .../mysql-core/columns/timestamp.cjs.map | 1 + .../mysql-core/columns/timestamp.d.cts | 49 + .../mysql-core/columns/timestamp.d.ts | 49 + .../mysql-core/columns/timestamp.js | 68 + .../mysql-core/columns/timestamp.js.map | 1 + .../mysql-core/columns/tinyint.cjs | 65 + .../mysql-core/columns/tinyint.cjs.map | 1 + .../mysql-core/columns/tinyint.d.cts | 25 + .../mysql-core/columns/tinyint.d.ts | 25 + .../drizzle-orm/mysql-core/columns/tinyint.js | 39 + .../mysql-core/columns/tinyint.js.map | 1 + .../mysql-core/columns/varbinary.cjs | 70 + .../mysql-core/columns/varbinary.cjs.map | 1 + .../mysql-core/columns/varbinary.d.cts | 26 + .../mysql-core/columns/varbinary.d.ts | 26 + .../mysql-core/columns/varbinary.js | 44 + .../mysql-core/columns/varbinary.js.map | 1 + .../mysql-core/columns/varchar.cjs | 63 + .../mysql-core/columns/varchar.cjs.map | 1 + .../mysql-core/columns/varchar.d.cts | 35 + .../mysql-core/columns/varchar.d.ts | 35 + .../drizzle-orm/mysql-core/columns/varchar.js | 37 + .../mysql-core/columns/varchar.js.map | 1 + .../drizzle-orm/mysql-core/columns/year.cjs | 53 + .../mysql-core/columns/year.cjs.map | 1 + .../drizzle-orm/mysql-core/columns/year.d.cts | 22 + .../drizzle-orm/mysql-core/columns/year.d.ts | 22 + .../drizzle-orm/mysql-core/columns/year.js | 27 + .../mysql-core/columns/year.js.map | 1 + .../drizzle-orm/mysql-core/db.cjs | 285 + .../drizzle-orm/mysql-core/db.cjs.map | 1 + .../drizzle-orm/mysql-core/db.d.cts | 236 + .../drizzle-orm/mysql-core/db.d.ts | 236 + .../node_modules/drizzle-orm/mysql-core/db.js | 266 + .../drizzle-orm/mysql-core/db.js.map | 1 + .../drizzle-orm/mysql-core/dialect.cjs | 866 +++ .../drizzle-orm/mysql-core/dialect.cjs.map | 1 + .../drizzle-orm/mysql-core/dialect.d.cts | 76 + .../drizzle-orm/mysql-core/dialect.d.ts | 76 + .../drizzle-orm/mysql-core/dialect.js | 848 +++ .../drizzle-orm/mysql-core/dialect.js.map | 1 + .../drizzle-orm/mysql-core/expressions.cjs | 49 + .../mysql-core/expressions.cjs.map | 1 + .../drizzle-orm/mysql-core/expressions.d.cts | 8 + .../drizzle-orm/mysql-core/expressions.d.ts | 8 + .../drizzle-orm/mysql-core/expressions.js | 22 + .../drizzle-orm/mysql-core/expressions.js.map | 1 + .../drizzle-orm/mysql-core/foreign-keys.cjs | 100 + .../mysql-core/foreign-keys.cjs.map | 1 + .../drizzle-orm/mysql-core/foreign-keys.d.cts | 51 + .../drizzle-orm/mysql-core/foreign-keys.d.ts | 51 + .../drizzle-orm/mysql-core/foreign-keys.js | 74 + .../mysql-core/foreign-keys.js.map | 1 + .../drizzle-orm/mysql-core/index.cjs | 55 + .../drizzle-orm/mysql-core/index.cjs.map | 1 + .../drizzle-orm/mysql-core/index.d.cts | 17 + .../drizzle-orm/mysql-core/index.d.ts | 17 + .../drizzle-orm/mysql-core/index.js | 18 + .../drizzle-orm/mysql-core/index.js.map | 1 + .../drizzle-orm/mysql-core/indexes.cjs | 88 + .../drizzle-orm/mysql-core/indexes.cjs.map | 1 + .../drizzle-orm/mysql-core/indexes.d.cts | 59 + .../drizzle-orm/mysql-core/indexes.d.ts | 59 + .../drizzle-orm/mysql-core/indexes.js | 60 + .../drizzle-orm/mysql-core/indexes.js.map | 1 + .../drizzle-orm/mysql-core/primary-keys.cjs | 68 + .../mysql-core/primary-keys.cjs.map | 1 + .../drizzle-orm/mysql-core/primary-keys.d.cts | 30 + .../drizzle-orm/mysql-core/primary-keys.d.ts | 30 + .../drizzle-orm/mysql-core/primary-keys.js | 42 + .../mysql-core/primary-keys.js.map | 1 + .../mysql-core/query-builders/count.cjs | 73 + .../mysql-core/query-builders/count.cjs.map | 1 + .../mysql-core/query-builders/count.d.cts | 26 + .../mysql-core/query-builders/count.d.ts | 26 + .../mysql-core/query-builders/count.js | 49 + .../mysql-core/query-builders/count.js.map | 1 + .../mysql-core/query-builders/delete.cjs | 131 + .../mysql-core/query-builders/delete.cjs.map | 1 + .../mysql-core/query-builders/delete.d.cts | 83 + .../mysql-core/query-builders/delete.d.ts | 83 + .../mysql-core/query-builders/delete.js | 107 + .../mysql-core/query-builders/delete.js.map | 1 + .../mysql-core/query-builders/index.cjs | 33 + .../mysql-core/query-builders/index.cjs.map | 1 + .../mysql-core/query-builders/index.d.cts | 6 + .../mysql-core/query-builders/index.d.ts | 6 + .../mysql-core/query-builders/index.js | 7 + .../mysql-core/query-builders/index.js.map | 1 + .../mysql-core/query-builders/insert.cjs | 163 + .../mysql-core/query-builders/insert.cjs.map | 1 + .../mysql-core/query-builders/insert.d.cts | 118 + .../mysql-core/query-builders/insert.d.ts | 118 + .../mysql-core/query-builders/insert.js | 138 + .../mysql-core/query-builders/insert.js.map | 1 + .../query-builders/query-builder.cjs | 99 + .../query-builders/query-builder.cjs.map | 1 + .../query-builders/query-builder.d.cts | 29 + .../query-builders/query-builder.d.ts | 29 + .../query-builders/query-builder.js | 75 + .../query-builders/query-builder.js.map | 1 + .../mysql-core/query-builders/query.cjs | 139 + .../mysql-core/query-builders/query.cjs.map | 1 + .../mysql-core/query-builders/query.d.cts | 44 + .../mysql-core/query-builders/query.d.ts | 44 + .../mysql-core/query-builders/query.js | 116 + .../mysql-core/query-builders/query.js.map | 1 + .../mysql-core/query-builders/select.cjs | 890 +++ .../mysql-core/query-builders/select.cjs.map | 1 + .../mysql-core/query-builders/select.d.cts | 803 +++ .../mysql-core/query-builders/select.d.ts | 803 +++ .../mysql-core/query-builders/select.js | 858 +++ .../mysql-core/query-builders/select.js.map | 1 + .../query-builders/select.types.cjs | 17 + .../query-builders/select.types.cjs.map | 1 + .../query-builders/select.types.d.cts | 146 + .../query-builders/select.types.d.ts | 146 + .../mysql-core/query-builders/select.types.js | 1 + .../query-builders/select.types.js.map | 1 + .../mysql-core/query-builders/update.cjs | 151 + .../mysql-core/query-builders/update.cjs.map | 1 + .../mysql-core/query-builders/update.d.cts | 104 + .../mysql-core/query-builders/update.d.ts | 104 + .../mysql-core/query-builders/update.js | 126 + .../mysql-core/query-builders/update.js.map | 1 + .../drizzle-orm/mysql-core/schema.cjs | 56 + .../drizzle-orm/mysql-core/schema.cjs.map | 1 + .../drizzle-orm/mysql-core/schema.d.cts | 24 + .../drizzle-orm/mysql-core/schema.d.ts | 24 + .../drizzle-orm/mysql-core/schema.js | 29 + .../drizzle-orm/mysql-core/schema.js.map | 1 + .../drizzle-orm/mysql-core/session.cjs | 165 + .../drizzle-orm/mysql-core/session.cjs.map | 1 + .../drizzle-orm/mysql-core/session.d.cts | 80 + .../drizzle-orm/mysql-core/session.d.ts | 80 + .../drizzle-orm/mysql-core/session.js | 139 + .../drizzle-orm/mysql-core/session.js.map | 1 + .../drizzle-orm/mysql-core/subquery.cjs | 17 + .../drizzle-orm/mysql-core/subquery.cjs.map | 1 + .../drizzle-orm/mysql-core/subquery.d.cts | 18 + .../drizzle-orm/mysql-core/subquery.d.ts | 18 + .../drizzle-orm/mysql-core/subquery.js | 1 + .../drizzle-orm/mysql-core/subquery.js.map | 1 + .../drizzle-orm/mysql-core/table.cjs | 81 + .../drizzle-orm/mysql-core/table.cjs.map | 1 + .../drizzle-orm/mysql-core/table.d.cts | 99 + .../drizzle-orm/mysql-core/table.d.ts | 99 + .../drizzle-orm/mysql-core/table.js | 53 + .../drizzle-orm/mysql-core/table.js.map | 1 + .../mysql-core/unique-constraint.cjs | 82 + .../mysql-core/unique-constraint.cjs.map | 1 + .../mysql-core/unique-constraint.d.cts | 24 + .../mysql-core/unique-constraint.d.ts | 24 + .../mysql-core/unique-constraint.js | 54 + .../mysql-core/unique-constraint.js.map | 1 + .../drizzle-orm/mysql-core/utils.cjs | 114 + .../drizzle-orm/mysql-core/utils.cjs.map | 1 + .../drizzle-orm/mysql-core/utils.d.cts | 37 + .../drizzle-orm/mysql-core/utils.d.ts | 37 + .../drizzle-orm/mysql-core/utils.js | 86 + .../drizzle-orm/mysql-core/utils.js.map | 1 + .../drizzle-orm/mysql-core/view-base.cjs | 33 + .../drizzle-orm/mysql-core/view-base.cjs.map | 1 + .../drizzle-orm/mysql-core/view-base.d.cts | 9 + .../drizzle-orm/mysql-core/view-base.d.ts | 9 + .../drizzle-orm/mysql-core/view-base.js | 9 + .../drizzle-orm/mysql-core/view-base.js.map | 1 + .../drizzle-orm/mysql-core/view-common.cjs | 29 + .../mysql-core/view-common.cjs.map | 1 + .../drizzle-orm/mysql-core/view-common.d.cts | 1 + .../drizzle-orm/mysql-core/view-common.d.ts | 1 + .../drizzle-orm/mysql-core/view-common.js | 5 + .../drizzle-orm/mysql-core/view-common.js.map | 1 + .../drizzle-orm/mysql-core/view.cjs | 155 + .../drizzle-orm/mysql-core/view.cjs.map | 1 + .../drizzle-orm/mysql-core/view.d.cts | 64 + .../drizzle-orm/mysql-core/view.d.ts | 64 + .../drizzle-orm/mysql-core/view.js | 126 + .../drizzle-orm/mysql-core/view.js.map | 1 + .../drizzle-orm/mysql-proxy/driver.cjs | 62 + .../drizzle-orm/mysql-proxy/driver.cjs.map | 1 + .../drizzle-orm/mysql-proxy/driver.d.cts | 13 + .../drizzle-orm/mysql-proxy/driver.d.ts | 13 + .../drizzle-orm/mysql-proxy/driver.js | 40 + .../drizzle-orm/mysql-proxy/driver.js.map | 1 + .../drizzle-orm/mysql-proxy/index.cjs | 25 + .../drizzle-orm/mysql-proxy/index.cjs.map | 1 + .../drizzle-orm/mysql-proxy/index.d.cts | 2 + .../drizzle-orm/mysql-proxy/index.d.ts | 2 + .../drizzle-orm/mysql-proxy/index.js | 3 + .../drizzle-orm/mysql-proxy/index.js.map | 1 + .../drizzle-orm/mysql-proxy/migrator.cjs | 60 + .../drizzle-orm/mysql-proxy/migrator.cjs.map | 1 + .../drizzle-orm/mysql-proxy/migrator.d.cts | 4 + .../drizzle-orm/mysql-proxy/migrator.d.ts | 4 + .../drizzle-orm/mysql-proxy/migrator.js | 36 + .../drizzle-orm/mysql-proxy/migrator.js.map | 1 + .../drizzle-orm/mysql-proxy/session.cjs | 137 + .../drizzle-orm/mysql-proxy/session.cjs.map | 1 + .../drizzle-orm/mysql-proxy/session.d.cts | 60 + .../drizzle-orm/mysql-proxy/session.d.ts | 60 + .../drizzle-orm/mysql-proxy/session.js | 111 + .../drizzle-orm/mysql-proxy/session.js.map | 1 + .../drizzle-orm/mysql2/driver.cjs | 128 + .../drizzle-orm/mysql2/driver.cjs.map | 1 + .../drizzle-orm/mysql2/driver.d.cts | 55 + .../drizzle-orm/mysql2/driver.d.ts | 55 + .../node_modules/drizzle-orm/mysql2/driver.js | 104 + .../drizzle-orm/mysql2/driver.js.map | 1 + .../node_modules/drizzle-orm/mysql2/index.cjs | 25 + .../drizzle-orm/mysql2/index.cjs.map | 1 + .../drizzle-orm/mysql2/index.d.cts | 2 + .../drizzle-orm/mysql2/index.d.ts | 2 + .../node_modules/drizzle-orm/mysql2/index.js | 3 + .../drizzle-orm/mysql2/index.js.map | 1 + .../drizzle-orm/mysql2/migrator.cjs | 33 + .../drizzle-orm/mysql2/migrator.cjs.map | 1 + .../drizzle-orm/mysql2/migrator.d.cts | 3 + .../drizzle-orm/mysql2/migrator.d.ts | 3 + .../drizzle-orm/mysql2/migrator.js | 9 + .../drizzle-orm/mysql2/migrator.js.map | 1 + .../drizzle-orm/mysql2/session.cjs | 272 + .../drizzle-orm/mysql2/session.cjs.map | 1 + .../drizzle-orm/mysql2/session.d.cts | 64 + .../drizzle-orm/mysql2/session.d.ts | 64 + .../drizzle-orm/mysql2/session.js | 250 + .../drizzle-orm/mysql2/session.js.map | 1 + .../drizzle-orm/neon-http/driver.cjs | 158 + .../drizzle-orm/neon-http/driver.cjs.map | 1 + .../drizzle-orm/neon-http/driver.d.cts | 49 + .../drizzle-orm/neon-http/driver.d.ts | 49 + .../drizzle-orm/neon-http/driver.js | 132 + .../drizzle-orm/neon-http/driver.js.map | 1 + .../drizzle-orm/neon-http/index.cjs | 25 + .../drizzle-orm/neon-http/index.cjs.map | 1 + .../drizzle-orm/neon-http/index.d.cts | 2 + .../drizzle-orm/neon-http/index.d.ts | 2 + .../drizzle-orm/neon-http/index.js | 3 + .../drizzle-orm/neon-http/index.js.map | 1 + .../drizzle-orm/neon-http/migrator.cjs | 62 + .../drizzle-orm/neon-http/migrator.cjs.map | 1 + .../drizzle-orm/neon-http/migrator.d.cts | 11 + .../drizzle-orm/neon-http/migrator.d.ts | 11 + .../drizzle-orm/neon-http/migrator.js | 38 + .../drizzle-orm/neon-http/migrator.js.map | 1 + .../drizzle-orm/neon-http/session.cjs | 192 + .../drizzle-orm/neon-http/session.cjs.map | 1 + .../drizzle-orm/neon-http/session.d.cts | 64 + .../drizzle-orm/neon-http/session.d.ts | 64 + .../drizzle-orm/neon-http/session.js | 166 + .../drizzle-orm/neon-http/session.js.map | 1 + .../drizzle-orm/neon-serverless/driver.cjs | 113 + .../neon-serverless/driver.cjs.map | 1 + .../drizzle-orm/neon-serverless/driver.d.cts | 46 + .../drizzle-orm/neon-serverless/driver.d.ts | 46 + .../drizzle-orm/neon-serverless/driver.js | 90 + .../drizzle-orm/neon-serverless/driver.js.map | 1 + .../drizzle-orm/neon-serverless/index.cjs | 25 + .../drizzle-orm/neon-serverless/index.cjs.map | 1 + .../drizzle-orm/neon-serverless/index.d.cts | 2 + .../drizzle-orm/neon-serverless/index.d.ts | 2 + .../drizzle-orm/neon-serverless/index.js | 3 + .../drizzle-orm/neon-serverless/index.js.map | 1 + .../drizzle-orm/neon-serverless/migrator.cjs | 33 + .../neon-serverless/migrator.cjs.map | 1 + .../neon-serverless/migrator.d.cts | 3 + .../drizzle-orm/neon-serverless/migrator.d.ts | 3 + .../drizzle-orm/neon-serverless/migrator.js | 9 + .../neon-serverless/migrator.js.map | 1 + .../drizzle-orm/neon-serverless/session.cjs | 240 + .../neon-serverless/session.cjs.map | 1 + .../drizzle-orm/neon-serverless/session.d.cts | 60 + .../drizzle-orm/neon-serverless/session.d.ts | 60 + .../drizzle-orm/neon-serverless/session.js | 217 + .../neon-serverless/session.js.map | 1 + .../node_modules/drizzle-orm/neon/index.cjs | 25 + .../drizzle-orm/neon/index.cjs.map | 1 + .../node_modules/drizzle-orm/neon/index.d.cts | 2 + .../node_modules/drizzle-orm/neon/index.d.ts | 2 + .../node_modules/drizzle-orm/neon/index.js | 3 + .../drizzle-orm/neon/index.js.map | 1 + .../drizzle-orm/neon/neon-auth.cjs | 39 + .../drizzle-orm/neon/neon-auth.cjs.map | 1 + .../drizzle-orm/neon/neon-auth.d.cts | 133 + .../drizzle-orm/neon/neon-auth.d.ts | 133 + .../drizzle-orm/neon/neon-auth.js | 15 + .../drizzle-orm/neon/neon-auth.js.map | 1 + .../node_modules/drizzle-orm/neon/rls.cjs | 96 + .../node_modules/drizzle-orm/neon/rls.cjs.map | 1 + .../node_modules/drizzle-orm/neon/rls.d.cts | 20 + .../node_modules/drizzle-orm/neon/rls.d.ts | 20 + .../node_modules/drizzle-orm/neon/rls.js | 69 + .../node_modules/drizzle-orm/neon/rls.js.map | 1 + .../drizzle-orm/node-postgres/driver.cjs | 120 + .../drizzle-orm/node-postgres/driver.cjs.map | 1 + .../drizzle-orm/node-postgres/driver.d.cts | 44 + .../drizzle-orm/node-postgres/driver.d.ts | 44 + .../drizzle-orm/node-postgres/driver.js | 87 + .../drizzle-orm/node-postgres/driver.js.map | 1 + .../drizzle-orm/node-postgres/index.cjs | 25 + .../drizzle-orm/node-postgres/index.cjs.map | 1 + .../drizzle-orm/node-postgres/index.d.cts | 2 + .../drizzle-orm/node-postgres/index.d.ts | 2 + .../drizzle-orm/node-postgres/index.js | 3 + .../drizzle-orm/node-postgres/index.js.map | 1 + .../drizzle-orm/node-postgres/migrator.cjs | 33 + .../node-postgres/migrator.cjs.map | 1 + .../drizzle-orm/node-postgres/migrator.d.cts | 3 + .../drizzle-orm/node-postgres/migrator.d.ts | 3 + .../drizzle-orm/node-postgres/migrator.js | 9 + .../drizzle-orm/node-postgres/migrator.js.map | 1 + .../drizzle-orm/node-postgres/session.cjs | 265 + .../drizzle-orm/node-postgres/session.cjs.map | 1 + .../drizzle-orm/node-postgres/session.d.cts | 59 + .../drizzle-orm/node-postgres/session.d.ts | 59 + .../drizzle-orm/node-postgres/session.js | 229 + .../drizzle-orm/node-postgres/session.js.map | 1 + .../drizzle-orm/op-sqlite/driver.cjs | 68 + .../drizzle-orm/op-sqlite/driver.cjs.map | 1 + .../drizzle-orm/op-sqlite/driver.d.cts | 10 + .../drizzle-orm/op-sqlite/driver.d.ts | 10 + .../drizzle-orm/op-sqlite/driver.js | 46 + .../drizzle-orm/op-sqlite/driver.js.map | 1 + .../drizzle-orm/op-sqlite/index.cjs | 25 + .../drizzle-orm/op-sqlite/index.cjs.map | 1 + .../drizzle-orm/op-sqlite/index.d.cts | 2 + .../drizzle-orm/op-sqlite/index.d.ts | 2 + .../drizzle-orm/op-sqlite/index.js | 3 + .../drizzle-orm/op-sqlite/index.js.map | 1 + .../drizzle-orm/op-sqlite/migrator.cjs | 90 + .../drizzle-orm/op-sqlite/migrator.cjs.map | 1 + .../drizzle-orm/op-sqlite/migrator.d.cts | 29 + .../drizzle-orm/op-sqlite/migrator.d.ts | 29 + .../drizzle-orm/op-sqlite/migrator.js | 65 + .../drizzle-orm/op-sqlite/migrator.js.map | 1 + .../drizzle-orm/op-sqlite/session.cjs | 157 + .../drizzle-orm/op-sqlite/session.cjs.map | 1 + .../drizzle-orm/op-sqlite/session.d.cts | 57 + .../drizzle-orm/op-sqlite/session.d.ts | 57 + .../drizzle-orm/op-sqlite/session.js | 134 + .../drizzle-orm/op-sqlite/session.js.map | 1 + .../node_modules/drizzle-orm/operations.cjs | 17 + .../drizzle-orm/operations.cjs.map | 1 + .../node_modules/drizzle-orm/operations.d.cts | 24 + .../node_modules/drizzle-orm/operations.d.ts | 24 + .../node_modules/drizzle-orm/operations.js | 1 + .../drizzle-orm/operations.js.map | 1 + .../node_modules/drizzle-orm/package.json | 5529 +++++++++++++++++ .../drizzle-orm/pg-core/alias.cjs | 32 + .../drizzle-orm/pg-core/alias.cjs.map | 1 + .../drizzle-orm/pg-core/alias.d.cts | 4 + .../drizzle-orm/pg-core/alias.d.ts | 4 + .../node_modules/drizzle-orm/pg-core/alias.js | 8 + .../drizzle-orm/pg-core/alias.js.map | 1 + .../drizzle-orm/pg-core/checks.cjs | 58 + .../drizzle-orm/pg-core/checks.cjs.map | 1 + .../drizzle-orm/pg-core/checks.d.cts | 18 + .../drizzle-orm/pg-core/checks.d.ts | 18 + .../drizzle-orm/pg-core/checks.js | 32 + .../drizzle-orm/pg-core/checks.js.map | 1 + .../drizzle-orm/pg-core/columns/all.cjs | 96 + .../drizzle-orm/pg-core/columns/all.cjs.map | 1 + .../drizzle-orm/pg-core/columns/all.d.cts | 67 + .../drizzle-orm/pg-core/columns/all.d.ts | 67 + .../drizzle-orm/pg-core/columns/all.js | 72 + .../drizzle-orm/pg-core/columns/all.js.map | 1 + .../drizzle-orm/pg-core/columns/bigint.cjs | 92 + .../pg-core/columns/bigint.cjs.map | 1 + .../drizzle-orm/pg-core/columns/bigint.d.cts | 44 + .../drizzle-orm/pg-core/columns/bigint.d.ts | 44 + .../drizzle-orm/pg-core/columns/bigint.js | 64 + .../drizzle-orm/pg-core/columns/bigint.js.map | 1 + .../drizzle-orm/pg-core/columns/bigserial.cjs | 97 + .../pg-core/columns/bigserial.cjs.map | 1 + .../pg-core/columns/bigserial.d.cts | 43 + .../pg-core/columns/bigserial.d.ts | 43 + .../drizzle-orm/pg-core/columns/bigserial.js | 69 + .../pg-core/columns/bigserial.js.map | 1 + .../drizzle-orm/pg-core/columns/boolean.cjs | 53 + .../pg-core/columns/boolean.cjs.map | 1 + .../drizzle-orm/pg-core/columns/boolean.d.cts | 22 + .../drizzle-orm/pg-core/columns/boolean.d.ts | 22 + .../drizzle-orm/pg-core/columns/boolean.js | 27 + .../pg-core/columns/boolean.js.map | 1 + .../drizzle-orm/pg-core/columns/char.cjs | 62 + .../drizzle-orm/pg-core/columns/char.cjs.map | 1 + .../drizzle-orm/pg-core/columns/char.d.cts | 45 + .../drizzle-orm/pg-core/columns/char.d.ts | 45 + .../drizzle-orm/pg-core/columns/char.js | 36 + .../drizzle-orm/pg-core/columns/char.js.map | 1 + .../drizzle-orm/pg-core/columns/cidr.cjs | 53 + .../drizzle-orm/pg-core/columns/cidr.cjs.map | 1 + .../drizzle-orm/pg-core/columns/cidr.d.cts | 22 + .../drizzle-orm/pg-core/columns/cidr.d.ts | 22 + .../drizzle-orm/pg-core/columns/cidr.js | 27 + .../drizzle-orm/pg-core/columns/cidr.js.map | 1 + .../drizzle-orm/pg-core/columns/common.cjs | 227 + .../pg-core/columns/common.cjs.map | 1 + .../drizzle-orm/pg-core/columns/common.d.cts | 149 + .../drizzle-orm/pg-core/columns/common.d.ts | 149 + .../drizzle-orm/pg-core/columns/common.js | 198 + .../drizzle-orm/pg-core/columns/common.js.map | 1 + .../drizzle-orm/pg-core/columns/custom.cjs | 77 + .../pg-core/columns/custom.cjs.map | 1 + .../drizzle-orm/pg-core/columns/custom.d.cts | 155 + .../drizzle-orm/pg-core/columns/custom.d.ts | 155 + .../drizzle-orm/pg-core/columns/custom.js | 51 + .../drizzle-orm/pg-core/columns/custom.js.map | 1 + .../drizzle-orm/pg-core/columns/date.cjs | 93 + .../drizzle-orm/pg-core/columns/date.cjs.map | 1 + .../pg-core/columns/date.common.cjs | 37 + .../pg-core/columns/date.common.cjs.map | 1 + .../pg-core/columns/date.common.d.cts | 7 + .../pg-core/columns/date.common.d.ts | 7 + .../pg-core/columns/date.common.js | 13 + .../pg-core/columns/date.common.js.map | 1 + .../drizzle-orm/pg-core/columns/date.d.cts | 47 + .../drizzle-orm/pg-core/columns/date.d.ts | 47 + .../drizzle-orm/pg-core/columns/date.js | 65 + .../drizzle-orm/pg-core/columns/date.js.map | 1 + .../pg-core/columns/double-precision.cjs | 62 + .../pg-core/columns/double-precision.cjs.map | 1 + .../pg-core/columns/double-precision.d.cts | 23 + .../pg-core/columns/double-precision.d.ts | 23 + .../pg-core/columns/double-precision.js | 36 + .../pg-core/columns/double-precision.js.map | 1 + .../drizzle-orm/pg-core/columns/enum.cjs | 127 + .../drizzle-orm/pg-core/columns/enum.cjs.map | 1 + .../drizzle-orm/pg-core/columns/enum.d.cts | 83 + .../drizzle-orm/pg-core/columns/enum.d.ts | 83 + .../drizzle-orm/pg-core/columns/enum.js | 96 + .../drizzle-orm/pg-core/columns/enum.js.map | 1 + .../drizzle-orm/pg-core/columns/index.cjs | 91 + .../drizzle-orm/pg-core/columns/index.cjs.map | 1 + .../drizzle-orm/pg-core/columns/index.d.cts | 35 + .../drizzle-orm/pg-core/columns/index.d.ts | 35 + .../drizzle-orm/pg-core/columns/index.js | 36 + .../drizzle-orm/pg-core/columns/index.js.map | 1 + .../drizzle-orm/pg-core/columns/inet.cjs | 53 + .../drizzle-orm/pg-core/columns/inet.cjs.map | 1 + .../drizzle-orm/pg-core/columns/inet.d.cts | 22 + .../drizzle-orm/pg-core/columns/inet.d.ts | 22 + .../drizzle-orm/pg-core/columns/inet.js | 27 + .../drizzle-orm/pg-core/columns/inet.js.map | 1 + .../pg-core/columns/int.common.cjs | 67 + .../pg-core/columns/int.common.cjs.map | 1 + .../pg-core/columns/int.common.d.cts | 15 + .../pg-core/columns/int.common.d.ts | 15 + .../drizzle-orm/pg-core/columns/int.common.js | 43 + .../pg-core/columns/int.common.js.map | 1 + .../drizzle-orm/pg-core/columns/integer.cjs | 60 + .../pg-core/columns/integer.cjs.map | 1 + .../drizzle-orm/pg-core/columns/integer.d.cts | 24 + .../drizzle-orm/pg-core/columns/integer.d.ts | 24 + .../drizzle-orm/pg-core/columns/integer.js | 34 + .../pg-core/columns/integer.js.map | 1 + .../drizzle-orm/pg-core/columns/interval.cjs | 60 + .../pg-core/columns/interval.cjs.map | 1 + .../pg-core/columns/interval.d.cts | 34 + .../drizzle-orm/pg-core/columns/interval.d.ts | 34 + .../drizzle-orm/pg-core/columns/interval.js | 34 + .../pg-core/columns/interval.js.map | 1 + .../drizzle-orm/pg-core/columns/json.cjs | 69 + .../drizzle-orm/pg-core/columns/json.cjs.map | 1 + .../drizzle-orm/pg-core/columns/json.d.cts | 28 + .../drizzle-orm/pg-core/columns/json.d.ts | 28 + .../drizzle-orm/pg-core/columns/json.js | 43 + .../drizzle-orm/pg-core/columns/json.js.map | 1 + .../drizzle-orm/pg-core/columns/jsonb.cjs | 69 + .../drizzle-orm/pg-core/columns/jsonb.cjs.map | 1 + .../drizzle-orm/pg-core/columns/jsonb.d.cts | 28 + .../drizzle-orm/pg-core/columns/jsonb.d.ts | 28 + .../drizzle-orm/pg-core/columns/jsonb.js | 43 + .../drizzle-orm/pg-core/columns/jsonb.js.map | 1 + .../drizzle-orm/pg-core/columns/line.cjs | 98 + .../drizzle-orm/pg-core/columns/line.cjs.map | 1 + .../drizzle-orm/pg-core/columns/line.d.cts | 59 + .../drizzle-orm/pg-core/columns/line.d.ts | 59 + .../drizzle-orm/pg-core/columns/line.js | 70 + .../drizzle-orm/pg-core/columns/line.js.map | 1 + .../drizzle-orm/pg-core/columns/macaddr.cjs | 53 + .../pg-core/columns/macaddr.cjs.map | 1 + .../drizzle-orm/pg-core/columns/macaddr.d.cts | 22 + .../drizzle-orm/pg-core/columns/macaddr.d.ts | 22 + .../drizzle-orm/pg-core/columns/macaddr.js | 27 + .../pg-core/columns/macaddr.js.map | 1 + .../drizzle-orm/pg-core/columns/macaddr8.cjs | 53 + .../pg-core/columns/macaddr8.cjs.map | 1 + .../pg-core/columns/macaddr8.d.cts | 22 + .../drizzle-orm/pg-core/columns/macaddr8.d.ts | 22 + .../drizzle-orm/pg-core/columns/macaddr8.js | 27 + .../pg-core/columns/macaddr8.js.map | 1 + .../drizzle-orm/pg-core/columns/numeric.cjs | 161 + .../pg-core/columns/numeric.cjs.map | 1 + .../drizzle-orm/pg-core/columns/numeric.d.cts | 99 + .../drizzle-orm/pg-core/columns/numeric.d.ts | 99 + .../drizzle-orm/pg-core/columns/numeric.js | 130 + .../pg-core/columns/numeric.js.map | 1 + .../drizzle-orm/pg-core/columns/point.cjs | 104 + .../drizzle-orm/pg-core/columns/point.cjs.map | 1 + .../drizzle-orm/pg-core/columns/point.d.cts | 62 + .../drizzle-orm/pg-core/columns/point.d.ts | 62 + .../drizzle-orm/pg-core/columns/point.js | 76 + .../drizzle-orm/pg-core/columns/point.js.map | 1 + .../columns/postgis_extension/geometry.cjs | 98 + .../postgis_extension/geometry.cjs.map | 1 + .../columns/postgis_extension/geometry.d.cts | 58 + .../columns/postgis_extension/geometry.d.ts | 58 + .../columns/postgis_extension/geometry.js | 70 + .../columns/postgis_extension/geometry.js.map | 1 + .../columns/postgis_extension/utils.cjs | 65 + .../columns/postgis_extension/utils.cjs.map | 1 + .../columns/postgis_extension/utils.d.cts | 1 + .../columns/postgis_extension/utils.d.ts | 1 + .../columns/postgis_extension/utils.js | 41 + .../columns/postgis_extension/utils.js.map | 1 + .../drizzle-orm/pg-core/columns/real.cjs | 63 + .../drizzle-orm/pg-core/columns/real.cjs.map | 1 + .../drizzle-orm/pg-core/columns/real.d.cts | 29 + .../drizzle-orm/pg-core/columns/real.d.ts | 29 + .../drizzle-orm/pg-core/columns/real.js | 37 + .../drizzle-orm/pg-core/columns/real.js.map | 1 + .../drizzle-orm/pg-core/columns/serial.cjs | 55 + .../pg-core/columns/serial.cjs.map | 1 + .../drizzle-orm/pg-core/columns/serial.d.cts | 22 + .../drizzle-orm/pg-core/columns/serial.d.ts | 22 + .../drizzle-orm/pg-core/columns/serial.js | 29 + .../drizzle-orm/pg-core/columns/serial.js.map | 1 + .../drizzle-orm/pg-core/columns/smallint.cjs | 60 + .../pg-core/columns/smallint.cjs.map | 1 + .../pg-core/columns/smallint.d.cts | 24 + .../drizzle-orm/pg-core/columns/smallint.d.ts | 24 + .../drizzle-orm/pg-core/columns/smallint.js | 34 + .../pg-core/columns/smallint.js.map | 1 + .../pg-core/columns/smallserial.cjs | 58 + .../pg-core/columns/smallserial.cjs.map | 1 + .../pg-core/columns/smallserial.d.cts | 22 + .../pg-core/columns/smallserial.d.ts | 22 + .../pg-core/columns/smallserial.js | 32 + .../pg-core/columns/smallserial.js.map | 1 + .../drizzle-orm/pg-core/columns/text.cjs | 57 + .../drizzle-orm/pg-core/columns/text.cjs.map | 1 + .../drizzle-orm/pg-core/columns/text.d.cts | 32 + .../drizzle-orm/pg-core/columns/text.d.ts | 32 + .../drizzle-orm/pg-core/columns/text.js | 31 + .../drizzle-orm/pg-core/columns/text.js.map | 1 + .../drizzle-orm/pg-core/columns/time.cjs | 68 + .../drizzle-orm/pg-core/columns/time.cjs.map | 1 + .../drizzle-orm/pg-core/columns/time.d.cts | 40 + .../drizzle-orm/pg-core/columns/time.d.ts | 40 + .../drizzle-orm/pg-core/columns/time.js | 42 + .../drizzle-orm/pg-core/columns/time.js.map | 1 + .../drizzle-orm/pg-core/columns/timestamp.cjs | 119 + .../pg-core/columns/timestamp.cjs.map | 1 + .../pg-core/columns/timestamp.d.cts | 67 + .../pg-core/columns/timestamp.d.ts | 67 + .../drizzle-orm/pg-core/columns/timestamp.js | 91 + .../pg-core/columns/timestamp.js.map | 1 + .../drizzle-orm/pg-core/columns/uuid.cjs | 60 + .../drizzle-orm/pg-core/columns/uuid.cjs.map | 1 + .../drizzle-orm/pg-core/columns/uuid.d.cts | 26 + .../drizzle-orm/pg-core/columns/uuid.d.ts | 26 + .../drizzle-orm/pg-core/columns/uuid.js | 34 + .../drizzle-orm/pg-core/columns/uuid.js.map | 1 + .../drizzle-orm/pg-core/columns/varchar.cjs | 62 + .../pg-core/columns/varchar.cjs.map | 1 + .../drizzle-orm/pg-core/columns/varchar.d.cts | 45 + .../drizzle-orm/pg-core/columns/varchar.d.ts | 45 + .../drizzle-orm/pg-core/columns/varchar.js | 36 + .../pg-core/columns/varchar.js.map | 1 + .../pg-core/columns/vector_extension/bit.cjs | 60 + .../columns/vector_extension/bit.cjs.map | 1 + .../columns/vector_extension/bit.d.cts | 37 + .../pg-core/columns/vector_extension/bit.d.ts | 37 + .../pg-core/columns/vector_extension/bit.js | 34 + .../columns/vector_extension/bit.js.map | 1 + .../columns/vector_extension/halfvec.cjs | 66 + .../columns/vector_extension/halfvec.cjs.map | 1 + .../columns/vector_extension/halfvec.d.cts | 41 + .../columns/vector_extension/halfvec.d.ts | 41 + .../columns/vector_extension/halfvec.js | 40 + .../columns/vector_extension/halfvec.js.map | 1 + .../columns/vector_extension/sparsevec.cjs | 60 + .../vector_extension/sparsevec.cjs.map | 1 + .../columns/vector_extension/sparsevec.d.cts | 30 + .../columns/vector_extension/sparsevec.d.ts | 30 + .../columns/vector_extension/sparsevec.js | 34 + .../columns/vector_extension/sparsevec.js.map | 1 + .../columns/vector_extension/vector.cjs | 66 + .../columns/vector_extension/vector.cjs.map | 1 + .../columns/vector_extension/vector.d.cts | 41 + .../columns/vector_extension/vector.d.ts | 41 + .../columns/vector_extension/vector.js | 40 + .../columns/vector_extension/vector.js.map | 1 + .../node_modules/drizzle-orm/pg-core/db.cjs | 350 ++ .../drizzle-orm/pg-core/db.cjs.map | 1 + .../node_modules/drizzle-orm/pg-core/db.d.cts | 287 + .../node_modules/drizzle-orm/pg-core/db.d.ts | 287 + .../node_modules/drizzle-orm/pg-core/db.js | 331 + .../drizzle-orm/pg-core/db.js.map | 1 + .../drizzle-orm/pg-core/dialect.cjs | 1146 ++++ .../drizzle-orm/pg-core/dialect.cjs.map | 1 + .../drizzle-orm/pg-core/dialect.d.cts | 65 + .../drizzle-orm/pg-core/dialect.d.ts | 65 + .../drizzle-orm/pg-core/dialect.js | 1143 ++++ .../drizzle-orm/pg-core/dialect.js.map | 1 + .../drizzle-orm/pg-core/expressions.cjs | 49 + .../drizzle-orm/pg-core/expressions.cjs.map | 1 + .../drizzle-orm/pg-core/expressions.d.cts | 8 + .../drizzle-orm/pg-core/expressions.d.ts | 8 + .../drizzle-orm/pg-core/expressions.js | 22 + .../drizzle-orm/pg-core/expressions.js.map | 1 + .../drizzle-orm/pg-core/foreign-keys.cjs | 100 + .../drizzle-orm/pg-core/foreign-keys.cjs.map | 1 + .../drizzle-orm/pg-core/foreign-keys.d.cts | 48 + .../drizzle-orm/pg-core/foreign-keys.d.ts | 48 + .../drizzle-orm/pg-core/foreign-keys.js | 74 + .../drizzle-orm/pg-core/foreign-keys.js.map | 1 + .../drizzle-orm/pg-core/index.cjs | 63 + .../drizzle-orm/pg-core/index.cjs.map | 1 + .../drizzle-orm/pg-core/index.d.cts | 21 + .../drizzle-orm/pg-core/index.d.ts | 21 + .../node_modules/drizzle-orm/pg-core/index.js | 22 + .../drizzle-orm/pg-core/index.js.map | 1 + .../drizzle-orm/pg-core/indexes.cjs | 149 + .../drizzle-orm/pg-core/indexes.cjs.map | 1 + .../drizzle-orm/pg-core/indexes.d.cts | 79 + .../drizzle-orm/pg-core/indexes.d.ts | 79 + .../drizzle-orm/pg-core/indexes.js | 121 + .../drizzle-orm/pg-core/indexes.js.map | 1 + .../drizzle-orm/pg-core/policies.cjs | 58 + .../drizzle-orm/pg-core/policies.cjs.map | 1 + .../drizzle-orm/pg-core/policies.d.cts | 24 + .../drizzle-orm/pg-core/policies.d.ts | 24 + .../drizzle-orm/pg-core/policies.js | 33 + .../drizzle-orm/pg-core/policies.js.map | 1 + .../drizzle-orm/pg-core/primary-keys.cjs | 68 + .../drizzle-orm/pg-core/primary-keys.cjs.map | 1 + .../drizzle-orm/pg-core/primary-keys.d.cts | 30 + .../drizzle-orm/pg-core/primary-keys.d.ts | 30 + .../drizzle-orm/pg-core/primary-keys.js | 42 + .../drizzle-orm/pg-core/primary-keys.js.map | 1 + .../pg-core/query-builders/count.cjs | 79 + .../pg-core/query-builders/count.cjs.map | 1 + .../pg-core/query-builders/count.d.cts | 29 + .../pg-core/query-builders/count.d.ts | 29 + .../pg-core/query-builders/count.js | 55 + .../pg-core/query-builders/count.js.map | 1 + .../pg-core/query-builders/delete.cjs | 129 + .../pg-core/query-builders/delete.cjs.map | 1 + .../pg-core/query-builders/delete.d.cts | 105 + .../pg-core/query-builders/delete.d.ts | 105 + .../pg-core/query-builders/delete.js | 105 + .../pg-core/query-builders/delete.js.map | 1 + .../pg-core/query-builders/index.cjs | 35 + .../pg-core/query-builders/index.cjs.map | 1 + .../pg-core/query-builders/index.d.cts | 7 + .../pg-core/query-builders/index.d.ts | 7 + .../pg-core/query-builders/index.js | 8 + .../pg-core/query-builders/index.js.map | 1 + .../pg-core/query-builders/insert.cjs | 230 + .../pg-core/query-builders/insert.cjs.map | 1 + .../pg-core/query-builders/insert.d.cts | 177 + .../pg-core/query-builders/insert.d.ts | 177 + .../pg-core/query-builders/insert.js | 205 + .../pg-core/query-builders/insert.js.map | 1 + .../pg-core/query-builders/query-builder.cjs | 118 + .../query-builders/query-builder.cjs.map | 1 + .../query-builders/query-builder.d.cts | 37 + .../pg-core/query-builders/query-builder.d.ts | 37 + .../pg-core/query-builders/query-builder.js | 94 + .../query-builders/query-builder.js.map | 1 + .../pg-core/query-builders/query.cjs | 145 + .../pg-core/query-builders/query.cjs.map | 1 + .../pg-core/query-builders/query.d.cts | 47 + .../pg-core/query-builders/query.d.ts | 47 + .../pg-core/query-builders/query.js | 122 + .../pg-core/query-builders/query.js.map | 1 + .../pg-core/query-builders/raw.cjs | 57 + .../pg-core/query-builders/raw.cjs.map | 1 + .../pg-core/query-builders/raw.d.cts | 22 + .../pg-core/query-builders/raw.d.ts | 22 + .../drizzle-orm/pg-core/query-builders/raw.js | 33 + .../pg-core/query-builders/raw.js.map | 1 + .../refresh-materialized-view.cjs | 83 + .../refresh-materialized-view.cjs.map | 1 + .../refresh-materialized-view.d.cts | 28 + .../refresh-materialized-view.d.ts | 28 + .../refresh-materialized-view.js | 59 + .../refresh-materialized-view.js.map | 1 + .../pg-core/query-builders/select.cjs | 871 +++ .../pg-core/query-builders/select.cjs.map | 1 + .../pg-core/query-builders/select.d.cts | 796 +++ .../pg-core/query-builders/select.d.ts | 796 +++ .../pg-core/query-builders/select.js | 844 +++ .../pg-core/query-builders/select.js.map | 1 + .../pg-core/query-builders/select.types.cjs | 17 + .../query-builders/select.types.cjs.map | 1 + .../pg-core/query-builders/select.types.d.cts | 140 + .../pg-core/query-builders/select.types.d.ts | 140 + .../pg-core/query-builders/select.types.js | 1 + .../query-builders/select.types.js.map | 1 + .../pg-core/query-builders/update.cjs | 250 + .../pg-core/query-builders/update.cjs.map | 1 + .../pg-core/query-builders/update.d.cts | 174 + .../pg-core/query-builders/update.d.ts | 174 + .../pg-core/query-builders/update.js | 229 + .../pg-core/query-builders/update.js.map | 1 + .../drizzle-orm/pg-core/roles.cjs | 57 + .../drizzle-orm/pg-core/roles.cjs.map | 1 + .../drizzle-orm/pg-core/roles.d.cts | 13 + .../drizzle-orm/pg-core/roles.d.ts | 13 + .../node_modules/drizzle-orm/pg-core/roles.js | 32 + .../drizzle-orm/pg-core/roles.js.map | 1 + .../drizzle-orm/pg-core/schema.cjs | 80 + .../drizzle-orm/pg-core/schema.cjs.map | 1 + .../drizzle-orm/pg-core/schema.d.cts | 22 + .../drizzle-orm/pg-core/schema.d.ts | 22 + .../drizzle-orm/pg-core/schema.js | 54 + .../drizzle-orm/pg-core/schema.js.map | 1 + .../drizzle-orm/pg-core/sequence.cjs | 52 + .../drizzle-orm/pg-core/sequence.cjs.map | 1 + .../drizzle-orm/pg-core/sequence.d.cts | 18 + .../drizzle-orm/pg-core/sequence.d.ts | 18 + .../drizzle-orm/pg-core/sequence.js | 25 + .../drizzle-orm/pg-core/sequence.js.map | 1 + .../drizzle-orm/pg-core/session.cjs | 196 + .../drizzle-orm/pg-core/session.cjs.map | 1 + .../drizzle-orm/pg-core/session.d.cts | 73 + .../drizzle-orm/pg-core/session.d.ts | 73 + .../drizzle-orm/pg-core/session.js | 170 + .../drizzle-orm/pg-core/session.js.map | 1 + .../drizzle-orm/pg-core/subquery.cjs | 17 + .../drizzle-orm/pg-core/subquery.cjs.map | 1 + .../drizzle-orm/pg-core/subquery.d.cts | 18 + .../drizzle-orm/pg-core/subquery.d.ts | 18 + .../drizzle-orm/pg-core/subquery.js | 1 + .../drizzle-orm/pg-core/subquery.js.map | 1 + .../drizzle-orm/pg-core/table.cjs | 100 + .../drizzle-orm/pg-core/table.cjs.map | 1 + .../drizzle-orm/pg-core/table.d.cts | 95 + .../drizzle-orm/pg-core/table.d.ts | 95 + .../node_modules/drizzle-orm/pg-core/table.js | 71 + .../drizzle-orm/pg-core/table.js.map | 1 + .../drizzle-orm/pg-core/unique-constraint.cjs | 89 + .../pg-core/unique-constraint.cjs.map | 1 + .../pg-core/unique-constraint.d.cts | 25 + .../pg-core/unique-constraint.d.ts | 25 + .../drizzle-orm/pg-core/unique-constraint.js | 61 + .../pg-core/unique-constraint.js.map | 1 + .../drizzle-orm/pg-core/utils.cjs | 116 + .../drizzle-orm/pg-core/utils.cjs.map | 1 + .../drizzle-orm/pg-core/utils.d.cts | 55 + .../drizzle-orm/pg-core/utils.d.ts | 55 + .../node_modules/drizzle-orm/pg-core/utils.js | 89 + .../drizzle-orm/pg-core/utils.js.map | 1 + .../drizzle-orm/pg-core/utils/array.cjs | 106 + .../drizzle-orm/pg-core/utils/array.cjs.map | 1 + .../drizzle-orm/pg-core/utils/array.d.cts | 3 + .../drizzle-orm/pg-core/utils/array.d.ts | 3 + .../drizzle-orm/pg-core/utils/array.js | 80 + .../drizzle-orm/pg-core/utils/array.js.map | 1 + .../drizzle-orm/pg-core/utils/index.cjs | 23 + .../drizzle-orm/pg-core/utils/index.cjs.map | 1 + .../drizzle-orm/pg-core/utils/index.d.cts | 1 + .../drizzle-orm/pg-core/utils/index.d.ts | 1 + .../drizzle-orm/pg-core/utils/index.js | 2 + .../drizzle-orm/pg-core/utils/index.js.map | 1 + .../drizzle-orm/pg-core/view-base.cjs | 33 + .../drizzle-orm/pg-core/view-base.cjs.map | 1 + .../drizzle-orm/pg-core/view-base.d.cts | 8 + .../drizzle-orm/pg-core/view-base.d.ts | 8 + .../drizzle-orm/pg-core/view-base.js | 9 + .../drizzle-orm/pg-core/view-base.js.map | 1 + .../drizzle-orm/pg-core/view-common.cjs | 29 + .../drizzle-orm/pg-core/view-common.cjs.map | 1 + .../drizzle-orm/pg-core/view-common.d.cts | 1 + .../drizzle-orm/pg-core/view-common.d.ts | 1 + .../drizzle-orm/pg-core/view-common.js | 5 + .../drizzle-orm/pg-core/view-common.js.map | 1 + .../node_modules/drizzle-orm/pg-core/view.cjs | 310 + .../drizzle-orm/pg-core/view.cjs.map | 1 + .../drizzle-orm/pg-core/view.d.cts | 156 + .../drizzle-orm/pg-core/view.d.ts | 156 + .../node_modules/drizzle-orm/pg-core/view.js | 272 + .../drizzle-orm/pg-core/view.js.map | 1 + .../drizzle-orm/pg-proxy/driver.cjs | 67 + .../drizzle-orm/pg-proxy/driver.cjs.map | 1 + .../drizzle-orm/pg-proxy/driver.d.cts | 12 + .../drizzle-orm/pg-proxy/driver.d.ts | 12 + .../drizzle-orm/pg-proxy/driver.js | 45 + .../drizzle-orm/pg-proxy/driver.js.map | 1 + .../drizzle-orm/pg-proxy/index.cjs | 25 + .../drizzle-orm/pg-proxy/index.cjs.map | 1 + .../drizzle-orm/pg-proxy/index.d.cts | 2 + .../drizzle-orm/pg-proxy/index.d.ts | 2 + .../drizzle-orm/pg-proxy/index.js | 3 + .../drizzle-orm/pg-proxy/index.js.map | 1 + .../drizzle-orm/pg-proxy/migrator.cjs | 56 + .../drizzle-orm/pg-proxy/migrator.cjs.map | 1 + .../drizzle-orm/pg-proxy/migrator.d.cts | 4 + .../drizzle-orm/pg-proxy/migrator.d.ts | 4 + .../drizzle-orm/pg-proxy/migrator.js | 32 + .../drizzle-orm/pg-proxy/migrator.js.map | 1 + .../drizzle-orm/pg-proxy/session.cjs | 128 + .../drizzle-orm/pg-proxy/session.cjs.map | 1 + .../drizzle-orm/pg-proxy/session.d.cts | 56 + .../drizzle-orm/pg-proxy/session.d.ts | 56 + .../drizzle-orm/pg-proxy/session.js | 102 + .../drizzle-orm/pg-proxy/session.js.map | 1 + .../drizzle-orm/pglite/driver.cjs | 111 + .../drizzle-orm/pglite/driver.cjs.map | 1 + .../drizzle-orm/pglite/driver.d.cts | 46 + .../drizzle-orm/pglite/driver.d.ts | 46 + .../node_modules/drizzle-orm/pglite/driver.js | 88 + .../drizzle-orm/pglite/driver.js.map | 1 + .../node_modules/drizzle-orm/pglite/index.cjs | 25 + .../drizzle-orm/pglite/index.cjs.map | 1 + .../drizzle-orm/pglite/index.d.cts | 2 + .../drizzle-orm/pglite/index.d.ts | 2 + .../node_modules/drizzle-orm/pglite/index.js | 3 + .../drizzle-orm/pglite/index.js.map | 1 + .../drizzle-orm/pglite/migrator.cjs | 33 + .../drizzle-orm/pglite/migrator.cjs.map | 1 + .../drizzle-orm/pglite/migrator.d.cts | 3 + .../drizzle-orm/pglite/migrator.d.ts | 3 + .../drizzle-orm/pglite/migrator.js | 9 + .../drizzle-orm/pglite/migrator.js.map | 1 + .../drizzle-orm/pglite/session.cjs | 188 + .../drizzle-orm/pglite/session.cjs.map | 1 + .../drizzle-orm/pglite/session.d.cts | 58 + .../drizzle-orm/pglite/session.d.ts | 58 + .../drizzle-orm/pglite/session.js | 162 + .../drizzle-orm/pglite/session.js.map | 1 + .../planetscale-serverless/driver.cjs | 109 + .../planetscale-serverless/driver.cjs.map | 1 + .../planetscale-serverless/driver.d.cts | 33 + .../planetscale-serverless/driver.d.ts | 33 + .../planetscale-serverless/driver.js | 87 + .../planetscale-serverless/driver.js.map | 1 + .../planetscale-serverless/index.cjs | 25 + .../planetscale-serverless/index.cjs.map | 1 + .../planetscale-serverless/index.d.cts | 2 + .../planetscale-serverless/index.d.ts | 2 + .../planetscale-serverless/index.js | 3 + .../planetscale-serverless/index.js.map | 1 + .../planetscale-serverless/migrator.cjs | 33 + .../planetscale-serverless/migrator.cjs.map | 1 + .../planetscale-serverless/migrator.d.cts | 3 + .../planetscale-serverless/migrator.d.ts | 3 + .../planetscale-serverless/migrator.js | 9 + .../planetscale-serverless/migrator.js.map | 1 + .../planetscale-serverless/session.cjs | 190 + .../planetscale-serverless/session.cjs.map | 1 + .../planetscale-serverless/session.d.cts | 64 + .../planetscale-serverless/session.d.ts | 64 + .../planetscale-serverless/session.js | 168 + .../planetscale-serverless/session.js.map | 1 + .../drizzle-orm/postgres-js/driver.cjs | 116 + .../drizzle-orm/postgres-js/driver.cjs.map | 1 + .../drizzle-orm/postgres-js/driver.d.cts | 29 + .../drizzle-orm/postgres-js/driver.d.ts | 29 + .../drizzle-orm/postgres-js/driver.js | 84 + .../drizzle-orm/postgres-js/driver.js.map | 1 + .../drizzle-orm/postgres-js/index.cjs | 25 + .../drizzle-orm/postgres-js/index.cjs.map | 1 + .../drizzle-orm/postgres-js/index.d.cts | 2 + .../drizzle-orm/postgres-js/index.d.ts | 2 + .../drizzle-orm/postgres-js/index.js | 3 + .../drizzle-orm/postgres-js/index.js.map | 1 + .../drizzle-orm/postgres-js/migrator.cjs | 33 + .../drizzle-orm/postgres-js/migrator.cjs.map | 1 + .../drizzle-orm/postgres-js/migrator.d.cts | 3 + .../drizzle-orm/postgres-js/migrator.d.ts | 3 + .../drizzle-orm/postgres-js/migrator.js | 9 + .../drizzle-orm/postgres-js/migrator.js.map | 1 + .../drizzle-orm/postgres-js/session.cjs | 174 + .../drizzle-orm/postgres-js/session.cjs.map | 1 + .../drizzle-orm/postgres-js/session.d.cts | 60 + .../drizzle-orm/postgres-js/session.d.ts | 60 + .../drizzle-orm/postgres-js/session.js | 148 + .../drizzle-orm/postgres-js/session.js.map | 1 + .../node_modules/drizzle-orm/primary-key.cjs | 36 + .../drizzle-orm/primary-key.cjs.map | 1 + .../drizzle-orm/primary-key.d.cts | 10 + .../node_modules/drizzle-orm/primary-key.d.ts | 10 + .../node_modules/drizzle-orm/primary-key.js | 12 + .../drizzle-orm/primary-key.js.map | 1 + .../drizzle-orm/prisma/mysql/driver.cjs | 58 + .../drizzle-orm/prisma/mysql/driver.cjs.map | 1 + .../drizzle-orm/prisma/mysql/driver.d.cts | 23 + .../drizzle-orm/prisma/mysql/driver.d.ts | 23 + .../drizzle-orm/prisma/mysql/driver.js | 33 + .../drizzle-orm/prisma/mysql/driver.js.map | 1 + .../drizzle-orm/prisma/mysql/index.cjs | 25 + .../drizzle-orm/prisma/mysql/index.cjs.map | 1 + .../drizzle-orm/prisma/mysql/index.d.cts | 2 + .../drizzle-orm/prisma/mysql/index.d.ts | 2 + .../drizzle-orm/prisma/mysql/index.js | 3 + .../drizzle-orm/prisma/mysql/index.js.map | 1 + .../drizzle-orm/prisma/mysql/session.cjs | 73 + .../drizzle-orm/prisma/mysql/session.cjs.map | 1 + .../drizzle-orm/prisma/mysql/session.d.cts | 38 + .../drizzle-orm/prisma/mysql/session.d.ts | 38 + .../drizzle-orm/prisma/mysql/session.js | 48 + .../drizzle-orm/prisma/mysql/session.js.map | 1 + .../drizzle-orm/prisma/pg/driver.cjs | 58 + .../drizzle-orm/prisma/pg/driver.cjs.map | 1 + .../drizzle-orm/prisma/pg/driver.d.cts | 23 + .../drizzle-orm/prisma/pg/driver.d.ts | 23 + .../drizzle-orm/prisma/pg/driver.js | 33 + .../drizzle-orm/prisma/pg/driver.js.map | 1 + .../drizzle-orm/prisma/pg/index.cjs | 25 + .../drizzle-orm/prisma/pg/index.cjs.map | 1 + .../drizzle-orm/prisma/pg/index.d.cts | 2 + .../drizzle-orm/prisma/pg/index.d.ts | 2 + .../drizzle-orm/prisma/pg/index.js | 3 + .../drizzle-orm/prisma/pg/index.js.map | 1 + .../drizzle-orm/prisma/pg/session.cjs | 72 + .../drizzle-orm/prisma/pg/session.cjs.map | 1 + .../drizzle-orm/prisma/pg/session.d.cts | 33 + .../drizzle-orm/prisma/pg/session.d.ts | 33 + .../drizzle-orm/prisma/pg/session.js | 47 + .../drizzle-orm/prisma/pg/session.js.map | 1 + .../drizzle-orm/prisma/sqlite/driver.cjs | 50 + .../drizzle-orm/prisma/sqlite/driver.cjs.map | 1 + .../drizzle-orm/prisma/sqlite/driver.d.cts | 16 + .../drizzle-orm/prisma/sqlite/driver.d.ts | 16 + .../drizzle-orm/prisma/sqlite/driver.js | 26 + .../drizzle-orm/prisma/sqlite/driver.js.map | 1 + .../drizzle-orm/prisma/sqlite/index.cjs | 25 + .../drizzle-orm/prisma/sqlite/index.cjs.map | 1 + .../drizzle-orm/prisma/sqlite/index.d.cts | 2 + .../drizzle-orm/prisma/sqlite/index.d.ts | 2 + .../drizzle-orm/prisma/sqlite/index.js | 3 + .../drizzle-orm/prisma/sqlite/index.js.map | 1 + .../drizzle-orm/prisma/sqlite/session.cjs | 76 + .../drizzle-orm/prisma/sqlite/session.cjs.map | 1 + .../drizzle-orm/prisma/sqlite/session.d.cts | 37 + .../drizzle-orm/prisma/sqlite/session.d.ts | 37 + .../drizzle-orm/prisma/sqlite/session.js | 51 + .../drizzle-orm/prisma/sqlite/session.js.map | 1 + .../query-builders/query-builder.cjs | 36 + .../query-builders/query-builder.cjs.map | 1 + .../query-builders/query-builder.d.cts | 11 + .../query-builders/query-builder.d.ts | 11 + .../query-builders/query-builder.js | 12 + .../query-builders/query-builder.js.map | 1 + .../query-builders/select.types.cjs | 17 + .../query-builders/select.types.cjs.map | 1 + .../query-builders/select.types.d.cts | 58 + .../query-builders/select.types.d.ts | 58 + .../query-builders/select.types.js | 1 + .../query-builders/select.types.js.map | 1 + .../drizzle-orm/query-promise.cjs | 51 + .../drizzle-orm/query-promise.cjs.map | 1 + .../drizzle-orm/query-promise.d.cts | 9 + .../drizzle-orm/query-promise.d.ts | 9 + .../node_modules/drizzle-orm/query-promise.js | 27 + .../drizzle-orm/query-promise.js.map | 1 + .../node_modules/drizzle-orm/relations.cjs | 328 + .../drizzle-orm/relations.cjs.map | 1 + .../node_modules/drizzle-orm/relations.d.cts | 215 + .../node_modules/drizzle-orm/relations.d.ts | 215 + .../node_modules/drizzle-orm/relations.js | 316 + .../node_modules/drizzle-orm/relations.js.map | 1 + .../drizzle-orm/runnable-query.cjs | 17 + .../drizzle-orm/runnable-query.cjs.map | 1 + .../drizzle-orm/runnable-query.d.cts | 7 + .../drizzle-orm/runnable-query.d.ts | 7 + .../drizzle-orm/runnable-query.js | 1 + .../drizzle-orm/runnable-query.js.map | 1 + .../drizzle-orm/selection-proxy.cjs | 100 + .../drizzle-orm/selection-proxy.cjs.map | 1 + .../drizzle-orm/selection-proxy.d.cts | 9 + .../drizzle-orm/selection-proxy.d.ts | 9 + .../drizzle-orm/selection-proxy.js | 76 + .../drizzle-orm/selection-proxy.js.map | 1 + .../node_modules/drizzle-orm/session.cjs | 17 + .../node_modules/drizzle-orm/session.cjs.map | 1 + .../node_modules/drizzle-orm/session.d.cts | 5 + .../node_modules/drizzle-orm/session.d.ts | 5 + .../node_modules/drizzle-orm/session.js | 1 + .../node_modules/drizzle-orm/session.js.map | 1 + .../drizzle-orm/singlestore-core/alias.cjs | 32 + .../singlestore-core/alias.cjs.map | 1 + .../drizzle-orm/singlestore-core/alias.d.cts | 4 + .../drizzle-orm/singlestore-core/alias.d.ts | 4 + .../drizzle-orm/singlestore-core/alias.js | 8 + .../drizzle-orm/singlestore-core/alias.js.map | 1 + .../singlestore-core/columns/all.cjs | 85 + .../singlestore-core/columns/all.cjs.map | 1 + .../singlestore-core/columns/all.d.cts | 56 + .../singlestore-core/columns/all.d.ts | 56 + .../singlestore-core/columns/all.js | 61 + .../singlestore-core/columns/all.js.map | 1 + .../singlestore-core/columns/bigint.cjs | 96 + .../singlestore-core/columns/bigint.cjs.map | 1 + .../singlestore-core/columns/bigint.d.cts | 53 + .../singlestore-core/columns/bigint.d.ts | 53 + .../singlestore-core/columns/bigint.js | 68 + .../singlestore-core/columns/bigint.js.map | 1 + .../singlestore-core/columns/binary.cjs | 69 + .../singlestore-core/columns/binary.cjs.map | 1 + .../singlestore-core/columns/binary.d.cts | 29 + .../singlestore-core/columns/binary.d.ts | 29 + .../singlestore-core/columns/binary.js | 43 + .../singlestore-core/columns/binary.js.map | 1 + .../singlestore-core/columns/boolean.cjs | 62 + .../singlestore-core/columns/boolean.cjs.map | 1 + .../singlestore-core/columns/boolean.d.cts | 24 + .../singlestore-core/columns/boolean.d.ts | 24 + .../singlestore-core/columns/boolean.js | 36 + .../singlestore-core/columns/boolean.js.map | 1 + .../singlestore-core/columns/char.cjs | 62 + .../singlestore-core/columns/char.cjs.map | 1 + .../singlestore-core/columns/char.d.cts | 40 + .../singlestore-core/columns/char.d.ts | 40 + .../singlestore-core/columns/char.js | 36 + .../singlestore-core/columns/char.js.map | 1 + .../singlestore-core/columns/common.cjs | 82 + .../singlestore-core/columns/common.cjs.map | 1 + .../singlestore-core/columns/common.d.cts | 42 + .../singlestore-core/columns/common.d.ts | 42 + .../singlestore-core/columns/common.js | 55 + .../singlestore-core/columns/common.js.map | 1 + .../singlestore-core/columns/custom.cjs | 77 + .../singlestore-core/columns/custom.cjs.map | 1 + .../singlestore-core/columns/custom.d.cts | 156 + .../singlestore-core/columns/custom.d.ts | 156 + .../singlestore-core/columns/custom.js | 51 + .../singlestore-core/columns/custom.js.map | 1 + .../singlestore-core/columns/date.cjs | 93 + .../singlestore-core/columns/date.cjs.map | 1 + .../singlestore-core/columns/date.common.cjs | 48 + .../columns/date.common.cjs.map | 1 + .../columns/date.common.d.cts | 16 + .../singlestore-core/columns/date.common.d.ts | 16 + .../singlestore-core/columns/date.common.js | 23 + .../columns/date.common.js.map | 1 + .../singlestore-core/columns/date.d.cts | 53 + .../singlestore-core/columns/date.d.ts | 53 + .../singlestore-core/columns/date.js | 65 + .../singlestore-core/columns/date.js.map | 1 + .../singlestore-core/columns/datetime.cjs | 106 + .../singlestore-core/columns/datetime.cjs.map | 1 + .../singlestore-core/columns/datetime.d.cts | 54 + .../singlestore-core/columns/datetime.d.ts | 54 + .../singlestore-core/columns/datetime.js | 78 + .../singlestore-core/columns/datetime.js.map | 1 + .../singlestore-core/columns/decimal.cjs | 161 + .../singlestore-core/columns/decimal.cjs.map | 1 + .../singlestore-core/columns/decimal.d.cts | 79 + .../singlestore-core/columns/decimal.d.ts | 79 + .../singlestore-core/columns/decimal.js | 131 + .../singlestore-core/columns/decimal.js.map | 1 + .../singlestore-core/columns/double.cjs | 72 + .../singlestore-core/columns/double.cjs.map | 1 + .../singlestore-core/columns/double.d.cts | 32 + .../singlestore-core/columns/double.d.ts | 32 + .../singlestore-core/columns/double.js | 46 + .../singlestore-core/columns/double.js.map | 1 + .../singlestore-core/columns/enum.cjs | 67 + .../singlestore-core/columns/enum.cjs.map | 1 + .../singlestore-core/columns/enum.d.cts | 31 + .../singlestore-core/columns/enum.d.ts | 31 + .../singlestore-core/columns/enum.js | 41 + .../singlestore-core/columns/enum.js.map | 1 + .../singlestore-core/columns/float.cjs | 72 + .../singlestore-core/columns/float.cjs.map | 1 + .../singlestore-core/columns/float.d.cts | 32 + .../singlestore-core/columns/float.d.ts | 32 + .../singlestore-core/columns/float.js | 46 + .../singlestore-core/columns/float.js.map | 1 + .../singlestore-core/columns/index.cjs | 73 + .../singlestore-core/columns/index.cjs.map | 1 + .../singlestore-core/columns/index.d.cts | 26 + .../singlestore-core/columns/index.d.ts | 26 + .../singlestore-core/columns/index.js | 27 + .../singlestore-core/columns/index.js.map | 1 + .../singlestore-core/columns/int.cjs | 65 + .../singlestore-core/columns/int.cjs.map | 1 + .../singlestore-core/columns/int.d.cts | 28 + .../singlestore-core/columns/int.d.ts | 28 + .../singlestore-core/columns/int.js | 39 + .../singlestore-core/columns/int.js.map | 1 + .../singlestore-core/columns/json.cjs | 59 + .../singlestore-core/columns/json.cjs.map | 1 + .../singlestore-core/columns/json.d.cts | 24 + .../singlestore-core/columns/json.d.ts | 24 + .../singlestore-core/columns/json.js | 33 + .../singlestore-core/columns/json.js.map | 1 + .../singlestore-core/columns/mediumint.cjs | 65 + .../columns/mediumint.cjs.map | 1 + .../singlestore-core/columns/mediumint.d.cts | 26 + .../singlestore-core/columns/mediumint.d.ts | 26 + .../singlestore-core/columns/mediumint.js | 39 + .../singlestore-core/columns/mediumint.js.map | 1 + .../singlestore-core/columns/real.cjs | 68 + .../singlestore-core/columns/real.cjs.map | 1 + .../singlestore-core/columns/real.d.cts | 30 + .../singlestore-core/columns/real.d.ts | 30 + .../singlestore-core/columns/real.js | 42 + .../singlestore-core/columns/real.js.map | 1 + .../singlestore-core/columns/serial.cjs | 64 + .../singlestore-core/columns/serial.cjs.map | 1 + .../singlestore-core/columns/serial.d.cts | 24 + .../singlestore-core/columns/serial.d.ts | 24 + .../singlestore-core/columns/serial.js | 38 + .../singlestore-core/columns/serial.js.map | 1 + .../singlestore-core/columns/smallint.cjs | 65 + .../singlestore-core/columns/smallint.cjs.map | 1 + .../singlestore-core/columns/smallint.d.cts | 26 + .../singlestore-core/columns/smallint.d.ts | 26 + .../singlestore-core/columns/smallint.js | 39 + .../singlestore-core/columns/smallint.js.map | 1 + .../singlestore-core/columns/text.cjs | 80 + .../singlestore-core/columns/text.cjs.map | 1 + .../singlestore-core/columns/text.d.cts | 46 + .../singlestore-core/columns/text.d.ts | 46 + .../singlestore-core/columns/text.js | 51 + .../singlestore-core/columns/text.js.map | 1 + .../singlestore-core/columns/time.cjs | 56 + .../singlestore-core/columns/time.cjs.map | 1 + .../singlestore-core/columns/time.d.cts | 23 + .../singlestore-core/columns/time.d.ts | 23 + .../singlestore-core/columns/time.js | 30 + .../singlestore-core/columns/time.js.map | 1 + .../singlestore-core/columns/timestamp.cjs | 97 + .../columns/timestamp.cjs.map | 1 + .../singlestore-core/columns/timestamp.d.cts | 49 + .../singlestore-core/columns/timestamp.d.ts | 49 + .../singlestore-core/columns/timestamp.js | 69 + .../singlestore-core/columns/timestamp.js.map | 1 + .../singlestore-core/columns/tinyint.cjs | 65 + .../singlestore-core/columns/tinyint.cjs.map | 1 + .../singlestore-core/columns/tinyint.d.cts | 26 + .../singlestore-core/columns/tinyint.d.ts | 26 + .../singlestore-core/columns/tinyint.js | 39 + .../singlestore-core/columns/tinyint.js.map | 1 + .../singlestore-core/columns/varbinary.cjs | 70 + .../columns/varbinary.cjs.map | 1 + .../singlestore-core/columns/varbinary.d.cts | 27 + .../singlestore-core/columns/varbinary.d.ts | 27 + .../singlestore-core/columns/varbinary.js | 44 + .../singlestore-core/columns/varbinary.js.map | 1 + .../singlestore-core/columns/varchar.cjs | 63 + .../singlestore-core/columns/varchar.cjs.map | 1 + .../singlestore-core/columns/varchar.d.cts | 38 + .../singlestore-core/columns/varchar.d.ts | 38 + .../singlestore-core/columns/varchar.js | 37 + .../singlestore-core/columns/varchar.js.map | 1 + .../singlestore-core/columns/vector.cjs | 72 + .../singlestore-core/columns/vector.cjs.map | 1 + .../singlestore-core/columns/vector.d.cts | 32 + .../singlestore-core/columns/vector.d.ts | 32 + .../singlestore-core/columns/vector.js | 46 + .../singlestore-core/columns/vector.js.map | 1 + .../singlestore-core/columns/year.cjs | 56 + .../singlestore-core/columns/year.cjs.map | 1 + .../singlestore-core/columns/year.d.cts | 23 + .../singlestore-core/columns/year.d.ts | 23 + .../singlestore-core/columns/year.js | 30 + .../singlestore-core/columns/year.js.map | 1 + .../drizzle-orm/singlestore-core/db.cjs | 271 + .../drizzle-orm/singlestore-core/db.cjs.map | 1 + .../drizzle-orm/singlestore-core/db.d.cts | 233 + .../drizzle-orm/singlestore-core/db.d.ts | 233 + .../drizzle-orm/singlestore-core/db.js | 252 + .../drizzle-orm/singlestore-core/db.js.map | 1 + .../drizzle-orm/singlestore-core/dialect.cjs | 618 ++ .../singlestore-core/dialect.cjs.map | 1 + .../singlestore-core/dialect.d.cts | 64 + .../drizzle-orm/singlestore-core/dialect.d.ts | 64 + .../drizzle-orm/singlestore-core/dialect.js | 600 ++ .../singlestore-core/dialect.js.map | 1 + .../singlestore-core/expressions.cjs | 59 + .../singlestore-core/expressions.cjs.map | 1 + .../singlestore-core/expressions.d.cts | 10 + .../singlestore-core/expressions.d.ts | 10 + .../singlestore-core/expressions.js | 30 + .../singlestore-core/expressions.js.map | 1 + .../drizzle-orm/singlestore-core/index.cjs | 47 + .../singlestore-core/index.cjs.map | 1 + .../drizzle-orm/singlestore-core/index.d.cts | 13 + .../drizzle-orm/singlestore-core/index.d.ts | 13 + .../drizzle-orm/singlestore-core/index.js | 14 + .../drizzle-orm/singlestore-core/index.js.map | 1 + .../drizzle-orm/singlestore-core/indexes.cjs | 88 + .../singlestore-core/indexes.cjs.map | 1 + .../singlestore-core/indexes.d.cts | 62 + .../drizzle-orm/singlestore-core/indexes.d.ts | 62 + .../drizzle-orm/singlestore-core/indexes.js | 60 + .../singlestore-core/indexes.js.map | 1 + .../singlestore-core/primary-keys.cjs | 68 + .../singlestore-core/primary-keys.cjs.map | 1 + .../singlestore-core/primary-keys.d.cts | 30 + .../singlestore-core/primary-keys.d.ts | 30 + .../singlestore-core/primary-keys.js | 42 + .../singlestore-core/primary-keys.js.map | 1 + .../singlestore-core/query-builders/count.cjs | 73 + .../query-builders/count.cjs.map | 1 + .../query-builders/count.d.cts | 25 + .../query-builders/count.d.ts | 25 + .../singlestore-core/query-builders/count.js | 49 + .../query-builders/count.js.map | 1 + .../query-builders/delete.cjs | 131 + .../query-builders/delete.cjs.map | 1 + .../query-builders/delete.d.cts | 83 + .../query-builders/delete.d.ts | 83 + .../singlestore-core/query-builders/delete.js | 107 + .../query-builders/delete.js.map | 1 + .../singlestore-core/query-builders/index.cjs | 33 + .../query-builders/index.cjs.map | 1 + .../query-builders/index.d.cts | 6 + .../query-builders/index.d.ts | 6 + .../singlestore-core/query-builders/index.js | 7 + .../query-builders/index.js.map | 1 + .../query-builders/insert.cjs | 151 + .../query-builders/insert.cjs.map | 1 + .../query-builders/insert.d.cts | 106 + .../query-builders/insert.d.ts | 106 + .../singlestore-core/query-builders/insert.js | 126 + .../query-builders/insert.js.map | 1 + .../query-builders/query-builder.cjs | 103 + .../query-builders/query-builder.cjs.map | 1 + .../query-builders/query-builder.d.cts | 29 + .../query-builders/query-builder.d.ts | 29 + .../query-builders/query-builder.js | 79 + .../query-builders/query-builder.js.map | 1 + .../singlestore-core/query-builders/query.cjs | 126 + .../query-builders/query.cjs.map | 1 + .../query-builders/query.d.cts | 42 + .../query-builders/query.d.ts | 42 + .../singlestore-core/query-builders/query.js | 103 + .../query-builders/query.js.map | 1 + .../query-builders/select.cjs | 775 +++ .../query-builders/select.cjs.map | 1 + .../query-builders/select.d.cts | 659 ++ .../query-builders/select.d.ts | 659 ++ .../singlestore-core/query-builders/select.js | 750 +++ .../query-builders/select.js.map | 1 + .../query-builders/select.types.cjs | 17 + .../query-builders/select.types.cjs.map | 1 + .../query-builders/select.types.d.cts | 137 + .../query-builders/select.types.d.ts | 137 + .../query-builders/select.types.js | 1 + .../query-builders/select.types.js.map | 1 + .../query-builders/update.cjs | 155 + .../query-builders/update.cjs.map | 1 + .../query-builders/update.d.cts | 102 + .../query-builders/update.d.ts | 102 + .../singlestore-core/query-builders/update.js | 130 + .../query-builders/update.js.map | 1 + .../drizzle-orm/singlestore-core/schema.cjs | 56 + .../singlestore-core/schema.cjs.map | 1 + .../drizzle-orm/singlestore-core/schema.d.cts | 22 + .../drizzle-orm/singlestore-core/schema.d.ts | 22 + .../drizzle-orm/singlestore-core/schema.js | 29 + .../singlestore-core/schema.js.map | 1 + .../drizzle-orm/singlestore-core/session.cjs | 165 + .../singlestore-core/session.cjs.map | 1 + .../singlestore-core/session.d.cts | 78 + .../drizzle-orm/singlestore-core/session.d.ts | 78 + .../drizzle-orm/singlestore-core/session.js | 139 + .../singlestore-core/session.js.map | 1 + .../drizzle-orm/singlestore-core/subquery.cjs | 17 + .../singlestore-core/subquery.cjs.map | 1 + .../singlestore-core/subquery.d.cts | 18 + .../singlestore-core/subquery.d.ts | 18 + .../drizzle-orm/singlestore-core/subquery.js | 1 + .../singlestore-core/subquery.js.map | 1 + .../drizzle-orm/singlestore-core/table.cjs | 73 + .../singlestore-core/table.cjs.map | 1 + .../drizzle-orm/singlestore-core/table.d.cts | 97 + .../drizzle-orm/singlestore-core/table.d.ts | 97 + .../drizzle-orm/singlestore-core/table.js | 46 + .../drizzle-orm/singlestore-core/table.js.map | 1 + .../singlestore-core/unique-constraint.cjs | 82 + .../unique-constraint.cjs.map | 1 + .../singlestore-core/unique-constraint.d.cts | 24 + .../singlestore-core/unique-constraint.d.ts | 24 + .../singlestore-core/unique-constraint.js | 54 + .../singlestore-core/unique-constraint.js.map | 1 + .../drizzle-orm/singlestore-core/utils.cjs | 82 + .../singlestore-core/utils.cjs.map | 1 + .../drizzle-orm/singlestore-core/utils.d.cts | 16 + .../drizzle-orm/singlestore-core/utils.d.ts | 16 + .../drizzle-orm/singlestore-core/utils.js | 57 + .../drizzle-orm/singlestore-core/utils.js.map | 1 + .../singlestore-core/view-base.cjs | 33 + .../singlestore-core/view-base.cjs.map | 1 + .../singlestore-core/view-base.d.cts | 9 + .../singlestore-core/view-base.d.ts | 9 + .../drizzle-orm/singlestore-core/view-base.js | 9 + .../singlestore-core/view-base.js.map | 1 + .../singlestore-core/view-common.cjs | 29 + .../singlestore-core/view-common.cjs.map | 1 + .../singlestore-core/view-common.d.cts | 1 + .../singlestore-core/view-common.d.ts | 1 + .../singlestore-core/view-common.js | 5 + .../singlestore-core/view-common.js.map | 1 + .../drizzle-orm/singlestore-core/view.cjs | 146 + .../drizzle-orm/singlestore-core/view.cjs.map | 1 + .../drizzle-orm/singlestore-core/view.d.cts | 65 + .../drizzle-orm/singlestore-core/view.d.ts | 65 + .../drizzle-orm/singlestore-core/view.js | 119 + .../drizzle-orm/singlestore-core/view.js.map | 1 + .../drizzle-orm/singlestore-proxy/driver.cjs | 62 + .../singlestore-proxy/driver.cjs.map | 1 + .../singlestore-proxy/driver.d.cts | 13 + .../drizzle-orm/singlestore-proxy/driver.d.ts | 13 + .../drizzle-orm/singlestore-proxy/driver.js | 42 + .../singlestore-proxy/driver.js.map | 1 + .../drizzle-orm/singlestore-proxy/index.cjs | 25 + .../singlestore-proxy/index.cjs.map | 1 + .../drizzle-orm/singlestore-proxy/index.d.cts | 2 + .../drizzle-orm/singlestore-proxy/index.d.ts | 2 + .../drizzle-orm/singlestore-proxy/index.js | 3 + .../singlestore-proxy/index.js.map | 1 + .../singlestore-proxy/migrator.cjs | 60 + .../singlestore-proxy/migrator.cjs.map | 1 + .../singlestore-proxy/migrator.d.cts | 4 + .../singlestore-proxy/migrator.d.ts | 4 + .../drizzle-orm/singlestore-proxy/migrator.js | 36 + .../singlestore-proxy/migrator.js.map | 1 + .../drizzle-orm/singlestore-proxy/session.cjs | 127 + .../singlestore-proxy/session.cjs.map | 1 + .../singlestore-proxy/session.d.cts | 50 + .../singlestore-proxy/session.d.ts | 50 + .../drizzle-orm/singlestore-proxy/session.js | 101 + .../singlestore-proxy/session.js.map | 1 + .../drizzle-orm/singlestore/driver.cjs | 138 + .../drizzle-orm/singlestore/driver.cjs.map | 1 + .../drizzle-orm/singlestore/driver.d.cts | 52 + .../drizzle-orm/singlestore/driver.d.ts | 52 + .../drizzle-orm/singlestore/driver.js | 114 + .../drizzle-orm/singlestore/driver.js.map | 1 + .../drizzle-orm/singlestore/index.cjs | 25 + .../drizzle-orm/singlestore/index.cjs.map | 1 + .../drizzle-orm/singlestore/index.d.cts | 2 + .../drizzle-orm/singlestore/index.d.ts | 2 + .../drizzle-orm/singlestore/index.js | 3 + .../drizzle-orm/singlestore/index.js.map | 1 + .../drizzle-orm/singlestore/migrator.cjs | 33 + .../drizzle-orm/singlestore/migrator.cjs.map | 1 + .../drizzle-orm/singlestore/migrator.d.cts | 3 + .../drizzle-orm/singlestore/migrator.d.ts | 3 + .../drizzle-orm/singlestore/migrator.js | 9 + .../drizzle-orm/singlestore/migrator.js.map | 1 + .../drizzle-orm/singlestore/session.cjs | 268 + .../drizzle-orm/singlestore/session.cjs.map | 1 + .../drizzle-orm/singlestore/session.d.cts | 62 + .../drizzle-orm/singlestore/session.d.ts | 62 + .../drizzle-orm/singlestore/session.js | 246 + .../drizzle-orm/singlestore/session.js.map | 1 + .../drizzle-orm/sql-js/driver.cjs | 56 + .../drizzle-orm/sql-js/driver.cjs.map | 1 + .../drizzle-orm/sql-js/driver.d.cts | 5 + .../drizzle-orm/sql-js/driver.d.ts | 5 + .../node_modules/drizzle-orm/sql-js/driver.js | 35 + .../drizzle-orm/sql-js/driver.js.map | 1 + .../node_modules/drizzle-orm/sql-js/index.cjs | 25 + .../drizzle-orm/sql-js/index.cjs.map | 1 + .../drizzle-orm/sql-js/index.d.cts | 2 + .../drizzle-orm/sql-js/index.d.ts | 2 + .../node_modules/drizzle-orm/sql-js/index.js | 3 + .../drizzle-orm/sql-js/index.js.map | 1 + .../drizzle-orm/sql-js/migrator.cjs | 33 + .../drizzle-orm/sql-js/migrator.cjs.map | 1 + .../drizzle-orm/sql-js/migrator.d.cts | 3 + .../drizzle-orm/sql-js/migrator.d.ts | 3 + .../drizzle-orm/sql-js/migrator.js | 9 + .../drizzle-orm/sql-js/migrator.js.map | 1 + .../drizzle-orm/sql-js/session.cjs | 169 + .../drizzle-orm/sql-js/session.cjs.map | 1 + .../drizzle-orm/sql-js/session.d.cts | 48 + .../drizzle-orm/sql-js/session.d.ts | 48 + .../drizzle-orm/sql-js/session.js | 143 + .../drizzle-orm/sql-js/session.js.map | 1 + .../sql/expressions/conditions.cjs | 223 + .../sql/expressions/conditions.cjs.map | 1 + .../sql/expressions/conditions.d.cts | 453 ++ .../sql/expressions/conditions.d.ts | 453 ++ .../drizzle-orm/sql/expressions/conditions.js | 184 + .../sql/expressions/conditions.js.map | 1 + .../drizzle-orm/sql/expressions/index.cjs | 25 + .../drizzle-orm/sql/expressions/index.cjs.map | 1 + .../drizzle-orm/sql/expressions/index.d.cts | 2 + .../drizzle-orm/sql/expressions/index.d.ts | 2 + .../drizzle-orm/sql/expressions/index.js | 3 + .../drizzle-orm/sql/expressions/index.js.map | 1 + .../drizzle-orm/sql/expressions/select.cjs | 37 + .../sql/expressions/select.cjs.map | 1 + .../drizzle-orm/sql/expressions/select.d.cts | 38 + .../drizzle-orm/sql/expressions/select.d.ts | 38 + .../drizzle-orm/sql/expressions/select.js | 12 + .../drizzle-orm/sql/expressions/select.js.map | 1 + .../drizzle-orm/sql/functions/aggregate.cjs | 69 + .../sql/functions/aggregate.cjs.map | 1 + .../drizzle-orm/sql/functions/aggregate.d.cts | 104 + .../drizzle-orm/sql/functions/aggregate.d.ts | 104 + .../drizzle-orm/sql/functions/aggregate.js | 38 + .../sql/functions/aggregate.js.map | 1 + .../drizzle-orm/sql/functions/index.cjs | 25 + .../drizzle-orm/sql/functions/index.cjs.map | 1 + .../drizzle-orm/sql/functions/index.d.cts | 2 + .../drizzle-orm/sql/functions/index.d.ts | 2 + .../drizzle-orm/sql/functions/index.js | 3 + .../drizzle-orm/sql/functions/index.js.map | 1 + .../drizzle-orm/sql/functions/vector.cjs | 78 + .../drizzle-orm/sql/functions/vector.cjs.map | 1 + .../drizzle-orm/sql/functions/vector.d.cts | 120 + .../drizzle-orm/sql/functions/vector.d.ts | 120 + .../drizzle-orm/sql/functions/vector.js | 49 + .../drizzle-orm/sql/functions/vector.js.map | 1 + .../node_modules/drizzle-orm/sql/index.cjs | 27 + .../drizzle-orm/sql/index.cjs.map | 1 + .../node_modules/drizzle-orm/sql/index.d.cts | 3 + .../node_modules/drizzle-orm/sql/index.d.ts | 3 + .../node_modules/drizzle-orm/sql/index.js | 4 + .../node_modules/drizzle-orm/sql/index.js.map | 1 + .../node_modules/drizzle-orm/sql/sql.cjs | 478 ++ .../node_modules/drizzle-orm/sql/sql.cjs.map | 1 + .../node_modules/drizzle-orm/sql/sql.d.cts | 230 + .../node_modules/drizzle-orm/sql/sql.d.ts | 230 + .../node_modules/drizzle-orm/sql/sql.js | 436 ++ .../node_modules/drizzle-orm/sql/sql.js.map | 1 + .../drizzle-orm/sqlite-core/alias.cjs | 32 + .../drizzle-orm/sqlite-core/alias.cjs.map | 1 + .../drizzle-orm/sqlite-core/alias.d.cts | 4 + .../drizzle-orm/sqlite-core/alias.d.ts | 4 + .../drizzle-orm/sqlite-core/alias.js | 8 + .../drizzle-orm/sqlite-core/alias.js.map | 1 + .../drizzle-orm/sqlite-core/checks.cjs | 57 + .../drizzle-orm/sqlite-core/checks.cjs.map | 1 + .../drizzle-orm/sqlite-core/checks.d.cts | 22 + .../drizzle-orm/sqlite-core/checks.d.ts | 22 + .../drizzle-orm/sqlite-core/checks.js | 31 + .../drizzle-orm/sqlite-core/checks.js.map | 1 + .../drizzle-orm/sqlite-core/columns/all.cjs | 44 + .../sqlite-core/columns/all.cjs.map | 1 + .../drizzle-orm/sqlite-core/columns/all.d.cts | 15 + .../drizzle-orm/sqlite-core/columns/all.d.ts | 15 + .../drizzle-orm/sqlite-core/columns/all.js | 20 + .../sqlite-core/columns/all.js.map | 1 + .../drizzle-orm/sqlite-core/columns/blob.cjs | 130 + .../sqlite-core/columns/blob.cjs.map | 1 + .../sqlite-core/columns/blob.d.cts | 72 + .../drizzle-orm/sqlite-core/columns/blob.d.ts | 72 + .../drizzle-orm/sqlite-core/columns/blob.js | 100 + .../sqlite-core/columns/blob.js.map | 1 + .../sqlite-core/columns/common.cjs | 84 + .../sqlite-core/columns/common.cjs.map | 1 + .../sqlite-core/columns/common.d.cts | 42 + .../sqlite-core/columns/common.d.ts | 42 + .../drizzle-orm/sqlite-core/columns/common.js | 59 + .../sqlite-core/columns/common.js.map | 1 + .../sqlite-core/columns/custom.cjs | 81 + .../sqlite-core/columns/custom.cjs.map | 1 + .../sqlite-core/columns/custom.d.cts | 155 + .../sqlite-core/columns/custom.d.ts | 155 + .../drizzle-orm/sqlite-core/columns/custom.js | 55 + .../sqlite-core/columns/custom.js.map | 1 + .../drizzle-orm/sqlite-core/columns/index.cjs | 35 + .../sqlite-core/columns/index.cjs.map | 1 + .../sqlite-core/columns/index.d.cts | 7 + .../sqlite-core/columns/index.d.ts | 7 + .../drizzle-orm/sqlite-core/columns/index.js | 8 + .../sqlite-core/columns/index.js.map | 1 + .../sqlite-core/columns/integer.cjs | 158 + .../sqlite-core/columns/integer.cjs.map | 1 + .../sqlite-core/columns/integer.d.cts | 108 + .../sqlite-core/columns/integer.d.ts | 108 + .../sqlite-core/columns/integer.js | 125 + .../sqlite-core/columns/integer.js.map | 1 + .../sqlite-core/columns/numeric.cjs | 116 + .../sqlite-core/columns/numeric.cjs.map | 1 + .../sqlite-core/columns/numeric.d.cts | 63 + .../sqlite-core/columns/numeric.d.ts | 63 + .../sqlite-core/columns/numeric.js | 86 + .../sqlite-core/columns/numeric.js.map | 1 + .../drizzle-orm/sqlite-core/columns/real.cjs | 53 + .../sqlite-core/columns/real.cjs.map | 1 + .../sqlite-core/columns/real.d.cts | 22 + .../drizzle-orm/sqlite-core/columns/real.d.ts | 22 + .../drizzle-orm/sqlite-core/columns/real.js | 27 + .../sqlite-core/columns/real.js.map | 1 + .../drizzle-orm/sqlite-core/columns/text.cjs | 97 + .../sqlite-core/columns/text.cjs.map | 1 + .../sqlite-core/columns/text.d.cts | 72 + .../drizzle-orm/sqlite-core/columns/text.d.ts | 72 + .../drizzle-orm/sqlite-core/columns/text.js | 69 + .../sqlite-core/columns/text.js.map | 1 + .../drizzle-orm/sqlite-core/db.cjs | 361 ++ .../drizzle-orm/sqlite-core/db.cjs.map | 1 + .../drizzle-orm/sqlite-core/db.d.cts | 257 + .../drizzle-orm/sqlite-core/db.d.ts | 257 + .../drizzle-orm/sqlite-core/db.js | 342 + .../drizzle-orm/sqlite-core/db.js.map | 1 + .../drizzle-orm/sqlite-core/dialect.cjs | 673 ++ .../drizzle-orm/sqlite-core/dialect.cjs.map | 1 + .../drizzle-orm/sqlite-core/dialect.d.cts | 67 + .../drizzle-orm/sqlite-core/dialect.d.ts | 67 + .../drizzle-orm/sqlite-core/dialect.js | 653 ++ .../drizzle-orm/sqlite-core/dialect.js.map | 1 + .../drizzle-orm/sqlite-core/expressions.cjs | 54 + .../sqlite-core/expressions.cjs.map | 1 + .../drizzle-orm/sqlite-core/expressions.d.cts | 9 + .../drizzle-orm/sqlite-core/expressions.d.ts | 9 + .../drizzle-orm/sqlite-core/expressions.js | 26 + .../sqlite-core/expressions.js.map | 1 + .../drizzle-orm/sqlite-core/foreign-keys.cjs | 103 + .../sqlite-core/foreign-keys.cjs.map | 1 + .../sqlite-core/foreign-keys.d.cts | 65 + .../drizzle-orm/sqlite-core/foreign-keys.d.ts | 65 + .../drizzle-orm/sqlite-core/foreign-keys.js | 77 + .../sqlite-core/foreign-keys.js.map | 1 + .../drizzle-orm/sqlite-core/index.cjs | 51 + .../drizzle-orm/sqlite-core/index.cjs.map | 1 + .../drizzle-orm/sqlite-core/index.d.cts | 15 + .../drizzle-orm/sqlite-core/index.d.ts | 15 + .../drizzle-orm/sqlite-core/index.js | 16 + .../drizzle-orm/sqlite-core/index.js.map | 1 + .../drizzle-orm/sqlite-core/indexes.cjs | 84 + .../drizzle-orm/sqlite-core/indexes.cjs.map | 1 + .../drizzle-orm/sqlite-core/indexes.d.cts | 41 + .../drizzle-orm/sqlite-core/indexes.d.ts | 41 + .../drizzle-orm/sqlite-core/indexes.js | 56 + .../drizzle-orm/sqlite-core/indexes.js.map | 1 + .../drizzle-orm/sqlite-core/primary-keys.cjs | 68 + .../sqlite-core/primary-keys.cjs.map | 1 + .../sqlite-core/primary-keys.d.cts | 33 + .../drizzle-orm/sqlite-core/primary-keys.d.ts | 33 + .../drizzle-orm/sqlite-core/primary-keys.js | 42 + .../sqlite-core/primary-keys.js.map | 1 + .../sqlite-core/query-builders/count.cjs | 72 + .../sqlite-core/query-builders/count.cjs.map | 1 + .../sqlite-core/query-builders/count.d.cts | 26 + .../sqlite-core/query-builders/count.d.ts | 26 + .../sqlite-core/query-builders/count.js | 48 + .../sqlite-core/query-builders/count.js.map | 1 + .../sqlite-core/query-builders/delete.cjs | 147 + .../sqlite-core/query-builders/delete.cjs.map | 1 + .../sqlite-core/query-builders/delete.d.cts | 117 + .../sqlite-core/query-builders/delete.d.ts | 117 + .../sqlite-core/query-builders/delete.js | 123 + .../sqlite-core/query-builders/delete.js.map | 1 + .../sqlite-core/query-builders/index.cjs | 33 + .../sqlite-core/query-builders/index.cjs.map | 1 + .../sqlite-core/query-builders/index.d.cts | 6 + .../sqlite-core/query-builders/index.d.ts | 6 + .../sqlite-core/query-builders/index.js | 7 + .../sqlite-core/query-builders/index.js.map | 1 + .../sqlite-core/query-builders/insert.cjs | 209 + .../sqlite-core/query-builders/insert.cjs.map | 1 + .../sqlite-core/query-builders/insert.d.cts | 172 + .../sqlite-core/query-builders/insert.d.ts | 172 + .../sqlite-core/query-builders/insert.js | 184 + .../sqlite-core/query-builders/insert.js.map | 1 + .../query-builders/query-builder.cjs | 99 + .../query-builders/query-builder.cjs.map | 1 + .../query-builders/query-builder.d.cts | 29 + .../query-builders/query-builder.d.ts | 29 + .../query-builders/query-builder.js | 75 + .../query-builders/query-builder.js.map | 1 + .../sqlite-core/query-builders/query.cjs | 177 + .../sqlite-core/query-builders/query.cjs.map | 1 + .../sqlite-core/query-builders/query.d.cts | 55 + .../sqlite-core/query-builders/query.d.ts | 55 + .../sqlite-core/query-builders/query.js | 153 + .../sqlite-core/query-builders/query.js.map | 1 + .../sqlite-core/query-builders/raw.cjs | 56 + .../sqlite-core/query-builders/raw.cjs.map | 1 + .../sqlite-core/query-builders/raw.d.cts | 34 + .../sqlite-core/query-builders/raw.d.ts | 34 + .../sqlite-core/query-builders/raw.js | 32 + .../sqlite-core/query-builders/raw.js.map | 1 + .../sqlite-core/query-builders/select.cjs | 714 +++ .../sqlite-core/query-builders/select.cjs.map | 1 + .../sqlite-core/query-builders/select.d.cts | 569 ++ .../sqlite-core/query-builders/select.d.ts | 569 ++ .../sqlite-core/query-builders/select.js | 690 ++ .../sqlite-core/query-builders/select.js.map | 1 + .../query-builders/select.types.cjs | 17 + .../query-builders/select.types.cjs.map | 1 + .../query-builders/select.types.d.cts | 129 + .../query-builders/select.types.d.ts | 129 + .../query-builders/select.types.js | 1 + .../query-builders/select.types.js.map | 1 + .../sqlite-core/query-builders/update.cjs | 204 + .../sqlite-core/query-builders/update.cjs.map | 1 + .../sqlite-core/query-builders/update.d.cts | 151 + .../sqlite-core/query-builders/update.d.ts | 151 + .../sqlite-core/query-builders/update.js | 183 + .../sqlite-core/query-builders/update.js.map | 1 + .../drizzle-orm/sqlite-core/session.cjs | 233 + .../drizzle-orm/sqlite-core/session.cjs.map | 1 + .../drizzle-orm/sqlite-core/session.d.cts | 107 + .../drizzle-orm/sqlite-core/session.d.ts | 107 + .../drizzle-orm/sqlite-core/session.js | 206 + .../drizzle-orm/sqlite-core/session.js.map | 1 + .../drizzle-orm/sqlite-core/subquery.cjs | 17 + .../drizzle-orm/sqlite-core/subquery.cjs.map | 1 + .../drizzle-orm/sqlite-core/subquery.d.cts | 18 + .../drizzle-orm/sqlite-core/subquery.d.ts | 18 + .../drizzle-orm/sqlite-core/subquery.js | 1 + .../drizzle-orm/sqlite-core/subquery.js.map | 1 + .../drizzle-orm/sqlite-core/table.cjs | 79 + .../drizzle-orm/sqlite-core/table.cjs.map | 1 + .../drizzle-orm/sqlite-core/table.d.cts | 92 + .../drizzle-orm/sqlite-core/table.d.ts | 92 + .../drizzle-orm/sqlite-core/table.js | 52 + .../drizzle-orm/sqlite-core/table.js.map | 1 + .../sqlite-core/unique-constraint.cjs | 81 + .../sqlite-core/unique-constraint.cjs.map | 1 + .../sqlite-core/unique-constraint.d.cts | 23 + .../sqlite-core/unique-constraint.d.ts | 23 + .../sqlite-core/unique-constraint.js | 53 + .../sqlite-core/unique-constraint.js.map | 1 + .../drizzle-orm/sqlite-core/utils.cjs | 97 + .../drizzle-orm/sqlite-core/utils.cjs.map | 1 + .../drizzle-orm/sqlite-core/utils.d.cts | 30 + .../drizzle-orm/sqlite-core/utils.d.ts | 30 + .../drizzle-orm/sqlite-core/utils.js | 71 + .../drizzle-orm/sqlite-core/utils.js.map | 1 + .../drizzle-orm/sqlite-core/view-base.cjs | 33 + .../drizzle-orm/sqlite-core/view-base.cjs.map | 1 + .../drizzle-orm/sqlite-core/view-base.d.cts | 9 + .../drizzle-orm/sqlite-core/view-base.d.ts | 9 + .../drizzle-orm/sqlite-core/view-base.js | 9 + .../drizzle-orm/sqlite-core/view-base.js.map | 1 + .../drizzle-orm/sqlite-core/view-common.cjs | 29 + .../sqlite-core/view-common.cjs.map | 1 + .../drizzle-orm/sqlite-core/view-common.d.cts | 1 + .../drizzle-orm/sqlite-core/view-common.d.ts | 1 + .../drizzle-orm/sqlite-core/view-common.js | 5 + .../sqlite-core/view-common.js.map | 1 + .../drizzle-orm/sqlite-core/view.cjs | 135 + .../drizzle-orm/sqlite-core/view.cjs.map | 1 + .../drizzle-orm/sqlite-core/view.d.cts | 58 + .../drizzle-orm/sqlite-core/view.d.ts | 58 + .../drizzle-orm/sqlite-core/view.js | 106 + .../drizzle-orm/sqlite-core/view.js.map | 1 + .../drizzle-orm/sqlite-proxy/driver.cjs | 83 + .../drizzle-orm/sqlite-proxy/driver.cjs.map | 1 + .../drizzle-orm/sqlite-proxy/driver.d.cts | 24 + .../drizzle-orm/sqlite-proxy/driver.d.ts | 24 + .../drizzle-orm/sqlite-proxy/driver.js | 58 + .../drizzle-orm/sqlite-proxy/driver.js.map | 1 + .../drizzle-orm/sqlite-proxy/index.cjs | 25 + .../drizzle-orm/sqlite-proxy/index.cjs.map | 1 + .../drizzle-orm/sqlite-proxy/index.d.cts | 2 + .../drizzle-orm/sqlite-proxy/index.d.ts | 2 + .../drizzle-orm/sqlite-proxy/index.js | 3 + .../drizzle-orm/sqlite-proxy/index.js.map | 1 + .../drizzle-orm/sqlite-proxy/migrator.cjs | 56 + .../drizzle-orm/sqlite-proxy/migrator.cjs.map | 1 + .../drizzle-orm/sqlite-proxy/migrator.d.cts | 4 + .../drizzle-orm/sqlite-proxy/migrator.d.ts | 4 + .../drizzle-orm/sqlite-proxy/migrator.js | 32 + .../drizzle-orm/sqlite-proxy/migrator.js.map | 1 + .../drizzle-orm/sqlite-proxy/session.cjs | 207 + .../drizzle-orm/sqlite-proxy/session.cjs.map | 1 + .../drizzle-orm/sqlite-proxy/session.d.cts | 69 + .../drizzle-orm/sqlite-proxy/session.d.ts | 69 + .../drizzle-orm/sqlite-proxy/session.js | 181 + .../drizzle-orm/sqlite-proxy/session.js.map | 1 + .../node_modules/drizzle-orm/subquery.cjs | 50 + .../node_modules/drizzle-orm/subquery.cjs.map | 1 + .../node_modules/drizzle-orm/subquery.d.cts | 20 + .../node_modules/drizzle-orm/subquery.d.ts | 20 + .../node_modules/drizzle-orm/subquery.js | 25 + .../node_modules/drizzle-orm/subquery.js.map | 1 + .../drizzle-orm/supabase/index.cjs | 23 + .../drizzle-orm/supabase/index.cjs.map | 1 + .../drizzle-orm/supabase/index.d.cts | 1 + .../drizzle-orm/supabase/index.d.ts | 1 + .../drizzle-orm/supabase/index.js | 2 + .../drizzle-orm/supabase/index.js.map | 1 + .../node_modules/drizzle-orm/supabase/rls.cjs | 76 + .../drizzle-orm/supabase/rls.cjs.map | 1 + .../drizzle-orm/supabase/rls.d.cts | 210 + .../drizzle-orm/supabase/rls.d.ts | 210 + .../node_modules/drizzle-orm/supabase/rls.js | 44 + .../drizzle-orm/supabase/rls.js.map | 1 + .../node_modules/drizzle-orm/table.cjs | 113 + .../node_modules/drizzle-orm/table.cjs.map | 1 + .../node_modules/drizzle-orm/table.d.cts | 86 + .../node_modules/drizzle-orm/table.d.ts | 86 + .../node_modules/drizzle-orm/table.js | 79 + .../node_modules/drizzle-orm/table.js.map | 1 + .../node_modules/drizzle-orm/table.utils.cjs | 29 + .../drizzle-orm/table.utils.cjs.map | 1 + .../drizzle-orm/table.utils.d.cts | 1 + .../node_modules/drizzle-orm/table.utils.d.ts | 1 + .../node_modules/drizzle-orm/table.utils.js | 5 + .../drizzle-orm/table.utils.js.map | 1 + .../drizzle-orm/tidb-serverless/driver.cjs | 93 + .../tidb-serverless/driver.cjs.map | 1 + .../drizzle-orm/tidb-serverless/driver.d.cts | 32 + .../drizzle-orm/tidb-serverless/driver.d.ts | 32 + .../drizzle-orm/tidb-serverless/driver.js | 71 + .../drizzle-orm/tidb-serverless/driver.js.map | 1 + .../drizzle-orm/tidb-serverless/index.cjs | 25 + .../drizzle-orm/tidb-serverless/index.cjs.map | 1 + .../drizzle-orm/tidb-serverless/index.d.cts | 2 + .../drizzle-orm/tidb-serverless/index.d.ts | 2 + .../drizzle-orm/tidb-serverless/index.js | 3 + .../drizzle-orm/tidb-serverless/index.js.map | 1 + .../drizzle-orm/tidb-serverless/migrator.cjs | 33 + .../tidb-serverless/migrator.cjs.map | 1 + .../tidb-serverless/migrator.d.cts | 3 + .../drizzle-orm/tidb-serverless/migrator.d.ts | 3 + .../drizzle-orm/tidb-serverless/migrator.js | 9 + .../tidb-serverless/migrator.js.map | 1 + .../drizzle-orm/tidb-serverless/session.cjs | 179 + .../tidb-serverless/session.cjs.map | 1 + .../drizzle-orm/tidb-serverless/session.d.cts | 60 + .../drizzle-orm/tidb-serverless/session.d.ts | 60 + .../drizzle-orm/tidb-serverless/session.js | 157 + .../tidb-serverless/session.js.map | 1 + .../drizzle-orm/tracing-utils.cjs | 31 + .../drizzle-orm/tracing-utils.cjs.map | 1 + .../drizzle-orm/tracing-utils.d.cts | 1 + .../drizzle-orm/tracing-utils.d.ts | 1 + .../node_modules/drizzle-orm/tracing-utils.js | 7 + .../drizzle-orm/tracing-utils.js.map | 1 + .../node_modules/drizzle-orm/tracing.cjs | 63 + .../node_modules/drizzle-orm/tracing.cjs.map | 1 + .../node_modules/drizzle-orm/tracing.d.cts | 1 + .../node_modules/drizzle-orm/tracing.d.ts | 1 + .../node_modules/drizzle-orm/tracing.js | 39 + .../node_modules/drizzle-orm/tracing.js.map | 1 + .../node_modules/drizzle-orm/utils.cjs | 208 + .../node_modules/drizzle-orm/utils.cjs.map | 1 + .../node_modules/drizzle-orm/utils.d.cts | 63 + .../node_modules/drizzle-orm/utils.d.ts | 63 + .../node_modules/drizzle-orm/utils.js | 174 + .../node_modules/drizzle-orm/utils.js.map | 1 + .../drizzle-orm/vercel-postgres/driver.cjs | 100 + .../vercel-postgres/driver.cjs.map | 1 + .../drizzle-orm/vercel-postgres/driver.d.cts | 41 + .../drizzle-orm/vercel-postgres/driver.d.ts | 41 + .../drizzle-orm/vercel-postgres/driver.js | 77 + .../drizzle-orm/vercel-postgres/driver.js.map | 1 + .../drizzle-orm/vercel-postgres/index.cjs | 25 + .../drizzle-orm/vercel-postgres/index.cjs.map | 1 + .../drizzle-orm/vercel-postgres/index.d.cts | 2 + .../drizzle-orm/vercel-postgres/index.d.ts | 2 + .../drizzle-orm/vercel-postgres/index.js | 3 + .../drizzle-orm/vercel-postgres/index.js.map | 1 + .../drizzle-orm/vercel-postgres/migrator.cjs | 33 + .../vercel-postgres/migrator.cjs.map | 1 + .../vercel-postgres/migrator.d.cts | 3 + .../drizzle-orm/vercel-postgres/migrator.d.ts | 3 + .../drizzle-orm/vercel-postgres/migrator.js | 9 + .../vercel-postgres/migrator.js.map | 1 + .../drizzle-orm/vercel-postgres/session.cjs | 246 + .../vercel-postgres/session.cjs.map | 1 + .../drizzle-orm/vercel-postgres/session.d.cts | 59 + .../drizzle-orm/vercel-postgres/session.d.ts | 59 + .../drizzle-orm/vercel-postgres/session.js | 223 + .../vercel-postgres/session.js.map | 1 + .../node_modules/drizzle-orm/version.cjs | 37 + .../node_modules/drizzle-orm/version.cjs.map | 1 + .../node_modules/drizzle-orm/version.d.cts | 5 + .../node_modules/drizzle-orm/version.d.ts | 5 + .../node_modules/drizzle-orm/version.js | 9 + .../node_modules/drizzle-orm/version.js.map | 1 + .../node_modules/drizzle-orm/view-common.cjs | 29 + .../drizzle-orm/view-common.cjs.map | 1 + .../drizzle-orm/view-common.d.cts | 1 + .../node_modules/drizzle-orm/view-common.d.ts | 1 + .../node_modules/drizzle-orm/view-common.js | 5 + .../drizzle-orm/view-common.js.map | 1 + .../drizzle-orm/xata-http/driver.cjs | 89 + .../drizzle-orm/xata-http/driver.cjs.map | 1 + .../drizzle-orm/xata-http/driver.d.cts | 28 + .../drizzle-orm/xata-http/driver.d.ts | 28 + .../drizzle-orm/xata-http/driver.js | 63 + .../drizzle-orm/xata-http/driver.js.map | 1 + .../drizzle-orm/xata-http/index.cjs | 25 + .../drizzle-orm/xata-http/index.cjs.map | 1 + .../drizzle-orm/xata-http/index.d.cts | 2 + .../drizzle-orm/xata-http/index.d.ts | 2 + .../drizzle-orm/xata-http/index.js | 3 + .../drizzle-orm/xata-http/index.js.map | 1 + .../drizzle-orm/xata-http/migrator.cjs | 56 + .../drizzle-orm/xata-http/migrator.cjs.map | 1 + .../drizzle-orm/xata-http/migrator.d.cts | 13 + .../drizzle-orm/xata-http/migrator.d.ts | 13 + .../drizzle-orm/xata-http/migrator.js | 32 + .../drizzle-orm/xata-http/migrator.js.map | 1 + .../drizzle-orm/xata-http/session.cjs | 135 + .../drizzle-orm/xata-http/session.cjs.map | 1 + .../drizzle-orm/xata-http/session.d.cts | 62 + .../drizzle-orm/xata-http/session.d.ts | 62 + .../drizzle-orm/xata-http/session.js | 109 + .../drizzle-orm/xata-http/session.js.map | 1 + .../node_modules/fetch-blob/LICENSE | 21 + .../node_modules/fetch-blob/README.md | 106 + .../node_modules/fetch-blob/file.d.ts | 2 + .../node_modules/fetch-blob/file.js | 49 + .../node_modules/fetch-blob/from.d.ts | 26 + .../node_modules/fetch-blob/from.js | 100 + .../node_modules/fetch-blob/index.d.ts | 3 + .../node_modules/fetch-blob/index.js | 250 + .../node_modules/fetch-blob/package.json | 56 + .../node_modules/fetch-blob/streams.cjs | 51 + .../formdata-polyfill/FormData.js | 441 ++ .../node_modules/formdata-polyfill/LICENSE | 21 + .../node_modules/formdata-polyfill/README.md | 145 + .../formdata-polyfill/esm.min.d.ts | 5 + .../node_modules/formdata-polyfill/esm.min.js | 40 + .../formdata-polyfill/formdata-to-blob.js | 39 + .../formdata-polyfill/formdata.min.js | 21 + .../formdata-polyfill/package.json | 50 + .../node_modules/fsevents/LICENSE | 22 + .../node_modules/fsevents/README.md | 89 + .../node_modules/fsevents/fsevents.d.ts | 46 + .../node_modules/fsevents/fsevents.js | 83 + .../node_modules/fsevents/fsevents.node | Bin 0 -> 163626 bytes .../node_modules/fsevents/package.json | 62 + .../node_modules/js-base64/LICENSE.md | 27 + .../node_modules/js-base64/README.md | 169 + .../node_modules/js-base64/base64.d.mts | 135 + .../node_modules/js-base64/base64.d.ts | 135 + .../node_modules/js-base64/base64.js | 321 + .../node_modules/js-base64/base64.mjs | 301 + .../node_modules/js-base64/package.json | 43 + .../node_modules/libsql/LICENSE | 22 + .../node_modules/libsql/README.md | 164 + .../node_modules/libsql/auth.js | 22 + .../node_modules/libsql/index.js | 441 ++ .../libsql/node_modules/detect-libc/LICENSE | 201 + .../libsql/node_modules/detect-libc/README.md | 163 + .../node_modules/detect-libc/index.d.ts | 14 + .../detect-libc/lib/detect-libc.js | 279 + .../detect-libc/lib/filesystem.js | 41 + .../node_modules/detect-libc/lib/process.js | 19 + .../node_modules/detect-libc/package.json | 40 + .../node_modules/libsql/package.json | 92 + .../node_modules/libsql/promise.js | 445 ++ .../node_modules/libsql/sqlite-error.js | 21 + .../node_modules/libsql/types/index.d.ts | 162 + .../node_modules/libsql/types/promise.d.ts | 66 + .../.history/README_20210527203617.md | 2 + .../.history/README_20210527212714.md | 41 + .../.history/README_20210527213345.md | 36 + .../.history/README_20210527213411.md | 36 + .../.history/README_20210527213803.md | 36 + .../.history/README_20210527214323.md | 38 + .../.history/README_20210527214408.md | 38 + .../.history/index_20210527203842.js | 0 .../.history/index_20210527203947.js | 8 + .../.history/index_20210527204259.js | 9 + .../.history/index_20210527204418.js | 9 + .../.history/index_20210527204756.js | 11 + .../.history/index_20210527204833.js | 11 + .../.history/index_20210527211208.js | 15 + .../.history/index_20210527211248.js | 15 + .../.history/index_20210527212722.js | 23 + .../.history/index_20210527212731.js | 23 + .../.history/index_20210527212746.js | 15 + .../.history/index_20210527212900.js | 16 + .../.history/index_20210527213022.js | 16 + .../.history/index_20210527213822.js | 16 + .../.history/index_20210527213843.js | 17 + .../.history/index_20210527213852.js | 17 + .../.history/index_20210527213910.js | 16 + .../.history/index_20210527214034.js | 16 + .../.history/index_20210527214643.js | 41 + .../.history/index_20210527214654.js | 41 + .../.history/index_20210527214700.js | 16 + .../.history/package_20210527203733.json | 19 + .../.history/package_20210527203825.json | 16 + .../.history/package_20210527204621.json | 19 + .../.history/package_20210527204913.json | 25 + .../.history/package_20210527204925.json | 25 + .../.history/package_20210527205145.json | 29 + .../.history/package_20210527205156.json | 29 + .../.history/test_20210527205603.js | 0 .../.history/test_20210527205957.js | 3 + .../.history/test_20210527210021.js | 3 + .../node_modules/node-domexception/LICENSE | 21 + .../node_modules/node-domexception/README.md | 46 + .../node_modules/node-domexception/index.js | 16 + .../node-domexception/package.json | 29 + .../node_modules/node-fetch/@types/index.d.ts | 219 + .../node_modules/node-fetch/LICENSE.md | 22 + .../node_modules/node-fetch/README.md | 872 +++ .../node_modules/node-fetch/package.json | 131 + .../node_modules/node-fetch/src/body.js | 397 ++ .../node-fetch/src/errors/abort-error.js | 10 + .../node-fetch/src/errors/base.js | 17 + .../node-fetch/src/errors/fetch-error.js | 26 + .../node_modules/node-fetch/src/headers.js | 267 + .../node_modules/node-fetch/src/index.js | 417 ++ .../node_modules/node-fetch/src/request.js | 313 + .../node_modules/node-fetch/src/response.js | 160 + .../node-fetch/src/utils/get-search.js | 9 + .../node-fetch/src/utils/is-redirect.js | 11 + .../node_modules/node-fetch/src/utils/is.js | 87 + .../node-fetch/src/utils/multipart-parser.js | 432 ++ .../node-fetch/src/utils/referrer.js | 340 + .../node_modules/promise-limit/.eslintrc | 9 + .../node_modules/promise-limit/.travis.yml | 3 + .../node_modules/promise-limit/README.md | 97 + .../promise-limit/example/example.ts | 22 + .../node_modules/promise-limit/index.d.ts | 45 + .../node_modules/promise-limit/index.js | 88 + .../node_modules/promise-limit/package.json | 39 + .../node_modules/promise-limit/test/max.js | 3 + .../promise-limit/test/memoryUsageSpec.js | 48 + .../node_modules/promise-limit/test/spec.js | 270 + .../node_modules/tr46/.npmignore | 4 + dealplustech-astro/node_modules/tr46/index.js | 193 + .../node_modules/tr46/lib/.gitkeep | 0 .../node_modules/tr46/lib/mappingTable.json | 1 + .../node_modules/tr46/package.json | 31 + .../node_modules/tslib/CopyrightNotice.txt | 15 + .../node_modules/tslib/LICENSE.txt | 12 + .../node_modules/tslib/README.md | 164 + .../node_modules/tslib/SECURITY.md | 41 + .../node_modules/tslib/modules/index.d.ts | 38 + .../node_modules/tslib/modules/index.js | 70 + .../node_modules/tslib/modules/package.json | 3 + .../node_modules/tslib/package.json | 47 + .../node_modules/tslib/tslib.d.ts | 460 ++ .../node_modules/tslib/tslib.es6.html | 1 + .../node_modules/tslib/tslib.es6.js | 402 ++ .../node_modules/tslib/tslib.es6.mjs | 401 ++ .../node_modules/tslib/tslib.html | 1 + .../node_modules/tslib/tslib.js | 484 ++ .../node_modules/undici-types/LICENSE | 21 + .../node_modules/undici-types/README.md | 6 + .../node_modules/undici-types/agent.d.ts | 32 + .../node_modules/undici-types/api.d.ts | 43 + .../undici-types/balanced-pool.d.ts | 30 + .../undici-types/cache-interceptor.d.ts | 173 + .../node_modules/undici-types/cache.d.ts | 36 + .../undici-types/client-stats.d.ts | 15 + .../node_modules/undici-types/client.d.ts | 108 + .../node_modules/undici-types/connector.d.ts | 34 + .../undici-types/content-type.d.ts | 21 + .../node_modules/undici-types/cookies.d.ts | 30 + .../undici-types/diagnostics-channel.d.ts | 74 + .../node_modules/undici-types/dispatcher.d.ts | 276 + .../undici-types/env-http-proxy-agent.d.ts | 22 + .../node_modules/undici-types/errors.d.ts | 161 + .../undici-types/eventsource.d.ts | 66 + .../node_modules/undici-types/fetch.d.ts | 211 + .../node_modules/undici-types/formdata.d.ts | 108 + .../undici-types/global-dispatcher.d.ts | 9 + .../undici-types/global-origin.d.ts | 7 + .../node_modules/undici-types/h2c-client.d.ts | 73 + .../node_modules/undici-types/handlers.d.ts | 15 + .../node_modules/undici-types/header.d.ts | 160 + .../node_modules/undici-types/index.d.ts | 88 + .../undici-types/interceptors.d.ts | 73 + .../node_modules/undici-types/mock-agent.d.ts | 68 + .../undici-types/mock-call-history.d.ts | 111 + .../undici-types/mock-client.d.ts | 27 + .../undici-types/mock-errors.d.ts | 12 + .../undici-types/mock-interceptor.d.ts | 94 + .../node_modules/undici-types/mock-pool.d.ts | 27 + .../node_modules/undici-types/package.json | 55 + .../node_modules/undici-types/patch.d.ts | 29 + .../node_modules/undici-types/pool-stats.d.ts | 19 + .../node_modules/undici-types/pool.d.ts | 41 + .../undici-types/proxy-agent.d.ts | 29 + .../node_modules/undici-types/readable.d.ts | 68 + .../undici-types/retry-agent.d.ts | 8 + .../undici-types/retry-handler.d.ts | 125 + .../undici-types/round-robin-pool.d.ts | 41 + .../undici-types/snapshot-agent.d.ts | 109 + .../node_modules/undici-types/util.d.ts | 18 + .../node_modules/undici-types/utility.d.ts | 7 + .../node_modules/undici-types/webidl.d.ts | 341 + .../node_modules/undici-types/websocket.d.ts | 186 + .../node_modules/web-streams-polyfill/LICENSE | 22 + .../web-streams-polyfill/README.md | 110 + .../dist/polyfill.es2018.js | 4765 ++++++++++++++ .../dist/polyfill.es2018.js.map | 1 + .../dist/polyfill.es2018.min.js | 9 + .../dist/polyfill.es2018.min.js.map | 1 + .../dist/polyfill.es2018.mjs | 4745 ++++++++++++++ .../dist/polyfill.es2018.mjs.map | 1 + .../web-streams-polyfill/dist/polyfill.es6.js | 4838 +++++++++++++++ .../dist/polyfill.es6.js.map | 1 + .../dist/polyfill.es6.min.js | 9 + .../dist/polyfill.es6.min.js.map | 1 + .../dist/polyfill.es6.mjs | 4818 ++++++++++++++ .../dist/polyfill.es6.mjs.map | 1 + .../web-streams-polyfill/dist/polyfill.js | 5011 +++++++++++++++ .../web-streams-polyfill/dist/polyfill.js.map | 1 + .../web-streams-polyfill/dist/polyfill.min.js | 9 + .../dist/polyfill.min.js.map | 1 + .../web-streams-polyfill/dist/polyfill.mjs | 4991 +++++++++++++++ .../dist/polyfill.mjs.map | 1 + .../dist/ponyfill.es2018.js | 4737 ++++++++++++++ .../dist/ponyfill.es2018.js.map | 1 + .../dist/ponyfill.es2018.mjs | 4717 ++++++++++++++ .../dist/ponyfill.es2018.mjs.map | 1 + .../web-streams-polyfill/dist/ponyfill.es6.js | 4810 ++++++++++++++ .../dist/ponyfill.es6.js.map | 1 + .../dist/ponyfill.es6.mjs | 4790 ++++++++++++++ .../dist/ponyfill.es6.mjs.map | 1 + .../web-streams-polyfill/dist/ponyfill.js | 4983 +++++++++++++++ .../web-streams-polyfill/dist/ponyfill.js.map | 1 + .../web-streams-polyfill/dist/ponyfill.mjs | 4963 +++++++++++++++ .../dist/ponyfill.mjs.map | 1 + .../dist/types/polyfill.d.ts | 24 + .../dist/types/ponyfill.d.ts | 780 +++ .../dist/types/ts3.6/polyfill.d.ts | 28 + .../dist/types/ts3.6/ponyfill.d.ts | 821 +++ .../dist/types/tsdoc-metadata.json | 11 + .../web-streams-polyfill/es2018/package.json | 14 + .../web-streams-polyfill/es6/package.json | 14 + .../web-streams-polyfill/package.json | 83 + .../ponyfill/es2018/package.json | 13 + .../ponyfill/es6/package.json | 13 + .../ponyfill/package.json | 13 + .../webidl-conversions/LICENSE.md | 12 + .../node_modules/webidl-conversions/README.md | 53 + .../webidl-conversions/lib/index.js | 189 + .../webidl-conversions/package.json | 23 + .../node_modules/whatwg-url/LICENSE.txt | 21 + .../node_modules/whatwg-url/README.md | 67 + .../node_modules/whatwg-url/lib/URL-impl.js | 200 + .../node_modules/whatwg-url/lib/URL.js | 196 + .../node_modules/whatwg-url/lib/public-api.js | 11 + .../whatwg-url/lib/url-state-machine.js | 1297 ++++ .../node_modules/whatwg-url/lib/utils.js | 20 + .../node_modules/whatwg-url/package.json | 32 + dealplustech-astro/node_modules/ws/LICENSE | 20 + dealplustech-astro/node_modules/ws/README.md | 548 ++ dealplustech-astro/node_modules/ws/browser.js | 8 + dealplustech-astro/node_modules/ws/index.js | 13 + .../node_modules/ws/lib/buffer-util.js | 131 + .../node_modules/ws/lib/constants.js | 19 + .../node_modules/ws/lib/event-target.js | 292 + .../node_modules/ws/lib/extension.js | 203 + .../node_modules/ws/lib/limiter.js | 55 + .../node_modules/ws/lib/permessage-deflate.js | 528 ++ .../node_modules/ws/lib/receiver.js | 706 +++ .../node_modules/ws/lib/sender.js | 602 ++ .../node_modules/ws/lib/stream.js | 161 + .../node_modules/ws/lib/subprotocol.js | 62 + .../node_modules/ws/lib/validation.js | 152 + .../node_modules/ws/lib/websocket-server.js | 554 ++ .../node_modules/ws/lib/websocket.js | 1393 +++++ .../node_modules/ws/package.json | 69 + .../node_modules/ws/wrapper.mjs | 8 + .../src/pages/admin/consent-logs.astro | 143 + .../src/pages/api/consent/index.ts | 93 + .../src/pages/privacy-policy.astro | 176 + .../src/pages/terms-and-conditions.astro | 107 + 3282 files changed, 302503 insertions(+), 435 deletions(-) create mode 100644 dealplustech-astro/.env.example delete mode 100644 dealplustech-astro/dist/blog/index.html delete mode 100644 dealplustech-astro/dist/favicon.ico delete mode 100644 dealplustech-astro/dist/favicon.svg delete mode 100644 dealplustech-astro/dist/index.html delete mode 100644 dealplustech-astro/dist/products/index.html delete mode 100644 dealplustech-astro/dist/products/pp-r-pp-rct-poloplast/index.html delete mode 100644 dealplustech-astro/dist/products/ท่อhdpe/index.html delete mode 100644 dealplustech-astro/dist/products/ท่อppr-thaippr/index.html delete mode 100644 dealplustech-astro/dist/products/ท่อพีพีอาร์ตราช้าง/index.html delete mode 100644 dealplustech-astro/dist/products/ท่อระบายน้ำ-3-ชั้น-ไซเลนท/index.html delete mode 100644 dealplustech-astro/dist/products/ท่อไซเลอร์/index.html create mode 120000 dealplustech-astro/node_modules/.bin/astro-consent create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/LICENSE create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/README.md create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.js create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.d.mts create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.d.ts create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.esm-bundler.js create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.iife.d.ts create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.iife.js create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.js create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.min.d.mts create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.min.js create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.min.mjs create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.mjs create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/index.js create mode 100644 dealplustech-astro/node_modules/@emnapi/runtime/package.json create mode 100644 dealplustech-astro/node_modules/@libsql/client/README.md create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-cjs/hrana.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-cjs/http.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-cjs/node.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-cjs/package.json create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-cjs/sql_cache.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-cjs/sqlite3.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-cjs/web.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-cjs/ws.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/hrana.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/hrana.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/http.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/http.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/node.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/node.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/sql_cache.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/sql_cache.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/sqlite3.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/sqlite3.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/web.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/web.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/ws.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/client/lib-esm/ws.js create mode 100644 dealplustech-astro/node_modules/@libsql/client/package.json create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-cjs/api.js create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-cjs/config.js create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-cjs/package.json create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-cjs/uri.js create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-cjs/util.js create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-esm/api.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-esm/api.js create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-esm/config.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-esm/config.js create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-esm/uri.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-esm/uri.js create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-esm/util.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/core/lib-esm/util.js create mode 100644 dealplustech-astro/node_modules/@libsql/core/package.json create mode 100644 dealplustech-astro/node_modules/@libsql/darwin-arm64/README.md create mode 100755 dealplustech-astro/node_modules/@libsql/darwin-arm64/index.node create mode 100644 dealplustech-astro/node_modules/@libsql/darwin-arm64/package.json create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/LICENSE create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/README.md create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/batch.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/byte_queue.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/client.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/cursor.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/describe.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/encoding/index.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/encoding/json/decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/encoding/json/encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/encoding/protobuf/decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/encoding/protobuf/encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/encoding/protobuf/util.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/errors.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/http/client.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/http/cursor.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/http/json_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/http/json_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/http/proto.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/http/protobuf_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/http/protobuf_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/http/stream.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/id_alloc.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/index.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/libsql_url.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/package.json create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/queue.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/queue_microtask.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/result.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/json_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/json_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/proto.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/protobuf_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/shared/protobuf_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/sql.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/stmt.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/stream.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/util.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/value.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/ws/client.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/ws/cursor.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/ws/json_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/ws/json_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/ws/proto.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/ws/protobuf_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/ws/protobuf_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-cjs/ws/stream.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/batch.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/batch.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/byte_queue.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/byte_queue.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/client.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/client.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/cursor.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/cursor.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/describe.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/describe.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/index.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/index.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/json/decode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/json/decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/json/encode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/json/encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/protobuf/decode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/protobuf/decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/protobuf/encode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/protobuf/encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/protobuf/util.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/encoding/protobuf/util.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/errors.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/errors.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/client.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/client.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/cursor.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/cursor.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/json_decode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/json_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/json_encode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/json_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/proto.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/proto.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/protobuf_decode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/protobuf_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/protobuf_encode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/protobuf_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/stream.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/http/stream.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/id_alloc.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/id_alloc.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/index.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/index.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/libsql_url.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/libsql_url.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/queue.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/queue.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/queue_microtask.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/queue_microtask.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/result.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/result.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/shared/json_decode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/shared/json_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/shared/json_encode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/shared/json_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/shared/proto.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/shared/proto.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/shared/protobuf_decode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/shared/protobuf_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/shared/protobuf_encode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/shared/protobuf_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/sql.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/sql.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/stmt.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/stmt.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/stream.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/stream.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/util.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/util.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/value.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/value.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/client.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/client.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/cursor.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/cursor.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/json_decode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/json_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/json_encode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/json_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/proto.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/proto.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/protobuf_decode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/protobuf_decode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/protobuf_encode.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/protobuf_encode.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/stream.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/lib-esm/ws/stream.js create mode 100644 dealplustech-astro/node_modules/@libsql/hrana-client/package.json create mode 100644 dealplustech-astro/node_modules/@libsql/isomorphic-ws/README.md create mode 100644 dealplustech-astro/node_modules/@libsql/isomorphic-ws/index.d.ts create mode 100644 dealplustech-astro/node_modules/@libsql/isomorphic-ws/node.cjs create mode 100644 dealplustech-astro/node_modules/@libsql/isomorphic-ws/node.mjs create mode 100644 dealplustech-astro/node_modules/@libsql/isomorphic-ws/package.json create mode 100644 dealplustech-astro/node_modules/@libsql/isomorphic-ws/web.cjs create mode 100644 dealplustech-astro/node_modules/@libsql/isomorphic-ws/web.mjs create mode 100644 dealplustech-astro/node_modules/@neon-rs/load/LICENSE create mode 100644 dealplustech-astro/node_modules/@neon-rs/load/dist/index.js create mode 100644 dealplustech-astro/node_modules/@neon-rs/load/package.json create mode 100644 dealplustech-astro/node_modules/@neon-rs/load/types/index.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/LICENSE create mode 100644 dealplustech-astro/node_modules/@types/node/README.md create mode 100644 dealplustech-astro/node_modules/@types/node/assert.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/assert/strict.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/async_hooks.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/buffer.buffer.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/buffer.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/child_process.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/cluster.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/compatibility/iterators.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/console.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/constants.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/crypto.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/dgram.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/diagnostics_channel.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/dns.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/dns/promises.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/domain.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/events.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/fs.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/fs/promises.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/globals.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/globals.typedarray.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/http.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/http2.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/https.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/index.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/inspector.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/inspector.generated.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/inspector/promises.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/module.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/net.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/os.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/package.json create mode 100644 dealplustech-astro/node_modules/@types/node/path.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/path/posix.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/path/win32.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/perf_hooks.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/process.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/punycode.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/querystring.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/quic.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/readline.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/readline/promises.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/repl.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/sea.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/sqlite.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/stream.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/stream/consumers.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/stream/promises.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/stream/web.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/string_decoder.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/test.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/test/reporters.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/timers.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/timers/promises.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/tls.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/trace_events.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/ts5.6/buffer.buffer.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/ts5.6/globals.typedarray.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/ts5.6/index.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/ts5.7/index.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/tty.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/url.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/util.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/util/types.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/v8.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/vm.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/wasi.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/abortcontroller.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/blob.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/console.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/crypto.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/domexception.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/encoding.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/events.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/fetch.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/importmeta.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/messaging.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/navigator.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/performance.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/storage.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/streams.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/timers.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/web-globals/url.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/worker_threads.d.ts create mode 100644 dealplustech-astro/node_modules/@types/node/zlib.d.ts create mode 100644 dealplustech-astro/node_modules/@types/ws/LICENSE create mode 100644 dealplustech-astro/node_modules/@types/ws/README.md create mode 100644 dealplustech-astro/node_modules/@types/ws/index.d.mts create mode 100644 dealplustech-astro/node_modules/@types/ws/index.d.ts create mode 100644 dealplustech-astro/node_modules/@types/ws/package.json create mode 100644 dealplustech-astro/node_modules/astro-consent/LICENSE.md create mode 100644 dealplustech-astro/node_modules/astro-consent/README.md create mode 100755 dealplustech-astro/node_modules/astro-consent/dist/cli.cjs create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/cli.d.ts create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/config/defaults.d.ts create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/config/defaults.js create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/config/loadConfig.d.ts create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/config/loadConfig.js create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/index.d.ts create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/index.js create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/templates/cssTemplate.d.ts create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/templates/cssTemplate.js create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/types/config.d.ts create mode 100644 dealplustech-astro/node_modules/astro-consent/dist/types/config.js create mode 100644 dealplustech-astro/node_modules/astro-consent/package.json create mode 100644 dealplustech-astro/node_modules/cross-fetch/LICENSE create mode 100644 dealplustech-astro/node_modules/cross-fetch/README.md create mode 100644 dealplustech-astro/node_modules/cross-fetch/dist/browser-polyfill.js create mode 100644 dealplustech-astro/node_modules/cross-fetch/dist/browser-ponyfill.js create mode 100644 dealplustech-astro/node_modules/cross-fetch/dist/cross-fetch.js create mode 100644 dealplustech-astro/node_modules/cross-fetch/dist/cross-fetch.js.map create mode 100644 dealplustech-astro/node_modules/cross-fetch/dist/node-polyfill.js create mode 100644 dealplustech-astro/node_modules/cross-fetch/dist/node-ponyfill.js create mode 100644 dealplustech-astro/node_modules/cross-fetch/dist/react-native-polyfill.js create mode 100644 dealplustech-astro/node_modules/cross-fetch/dist/react-native-ponyfill.js create mode 100644 dealplustech-astro/node_modules/cross-fetch/index.d.ts create mode 100644 dealplustech-astro/node_modules/cross-fetch/node_modules/node-fetch/LICENSE.md create mode 100644 dealplustech-astro/node_modules/cross-fetch/node_modules/node-fetch/README.md create mode 100644 dealplustech-astro/node_modules/cross-fetch/node_modules/node-fetch/browser.js create mode 100644 dealplustech-astro/node_modules/cross-fetch/node_modules/node-fetch/lib/index.es.js create mode 100644 dealplustech-astro/node_modules/cross-fetch/node_modules/node-fetch/lib/index.js create mode 100644 dealplustech-astro/node_modules/cross-fetch/node_modules/node-fetch/lib/index.mjs create mode 100644 dealplustech-astro/node_modules/cross-fetch/node_modules/node-fetch/package.json create mode 100644 dealplustech-astro/node_modules/cross-fetch/package.json create mode 100644 dealplustech-astro/node_modules/cross-fetch/polyfill/package.json create mode 100644 dealplustech-astro/node_modules/data-uri-to-buffer/README.md create mode 100644 dealplustech-astro/node_modules/data-uri-to-buffer/dist/index.d.ts create mode 100644 dealplustech-astro/node_modules/data-uri-to-buffer/dist/index.js create mode 100644 dealplustech-astro/node_modules/data-uri-to-buffer/dist/index.js.map create mode 100644 dealplustech-astro/node_modules/data-uri-to-buffer/package.json create mode 100644 dealplustech-astro/node_modules/data-uri-to-buffer/src/index.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/README.md create mode 100644 dealplustech-astro/node_modules/drizzle-orm/alias.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/alias.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/alias.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/alias.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/alias.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/alias.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/common/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/common/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/common/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/common/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/common/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/common/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/aws-data-api/pg/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/batch.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/batch.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/batch.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/batch.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/batch.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/batch.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/better-sqlite3/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sql/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/bun-sqlite/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/cache.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/types.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/types.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/types.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/types.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/types.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/core/types.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/cache.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/cache/upstash/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/casing.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/casing.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/casing.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/casing.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/casing.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/casing.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column-builder.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column-builder.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column-builder.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column-builder.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column-builder.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column-builder.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/column.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/d1/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/durable-sqlite/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/entity.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/entity.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/entity.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/entity.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/entity.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/entity.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/errors.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/errors.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/errors.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/errors.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/errors.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/errors.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/query.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/query.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/query.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/query.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/query.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/query.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/expo-sqlite/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/alias.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/alias.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/alias.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/alias.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/alias.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/alias.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/checks.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/checks.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/checks.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/checks.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/checks.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/checks.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/all.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/all.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/all.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/all.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/all.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/all.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigintT.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigintT.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigintT.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigintT.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigintT.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bigintT.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/boolean.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/boolean.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/boolean.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/boolean.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/boolean.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bytes.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bytes.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bytes.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bytes.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/bytes.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/custom.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/custom.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/custom.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/custom.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/custom.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/custom.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date-duration.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date-duration.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date-duration.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date-duration.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date-duration.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date.common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date.common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date.common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date.common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/date.common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/decimal.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/decimal.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/decimal.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/decimal.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/decimal.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/double-precision.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/double-precision.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/double-precision.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/double-precision.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/double-precision.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/duration.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/duration.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/duration.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/duration.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/duration.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/duration.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/int.common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/int.common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/int.common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/int.common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/int.common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/integer.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/integer.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/integer.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/integer.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/integer.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/integer.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/json.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/json.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/json.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/json.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/json.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/json.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localdate.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localdate.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localdate.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localdate.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localdate.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localtime.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localtime.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localtime.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localtime.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/localtime.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/real.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/real.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/real.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/real.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/real.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/real.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/relative-duration.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/relative-duration.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/relative-duration.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/relative-duration.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/smallint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/smallint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/smallint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/smallint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/smallint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/text.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/text.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/text.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/text.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/text.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/text.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamp.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamp.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamp.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamp.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamp.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamptz.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamptz.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamptz.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/timestamptz.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/uuid.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/uuid.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/uuid.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/uuid.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/columns/uuid.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/db.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/db.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/db.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/db.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/db.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/db.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/dialect.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/dialect.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/dialect.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/dialect.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/dialect.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/dialect.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/expressions.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/expressions.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/expressions.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/expressions.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/expressions.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/expressions.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/foreign-keys.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/foreign-keys.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/foreign-keys.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/foreign-keys.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/foreign-keys.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/indexes.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/indexes.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/indexes.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/indexes.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/indexes.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/indexes.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/policies.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/policies.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/policies.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/policies.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/policies.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/policies.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/primary-keys.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/primary-keys.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/primary-keys.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/primary-keys.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/primary-keys.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/primary-keys.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/count.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/count.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/count.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/count.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/count.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/delete.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/delete.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/delete.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/delete.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/delete.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/insert.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/insert.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/insert.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/insert.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/insert.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query-builder.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query-builder.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query-builder.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query-builder.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/query.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/raw.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/raw.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/raw.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/raw.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/raw.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.types.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.types.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.types.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/select.types.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/update.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/update.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/update.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/update.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/query-builders/update.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/roles.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/roles.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/roles.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/roles.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/roles.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/roles.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/schema.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/schema.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/schema.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/schema.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/schema.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/schema.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/sequence.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/sequence.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/sequence.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/sequence.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/sequence.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/sequence.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/subquery.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/subquery.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/subquery.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/subquery.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/subquery.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/subquery.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/table.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/table.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/table.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/table.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/table.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/table.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/unique-constraint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/unique-constraint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/unique-constraint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/unique-constraint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/unique-constraint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/utils.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/utils.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/utils.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/utils.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/utils.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/utils.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-base.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-base.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-base.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-base.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-base.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-base.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view-common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel-core/view.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/gel/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/knex/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/knex/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/knex/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/knex/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/knex/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/knex/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/kysely/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/kysely/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/kysely/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/kysely/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/kysely/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/kysely/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver-core.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver-core.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver-core.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver-core.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver-core.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver-core.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/http/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/http/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/http/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/http/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/http/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/http/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/node/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/node/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/node/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/node/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/node/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/node/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/sqlite3/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/sqlite3/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/sqlite3/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/sqlite3/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/sqlite3/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/sqlite3/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/wasm/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/wasm/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/wasm/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/wasm/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/wasm/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/wasm/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/web/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/web/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/web/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/web/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/web/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/web/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/ws/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/ws/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/ws/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/ws/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/ws/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/libsql/ws/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/logger.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/logger.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/logger.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/logger.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/logger.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/logger.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/alias.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/alias.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/alias.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/alias.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/alias.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/alias.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/checks.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/checks.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/checks.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/checks.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/checks.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/checks.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/all.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/all.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/all.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/all.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/all.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/all.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/bigint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/bigint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/bigint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/bigint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/bigint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/binary.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/binary.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/binary.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/binary.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/binary.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/boolean.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/boolean.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/boolean.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/boolean.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/boolean.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/char.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/char.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/char.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/char.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/char.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/char.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/custom.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/custom.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/custom.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/custom.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/custom.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/date.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/datetime.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/datetime.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/datetime.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/datetime.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/datetime.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/decimal.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/decimal.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/decimal.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/decimal.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/decimal.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/double.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/double.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/double.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/double.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/double.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/double.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/enum.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/enum.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/enum.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/enum.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/enum.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/float.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/float.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/float.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/float.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/float.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/float.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/int.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/int.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/int.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/int.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/int.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/int.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/json.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/json.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/json.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/json.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/json.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/json.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/mediumint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/mediumint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/mediumint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/mediumint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/real.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/real.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/real.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/real.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/real.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/real.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/serial.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/serial.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/serial.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/serial.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/serial.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/smallint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/smallint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/smallint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/smallint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/smallint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/text.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/text.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/text.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/text.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/text.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/text.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/time.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/time.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/time.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/time.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/time.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/time.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/timestamp.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/timestamp.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/timestamp.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/timestamp.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/tinyint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/tinyint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/tinyint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/tinyint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varbinary.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varbinary.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varbinary.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varbinary.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varchar.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varchar.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varchar.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varchar.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/varchar.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/year.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/year.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/year.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/year.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/year.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/columns/year.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/db.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/db.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/db.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/db.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/db.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/db.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/dialect.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/dialect.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/dialect.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/dialect.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/dialect.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/dialect.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/expressions.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/expressions.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/expressions.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/expressions.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/expressions.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/expressions.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/foreign-keys.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/foreign-keys.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/foreign-keys.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/foreign-keys.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/foreign-keys.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/indexes.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/indexes.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/indexes.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/indexes.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/indexes.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/indexes.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/primary-keys.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/primary-keys.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/primary-keys.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/primary-keys.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/primary-keys.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/count.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/count.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/count.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/count.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/count.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/delete.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/delete.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/delete.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/delete.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/insert.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/insert.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/insert.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/insert.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/query.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.types.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.types.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.types.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/select.types.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/update.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/update.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/update.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/update.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/query-builders/update.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/schema.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/schema.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/schema.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/schema.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/schema.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/schema.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/subquery.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/subquery.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/subquery.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/subquery.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/subquery.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/subquery.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/table.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/table.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/table.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/table.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/table.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/table.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/unique-constraint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/unique-constraint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/unique-constraint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/unique-constraint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/unique-constraint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/utils.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/utils.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/utils.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/utils.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/utils.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/utils.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-base.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-base.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-base.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-base.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-base.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-base.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view-common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-core/view.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql-proxy/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/mysql2/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-http/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon-serverless/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/neon-auth.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/neon-auth.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/neon-auth.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/neon-auth.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/neon-auth.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/neon-auth.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/rls.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/rls.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/rls.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/rls.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/rls.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/neon/rls.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/node-postgres/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/op-sqlite/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/operations.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/operations.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/operations.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/operations.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/operations.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/operations.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/package.json create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/alias.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/alias.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/alias.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/alias.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/alias.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/alias.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/checks.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/checks.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/checks.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/checks.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/checks.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/checks.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/all.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/all.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/all.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/all.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/all.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/all.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigserial.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigserial.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigserial.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigserial.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/bigserial.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/boolean.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/boolean.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/boolean.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/boolean.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/boolean.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/char.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/char.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/char.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/char.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/char.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/char.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/cidr.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/cidr.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/cidr.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/cidr.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/cidr.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/custom.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/custom.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/custom.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/custom.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/custom.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/custom.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/date.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/double-precision.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/double-precision.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/double-precision.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/double-precision.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/double-precision.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/enum.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/enum.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/enum.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/enum.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/enum.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/enum.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/inet.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/inet.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/inet.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/inet.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/inet.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/inet.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/int.common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/int.common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/int.common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/int.common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/int.common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/integer.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/integer.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/integer.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/integer.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/integer.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/integer.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/interval.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/interval.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/interval.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/interval.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/interval.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/interval.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/json.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/json.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/json.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/json.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/json.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/json.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/jsonb.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/jsonb.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/jsonb.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/jsonb.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/jsonb.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/line.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/line.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/line.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/line.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/line.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/line.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr8.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr8.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr8.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/macaddr8.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/numeric.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/numeric.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/numeric.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/numeric.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/numeric.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/point.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/point.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/point.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/point.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/point.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/point.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/postgis_extension/utils.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/real.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/real.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/real.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/real.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/real.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/real.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/serial.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/serial.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/serial.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/serial.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/serial.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/serial.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallserial.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallserial.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallserial.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallserial.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/smallserial.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/text.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/text.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/text.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/text.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/text.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/text.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/time.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/time.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/time.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/time.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/time.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/time.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/timestamp.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/timestamp.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/timestamp.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/timestamp.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/timestamp.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/uuid.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/uuid.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/uuid.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/uuid.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/uuid.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/varchar.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/varchar.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/varchar.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/varchar.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/varchar.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/db.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/db.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/db.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/db.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/db.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/db.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/dialect.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/dialect.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/dialect.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/dialect.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/dialect.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/dialect.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/expressions.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/expressions.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/expressions.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/expressions.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/expressions.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/expressions.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/foreign-keys.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/foreign-keys.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/foreign-keys.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/foreign-keys.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/foreign-keys.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/indexes.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/indexes.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/indexes.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/indexes.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/indexes.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/indexes.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/policies.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/policies.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/policies.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/policies.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/policies.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/policies.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/primary-keys.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/primary-keys.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/primary-keys.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/primary-keys.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/primary-keys.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/primary-keys.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/count.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/count.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/count.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/count.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/count.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/delete.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/delete.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/delete.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/delete.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/delete.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/insert.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/insert.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/insert.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/insert.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/insert.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query-builder.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query-builder.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query-builder.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query-builder.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/query.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/raw.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/raw.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/raw.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/raw.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/raw.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.types.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.types.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.types.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/select.types.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/update.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/update.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/update.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/update.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/query-builders/update.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/roles.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/roles.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/roles.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/roles.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/roles.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/roles.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/schema.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/schema.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/schema.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/schema.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/schema.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/schema.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/sequence.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/sequence.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/sequence.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/sequence.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/sequence.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/sequence.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/subquery.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/subquery.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/subquery.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/subquery.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/subquery.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/subquery.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/table.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/table.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/table.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/table.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/table.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/table.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/unique-constraint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/unique-constraint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/unique-constraint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/unique-constraint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/unique-constraint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/array.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/array.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/array.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/array.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/array.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/array.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/utils/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-base.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-base.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-base.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-base.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-base.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-base.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view-common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-core/view.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pg-proxy/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/pglite/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/planetscale-serverless/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/postgres-js/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/primary-key.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/primary-key.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/primary-key.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/primary-key.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/primary-key.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/primary-key.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/mysql/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/pg/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/prisma/sqlite/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/query-builder.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/query-builder.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/query-builder.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/query-builder.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/query-builder.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/query-builder.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/select.types.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/select.types.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/select.types.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/select.types.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/select.types.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-builders/select.types.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-promise.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-promise.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-promise.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-promise.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-promise.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/query-promise.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/relations.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/relations.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/relations.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/relations.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/relations.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/relations.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/runnable-query.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/runnable-query.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/runnable-query.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/runnable-query.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/runnable-query.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/runnable-query.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/selection-proxy.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/selection-proxy.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/selection-proxy.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/selection-proxy.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/selection-proxy.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/selection-proxy.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/alias.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/alias.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/alias.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/alias.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/alias.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/alias.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/all.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/all.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/all.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/all.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/all.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/bigint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/bigint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/bigint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/bigint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/binary.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/binary.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/binary.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/binary.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/binary.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/boolean.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/boolean.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/boolean.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/boolean.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/char.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/char.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/char.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/char.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/char.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/custom.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/custom.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/custom.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/custom.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/custom.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/date.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/datetime.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/datetime.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/datetime.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/datetime.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/decimal.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/decimal.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/decimal.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/decimal.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/double.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/double.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/double.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/double.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/double.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/enum.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/enum.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/enum.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/enum.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/enum.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/float.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/float.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/float.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/float.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/float.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/int.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/int.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/int.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/int.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/int.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/json.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/json.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/json.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/json.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/json.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/mediumint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/mediumint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/mediumint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/mediumint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/real.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/real.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/real.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/real.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/real.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/serial.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/serial.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/serial.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/serial.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/serial.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/smallint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/smallint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/smallint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/smallint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/text.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/text.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/text.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/text.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/text.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/time.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/time.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/time.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/time.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/time.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/timestamp.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/timestamp.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/timestamp.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/timestamp.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/tinyint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/tinyint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/tinyint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/tinyint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varbinary.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varbinary.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varbinary.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varbinary.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varchar.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varchar.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varchar.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/varchar.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/vector.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/vector.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/vector.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/vector.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/vector.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/year.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/year.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/year.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/year.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/columns/year.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/db.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/db.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/db.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/db.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/db.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/db.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/dialect.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/dialect.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/dialect.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/dialect.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/dialect.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/dialect.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/expressions.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/expressions.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/expressions.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/expressions.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/expressions.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/expressions.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/indexes.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/indexes.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/indexes.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/indexes.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/indexes.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/indexes.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/primary-keys.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/primary-keys.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/primary-keys.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/primary-keys.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/primary-keys.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/count.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/count.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/count.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/count.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/delete.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/delete.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/delete.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/delete.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/insert.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/insert.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/insert.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/insert.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/query.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/update.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/update.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/update.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/query-builders/update.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/schema.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/schema.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/schema.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/schema.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/schema.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/schema.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/subquery.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/subquery.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/subquery.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/subquery.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/subquery.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/subquery.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/table.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/table.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/table.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/table.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/table.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/table.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/unique-constraint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/unique-constraint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/unique-constraint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/unique-constraint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/utils.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/utils.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/utils.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/utils.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/utils.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/utils.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-base.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-base.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-base.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-base.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-base.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-base.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view-common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-core/view.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore-proxy/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/singlestore/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql-js/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/conditions.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/conditions.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/conditions.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/conditions.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/conditions.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/conditions.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/select.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/select.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/select.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/select.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/select.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/expressions/select.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/aggregate.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/aggregate.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/aggregate.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/aggregate.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/aggregate.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/aggregate.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/vector.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/vector.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/vector.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/vector.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/vector.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/functions/vector.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/sql.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/sql.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/sql.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/sql.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/sql.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sql/sql.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/alias.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/alias.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/alias.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/alias.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/alias.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/alias.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/checks.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/checks.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/checks.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/checks.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/checks.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/checks.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/all.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/all.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/all.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/all.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/all.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/blob.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/blob.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/blob.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/blob.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/blob.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/custom.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/custom.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/custom.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/custom.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/custom.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/integer.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/integer.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/integer.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/integer.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/integer.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/numeric.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/numeric.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/numeric.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/numeric.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/real.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/real.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/real.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/real.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/real.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/text.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/text.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/text.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/text.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/columns/text.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/db.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/db.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/db.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/db.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/db.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/db.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/dialect.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/dialect.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/dialect.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/dialect.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/dialect.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/dialect.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/expressions.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/expressions.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/expressions.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/expressions.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/expressions.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/expressions.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/foreign-keys.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/foreign-keys.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/foreign-keys.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/foreign-keys.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/indexes.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/indexes.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/indexes.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/indexes.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/indexes.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/indexes.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/primary-keys.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/primary-keys.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/primary-keys.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/primary-keys.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/primary-keys.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/count.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/count.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/count.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/count.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/delete.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/delete.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/delete.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/insert.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/insert.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/insert.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/query.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/raw.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/raw.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/raw.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/update.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/update.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/update.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/query-builders/update.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/subquery.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/subquery.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/subquery.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/subquery.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/subquery.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/subquery.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/table.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/table.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/table.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/table.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/table.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/table.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/unique-constraint.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/unique-constraint.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/unique-constraint.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/unique-constraint.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/utils.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/utils.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/utils.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/utils.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/utils.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/utils.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-base.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-base.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-base.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-base.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-base.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-base.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view-common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-core/view.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/sqlite-proxy/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/subquery.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/subquery.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/subquery.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/subquery.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/subquery.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/subquery.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/rls.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/rls.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/rls.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/rls.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/rls.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/supabase/rls.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.utils.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.utils.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.utils.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.utils.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.utils.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/table.utils.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tidb-serverless/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing-utils.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing-utils.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing-utils.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing-utils.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing-utils.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing-utils.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/tracing.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/utils.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/utils.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/utils.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/utils.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/utils.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/utils.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/vercel-postgres/session.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/version.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/version.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/version.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/version.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/version.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/version.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/view-common.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/view-common.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/view-common.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/view-common.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/view-common.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/view-common.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/driver.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/driver.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/driver.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/driver.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/driver.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/driver.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/index.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/index.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/index.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/index.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/index.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/index.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/migrator.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/migrator.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/migrator.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/migrator.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/migrator.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/migrator.js.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/session.cjs create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/session.cjs.map create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/session.d.cts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/session.d.ts create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/session.js create mode 100644 dealplustech-astro/node_modules/drizzle-orm/xata-http/session.js.map create mode 100644 dealplustech-astro/node_modules/fetch-blob/LICENSE create mode 100644 dealplustech-astro/node_modules/fetch-blob/README.md create mode 100644 dealplustech-astro/node_modules/fetch-blob/file.d.ts create mode 100644 dealplustech-astro/node_modules/fetch-blob/file.js create mode 100644 dealplustech-astro/node_modules/fetch-blob/from.d.ts create mode 100644 dealplustech-astro/node_modules/fetch-blob/from.js create mode 100644 dealplustech-astro/node_modules/fetch-blob/index.d.ts create mode 100644 dealplustech-astro/node_modules/fetch-blob/index.js create mode 100644 dealplustech-astro/node_modules/fetch-blob/package.json create mode 100644 dealplustech-astro/node_modules/fetch-blob/streams.cjs create mode 100644 dealplustech-astro/node_modules/formdata-polyfill/FormData.js create mode 100644 dealplustech-astro/node_modules/formdata-polyfill/LICENSE create mode 100644 dealplustech-astro/node_modules/formdata-polyfill/README.md create mode 100644 dealplustech-astro/node_modules/formdata-polyfill/esm.min.d.ts create mode 100644 dealplustech-astro/node_modules/formdata-polyfill/esm.min.js create mode 100644 dealplustech-astro/node_modules/formdata-polyfill/formdata-to-blob.js create mode 100644 dealplustech-astro/node_modules/formdata-polyfill/formdata.min.js create mode 100644 dealplustech-astro/node_modules/formdata-polyfill/package.json create mode 100644 dealplustech-astro/node_modules/fsevents/LICENSE create mode 100644 dealplustech-astro/node_modules/fsevents/README.md create mode 100644 dealplustech-astro/node_modules/fsevents/fsevents.d.ts create mode 100644 dealplustech-astro/node_modules/fsevents/fsevents.js create mode 100755 dealplustech-astro/node_modules/fsevents/fsevents.node create mode 100644 dealplustech-astro/node_modules/fsevents/package.json create mode 100644 dealplustech-astro/node_modules/js-base64/LICENSE.md create mode 100644 dealplustech-astro/node_modules/js-base64/README.md create mode 100644 dealplustech-astro/node_modules/js-base64/base64.d.mts create mode 100644 dealplustech-astro/node_modules/js-base64/base64.d.ts create mode 100644 dealplustech-astro/node_modules/js-base64/base64.js create mode 100644 dealplustech-astro/node_modules/js-base64/base64.mjs create mode 100644 dealplustech-astro/node_modules/js-base64/package.json create mode 100644 dealplustech-astro/node_modules/libsql/LICENSE create mode 100644 dealplustech-astro/node_modules/libsql/README.md create mode 100644 dealplustech-astro/node_modules/libsql/auth.js create mode 100644 dealplustech-astro/node_modules/libsql/index.js create mode 100644 dealplustech-astro/node_modules/libsql/node_modules/detect-libc/LICENSE create mode 100644 dealplustech-astro/node_modules/libsql/node_modules/detect-libc/README.md create mode 100644 dealplustech-astro/node_modules/libsql/node_modules/detect-libc/index.d.ts create mode 100644 dealplustech-astro/node_modules/libsql/node_modules/detect-libc/lib/detect-libc.js create mode 100644 dealplustech-astro/node_modules/libsql/node_modules/detect-libc/lib/filesystem.js create mode 100644 dealplustech-astro/node_modules/libsql/node_modules/detect-libc/lib/process.js create mode 100644 dealplustech-astro/node_modules/libsql/node_modules/detect-libc/package.json create mode 100644 dealplustech-astro/node_modules/libsql/package.json create mode 100644 dealplustech-astro/node_modules/libsql/promise.js create mode 100644 dealplustech-astro/node_modules/libsql/sqlite-error.js create mode 100644 dealplustech-astro/node_modules/libsql/types/index.d.ts create mode 100644 dealplustech-astro/node_modules/libsql/types/promise.d.ts create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/README_20210527203617.md create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/README_20210527212714.md create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/README_20210527213345.md create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/README_20210527213411.md create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/README_20210527213803.md create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/README_20210527214323.md create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/README_20210527214408.md create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527203842.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527203947.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527204259.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527204418.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527204756.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527204833.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527211208.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527211248.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527212722.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527212731.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527212746.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527212900.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527213022.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527213822.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527213843.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527213852.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527213910.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527214034.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527214643.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527214654.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/index_20210527214700.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/package_20210527203733.json create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/package_20210527203825.json create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/package_20210527204621.json create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/package_20210527204913.json create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/package_20210527204925.json create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/package_20210527205145.json create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/package_20210527205156.json create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/test_20210527205603.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/test_20210527205957.js create mode 100644 dealplustech-astro/node_modules/node-domexception/.history/test_20210527210021.js create mode 100644 dealplustech-astro/node_modules/node-domexception/LICENSE create mode 100644 dealplustech-astro/node_modules/node-domexception/README.md create mode 100644 dealplustech-astro/node_modules/node-domexception/index.js create mode 100644 dealplustech-astro/node_modules/node-domexception/package.json create mode 100644 dealplustech-astro/node_modules/node-fetch/@types/index.d.ts create mode 100644 dealplustech-astro/node_modules/node-fetch/LICENSE.md create mode 100644 dealplustech-astro/node_modules/node-fetch/README.md create mode 100644 dealplustech-astro/node_modules/node-fetch/package.json create mode 100644 dealplustech-astro/node_modules/node-fetch/src/body.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/errors/abort-error.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/errors/base.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/errors/fetch-error.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/headers.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/index.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/request.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/response.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/utils/get-search.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/utils/is-redirect.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/utils/is.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/utils/multipart-parser.js create mode 100644 dealplustech-astro/node_modules/node-fetch/src/utils/referrer.js create mode 100644 dealplustech-astro/node_modules/promise-limit/.eslintrc create mode 100644 dealplustech-astro/node_modules/promise-limit/.travis.yml create mode 100644 dealplustech-astro/node_modules/promise-limit/README.md create mode 100644 dealplustech-astro/node_modules/promise-limit/example/example.ts create mode 100644 dealplustech-astro/node_modules/promise-limit/index.d.ts create mode 100644 dealplustech-astro/node_modules/promise-limit/index.js create mode 100644 dealplustech-astro/node_modules/promise-limit/package.json create mode 100644 dealplustech-astro/node_modules/promise-limit/test/max.js create mode 100644 dealplustech-astro/node_modules/promise-limit/test/memoryUsageSpec.js create mode 100644 dealplustech-astro/node_modules/promise-limit/test/spec.js create mode 100644 dealplustech-astro/node_modules/tr46/.npmignore create mode 100644 dealplustech-astro/node_modules/tr46/index.js create mode 100644 dealplustech-astro/node_modules/tr46/lib/.gitkeep create mode 100644 dealplustech-astro/node_modules/tr46/lib/mappingTable.json create mode 100644 dealplustech-astro/node_modules/tr46/package.json create mode 100644 dealplustech-astro/node_modules/tslib/CopyrightNotice.txt create mode 100644 dealplustech-astro/node_modules/tslib/LICENSE.txt create mode 100644 dealplustech-astro/node_modules/tslib/README.md create mode 100644 dealplustech-astro/node_modules/tslib/SECURITY.md create mode 100644 dealplustech-astro/node_modules/tslib/modules/index.d.ts create mode 100644 dealplustech-astro/node_modules/tslib/modules/index.js create mode 100644 dealplustech-astro/node_modules/tslib/modules/package.json create mode 100644 dealplustech-astro/node_modules/tslib/package.json create mode 100644 dealplustech-astro/node_modules/tslib/tslib.d.ts create mode 100644 dealplustech-astro/node_modules/tslib/tslib.es6.html create mode 100644 dealplustech-astro/node_modules/tslib/tslib.es6.js create mode 100644 dealplustech-astro/node_modules/tslib/tslib.es6.mjs create mode 100644 dealplustech-astro/node_modules/tslib/tslib.html create mode 100644 dealplustech-astro/node_modules/tslib/tslib.js create mode 100644 dealplustech-astro/node_modules/undici-types/LICENSE create mode 100644 dealplustech-astro/node_modules/undici-types/README.md create mode 100644 dealplustech-astro/node_modules/undici-types/agent.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/api.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/balanced-pool.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/cache-interceptor.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/cache.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/client-stats.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/client.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/connector.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/content-type.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/cookies.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/diagnostics-channel.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/dispatcher.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/env-http-proxy-agent.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/errors.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/eventsource.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/fetch.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/formdata.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/global-dispatcher.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/global-origin.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/h2c-client.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/handlers.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/header.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/index.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/interceptors.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/mock-agent.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/mock-call-history.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/mock-client.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/mock-errors.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/mock-interceptor.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/mock-pool.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/package.json create mode 100644 dealplustech-astro/node_modules/undici-types/patch.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/pool-stats.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/pool.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/proxy-agent.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/readable.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/retry-agent.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/retry-handler.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/round-robin-pool.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/snapshot-agent.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/util.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/utility.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/webidl.d.ts create mode 100644 dealplustech-astro/node_modules/undici-types/websocket.d.ts create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/LICENSE create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/README.md create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es2018.js create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es2018.js.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es2018.min.js create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es2018.min.js.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es2018.mjs create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es2018.mjs.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es6.js create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es6.js.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es6.min.js create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es6.min.js.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es6.mjs create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.es6.mjs.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.js create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.js.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.min.js create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.min.js.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.mjs create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/polyfill.mjs.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.es2018.js create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.es2018.mjs create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.es2018.mjs.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.es6.js create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.es6.js.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.es6.mjs create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.es6.mjs.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.js create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.js.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.mjs create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/ponyfill.mjs.map create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/types/polyfill.d.ts create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/types/ponyfill.d.ts create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/types/ts3.6/polyfill.d.ts create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/types/ts3.6/ponyfill.d.ts create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/dist/types/tsdoc-metadata.json create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/es2018/package.json create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/es6/package.json create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/package.json create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/ponyfill/es2018/package.json create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/ponyfill/es6/package.json create mode 100644 dealplustech-astro/node_modules/web-streams-polyfill/ponyfill/package.json create mode 100644 dealplustech-astro/node_modules/webidl-conversions/LICENSE.md create mode 100644 dealplustech-astro/node_modules/webidl-conversions/README.md create mode 100644 dealplustech-astro/node_modules/webidl-conversions/lib/index.js create mode 100644 dealplustech-astro/node_modules/webidl-conversions/package.json create mode 100644 dealplustech-astro/node_modules/whatwg-url/LICENSE.txt create mode 100644 dealplustech-astro/node_modules/whatwg-url/README.md create mode 100644 dealplustech-astro/node_modules/whatwg-url/lib/URL-impl.js create mode 100644 dealplustech-astro/node_modules/whatwg-url/lib/URL.js create mode 100644 dealplustech-astro/node_modules/whatwg-url/lib/public-api.js create mode 100644 dealplustech-astro/node_modules/whatwg-url/lib/url-state-machine.js create mode 100644 dealplustech-astro/node_modules/whatwg-url/lib/utils.js create mode 100644 dealplustech-astro/node_modules/whatwg-url/package.json create mode 100644 dealplustech-astro/node_modules/ws/LICENSE create mode 100644 dealplustech-astro/node_modules/ws/README.md create mode 100644 dealplustech-astro/node_modules/ws/browser.js create mode 100644 dealplustech-astro/node_modules/ws/index.js create mode 100644 dealplustech-astro/node_modules/ws/lib/buffer-util.js create mode 100644 dealplustech-astro/node_modules/ws/lib/constants.js create mode 100644 dealplustech-astro/node_modules/ws/lib/event-target.js create mode 100644 dealplustech-astro/node_modules/ws/lib/extension.js create mode 100644 dealplustech-astro/node_modules/ws/lib/limiter.js create mode 100644 dealplustech-astro/node_modules/ws/lib/permessage-deflate.js create mode 100644 dealplustech-astro/node_modules/ws/lib/receiver.js create mode 100644 dealplustech-astro/node_modules/ws/lib/sender.js create mode 100644 dealplustech-astro/node_modules/ws/lib/stream.js create mode 100644 dealplustech-astro/node_modules/ws/lib/subprotocol.js create mode 100644 dealplustech-astro/node_modules/ws/lib/validation.js create mode 100644 dealplustech-astro/node_modules/ws/lib/websocket-server.js create mode 100644 dealplustech-astro/node_modules/ws/lib/websocket.js create mode 100644 dealplustech-astro/node_modules/ws/package.json create mode 100644 dealplustech-astro/node_modules/ws/wrapper.mjs create mode 100644 dealplustech-astro/src/pages/admin/consent-logs.astro create mode 100644 dealplustech-astro/src/pages/api/consent/index.ts create mode 100644 dealplustech-astro/src/pages/privacy-policy.astro create mode 100644 dealplustech-astro/src/pages/terms-and-conditions.astro diff --git a/dealplustech-astro/.astro/content.d.ts b/dealplustech-astro/.astro/content.d.ts index 4fd61a7e4..afc4f2e46 100644 --- a/dealplustech-astro/.astro/content.d.ts +++ b/dealplustech-astro/.astro/content.d.ts @@ -162,11 +162,19 @@ declare module 'astro:content' { }; type DataEntryMap = { - "products": Record; +"products": Record; + data: any; rendered?: RenderedContent; filePath?: string; }>; @@ -202,6 +210,6 @@ declare module 'astro:content' { LiveContentConfig['collections'][C]['loader'] >; - export type ContentConfig = typeof import("../src/content.config.js"); + export type ContentConfig = typeof import("../src/content.config.mjs"); export type LiveContentConfig = never; } diff --git a/dealplustech-astro/.env.example b/dealplustech-astro/.env.example new file mode 100644 index 000000000..851aacabd --- /dev/null +++ b/dealplustech-astro/.env.example @@ -0,0 +1,19 @@ +# Environment Variables for Deal Plus Tech Astro Website + +# Umami Analytics (optional - setup later) +PUBLIC_UMAMI_WEBSITE_ID=your-website-id-here +PUBLIC_UMAMI_DOMAIN=https://analytics.moreminimore.com + +# Admin Dashboard +ADMIN_PASSWORD=changeme + +# Database Configuration +# For development (SQLite file) +ASTRO_DB_REMOTE_URL=file:./data/consent.db + +# For production (Turso - optional) +# ASTRO_DB_REMOTE_URL=libsql://your-db.turso.io +# ASTRO_DB_APP_TOKEN=your-turso-token + +# Site Configuration +PUBLIC_SITE_URL=https://dealplustech.co.th diff --git a/dealplustech-astro/dist/blog/index.html b/dealplustech-astro/dist/blog/index.html deleted file mode 100644 index 385d9ccad..000000000 --- a/dealplustech-astro/dist/blog/index.html +++ /dev/null @@ -1,5 +0,0 @@ - บทความความรู้ | ดีล พลัส เทค

-บทความความรู้

-บทความความรู้เกี่ยวกับวัสดุท่อ อุปกรณ์ระบบท่อ และเทคนิคการติดตั้ง -

\ No newline at end of file diff --git a/dealplustech-astro/dist/favicon.ico b/dealplustech-astro/dist/favicon.ico deleted file mode 100644 index 7f48a94d16071d6c8d06478c7458ab12e675019c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655 zcmV;A0&x9_P)Rl-XF(A`bsas&GH{e7U1}Ri zJr5jR8B2*Jd6$=$AqgTM2o2FV$WZ9|#jJ3mmpEs{jB0ps@*Kxv}=RB|IJih8Z&fqwCG`%bN0000#bW%=J zQ=IH#a_&L{B{_6Lu_3m>0bMN%+@aOmN_3G~H^8EGi>+bXO=;-|Z`uFnf==AdP z{Oj-S=ltmI=<4`LcLE*&009F@L_t(|+I`d4ZUZ3@1<*Uo7H^LoCw6-8z4wsbd;b4l zA}zMFtOw2mLX6O5Mgl}(5P=uOM4%=tnuHiuAp%(G<c=npm$Fz%eL - - - diff --git a/dealplustech-astro/dist/index.html b/dealplustech-astro/dist/index.html deleted file mode 100644 index 5d48cfe1c..000000000 --- a/dealplustech-astro/dist/index.html +++ /dev/null @@ -1,36 +0,0 @@ - หน้าแรก | ดีล พลัส เทค
ท่อพีพีอาร์คุณภาพสูง
-ผู้เชี่ยวชาญด้านระบบท่อและ HVAC -

-วัสดุท่อ อุปกรณ์ HVAC -และฉนวนหุ้มท่อ

-จำหน่ายและติดตั้งท่อ PPR, ท่อ HDPE, กริลแอร์, เทอร์โมเบรค และอุปกรณ์ระบบท่อครบวงจร พร้อมบริการให้คำปรึกษาจากทีมมืออาชีพ -

สินค้าคุณภาพ

-สินค้าทุกชิ้นผ่านมาตรฐานคุณภาพ พร้อมรับประกัน -

จัดส่งรวดเร็ว

-จัดส่งสินค้าทั่วประเทศ รวดเร็วและปลอดภัย -

บริการหลังการขาย

-ทีมงานพร้อมให้คำปรึกษาและดูแลอย่างต่อเนื่อง -

-เกี่ยวกับเรา

-บริษัท ดีล พลัส เทค จำกัด เราเป็นผู้เชียวชาญด้านระบบน้ำ ให้คำแนะนำและจำหน่ายท่อ PPR ตราช้าง ท่อพีพีอาร์ ท่อ PPR ท่อ HDPE Thai PPR คุณภาพสูง ราคาถูก -

-ด้วยประสบการณ์ยาวนาน เราพร้อมให้บริการสินค้าคุณภาพและคำแนะนำจากผู้เชี่ยวชาญ เพื่อให้งานระบบของคุณมีประสิทธิภาพสูงสุด -

-อ่านเพิ่มเติม -
เกี่ยวกับดีลพลัสเทค

-สนใจสินค้าหรือต้องการคำปรึกษา? -

-ทีมงานของเราพร้อมให้คำแนะนำและช่วยคุณเลือกสินค้าที่เหมาะสมที่สุด -

\ No newline at end of file diff --git a/dealplustech-astro/dist/products/index.html b/dealplustech-astro/dist/products/index.html deleted file mode 100644 index e2c85fc22..000000000 --- a/dealplustech-astro/dist/products/index.html +++ /dev/null @@ -1,2 +0,0 @@ - สินค้าทั้งหมด | ดีล พลัส เทค
\ No newline at end of file diff --git a/dealplustech-astro/dist/products/pp-r-pp-rct-poloplast/index.html b/dealplustech-astro/dist/products/pp-r-pp-rct-poloplast/index.html deleted file mode 100644 index 1fbb30a1f..000000000 --- a/dealplustech-astro/dist/products/pp-r-pp-rct-poloplast/index.html +++ /dev/null @@ -1,52 +0,0 @@ - ท่อ PP-R/PP-RCT POLOPLAST | ดีล พลัส เทค

ท่อ PP-R/PP-RCT POLOPLAST

ท่อพีพีอาร์ POLOPLAST จากเยอรมนี มาตรฐาน DVGW และ SKZ ทนอุณหภูมิ 95°C รับประกัน 10 ปี

ท่อ PP-R/PP-RCT POLOPLAST

-

ภาพรวม

-

ท่อพีพีอาร์ POLOPLAST เป็นผลิตภัณฑ์ ระดับพรีเมียมจากเยอรมนี มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล

-

คุณสมบัติเด่น

-

มีความทนทานสูงสุด ทนอุณหภูมิได้ถึง 95°C และ ทนแรงดันสูงถึง PN25 รับประกันคุณภาพ 10 ปี

-

ข้อดีของท่อ POLOPLAST

-
    -
  1. ผลิตในเยอรมนี - คุณภาพระดับพรีเมียม
  2. -
  3. มาตรฐานสูงสุด - DVGW และ SKZ
  4. -
  5. ทนแรงดัน PN25 - สูงที่สุดในตลาด
  6. -
  7. ฉนวนความร้อนดีเยี่ยม - ค่าการนำความร้อน 0.15 W/mK
  8. -
  9. ทนอุณหภูมิ 95°C - เหมาะกับน้ำร้อนอุณหภูมิสูง
  10. -
  11. รับประกัน 10 ปี - มั่นใจในคุณภาพ
  12. -
  13. อายุการใช้งาน 50 ปี - ลงทุนครั้งเดียว
  14. -
-

การใช้งาน

-

เหมาะสำหรับ

-
    -
  • ระบบประปาน้ำร้อนอุณหภูมิสูง
  • -
  • ระบบทำความร้อน (Heating)
  • -
  • ระบบแอร์แช่ (Chilled Water)
  • -
  • โรงแรม 5 ดาว
  • -
  • โรงพยาบาลและศูนย์การแพทย์
  • -
  • โครงการระดับพรีเมียม
  • -
  • โรงงานอุตสาหกรรม
  • -
-

มาตรฐานและรับรอง

-

ท่อ POLOPLAST ได้รับมาตรฐานสากล:

-
    -
  • DIN 8077/8078 - มาตรฐานเยอรมัน
  • -
  • ISO 15874 - มาตรฐานสากล
  • -
  • DVGW - สมาคมเทคนิคและวิทยาศาสตร์ก๊าซและน้ำเยอรมัน
  • -
  • SKZ - ศูนย์เซาท์เยอรมันพลาสติก
  • -
  • Hygienic Certificate - รับรองความปลอดภัยน้ำดื่ม
  • -
-

PP-RCT Technology

-

PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25

-

คำถามที่พบบ่อย

-

ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?

-

ท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป

-

PP-RCT คืออะไร?

-

PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25

-

ท่อ POLOPLAST รับประกันกี่ปี?

-

ท่อ POLOPLAST มีการรับประกันคุณภาพ 10 ปี สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์

-

สินค้าที่เกี่ยวข้อง

-

ข้อมูลจำเพาะ

วัสดุ
PP-R / PP-RCT (Polypropylene Random Copolymer)
มาตรฐาน
DIN 8077/8078, ISO 15874, DVGW, SKZ
แรงดันทนทาน
PN10, PN16, PN20, PN25 bar
อุณหภูมิทนทาน
-20 ถึง 95 °C
ขนาดท่อ
20, 25, 32, 40, 50, 63, 75, 90, 110, 125, 160 mm
ค่าสัมประสิทธิ์การนำความร้อน
0.15 W/mK
สี
ขาว, เขียว, ส้ม
อายุการใช้งาน
50 ปี
รับประกัน
10 ปี

คุณสมบัติเด่น

  • ผลิตในเยอรมนี คุณภาพระดับพรีเมียม
  • มาตรฐาน DVGW และ SKZ ระดับสากล
  • ทนอุณหภูมิสูงสุด 95°C
  • ทนแรงดันสูงถึง PN25
  • ค่านำความร้อนต่ำ 0.15 W/mK
  • ฉนวนความร้อนยอดเยี่ยม
  • ไม่เกิดสนิมและการกัดกร่อน
  • อายุการใช้งาน 50 ปี
  • รับประกัน 10 ปี
  • เหมาะสำหรับงานที่ต้องการคุณภาพสูงสุด

คำถามที่พบบ่อย

ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?

ท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป

PP-RCT คืออะไร?

PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25

ท่อ POLOPLAST รับประกันกี่ปี?

ท่อ POLOPLAST มีการรับประกันคุณภาพ 10 ปี สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์

\ No newline at end of file diff --git a/dealplustech-astro/dist/products/ท่อhdpe/index.html b/dealplustech-astro/dist/products/ท่อhdpe/index.html deleted file mode 100644 index dfed10e67..000000000 --- a/dealplustech-astro/dist/products/ท่อhdpe/index.html +++ /dev/null @@ -1,107 +0,0 @@ - ท่อ HDPE | ดีล พลัส เทค

ท่อ HDPE

ท่อ HDPE PE80/PE100 ทนแรงดัน PN25 อายุการใช้งาน 50 ปี มอก. สำหรับประปาและชลประทาน

ท่อ HDPE (High Density Polyethylene)

-

ภาพรวม

-

ท่อ HDPE (High Density Polyethylene) หรือ ท่อเอชดีพีอี เป็นท่อพลาสติกคุณภาพสูงที่มีความ ทนทานและยืดหยุ่นสูง ผลิตจากเม็ดพลาสติก HDPE เกรด PE80 และ PE100

-

คุณสมบัติเด่น

-

ท่อ HDPE สามารถทนแรงดันได้สูงถึง PN25 บาร์ ทนทานต่อแรงกระแทกและการกัดกร่อน ไม่เกิดสนิม อายุการใช้งานยาวนานกว่า 50 ปี

-

ข้อดีของท่อ HDPE

-
    -
  1. ทนแรงดันสูง - สูงถึง PN25 บาร์
  2. -
  3. ทนแรงกระแทก - ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน
  4. -
  5. ไม่เกิดสนิม - ทนสารเคมีและกรดด่าง
  6. -
  7. น้ำหนักเบา - ขนส่งและติดตั้งง่าย
  8. -
  9. รอยต่อแน่นหนา - ระบบ Butt Fusion ไม่รั่วซึม
  10. -
  11. อายุการใช้งานยาว - มากกว่า 50 ปี
  12. -
  13. มาตรฐาน มอก. - รับรองคุณภาพ
  14. -
-

การใช้งาน

-

เหมาะสำหรับ

-
    -
  • ระบบประปา - งานผลิตน้ำประปา
  • -
  • ระบบชลประทาน - ส่งน้ำทางการเกษตร
  • -
  • ระบบน้ำเสีย - ท่อระบายน้ำ
  • -
  • ท่อส่งก๊าซ - ท่อส่งก๊าซธรรมชาติ
  • -
  • งานอุตสาหกรรม - ท่อส่งสารเคมี
  • -
  • ระบบระบายน้ำ - งานเทศบาลและเมือง
  • -
-

มาตรฐานและรับรอง

-

ท่อ HDPE ผ่านมาตรฐาน:

-
    -
  • มอก. 827-2547 - มาตรฐานผลิตภัณฑ์อุตสาหกรรม
  • -
  • ISO 4427 - มาตรฐานสากล
  • -
  • ISO 9001 - ระบบบริหารคุณภาพ
  • -
-

เกรดของท่อ HDPE

-

PE80 vs PE100

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
คุณสมบัติPE80PE100
MRS8 MPa10 MPa
ทนแรงดันสูงสูงกว่า
ราคาประหยัดสูงกว่า
การใช้งานทั่วไปแรงดันสูง
-

SDR (Standard Dimension Ratio)

-

SDR คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ

-
    -
  • SDR น้อย = ผนังหนา = ทนแรงดันสูง
  • -
  • SDR มาก = ผนังบาง = ทนแรงดันต่ำ
  • -
-

ตัวอย่าง:

-
    -
  • SDR 9 = ทนแรงดันสูงสุด
  • -
  • SDR 11 = ทนแรงดันสูง
  • -
  • SDR 17 = ทนแรงดันปานกลาง
  • -
  • SDR 26 = ทนแรงดันต่ำ
  • -
-

การติดตั้ง

-

วิธี Butt Fusion

-
    -
  • เหมาะสำหรับท่อ 63-1200 mm
  • -
  • ใช้ความร้อนหลอมปลายท่อ
  • -
  • กดต่อกันจนเป็นชิ้นเดียว
  • -
-

วิธี Electrofusion

-
    -
  • เหมาะสำหรับท่อ 20-630 mm
  • -
  • ใช้ข้อต่อที่มีขดลวดความร้อน
  • -
  • สะดวกในพื้นที่จำกัด
  • -
-

คำถามที่พบบ่อย

-

ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?

-

ท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa

-

ท่อ HDPE มีอายุการใช้งานกี่ปี?

-

ท่อ HDPE มีอายุการใช้งานยาวนานกว่า 50 ปี ภายใต้การใช้งานตามมาตรฐาน

-

วิธีติดตั้งท่อ HDPE ทำอย่างไร?

-

ท่อ HDPE ติดตั้งโดยใช้วิธี Butt Fusion (เชื่อมปลายต่อ) หรือ Electrofusion (เชื่อมด้วยไฟฟ้า)

-

SDR ในท่อ HDPE คืออะไร?

-

SDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า

-

สินค้าที่เกี่ยวข้อง

-

ข้อมูลจำเพาะ

วัสดุ
HDPE (High Density Polyethylene)
เกรด
PE80, PE100
มาตรฐาน
มอก. 827-2547, ISO 4427
แรงดันทนทาน
PN4 - PN25 bar
SDR
SDR 9, 11, 13.6, 17, 21, 26
อุณหภูมิทนทาน
-40 ถึง 60 °C
ขนาดท่อ
20, 32, 50, 63, 75, 90, 110, 160, 200, 250, 315, 400, 500, 630 mm
สี
ดำ, น้ำเงิน (Blue Stripe)
ความหนาแน่น
0.941-0.965 g/cm³
อายุการใช้งาน
50 ปี

คุณสมบัติเด่น

  • ทนแรงดันสูงถึง PN25 บาร์
  • ทนทานต่อแรงกระแทกและการกัดกร่อน
  • ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน
  • ไม่เกิดสนิม ไม่เปรอะเปื้อน
  • น้ำหนักเบา ขนส่งและติดตั้งง่าย
  • รอยต่อแน่นหนาด้วย Butt Fusion
  • ทนทานต่อสารเคมีและกรดด่าง
  • อายุการใช้งานยาวนาน 50 ปี
  • ผ่านมาตรฐาน มอก. 827-2547
  • เหมาะสำหรับงานฝังดิน

คำถามที่พบบ่อย

ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?

ท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa ทำให้ PE100 สามารถทนแรงดันสูงกว่าในขนาดผนังที่เท่ากัน

ท่อ HDPE มีอายุการใช้งานกี่ปี?

ท่อ HDPE มีอายุการใช้งานยาวนานกว่า 50 ปี ภายใต้การใช้งานตามมาตรฐาน

วิธีติดตั้งท่อ HDPE ทำอย่างไร?

ท่อ HDPE ติดตั้งโดยใช้วิธี Butt Fusion (เชื่อมปลายต่อ) หรือ Electrofusion (เชื่อมด้วยไฟฟ้า) โดยใช้อุปกรณ์เชื่อมท่อ HDPE เฉพาะทาง

SDR ในท่อ HDPE คืออะไร?

SDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า ทนแรงดันได้สูงกว่า

\ No newline at end of file diff --git a/dealplustech-astro/dist/products/ท่อppr-thaippr/index.html b/dealplustech-astro/dist/products/ท่อppr-thaippr/index.html deleted file mode 100644 index ba0975b1e..000000000 --- a/dealplustech-astro/dist/products/ท่อppr-thaippr/index.html +++ /dev/null @@ -1,42 +0,0 @@ - ท่อ PPR Thai PPR | ดีล พลัส เทค

ท่อ PPR Thai PPR

ท่อ PPR Thai PPR คุณภาพสูง มาตรฐาน มอก. เหมาะสำหรับงานประปาและระบบน้ำ

ท่อ PPR Thai PPR

-

ภาพรวม

-

ท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ ผลิตในประเทศไทย ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน

-

คุณสมบัติเด่น

-

ด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด

-

ข้อดีของท่อ Thai PPR

-
    -
  1. ผลิตในไทย - ราคาประหยัด สนับสนุนสินค้าไทย
  2. -
  3. มาตรฐาน มอก. - รับรองคุณภาพ ตรวจสอบได้
  4. -
  5. ทนความร้อน - ใช้งานได้สูงถึง 70°C
  6. -
  7. ไม่เกิดสนิม - ไม่มีการกัดกร่อนจากสารเคมี
  8. -
  9. ติดตั้งง่าย - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว
  10. -
  11. ปลอดภัย - ใช้กับน้ำดื่มได้
  12. -
  13. น้ำหนักเบา - ขนส่งและติดตั้งสะดวก
  14. -
-

การใช้งาน

-

เหมาะสำหรับ

-
    -
  • ระบบประปาภายในอาคาร
  • -
  • ระบบน้ำเย็น
  • -
  • งานก่อสร้างที่อยู่อาศัย
  • -
  • โครงการจัดสรร
  • -
  • งานประปาขนาดเล็กและกลาง
  • -
-

มาตรฐานและรับรอง

-

ท่อ PPR Thai PPR ผ่านมาตรฐาน:

-
    -
  • มอก. 248-2549 - มาตรฐานผลิตภัณฑ์อุตสาหกรรม
  • -
-

คำถามที่พบบ่อย

-

ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?

-

ท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า

-

ท่อ Thai PPR รับประกันคุณภาพหรือไม่?

-

ได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้

-

สินค้าที่เกี่ยวข้อง

-

ข้อมูลจำเพาะ

วัสดุ
PP-R (Polypropylene Random Copolymer)
มาตรฐาน
มอก. 248-2549
แรงดันทนทาน
PN10, PN16, PN20 bar
อุณหภูมิทนทาน
0-70 °C
ขนาดท่อ
20, 25, 32, 40, 50, 63, 75, 90, 110 mm
สี
ขาว, เขียว, เทา
อายุการใช้งาน
30-50 ปี

คุณสมบัติเด่น

  • ผลิตในประเทศไทย ราคาประหยัด
  • ผ่านมาตรฐาน มอก. สามารถตรวจสอบได้
  • ทนอุณหภูมิสูงสุด 70°C
  • ไม่เกิดสนิมและการกัดกร่อน
  • ติดตั้งด้วยการเชื่อมความร้อน
  • ปลอดภัยสำหรับน้ำดื่ม
  • น้ำหนักเบา ขนส่งง่าย

คำถามที่พบบ่อย

ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?

ท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า

ท่อ Thai PPR รับประกันคุณภาพหรือไม่?

ได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้

\ No newline at end of file diff --git a/dealplustech-astro/dist/products/ท่อพีพีอาร์ตราช้าง/index.html b/dealplustech-astro/dist/products/ท่อพีพีอาร์ตราช้าง/index.html deleted file mode 100644 index 325a0bf5c..000000000 --- a/dealplustech-astro/dist/products/ท่อพีพีอาร์ตราช้าง/index.html +++ /dev/null @@ -1,59 +0,0 @@ - ท่อพีพีอาร์ตราช้าง | ดีล พลัส เทค

ท่อพีพีอาร์ตราช้าง

ท่อพีพีอาร์ตราช้าง (SCG) คุณภาพระดับสากล ทนอุณหภูมิสูง 95°C ทนความดัน 20 บาร์ อายุการใช้งาน 50 ปี

ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)

-

ภาพรวม

-

ท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท Polypropylene Random Copolymer (PP-R) ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล

-

คุณสมบัติเด่น

-

ท่อ PPR ตราช้างมีความทนทานต่ออุณหภูมิสูงสุด 95°C และทนความดันได้ถึง 20 บาร์ (PN20) เหมาะสำหรับงานระบบประปาน้ำร้อน น้ำเย็น และระบบทำความร้อน

-

ข้อดีของท่อ PPR ตราช้าง

-
    -
  1. ทนความร้อนสูง - ใช้งานกับน้ำร้อนได้ถึง 95°C
  2. -
  3. ทนแรงดัน - รับแรงดันได้สูงสุด 20 บาร์
  4. -
  5. ไม่เกิดสนิม - ไม่มีการกัดกร่อนจากสารเคมี
  6. -
  7. ผิวเรียบ - ลดการสะสมของตะกรันในท่อ
  8. -
  9. ติดตั้งง่าย - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว
  10. -
  11. ปลอดภัย - ใช้กับน้ำดื่มได้ ไม่ปนเปื้อนสารพิษ
  12. -
  13. อายุยาวนาน - ใช้งานได้นาน 50 ปี
  14. -
-

การใช้งาน

-

เหมาะสำหรัก

-
    -
  • ระบบประปาน้ำร้อนในโรงแรมและรีสอร์ท
  • -
  • ระบบน้ำเย็นในอาคารพาณิชย์
  • -
  • ระบบทำความร้อน (Heating System)
  • -
  • ระบบน้ำแรงดันสูงในโรงงาน
  • -
  • โรงพยาบาลและสถานพยาบาล
  • -
  • โครงการบ้านจัดสรร
  • -
-

มาตรฐานและรับรอง

-

ท่อพีพีอาร์ตราช้างได้รับมาตรฐานสากล:

-
    -
  • DIN 8077/8078 - มาตรฐานเยอรมัน
  • -
  • ISO 15874 - มาตรฐานสากล
  • -
  • มอก. 248-2549 - มาตรฐานผลิตภัณฑ์อุตสาหกรรมไทย
  • -
  • SCG Quality Certified - รับรองคุณภาพโดย SCG
  • -
-

วิธีการติดตั้ง

-

การติดตั้งท่อ PPR ตราช้างใช้ระบบ เชื่อมความร้อน (Heat Fusion):

-
    -
  1. ตั้งเครื่องเชื่อมที่อุณหภูมิ 260°C
  2. -
  3. เสียบท่อและข้อต่อเข้าในแม่พิมพ์
  4. -
  5. รอให้พลาสติกหลอมตัว (เวลาตามขนาดท่อ)
  6. -
  7. ดึงออกและเชื่อมท่อกับข้อต่อทันที
  8. -
  9. รอให้เย็นตัว (ประมาณ 2-3 นาที)
  10. -
-

คำถามที่พบบ่อย

-

ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?

-

ท่อ PPR ตราช้างทนอุณหภูมิสูงสุด 95°C ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน

-

ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?

-

ท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง 50 ปี ภายใต้การใช้งานตามมาตรฐาน

-

ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?

-

ท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า

-

ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?

-

ได้ ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ

-

สินค้าที่เกี่ยวข้อง

-

ข้อมูลจำเพาะ

วัสดุ
PP-R (Polypropylene Random Copolymer)
มาตรฐาน
DIN 8077/8078, ISO 15874
แรงดันทนทาน
PN10, PN16, PN20 bar
อุณหภูมิทนทาน
-20 ถึง 95 °C
ขนาดท่อ
20, 25, 32, 40, 50, 63, 75, 90, 110 mm
ความหนาผนัง
SDR 7.4, 11, 17.6
สี
ขาว, เขียว
อายุการใช้งาน
50 ปี

คุณสมบัติเด่น

  • ทนอุณหภูมิสูงสุด 95°C เหมาะกับน้ำร้อน
  • ทนความดัน PN20 (20 บาร์)
  • ไม่เกิดสนิมและการกัดกร่อน
  • ผิวภายในเรียบลดการสะสมของตะกรัน
  • ติดตั้งด้วยการเชื่อมความร้อน ไม่ต้องใช้กาว
  • ปลอดภัยสำหรับน้ำดื่ม ไม่ปนเปื้อนสารพิษ
  • ฉนวนความร้อนดี ลดการสูญเสียความร้อน
  • อายุการใช้งานยาวนาน 50 ปี
  • บำรุงรักษาต่ำ ไม่ต้องทาสี
  • น้ำหนักเบา ติดตั้งง่าย

คำถามที่พบบ่อย

ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?

ท่อ PPR ตราช้างทนอุณหภูมิสูงสุด 95°C ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน

ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?

ท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง 50 ปี ภายใต้การใช้งานตามมาตรฐาน

ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?

ท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า

วิธีติดตั้งท่อ PPR ตราช้างทำอย่างไร?

ติดตั้งโดยใช้เครื่องเชื่อมท่อ PPR อุณหภูมิ 260°C โดยเชื่อมท่อกับข้อต่อด้วยความร้อนจนกลายเป็นชิ้นเดียวกัน

ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?

ได้ ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ

\ No newline at end of file diff --git a/dealplustech-astro/dist/products/ท่อระบายน้ำ-3-ชั้น-ไซเลนท/index.html b/dealplustech-astro/dist/products/ท่อระบายน้ำ-3-ชั้น-ไซเลนท/index.html deleted file mode 100644 index bb87bd6b1..000000000 --- a/dealplustech-astro/dist/products/ท่อระบายน้ำ-3-ชั้น-ไซเลนท/index.html +++ /dev/null @@ -1,59 +0,0 @@ - ท่อระบายน้ำ 3 ชั้น ไซเลนท์ | ดีล พลัส เทค

ท่อระบายน้ำ 3 ชั้น ไซเลนท์

ท่อระบายน้ำ XYLENT 3 ชั้น ลดเสียง 22dB ระบบ Push Fit ติดตั้งง่าย จาก Poloplast ยุโรป

ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)

-

ภาพรวม

-

ท่อระบายน้ำ XYLENT เป็นท่อระบายน้ำระดับพรีเมียมจาก Poloplast ประเทศออสเตรีย มีโครงสร้าง 3 ชั้น (Triple Layer) ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล

-

คุณสมบัติเด่น

-

ระบบ Push Fit ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ ท่อ XYLENT เหมาะสำหรับอาคารที่ต้องการความเงียบ

-

ข้อดีของท่อ XYLENT

-
    -
  1. ลดเสียง 22 dB - เงียบกว่าท่อทั่วไป
  2. -
  3. 3 ชั้น - Triple Layer Structure
  4. -
  5. Push Fit - ติดตั้งง่าย ไม่ต้องใช้กาว
  6. -
  7. คุณภาพยุโรป - ผลิตในออสเตรีย
  8. -
  9. ทนอุณหภูมิ - สูงถึง 95°C
  10. -
  11. ไม่แตกหัก - PP เกรดสูง
  12. -
  13. อายุ 50 ปี - ทนทานยาวนาน
  14. -
-

การใช้งาน

-

เหมาะสำหรับ

-
    -
  • ระบบระบายน้ำอาคาร - ท่อระบายน้ำทิ้ง
  • -
  • โรงแรมและรีสอร์ท - ต้องการความเงียบ
  • -
  • โรงพยาบาล - สถานที่ต้องการความสงบ
  • -
  • อาคารพักอาศัยระดับสูง - คอนโดระดับพรีเมียม
  • -
  • อาคารสำนักงาน - สำนักงานเกรด A
  • -
-

มาตรฐานและรับรอง

-

ท่อ XYLENT ผ่านมาตรฐาน:

-
    -
  • EN 1451 - มาตรฐานยุโรปสำหรับท่อระบายน้ำ
  • -
  • DIN 19560 - มาตรฐานเยอรมัน
  • -
  • DIBt Approved - รับรองโดยสถาบันก่อสร้างเยอรมัน
  • -
-

โครงสร้าง 3 ชั้น

-

ท่อ XYLENT มีโครงสร้าง Triple Layer:

-
    -
  1. ชั้นใน - PP เรียบ ลดแรงเสียดทาน
  2. -
  3. ชั้นกลาง - PP แร่ เพิ่มความแข็งแรง
  4. -
  5. ชั้นนอก - PP เรียบ ป้องกันรอยขีดข่วน
  6. -
-

โครงสร้างนี้ช่วย ลดเสียงรบกวน ได้ถึง 22 dB

-

ระบบ Push Fit

-

Push Fit คือระบบติดตั้งที่:

-
    -
  • ไม่ต้องใช้กาว
  • -
  • ไม่ต้องใช้เครื่องมือพิเศษ
  • -
  • แค่ดันท่อเข้ากันก็ติดตั้งเสร็จ
  • -
  • ประหยัดเวลาและค่าแรง
  • -
-

คำถามที่พบบ่อย

-

ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?

-

ท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ

-

ระบบ Push Fit คืออะไร?

-

ระบบ Push Fit เป็นระบบติดตั้งที่ ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว

-

สินค้าที่เกี่ยวข้อง

-

ข้อมูลจำเพาะ

วัสดุ
PP (Polypropylene) 3 ชั้น
มาตรฐาน
EN 1451, DIN 19560
การลดเสียง
22 dB
อุณหภูมิทนทาน
-20 ถึง 95 °C
ขนาดท่อ
32, 40, 50, 75, 90, 110, 125, 160 mm
ระบบติดตั้ง
Push Fit (Push-Fit)
สี
เทาอ่อน
อายุการใช้งาน
50 ปี

คุณสมบัติเด่น

  • ลดเสียงรบกวน 22 dB
  • โครงสร้าง 3 ชั้น (Triple Layer)
  • ระบบ Push Fit ติดตั้งง่าย
  • ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ
  • ผลิตในออสเตรีย คุณภาพยุโรป
  • ทนอุณหภูมิสูง 95°C
  • ไม่แตกหักง่าย
  • อายุการใช้งาน 50 ปี

คำถามที่พบบ่อย

ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?

ท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ

ระบบ Push Fit คืออะไร?

ระบบ Push Fit เป็นระบบติดตั้งที่ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว

\ No newline at end of file diff --git a/dealplustech-astro/dist/products/ท่อไซเลอร์/index.html b/dealplustech-astro/dist/products/ท่อไซเลอร์/index.html deleted file mode 100644 index 7030c66a9..000000000 --- a/dealplustech-astro/dist/products/ท่อไซเลอร์/index.html +++ /dev/null @@ -1,51 +0,0 @@ - ท่อไซเลอร์ | ดีล พลัส เทค

ท่อไซเลอร์

ท่อไซเลอร์ ท่อเหล็กบุ PE ทนแรงดัน 50 bar มาตรฐาน BS1387 FM APPROVED สำหรับระบบดับเพลิง

ท่อไซเลอร์ (Syler Pipe)

-

ภาพรวม

-

ท่อไซเลอร์ (Syler Pipe) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับ ระบบดับเพลิงและสปริงเกลอร์ ท่อมีความทนทานสูง ทนแรงดันได้ถึง 50 บาร์

-

คุณสมบัติเด่น

-

ผ่านมาตรฐาน BS1387 จากอังกฤษและ FM APPROVED จาก Factory Mutual ท่อไซเลอร์มีการบุ PE ภายในเพื่อป้องกันการกัดกร่อนและสนิม

-

ข้อดีของท่อไซเลอร์

-
    -
  1. ทนแรงดันสูง - สูงถึง 50 บาร์
  2. -
  3. มาตรฐานสากล - BS1387, FM APPROVED, UL Listed
  4. -
  5. บุ PE - ป้องกันสนิมและการกัดกร่อน
  6. -
  7. เหมาะสำหรับดับเพลิง - ออกแบบมาเฉพาะงานนี้
  8. -
  9. ติดตั้งง่าย - ใช้ Groove Coupling
  10. -
  11. ทนความร้อน - เหมาะกับระบบสปริงเกลอร์
  12. -
  13. อายุการใช้งานยาว - ทนทานในระยะยาว
  14. -
-

การใช้งาน

-

เหมาะสำหรับ

-
    -
  • ระบบสปริงเกลอร์ - งานดับเพลิงอัตโนมัติ
  • -
  • ระบบดับเพลิง - งานป้องกันอัคคีภัย
  • -
  • โรงงานอุตสาหกรรม - ระบบความปลอดภัย
  • -
  • อาคารพาณิชย์สูง - อาคารสูง คอนโด
  • -
  • โรงแรมและโรงพยาบาล - สถานที่สาธารณะ
  • -
-

มาตรฐานและรับรอง

-

ท่อไซเลอร์ผ่านมาตรฐาน:

-
    -
  • BS1387 - มาตรฐานอังกฤษสำหรับท่อเหล็ก
  • -
  • FM APPROVED - Factory Mutual รับรองสำหรับระบบดับเพลิง
  • -
  • UL Listed - รับรองความปลอดภัย
  • -
-

การติดตั้ง

-

ท่อไซเลอร์ติดตั้งโดยใช้ Groove Coupling ซึ่งเป็นระบบต่อท่อที่:

-
    -
  • ติดตั้งรวดเร็ว
  • -
  • ไม่ต้องใช้เครื่องเชื่อม
  • -
  • รองรับแรงดันสูง
  • -
  • ถอดประกอบได้สะดวก
  • -
-

คำถามที่พบบ่อย

-

ท่อไซเลอร์เหมาะกับงานอะไร?

-

ท่อไซเลอร์ออกแบบมาเฉพาะสำหรับ ระบบดับเพลิงและสปริงเกลอร์ ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย

-

ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?

-

ท่อไซเลอร์มีการ บุ PE ภายในท่อ ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป

-

สินค้าที่เกี่ยวข้อง

-

ข้อมูลจำเพาะ

วัสดุ
เหล็กบุ PE (Steel with PE lining)
มาตรฐาน
BS1387, FM APPROVED
แรงดันทนทาน
50 bar
ขนาดท่อ
25, 32, 40, 50, 65, 80, 100, 150, 200 mm
ความหนาผนัง
Schedule 40, 80
ความยาว
6 เมตร
สี
แดง (Red) - Fire Protection

คุณสมบัติเด่น

  • ทนแรงดันสูง 50 บาร์
  • ผ่านมาตรฐาน BS1387 และ FM APPROVED
  • บุ PE ป้องกันสนิมและการกัดกร่อน
  • อายุการใช้งานยาวนาน
  • เหมาะสำหรับระบบดับเพลิง
  • ติดตั้งด้วย Groove Coupling
  • ทนทานต่อความร้อน

คำถามที่พบบ่อย

ท่อไซเลอร์เหมาะกับงานอะไร?

ท่อไซเลอร์ออกแบบมาเฉพาะสำหรับระบบดับเพลิงและสปริงเกลอร์ ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย

ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?

ท่อไซเลอร์มีการบุ PE ภายในท่อ ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป

\ No newline at end of file diff --git a/dealplustech-astro/node_modules/.astro/data-store.json b/dealplustech-astro/node_modules/.astro/data-store.json index 4cfee3c01..754f8f895 100644 --- a/dealplustech-astro/node_modules/.astro/data-store.json +++ b/dealplustech-astro/node_modules/.astro/data-store.json @@ -1 +1 @@ -[["Map",1,2,9,10],"meta::meta",["Map",3,4,5,6,7,8],"astro-version","5.18.0","content-config-digest","392f3618c90ce109","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[],\"actionBodySizeLimit\":1048576},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false,\"svgo\":false},\"legacy\":{\"collections\":false}}","products",["Map",11,12,140,141,279,280,382,383,503,504,664,665],"ท่อไซเลอร์",{"id":11,"data":13,"body":84,"filePath":85,"digest":86,"rendered":87},{"id":14,"name":11,"nameEn":15,"slug":11,"description":16,"shortDescription":17,"keywords":18,"seoContent":27,"image":28,"specifications":29,"features":54,"applications":62,"certifications":68,"faq":70,"relatedProductIds":77,"schemaData":80},"syler","Syler Pipe","ท่อไซเลอร์ ท่อเหล็กบุ PE ทนแรงดัน 50 bar มาตรฐาน BS1387 FM APPROVED สำหรับระบบดับเพลิง","ท่อเหล็กบุ PE BS1387 FM APPROVED",[11,15,19,20,21,22,23,24,25,26],"ท่อเหล็กบุ PE","FM APPROVED","ท่อดับเพลิง","ท่อสปริงเกลอร์","BS1387","ท่อเหล็กชุบ PE","fire protection pipe","ท่อน้ำดับเพลิง","ท่อไซเลอร์ (Syler Pipe) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับระบบดับเพลิงและสปริงเกลอร์ ท่อมีความทนทานสูง ทนแรงดันได้ถึง 50 บาร์ ผ่านมาตรฐาน BS1387 จากอังกฤษและ FM APPROVED จาก Factory Mutual","/images/2021/03/syler_000C.jpg",[30,33,36,40,44,47,51],{"label":31,"value":32},"วัสดุ","เหล็กบุ PE (Steel with PE lining)",{"label":34,"value":35},"มาตรฐาน","BS1387, FM APPROVED",{"label":37,"value":38,"unit":39},"แรงดันทนทาน","50","bar",{"label":41,"value":42,"unit":43},"ขนาดท่อ","25, 32, 40, 50, 65, 80, 100, 150, 200","mm",{"label":45,"value":46},"ความหนาผนัง","Schedule 40, 80",{"label":48,"value":49,"unit":50},"ความยาว","6","เมตร",{"label":52,"value":53},"สี","แดง (Red) - Fire Protection",[55,56,57,58,59,60,61],"ทนแรงดันสูง 50 บาร์","ผ่านมาตรฐาน BS1387 และ FM APPROVED","บุ PE ป้องกันสนิมและการกัดกร่อน","อายุการใช้งานยาวนาน","เหมาะสำหรับระบบดับเพลิง","ติดตั้งด้วย Groove Coupling","ทนทานต่อความร้อน",[63,64,65,66,67],"ระบบสปริงเกลอร์","ระบบดับเพลิง","โรงงานอุตสาหกรรม","อาคารพาณิชย์สูง","โรงแรมและโรงพยาบาล",[23,20,69],"UL Listed",[71,74],{"question":72,"answer":73},"ท่อไซเลอร์เหมาะกับงานอะไร?","ท่อไซเลอร์ออกแบบมาเฉพาะสำหรับระบบดับเพลิงและสปริงเกลอร์ ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย",{"question":75,"answer":76},"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?","ท่อไซเลอร์มีการบุ PE ภายในท่อ ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป",[78,79],"realflex","groove-coupling",{"brand":81,"material":82,"category":83},"Syler","Steel with PE Lining","Fire Protection Pipe","# ท่อไซเลอร์ (Syler Pipe)\n\n## ภาพรวม\n\nท่อไซเลอร์ (**Syler Pipe**) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับ **ระบบดับเพลิงและสปริงเกลอร์** ท่อมีความทนทานสูง ทนแรงดันได้ถึง **50 บาร์**\n\n## คุณสมบัติเด่น\n\nผ่านมาตรฐาน **BS1387** จากอังกฤษและ **FM APPROVED** จาก Factory Mutual ท่อไซเลอร์มีการบุ PE ภายในเพื่อป้องกันการกัดกร่อนและสนิม\n\n### ข้อดีของท่อไซเลอร์\n\n1. **ทนแรงดันสูง** - สูงถึง 50 บาร์\n2. **มาตรฐานสากล** - BS1387, FM APPROVED, UL Listed\n3. **บุ PE** - ป้องกันสนิมและการกัดกร่อน\n4. **เหมาะสำหรับดับเพลิง** - ออกแบบมาเฉพาะงานนี้\n5. **ติดตั้งง่าย** - ใช้ Groove Coupling\n6. **ทนความร้อน** - เหมาะกับระบบสปริงเกลอร์\n7. **อายุการใช้งานยาว** - ทนทานในระยะยาว\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบสปริงเกลอร์** - งานดับเพลิงอัตโนมัติ\n- **ระบบดับเพลิง** - งานป้องกันอัคคีภัย\n- **โรงงานอุตสาหกรรม** - ระบบความปลอดภัย\n- **อาคารพาณิชย์สูง** - อาคารสูง คอนโด\n- **โรงแรมและโรงพยาบาล** - สถานที่สาธารณะ\n\n## มาตรฐานและรับรอง\n\nท่อไซเลอร์ผ่านมาตรฐาน:\n\n- ✅ **BS1387** - มาตรฐานอังกฤษสำหรับท่อเหล็ก\n- ✅ **FM APPROVED** - Factory Mutual รับรองสำหรับระบบดับเพลิง\n- ✅ **UL Listed** - รับรองความปลอดภัย\n\n## การติดตั้ง\n\nท่อไซเลอร์ติดตั้งโดยใช้ **Groove Coupling** ซึ่งเป็นระบบต่อท่อที่:\n- ติดตั้งรวดเร็ว\n- ไม่ต้องใช้เครื่องเชื่อม\n- รองรับแรงดันสูง\n- ถอดประกอบได้สะดวก\n\n## คำถามที่พบบ่อย\n\n### ท่อไซเลอร์เหมาะกับงานอะไร?\n\nท่อไซเลอร์ออกแบบมาเฉพาะสำหรับ **ระบบดับเพลิงและสปริงเกลอร์** ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย\n\n### ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?\n\nท่อไซเลอร์มีการ **บุ PE ภายในท่อ** ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป\n\n## สินค้าที่เกี่ยวข้อง\n\n- [Realflex](/realflex/)\n- [ท่อและข้อต่อ Groove](/อุปกรณ์ท่อกรูฟ/)","src/content/products/syler.md","cc2ae8e1ef12a084",{"html":88,"metadata":89},"\u003Ch1 id=\"ท่อไซเลอร์-syler-pipe\">ท่อไซเลอร์ (Syler Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อไซเลอร์ (\u003Cstrong>Syler Pipe\u003C/strong>) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับ \u003Cstrong>ระบบดับเพลิงและสปริงเกลอร์\u003C/strong> ท่อมีความทนทานสูง ทนแรงดันได้ถึง \u003Cstrong>50 บาร์\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ผ่านมาตรฐาน \u003Cstrong>BS1387\u003C/strong> จากอังกฤษและ \u003Cstrong>FM APPROVED\u003C/strong> จาก Factory Mutual ท่อไซเลอร์มีการบุ PE ภายในเพื่อป้องกันการกัดกร่อนและสนิม\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อไซเลอร์\">ข้อดีของท่อไซเลอร์\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนแรงดันสูง\u003C/strong> - สูงถึง 50 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐานสากล\u003C/strong> - BS1387, FM APPROVED, UL Listed\u003C/li>\n\u003Cli>\u003Cstrong>บุ PE\u003C/strong> - ป้องกันสนิมและการกัดกร่อน\u003C/li>\n\u003Cli>\u003Cstrong>เหมาะสำหรับดับเพลิง\u003C/strong> - ออกแบบมาเฉพาะงานนี้\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - ใช้ Groove Coupling\u003C/li>\n\u003Cli>\u003Cstrong>ทนความร้อน\u003C/strong> - เหมาะกับระบบสปริงเกลอร์\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งานยาว\u003C/strong> - ทนทานในระยะยาว\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบสปริงเกลอร์\u003C/strong> - งานดับเพลิงอัตโนมัติ\u003C/li>\n\u003Cli>\u003Cstrong>ระบบดับเพลิง\u003C/strong> - งานป้องกันอัคคีภัย\u003C/li>\n\u003Cli>\u003Cstrong>โรงงานอุตสาหกรรม\u003C/strong> - ระบบความปลอดภัย\u003C/li>\n\u003Cli>\u003Cstrong>อาคารพาณิชย์สูง\u003C/strong> - อาคารสูง คอนโด\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรมและโรงพยาบาล\u003C/strong> - สถานที่สาธารณะ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อไซเลอร์ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>BS1387\u003C/strong> - มาตรฐานอังกฤษสำหรับท่อเหล็ก\u003C/li>\n\u003Cli>✅ \u003Cstrong>FM APPROVED\u003C/strong> - Factory Mutual รับรองสำหรับระบบดับเพลิง\u003C/li>\n\u003Cli>✅ \u003Cstrong>UL Listed\u003C/strong> - รับรองความปลอดภัย\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้ง\">การติดตั้ง\u003C/h2>\n\u003Cp>ท่อไซเลอร์ติดตั้งโดยใช้ \u003Cstrong>Groove Coupling\u003C/strong> ซึ่งเป็นระบบต่อท่อที่:\u003C/p>\n\u003Cul>\n\u003Cli>ติดตั้งรวดเร็ว\u003C/li>\n\u003Cli>ไม่ต้องใช้เครื่องเชื่อม\u003C/li>\n\u003Cli>รองรับแรงดันสูง\u003C/li>\n\u003Cli>ถอดประกอบได้สะดวก\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อไซเลอร์เหมาะกับงานอะไร\">ท่อไซเลอร์เหมาะกับงานอะไร?\u003C/h3>\n\u003Cp>ท่อไซเลอร์ออกแบบมาเฉพาะสำหรับ \u003Cstrong>ระบบดับเพลิงและสปริงเกลอร์\u003C/strong> ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย\u003C/p>\n\u003Ch3 id=\"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร\">ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?\u003C/h3>\n\u003Cp>ท่อไซเลอร์มีการ \u003Cstrong>บุ PE ภายในท่อ\u003C/strong> ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/realflex/\">Realflex\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%AD%E0%B8%B8%E0%B8%9B%E0%B8%81%E0%B8%A3%E0%B8%93%E0%B9%8C%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%81%E0%B8%A3%E0%B8%B9%E0%B8%9F/\">ท่อและข้อต่อ Groove\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":90,"localImagePaths":119,"remoteImagePaths":120,"frontmatter":121,"imagePaths":139},[91,95,98,100,103,105,107,109,111,113,115,117],{"depth":92,"slug":93,"text":94},1,"ท่อไซเลอร์-syler-pipe","ท่อไซเลอร์ (Syler Pipe)",{"depth":96,"slug":97,"text":97},2,"ภาพรวม",{"depth":96,"slug":99,"text":99},"คุณสมบัติเด่น",{"depth":101,"slug":102,"text":102},3,"ข้อดีของท่อไซเลอร์",{"depth":96,"slug":104,"text":104},"การใช้งาน",{"depth":101,"slug":106,"text":106},"เหมาะสำหรับ",{"depth":96,"slug":108,"text":108},"มาตรฐานและรับรอง",{"depth":96,"slug":110,"text":110},"การติดตั้ง",{"depth":96,"slug":112,"text":112},"คำถามที่พบบ่อย",{"depth":101,"slug":114,"text":72},"ท่อไซเลอร์เหมาะกับงานอะไร",{"depth":101,"slug":116,"text":75},"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร",{"depth":96,"slug":118,"text":118},"สินค้าที่เกี่ยวข้อง",[],[],{"id":14,"name":11,"nameEn":15,"slug":11,"description":16,"shortDescription":17,"image":28,"keywords":122,"seoContent":27,"specifications":123,"features":131,"applications":132,"certifications":133,"faq":134,"relatedProductIds":137,"schemaData":138},[11,15,19,20,21,22,23,24,25,26],[124,125,126,127,128,129,130],{"label":31,"value":32},{"label":34,"value":35},{"label":37,"value":38,"unit":39},{"label":41,"value":42,"unit":43},{"label":45,"value":46},{"label":48,"value":49,"unit":50},{"label":52,"value":53},[55,56,57,58,59,60,61],[63,64,65,66,67],[23,20,69],[135,136],{"question":72,"answer":73},{"question":75,"answer":76},[78,79],{"brand":81,"material":82,"category":83},[],"pp-r-pp-rct-poloplast",{"id":140,"data":142,"body":227,"filePath":228,"digest":229,"rendered":230},{"id":143,"name":144,"nameEn":145,"slug":140,"description":146,"shortDescription":147,"keywords":148,"seoContent":160,"image":161,"specifications":162,"features":187,"applications":198,"certifications":205,"faq":209,"relatedProductIds":219,"schemaData":223},"poloplast","ท่อ PP-R/PP-RCT POLOPLAST","POLOPLAST PP-R Pipe","ท่อพีพีอาร์ POLOPLAST จากเยอรมนี มาตรฐาน DVGW และ SKZ ทนอุณหภูมิ 95°C รับประกัน 10 ปี","ท่อ PP-R/PP-RCT POLOPLAST คุณภาพเยอรมัน",[149,150,151,152,153,154,155,156,157,158,159],"POLOPLAST","ท่อเยอรมัน","PP-RCT","ท่อพีพีอาร์เกรดสูง","ท่อ POLOPLAST","ท่อ PP-R เยอรมัน","ท่อน้ำร้อนเยอรมัน","DVGW","SKZ","ท่อ PP-RCT","Poloplast Thailand","ท่อพีพีอาร์ POLOPLAST เป็นผลิตภัณฑ์ระดับพรีเมียมจากเยอรมนี มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล มีความทนทานสูงสุด ทนอุณหภูมิได้ถึง 95°C และทนแรงดันสูง รับประกันคุณภาพ 10 ปี","/images/2021/03/poloplast_000C.jpg",[163,165,167,169,173,175,179,181,184],{"label":31,"value":164},"PP-R / PP-RCT (Polypropylene Random Copolymer)",{"label":34,"value":166},"DIN 8077/8078, ISO 15874, DVGW, SKZ",{"label":37,"value":168,"unit":39},"PN10, PN16, PN20, PN25",{"label":170,"value":171,"unit":172},"อุณหภูมิทนทาน","-20 ถึง 95","°C",{"label":41,"value":174,"unit":43},"20, 25, 32, 40, 50, 63, 75, 90, 110, 125, 160",{"label":176,"value":177,"unit":178},"ค่าสัมประสิทธิ์การนำความร้อน","0.15","W/mK",{"label":52,"value":180},"ขาว, เขียว, ส้ม",{"label":182,"value":38,"unit":183},"อายุการใช้งาน","ปี",{"label":185,"value":186,"unit":183},"รับประกัน","10",[188,189,190,191,192,193,194,195,196,197],"ผลิตในเยอรมนี คุณภาพระดับพรีเมียม","มาตรฐาน DVGW และ SKZ ระดับสากล","ทนอุณหภูมิสูงสุด 95°C","ทนแรงดันสูงถึง PN25","ค่านำความร้อนต่ำ 0.15 W/mK","ฉนวนความร้อนยอดเยี่ยม","ไม่เกิดสนิมและการกัดกร่อน","อายุการใช้งาน 50 ปี","รับประกัน 10 ปี","เหมาะสำหรับงานที่ต้องการคุณภาพสูงสุด",[199,200,201,202,203,204,65],"ระบบประปาน้ำร้อนอุณหภูมิสูง","ระบบทำความร้อน (Heating)","ระบบแอร์แช่ (Chilled Water)","โรงแรม 5 ดาว","โรงพยาบาลและศูนย์การแพทย์","โครงการระดับพรีเมียม",[206,207,156,157,208],"DIN 8077/8078","ISO 15874","Hygienic Certificate",[210,213,216],{"question":211,"answer":212},"ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?","ท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป",{"question":214,"answer":215},"PP-RCT คืออะไร?","PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25",{"question":217,"answer":218},"ท่อ POLOPLAST รับประกันกี่ปี?","ท่อ POLOPLAST มีการรับประกันคุณภาพ 10 ปี สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์",[220,221,222],"ppr-elephant","thai-ppr","ppr-welder",{"brand":149,"manufacturer":224,"material":225,"category":226},"POLOPLAST GmbH (Germany)","PP-R / PP-RCT","Plumbing Pipe - Premium PPR","# ท่อ PP-R/PP-RCT POLOPLAST\n\n## ภาพรวม\n\nท่อพีพีอาร์ **POLOPLAST** เป็นผลิตภัณฑ์ **ระดับพรีเมียมจากเยอรมนี** มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล\n\n## คุณสมบัติเด่น\n\nมีความทนทานสูงสุด **ทนอุณหภูมิได้ถึง 95°C** และ **ทนแรงดันสูงถึง PN25** รับประกันคุณภาพ **10 ปี**\n\n### ข้อดีของท่อ POLOPLAST\n\n1. **ผลิตในเยอรมนี** - คุณภาพระดับพรีเมียม\n2. **มาตรฐานสูงสุด** - DVGW และ SKZ\n3. **ทนแรงดัน PN25** - สูงที่สุดในตลาด\n4. **ฉนวนความร้อนดีเยี่ยม** - ค่าการนำความร้อน 0.15 W/mK\n5. **ทนอุณหภูมิ 95°C** - เหมาะกับน้ำร้อนอุณหภูมิสูง\n6. **รับประกัน 10 ปี** - มั่นใจในคุณภาพ\n7. **อายุการใช้งาน 50 ปี** - ลงทุนครั้งเดียว\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- ระบบประปาน้ำร้อนอุณหภูมิสูง\n- ระบบทำความร้อน (Heating)\n- ระบบแอร์แช่ (Chilled Water)\n- **โรงแรม 5 ดาว**\n- **โรงพยาบาลและศูนย์การแพทย์**\n- **โครงการระดับพรีเมียม**\n- โรงงานอุตสาหกรรม\n\n## มาตรฐานและรับรอง\n\nท่อ POLOPLAST ได้รับมาตรฐานสากล:\n\n- ✅ **DIN 8077/8078** - มาตรฐานเยอรมัน\n- ✅ **ISO 15874** - มาตรฐานสากล\n- ✅ **DVGW** - สมาคมเทคนิคและวิทยาศาสตร์ก๊าซและน้ำเยอรมัน\n- ✅ **SKZ** - ศูนย์เซาท์เยอรมันพลาสติก\n- ✅ **Hygienic Certificate** - รับรองความปลอดภัยน้ำดื่ม\n\n## PP-RCT Technology\n\n**PP-RCT** (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง **PN25**\n\n## คำถามที่พบบ่อย\n\n### ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?\n\nท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป\n\n### PP-RCT คืออะไร?\n\nPP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25\n\n### ท่อ POLOPLAST รับประกันกี่ปี?\n\nท่อ POLOPLAST มีการรับประกันคุณภาพ **10 ปี** สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)\n- [ท่อ PPR Thai PPR](/ท่อppr-thaippr/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/poloplast.md","a12877267883517d",{"html":231,"metadata":232},"\u003Ch1 id=\"ท่อ-pp-rpp-rct-poloplast\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ \u003Cstrong>POLOPLAST\u003C/strong> เป็นผลิตภัณฑ์ \u003Cstrong>ระดับพรีเมียมจากเยอรมนี\u003C/strong> มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>มีความทนทานสูงสุด \u003Cstrong>ทนอุณหภูมิได้ถึง 95°C\u003C/strong> และ \u003Cstrong>ทนแรงดันสูงถึง PN25\u003C/strong> รับประกันคุณภาพ \u003Cstrong>10 ปี\u003C/strong>\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-poloplast\">ข้อดีของท่อ POLOPLAST\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ผลิตในเยอรมนี\u003C/strong> - คุณภาพระดับพรีเมียม\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐานสูงสุด\u003C/strong> - DVGW และ SKZ\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงดัน PN25\u003C/strong> - สูงที่สุดในตลาด\u003C/li>\n\u003Cli>\u003Cstrong>ฉนวนความร้อนดีเยี่ยม\u003C/strong> - ค่าการนำความร้อน 0.15 W/mK\u003C/li>\n\u003Cli>\u003Cstrong>ทนอุณหภูมิ 95°C\u003C/strong> - เหมาะกับน้ำร้อนอุณหภูมิสูง\u003C/li>\n\u003Cli>\u003Cstrong>รับประกัน 10 ปี\u003C/strong> - มั่นใจในคุณภาพ\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งาน 50 ปี\u003C/strong> - ลงทุนครั้งเดียว\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาน้ำร้อนอุณหภูมิสูง\u003C/li>\n\u003Cli>ระบบทำความร้อน (Heating)\u003C/li>\n\u003Cli>ระบบแอร์แช่ (Chilled Water)\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรม 5 ดาว\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>โรงพยาบาลและศูนย์การแพทย์\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>โครงการระดับพรีเมียม\u003C/strong>\u003C/li>\n\u003Cli>โรงงานอุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ POLOPLAST ได้รับมาตรฐานสากล:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>DIN 8077/8078\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 15874\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>DVGW\u003C/strong> - สมาคมเทคนิคและวิทยาศาสตร์ก๊าซและน้ำเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>SKZ\u003C/strong> - ศูนย์เซาท์เยอรมันพลาสติก\u003C/li>\n\u003Cli>✅ \u003Cstrong>Hygienic Certificate\u003C/strong> - รับรองความปลอดภัยน้ำดื่ม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"pp-rct-technology\">PP-RCT Technology\u003C/h2>\n\u003Cp>\u003Cstrong>PP-RCT\u003C/strong> (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง \u003Cstrong>PN25\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-poloplast-กับท่อ-ppr-ทั่วไปต่างกันอย่างไร\">ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?\u003C/h3>\n\u003Cp>ท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป\u003C/p>\n\u003Ch3 id=\"pp-rct-คืออะไร\">PP-RCT คืออะไร?\u003C/h3>\n\u003Cp>PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25\u003C/p>\n\u003Ch3 id=\"ท่อ-poloplast-รับประกันกี่ปี\">ท่อ POLOPLAST รับประกันกี่ปี?\u003C/h3>\n\u003Cp>ท่อ POLOPLAST มีการรับประกันคุณภาพ \u003Cstrong>10 ปี\u003C/strong> สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADppr-thaippr/\">ท่อ PPR Thai PPR\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":233,"localImagePaths":255,"remoteImagePaths":256,"frontmatter":257,"imagePaths":278},[234,236,237,238,241,242,243,244,247,248,250,252,254],{"depth":92,"slug":235,"text":144},"ท่อ-pp-rpp-rct-poloplast",{"depth":96,"slug":97,"text":97},{"depth":96,"slug":99,"text":99},{"depth":101,"slug":239,"text":240},"ข้อดีของท่อ-poloplast","ข้อดีของท่อ POLOPLAST",{"depth":96,"slug":104,"text":104},{"depth":101,"slug":106,"text":106},{"depth":96,"slug":108,"text":108},{"depth":96,"slug":245,"text":246},"pp-rct-technology","PP-RCT Technology",{"depth":96,"slug":112,"text":112},{"depth":101,"slug":249,"text":211},"ท่อ-poloplast-กับท่อ-ppr-ทั่วไปต่างกันอย่างไร",{"depth":101,"slug":251,"text":214},"pp-rct-คืออะไร",{"depth":101,"slug":253,"text":217},"ท่อ-poloplast-รับประกันกี่ปี",{"depth":96,"slug":118,"text":118},[],[],{"id":143,"name":144,"nameEn":145,"slug":140,"description":146,"shortDescription":147,"image":161,"keywords":258,"seoContent":160,"specifications":259,"features":269,"applications":270,"certifications":271,"faq":272,"relatedProductIds":276,"schemaData":277},[149,150,151,152,153,154,155,156,157,158,159],[260,261,262,263,264,265,266,267,268],{"label":31,"value":164},{"label":34,"value":166},{"label":37,"value":168,"unit":39},{"label":170,"value":171,"unit":172},{"label":41,"value":174,"unit":43},{"label":176,"value":177,"unit":178},{"label":52,"value":180},{"label":182,"value":38,"unit":183},{"label":185,"value":186,"unit":183},[188,189,190,191,192,193,194,195,196,197],[199,200,201,202,203,204,65],[206,207,156,157,208],[273,274,275],{"question":211,"answer":212},{"question":214,"answer":215},{"question":217,"answer":218},[220,221,222],{"brand":149,"manufacturer":224,"material":225,"category":226},[],"ท่อppr-thaippr",{"id":279,"data":281,"body":338,"filePath":339,"digest":340,"rendered":341},{"id":221,"name":282,"nameEn":283,"slug":279,"description":284,"shortDescription":285,"keywords":286,"seoContent":296,"image":297,"specifications":298,"features":313,"applications":320,"certifications":326,"faq":327,"relatedProductIds":334,"schemaData":335},"ท่อ PPR Thai PPR","Thai PPR Pipe","ท่อ PPR Thai PPR คุณภาพสูง มาตรฐาน มอก. เหมาะสำหรับงานประปาและระบบน้ำ","ท่อ PPR Thai PPR มาตรฐาน มอก.",[287,288,289,290,291,292,293,294,295],"ท่อ PPR","Thai PPR","ท่อพีพีอาร์ไทย","ท่อ PPR ไทย","ท่อน้ำ PPR","ท่อประปา PPR","ราคาท่อ PPR ไทย","ท่อพีพีอาร์มาตรฐาน มอก.","ท่อ PPR ราคาถูก","ท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ผลิตในประเทศไทย ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน ด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด","/images/2021/03/ppr-pipe_000C.jpg",[299,301,303,305,307,309,311],{"label":31,"value":300},"PP-R (Polypropylene Random Copolymer)",{"label":34,"value":302},"มอก. 248-2549",{"label":37,"value":304,"unit":39},"PN10, PN16, PN20",{"label":170,"value":306,"unit":172},"0-70",{"label":41,"value":308,"unit":43},"20, 25, 32, 40, 50, 63, 75, 90, 110",{"label":52,"value":310},"ขาว, เขียว, เทา",{"label":182,"value":312,"unit":183},"30-50",[314,315,316,194,317,318,319],"ผลิตในประเทศไทย ราคาประหยัด","ผ่านมาตรฐาน มอก. สามารถตรวจสอบได้","ทนอุณหภูมิสูงสุด 70°C","ติดตั้งด้วยการเชื่อมความร้อน","ปลอดภัยสำหรับน้ำดื่ม","น้ำหนักเบา ขนส่งง่าย",[321,322,323,324,325],"ระบบประปาภายในอาคาร","ระบบน้ำเย็น","งานก่อสร้างที่อยู่อาศัย","โครงการจัดสรร","งานประปาขนาดเล็กและกลาง",[302],[328,331],{"question":329,"answer":330},"ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?","ท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า",{"question":332,"answer":333},"ท่อ Thai PPR รับประกันคุณภาพหรือไม่?","ได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้",[220,143,222],{"brand":288,"manufacturer":288,"material":336,"category":337},"Polypropylene Random Copolymer (PP-R)","Plumbing Pipe - PPR","# ท่อ PPR Thai PPR\n\n## ภาพรวม\n\nท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ **ผลิตในประเทศไทย** ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน\n\n## คุณสมบัติเด่น\n\nด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด\n\n### ข้อดีของท่อ Thai PPR\n\n1. **ผลิตในไทย** - ราคาประหยัด สนับสนุนสินค้าไทย\n2. **มาตรฐาน มอก.** - รับรองคุณภาพ ตรวจสอบได้\n3. **ทนความร้อน** - ใช้งานได้สูงถึง 70°C\n4. **ไม่เกิดสนิม** - ไม่มีการกัดกร่อนจากสารเคมี\n5. **ติดตั้งง่าย** - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\n6. **ปลอดภัย** - ใช้กับน้ำดื่มได้\n7. **น้ำหนักเบา** - ขนส่งและติดตั้งสะดวก\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- ระบบประปาภายในอาคาร\n- ระบบน้ำเย็น\n- งานก่อสร้างที่อยู่อาศัย\n- โครงการจัดสรร\n- งานประปาขนาดเล็กและกลาง\n\n## มาตรฐานและรับรอง\n\nท่อ PPR Thai PPR ผ่านมาตรฐาน:\n\n- ✅ **มอก. 248-2549** - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\n\n## คำถามที่พบบ่อย\n\n### ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?\n\nท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า\n\n### ท่อ Thai PPR รับประกันคุณภาพหรือไม่?\n\nได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/thai-ppr.md","836392630862c315",{"html":342,"metadata":343},"\u003Ch1 id=\"ท่อ-ppr-thai-ppr\">ท่อ PPR Thai PPR\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ \u003Cstrong>ผลิตในประเทศไทย\u003C/strong> ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-thai-ppr\">ข้อดีของท่อ Thai PPR\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ผลิตในไทย\u003C/strong> - ราคาประหยัด สนับสนุนสินค้าไทย\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐาน มอก.\u003C/strong> - รับรองคุณภาพ ตรวจสอบได้\u003C/li>\n\u003Cli>\u003Cstrong>ทนความร้อน\u003C/strong> - ใช้งานได้สูงถึง 70°C\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ไม่มีการกัดกร่อนจากสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>ปลอดภัย\u003C/strong> - ใช้กับน้ำดื่มได้\u003C/li>\n\u003Cli>\u003Cstrong>น้ำหนักเบา\u003C/strong> - ขนส่งและติดตั้งสะดวก\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาภายในอาคาร\u003C/li>\n\u003Cli>ระบบน้ำเย็น\u003C/li>\n\u003Cli>งานก่อสร้างที่อยู่อาศัย\u003C/li>\n\u003Cli>โครงการจัดสรร\u003C/li>\n\u003Cli>งานประปาขนาดเล็กและกลาง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ PPR Thai PPR ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>มอก. 248-2549\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-thai-ppr-ต่างจากท่อ-ppr-ตราช้างอย่างไร\">ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?\u003C/h3>\n\u003Cp>ท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า\u003C/p>\n\u003Ch3 id=\"ท่อ-thai-ppr-รับประกันคุณภาพหรือไม่\">ท่อ Thai PPR รับประกันคุณภาพหรือไม่?\u003C/h3>\n\u003Cp>ได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":344,"localImagePaths":361,"remoteImagePaths":362,"frontmatter":363,"imagePaths":381},[345,347,348,349,352,353,354,355,356,358,360],{"depth":92,"slug":346,"text":282},"ท่อ-ppr-thai-ppr",{"depth":96,"slug":97,"text":97},{"depth":96,"slug":99,"text":99},{"depth":101,"slug":350,"text":351},"ข้อดีของท่อ-thai-ppr","ข้อดีของท่อ Thai PPR",{"depth":96,"slug":104,"text":104},{"depth":101,"slug":106,"text":106},{"depth":96,"slug":108,"text":108},{"depth":96,"slug":112,"text":112},{"depth":101,"slug":357,"text":329},"ท่อ-thai-ppr-ต่างจากท่อ-ppr-ตราช้างอย่างไร",{"depth":101,"slug":359,"text":332},"ท่อ-thai-ppr-รับประกันคุณภาพหรือไม่",{"depth":96,"slug":118,"text":118},[],[],{"id":221,"name":282,"nameEn":283,"slug":279,"description":284,"shortDescription":285,"image":297,"keywords":364,"seoContent":296,"specifications":365,"features":373,"applications":374,"certifications":375,"faq":376,"relatedProductIds":379,"schemaData":380},[287,288,289,290,291,292,293,294,295],[366,367,368,369,370,371,372],{"label":31,"value":300},{"label":34,"value":302},{"label":37,"value":304,"unit":39},{"label":170,"value":306,"unit":172},{"label":41,"value":308,"unit":43},{"label":52,"value":310},{"label":182,"value":312,"unit":183},[314,315,316,194,317,318,319],[321,322,323,324,325],[302],[377,378],{"question":329,"answer":330},{"question":332,"answer":333},[220,143,222],{"brand":288,"manufacturer":288,"material":336,"category":337},[],"ท่อพีพีอาร์ตราช้าง",{"id":382,"data":384,"body":447,"filePath":448,"digest":449,"rendered":450},{"id":220,"name":382,"nameEn":385,"slug":382,"description":386,"shortDescription":387,"keywords":388,"seoContent":394,"image":297,"specifications":395,"features":407,"applications":417,"certifications":425,"faq":427,"relatedProductIds":443,"schemaData":444},"PPR Elephant Pipe","ท่อพีพีอาร์ตราช้าง (SCG) คุณภาพระดับสากล ทนอุณหภูมิสูง 95°C ทนความดัน 20 บาร์ อายุการใช้งาน 50 ปี","ท่อพีพีอาร์ตราช้าง SCG มาตรฐาน DIN 8077/8078",[287,389,291,292,390,391,392,393],"ท่อพีพีอาร์","ราคาท่อ PPR","ท่อตราช้าง","SCG PPR","ท่อ PPR SCG","ท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท Polypropylene Random Copolymer (PP-R) ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล",[396,397,399,400,401,402,404,406],{"label":31,"value":300},{"label":34,"value":398},"DIN 8077/8078, ISO 15874",{"label":37,"value":304,"unit":39},{"label":170,"value":171,"unit":172},{"label":41,"value":308,"unit":43},{"label":45,"value":403},"SDR 7.4, 11, 17.6",{"label":52,"value":405},"ขาว, เขียว",{"label":182,"value":38,"unit":183},[408,409,194,410,411,412,413,414,415,416],"ทนอุณหภูมิสูงสุด 95°C เหมาะกับน้ำร้อน","ทนความดัน PN20 (20 บาร์)","ผิวภายในเรียบลดการสะสมของตะกรัน","ติดตั้งด้วยการเชื่อมความร้อน ไม่ต้องใช้กาว","ปลอดภัยสำหรับน้ำดื่ม ไม่ปนเปื้อนสารพิษ","ฉนวนความร้อนดี ลดการสูญเสียความร้อน","อายุการใช้งานยาวนาน 50 ปี","บำรุงรักษาต่ำ ไม่ต้องทาสี","น้ำหนักเบา ติดตั้งง่าย",[418,419,200,420,421,422,423,424,65],"ระบบประปาน้ำร้อน","ระบบประปาน้ำเย็น","ระบบน้ำแรงดันสูง","โรงแรมและรีสอร์ท","โรงพยาบาลและสถานพยาบาล","อาคารพาณิชย์และสำนักงาน","โครงการบ้านจัดสรร",[206,207,302,426],"SCG Quality Certified",[428,431,434,437,440],{"question":429,"answer":430},"ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?","ท่อ PPR ตราช้างทนอุณหภูมิสูงสุด 95°C ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน",{"question":432,"answer":433},"ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?","ท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง 50 ปี ภายใต้การใช้งานตามมาตรฐาน",{"question":435,"answer":436},"ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?","ท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า",{"question":438,"answer":439},"วิธีติดตั้งท่อ PPR ตราช้างทำอย่างไร?","ติดตั้งโดยใช้เครื่องเชื่อมท่อ PPR อุณหภูมิ 260°C โดยเชื่อมท่อกับข้อต่อด้วยความร้อนจนกลายเป็นชิ้นเดียวกัน",{"question":441,"answer":442},"ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?","ได้ ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ",[221,143,222],{"brand":445,"manufacturer":446,"material":336,"category":337},"SCG Elephant","SCG Chemicals","# ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)\n\n## ภาพรวม\n\nท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท **Polypropylene Random Copolymer (PP-R)** ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล\n\n## คุณสมบัติเด่น\n\nท่อ PPR ตราช้างมีความทนทานต่ออุณหภูมิสูงสุด **95°C** และทนความดันได้ถึง **20 บาร์ (PN20)** เหมาะสำหรับงานระบบประปาน้ำร้อน น้ำเย็น และระบบทำความร้อน\n\n### ข้อดีของท่อ PPR ตราช้าง\n\n1. **ทนความร้อนสูง** - ใช้งานกับน้ำร้อนได้ถึง 95°C\n2. **ทนแรงดัน** - รับแรงดันได้สูงสุด 20 บาร์\n3. **ไม่เกิดสนิม** - ไม่มีการกัดกร่อนจากสารเคมี\n4. **ผิวเรียบ** - ลดการสะสมของตะกรันในท่อ\n5. **ติดตั้งง่าย** - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\n6. **ปลอดภัย** - ใช้กับน้ำดื่มได้ ไม่ปนเปื้อนสารพิษ\n7. **อายุยาวนาน** - ใช้งานได้นาน 50 ปี\n\n## การใช้งาน\n\n### เหมาะสำหรัก\n\n- ระบบประปาน้ำร้อนในโรงแรมและรีสอร์ท\n- ระบบน้ำเย็นในอาคารพาณิชย์\n- ระบบทำความร้อน (Heating System)\n- ระบบน้ำแรงดันสูงในโรงงาน\n- โรงพยาบาลและสถานพยาบาล\n- โครงการบ้านจัดสรร\n\n## มาตรฐานและรับรอง\n\nท่อพีพีอาร์ตราช้างได้รับมาตรฐานสากล:\n\n- ✅ **DIN 8077/8078** - มาตรฐานเยอรมัน\n- ✅ **ISO 15874** - มาตรฐานสากล\n- ✅ **มอก. 248-2549** - มาตรฐานผลิตภัณฑ์อุตสาหกรรมไทย\n- ✅ **SCG Quality Certified** - รับรองคุณภาพโดย SCG\n\n## วิธีการติดตั้ง\n\nการติดตั้งท่อ PPR ตราช้างใช้ระบบ **เชื่อมความร้อน (Heat Fusion)**:\n\n1. ตั้งเครื่องเชื่อมที่อุณหภูมิ **260°C**\n2. เสียบท่อและข้อต่อเข้าในแม่พิมพ์\n3. รอให้พลาสติกหลอมตัว (เวลาตามขนาดท่อ)\n4. ดึงออกและเชื่อมท่อกับข้อต่อทันที\n5. รอให้เย็นตัว (ประมาณ 2-3 นาที)\n\n## คำถามที่พบบ่อย\n\n### ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?\n\nท่อ PPR ตราช้างทนอุณหภูมิสูงสุด **95°C** ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน\n\n### ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?\n\nท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง **50 ปี** ภายใต้การใช้งานตามมาตรฐาน\n\n### ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?\n\nท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า\n\n### ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?\n\n**ได้** ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อ PPR Thai PPR](/ท่อppr-thaippr/)\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/ppr-elephant.md","4dbe4dc67c6915d0",{"html":451,"metadata":452},"\u003Ch1 id=\"ท่อพีพีอาร์ตราช้าง-ppr-elephant-pipe\">ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท \u003Cstrong>Polypropylene Random Copolymer (PP-R)\u003C/strong> ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ท่อ PPR ตราช้างมีความทนทานต่ออุณหภูมิสูงสุด \u003Cstrong>95°C\u003C/strong> และทนความดันได้ถึง \u003Cstrong>20 บาร์ (PN20)\u003C/strong> เหมาะสำหรับงานระบบประปาน้ำร้อน น้ำเย็น และระบบทำความร้อน\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-ppr-ตราช้าง\">ข้อดีของท่อ PPR ตราช้าง\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนความร้อนสูง\u003C/strong> - ใช้งานกับน้ำร้อนได้ถึง 95°C\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงดัน\u003C/strong> - รับแรงดันได้สูงสุด 20 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ไม่มีการกัดกร่อนจากสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ผิวเรียบ\u003C/strong> - ลดการสะสมของตะกรันในท่อ\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>ปลอดภัย\u003C/strong> - ใช้กับน้ำดื่มได้ ไม่ปนเปื้อนสารพิษ\u003C/li>\n\u003Cli>\u003Cstrong>อายุยาวนาน\u003C/strong> - ใช้งานได้นาน 50 ปี\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรัก\">เหมาะสำหรัก\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาน้ำร้อนในโรงแรมและรีสอร์ท\u003C/li>\n\u003Cli>ระบบน้ำเย็นในอาคารพาณิชย์\u003C/li>\n\u003Cli>ระบบทำความร้อน (Heating System)\u003C/li>\n\u003Cli>ระบบน้ำแรงดันสูงในโรงงาน\u003C/li>\n\u003Cli>โรงพยาบาลและสถานพยาบาล\u003C/li>\n\u003Cli>โครงการบ้านจัดสรร\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ตราช้างได้รับมาตรฐานสากล:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>DIN 8077/8078\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 15874\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>มอก. 248-2549\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรมไทย\u003C/li>\n\u003Cli>✅ \u003Cstrong>SCG Quality Certified\u003C/strong> - รับรองคุณภาพโดย SCG\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"วิธีการติดตั้ง\">วิธีการติดตั้ง\u003C/h2>\n\u003Cp>การติดตั้งท่อ PPR ตราช้างใช้ระบบ \u003Cstrong>เชื่อมความร้อน (Heat Fusion)\u003C/strong>:\u003C/p>\n\u003Col>\n\u003Cli>ตั้งเครื่องเชื่อมที่อุณหภูมิ \u003Cstrong>260°C\u003C/strong>\u003C/li>\n\u003Cli>เสียบท่อและข้อต่อเข้าในแม่พิมพ์\u003C/li>\n\u003Cli>รอให้พลาสติกหลอมตัว (เวลาตามขนาดท่อ)\u003C/li>\n\u003Cli>ดึงออกและเชื่อมท่อกับข้อต่อทันที\u003C/li>\n\u003Cli>รอให้เย็นตัว (ประมาณ 2-3 นาที)\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างทนอุณหภูมิสูงสุดเท่าไร\">ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?\u003C/h3>\n\u003Cp>ท่อ PPR ตราช้างทนอุณหภูมิสูงสุด \u003Cstrong>95°C\u003C/strong> ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างอายุการใช้งานกี่ปี\">ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?\u003C/h3>\n\u003Cp>ท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง \u003Cstrong>50 ปี\u003C/strong> ภายใต้การใช้งานตามมาตรฐาน\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-แตกต่างจากท่อ-pvc-อย่างไร\">ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?\u003C/h3>\n\u003Cp>ท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างใช้กับน้ำดื่มได้หรือไม่\">ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?\u003C/h3>\n\u003Cp>\u003Cstrong>ได้\u003C/strong> ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADppr-thaippr/\">ท่อ PPR Thai PPR\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":453,"localImagePaths":478,"remoteImagePaths":479,"frontmatter":480,"imagePaths":502},[454,457,458,459,462,463,465,466,468,469,471,473,475,477],{"depth":92,"slug":455,"text":456},"ท่อพีพีอาร์ตราช้าง-ppr-elephant-pipe","ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)",{"depth":96,"slug":97,"text":97},{"depth":96,"slug":99,"text":99},{"depth":101,"slug":460,"text":461},"ข้อดีของท่อ-ppr-ตราช้าง","ข้อดีของท่อ PPR ตราช้าง",{"depth":96,"slug":104,"text":104},{"depth":101,"slug":464,"text":464},"เหมาะสำหรัก",{"depth":96,"slug":108,"text":108},{"depth":96,"slug":467,"text":467},"วิธีการติดตั้ง",{"depth":96,"slug":112,"text":112},{"depth":101,"slug":470,"text":429},"ท่อ-ppr-ตราช้างทนอุณหภูมิสูงสุดเท่าไร",{"depth":101,"slug":472,"text":432},"ท่อ-ppr-ตราช้างอายุการใช้งานกี่ปี",{"depth":101,"slug":474,"text":435},"ท่อ-ppr-แตกต่างจากท่อ-pvc-อย่างไร",{"depth":101,"slug":476,"text":441},"ท่อ-ppr-ตราช้างใช้กับน้ำดื่มได้หรือไม่",{"depth":96,"slug":118,"text":118},[],[],{"id":220,"name":382,"nameEn":385,"slug":382,"description":386,"shortDescription":387,"image":297,"seoContent":394,"keywords":481,"specifications":482,"features":491,"applications":492,"certifications":493,"faq":494,"relatedProductIds":500,"schemaData":501},[287,389,291,292,390,391,392,393],[483,484,485,486,487,488,489,490],{"label":31,"value":300},{"label":34,"value":398},{"label":37,"value":304,"unit":39},{"label":170,"value":171,"unit":172},{"label":41,"value":308,"unit":43},{"label":45,"value":403},{"label":52,"value":405},{"label":182,"value":38,"unit":183},[408,409,194,410,411,412,413,414,415,416],[418,419,200,420,421,422,423,424,65],[206,207,302,426],[495,496,497,498,499],{"question":429,"answer":430},{"question":432,"answer":433},{"question":435,"answer":436},{"question":438,"answer":439},{"question":441,"answer":442},[221,143,222],{"brand":445,"manufacturer":446,"material":336,"category":337},[],"ท่อhdpe",{"id":503,"data":505,"body":594,"filePath":595,"digest":596,"rendered":597},{"id":506,"name":507,"nameEn":508,"slug":503,"description":509,"shortDescription":510,"keywords":511,"seoContent":526,"image":527,"specifications":528,"features":552,"applications":562,"certifications":571,"faq":575,"relatedProductIds":588,"schemaData":590},"hdpe","ท่อ HDPE","HDPE Pipe","ท่อ HDPE PE80/PE100 ทนแรงดัน PN25 อายุการใช้งาน 50 ปี มอก. สำหรับประปาและชลประทาน","ท่อเอชดีพีอี PE80/PE100 มาตรฐาน มอก.",[507,512,513,514,515,516,517,518,519,520,521,522,523,524,525],"ท่อเอชดีพีอี","ท่อ PE","ท่อน้ำ HDPE","PE80","PE100","ท่อ PE100","ท่อ PE80","ท่อพีอี","High Density Polyethylene","ท่อชลประทาน","ท่อประปา HDPE","ท่อดำ PE","ท่อน้ำดำ","SDR pipe","ท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อพลาสติกคุณภาพสูงที่มีความทนทานและยืดหยุ่นสูง ผลิตจากเม็ดพลาสติก HDPE เกรด PE80 และ PE100 ท่อ HDPE สามารถทนแรงดันได้สูงถึง PN25 บาร์","/images/2021/03/hdpe-pipe_000C.jpg",[529,531,534,536,538,541,543,545,547,551],{"label":31,"value":530},"HDPE (High Density Polyethylene)",{"label":532,"value":533},"เกรด","PE80, PE100",{"label":34,"value":535},"มอก. 827-2547, ISO 4427",{"label":37,"value":537,"unit":39},"PN4 - PN25",{"label":539,"value":540},"SDR","SDR 9, 11, 13.6, 17, 21, 26",{"label":170,"value":542,"unit":172},"-40 ถึง 60",{"label":41,"value":544,"unit":43},"20, 32, 50, 63, 75, 90, 110, 160, 200, 250, 315, 400, 500, 630",{"label":52,"value":546},"ดำ, น้ำเงิน (Blue Stripe)",{"label":548,"value":549,"unit":550},"ความหนาแน่น","0.941-0.965","g/cm³",{"label":182,"value":38,"unit":183},[553,554,555,556,557,558,559,414,560,561],"ทนแรงดันสูงถึง PN25 บาร์","ทนทานต่อแรงกระแทกและการกัดกร่อน","ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน","ไม่เกิดสนิม ไม่เปรอะเปื้อน","น้ำหนักเบา ขนส่งและติดตั้งง่าย","รอยต่อแน่นหนาด้วย Butt Fusion","ทนทานต่อสารเคมีและกรดด่าง","ผ่านมาตรฐาน มอก. 827-2547","เหมาะสำหรับงานฝังดิน",[563,564,565,566,567,568,569,570],"ระบบประปา","ระบบชลประทาน","ระบบน้ำเสีย","ท่อส่งก๊าซ","งานอุตสาหกรรม","ท่อส่งสารเคมี","ระบบระบายน้ำ","งานเหมืองแร่",[572,573,574],"มอก. 827-2547","ISO 4427","ISO 9001",[576,579,582,585],{"question":577,"answer":578},"ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?","ท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa ทำให้ PE100 สามารถทนแรงดันสูงกว่าในขนาดผนังที่เท่ากัน",{"question":580,"answer":581},"ท่อ HDPE มีอายุการใช้งานกี่ปี?","ท่อ HDPE มีอายุการใช้งานยาวนานกว่า 50 ปี ภายใต้การใช้งานตามมาตรฐาน",{"question":583,"answer":584},"วิธีติดตั้งท่อ HDPE ทำอย่างไร?","ท่อ HDPE ติดตั้งโดยใช้วิธี Butt Fusion (เชื่อมปลายต่อ) หรือ Electrofusion (เชื่อมด้วยไฟฟ้า) โดยใช้อุปกรณ์เชื่อมท่อ HDPE เฉพาะทาง",{"question":586,"answer":587},"SDR ในท่อ HDPE คืออะไร?","SDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า ทนแรงดันได้สูงกว่า",[589,220],"hdpe-welder",{"brand":591,"material":592,"category":593},"Thai HDPE","High Density Polyethylene (HDPE)","Water Pipe - HDPE","# ท่อ HDPE (High Density Polyethylene)\n\n## ภาพรวม\n\nท่อ HDPE (High Density Polyethylene) หรือ **ท่อเอชดีพีอี** เป็นท่อพลาสติกคุณภาพสูงที่มีความ **ทนทานและยืดหยุ่นสูง** ผลิตจากเม็ดพลาสติก HDPE เกรด **PE80 และ PE100**\n\n## คุณสมบัติเด่น\n\nท่อ HDPE สามารถทนแรงดันได้สูงถึง **PN25 บาร์** ทนทานต่อแรงกระแทกและการกัดกร่อน ไม่เกิดสนิม อายุการใช้งานยาวนานกว่า **50 ปี**\n\n### ข้อดีของท่อ HDPE\n\n1. **ทนแรงดันสูง** - สูงถึง PN25 บาร์\n2. **ทนแรงกระแทก** - ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน\n3. **ไม่เกิดสนิม** - ทนสารเคมีและกรดด่าง\n4. **น้ำหนักเบา** - ขนส่งและติดตั้งง่าย\n5. **รอยต่อแน่นหนา** - ระบบ Butt Fusion ไม่รั่วซึม\n6. **อายุการใช้งานยาว** - มากกว่า 50 ปี\n7. **มาตรฐาน มอก.** - รับรองคุณภาพ\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบประปา** - งานผลิตน้ำประปา\n- **ระบบชลประทาน** - ส่งน้ำทางการเกษตร\n- **ระบบน้ำเสีย** - ท่อระบายน้ำ\n- **ท่อส่งก๊าซ** - ท่อส่งก๊าซธรรมชาติ\n- **งานอุตสาหกรรม** - ท่อส่งสารเคมี\n- **ระบบระบายน้ำ** - งานเทศบาลและเมือง\n\n## มาตรฐานและรับรอง\n\nท่อ HDPE ผ่านมาตรฐาน:\n\n- ✅ **มอก. 827-2547** - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\n- ✅ **ISO 4427** - มาตรฐานสากล\n- ✅ **ISO 9001** - ระบบบริหารคุณภาพ\n\n## เกรดของท่อ HDPE\n\n### PE80 vs PE100\n\n| คุณสมบัติ | PE80 | PE100 |\n|-----------|------|-------|\n| **MRS** | 8 MPa | 10 MPa |\n| **ทนแรงดัน** | สูง | สูงกว่า |\n| **ราคา** | ประหยัด | สูงกว่า |\n| **การใช้งาน** | ทั่วไป | แรงดันสูง |\n\n## SDR (Standard Dimension Ratio)\n\n**SDR** คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ\n\n- **SDR น้อย** = ผนังหนา = ทนแรงดันสูง\n- **SDR มาก** = ผนังบาง = ทนแรงดันต่ำ\n\nตัวอย่าง:\n- SDR 9 = ทนแรงดันสูงสุด\n- SDR 11 = ทนแรงดันสูง\n- SDR 17 = ทนแรงดันปานกลาง\n- SDR 26 = ทนแรงดันต่ำ\n\n## การติดตั้ง\n\n### วิธี Butt Fusion\n- เหมาะสำหรับท่อ **63-1200 mm**\n- ใช้ความร้อนหลอมปลายท่อ\n- กดต่อกันจนเป็นชิ้นเดียว\n\n### วิธี Electrofusion\n- เหมาะสำหรับท่อ **20-630 mm**\n- ใช้ข้อต่อที่มีขดลวดความร้อน\n- สะดวกในพื้นที่จำกัด\n\n## คำถามที่พบบ่อย\n\n### ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?\n\nท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa\n\n### ท่อ HDPE มีอายุการใช้งานกี่ปี?\n\nท่อ HDPE มีอายุการใช้งานยาวนานกว่า **50 ปี** ภายใต้การใช้งานตามมาตรฐาน\n\n### วิธีติดตั้งท่อ HDPE ทำอย่างไร?\n\nท่อ HDPE ติดตั้งโดยใช้วิธี **Butt Fusion** (เชื่อมปลายต่อ) หรือ **Electrofusion** (เชื่อมด้วยไฟฟ้า)\n\n### SDR ในท่อ HDPE คืออะไร?\n\nSDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า\n\n## สินค้าที่เกี่ยวข้อง\n\n- [เครื่องเชื่อม HDPE](/เครื่องเชื่อม-hdpe/)\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)","src/content/products/hdpe.md","d1a2e4f7d71740e2",{"html":598,"metadata":599},"\u003Ch1 id=\"ท่อ-hdpe-high-density-polyethylene\">ท่อ HDPE (High Density Polyethylene)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อ HDPE (High Density Polyethylene) หรือ \u003Cstrong>ท่อเอชดีพีอี\u003C/strong> เป็นท่อพลาสติกคุณภาพสูงที่มีความ \u003Cstrong>ทนทานและยืดหยุ่นสูง\u003C/strong> ผลิตจากเม็ดพลาสติก HDPE เกรด \u003Cstrong>PE80 และ PE100\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ท่อ HDPE สามารถทนแรงดันได้สูงถึง \u003Cstrong>PN25 บาร์\u003C/strong> ทนทานต่อแรงกระแทกและการกัดกร่อน ไม่เกิดสนิม อายุการใช้งานยาวนานกว่า \u003Cstrong>50 ปี\u003C/strong>\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-hdpe\">ข้อดีของท่อ HDPE\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนแรงดันสูง\u003C/strong> - สูงถึง PN25 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงกระแทก\u003C/strong> - ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ทนสารเคมีและกรดด่าง\u003C/li>\n\u003Cli>\u003Cstrong>น้ำหนักเบา\u003C/strong> - ขนส่งและติดตั้งง่าย\u003C/li>\n\u003Cli>\u003Cstrong>รอยต่อแน่นหนา\u003C/strong> - ระบบ Butt Fusion ไม่รั่วซึม\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งานยาว\u003C/strong> - มากกว่า 50 ปี\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐาน มอก.\u003C/strong> - รับรองคุณภาพ\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบประปา\u003C/strong> - งานผลิตน้ำประปา\u003C/li>\n\u003Cli>\u003Cstrong>ระบบชลประทาน\u003C/strong> - ส่งน้ำทางการเกษตร\u003C/li>\n\u003Cli>\u003Cstrong>ระบบน้ำเสีย\u003C/strong> - ท่อระบายน้ำ\u003C/li>\n\u003Cli>\u003Cstrong>ท่อส่งก๊าซ\u003C/strong> - ท่อส่งก๊าซธรรมชาติ\u003C/li>\n\u003Cli>\u003Cstrong>งานอุตสาหกรรม\u003C/strong> - ท่อส่งสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ระบบระบายน้ำ\u003C/strong> - งานเทศบาลและเมือง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ HDPE ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>มอก. 827-2547\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 4427\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 9001\u003C/strong> - ระบบบริหารคุณภาพ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"เกรดของท่อ-hdpe\">เกรดของท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"pe80-vs-pe100\">PE80 vs PE100\u003C/h3>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>คุณสมบัติ\u003C/th>\u003Cth>PE80\u003C/th>\u003Cth>PE100\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Cstrong>MRS\u003C/strong>\u003C/td>\u003Ctd>8 MPa\u003C/td>\u003Ctd>10 MPa\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>ทนแรงดัน\u003C/strong>\u003C/td>\u003Ctd>สูง\u003C/td>\u003Ctd>สูงกว่า\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>ราคา\u003C/strong>\u003C/td>\u003Ctd>ประหยัด\u003C/td>\u003Ctd>สูงกว่า\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>การใช้งาน\u003C/strong>\u003C/td>\u003Ctd>ทั่วไป\u003C/td>\u003Ctd>แรงดันสูง\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2 id=\"sdr-standard-dimension-ratio\">SDR (Standard Dimension Ratio)\u003C/h2>\n\u003Cp>\u003Cstrong>SDR\u003C/strong> คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>SDR น้อย\u003C/strong> = ผนังหนา = ทนแรงดันสูง\u003C/li>\n\u003Cli>\u003Cstrong>SDR มาก\u003C/strong> = ผนังบาง = ทนแรงดันต่ำ\u003C/li>\n\u003C/ul>\n\u003Cp>ตัวอย่าง:\u003C/p>\n\u003Cul>\n\u003Cli>SDR 9 = ทนแรงดันสูงสุด\u003C/li>\n\u003Cli>SDR 11 = ทนแรงดันสูง\u003C/li>\n\u003Cli>SDR 17 = ทนแรงดันปานกลาง\u003C/li>\n\u003Cli>SDR 26 = ทนแรงดันต่ำ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้ง\">การติดตั้ง\u003C/h2>\n\u003Ch3 id=\"วิธี-butt-fusion\">วิธี Butt Fusion\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับท่อ \u003Cstrong>63-1200 mm\u003C/strong>\u003C/li>\n\u003Cli>ใช้ความร้อนหลอมปลายท่อ\u003C/li>\n\u003Cli>กดต่อกันจนเป็นชิ้นเดียว\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"วิธี-electrofusion\">วิธี Electrofusion\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับท่อ \u003Cstrong>20-630 mm\u003C/strong>\u003C/li>\n\u003Cli>ใช้ข้อต่อที่มีขดลวดความร้อน\u003C/li>\n\u003Cli>สะดวกในพื้นที่จำกัด\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-hdpe-pe80-กับ-pe100-ต่างกันอย่างไร\">ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?\u003C/h3>\n\u003Cp>ท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa\u003C/p>\n\u003Ch3 id=\"ท่อ-hdpe-มีอายุการใช้งานกี่ปี\">ท่อ HDPE มีอายุการใช้งานกี่ปี?\u003C/h3>\n\u003Cp>ท่อ HDPE มีอายุการใช้งานยาวนานกว่า \u003Cstrong>50 ปี\u003C/strong> ภายใต้การใช้งานตามมาตรฐาน\u003C/p>\n\u003Ch3 id=\"วิธีติดตั้งท่อ-hdpe-ทำอย่างไร\">วิธีติดตั้งท่อ HDPE ทำอย่างไร?\u003C/h3>\n\u003Cp>ท่อ HDPE ติดตั้งโดยใช้วิธี \u003Cstrong>Butt Fusion\u003C/strong> (เชื่อมปลายต่อ) หรือ \u003Cstrong>Electrofusion\u003C/strong> (เชื่อมด้วยไฟฟ้า)\u003C/p>\n\u003Ch3 id=\"sdr-ในท่อ-hdpe-คืออะไร\">SDR ในท่อ HDPE คืออะไร?\u003C/h3>\n\u003Cp>SDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1-hdpe/\">เครื่องเชื่อม HDPE\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":600,"localImagePaths":638,"remoteImagePaths":639,"frontmatter":640,"imagePaths":663},[601,604,605,606,609,610,611,612,615,618,621,622,625,628,629,631,633,635,637],{"depth":92,"slug":602,"text":603},"ท่อ-hdpe-high-density-polyethylene","ท่อ HDPE (High Density Polyethylene)",{"depth":96,"slug":97,"text":97},{"depth":96,"slug":99,"text":99},{"depth":101,"slug":607,"text":608},"ข้อดีของท่อ-hdpe","ข้อดีของท่อ HDPE",{"depth":96,"slug":104,"text":104},{"depth":101,"slug":106,"text":106},{"depth":96,"slug":108,"text":108},{"depth":96,"slug":613,"text":614},"เกรดของท่อ-hdpe","เกรดของท่อ HDPE",{"depth":101,"slug":616,"text":617},"pe80-vs-pe100","PE80 vs PE100",{"depth":96,"slug":619,"text":620},"sdr-standard-dimension-ratio","SDR (Standard Dimension Ratio)",{"depth":96,"slug":110,"text":110},{"depth":101,"slug":623,"text":624},"วิธี-butt-fusion","วิธี Butt Fusion",{"depth":101,"slug":626,"text":627},"วิธี-electrofusion","วิธี Electrofusion",{"depth":96,"slug":112,"text":112},{"depth":101,"slug":630,"text":577},"ท่อ-hdpe-pe80-กับ-pe100-ต่างกันอย่างไร",{"depth":101,"slug":632,"text":580},"ท่อ-hdpe-มีอายุการใช้งานกี่ปี",{"depth":101,"slug":634,"text":583},"วิธีติดตั้งท่อ-hdpe-ทำอย่างไร",{"depth":101,"slug":636,"text":586},"sdr-ในท่อ-hdpe-คืออะไร",{"depth":96,"slug":118,"text":118},[],[],{"id":506,"name":507,"nameEn":508,"slug":503,"description":509,"shortDescription":510,"image":527,"keywords":641,"seoContent":526,"specifications":642,"features":653,"applications":654,"certifications":655,"faq":656,"relatedProductIds":661,"schemaData":662},[507,512,513,514,515,516,517,518,519,520,521,522,523,524,525],[643,644,645,646,647,648,649,650,651,652],{"label":31,"value":530},{"label":532,"value":533},{"label":34,"value":535},{"label":37,"value":537,"unit":39},{"label":539,"value":540},{"label":170,"value":542,"unit":172},{"label":41,"value":544,"unit":43},{"label":52,"value":546},{"label":548,"value":549,"unit":550},{"label":182,"value":38,"unit":183},[553,554,555,556,557,558,559,414,560,561],[563,564,565,566,567,568,569,570],[572,573,574],[657,658,659,660],{"question":577,"answer":578},{"question":580,"answer":581},{"question":583,"answer":584},{"question":586,"answer":587},[589,220],{"brand":591,"material":592,"category":593},[],"ท่อระบายน้ำ-3-ชั้น-ไซเลนท",{"id":664,"data":666,"body":735,"filePath":736,"digest":737,"rendered":738},{"id":667,"name":668,"nameEn":669,"slug":664,"description":670,"shortDescription":671,"keywords":672,"seoContent":684,"image":685,"specifications":686,"features":704,"applications":712,"certifications":717,"faq":721,"relatedProductIds":728,"schemaData":730},"xylent","ท่อระบายน้ำ 3 ชั้น ไซเลนท์","XYLENT Silent Pipe","ท่อระบายน้ำ XYLENT 3 ชั้น ลดเสียง 22dB ระบบ Push Fit ติดตั้งง่าย จาก Poloplast ยุโรป","ท่อระบายน้ำไซเลนท์ 22dB Push Fit",[673,674,675,676,677,678,679,680,681,682,683],"ท่อ XYLENT","22 dB","ท่อระบายน้ำ 3 ชั้น","ท่อไซเลนท์","silent pipe","ท่อลดเสียง","Push Fit pipe","ท่อระบายน้ำไซเลนท์","Poloplast","ท่อ PP","ท่อระบายน้ำอาคาร","ท่อระบายน้ำ XYLENT เป็นท่อระบายน้ำระดับพรีเมียมจาก Poloplast ประเทศออสเตรีย มีโครงสร้าง 3 ชั้น (Triple Layer) ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล ระบบ Push Fit ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ","/images/2021/03/xylent_000C.jpg",[687,689,691,695,696,698,701,703],{"label":31,"value":688},"PP (Polypropylene) 3 ชั้น",{"label":34,"value":690},"EN 1451, DIN 19560",{"label":692,"value":693,"unit":694},"การลดเสียง","22","dB",{"label":170,"value":171,"unit":172},{"label":41,"value":697,"unit":43},"32, 40, 50, 75, 90, 110, 125, 160",{"label":699,"value":700},"ระบบติดตั้ง","Push Fit (Push-Fit)",{"label":52,"value":702},"เทาอ่อน",{"label":182,"value":38,"unit":183},[705,706,707,708,709,710,711,195],"ลดเสียงรบกวน 22 dB","โครงสร้าง 3 ชั้น (Triple Layer)","ระบบ Push Fit ติดตั้งง่าย","ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ","ผลิตในออสเตรีย คุณภาพยุโรป","ทนอุณหภูมิสูง 95°C","ไม่แตกหักง่าย",[713,421,714,715,716],"ระบบระบายน้ำอาคาร","โรงพยาบาล","อาคารพักอาศัยระดับสูง","อาคารสำนักงาน",[718,719,720],"EN 1451","DIN 19560","DIBt Approved",[722,725],{"question":723,"answer":724},"ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?","ท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ",{"question":726,"answer":727},"ระบบ Push Fit คืออะไร?","ระบบ Push Fit เป็นระบบติดตั้งที่ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว",[143,729],"upvc",{"brand":731,"manufacturer":732,"material":733,"category":734},"XYLENT by Poloplast","Poloplast (Austria)","Polypropylene (PP) - Triple Layer","Drainage Pipe - Silent","# ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)\n\n## ภาพรวม\n\nท่อระบายน้ำ **XYLENT** เป็นท่อระบายน้ำระดับพรีเมียมจาก **Poloplast ประเทศออสเตรีย** มีโครงสร้าง **3 ชั้น (Triple Layer)** ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง **22 เดซิเบล**\n\n## คุณสมบัติเด่น\n\nระบบ **Push Fit** ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ ท่อ XYLENT เหมาะสำหรับอาคารที่ต้องการความเงียบ\n\n### ข้อดีของท่อ XYLENT\n\n1. **ลดเสียง 22 dB** - เงียบกว่าท่อทั่วไป\n2. **3 ชั้น** - Triple Layer Structure\n3. **Push Fit** - ติดตั้งง่าย ไม่ต้องใช้กาว\n4. **คุณภาพยุโรป** - ผลิตในออสเตรีย\n5. **ทนอุณหภูมิ** - สูงถึง 95°C\n6. **ไม่แตกหัก** - PP เกรดสูง\n7. **อายุ 50 ปี** - ทนทานยาวนาน\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบระบายน้ำอาคาร** - ท่อระบายน้ำทิ้ง\n- **โรงแรมและรีสอร์ท** - ต้องการความเงียบ\n- **โรงพยาบาล** - สถานที่ต้องการความสงบ\n- **อาคารพักอาศัยระดับสูง** - คอนโดระดับพรีเมียม\n- **อาคารสำนักงาน** - สำนักงานเกรด A\n\n## มาตรฐานและรับรอง\n\nท่อ XYLENT ผ่านมาตรฐาน:\n\n- ✅ **EN 1451** - มาตรฐานยุโรปสำหรับท่อระบายน้ำ\n- ✅ **DIN 19560** - มาตรฐานเยอรมัน\n- ✅ **DIBt Approved** - รับรองโดยสถาบันก่อสร้างเยอรมัน\n\n## โครงสร้าง 3 ชั้น\n\nท่อ XYLENT มีโครงสร้าง **Triple Layer**:\n\n1. **ชั้นใน** - PP เรียบ ลดแรงเสียดทาน\n2. **ชั้นกลาง** - PP แร่ เพิ่มความแข็งแรง\n3. **ชั้นนอก** - PP เรียบ ป้องกันรอยขีดข่วน\n\nโครงสร้างนี้ช่วย **ลดเสียงรบกวน** ได้ถึง **22 dB**\n\n## ระบบ Push Fit\n\n**Push Fit** คือระบบติดตั้งที่:\n- ไม่ต้องใช้กาว\n- ไม่ต้องใช้เครื่องมือพิเศษ\n- แค่ดันท่อเข้ากันก็ติดตั้งเสร็จ\n- ประหยัดเวลาและค่าแรง\n\n## คำถามที่พบบ่อย\n\n### ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?\n\nท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง **22 เดซิเบล** ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ\n\n### ระบบ Push Fit คืออะไร?\n\nระบบ Push Fit เป็นระบบติดตั้งที่ **ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ** เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [ท่อ uPVC](/ท่อupvc/)","src/content/products/xylent.md","70f9a87cc3a80d76",{"html":739,"metadata":740},"\u003Ch1 id=\"ท่อระบายน้ำ-3-ชั้น-xylent-silent-pipe\">ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อระบายน้ำ \u003Cstrong>XYLENT\u003C/strong> เป็นท่อระบายน้ำระดับพรีเมียมจาก \u003Cstrong>Poloplast ประเทศออสเตรีย\u003C/strong> มีโครงสร้าง \u003Cstrong>3 ชั้น (Triple Layer)\u003C/strong> ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง \u003Cstrong>22 เดซิเบล\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ระบบ \u003Cstrong>Push Fit\u003C/strong> ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ ท่อ XYLENT เหมาะสำหรับอาคารที่ต้องการความเงียบ\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-xylent\">ข้อดีของท่อ XYLENT\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ลดเสียง 22 dB\u003C/strong> - เงียบกว่าท่อทั่วไป\u003C/li>\n\u003Cli>\u003Cstrong>3 ชั้น\u003C/strong> - Triple Layer Structure\u003C/li>\n\u003Cli>\u003Cstrong>Push Fit\u003C/strong> - ติดตั้งง่าย ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>คุณภาพยุโรป\u003C/strong> - ผลิตในออสเตรีย\u003C/li>\n\u003Cli>\u003Cstrong>ทนอุณหภูมิ\u003C/strong> - สูงถึง 95°C\u003C/li>\n\u003Cli>\u003Cstrong>ไม่แตกหัก\u003C/strong> - PP เกรดสูง\u003C/li>\n\u003Cli>\u003Cstrong>อายุ 50 ปี\u003C/strong> - ทนทานยาวนาน\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบระบายน้ำอาคาร\u003C/strong> - ท่อระบายน้ำทิ้ง\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรมและรีสอร์ท\u003C/strong> - ต้องการความเงียบ\u003C/li>\n\u003Cli>\u003Cstrong>โรงพยาบาล\u003C/strong> - สถานที่ต้องการความสงบ\u003C/li>\n\u003Cli>\u003Cstrong>อาคารพักอาศัยระดับสูง\u003C/strong> - คอนโดระดับพรีเมียม\u003C/li>\n\u003Cli>\u003Cstrong>อาคารสำนักงาน\u003C/strong> - สำนักงานเกรด A\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ XYLENT ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>EN 1451\u003C/strong> - มาตรฐานยุโรปสำหรับท่อระบายน้ำ\u003C/li>\n\u003Cli>✅ \u003Cstrong>DIN 19560\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>DIBt Approved\u003C/strong> - รับรองโดยสถาบันก่อสร้างเยอรมัน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"โครงสร้าง-3-ชั้น\">โครงสร้าง 3 ชั้น\u003C/h2>\n\u003Cp>ท่อ XYLENT มีโครงสร้าง \u003Cstrong>Triple Layer\u003C/strong>:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>ชั้นใน\u003C/strong> - PP เรียบ ลดแรงเสียดทาน\u003C/li>\n\u003Cli>\u003Cstrong>ชั้นกลาง\u003C/strong> - PP แร่ เพิ่มความแข็งแรง\u003C/li>\n\u003Cli>\u003Cstrong>ชั้นนอก\u003C/strong> - PP เรียบ ป้องกันรอยขีดข่วน\u003C/li>\n\u003C/ol>\n\u003Cp>โครงสร้างนี้ช่วย \u003Cstrong>ลดเสียงรบกวน\u003C/strong> ได้ถึง \u003Cstrong>22 dB\u003C/strong>\u003C/p>\n\u003Ch2 id=\"ระบบ-push-fit\">ระบบ Push Fit\u003C/h2>\n\u003Cp>\u003Cstrong>Push Fit\u003C/strong> คือระบบติดตั้งที่:\u003C/p>\n\u003Cul>\n\u003Cli>ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>ไม่ต้องใช้เครื่องมือพิเศษ\u003C/li>\n\u003Cli>แค่ดันท่อเข้ากันก็ติดตั้งเสร็จ\u003C/li>\n\u003Cli>ประหยัดเวลาและค่าแรง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-xylent-ลดเสียงได้กี่เดซิเบล\">ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?\u003C/h3>\n\u003Cp>ท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง \u003Cstrong>22 เดซิเบล\u003C/strong> ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ\u003C/p>\n\u003Ch3 id=\"ระบบ-push-fit-คืออะไร\">ระบบ Push Fit คืออะไร?\u003C/h3>\n\u003Cp>ระบบ Push Fit เป็นระบบติดตั้งที่ \u003Cstrong>ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ\u003C/strong> เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADupvc/\">ท่อ uPVC\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":741,"localImagePaths":765,"remoteImagePaths":766,"frontmatter":767,"imagePaths":786},[742,745,746,747,750,751,752,753,756,759,760,762,764],{"depth":92,"slug":743,"text":744},"ท่อระบายน้ำ-3-ชั้น-xylent-silent-pipe","ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)",{"depth":96,"slug":97,"text":97},{"depth":96,"slug":99,"text":99},{"depth":101,"slug":748,"text":749},"ข้อดีของท่อ-xylent","ข้อดีของท่อ XYLENT",{"depth":96,"slug":104,"text":104},{"depth":101,"slug":106,"text":106},{"depth":96,"slug":108,"text":108},{"depth":96,"slug":754,"text":755},"โครงสร้าง-3-ชั้น","โครงสร้าง 3 ชั้น",{"depth":96,"slug":757,"text":758},"ระบบ-push-fit","ระบบ Push Fit",{"depth":96,"slug":112,"text":112},{"depth":101,"slug":761,"text":723},"ท่อ-xylent-ลดเสียงได้กี่เดซิเบล",{"depth":101,"slug":763,"text":726},"ระบบ-push-fit-คืออะไร",{"depth":96,"slug":118,"text":118},[],[],{"id":667,"name":668,"nameEn":669,"slug":664,"description":670,"shortDescription":671,"image":685,"keywords":768,"seoContent":684,"specifications":769,"features":778,"applications":779,"certifications":780,"faq":781,"relatedProductIds":784,"schemaData":785},[673,674,675,676,677,678,679,680,681,682,683],[770,771,772,773,774,775,776,777],{"label":31,"value":688},{"label":34,"value":690},{"label":692,"value":693,"unit":694},{"label":170,"value":171,"unit":172},{"label":41,"value":697,"unit":43},{"label":699,"value":700},{"label":52,"value":702},{"label":182,"value":38,"unit":183},[705,706,707,708,709,710,711,195],[713,421,714,715,716],[718,719,720],[782,783],{"question":723,"answer":724},{"question":726,"answer":727},[143,729],{"brand":731,"manufacturer":732,"material":733,"category":734},[]] \ No newline at end of file +[["Map",1,2,7,8,670,671],"meta::meta",["Map",3,4,5,6],"astro-version","5.18.0","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":4321,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[],\"actionBodySizeLimit\":1048576},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false,\"failOnPrerenderConflict\":false,\"svgo\":false},\"legacy\":{\"collections\":false}}","products",["Map",9,10,173,174,292,293,398,399,474,475,565,566],"ท่อhdpe",{"id":9,"data":11,"body":114,"filePath":115,"digest":116,"rendered":117,"legacyId":172},{"id":12,"name":13,"nameEn":14,"slug":9,"description":15,"shortDescription":16,"image":17,"keywords":18,"seoContent":33,"specifications":34,"features":70,"applications":81,"certifications":90,"faq":94,"relatedProductIds":107,"schemaData":110},"hdpe","ท่อ HDPE","HDPE Pipe","ท่อ HDPE PE80/PE100 ทนแรงดัน PN25 อายุการใช้งาน 50 ปี มอก. สำหรับประปาและชลประทาน","ท่อเอชดีพีอี PE80/PE100 มาตรฐาน มอก.","/images/2021/03/hdpe-pipe_000C.jpg",[13,19,20,21,22,23,24,25,26,27,28,29,30,31,32],"ท่อเอชดีพีอี","ท่อ PE","ท่อน้ำ HDPE","PE80","PE100","ท่อ PE100","ท่อ PE80","ท่อพีอี","High Density Polyethylene","ท่อชลประทาน","ท่อประปา HDPE","ท่อดำ PE","ท่อน้ำดำ","SDR pipe","ท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อพลาสติกคุณภาพสูงที่มีความทนทานและยืดหยุ่นสูง ผลิตจากเม็ดพลาสติก HDPE เกรด PE80 และ PE100 ท่อ HDPE สามารถทนแรงดันได้สูงถึง PN25 บาร์",[35,38,41,44,48,51,55,59,62,66],{"label":36,"value":37},"วัสดุ","HDPE (High Density Polyethylene)",{"label":39,"value":40},"เกรด","PE80, PE100",{"label":42,"value":43},"มาตรฐาน","มอก. 827-2547, ISO 4427",{"label":45,"value":46,"unit":47},"แรงดันทนทาน","PN4 - PN25","bar",{"label":49,"value":50},"SDR","SDR 9, 11, 13.6, 17, 21, 26",{"label":52,"value":53,"unit":54},"อุณหภูมิทนทาน","-40 ถึง 60","°C",{"label":56,"value":57,"unit":58},"ขนาดท่อ","20, 32, 50, 63, 75, 90, 110, 160, 200, 250, 315, 400, 500, 630","mm",{"label":60,"value":61},"สี","ดำ, น้ำเงิน (Blue Stripe)",{"label":63,"value":64,"unit":65},"ความหนาแน่น","0.941-0.965","g/cm³",{"label":67,"value":68,"unit":69},"อายุการใช้งาน","50","ปี",[71,72,73,74,75,76,77,78,79,80],"ทนแรงดันสูงถึง PN25 บาร์","ทนทานต่อแรงกระแทกและการกัดกร่อน","ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน","ไม่เกิดสนิม ไม่เปรอะเปื้อน","น้ำหนักเบา ขนส่งและติดตั้งง่าย","รอยต่อแน่นหนาด้วย Butt Fusion","ทนทานต่อสารเคมีและกรดด่าง","อายุการใช้งานยาวนาน 50 ปี","ผ่านมาตรฐาน มอก. 827-2547","เหมาะสำหรับงานฝังดิน",[82,83,84,85,86,87,88,89],"ระบบประปา","ระบบชลประทาน","ระบบน้ำเสีย","ท่อส่งก๊าซ","งานอุตสาหกรรม","ท่อส่งสารเคมี","ระบบระบายน้ำ","งานเหมืองแร่",[91,92,93],"มอก. 827-2547","ISO 4427","ISO 9001",[95,98,101,104],{"question":96,"answer":97},"ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?","ท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa ทำให้ PE100 สามารถทนแรงดันสูงกว่าในขนาดผนังที่เท่ากัน",{"question":99,"answer":100},"ท่อ HDPE มีอายุการใช้งานกี่ปี?","ท่อ HDPE มีอายุการใช้งานยาวนานกว่า 50 ปี ภายใต้การใช้งานตามมาตรฐาน",{"question":102,"answer":103},"วิธีติดตั้งท่อ HDPE ทำอย่างไร?","ท่อ HDPE ติดตั้งโดยใช้วิธี Butt Fusion (เชื่อมปลายต่อ) หรือ Electrofusion (เชื่อมด้วยไฟฟ้า) โดยใช้อุปกรณ์เชื่อมท่อ HDPE เฉพาะทาง",{"question":105,"answer":106},"SDR ในท่อ HDPE คืออะไร?","SDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า ทนแรงดันได้สูงกว่า",[108,109],"hdpe-welder","ppr-elephant",{"brand":111,"material":112,"category":113},"Thai HDPE","High Density Polyethylene (HDPE)","Water Pipe - HDPE","# ท่อ HDPE (High Density Polyethylene)\n\n## ภาพรวม\n\nท่อ HDPE (High Density Polyethylene) หรือ **ท่อเอชดีพีอี** เป็นท่อพลาสติกคุณภาพสูงที่มีความ **ทนทานและยืดหยุ่นสูง** ผลิตจากเม็ดพลาสติก HDPE เกรด **PE80 และ PE100**\n\n## คุณสมบัติเด่น\n\nท่อ HDPE สามารถทนแรงดันได้สูงถึง **PN25 บาร์** ทนทานต่อแรงกระแทกและการกัดกร่อน ไม่เกิดสนิม อายุการใช้งานยาวนานกว่า **50 ปี**\n\n### ข้อดีของท่อ HDPE\n\n1. **ทนแรงดันสูง** - สูงถึง PN25 บาร์\n2. **ทนแรงกระแทก** - ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน\n3. **ไม่เกิดสนิม** - ทนสารเคมีและกรดด่าง\n4. **น้ำหนักเบา** - ขนส่งและติดตั้งง่าย\n5. **รอยต่อแน่นหนา** - ระบบ Butt Fusion ไม่รั่วซึม\n6. **อายุการใช้งานยาว** - มากกว่า 50 ปี\n7. **มาตรฐาน มอก.** - รับรองคุณภาพ\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบประปา** - งานผลิตน้ำประปา\n- **ระบบชลประทาน** - ส่งน้ำทางการเกษตร\n- **ระบบน้ำเสีย** - ท่อระบายน้ำ\n- **ท่อส่งก๊าซ** - ท่อส่งก๊าซธรรมชาติ\n- **งานอุตสาหกรรม** - ท่อส่งสารเคมี\n- **ระบบระบายน้ำ** - งานเทศบาลและเมือง\n\n## มาตรฐานและรับรอง\n\nท่อ HDPE ผ่านมาตรฐาน:\n\n- ✅ **มอก. 827-2547** - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\n- ✅ **ISO 4427** - มาตรฐานสากล\n- ✅ **ISO 9001** - ระบบบริหารคุณภาพ\n\n## เกรดของท่อ HDPE\n\n### PE80 vs PE100\n\n| คุณสมบัติ | PE80 | PE100 |\n|-----------|------|-------|\n| **MRS** | 8 MPa | 10 MPa |\n| **ทนแรงดัน** | สูง | สูงกว่า |\n| **ราคา** | ประหยัด | สูงกว่า |\n| **การใช้งาน** | ทั่วไป | แรงดันสูง |\n\n## SDR (Standard Dimension Ratio)\n\n**SDR** คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ\n\n- **SDR น้อย** = ผนังหนา = ทนแรงดันสูง\n- **SDR มาก** = ผนังบาง = ทนแรงดันต่ำ\n\nตัวอย่าง:\n- SDR 9 = ทนแรงดันสูงสุด\n- SDR 11 = ทนแรงดันสูง\n- SDR 17 = ทนแรงดันปานกลาง\n- SDR 26 = ทนแรงดันต่ำ\n\n## การติดตั้ง\n\n### วิธี Butt Fusion\n- เหมาะสำหรับท่อ **63-1200 mm**\n- ใช้ความร้อนหลอมปลายท่อ\n- กดต่อกันจนเป็นชิ้นเดียว\n\n### วิธี Electrofusion\n- เหมาะสำหรับท่อ **20-630 mm**\n- ใช้ข้อต่อที่มีขดลวดความร้อน\n- สะดวกในพื้นที่จำกัด\n\n## คำถามที่พบบ่อย\n\n### ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?\n\nท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa\n\n### ท่อ HDPE มีอายุการใช้งานกี่ปี?\n\nท่อ HDPE มีอายุการใช้งานยาวนานกว่า **50 ปี** ภายใต้การใช้งานตามมาตรฐาน\n\n### วิธีติดตั้งท่อ HDPE ทำอย่างไร?\n\nท่อ HDPE ติดตั้งโดยใช้วิธี **Butt Fusion** (เชื่อมปลายต่อ) หรือ **Electrofusion** (เชื่อมด้วยไฟฟ้า)\n\n### SDR ในท่อ HDPE คืออะไร?\n\nSDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า\n\n## สินค้าที่เกี่ยวข้อง\n\n- [เครื่องเชื่อม HDPE](/เครื่องเชื่อม-hdpe/)\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)","src/content/products/hdpe.md","d1a2e4f7d71740e2",{"html":118,"metadata":119},"\u003Ch1 id=\"ท่อ-hdpe-high-density-polyethylene\">ท่อ HDPE (High Density Polyethylene)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อ HDPE (High Density Polyethylene) หรือ \u003Cstrong>ท่อเอชดีพีอี\u003C/strong> เป็นท่อพลาสติกคุณภาพสูงที่มีความ \u003Cstrong>ทนทานและยืดหยุ่นสูง\u003C/strong> ผลิตจากเม็ดพลาสติก HDPE เกรด \u003Cstrong>PE80 และ PE100\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ท่อ HDPE สามารถทนแรงดันได้สูงถึง \u003Cstrong>PN25 บาร์\u003C/strong> ทนทานต่อแรงกระแทกและการกัดกร่อน ไม่เกิดสนิม อายุการใช้งานยาวนานกว่า \u003Cstrong>50 ปี\u003C/strong>\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-hdpe\">ข้อดีของท่อ HDPE\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนแรงดันสูง\u003C/strong> - สูงถึง PN25 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงกระแทก\u003C/strong> - ยืดหยุ่นสูง ทนต่อการเคลื่อนไหวของดิน\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ทนสารเคมีและกรดด่าง\u003C/li>\n\u003Cli>\u003Cstrong>น้ำหนักเบา\u003C/strong> - ขนส่งและติดตั้งง่าย\u003C/li>\n\u003Cli>\u003Cstrong>รอยต่อแน่นหนา\u003C/strong> - ระบบ Butt Fusion ไม่รั่วซึม\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งานยาว\u003C/strong> - มากกว่า 50 ปี\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐาน มอก.\u003C/strong> - รับรองคุณภาพ\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบประปา\u003C/strong> - งานผลิตน้ำประปา\u003C/li>\n\u003Cli>\u003Cstrong>ระบบชลประทาน\u003C/strong> - ส่งน้ำทางการเกษตร\u003C/li>\n\u003Cli>\u003Cstrong>ระบบน้ำเสีย\u003C/strong> - ท่อระบายน้ำ\u003C/li>\n\u003Cli>\u003Cstrong>ท่อส่งก๊าซ\u003C/strong> - ท่อส่งก๊าซธรรมชาติ\u003C/li>\n\u003Cli>\u003Cstrong>งานอุตสาหกรรม\u003C/strong> - ท่อส่งสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ระบบระบายน้ำ\u003C/strong> - งานเทศบาลและเมือง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ HDPE ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>มอก. 827-2547\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 4427\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 9001\u003C/strong> - ระบบบริหารคุณภาพ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"เกรดของท่อ-hdpe\">เกรดของท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"pe80-vs-pe100\">PE80 vs PE100\u003C/h3>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>คุณสมบัติ\u003C/th>\u003Cth>PE80\u003C/th>\u003Cth>PE100\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Cstrong>MRS\u003C/strong>\u003C/td>\u003Ctd>8 MPa\u003C/td>\u003Ctd>10 MPa\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>ทนแรงดัน\u003C/strong>\u003C/td>\u003Ctd>สูง\u003C/td>\u003Ctd>สูงกว่า\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>ราคา\u003C/strong>\u003C/td>\u003Ctd>ประหยัด\u003C/td>\u003Ctd>สูงกว่า\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Cstrong>การใช้งาน\u003C/strong>\u003C/td>\u003Ctd>ทั่วไป\u003C/td>\u003Ctd>แรงดันสูง\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2 id=\"sdr-standard-dimension-ratio\">SDR (Standard Dimension Ratio)\u003C/h2>\n\u003Cp>\u003Cstrong>SDR\u003C/strong> คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>SDR น้อย\u003C/strong> = ผนังหนา = ทนแรงดันสูง\u003C/li>\n\u003Cli>\u003Cstrong>SDR มาก\u003C/strong> = ผนังบาง = ทนแรงดันต่ำ\u003C/li>\n\u003C/ul>\n\u003Cp>ตัวอย่าง:\u003C/p>\n\u003Cul>\n\u003Cli>SDR 9 = ทนแรงดันสูงสุด\u003C/li>\n\u003Cli>SDR 11 = ทนแรงดันสูง\u003C/li>\n\u003Cli>SDR 17 = ทนแรงดันปานกลาง\u003C/li>\n\u003Cli>SDR 26 = ทนแรงดันต่ำ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้ง\">การติดตั้ง\u003C/h2>\n\u003Ch3 id=\"วิธี-butt-fusion\">วิธี Butt Fusion\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับท่อ \u003Cstrong>63-1200 mm\u003C/strong>\u003C/li>\n\u003Cli>ใช้ความร้อนหลอมปลายท่อ\u003C/li>\n\u003Cli>กดต่อกันจนเป็นชิ้นเดียว\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"วิธี-electrofusion\">วิธี Electrofusion\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับท่อ \u003Cstrong>20-630 mm\u003C/strong>\u003C/li>\n\u003Cli>ใช้ข้อต่อที่มีขดลวดความร้อน\u003C/li>\n\u003Cli>สะดวกในพื้นที่จำกัด\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-hdpe-pe80-กับ-pe100-ต่างกันอย่างไร\">ท่อ HDPE PE80 กับ PE100 ต่างกันอย่างไร?\u003C/h3>\n\u003Cp>ท่อ HDPE PE100 มีความทนทานต่อแรงดันสูงกว่า PE80 โดย PE100 มี MRS (Minimum Required Strength) 10 MPa ส่วน PE80 มี MRS 8 MPa\u003C/p>\n\u003Ch3 id=\"ท่อ-hdpe-มีอายุการใช้งานกี่ปี\">ท่อ HDPE มีอายุการใช้งานกี่ปี?\u003C/h3>\n\u003Cp>ท่อ HDPE มีอายุการใช้งานยาวนานกว่า \u003Cstrong>50 ปี\u003C/strong> ภายใต้การใช้งานตามมาตรฐาน\u003C/p>\n\u003Ch3 id=\"วิธีติดตั้งท่อ-hdpe-ทำอย่างไร\">วิธีติดตั้งท่อ HDPE ทำอย่างไร?\u003C/h3>\n\u003Cp>ท่อ HDPE ติดตั้งโดยใช้วิธี \u003Cstrong>Butt Fusion\u003C/strong> (เชื่อมปลายต่อ) หรือ \u003Cstrong>Electrofusion\u003C/strong> (เชื่อมด้วยไฟฟ้า)\u003C/p>\n\u003Ch3 id=\"sdr-ในท่อ-hdpe-คืออะไร\">SDR ในท่อ HDPE คืออะไร?\u003C/h3>\n\u003Cp>SDR (Standard Dimension Ratio) คืออัตราส่วนระหว่างเส้นผ่านศูนย์กลางภายนอกกับความหนาผนังท่อ ค่า SDR ที่น้อยกว่าหมายถึงผนังท่อหนากว่า\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1-hdpe/\">เครื่องเชื่อม HDPE\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":120,"localImagePaths":169,"remoteImagePaths":170,"frontmatter":11,"imagePaths":171},[121,125,128,130,134,136,138,140,143,146,149,151,154,157,159,161,163,165,167],{"depth":122,"slug":123,"text":124},1,"ท่อ-hdpe-high-density-polyethylene","ท่อ HDPE (High Density Polyethylene)",{"depth":126,"slug":127,"text":127},2,"ภาพรวม",{"depth":126,"slug":129,"text":129},"คุณสมบัติเด่น",{"depth":131,"slug":132,"text":133},3,"ข้อดีของท่อ-hdpe","ข้อดีของท่อ HDPE",{"depth":126,"slug":135,"text":135},"การใช้งาน",{"depth":131,"slug":137,"text":137},"เหมาะสำหรับ",{"depth":126,"slug":139,"text":139},"มาตรฐานและรับรอง",{"depth":126,"slug":141,"text":142},"เกรดของท่อ-hdpe","เกรดของท่อ HDPE",{"depth":131,"slug":144,"text":145},"pe80-vs-pe100","PE80 vs PE100",{"depth":126,"slug":147,"text":148},"sdr-standard-dimension-ratio","SDR (Standard Dimension Ratio)",{"depth":126,"slug":150,"text":150},"การติดตั้ง",{"depth":131,"slug":152,"text":153},"วิธี-butt-fusion","วิธี Butt Fusion",{"depth":131,"slug":155,"text":156},"วิธี-electrofusion","วิธี Electrofusion",{"depth":126,"slug":158,"text":158},"คำถามที่พบบ่อย",{"depth":131,"slug":160,"text":96},"ท่อ-hdpe-pe80-กับ-pe100-ต่างกันอย่างไร",{"depth":131,"slug":162,"text":99},"ท่อ-hdpe-มีอายุการใช้งานกี่ปี",{"depth":131,"slug":164,"text":102},"วิธีติดตั้งท่อ-hdpe-ทำอย่างไร",{"depth":131,"slug":166,"text":105},"sdr-ในท่อ-hdpe-คืออะไร",{"depth":126,"slug":168,"text":168},"สินค้าที่เกี่ยวข้อง",[],[],[],"hdpe.md","ท่อพีพีอาร์ตราช้าง",{"id":173,"data":175,"body":257,"filePath":258,"digest":259,"rendered":260,"legacyId":291},{"id":109,"name":173,"nameEn":176,"slug":173,"description":177,"shortDescription":178,"image":179,"seoContent":180,"keywords":181,"specifications":190,"features":207,"applications":217,"certifications":227,"faq":232,"relatedProductIds":248,"schemaData":252},"PPR Elephant Pipe","ท่อพีพีอาร์ตราช้าง (SCG) คุณภาพระดับสากล ทนอุณหภูมิสูง 95°C ทนความดัน 20 บาร์ อายุการใช้งาน 50 ปี","ท่อพีพีอาร์ตราช้าง SCG มาตรฐาน DIN 8077/8078","/images/2021/03/ppr-pipe_000C.jpg","ท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท Polypropylene Random Copolymer (PP-R) ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล",[182,183,184,185,186,187,188,189],"ท่อ PPR","ท่อพีพีอาร์","ท่อน้ำ PPR","ท่อประปา PPR","ราคาท่อ PPR","ท่อตราช้าง","SCG PPR","ท่อ PPR SCG",[191,193,195,197,199,201,204,206],{"label":36,"value":192},"PP-R (Polypropylene Random Copolymer)",{"label":42,"value":194},"DIN 8077/8078, ISO 15874",{"label":45,"value":196,"unit":47},"PN10, PN16, PN20",{"label":52,"value":198,"unit":54},"-20 ถึง 95",{"label":56,"value":200,"unit":58},"20, 25, 32, 40, 50, 63, 75, 90, 110",{"label":202,"value":203},"ความหนาผนัง","SDR 7.4, 11, 17.6",{"label":60,"value":205},"ขาว, เขียว",{"label":67,"value":68,"unit":69},[208,209,210,211,212,213,214,78,215,216],"ทนอุณหภูมิสูงสุด 95°C เหมาะกับน้ำร้อน","ทนความดัน PN20 (20 บาร์)","ไม่เกิดสนิมและการกัดกร่อน","ผิวภายในเรียบลดการสะสมของตะกรัน","ติดตั้งด้วยการเชื่อมความร้อน ไม่ต้องใช้กาว","ปลอดภัยสำหรับน้ำดื่ม ไม่ปนเปื้อนสารพิษ","ฉนวนความร้อนดี ลดการสูญเสียความร้อน","บำรุงรักษาต่ำ ไม่ต้องทาสี","น้ำหนักเบา ติดตั้งง่าย",[218,219,220,221,222,223,224,225,226],"ระบบประปาน้ำร้อน","ระบบประปาน้ำเย็น","ระบบทำความร้อน (Heating)","ระบบน้ำแรงดันสูง","โรงแรมและรีสอร์ท","โรงพยาบาลและสถานพยาบาล","อาคารพาณิชย์และสำนักงาน","โครงการบ้านจัดสรร","โรงงานอุตสาหกรรม",[228,229,230,231],"DIN 8077/8078","ISO 15874","มอก. 248-2549","SCG Quality Certified",[233,236,239,242,245],{"question":234,"answer":235},"ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?","ท่อ PPR ตราช้างทนอุณหภูมิสูงสุด 95°C ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน",{"question":237,"answer":238},"ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?","ท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง 50 ปี ภายใต้การใช้งานตามมาตรฐาน",{"question":240,"answer":241},"ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?","ท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า",{"question":243,"answer":244},"วิธีติดตั้งท่อ PPR ตราช้างทำอย่างไร?","ติดตั้งโดยใช้เครื่องเชื่อมท่อ PPR อุณหภูมิ 260°C โดยเชื่อมท่อกับข้อต่อด้วยความร้อนจนกลายเป็นชิ้นเดียวกัน",{"question":246,"answer":247},"ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?","ได้ ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ",[249,250,251],"thai-ppr","poloplast","ppr-welder",{"brand":253,"manufacturer":254,"material":255,"category":256},"SCG Elephant","SCG Chemicals","Polypropylene Random Copolymer (PP-R)","Plumbing Pipe - PPR","# ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)\n\n## ภาพรวม\n\nท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท **Polypropylene Random Copolymer (PP-R)** ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล\n\n## คุณสมบัติเด่น\n\nท่อ PPR ตราช้างมีความทนทานต่ออุณหภูมิสูงสุด **95°C** และทนความดันได้ถึง **20 บาร์ (PN20)** เหมาะสำหรับงานระบบประปาน้ำร้อน น้ำเย็น และระบบทำความร้อน\n\n### ข้อดีของท่อ PPR ตราช้าง\n\n1. **ทนความร้อนสูง** - ใช้งานกับน้ำร้อนได้ถึง 95°C\n2. **ทนแรงดัน** - รับแรงดันได้สูงสุด 20 บาร์\n3. **ไม่เกิดสนิม** - ไม่มีการกัดกร่อนจากสารเคมี\n4. **ผิวเรียบ** - ลดการสะสมของตะกรันในท่อ\n5. **ติดตั้งง่าย** - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\n6. **ปลอดภัย** - ใช้กับน้ำดื่มได้ ไม่ปนเปื้อนสารพิษ\n7. **อายุยาวนาน** - ใช้งานได้นาน 50 ปี\n\n## การใช้งาน\n\n### เหมาะสำหรัก\n\n- ระบบประปาน้ำร้อนในโรงแรมและรีสอร์ท\n- ระบบน้ำเย็นในอาคารพาณิชย์\n- ระบบทำความร้อน (Heating System)\n- ระบบน้ำแรงดันสูงในโรงงาน\n- โรงพยาบาลและสถานพยาบาล\n- โครงการบ้านจัดสรร\n\n## มาตรฐานและรับรอง\n\nท่อพีพีอาร์ตราช้างได้รับมาตรฐานสากล:\n\n- ✅ **DIN 8077/8078** - มาตรฐานเยอรมัน\n- ✅ **ISO 15874** - มาตรฐานสากล\n- ✅ **มอก. 248-2549** - มาตรฐานผลิตภัณฑ์อุตสาหกรรมไทย\n- ✅ **SCG Quality Certified** - รับรองคุณภาพโดย SCG\n\n## วิธีการติดตั้ง\n\nการติดตั้งท่อ PPR ตราช้างใช้ระบบ **เชื่อมความร้อน (Heat Fusion)**:\n\n1. ตั้งเครื่องเชื่อมที่อุณหภูมิ **260°C**\n2. เสียบท่อและข้อต่อเข้าในแม่พิมพ์\n3. รอให้พลาสติกหลอมตัว (เวลาตามขนาดท่อ)\n4. ดึงออกและเชื่อมท่อกับข้อต่อทันที\n5. รอให้เย็นตัว (ประมาณ 2-3 นาที)\n\n## คำถามที่พบบ่อย\n\n### ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?\n\nท่อ PPR ตราช้างทนอุณหภูมิสูงสุด **95°C** ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน\n\n### ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?\n\nท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง **50 ปี** ภายใต้การใช้งานตามมาตรฐาน\n\n### ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?\n\nท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า\n\n### ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?\n\n**ได้** ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อ PPR Thai PPR](/ท่อppr-thaippr/)\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/ppr-elephant.md","4dbe4dc67c6915d0",{"html":261,"metadata":262},"\u003Ch1 id=\"ท่อพีพีอาร์ตราช้าง-ppr-elephant-pipe\">ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ตราช้าง (PPR Elephant) ผลิตโดย SCG บริษัทชั้นนำของไทย เป็นท่อพลาสติกประเภท \u003Cstrong>Polypropylene Random Copolymer (PP-R)\u003C/strong> ที่มีคุณภาพสูง ได้รับมาตรฐาน DIN 8077/8078 จากเยอรมนี และมาตรฐาน ISO 15874 ระดับสากล\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ท่อ PPR ตราช้างมีความทนทานต่ออุณหภูมิสูงสุด \u003Cstrong>95°C\u003C/strong> และทนความดันได้ถึง \u003Cstrong>20 บาร์ (PN20)\u003C/strong> เหมาะสำหรับงานระบบประปาน้ำร้อน น้ำเย็น และระบบทำความร้อน\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-ppr-ตราช้าง\">ข้อดีของท่อ PPR ตราช้าง\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนความร้อนสูง\u003C/strong> - ใช้งานกับน้ำร้อนได้ถึง 95°C\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงดัน\u003C/strong> - รับแรงดันได้สูงสุด 20 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ไม่มีการกัดกร่อนจากสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ผิวเรียบ\u003C/strong> - ลดการสะสมของตะกรันในท่อ\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>ปลอดภัย\u003C/strong> - ใช้กับน้ำดื่มได้ ไม่ปนเปื้อนสารพิษ\u003C/li>\n\u003Cli>\u003Cstrong>อายุยาวนาน\u003C/strong> - ใช้งานได้นาน 50 ปี\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรัก\">เหมาะสำหรัก\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาน้ำร้อนในโรงแรมและรีสอร์ท\u003C/li>\n\u003Cli>ระบบน้ำเย็นในอาคารพาณิชย์\u003C/li>\n\u003Cli>ระบบทำความร้อน (Heating System)\u003C/li>\n\u003Cli>ระบบน้ำแรงดันสูงในโรงงาน\u003C/li>\n\u003Cli>โรงพยาบาลและสถานพยาบาล\u003C/li>\n\u003Cli>โครงการบ้านจัดสรร\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ตราช้างได้รับมาตรฐานสากล:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>DIN 8077/8078\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 15874\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>มอก. 248-2549\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรมไทย\u003C/li>\n\u003Cli>✅ \u003Cstrong>SCG Quality Certified\u003C/strong> - รับรองคุณภาพโดย SCG\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"วิธีการติดตั้ง\">วิธีการติดตั้ง\u003C/h2>\n\u003Cp>การติดตั้งท่อ PPR ตราช้างใช้ระบบ \u003Cstrong>เชื่อมความร้อน (Heat Fusion)\u003C/strong>:\u003C/p>\n\u003Col>\n\u003Cli>ตั้งเครื่องเชื่อมที่อุณหภูมิ \u003Cstrong>260°C\u003C/strong>\u003C/li>\n\u003Cli>เสียบท่อและข้อต่อเข้าในแม่พิมพ์\u003C/li>\n\u003Cli>รอให้พลาสติกหลอมตัว (เวลาตามขนาดท่อ)\u003C/li>\n\u003Cli>ดึงออกและเชื่อมท่อกับข้อต่อทันที\u003C/li>\n\u003Cli>รอให้เย็นตัว (ประมาณ 2-3 นาที)\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างทนอุณหภูมิสูงสุดเท่าไร\">ท่อ PPR ตราช้างทนอุณหภูมิสูงสุดเท่าไร?\u003C/h3>\n\u003Cp>ท่อ PPR ตราช้างทนอุณหภูมิสูงสุด \u003Cstrong>95°C\u003C/strong> ทำให้เหมาะสำหรับใช้กับระบบน้ำร้อนและระบบทำความร้อน\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างอายุการใช้งานกี่ปี\">ท่อ PPR ตราช้างอายุการใช้งานกี่ปี?\u003C/h3>\n\u003Cp>ท่อ PPR ตราช้างมีอายุการใช้งานยาวนานถึง \u003Cstrong>50 ปี\u003C/strong> ภายใต้การใช้งานตามมาตรฐาน\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-แตกต่างจากท่อ-pvc-อย่างไร\">ท่อ PPR แตกต่างจากท่อ PVC อย่างไร?\u003C/h3>\n\u003Cp>ท่อ PPR ทนอุณหภูมิสูงกว่า (95°C vs 60°C) ทนแรงดันสูงกว่า ติดตั้งด้วยการเชื่อมความร้อนไม่ต้องใช้กาว และมีอายุการใช้งานยาวนานกว่า\u003C/p>\n\u003Ch3 id=\"ท่อ-ppr-ตราช้างใช้กับน้ำดื่มได้หรือไม่\">ท่อ PPR ตราช้างใช้กับน้ำดื่มได้หรือไม่?\u003C/h3>\n\u003Cp>\u003Cstrong>ได้\u003C/strong> ท่อ PPR ตราช้างได้รับมาตรฐานสำหรับน้ำดื่ม ไม่ปล่อยสารพิษ และไม่เปลี่ยนแปลงรสชาติน้ำ\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADppr-thaippr/\">ท่อ PPR Thai PPR\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":263,"localImagePaths":288,"remoteImagePaths":289,"frontmatter":175,"imagePaths":290},[264,267,268,269,272,273,275,276,278,279,281,283,285,287],{"depth":122,"slug":265,"text":266},"ท่อพีพีอาร์ตราช้าง-ppr-elephant-pipe","ท่อพีพีอาร์ตราช้าง (PPR Elephant Pipe)",{"depth":126,"slug":127,"text":127},{"depth":126,"slug":129,"text":129},{"depth":131,"slug":270,"text":271},"ข้อดีของท่อ-ppr-ตราช้าง","ข้อดีของท่อ PPR ตราช้าง",{"depth":126,"slug":135,"text":135},{"depth":131,"slug":274,"text":274},"เหมาะสำหรัก",{"depth":126,"slug":139,"text":139},{"depth":126,"slug":277,"text":277},"วิธีการติดตั้ง",{"depth":126,"slug":158,"text":158},{"depth":131,"slug":280,"text":234},"ท่อ-ppr-ตราช้างทนอุณหภูมิสูงสุดเท่าไร",{"depth":131,"slug":282,"text":237},"ท่อ-ppr-ตราช้างอายุการใช้งานกี่ปี",{"depth":131,"slug":284,"text":240},"ท่อ-ppr-แตกต่างจากท่อ-pvc-อย่างไร",{"depth":131,"slug":286,"text":246},"ท่อ-ppr-ตราช้างใช้กับน้ำดื่มได้หรือไม่",{"depth":126,"slug":168,"text":168},[],[],[],"ppr-elephant.md","pp-r-pp-rct-poloplast",{"id":292,"data":294,"body":366,"filePath":367,"digest":368,"rendered":369,"legacyId":397},{"id":250,"name":295,"nameEn":296,"slug":292,"description":297,"shortDescription":298,"image":299,"keywords":300,"seoContent":312,"specifications":313,"features":333,"applications":343,"certifications":349,"faq":351,"relatedProductIds":361,"schemaData":362},"ท่อ PP-R/PP-RCT POLOPLAST","POLOPLAST PP-R Pipe","ท่อพีพีอาร์ POLOPLAST จากเยอรมนี มาตรฐาน DVGW และ SKZ ทนอุณหภูมิ 95°C รับประกัน 10 ปี","ท่อ PP-R/PP-RCT POLOPLAST คุณภาพเยอรมัน","/images/2021/03/poloplast_000C.jpg",[301,302,303,304,305,306,307,308,309,310,311],"POLOPLAST","ท่อเยอรมัน","PP-RCT","ท่อพีพีอาร์เกรดสูง","ท่อ POLOPLAST","ท่อ PP-R เยอรมัน","ท่อน้ำร้อนเยอรมัน","DVGW","SKZ","ท่อ PP-RCT","Poloplast Thailand","ท่อพีพีอาร์ POLOPLAST เป็นผลิตภัณฑ์ระดับพรีเมียมจากเยอรมนี มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล มีความทนทานสูงสุด ทนอุณหภูมิได้ถึง 95°C และทนแรงดันสูง รับประกันคุณภาพ 10 ปี",[314,316,318,320,321,323,327,329,330],{"label":36,"value":315},"PP-R / PP-RCT (Polypropylene Random Copolymer)",{"label":42,"value":317},"DIN 8077/8078, ISO 15874, DVGW, SKZ",{"label":45,"value":319,"unit":47},"PN10, PN16, PN20, PN25",{"label":52,"value":198,"unit":54},{"label":56,"value":322,"unit":58},"20, 25, 32, 40, 50, 63, 75, 90, 110, 125, 160",{"label":324,"value":325,"unit":326},"ค่าสัมประสิทธิ์การนำความร้อน","0.15","W/mK",{"label":60,"value":328},"ขาว, เขียว, ส้ม",{"label":67,"value":68,"unit":69},{"label":331,"value":332,"unit":69},"รับประกัน","10",[334,335,336,337,338,339,210,340,341,342],"ผลิตในเยอรมนี คุณภาพระดับพรีเมียม","มาตรฐาน DVGW และ SKZ ระดับสากล","ทนอุณหภูมิสูงสุด 95°C","ทนแรงดันสูงถึง PN25","ค่านำความร้อนต่ำ 0.15 W/mK","ฉนวนความร้อนยอดเยี่ยม","อายุการใช้งาน 50 ปี","รับประกัน 10 ปี","เหมาะสำหรับงานที่ต้องการคุณภาพสูงสุด",[344,220,345,346,347,348,226],"ระบบประปาน้ำร้อนอุณหภูมิสูง","ระบบแอร์แช่ (Chilled Water)","โรงแรม 5 ดาว","โรงพยาบาลและศูนย์การแพทย์","โครงการระดับพรีเมียม",[228,229,308,309,350],"Hygienic Certificate",[352,355,358],{"question":353,"answer":354},"ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?","ท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป",{"question":356,"answer":357},"PP-RCT คืออะไร?","PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25",{"question":359,"answer":360},"ท่อ POLOPLAST รับประกันกี่ปี?","ท่อ POLOPLAST มีการรับประกันคุณภาพ 10 ปี สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์",[109,249,251],{"brand":301,"manufacturer":363,"material":364,"category":365},"POLOPLAST GmbH (Germany)","PP-R / PP-RCT","Plumbing Pipe - Premium PPR","# ท่อ PP-R/PP-RCT POLOPLAST\n\n## ภาพรวม\n\nท่อพีพีอาร์ **POLOPLAST** เป็นผลิตภัณฑ์ **ระดับพรีเมียมจากเยอรมนี** มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล\n\n## คุณสมบัติเด่น\n\nมีความทนทานสูงสุด **ทนอุณหภูมิได้ถึง 95°C** และ **ทนแรงดันสูงถึง PN25** รับประกันคุณภาพ **10 ปี**\n\n### ข้อดีของท่อ POLOPLAST\n\n1. **ผลิตในเยอรมนี** - คุณภาพระดับพรีเมียม\n2. **มาตรฐานสูงสุด** - DVGW และ SKZ\n3. **ทนแรงดัน PN25** - สูงที่สุดในตลาด\n4. **ฉนวนความร้อนดีเยี่ยม** - ค่าการนำความร้อน 0.15 W/mK\n5. **ทนอุณหภูมิ 95°C** - เหมาะกับน้ำร้อนอุณหภูมิสูง\n6. **รับประกัน 10 ปี** - มั่นใจในคุณภาพ\n7. **อายุการใช้งาน 50 ปี** - ลงทุนครั้งเดียว\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- ระบบประปาน้ำร้อนอุณหภูมิสูง\n- ระบบทำความร้อน (Heating)\n- ระบบแอร์แช่ (Chilled Water)\n- **โรงแรม 5 ดาว**\n- **โรงพยาบาลและศูนย์การแพทย์**\n- **โครงการระดับพรีเมียม**\n- โรงงานอุตสาหกรรม\n\n## มาตรฐานและรับรอง\n\nท่อ POLOPLAST ได้รับมาตรฐานสากล:\n\n- ✅ **DIN 8077/8078** - มาตรฐานเยอรมัน\n- ✅ **ISO 15874** - มาตรฐานสากล\n- ✅ **DVGW** - สมาคมเทคนิคและวิทยาศาสตร์ก๊าซและน้ำเยอรมัน\n- ✅ **SKZ** - ศูนย์เซาท์เยอรมันพลาสติก\n- ✅ **Hygienic Certificate** - รับรองความปลอดภัยน้ำดื่ม\n\n## PP-RCT Technology\n\n**PP-RCT** (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง **PN25**\n\n## คำถามที่พบบ่อย\n\n### ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?\n\nท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป\n\n### PP-RCT คืออะไร?\n\nPP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25\n\n### ท่อ POLOPLAST รับประกันกี่ปี?\n\nท่อ POLOPLAST มีการรับประกันคุณภาพ **10 ปี** สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)\n- [ท่อ PPR Thai PPR](/ท่อppr-thaippr/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/poloplast.md","a12877267883517d",{"html":370,"metadata":371},"\u003Ch1 id=\"ท่อ-pp-rpp-rct-poloplast\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อพีพีอาร์ \u003Cstrong>POLOPLAST\u003C/strong> เป็นผลิตภัณฑ์ \u003Cstrong>ระดับพรีเมียมจากเยอรมนี\u003C/strong> มีทั้งรุ่น PP-R และ PP-RCT ที่ได้รับการพัฒนาด้วยเทคโนโลยีล้ำสมัย ท่อ POLOPLAST ผ่านมาตรฐาน DVGW และ SKZ ระดับสากล\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>มีความทนทานสูงสุด \u003Cstrong>ทนอุณหภูมิได้ถึง 95°C\u003C/strong> และ \u003Cstrong>ทนแรงดันสูงถึง PN25\u003C/strong> รับประกันคุณภาพ \u003Cstrong>10 ปี\u003C/strong>\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-poloplast\">ข้อดีของท่อ POLOPLAST\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ผลิตในเยอรมนี\u003C/strong> - คุณภาพระดับพรีเมียม\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐานสูงสุด\u003C/strong> - DVGW และ SKZ\u003C/li>\n\u003Cli>\u003Cstrong>ทนแรงดัน PN25\u003C/strong> - สูงที่สุดในตลาด\u003C/li>\n\u003Cli>\u003Cstrong>ฉนวนความร้อนดีเยี่ยม\u003C/strong> - ค่าการนำความร้อน 0.15 W/mK\u003C/li>\n\u003Cli>\u003Cstrong>ทนอุณหภูมิ 95°C\u003C/strong> - เหมาะกับน้ำร้อนอุณหภูมิสูง\u003C/li>\n\u003Cli>\u003Cstrong>รับประกัน 10 ปี\u003C/strong> - มั่นใจในคุณภาพ\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งาน 50 ปี\u003C/strong> - ลงทุนครั้งเดียว\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาน้ำร้อนอุณหภูมิสูง\u003C/li>\n\u003Cli>ระบบทำความร้อน (Heating)\u003C/li>\n\u003Cli>ระบบแอร์แช่ (Chilled Water)\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรม 5 ดาว\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>โรงพยาบาลและศูนย์การแพทย์\u003C/strong>\u003C/li>\n\u003Cli>\u003Cstrong>โครงการระดับพรีเมียม\u003C/strong>\u003C/li>\n\u003Cli>โรงงานอุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ POLOPLAST ได้รับมาตรฐานสากล:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>DIN 8077/8078\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>ISO 15874\u003C/strong> - มาตรฐานสากล\u003C/li>\n\u003Cli>✅ \u003Cstrong>DVGW\u003C/strong> - สมาคมเทคนิคและวิทยาศาสตร์ก๊าซและน้ำเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>SKZ\u003C/strong> - ศูนย์เซาท์เยอรมันพลาสติก\u003C/li>\n\u003Cli>✅ \u003Cstrong>Hygienic Certificate\u003C/strong> - รับรองความปลอดภัยน้ำดื่ม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"pp-rct-technology\">PP-RCT Technology\u003C/h2>\n\u003Cp>\u003Cstrong>PP-RCT\u003C/strong> (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง \u003Cstrong>PN25\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-poloplast-กับท่อ-ppr-ทั่วไปต่างกันอย่างไร\">ท่อ POLOPLAST กับท่อ PPR ทั่วไปต่างกันอย่างไร?\u003C/h3>\n\u003Cp>ท่อ POLOPLAST ผลิตในเยอรมนี มีมาตรฐาน DVGW และ SKZ ทนแรงดันสูงถึง PN25 มีค่านำความร้อนต่ำกว่า และรับประกัน 10 ปี ซึ่งดีกว่าท่อ PPR ทั่วไป\u003C/p>\n\u003Ch3 id=\"pp-rct-คืออะไร\">PP-RCT คืออะไร?\u003C/h3>\n\u003Cp>PP-RCT (Polypropylene Random Copolymer with modified Crystallinity and Temperature resistance) เป็นวัสดุพัฒนาต่อจาก PP-R มีความทนทานต่อแรงดันและอุณหภูมิสูงกว่า สามารถทนแรงดันได้สูงถึง PN25\u003C/p>\n\u003Ch3 id=\"ท่อ-poloplast-รับประกันกี่ปี\">ท่อ POLOPLAST รับประกันกี่ปี?\u003C/h3>\n\u003Cp>ท่อ POLOPLAST มีการรับประกันคุณภาพ \u003Cstrong>10 ปี\u003C/strong> สะท้อนถึงความมั่นใจในคุณภาพของผลิตภัณฑ์\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADppr-thaippr/\">ท่อ PPR Thai PPR\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":372,"localImagePaths":394,"remoteImagePaths":395,"frontmatter":294,"imagePaths":396},[373,375,376,377,380,381,382,383,386,387,389,391,393],{"depth":122,"slug":374,"text":295},"ท่อ-pp-rpp-rct-poloplast",{"depth":126,"slug":127,"text":127},{"depth":126,"slug":129,"text":129},{"depth":131,"slug":378,"text":379},"ข้อดีของท่อ-poloplast","ข้อดีของท่อ POLOPLAST",{"depth":126,"slug":135,"text":135},{"depth":131,"slug":137,"text":137},{"depth":126,"slug":139,"text":139},{"depth":126,"slug":384,"text":385},"pp-rct-technology","PP-RCT Technology",{"depth":126,"slug":158,"text":158},{"depth":131,"slug":388,"text":353},"ท่อ-poloplast-กับท่อ-ppr-ทั่วไปต่างกันอย่างไร",{"depth":131,"slug":390,"text":356},"pp-rct-คืออะไร",{"depth":131,"slug":392,"text":359},"ท่อ-poloplast-รับประกันกี่ปี",{"depth":126,"slug":168,"text":168},[],[],[],"poloplast.md","ท่อppr-thaippr",{"id":398,"data":400,"body":447,"filePath":448,"digest":449,"rendered":450,"legacyId":473},{"id":249,"name":401,"nameEn":402,"slug":398,"description":403,"shortDescription":404,"image":179,"keywords":405,"seoContent":412,"specifications":413,"features":424,"applications":431,"certifications":437,"faq":438,"relatedProductIds":445,"schemaData":446},"ท่อ PPR Thai PPR","Thai PPR Pipe","ท่อ PPR Thai PPR คุณภาพสูง มาตรฐาน มอก. เหมาะสำหรับงานประปาและระบบน้ำ","ท่อ PPR Thai PPR มาตรฐาน มอก.",[182,406,407,408,184,185,409,410,411],"Thai PPR","ท่อพีพีอาร์ไทย","ท่อ PPR ไทย","ราคาท่อ PPR ไทย","ท่อพีพีอาร์มาตรฐาน มอก.","ท่อ PPR ราคาถูก","ท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ผลิตในประเทศไทย ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน ด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด",[414,415,416,417,419,420,422],{"label":36,"value":192},{"label":42,"value":230},{"label":45,"value":196,"unit":47},{"label":52,"value":418,"unit":54},"0-70",{"label":56,"value":200,"unit":58},{"label":60,"value":421},"ขาว, เขียว, เทา",{"label":67,"value":423,"unit":69},"30-50",[425,426,427,210,428,429,430],"ผลิตในประเทศไทย ราคาประหยัด","ผ่านมาตรฐาน มอก. สามารถตรวจสอบได้","ทนอุณหภูมิสูงสุด 70°C","ติดตั้งด้วยการเชื่อมความร้อน","ปลอดภัยสำหรับน้ำดื่ม","น้ำหนักเบา ขนส่งง่าย",[432,433,434,435,436],"ระบบประปาภายในอาคาร","ระบบน้ำเย็น","งานก่อสร้างที่อยู่อาศัย","โครงการจัดสรร","งานประปาขนาดเล็กและกลาง",[230],[439,442],{"question":440,"answer":441},"ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?","ท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า",{"question":443,"answer":444},"ท่อ Thai PPR รับประกันคุณภาพหรือไม่?","ได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้",[109,250,251],{"brand":406,"manufacturer":406,"material":255,"category":256},"# ท่อ PPR Thai PPR\n\n## ภาพรวม\n\nท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ **ผลิตในประเทศไทย** ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน\n\n## คุณสมบัติเด่น\n\nด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด\n\n### ข้อดีของท่อ Thai PPR\n\n1. **ผลิตในไทย** - ราคาประหยัด สนับสนุนสินค้าไทย\n2. **มาตรฐาน มอก.** - รับรองคุณภาพ ตรวจสอบได้\n3. **ทนความร้อน** - ใช้งานได้สูงถึง 70°C\n4. **ไม่เกิดสนิม** - ไม่มีการกัดกร่อนจากสารเคมี\n5. **ติดตั้งง่าย** - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\n6. **ปลอดภัย** - ใช้กับน้ำดื่มได้\n7. **น้ำหนักเบา** - ขนส่งและติดตั้งสะดวก\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- ระบบประปาภายในอาคาร\n- ระบบน้ำเย็น\n- งานก่อสร้างที่อยู่อาศัย\n- โครงการจัดสรร\n- งานประปาขนาดเล็กและกลาง\n\n## มาตรฐานและรับรอง\n\nท่อ PPR Thai PPR ผ่านมาตรฐาน:\n\n- ✅ **มอก. 248-2549** - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\n\n## คำถามที่พบบ่อย\n\n### ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?\n\nท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า\n\n### ท่อ Thai PPR รับประกันคุณภาพหรือไม่?\n\nได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อพีพีอาร์ตราช้าง](/ท่อพีพีอาร์ตราช้าง/)\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [เครื่องเชื่อมท่อพีพีอาร์](/เครื่องเชื่อมท่อพีพีอาร์/)","src/content/products/thai-ppr.md","836392630862c315",{"html":451,"metadata":452},"\u003Ch1 id=\"ท่อ-ppr-thai-ppr\">ท่อ PPR Thai PPR\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อ PPR Thai PPR เป็นท่อพลาสติกพีพีอาร์ \u003Cstrong>ผลิตในประเทศไทย\u003C/strong> ผ่านมาตรฐาน มอก. สำหรับใช้ในงานระบบประปาและระบบน้ำ ท่อ Thai PPR มีคุณสมบัติทนทานต่อความร้อนและความดัน เหมาะสำหรับงานประปาน้ำเย็นและน้ำร้อน\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ด้วยราคาที่เป็นมิตรกับงบประมาณ ท่อ PPR Thai PPR เป็นทางเลือกที่คุ้มค่าสำหรับโครงการก่อสร้างทุกขนาด\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-thai-ppr\">ข้อดีของท่อ Thai PPR\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ผลิตในไทย\u003C/strong> - ราคาประหยัด สนับสนุนสินค้าไทย\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐาน มอก.\u003C/strong> - รับรองคุณภาพ ตรวจสอบได้\u003C/li>\n\u003Cli>\u003Cstrong>ทนความร้อน\u003C/strong> - ใช้งานได้สูงถึง 70°C\u003C/li>\n\u003Cli>\u003Cstrong>ไม่เกิดสนิม\u003C/strong> - ไม่มีการกัดกร่อนจากสารเคมี\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - เชื่อมด้วยความร้อน ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>ปลอดภัย\u003C/strong> - ใช้กับน้ำดื่มได้\u003C/li>\n\u003Cli>\u003Cstrong>น้ำหนักเบา\u003C/strong> - ขนส่งและติดตั้งสะดวก\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบประปาภายในอาคาร\u003C/li>\n\u003Cli>ระบบน้ำเย็น\u003C/li>\n\u003Cli>งานก่อสร้างที่อยู่อาศัย\u003C/li>\n\u003Cli>โครงการจัดสรร\u003C/li>\n\u003Cli>งานประปาขนาดเล็กและกลาง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ PPR Thai PPR ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>มอก. 248-2549\u003C/strong> - มาตรฐานผลิตภัณฑ์อุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-thai-ppr-ต่างจากท่อ-ppr-ตราช้างอย่างไร\">ท่อ Thai PPR ต่างจากท่อ PPR ตราช้างอย่างไร?\u003C/h3>\n\u003Cp>ท่อ Thai PPR เป็นผลิตภัณฑ์ที่ผลิตในประเทศไทย ราคาประหยัดกว่า ในขณะที่ท่อ PPR ตราช้างเป็นผลิตภัณฑ์จาก SCG มีมาตรฐานสากลที่หลากหลายกว่า\u003C/p>\n\u003Ch3 id=\"ท่อ-thai-ppr-รับประกันคุณภาพหรือไม่\">ท่อ Thai PPR รับประกันคุณภาพหรือไม่?\u003C/h3>\n\u003Cp>ได้ ท่อ Thai PPR ผ่านมาตรฐาน มอก. 248-2549 สามารถตรวจสอบคุณภาพได้\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87/\">ท่อพีพีอาร์ตราช้าง\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B9%80%E0%B8%84%E0%B8%A3%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%80%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%A1%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C/\">เครื่องเชื่อมท่อพีพีอาร์\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":453,"localImagePaths":470,"remoteImagePaths":471,"frontmatter":400,"imagePaths":472},[454,456,457,458,461,462,463,464,465,467,469],{"depth":122,"slug":455,"text":401},"ท่อ-ppr-thai-ppr",{"depth":126,"slug":127,"text":127},{"depth":126,"slug":129,"text":129},{"depth":131,"slug":459,"text":460},"ข้อดีของท่อ-thai-ppr","ข้อดีของท่อ Thai PPR",{"depth":126,"slug":135,"text":135},{"depth":131,"slug":137,"text":137},{"depth":126,"slug":139,"text":139},{"depth":126,"slug":158,"text":158},{"depth":131,"slug":466,"text":440},"ท่อ-thai-ppr-ต่างจากท่อ-ppr-ตราช้างอย่างไร",{"depth":131,"slug":468,"text":443},"ท่อ-thai-ppr-รับประกันคุณภาพหรือไม่",{"depth":126,"slug":168,"text":168},[],[],[],"thai-ppr.md","ท่อไซเลอร์",{"id":474,"data":476,"body":537,"filePath":538,"digest":539,"rendered":540,"legacyId":564},{"id":477,"name":474,"nameEn":478,"slug":474,"description":479,"shortDescription":480,"image":481,"keywords":482,"seoContent":491,"specifications":492,"features":508,"applications":516,"certifications":521,"faq":523,"relatedProductIds":530,"schemaData":533},"syler","Syler Pipe","ท่อไซเลอร์ ท่อเหล็กบุ PE ทนแรงดัน 50 bar มาตรฐาน BS1387 FM APPROVED สำหรับระบบดับเพลิง","ท่อเหล็กบุ PE BS1387 FM APPROVED","/images/2021/03/syler_000C.jpg",[474,478,483,484,485,486,487,488,489,490],"ท่อเหล็กบุ PE","FM APPROVED","ท่อดับเพลิง","ท่อสปริงเกลอร์","BS1387","ท่อเหล็กชุบ PE","fire protection pipe","ท่อน้ำดับเพลิง","ท่อไซเลอร์ (Syler Pipe) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับระบบดับเพลิงและสปริงเกลอร์ ท่อมีความทนทานสูง ทนแรงดันได้ถึง 50 บาร์ ผ่านมาตรฐาน BS1387 จากอังกฤษและ FM APPROVED จาก Factory Mutual",[493,495,497,498,500,502,506],{"label":36,"value":494},"เหล็กบุ PE (Steel with PE lining)",{"label":42,"value":496},"BS1387, FM APPROVED",{"label":45,"value":68,"unit":47},{"label":56,"value":499,"unit":58},"25, 32, 40, 50, 65, 80, 100, 150, 200",{"label":202,"value":501},"Schedule 40, 80",{"label":503,"value":504,"unit":505},"ความยาว","6","เมตร",{"label":60,"value":507},"แดง (Red) - Fire Protection",[509,510,511,512,513,514,515],"ทนแรงดันสูง 50 บาร์","ผ่านมาตรฐาน BS1387 และ FM APPROVED","บุ PE ป้องกันสนิมและการกัดกร่อน","อายุการใช้งานยาวนาน","เหมาะสำหรับระบบดับเพลิง","ติดตั้งด้วย Groove Coupling","ทนทานต่อความร้อน",[517,518,226,519,520],"ระบบสปริงเกลอร์","ระบบดับเพลิง","อาคารพาณิชย์สูง","โรงแรมและโรงพยาบาล",[487,484,522],"UL Listed",[524,527],{"question":525,"answer":526},"ท่อไซเลอร์เหมาะกับงานอะไร?","ท่อไซเลอร์ออกแบบมาเฉพาะสำหรับระบบดับเพลิงและสปริงเกลอร์ ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย",{"question":528,"answer":529},"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?","ท่อไซเลอร์มีการบุ PE ภายในท่อ ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป",[531,532],"realflex","groove-coupling",{"brand":534,"material":535,"category":536},"Syler","Steel with PE Lining","Fire Protection Pipe","# ท่อไซเลอร์ (Syler Pipe)\n\n## ภาพรวม\n\nท่อไซเลอร์ (**Syler Pipe**) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับ **ระบบดับเพลิงและสปริงเกลอร์** ท่อมีความทนทานสูง ทนแรงดันได้ถึง **50 บาร์**\n\n## คุณสมบัติเด่น\n\nผ่านมาตรฐาน **BS1387** จากอังกฤษและ **FM APPROVED** จาก Factory Mutual ท่อไซเลอร์มีการบุ PE ภายในเพื่อป้องกันการกัดกร่อนและสนิม\n\n### ข้อดีของท่อไซเลอร์\n\n1. **ทนแรงดันสูง** - สูงถึง 50 บาร์\n2. **มาตรฐานสากล** - BS1387, FM APPROVED, UL Listed\n3. **บุ PE** - ป้องกันสนิมและการกัดกร่อน\n4. **เหมาะสำหรับดับเพลิง** - ออกแบบมาเฉพาะงานนี้\n5. **ติดตั้งง่าย** - ใช้ Groove Coupling\n6. **ทนความร้อน** - เหมาะกับระบบสปริงเกลอร์\n7. **อายุการใช้งานยาว** - ทนทานในระยะยาว\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบสปริงเกลอร์** - งานดับเพลิงอัตโนมัติ\n- **ระบบดับเพลิง** - งานป้องกันอัคคีภัย\n- **โรงงานอุตสาหกรรม** - ระบบความปลอดภัย\n- **อาคารพาณิชย์สูง** - อาคารสูง คอนโด\n- **โรงแรมและโรงพยาบาล** - สถานที่สาธารณะ\n\n## มาตรฐานและรับรอง\n\nท่อไซเลอร์ผ่านมาตรฐาน:\n\n- ✅ **BS1387** - มาตรฐานอังกฤษสำหรับท่อเหล็ก\n- ✅ **FM APPROVED** - Factory Mutual รับรองสำหรับระบบดับเพลิง\n- ✅ **UL Listed** - รับรองความปลอดภัย\n\n## การติดตั้ง\n\nท่อไซเลอร์ติดตั้งโดยใช้ **Groove Coupling** ซึ่งเป็นระบบต่อท่อที่:\n- ติดตั้งรวดเร็ว\n- ไม่ต้องใช้เครื่องเชื่อม\n- รองรับแรงดันสูง\n- ถอดประกอบได้สะดวก\n\n## คำถามที่พบบ่อย\n\n### ท่อไซเลอร์เหมาะกับงานอะไร?\n\nท่อไซเลอร์ออกแบบมาเฉพาะสำหรับ **ระบบดับเพลิงและสปริงเกลอร์** ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย\n\n### ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?\n\nท่อไซเลอร์มีการ **บุ PE ภายในท่อ** ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป\n\n## สินค้าที่เกี่ยวข้อง\n\n- [Realflex](/realflex/)\n- [ท่อและข้อต่อ Groove](/อุปกรณ์ท่อกรูฟ/)","src/content/products/syler.md","cc2ae8e1ef12a084",{"html":541,"metadata":542},"\u003Ch1 id=\"ท่อไซเลอร์-syler-pipe\">ท่อไซเลอร์ (Syler Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อไซเลอร์ (\u003Cstrong>Syler Pipe\u003C/strong>) เป็นท่อเหล็กบุ PE (Polyethylene) ที่ออกแบบมาเฉพาะสำหรับ \u003Cstrong>ระบบดับเพลิงและสปริงเกลอร์\u003C/strong> ท่อมีความทนทานสูง ทนแรงดันได้ถึง \u003Cstrong>50 บาร์\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ผ่านมาตรฐาน \u003Cstrong>BS1387\u003C/strong> จากอังกฤษและ \u003Cstrong>FM APPROVED\u003C/strong> จาก Factory Mutual ท่อไซเลอร์มีการบุ PE ภายในเพื่อป้องกันการกัดกร่อนและสนิม\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อไซเลอร์\">ข้อดีของท่อไซเลอร์\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ทนแรงดันสูง\u003C/strong> - สูงถึง 50 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>มาตรฐานสากล\u003C/strong> - BS1387, FM APPROVED, UL Listed\u003C/li>\n\u003Cli>\u003Cstrong>บุ PE\u003C/strong> - ป้องกันสนิมและการกัดกร่อน\u003C/li>\n\u003Cli>\u003Cstrong>เหมาะสำหรับดับเพลิง\u003C/strong> - ออกแบบมาเฉพาะงานนี้\u003C/li>\n\u003Cli>\u003Cstrong>ติดตั้งง่าย\u003C/strong> - ใช้ Groove Coupling\u003C/li>\n\u003Cli>\u003Cstrong>ทนความร้อน\u003C/strong> - เหมาะกับระบบสปริงเกลอร์\u003C/li>\n\u003Cli>\u003Cstrong>อายุการใช้งานยาว\u003C/strong> - ทนทานในระยะยาว\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบสปริงเกลอร์\u003C/strong> - งานดับเพลิงอัตโนมัติ\u003C/li>\n\u003Cli>\u003Cstrong>ระบบดับเพลิง\u003C/strong> - งานป้องกันอัคคีภัย\u003C/li>\n\u003Cli>\u003Cstrong>โรงงานอุตสาหกรรม\u003C/strong> - ระบบความปลอดภัย\u003C/li>\n\u003Cli>\u003Cstrong>อาคารพาณิชย์สูง\u003C/strong> - อาคารสูง คอนโด\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรมและโรงพยาบาล\u003C/strong> - สถานที่สาธารณะ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อไซเลอร์ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>BS1387\u003C/strong> - มาตรฐานอังกฤษสำหรับท่อเหล็ก\u003C/li>\n\u003Cli>✅ \u003Cstrong>FM APPROVED\u003C/strong> - Factory Mutual รับรองสำหรับระบบดับเพลิง\u003C/li>\n\u003Cli>✅ \u003Cstrong>UL Listed\u003C/strong> - รับรองความปลอดภัย\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้ง\">การติดตั้ง\u003C/h2>\n\u003Cp>ท่อไซเลอร์ติดตั้งโดยใช้ \u003Cstrong>Groove Coupling\u003C/strong> ซึ่งเป็นระบบต่อท่อที่:\u003C/p>\n\u003Cul>\n\u003Cli>ติดตั้งรวดเร็ว\u003C/li>\n\u003Cli>ไม่ต้องใช้เครื่องเชื่อม\u003C/li>\n\u003Cli>รองรับแรงดันสูง\u003C/li>\n\u003Cli>ถอดประกอบได้สะดวก\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อไซเลอร์เหมาะกับงานอะไร\">ท่อไซเลอร์เหมาะกับงานอะไร?\u003C/h3>\n\u003Cp>ท่อไซเลอร์ออกแบบมาเฉพาะสำหรับ \u003Cstrong>ระบบดับเพลิงและสปริงเกลอร์\u003C/strong> ผ่านมาตรฐาน FM APPROVED จึงมั่นใจได้ในความปลอดภัย\u003C/p>\n\u003Ch3 id=\"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร\">ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร?\u003C/h3>\n\u003Cp>ท่อไซเลอร์มีการ \u003Cstrong>บุ PE ภายในท่อ\u003C/strong> ป้องกันการเกิดสนิมและการกัดกร่อน ทำให้มีอายุการใช้งานยาวนานกว่าท่อเหล็กทั่วไป\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/realflex/\">Realflex\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%AD%E0%B8%B8%E0%B8%9B%E0%B8%81%E0%B8%A3%E0%B8%93%E0%B9%8C%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%81%E0%B8%A3%E0%B8%B9%E0%B8%9F/\">ท่อและข้อต่อ Groove\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":543,"localImagePaths":561,"remoteImagePaths":562,"frontmatter":476,"imagePaths":563},[544,547,548,549,551,552,553,554,555,556,558,560],{"depth":122,"slug":545,"text":546},"ท่อไซเลอร์-syler-pipe","ท่อไซเลอร์ (Syler Pipe)",{"depth":126,"slug":127,"text":127},{"depth":126,"slug":129,"text":129},{"depth":131,"slug":550,"text":550},"ข้อดีของท่อไซเลอร์",{"depth":126,"slug":135,"text":135},{"depth":131,"slug":137,"text":137},{"depth":126,"slug":139,"text":139},{"depth":126,"slug":150,"text":150},{"depth":126,"slug":158,"text":158},{"depth":131,"slug":557,"text":525},"ท่อไซเลอร์เหมาะกับงานอะไร",{"depth":131,"slug":559,"text":528},"ท่อไซเลอร์ต่างจากท่อเหล็กทั่วไปอย่างไร",{"depth":126,"slug":168,"text":168},[],[],[],"syler.md","ท่อระบายน้ำ-3-ชั้น-ไซเลนท",{"id":565,"data":567,"body":636,"filePath":637,"digest":638,"rendered":639,"legacyId":669},{"id":568,"name":569,"nameEn":570,"slug":565,"description":571,"shortDescription":572,"image":573,"keywords":574,"seoContent":586,"specifications":587,"features":605,"applications":613,"certifications":618,"faq":622,"relatedProductIds":629,"schemaData":631},"xylent","ท่อระบายน้ำ 3 ชั้น ไซเลนท์","XYLENT Silent Pipe","ท่อระบายน้ำ XYLENT 3 ชั้น ลดเสียง 22dB ระบบ Push Fit ติดตั้งง่าย จาก Poloplast ยุโรป","ท่อระบายน้ำไซเลนท์ 22dB Push Fit","/images/2021/03/xylent_000C.jpg",[575,576,577,578,579,580,581,582,583,584,585],"ท่อ XYLENT","22 dB","ท่อระบายน้ำ 3 ชั้น","ท่อไซเลนท์","silent pipe","ท่อลดเสียง","Push Fit pipe","ท่อระบายน้ำไซเลนท์","Poloplast","ท่อ PP","ท่อระบายน้ำอาคาร","ท่อระบายน้ำ XYLENT เป็นท่อระบายน้ำระดับพรีเมียมจาก Poloplast ประเทศออสเตรีย มีโครงสร้าง 3 ชั้น (Triple Layer) ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล ระบบ Push Fit ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ",[588,590,592,596,597,599,602,604],{"label":36,"value":589},"PP (Polypropylene) 3 ชั้น",{"label":42,"value":591},"EN 1451, DIN 19560",{"label":593,"value":594,"unit":595},"การลดเสียง","22","dB",{"label":52,"value":198,"unit":54},{"label":56,"value":598,"unit":58},"32, 40, 50, 75, 90, 110, 125, 160",{"label":600,"value":601},"ระบบติดตั้ง","Push Fit (Push-Fit)",{"label":60,"value":603},"เทาอ่อน",{"label":67,"value":68,"unit":69},[606,607,608,609,610,611,612,340],"ลดเสียงรบกวน 22 dB","โครงสร้าง 3 ชั้น (Triple Layer)","ระบบ Push Fit ติดตั้งง่าย","ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ","ผลิตในออสเตรีย คุณภาพยุโรป","ทนอุณหภูมิสูง 95°C","ไม่แตกหักง่าย",[614,222,615,616,617],"ระบบระบายน้ำอาคาร","โรงพยาบาล","อาคารพักอาศัยระดับสูง","อาคารสำนักงาน",[619,620,621],"EN 1451","DIN 19560","DIBt Approved",[623,626],{"question":624,"answer":625},"ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?","ท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง 22 เดซิเบล ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ",{"question":627,"answer":628},"ระบบ Push Fit คืออะไร?","ระบบ Push Fit เป็นระบบติดตั้งที่ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว",[250,630],"upvc",{"brand":632,"manufacturer":633,"material":634,"category":635},"XYLENT by Poloplast","Poloplast (Austria)","Polypropylene (PP) - Triple Layer","Drainage Pipe - Silent","# ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)\n\n## ภาพรวม\n\nท่อระบายน้ำ **XYLENT** เป็นท่อระบายน้ำระดับพรีเมียมจาก **Poloplast ประเทศออสเตรีย** มีโครงสร้าง **3 ชั้น (Triple Layer)** ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง **22 เดซิเบล**\n\n## คุณสมบัติเด่น\n\nระบบ **Push Fit** ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ ท่อ XYLENT เหมาะสำหรับอาคารที่ต้องการความเงียบ\n\n### ข้อดีของท่อ XYLENT\n\n1. **ลดเสียง 22 dB** - เงียบกว่าท่อทั่วไป\n2. **3 ชั้น** - Triple Layer Structure\n3. **Push Fit** - ติดตั้งง่าย ไม่ต้องใช้กาว\n4. **คุณภาพยุโรป** - ผลิตในออสเตรีย\n5. **ทนอุณหภูมิ** - สูงถึง 95°C\n6. **ไม่แตกหัก** - PP เกรดสูง\n7. **อายุ 50 ปี** - ทนทานยาวนาน\n\n## การใช้งาน\n\n### เหมาะสำหรับ\n\n- **ระบบระบายน้ำอาคาร** - ท่อระบายน้ำทิ้ง\n- **โรงแรมและรีสอร์ท** - ต้องการความเงียบ\n- **โรงพยาบาล** - สถานที่ต้องการความสงบ\n- **อาคารพักอาศัยระดับสูง** - คอนโดระดับพรีเมียม\n- **อาคารสำนักงาน** - สำนักงานเกรด A\n\n## มาตรฐานและรับรอง\n\nท่อ XYLENT ผ่านมาตรฐาน:\n\n- ✅ **EN 1451** - มาตรฐานยุโรปสำหรับท่อระบายน้ำ\n- ✅ **DIN 19560** - มาตรฐานเยอรมัน\n- ✅ **DIBt Approved** - รับรองโดยสถาบันก่อสร้างเยอรมัน\n\n## โครงสร้าง 3 ชั้น\n\nท่อ XYLENT มีโครงสร้าง **Triple Layer**:\n\n1. **ชั้นใน** - PP เรียบ ลดแรงเสียดทาน\n2. **ชั้นกลาง** - PP แร่ เพิ่มความแข็งแรง\n3. **ชั้นนอก** - PP เรียบ ป้องกันรอยขีดข่วน\n\nโครงสร้างนี้ช่วย **ลดเสียงรบกวน** ได้ถึง **22 dB**\n\n## ระบบ Push Fit\n\n**Push Fit** คือระบบติดตั้งที่:\n- ไม่ต้องใช้กาว\n- ไม่ต้องใช้เครื่องมือพิเศษ\n- แค่ดันท่อเข้ากันก็ติดตั้งเสร็จ\n- ประหยัดเวลาและค่าแรง\n\n## คำถามที่พบบ่อย\n\n### ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?\n\nท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง **22 เดซิเบล** ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ\n\n### ระบบ Push Fit คืออะไร?\n\nระบบ Push Fit เป็นระบบติดตั้งที่ **ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ** เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว\n\n## สินค้าที่เกี่ยวข้อง\n\n- [ท่อ PP-R/PP-RCT POLOPLAST](/pp-r-pp-rct-poloplast/)\n- [ท่อ uPVC](/ท่อupvc/)","src/content/products/xylent.md","70f9a87cc3a80d76",{"html":640,"metadata":641},"\u003Ch1 id=\"ท่อระบายน้ำ-3-ชั้น-xylent-silent-pipe\">ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)\u003C/h1>\n\u003Ch2 id=\"ภาพรวม\">ภาพรวม\u003C/h2>\n\u003Cp>ท่อระบายน้ำ \u003Cstrong>XYLENT\u003C/strong> เป็นท่อระบายน้ำระดับพรีเมียมจาก \u003Cstrong>Poloplast ประเทศออสเตรีย\u003C/strong> มีโครงสร้าง \u003Cstrong>3 ชั้น (Triple Layer)\u003C/strong> ช่วยลดเสียงรบกวนจากการไหลของน้ำได้ถึง \u003Cstrong>22 เดซิเบล\u003C/strong>\u003C/p>\n\u003Ch2 id=\"คุณสมบัติเด่น\">คุณสมบัติเด่น\u003C/h2>\n\u003Cp>ระบบ \u003Cstrong>Push Fit\u003C/strong> ช่วยให้ติดตั้งง่าย ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ ท่อ XYLENT เหมาะสำหรับอาคารที่ต้องการความเงียบ\u003C/p>\n\u003Ch3 id=\"ข้อดีของท่อ-xylent\">ข้อดีของท่อ XYLENT\u003C/h3>\n\u003Col>\n\u003Cli>\u003Cstrong>ลดเสียง 22 dB\u003C/strong> - เงียบกว่าท่อทั่วไป\u003C/li>\n\u003Cli>\u003Cstrong>3 ชั้น\u003C/strong> - Triple Layer Structure\u003C/li>\n\u003Cli>\u003Cstrong>Push Fit\u003C/strong> - ติดตั้งง่าย ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>\u003Cstrong>คุณภาพยุโรป\u003C/strong> - ผลิตในออสเตรีย\u003C/li>\n\u003Cli>\u003Cstrong>ทนอุณหภูมิ\u003C/strong> - สูงถึง 95°C\u003C/li>\n\u003Cli>\u003Cstrong>ไม่แตกหัก\u003C/strong> - PP เกรดสูง\u003C/li>\n\u003Cli>\u003Cstrong>อายุ 50 ปี\u003C/strong> - ทนทานยาวนาน\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"การใช้งาน\">การใช้งาน\u003C/h2>\n\u003Ch3 id=\"เหมาะสำหรับ\">เหมาะสำหรับ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>ระบบระบายน้ำอาคาร\u003C/strong> - ท่อระบายน้ำทิ้ง\u003C/li>\n\u003Cli>\u003Cstrong>โรงแรมและรีสอร์ท\u003C/strong> - ต้องการความเงียบ\u003C/li>\n\u003Cli>\u003Cstrong>โรงพยาบาล\u003C/strong> - สถานที่ต้องการความสงบ\u003C/li>\n\u003Cli>\u003Cstrong>อาคารพักอาศัยระดับสูง\u003C/strong> - คอนโดระดับพรีเมียม\u003C/li>\n\u003Cli>\u003Cstrong>อาคารสำนักงาน\u003C/strong> - สำนักงานเกรด A\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"มาตรฐานและรับรอง\">มาตรฐานและรับรอง\u003C/h2>\n\u003Cp>ท่อ XYLENT ผ่านมาตรฐาน:\u003C/p>\n\u003Cul>\n\u003Cli>✅ \u003Cstrong>EN 1451\u003C/strong> - มาตรฐานยุโรปสำหรับท่อระบายน้ำ\u003C/li>\n\u003Cli>✅ \u003Cstrong>DIN 19560\u003C/strong> - มาตรฐานเยอรมัน\u003C/li>\n\u003Cli>✅ \u003Cstrong>DIBt Approved\u003C/strong> - รับรองโดยสถาบันก่อสร้างเยอรมัน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"โครงสร้าง-3-ชั้น\">โครงสร้าง 3 ชั้น\u003C/h2>\n\u003Cp>ท่อ XYLENT มีโครงสร้าง \u003Cstrong>Triple Layer\u003C/strong>:\u003C/p>\n\u003Col>\n\u003Cli>\u003Cstrong>ชั้นใน\u003C/strong> - PP เรียบ ลดแรงเสียดทาน\u003C/li>\n\u003Cli>\u003Cstrong>ชั้นกลาง\u003C/strong> - PP แร่ เพิ่มความแข็งแรง\u003C/li>\n\u003Cli>\u003Cstrong>ชั้นนอก\u003C/strong> - PP เรียบ ป้องกันรอยขีดข่วน\u003C/li>\n\u003C/ol>\n\u003Cp>โครงสร้างนี้ช่วย \u003Cstrong>ลดเสียงรบกวน\u003C/strong> ได้ถึง \u003Cstrong>22 dB\u003C/strong>\u003C/p>\n\u003Ch2 id=\"ระบบ-push-fit\">ระบบ Push Fit\u003C/h2>\n\u003Cp>\u003Cstrong>Push Fit\u003C/strong> คือระบบติดตั้งที่:\u003C/p>\n\u003Cul>\n\u003Cli>ไม่ต้องใช้กาว\u003C/li>\n\u003Cli>ไม่ต้องใช้เครื่องมือพิเศษ\u003C/li>\n\u003Cli>แค่ดันท่อเข้ากันก็ติดตั้งเสร็จ\u003C/li>\n\u003Cli>ประหยัดเวลาและค่าแรง\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"คำถามที่พบบ่อย\">คำถามที่พบบ่อย\u003C/h2>\n\u003Ch3 id=\"ท่อ-xylent-ลดเสียงได้กี่เดซิเบล\">ท่อ XYLENT ลดเสียงได้กี่เดซิเบล?\u003C/h3>\n\u003Cp>ท่อ XYLENT สามารถลดเสียงรบกวนจากการไหลของน้ำได้ถึง \u003Cstrong>22 เดซิเบล\u003C/strong> ทำให้เหมาะสำหรับอาคารที่ต้องการความเงียบ\u003C/p>\n\u003Ch3 id=\"ระบบ-push-fit-คืออะไร\">ระบบ Push Fit คืออะไร?\u003C/h3>\n\u003Cp>ระบบ Push Fit เป็นระบบติดตั้งที่ \u003Cstrong>ไม่ต้องใช้กาวหรือเครื่องมือพิเศษ\u003C/strong> เพียงสองท่อเข้าหากันก็ติดตั้งเสร็จ สะดวกและรวดเร็ว\u003C/p>\n\u003Ch2 id=\"สินค้าที่เกี่ยวข้อง\">สินค้าที่เกี่ยวข้อง\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"/pp-r-pp-rct-poloplast/\">ท่อ PP-R/PP-RCT POLOPLAST\u003C/a>\u003C/li>\n\u003Cli>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADupvc/\">ท่อ uPVC\u003C/a>\u003C/li>\n\u003C/ul>",{"headings":642,"localImagePaths":666,"remoteImagePaths":667,"frontmatter":567,"imagePaths":668},[643,646,647,648,651,652,653,654,657,660,661,663,665],{"depth":122,"slug":644,"text":645},"ท่อระบายน้ำ-3-ชั้น-xylent-silent-pipe","ท่อระบายน้ำ 3 ชั้น XYLENT (Silent Pipe)",{"depth":126,"slug":127,"text":127},{"depth":126,"slug":129,"text":129},{"depth":131,"slug":649,"text":650},"ข้อดีของท่อ-xylent","ข้อดีของท่อ XYLENT",{"depth":126,"slug":135,"text":135},{"depth":131,"slug":137,"text":137},{"depth":126,"slug":139,"text":139},{"depth":126,"slug":655,"text":656},"โครงสร้าง-3-ชั้น","โครงสร้าง 3 ชั้น",{"depth":126,"slug":658,"text":659},"ระบบ-push-fit","ระบบ Push Fit",{"depth":126,"slug":158,"text":158},{"depth":131,"slug":662,"text":624},"ท่อ-xylent-ลดเสียงได้กี่เดซิเบล",{"depth":131,"slug":664,"text":627},"ระบบ-push-fit-คืออะไร",{"depth":126,"slug":168,"text":168},[],[],[],"xylent.md","blog",["Map",672,673,740,741,800,801],"ข้อดี-ท่อ-hdpe",{"id":672,"data":674,"body":682,"filePath":683,"digest":684,"rendered":685,"legacyId":739},{"id":675,"title":676,"excerpt":677,"date":678,"author":679,"categories":680,"featuredImage":17},"hdpe-pipe-advantages","ข้อดีของท่อ HDPE ในงานระบบน้ำ ทำไมถึงเป็นตัวเลือกยอดนิยม","ท่อ HDPE (High Density Polyethylene) เป็นท่อที่ได้รับความนิยมสูงในงานระบบน้ำ เนื่องจากความทนทานและความยืดหยุ่นที่เหนือกว่าท่อชนิดอื่น","2024-01-10","Deal Plus Tech",[13,681],"ความรู้","## ท่อ HDPE คืออะไร?\n\nท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อที่ผลิตจากโพลิเอทิลีนความหนาแน่นสูง เป็นวัสดุพลาสติกที่มีความแข็งแรงและทนทานเป็นอย่างมาก\n\n## ข้อดีของท่อ HDPE\n\n### 1. ความยืดหยุ่นสูง\nท่อ HDPE สามารถโค้งงอได้ถึง 45 องศา ทำให้เหมาะสำหรับพื้นที่ติดตั้งจำกัด และสามารถรองรับการเคลื่อนไหวของดินได้ดี\n\n### 2. ทนทานต่อสารเคมี\nท่อ HDPE ทนทานต่อการกัดกร่อนของสารเคมี กรด และด่าง ทำให้เหมาะสำหรับงานอุตสาหกรรม\n\n### 3. อายุการใช้งานยาวนาน\nท่อ HDPE มีอายุการใช้งานมากกว่า 50 ปี เมื่อติดตั้งและใช้งานอย่างถูกต้อง\n\n### 4. น้ำหนักเบา\nท่อ HDPE มีน้ำหนักเบากว่าท่อโลหะ ทำให้ง่ายต่อการขนส่งและติดตั้ง\n\n### 5. การเชื่อมต่อที่แน่นหนา\nการเชื่อมท่อ HDPE ด้วยวิธี Butt Fusion ทำให้ท่อเชื่อมต่อกันเป็นเนื้อเดียว ไม่มีรอยต่อ ป้องกันการรั่วซึม\n\n### 6. ปลอดภัยต่อสุขภาพ\nท่อ HDPE ไม่เป็นสนิม ไม่ปล่อยสารพิษ ปลอดภัยสำหรับน้ำดื่ม\n\n## การใช้งานท่อ HDPE\n\n### งานประปา\n- ท่อส่งน้ำประปา\n- ระบบประปาในบ้านเรือน\n- ระบบประปาในอาคาร\n\n### งานเกษตร\n- ระบบน้ำหยด\n- ระบบสปริงเกลอร์\n- ระบบน้ำเพื่อการเกษตร\n\n### งานอุตสาหกรรม\n- ท่อส่งสารเคมี\n- ระบบบำบัดน้ำเสีย\n- งานโรงงานอุตสาหกรรม\n\n### งานโครงสร้างพื้นฐาน\n- งานท่อใต้ดิน\n- ท่อร้อยสายไฟ\n- งานสาธารณูปโภค\n\n## ขนาดท่อ HDPE ที่นิยมใช้\n\n| ขนาด (มม.) | การใช้งาน |\n|------------|-----------|\n| 16-32 | งานประปาภายในบ้าน |\n| 40-63 | งานประปาอาคารขนาดเล็ก |\n| 75-110 | งานประปาอาคารขนาดใหญ่ |\n| 125-315 | งานท่อส่งน้ำหลัก |\n| 355-1200 | งานโครงสร้างพื้นฐาน |\n\n## เกรดของท่อ HDPE\n\n### PE80\n- เหมาะสำหรับงานทั่วไป\n- ทนแรงดันสูงสุด 8 MPa\n\n### PE100\n- เหมาะสำหรับงานที่ต้องการความแข็งแรงสูง\n- ทนแรงดันสูงสุด 10 MPa\n- เป็นเกรดที่นิยมใช้ในปัจจุบัน\n\n## การติดตั้งท่อ HDPE\n\n### วิธี Butt Fusion\n1. ตัดท่อให้ตรง\n2. ทำความสะอาดผิวท่อ\n3. ใช้เครื่องเชื่อมท่อ HDPE\n4. ให้ความร้อนจนผิวท่อละลาย\n5. กดท่อเข้าด้วยกัน\n6. รอให้เย็นตัวลง\n\n### วิธี Electrofusion\n1. ใช้ข้อต่อแบบ Electrofusion\n2. เสียบปลั๊กไฟเข้ากับข้อต่อ\n3. รอจนกระบวนการเชื่อมเสร็จสิ้น\n\n## สรุป\n\nท่อ HDPE เป็นตัวเลือกที่ยอดเยี่ยมสำหรับงานระบบน้ำ เนื่องจากมีความทนทาน ความยืดหยุ่น และอายุการใช้งานที่ยาวนาน ไม่ว่าจะเป็นงานประปา งานเกษตร หรืองานอุตสาหกรรม ท่อ HDPE สามารถตอบโจทย์ได้ทุกการใช้งาน\n\n---\n\n**สนใจสินค้าท่อ HDPE?**\nติดต่อเราได้ที่:\n- โทร: 090-555-1415\n- LINE: jppselection\n\n[ดูสินค้าท่อ HDPE ทั้งหมด](/ท่อhdpe)","src/content/blog/ข้อดี-ท่อ-hdpe.md","db9b3d046434d90e",{"html":686,"metadata":687},"\u003Ch2 id=\"ท่อ-hdpe-คืออะไร\">ท่อ HDPE คืออะไร?\u003C/h2>\n\u003Cp>ท่อ HDPE (High Density Polyethylene) หรือท่อเอชดีพีอี เป็นท่อที่ผลิตจากโพลิเอทิลีนความหนาแน่นสูง เป็นวัสดุพลาสติกที่มีความแข็งแรงและทนทานเป็นอย่างมาก\u003C/p>\n\u003Ch2 id=\"ข้อดีของท่อ-hdpe\">ข้อดีของท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"1-ความยืดหยุ่นสูง\">1. ความยืดหยุ่นสูง\u003C/h3>\n\u003Cp>ท่อ HDPE สามารถโค้งงอได้ถึง 45 องศา ทำให้เหมาะสำหรับพื้นที่ติดตั้งจำกัด และสามารถรองรับการเคลื่อนไหวของดินได้ดี\u003C/p>\n\u003Ch3 id=\"2-ทนทานต่อสารเคมี\">2. ทนทานต่อสารเคมี\u003C/h3>\n\u003Cp>ท่อ HDPE ทนทานต่อการกัดกร่อนของสารเคมี กรด และด่าง ทำให้เหมาะสำหรับงานอุตสาหกรรม\u003C/p>\n\u003Ch3 id=\"3-อายุการใช้งานยาวนาน\">3. อายุการใช้งานยาวนาน\u003C/h3>\n\u003Cp>ท่อ HDPE มีอายุการใช้งานมากกว่า 50 ปี เมื่อติดตั้งและใช้งานอย่างถูกต้อง\u003C/p>\n\u003Ch3 id=\"4-น้ำหนักเบา\">4. น้ำหนักเบา\u003C/h3>\n\u003Cp>ท่อ HDPE มีน้ำหนักเบากว่าท่อโลหะ ทำให้ง่ายต่อการขนส่งและติดตั้ง\u003C/p>\n\u003Ch3 id=\"5-การเชื่อมต่อที่แน่นหนา\">5. การเชื่อมต่อที่แน่นหนา\u003C/h3>\n\u003Cp>การเชื่อมท่อ HDPE ด้วยวิธี Butt Fusion ทำให้ท่อเชื่อมต่อกันเป็นเนื้อเดียว ไม่มีรอยต่อ ป้องกันการรั่วซึม\u003C/p>\n\u003Ch3 id=\"6-ปลอดภัยต่อสุขภาพ\">6. ปลอดภัยต่อสุขภาพ\u003C/h3>\n\u003Cp>ท่อ HDPE ไม่เป็นสนิม ไม่ปล่อยสารพิษ ปลอดภัยสำหรับน้ำดื่ม\u003C/p>\n\u003Ch2 id=\"การใช้งานท่อ-hdpe\">การใช้งานท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"งานประปา\">งานประปา\u003C/h3>\n\u003Cul>\n\u003Cli>ท่อส่งน้ำประปา\u003C/li>\n\u003Cli>ระบบประปาในบ้านเรือน\u003C/li>\n\u003Cli>ระบบประปาในอาคาร\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"งานเกษตร\">งานเกษตร\u003C/h3>\n\u003Cul>\n\u003Cli>ระบบน้ำหยด\u003C/li>\n\u003Cli>ระบบสปริงเกลอร์\u003C/li>\n\u003Cli>ระบบน้ำเพื่อการเกษตร\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"งานอุตสาหกรรม\">งานอุตสาหกรรม\u003C/h3>\n\u003Cul>\n\u003Cli>ท่อส่งสารเคมี\u003C/li>\n\u003Cli>ระบบบำบัดน้ำเสีย\u003C/li>\n\u003Cli>งานโรงงานอุตสาหกรรม\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"งานโครงสร้างพื้นฐาน\">งานโครงสร้างพื้นฐาน\u003C/h3>\n\u003Cul>\n\u003Cli>งานท่อใต้ดิน\u003C/li>\n\u003Cli>ท่อร้อยสายไฟ\u003C/li>\n\u003Cli>งานสาธารณูปโภค\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ขนาดท่อ-hdpe-ที่นิยมใช้\">ขนาดท่อ HDPE ที่นิยมใช้\u003C/h2>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>ขนาด (มม.)\u003C/th>\u003Cth>การใช้งาน\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>16-32\u003C/td>\u003Ctd>งานประปาภายในบ้าน\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>40-63\u003C/td>\u003Ctd>งานประปาอาคารขนาดเล็ก\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>75-110\u003C/td>\u003Ctd>งานประปาอาคารขนาดใหญ่\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>125-315\u003C/td>\u003Ctd>งานท่อส่งน้ำหลัก\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>355-1200\u003C/td>\u003Ctd>งานโครงสร้างพื้นฐาน\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2 id=\"เกรดของท่อ-hdpe\">เกรดของท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"pe80\">PE80\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับงานทั่วไป\u003C/li>\n\u003Cli>ทนแรงดันสูงสุด 8 MPa\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"pe100\">PE100\u003C/h3>\n\u003Cul>\n\u003Cli>เหมาะสำหรับงานที่ต้องการความแข็งแรงสูง\u003C/li>\n\u003Cli>ทนแรงดันสูงสุด 10 MPa\u003C/li>\n\u003Cli>เป็นเกรดที่นิยมใช้ในปัจจุบัน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้งท่อ-hdpe\">การติดตั้งท่อ HDPE\u003C/h2>\n\u003Ch3 id=\"วิธี-butt-fusion\">วิธี Butt Fusion\u003C/h3>\n\u003Col>\n\u003Cli>ตัดท่อให้ตรง\u003C/li>\n\u003Cli>ทำความสะอาดผิวท่อ\u003C/li>\n\u003Cli>ใช้เครื่องเชื่อมท่อ HDPE\u003C/li>\n\u003Cli>ให้ความร้อนจนผิวท่อละลาย\u003C/li>\n\u003Cli>กดท่อเข้าด้วยกัน\u003C/li>\n\u003Cli>รอให้เย็นตัวลง\u003C/li>\n\u003C/ol>\n\u003Ch3 id=\"วิธี-electrofusion\">วิธี Electrofusion\u003C/h3>\n\u003Col>\n\u003Cli>ใช้ข้อต่อแบบ Electrofusion\u003C/li>\n\u003Cli>เสียบปลั๊กไฟเข้ากับข้อต่อ\u003C/li>\n\u003Cli>รอจนกระบวนการเชื่อมเสร็จสิ้น\u003C/li>\n\u003C/ol>\n\u003Ch2 id=\"สรุป\">สรุป\u003C/h2>\n\u003Cp>ท่อ HDPE เป็นตัวเลือกที่ยอดเยี่ยมสำหรับงานระบบน้ำ เนื่องจากมีความทนทาน ความยืดหยุ่น และอายุการใช้งานที่ยาวนาน ไม่ว่าจะเป็นงานประปา งานเกษตร หรืองานอุตสาหกรรม ท่อ HDPE สามารถตอบโจทย์ได้ทุกการใช้งาน\u003C/p>\n\u003Chr>\n\u003Cp>\u003Cstrong>สนใจสินค้าท่อ HDPE?\u003C/strong>\nติดต่อเราได้ที่:\u003C/p>\n\u003Cul>\n\u003Cli>โทร: 090-555-1415\u003C/li>\n\u003Cli>LINE: jppselection\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%ADhdpe\">ดูสินค้าท่อ HDPE ทั้งหมด\u003C/a>\u003C/p>",{"headings":688,"localImagePaths":736,"remoteImagePaths":737,"frontmatter":674,"imagePaths":738},[689,692,693,696,699,702,705,708,711,714,716,718,719,721,724,725,727,729,732,733,734],{"depth":126,"slug":690,"text":691},"ท่อ-hdpe-คืออะไร","ท่อ HDPE คืออะไร?",{"depth":126,"slug":132,"text":133},{"depth":131,"slug":694,"text":695},"1-ความยืดหยุ่นสูง","1. ความยืดหยุ่นสูง",{"depth":131,"slug":697,"text":698},"2-ทนทานต่อสารเคมี","2. ทนทานต่อสารเคมี",{"depth":131,"slug":700,"text":701},"3-อายุการใช้งานยาวนาน","3. อายุการใช้งานยาวนาน",{"depth":131,"slug":703,"text":704},"4-น้ำหนักเบา","4. น้ำหนักเบา",{"depth":131,"slug":706,"text":707},"5-การเชื่อมต่อที่แน่นหนา","5. การเชื่อมต่อที่แน่นหนา",{"depth":131,"slug":709,"text":710},"6-ปลอดภัยต่อสุขภาพ","6. ปลอดภัยต่อสุขภาพ",{"depth":126,"slug":712,"text":713},"การใช้งานท่อ-hdpe","การใช้งานท่อ HDPE",{"depth":131,"slug":715,"text":715},"งานประปา",{"depth":131,"slug":717,"text":717},"งานเกษตร",{"depth":131,"slug":86,"text":86},{"depth":131,"slug":720,"text":720},"งานโครงสร้างพื้นฐาน",{"depth":126,"slug":722,"text":723},"ขนาดท่อ-hdpe-ที่นิยมใช้","ขนาดท่อ HDPE ที่นิยมใช้",{"depth":126,"slug":141,"text":142},{"depth":131,"slug":726,"text":22},"pe80",{"depth":131,"slug":728,"text":23},"pe100",{"depth":126,"slug":730,"text":731},"การติดตั้งท่อ-hdpe","การติดตั้งท่อ HDPE",{"depth":131,"slug":152,"text":153},{"depth":131,"slug":155,"text":156},{"depth":126,"slug":735,"text":735},"สรุป",[],[],[],"ข้อดี-ท่อ-hdpe.md","บำรุงรักษาปั๊มน้ำ",{"id":740,"data":742,"body":752,"filePath":753,"digest":754,"rendered":755,"legacyId":799},{"id":743,"title":744,"excerpt":745,"date":746,"author":679,"categories":747,"featuredImage":751},"water-pump-maintenance","การบำรุงรักษาปั๊มน้ำให้มีอายุการใช้งานยาวนาน","ปั๊มน้ำเป็นอุปกรณ์สำคัญในระบบน้ำทุกบ้าน การบำรุงรักษาที่ถูกต้องจะช่วยยืดอายุการใช้งานและประหยัดค่าไฟฟ้า","2024-01-05",[748,749,750],"ปั๊มน้ำ","บำรุงรักษา","เคล็ดลับ","/images/2021/02/Water-Pump1.jpg","## ความสำคัญของการบำรุงรักษาปั๊มน้ำ\n\nปั๊มน้ำเป็นหัวใจของระบบน้ำในบ้าน การบำรุงรักษาอย่างสม่ำเสมอจะช่วย:\n- ยืดอายุการใช้งานของปั๊มน้ำ\n- ลดปัญหาการเสีย\n- ประหยัดค่าไฟฟ้า\n- ป้องกันอุบัติเหตุจากการรั่วซึม\n\n## การบำรุงรักษาปั๊มน้ำแบบทำเอง\n\n### 1. ตรวจสอบสายไฟและสวิตช์\n- ตรวจสอบสายไฟว่ามีรอยชำรุดหรือไม่\n- ตรวจสอบสวิตช์ว่าทำงานปกติหรือไม่\n- หากพบความผิดปกติควรเรียกช่าง\n\n### 2. ทำความสะอาดตัวกรอง\n- ปิดวาล์วน้ำเข้าก่อนทำความสะอาด\n- ถอดตัวกรองออกมาล้าง\n- ตรวจสอบว่ามีสิ่งปนเปื้อนหรือไม่\n- ติดตั้งกลับเข้าที่เดิม\n\n### 3. ตรวจสอบแรงดันน้ำ\n- สังเกตแรงดันน้ำว่าลดลงหรือไม่\n- ตรวจสอบว่ามีเสียงผิดปกติหรือไม่\n- หากแรงดันลดลงอาจมีการรั่วซึม\n\n### 4. ตรวจสอบถังแรงดัน (Pressure Tank)\n- ตรวจสอบว่าถังมีอากาศเพียงพอหรือไม่\n- หากปั๊มเปิด-ปิดบ่อยผิดปกติ อาจต้องเติมอากาศ\n- ควรตรวจสอบทุก 6 เดือน\n\n## ปัญหาที่พบบ่อยและวิธีแก้ไข\n\n### ปั๊มไม่ทำงาน\n**สาเหตุ:**\n- ไฟดับหรือสายไฟขาด\n- สวิตช์เสีย\n- มอเตอร์เสีย\n\n**วิธีแก้:**\n- ตรวจสอบไฟและสายไฟ\n- เปลี่ยนสวิตช์\n- เรียกช่างซ่อมมอเตอร์\n\n### แรงดันน้ำต่ำ\n**สาเหตุ:**\n- ตัวกรองอุดตัน\n- ท่อรั่ว\n- ใบพัดสึกหรอ\n\n**วิธีแก้:**\n- ทำความสะอาดตัวกรอง\n- ตรวจสอบและซ่อมท่อ\n- เปลี่ยนใบพัด\n\n### ปั๊มเปิด-ปิดบ่อย\n**สาเหตุ:**\n- ถังแรงดันอากาศรั่ว\n- แผ่นไดอะแฟรมแตก\n- วาล์วตรวจสอบแรงดันเสีย\n\n**วิธีแก้:**\n- เติมอากาศในถัง\n- เปลี่ยนแผ่นไดอะแฟรม\n- เปลี่ยนวาล์ว\n\n### ปั๊มมีเสียงดังผิดปกติ\n**สาเหตุ:**\n- ลูกปืนเสีย\n- ใบพัดชำรุด\n- การติดตั้งไม่แน่นหนา\n\n**วิธีแก้:**\n- เปลี่ยนลูกปืน\n- เปลี่ยนใบพัด\n- ตรวจสอบการยึดแน่น\n\n## ตารางการบำรุงรักษา\n\n| รายการ | ความถี่ | หมายเหตุ |\n|--------|---------|----------|\n| ตรวจสอบสายไฟ | ทุกเดือน | มองหารอยชำรุด |\n| ทำความสะอาดตัวกรอง | ทุก 3 เดือน | หรือเมื่อแรงดันลด |\n| ตรวจสอบถังแรงดัน | ทุก 6 เดือน | เติมอากาศหากจำเป็น |\n| ตรวจสอบสวิตช์ | ทุกปี | เปลี่ยนหากเสีย |\n| ตรวจสอบใบพัด | ทุก 2 ปี | โดยช่างผู้เชี่ยวชาญ |\n\n## เคล็ดลับการใช้งานปั๊มน้ำ\n\n### ประหยัดไฟฟ้า\n- เลือกขนาดปั๊มที่เหมาะสมกับการใช้งาน\n- ติดตั้งถังแรงดันขนาดเหมาะสม\n- หลีกเลี่ยงการเปิด-ปิดปั๊มบ่อย\n\n### ป้องกันปัญหา\n- อย่าให้ปั๊มแห้ง (ทำงานโดยไม่มีน้ำ)\n- ตรวจสอบรอยรั่วอย่างสม่ำเสมอ\n- ใช้ตัวกรองเพื่อป้องกันสิ่งสกปรก\n\n### เมื่อต้องเปลี่ยนปั๊ม\n- เลือกปั๊มที่มีคุณภาพ\n- พิจารณาขนาดและกำลังที่เหมาะสม\n- ติดตั้งโดยช่างผู้เชี่ยวชาญ\n\n## สรุป\n\nการบำรุงรักษาปั๊มน้ำอย่างสม่ำเสมอจะช่วยยืดอายุการใช้งาน ลดปัญหาการเสีย และประหยัดค่าใช้จ่ายในระยะยาว ควรตรวจสอบและบำรุงรักษาตามตารางที่กำหนด และหากพบปัญหาที่ไม่สามารถแก้ไขได้เอง ควรติดต่อช่างผู้เชี่ยวชาญ\n\n---\n\n**ต้องการซื้อปั๊มน้ำหรืออุปกรณ์เสริม?**\nติดต่อเราได้ที่:\n- โทร: 090-555-1415\n- LINE: jppselection\n\n[ดูสินค้าปั๊มน้ำทั้งหมด](/ปั๊มน้ำ-pump)","src/content/blog/บำรุงรักษาปั๊มน้ำ.md","c257fd34f1815ecb",{"html":756,"metadata":757},"\u003Ch2 id=\"ความสำคัญของการบำรุงรักษาปั๊มน้ำ\">ความสำคัญของการบำรุงรักษาปั๊มน้ำ\u003C/h2>\n\u003Cp>ปั๊มน้ำเป็นหัวใจของระบบน้ำในบ้าน การบำรุงรักษาอย่างสม่ำเสมอจะช่วย:\u003C/p>\n\u003Cul>\n\u003Cli>ยืดอายุการใช้งานของปั๊มน้ำ\u003C/li>\n\u003Cli>ลดปัญหาการเสีย\u003C/li>\n\u003Cli>ประหยัดค่าไฟฟ้า\u003C/li>\n\u003Cli>ป้องกันอุบัติเหตุจากการรั่วซึม\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การบำรุงรักษาปั๊มน้ำแบบทำเอง\">การบำรุงรักษาปั๊มน้ำแบบทำเอง\u003C/h2>\n\u003Ch3 id=\"1-ตรวจสอบสายไฟและสวิตช์\">1. ตรวจสอบสายไฟและสวิตช์\u003C/h3>\n\u003Cul>\n\u003Cli>ตรวจสอบสายไฟว่ามีรอยชำรุดหรือไม่\u003C/li>\n\u003Cli>ตรวจสอบสวิตช์ว่าทำงานปกติหรือไม่\u003C/li>\n\u003Cli>หากพบความผิดปกติควรเรียกช่าง\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"2-ทำความสะอาดตัวกรอง\">2. ทำความสะอาดตัวกรอง\u003C/h3>\n\u003Cul>\n\u003Cli>ปิดวาล์วน้ำเข้าก่อนทำความสะอาด\u003C/li>\n\u003Cli>ถอดตัวกรองออกมาล้าง\u003C/li>\n\u003Cli>ตรวจสอบว่ามีสิ่งปนเปื้อนหรือไม่\u003C/li>\n\u003Cli>ติดตั้งกลับเข้าที่เดิม\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"3-ตรวจสอบแรงดันน้ำ\">3. ตรวจสอบแรงดันน้ำ\u003C/h3>\n\u003Cul>\n\u003Cli>สังเกตแรงดันน้ำว่าลดลงหรือไม่\u003C/li>\n\u003Cli>ตรวจสอบว่ามีเสียงผิดปกติหรือไม่\u003C/li>\n\u003Cli>หากแรงดันลดลงอาจมีการรั่วซึม\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"4-ตรวจสอบถังแรงดัน-pressure-tank\">4. ตรวจสอบถังแรงดัน (Pressure Tank)\u003C/h3>\n\u003Cul>\n\u003Cli>ตรวจสอบว่าถังมีอากาศเพียงพอหรือไม่\u003C/li>\n\u003Cli>หากปั๊มเปิด-ปิดบ่อยผิดปกติ อาจต้องเติมอากาศ\u003C/li>\n\u003Cli>ควรตรวจสอบทุก 6 เดือน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ปัญหาที่พบบ่อยและวิธีแก้ไข\">ปัญหาที่พบบ่อยและวิธีแก้ไข\u003C/h2>\n\u003Ch3 id=\"ปั๊มไม่ทำงาน\">ปั๊มไม่ทำงาน\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ไฟดับหรือสายไฟขาด\u003C/li>\n\u003Cli>สวิตช์เสีย\u003C/li>\n\u003Cli>มอเตอร์เสีย\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ตรวจสอบไฟและสายไฟ\u003C/li>\n\u003Cli>เปลี่ยนสวิตช์\u003C/li>\n\u003Cli>เรียกช่างซ่อมมอเตอร์\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"แรงดันน้ำต่ำ\">แรงดันน้ำต่ำ\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ตัวกรองอุดตัน\u003C/li>\n\u003Cli>ท่อรั่ว\u003C/li>\n\u003Cli>ใบพัดสึกหรอ\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ทำความสะอาดตัวกรอง\u003C/li>\n\u003Cli>ตรวจสอบและซ่อมท่อ\u003C/li>\n\u003Cli>เปลี่ยนใบพัด\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"ปั๊มเปิด-ปิดบ่อย\">ปั๊มเปิด-ปิดบ่อย\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ถังแรงดันอากาศรั่ว\u003C/li>\n\u003Cli>แผ่นไดอะแฟรมแตก\u003C/li>\n\u003Cli>วาล์วตรวจสอบแรงดันเสีย\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>เติมอากาศในถัง\u003C/li>\n\u003Cli>เปลี่ยนแผ่นไดอะแฟรม\u003C/li>\n\u003Cli>เปลี่ยนวาล์ว\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"ปั๊มมีเสียงดังผิดปกติ\">ปั๊มมีเสียงดังผิดปกติ\u003C/h3>\n\u003Cp>\u003Cstrong>สาเหตุ:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ลูกปืนเสีย\u003C/li>\n\u003Cli>ใบพัดชำรุด\u003C/li>\n\u003Cli>การติดตั้งไม่แน่นหนา\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Cstrong>วิธีแก้:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>เปลี่ยนลูกปืน\u003C/li>\n\u003Cli>เปลี่ยนใบพัด\u003C/li>\n\u003Cli>ตรวจสอบการยึดแน่น\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ตารางการบำรุงรักษา\">ตารางการบำรุงรักษา\u003C/h2>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>รายการ\u003C/th>\u003Cth>ความถี่\u003C/th>\u003Cth>หมายเหตุ\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>ตรวจสอบสายไฟ\u003C/td>\u003Ctd>ทุกเดือน\u003C/td>\u003Ctd>มองหารอยชำรุด\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ทำความสะอาดตัวกรอง\u003C/td>\u003Ctd>ทุก 3 เดือน\u003C/td>\u003Ctd>หรือเมื่อแรงดันลด\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ตรวจสอบถังแรงดัน\u003C/td>\u003Ctd>ทุก 6 เดือน\u003C/td>\u003Ctd>เติมอากาศหากจำเป็น\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ตรวจสอบสวิตช์\u003C/td>\u003Ctd>ทุกปี\u003C/td>\u003Ctd>เปลี่ยนหากเสีย\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>ตรวจสอบใบพัด\u003C/td>\u003Ctd>ทุก 2 ปี\u003C/td>\u003Ctd>โดยช่างผู้เชี่ยวชาญ\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2 id=\"เคล็ดลับการใช้งานปั๊มน้ำ\">เคล็ดลับการใช้งานปั๊มน้ำ\u003C/h2>\n\u003Ch3 id=\"ประหยัดไฟฟ้า\">ประหยัดไฟฟ้า\u003C/h3>\n\u003Cul>\n\u003Cli>เลือกขนาดปั๊มที่เหมาะสมกับการใช้งาน\u003C/li>\n\u003Cli>ติดตั้งถังแรงดันขนาดเหมาะสม\u003C/li>\n\u003Cli>หลีกเลี่ยงการเปิด-ปิดปั๊มบ่อย\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"ป้องกันปัญหา\">ป้องกันปัญหา\u003C/h3>\n\u003Cul>\n\u003Cli>อย่าให้ปั๊มแห้ง (ทำงานโดยไม่มีน้ำ)\u003C/li>\n\u003Cli>ตรวจสอบรอยรั่วอย่างสม่ำเสมอ\u003C/li>\n\u003Cli>ใช้ตัวกรองเพื่อป้องกันสิ่งสกปรก\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"เมื่อต้องเปลี่ยนปั๊ม\">เมื่อต้องเปลี่ยนปั๊ม\u003C/h3>\n\u003Cul>\n\u003Cli>เลือกปั๊มที่มีคุณภาพ\u003C/li>\n\u003Cli>พิจารณาขนาดและกำลังที่เหมาะสม\u003C/li>\n\u003Cli>ติดตั้งโดยช่างผู้เชี่ยวชาญ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"สรุป\">สรุป\u003C/h2>\n\u003Cp>การบำรุงรักษาปั๊มน้ำอย่างสม่ำเสมอจะช่วยยืดอายุการใช้งาน ลดปัญหาการเสีย และประหยัดค่าใช้จ่ายในระยะยาว ควรตรวจสอบและบำรุงรักษาตามตารางที่กำหนด และหากพบปัญหาที่ไม่สามารถแก้ไขได้เอง ควรติดต่อช่างผู้เชี่ยวชาญ\u003C/p>\n\u003Chr>\n\u003Cp>\u003Cstrong>ต้องการซื้อปั๊มน้ำหรืออุปกรณ์เสริม?\u003C/strong>\nติดต่อเราได้ที่:\u003C/p>\n\u003Cul>\n\u003Cli>โทร: 090-555-1415\u003C/li>\n\u003Cli>LINE: jppselection\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ca href=\"/%E0%B8%9B%E0%B8%B1%E0%B9%8A%E0%B8%A1%E0%B8%99%E0%B9%89%E0%B8%B3-pump\">ดูสินค้าปั๊มน้ำทั้งหมด\u003C/a>\u003C/p>",{"headings":758,"localImagePaths":796,"remoteImagePaths":797,"frontmatter":742,"imagePaths":798},[759,761,763,766,769,772,775,777,779,781,783,785,787,789,791,793,795],{"depth":126,"slug":760,"text":760},"ความสำคัญของการบำรุงรักษาปั๊มน้ำ",{"depth":126,"slug":762,"text":762},"การบำรุงรักษาปั๊มน้ำแบบทำเอง",{"depth":131,"slug":764,"text":765},"1-ตรวจสอบสายไฟและสวิตช์","1. ตรวจสอบสายไฟและสวิตช์",{"depth":131,"slug":767,"text":768},"2-ทำความสะอาดตัวกรอง","2. ทำความสะอาดตัวกรอง",{"depth":131,"slug":770,"text":771},"3-ตรวจสอบแรงดันน้ำ","3. ตรวจสอบแรงดันน้ำ",{"depth":131,"slug":773,"text":774},"4-ตรวจสอบถังแรงดัน-pressure-tank","4. ตรวจสอบถังแรงดัน (Pressure Tank)",{"depth":126,"slug":776,"text":776},"ปัญหาที่พบบ่อยและวิธีแก้ไข",{"depth":131,"slug":778,"text":778},"ปั๊มไม่ทำงาน",{"depth":131,"slug":780,"text":780},"แรงดันน้ำต่ำ",{"depth":131,"slug":782,"text":782},"ปั๊มเปิด-ปิดบ่อย",{"depth":131,"slug":784,"text":784},"ปั๊มมีเสียงดังผิดปกติ",{"depth":126,"slug":786,"text":786},"ตารางการบำรุงรักษา",{"depth":126,"slug":788,"text":788},"เคล็ดลับการใช้งานปั๊มน้ำ",{"depth":131,"slug":790,"text":790},"ประหยัดไฟฟ้า",{"depth":131,"slug":792,"text":792},"ป้องกันปัญหา",{"depth":131,"slug":794,"text":794},"เมื่อต้องเปลี่ยนปั๊ม",{"depth":126,"slug":735,"text":735},[],[],[],"บำรุงรักษาปั๊มน้ำ.md","ท่อ-ppr-คืออะไร",{"id":800,"data":802,"body":809,"filePath":810,"digest":811,"rendered":812,"legacyId":854},{"id":803,"title":804,"excerpt":805,"date":806,"author":679,"categories":807,"featuredImage":179},"ppr-pipe-guide","ท่อ PPR คืออะไร? คู่มือฉบับสมบูรณ์สำหรับการเลือกใช้งาน","ท่อ PPR (Polypropylene Random Copolymer) เป็นท่อพลาสติกที่ได้รับความนิยมสูงในการใช้งานระบบประปา บทความนี้จะอธิบายทุกสิ่งที่คุณต้องรู้เกี่ยวกับท่อ PPR","2024-01-15",[182,681,808],"คู่มือ","## ท่อ PPR คืออะไร?\n\nท่อ PPR (Polypropylene Random Copolymer) หรือท่อพีพีอาร์ เป็นท่อพลาสติกที่ผลิตจากเม็ดพลาสติก PP-R 80 (Polypropylene Random Copolymer 80) ซึ่งเป็นวัสดุพลาสติกคุณภาพสูงที่มีความแข็งแรงและทนทานเป็นอย่างดี\n\n## ข้อดีของท่อ PPR\n\n### 1. ทนแรงดันและอุณหภูมิสูง\nท่อ PPR สามารถทนแรงดันได้สูงถึง 20 บาร์ และทนต่ออุณหภูมิได้สูงถึง 95°C ทำให้เหมาะสำหรับใช้งานทั้งระบบน้ำเย็นและน้ำร้อน\n\n### 2. สะอาดและปลอดภัย\nท่อ PPR ไม่เป็นสนิม ปราศจากโลหะหนักและสิ่งปนเปื้อน ทำให้น้ำที่ไหลผ่านสะอาดและปลอดภัยต่อการบริโภค\n\n### 3. อายุการใช้งานยาวนาน\nด้วยคุณสมบัติที่ทนทาน ท่อ PPR มีอายุการใช้งานยาวนานกว่า 50 ปี\n\n### 4. ติดตั้งง่าย\nการเชื่อมต่อท่อ PPR ใช้วิธีเชื่อมด้วยความร้อน ทำให้ท่อและข้อต่อเป็นเนื้อเดียวกัน ไม่มีปัญหารั่วซึม\n\n### 5. ประหยัดพลังงาน\nท่อ PPR เป็นฉนวนกันความร้อนที่ดี ช่วยรักษาอุณหภูมิของน้ำได้ดีกว่าท่อโลหะ\n\n## การเลือกท่อ PPR ที่เหมาะสม\n\n### ขนาดท่อ\nเลือกขนาดท่อให้เหมาะสมกับปริมาณน้ำที่ต้องการใช้งาน:\n- ท่อขนาด 20-25 มม. เหมาะสำหรับบ้านเรือนทั่วไป\n- ท่อขนาด 32-63 มม. เหมาะสำหรับอาคารขนาดใหญ่\n\n### เกรดของท่อ\n- **PN10** - สำหรับน้ำเย็น ทนแรงดัน 10 บาร์\n- **PN16** - สำหรับน้ำอุ่น ทนแรงดัน 16 บาร์\n- **PN20** - สำหรับน้ำร้อน ทนแรงดัน 20 บาร์\n\n## การติดตั้งท่อ PPR\n\n### ขั้นตอนการเชื่อมท่อ\n1. ตัดท่อให้ตรงและเรียบ\n2. ทำความสะอาดผิวท่อและข้อต่อ\n3. ใช้เครื่องเชื่อมท่ออุณหภูมิ 260°C\n4. สอดท่อและข้อต่อเข้าด้วยกัน\n5. รอให้เย็นตัวลงประมาณ 2-3 นาที\n\n### ข้อควรระวัง\n- หลีกเลี่ยงการติดตั้งในพื้นที่ที่มีแสงแดดโดยตรง\n- ควรทิ้งระยะห่างสำหรับการขยายตัวของท่อ\n- ตรวจสอบความร้อนของเครื่องเชื่อมก่อนใช้งาน\n\n## ท่อ PPR ตราช้าง\n\nท่อ PPR ตราช้าง เป็นท่อ PPR คุณภาพสูงที่ผลิตจากเม็ดพลาสติก PP-R 80 วัตถุดิบคุณภาพสูงมาตรฐานยุโรปจาก lyondellbasell\n\n**คุณสมบัติเด่น:**\n- ทนแรงดันได้สูงสุด 20 บาร์\n- ทนต่ออุณหภูมิได้สูงถึง 95°C\n- ผลิตตามมาตรฐาน DIN8077 และ DIN8078 ของประเทศเยอรมัน\n- รับประกันคุณภาพ\n\n## สรุป\n\nท่อ PPR เป็นตัวเลือกที่ดีสำหรับระบบประปาในปัจจุบัน เนื่องจากมีความทนทานสูง ติดตั้งง่าย และมีอายุการใช้งานยาวนาน หากคุณกำลังมองหาท่อสำหรับงานระบบน้ำ ท่อ PPR เป็นตัวเลือกที่คุ้มค่าและเหมาะสม\n\n---\n\n**สนใจสินค้าท่อ PPR?**\nติดต่อเราได้ที่:\n- โทร: 090-555-1415\n- LINE: jppselection\n- อีเมล: dealplustech@gmail.com\n\n[ดูสินค้าท่อ PPR ทั้งหมด](/ท่อพีพีอาร์ตราช้าง)","src/content/blog/ท่อ-ppr-คืออะไร.md","180802753145e8df",{"html":813,"metadata":814},"\u003Ch2 id=\"ท่อ-ppr-คืออะไร\">ท่อ PPR คืออะไร?\u003C/h2>\n\u003Cp>ท่อ PPR (Polypropylene Random Copolymer) หรือท่อพีพีอาร์ เป็นท่อพลาสติกที่ผลิตจากเม็ดพลาสติก PP-R 80 (Polypropylene Random Copolymer 80) ซึ่งเป็นวัสดุพลาสติกคุณภาพสูงที่มีความแข็งแรงและทนทานเป็นอย่างดี\u003C/p>\n\u003Ch2 id=\"ข้อดีของท่อ-ppr\">ข้อดีของท่อ PPR\u003C/h2>\n\u003Ch3 id=\"1-ทนแรงดันและอุณหภูมิสูง\">1. ทนแรงดันและอุณหภูมิสูง\u003C/h3>\n\u003Cp>ท่อ PPR สามารถทนแรงดันได้สูงถึง 20 บาร์ และทนต่ออุณหภูมิได้สูงถึง 95°C ทำให้เหมาะสำหรับใช้งานทั้งระบบน้ำเย็นและน้ำร้อน\u003C/p>\n\u003Ch3 id=\"2-สะอาดและปลอดภัย\">2. สะอาดและปลอดภัย\u003C/h3>\n\u003Cp>ท่อ PPR ไม่เป็นสนิม ปราศจากโลหะหนักและสิ่งปนเปื้อน ทำให้น้ำที่ไหลผ่านสะอาดและปลอดภัยต่อการบริโภค\u003C/p>\n\u003Ch3 id=\"3-อายุการใช้งานยาวนาน\">3. อายุการใช้งานยาวนาน\u003C/h3>\n\u003Cp>ด้วยคุณสมบัติที่ทนทาน ท่อ PPR มีอายุการใช้งานยาวนานกว่า 50 ปี\u003C/p>\n\u003Ch3 id=\"4-ติดตั้งง่าย\">4. ติดตั้งง่าย\u003C/h3>\n\u003Cp>การเชื่อมต่อท่อ PPR ใช้วิธีเชื่อมด้วยความร้อน ทำให้ท่อและข้อต่อเป็นเนื้อเดียวกัน ไม่มีปัญหารั่วซึม\u003C/p>\n\u003Ch3 id=\"5-ประหยัดพลังงาน\">5. ประหยัดพลังงาน\u003C/h3>\n\u003Cp>ท่อ PPR เป็นฉนวนกันความร้อนที่ดี ช่วยรักษาอุณหภูมิของน้ำได้ดีกว่าท่อโลหะ\u003C/p>\n\u003Ch2 id=\"การเลือกท่อ-ppr-ที่เหมาะสม\">การเลือกท่อ PPR ที่เหมาะสม\u003C/h2>\n\u003Ch3 id=\"ขนาดท่อ\">ขนาดท่อ\u003C/h3>\n\u003Cp>เลือกขนาดท่อให้เหมาะสมกับปริมาณน้ำที่ต้องการใช้งาน:\u003C/p>\n\u003Cul>\n\u003Cli>ท่อขนาด 20-25 มม. เหมาะสำหรับบ้านเรือนทั่วไป\u003C/li>\n\u003Cli>ท่อขนาด 32-63 มม. เหมาะสำหรับอาคารขนาดใหญ่\u003C/li>\n\u003C/ul>\n\u003Ch3 id=\"เกรดของท่อ\">เกรดของท่อ\u003C/h3>\n\u003Cul>\n\u003Cli>\u003Cstrong>PN10\u003C/strong> - สำหรับน้ำเย็น ทนแรงดัน 10 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>PN16\u003C/strong> - สำหรับน้ำอุ่น ทนแรงดัน 16 บาร์\u003C/li>\n\u003Cli>\u003Cstrong>PN20\u003C/strong> - สำหรับน้ำร้อน ทนแรงดัน 20 บาร์\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"การติดตั้งท่อ-ppr\">การติดตั้งท่อ PPR\u003C/h2>\n\u003Ch3 id=\"ขั้นตอนการเชื่อมท่อ\">ขั้นตอนการเชื่อมท่อ\u003C/h3>\n\u003Col>\n\u003Cli>ตัดท่อให้ตรงและเรียบ\u003C/li>\n\u003Cli>ทำความสะอาดผิวท่อและข้อต่อ\u003C/li>\n\u003Cli>ใช้เครื่องเชื่อมท่ออุณหภูมิ 260°C\u003C/li>\n\u003Cli>สอดท่อและข้อต่อเข้าด้วยกัน\u003C/li>\n\u003Cli>รอให้เย็นตัวลงประมาณ 2-3 นาที\u003C/li>\n\u003C/ol>\n\u003Ch3 id=\"ข้อควรระวัง\">ข้อควรระวัง\u003C/h3>\n\u003Cul>\n\u003Cli>หลีกเลี่ยงการติดตั้งในพื้นที่ที่มีแสงแดดโดยตรง\u003C/li>\n\u003Cli>ควรทิ้งระยะห่างสำหรับการขยายตัวของท่อ\u003C/li>\n\u003Cli>ตรวจสอบความร้อนของเครื่องเชื่อมก่อนใช้งาน\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"ท่อ-ppr-ตราช้าง\">ท่อ PPR ตราช้าง\u003C/h2>\n\u003Cp>ท่อ PPR ตราช้าง เป็นท่อ PPR คุณภาพสูงที่ผลิตจากเม็ดพลาสติก PP-R 80 วัตถุดิบคุณภาพสูงมาตรฐานยุโรปจาก lyondellbasell\u003C/p>\n\u003Cp>\u003Cstrong>คุณสมบัติเด่น:\u003C/strong>\u003C/p>\n\u003Cul>\n\u003Cli>ทนแรงดันได้สูงสุด 20 บาร์\u003C/li>\n\u003Cli>ทนต่ออุณหภูมิได้สูงถึง 95°C\u003C/li>\n\u003Cli>ผลิตตามมาตรฐาน DIN8077 และ DIN8078 ของประเทศเยอรมัน\u003C/li>\n\u003Cli>รับประกันคุณภาพ\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"สรุป\">สรุป\u003C/h2>\n\u003Cp>ท่อ PPR เป็นตัวเลือกที่ดีสำหรับระบบประปาในปัจจุบัน เนื่องจากมีความทนทานสูง ติดตั้งง่าย และมีอายุการใช้งานยาวนาน หากคุณกำลังมองหาท่อสำหรับงานระบบน้ำ ท่อ PPR เป็นตัวเลือกที่คุ้มค่าและเหมาะสม\u003C/p>\n\u003Chr>\n\u003Cp>\u003Cstrong>สนใจสินค้าท่อ PPR?\u003C/strong>\nติดต่อเราได้ที่:\u003C/p>\n\u003Cul>\n\u003Cli>โทร: 090-555-1415\u003C/li>\n\u003Cli>LINE: jppselection\u003C/li>\n\u003Cli>อีเมล: \u003Ca href=\"mailto:dealplustech@gmail.com\">dealplustech@gmail.com\u003C/a>\u003C/li>\n\u003C/ul>\n\u003Cp>\u003Ca href=\"/%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%9E%E0%B8%B5%E0%B8%9E%E0%B8%B5%E0%B8%AD%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B9%89%E0%B8%B2%E0%B8%87\">ดูสินค้าท่อ PPR ทั้งหมด\u003C/a>\u003C/p>",{"headings":815,"localImagePaths":851,"remoteImagePaths":852,"frontmatter":802,"imagePaths":853},[816,818,821,824,827,828,831,834,837,838,840,843,845,847,850],{"depth":126,"slug":800,"text":817},"ท่อ PPR คืออะไร?",{"depth":126,"slug":819,"text":820},"ข้อดีของท่อ-ppr","ข้อดีของท่อ PPR",{"depth":131,"slug":822,"text":823},"1-ทนแรงดันและอุณหภูมิสูง","1. ทนแรงดันและอุณหภูมิสูง",{"depth":131,"slug":825,"text":826},"2-สะอาดและปลอดภัย","2. สะอาดและปลอดภัย",{"depth":131,"slug":700,"text":701},{"depth":131,"slug":829,"text":830},"4-ติดตั้งง่าย","4. ติดตั้งง่าย",{"depth":131,"slug":832,"text":833},"5-ประหยัดพลังงาน","5. ประหยัดพลังงาน",{"depth":126,"slug":835,"text":836},"การเลือกท่อ-ppr-ที่เหมาะสม","การเลือกท่อ PPR ที่เหมาะสม",{"depth":131,"slug":56,"text":56},{"depth":131,"slug":839,"text":839},"เกรดของท่อ",{"depth":126,"slug":841,"text":842},"การติดตั้งท่อ-ppr","การติดตั้งท่อ PPR",{"depth":131,"slug":844,"text":844},"ขั้นตอนการเชื่อมท่อ",{"depth":131,"slug":846,"text":846},"ข้อควรระวัง",{"depth":126,"slug":848,"text":849},"ท่อ-ppr-ตราช้าง","ท่อ PPR ตราช้าง",{"depth":126,"slug":735,"text":735},[],[],[],"ท่อ-ppr-คืออะไร.md"] \ No newline at end of file diff --git a/dealplustech-astro/node_modules/.bin/astro-consent b/dealplustech-astro/node_modules/.bin/astro-consent new file mode 120000 index 000000000..e0f53ef35 --- /dev/null +++ b/dealplustech-astro/node_modules/.bin/astro-consent @@ -0,0 +1 @@ +../astro-consent/dist/cli.cjs \ No newline at end of file diff --git a/dealplustech-astro/node_modules/.package-lock.json b/dealplustech-astro/node_modules/.package-lock.json index 79e7b225e..f2c648e90 100644 --- a/dealplustech-astro/node_modules/.package-lock.json +++ b/dealplustech-astro/node_modules/.package-lock.json @@ -137,7 +137,6 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", - "ideallyInert": true, "license": "MIT", "optional": true, "dependencies": { @@ -1118,6 +1117,181 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@libsql/client": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@libsql/client/-/client-0.17.0.tgz", + "integrity": "sha512-TLjSU9Otdpq0SpKHl1tD1Nc9MKhrsZbCFGot3EbCxRa8m1E5R1mMwoOjKMMM31IyF7fr+hPNHLpYfwbMKNusmg==", + "license": "MIT", + "dependencies": { + "@libsql/core": "^0.17.0", + "@libsql/hrana-client": "^0.9.0", + "js-base64": "^3.7.5", + "libsql": "^0.5.22", + "promise-limit": "^2.7.0" + } + }, + "node_modules/@libsql/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@libsql/core/-/core-0.17.0.tgz", + "integrity": "sha512-hnZRnJHiS+nrhHKLGYPoJbc78FE903MSDrFJTbftxo+e52X+E0Y0fHOCVYsKWcg6XgB7BbJYUrz/xEkVTSaipw==", + "license": "MIT", + "dependencies": { + "js-base64": "^3.7.5" + } + }, + "node_modules/@libsql/darwin-arm64": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@libsql/darwin-arm64/-/darwin-arm64-0.5.22.tgz", + "integrity": "sha512-4B8ZlX3nIDPndfct7GNe0nI3Yw6ibocEicWdC4fvQbSs/jdq/RC2oCsoJxJ4NzXkvktX70C1J4FcmmoBy069UA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@libsql/darwin-x64": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@libsql/darwin-x64/-/darwin-x64-0.5.22.tgz", + "integrity": "sha512-ny2HYWt6lFSIdNFzUFIJ04uiW6finXfMNJ7wypkAD8Pqdm6nAByO+Fdqu8t7sD0sqJGeUCiOg480icjyQ2/8VA==", + "cpu": [ + "x64" + ], + "ideallyInert": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@libsql/hrana-client": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@libsql/hrana-client/-/hrana-client-0.9.0.tgz", + "integrity": "sha512-pxQ1986AuWfPX4oXzBvLwBnfgKDE5OMhAdR/5cZmRaB4Ygz5MecQybvwZupnRz341r2CtFmbk/BhSu7k2Lm+Jw==", + "license": "MIT", + "dependencies": { + "@libsql/isomorphic-ws": "^0.1.5", + "cross-fetch": "^4.0.0", + "js-base64": "^3.7.5", + "node-fetch": "^3.3.2" + } + }, + "node_modules/@libsql/isomorphic-ws": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@libsql/isomorphic-ws/-/isomorphic-ws-0.1.5.tgz", + "integrity": "sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==", + "license": "MIT", + "dependencies": { + "@types/ws": "^8.5.4", + "ws": "^8.13.0" + } + }, + "node_modules/@libsql/linux-arm-gnueabihf": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@libsql/linux-arm-gnueabihf/-/linux-arm-gnueabihf-0.5.22.tgz", + "integrity": "sha512-3Uo3SoDPJe/zBnyZKosziRGtszXaEtv57raWrZIahtQDsjxBVjuzYQinCm9LRCJCUT5t2r5Z5nLDPJi2CwZVoA==", + "cpu": [ + "arm" + ], + "ideallyInert": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@libsql/linux-arm-musleabihf": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@libsql/linux-arm-musleabihf/-/linux-arm-musleabihf-0.5.22.tgz", + "integrity": "sha512-LCsXh07jvSojTNJptT9CowOzwITznD+YFGGW+1XxUr7fS+7/ydUrpDfsMX7UqTqjm7xG17eq86VkWJgHJfvpNg==", + "cpu": [ + "arm" + ], + "ideallyInert": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@libsql/linux-arm64-gnu": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@libsql/linux-arm64-gnu/-/linux-arm64-gnu-0.5.22.tgz", + "integrity": "sha512-KSdnOMy88c9mpOFKUEzPskSaF3VLflfSUCBwas/pn1/sV3pEhtMF6H8VUCd2rsedwoukeeCSEONqX7LLnQwRMA==", + "cpu": [ + "arm64" + ], + "ideallyInert": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@libsql/linux-arm64-musl": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@libsql/linux-arm64-musl/-/linux-arm64-musl-0.5.22.tgz", + "integrity": "sha512-mCHSMAsDTLK5YH//lcV3eFEgiR23Ym0U9oEvgZA0667gqRZg/2px+7LshDvErEKv2XZ8ixzw3p1IrBzLQHGSsw==", + "cpu": [ + "arm64" + ], + "ideallyInert": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@libsql/linux-x64-gnu": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@libsql/linux-x64-gnu/-/linux-x64-gnu-0.5.22.tgz", + "integrity": "sha512-kNBHaIkSg78Y4BqAdgjcR2mBilZXs4HYkAmi58J+4GRwDQZh5fIUWbnQvB9f95DkWUIGVeenqLRFY2pcTmlsew==", + "cpu": [ + "x64" + ], + "ideallyInert": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@libsql/linux-x64-musl": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@libsql/linux-x64-musl/-/linux-x64-musl-0.5.22.tgz", + "integrity": "sha512-UZ4Xdxm4pu3pQXjvfJiyCzZop/9j/eA2JjmhMaAhe3EVLH2g11Fy4fwyUp9sT1QJYR1kpc2JLuybPM0kuXv/Tg==", + "cpu": [ + "x64" + ], + "ideallyInert": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@libsql/win32-x64-msvc": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/@libsql/win32-x64-msvc/-/win32-x64-msvc-0.5.22.tgz", + "integrity": "sha512-Fj0j8RnBpo43tVZUVoNK6BV/9AtDUM5S7DF3LB4qTYg1LMSZqi3yeCneUTLJD6XomQJlZzbI4mst89yspVSAnA==", + "cpu": [ + "x64" + ], + "ideallyInert": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@neon-rs/load": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@neon-rs/load/-/load-0.0.4.tgz", + "integrity": "sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==", + "license": "MIT" + }, "node_modules/@oslojs/encoding": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", @@ -1884,12 +2058,30 @@ "@types/unist": "*" } }, + "node_modules/@types/node": { + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.4.0.tgz", + "integrity": "sha512-9wLpoeWuBlcbBpOY3XmzSTG3oscB6xjBEEtn+pYXTfhyXhIxC5FsBer2KTopBlvKEiW9l13po9fq+SJY/5lkhw==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", "license": "MIT" }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", @@ -2118,6 +2310,21 @@ "sharp": "^0.34.0" } }, + "node_modules/astro-consent": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/astro-consent/-/astro-consent-1.0.17.tgz", + "integrity": "sha512-CxebtdACUZmYdZcDoe0fEvu8EubEinpEYhI1Dobdeinl5a0exBGw2RSYeH1HM6k54AmS7R7BMwZTBX3oAuzImg==", + "license": "MIT", + "bin": { + "astro-consent": "dist/cli.cjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "astro": "^4.0.0 || ^5.0.0" + } + }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", @@ -2330,6 +2537,35 @@ "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", "license": "MIT" }, + "node_modules/cross-fetch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.1.0.tgz", + "integrity": "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/crossws": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", @@ -2425,6 +2661,15 @@ "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", "license": "CC0-1.0" }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -2598,6 +2843,131 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/drizzle-orm": { + "version": "0.45.1", + "resolved": "https://registry.npmjs.org/drizzle-orm/-/drizzle-orm-0.45.1.tgz", + "integrity": "sha512-Te0FOdKIistGNPMq2jscdqngBRfBpC8uMFVwqjf6gtTVJHIQ/dosgV/CLBU2N4ZJBsXL5savCba9b0YJskKdcA==", + "license": "Apache-2.0", + "peerDependencies": { + "@aws-sdk/client-rds-data": ">=3", + "@cloudflare/workers-types": ">=4", + "@electric-sql/pglite": ">=0.2.0", + "@libsql/client": ">=0.10.0", + "@libsql/client-wasm": ">=0.10.0", + "@neondatabase/serverless": ">=0.10.0", + "@op-engineering/op-sqlite": ">=2", + "@opentelemetry/api": "^1.4.1", + "@planetscale/database": ">=1.13", + "@prisma/client": "*", + "@tidbcloud/serverless": "*", + "@types/better-sqlite3": "*", + "@types/pg": "*", + "@types/sql.js": "*", + "@upstash/redis": ">=1.34.7", + "@vercel/postgres": ">=0.8.0", + "@xata.io/client": "*", + "better-sqlite3": ">=7", + "bun-types": "*", + "expo-sqlite": ">=14.0.0", + "gel": ">=2", + "knex": "*", + "kysely": "*", + "mysql2": ">=2", + "pg": ">=8", + "postgres": ">=3", + "sql.js": ">=1", + "sqlite3": ">=5" + }, + "peerDependenciesMeta": { + "@aws-sdk/client-rds-data": { + "optional": true + }, + "@cloudflare/workers-types": { + "optional": true + }, + "@electric-sql/pglite": { + "optional": true + }, + "@libsql/client": { + "optional": true + }, + "@libsql/client-wasm": { + "optional": true + }, + "@neondatabase/serverless": { + "optional": true + }, + "@op-engineering/op-sqlite": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@prisma/client": { + "optional": true + }, + "@tidbcloud/serverless": { + "optional": true + }, + "@types/better-sqlite3": { + "optional": true + }, + "@types/pg": { + "optional": true + }, + "@types/sql.js": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/postgres": { + "optional": true + }, + "@xata.io/client": { + "optional": true + }, + "better-sqlite3": { + "optional": true + }, + "bun-types": { + "optional": true + }, + "expo-sqlite": { + "optional": true + }, + "gel": { + "optional": true + }, + "knex": { + "optional": true + }, + "kysely": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "pg": { + "optional": true + }, + "postgres": { + "optional": true + }, + "prisma": { + "optional": true + }, + "sql.js": { + "optional": true + }, + "sqlite3": { + "optional": true + } + } + }, "node_modules/dset": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", @@ -2735,6 +3105,29 @@ } } }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, "node_modules/flattie": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", @@ -2765,12 +3158,23 @@ "node": ">=20" } }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, - "ideallyInert": true, "license": "MIT", "optional": true, "os": [ @@ -3117,6 +3521,12 @@ "jiti": "lib/jiti-cli.mjs" } }, + "node_modules/js-base64": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.8.tgz", + "integrity": "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==", + "license": "BSD-3-Clause" + }, "node_modules/js-yaml": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", @@ -3138,6 +3548,47 @@ "node": ">=6" } }, + "node_modules/libsql": { + "version": "0.5.22", + "resolved": "https://registry.npmjs.org/libsql/-/libsql-0.5.22.tgz", + "integrity": "sha512-NscWthMQt7fpU8lqd7LXMvT9pi+KhhmTHAJWUB/Lj6MWa0MKFv0F2V4C6WKKpjCVZl0VwcDz4nOI3CyaT1DDiA==", + "cpu": [ + "x64", + "arm64", + "wasm32", + "arm" + ], + "license": "MIT", + "os": [ + "darwin", + "linux", + "win32" + ], + "dependencies": { + "@neon-rs/load": "^0.0.4", + "detect-libc": "2.0.2" + }, + "optionalDependencies": { + "@libsql/darwin-arm64": "0.5.22", + "@libsql/darwin-x64": "0.5.22", + "@libsql/linux-arm-gnueabihf": "0.5.22", + "@libsql/linux-arm-musleabihf": "0.5.22", + "@libsql/linux-arm64-gnu": "0.5.22", + "@libsql/linux-arm64-musl": "0.5.22", + "@libsql/linux-x64-gnu": "0.5.22", + "@libsql/linux-x64-musl": "0.5.22", + "@libsql/win32-x64-msvc": "0.5.22" + } + }, + "node_modules/libsql/node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/lightningcss": { "version": "1.31.1", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", @@ -4295,6 +4746,44 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, "node_modules/node-fetch-native": { "version": "1.6.7", "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", @@ -4502,6 +4991,12 @@ "node": ">=6" } }, + "node_modules/promise-limit": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/promise-limit/-/promise-limit-2.7.0.tgz", + "integrity": "sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==", + "license": "ISC" + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -5055,6 +5550,12 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, "node_modules/trim-lines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", @@ -5099,7 +5600,6 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "ideallyInert": true, "license": "0BSD", "optional": true }, @@ -5147,6 +5647,12 @@ "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", "license": "MIT" }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, "node_modules/unified": { "version": "11.0.5", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", @@ -6023,6 +6529,31 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which-pm-runs": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", @@ -6064,6 +6595,27 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/xxhash-wasm": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", diff --git a/dealplustech-astro/node_modules/.vite/deps/_metadata.json b/dealplustech-astro/node_modules/.vite/deps/_metadata.json index 13e91fcc5..823fab28d 100644 --- a/dealplustech-astro/node_modules/.vite/deps/_metadata.json +++ b/dealplustech-astro/node_modules/.vite/deps/_metadata.json @@ -1,25 +1,25 @@ { - "hash": "bd82ba1f", + "hash": "f37b1786", "configHash": "06117f6a", - "lockfileHash": "503a0907", - "browserHash": "4ee2f0da", + "lockfileHash": "746a67c5", + "browserHash": "b218182c", "optimized": { "astro > cssesc": { "src": "../../cssesc/cssesc.js", "file": "astro___cssesc.js", - "fileHash": "ac027a7e", + "fileHash": "fb1b0483", "needsInterop": true }, "astro > aria-query": { "src": "../../aria-query/lib/index.js", "file": "astro___aria-query.js", - "fileHash": "e77ce3d0", + "fileHash": "27c7e1dc", "needsInterop": true }, "astro > axobject-query": { "src": "../../axobject-query/lib/index.js", "file": "astro___axobject-query.js", - "fileHash": "052bb1ed", + "fileHash": "17fab5c8", "needsInterop": true } }, diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/LICENSE b/dealplustech-astro/node_modules/@emnapi/runtime/LICENSE new file mode 100644 index 000000000..05a594416 --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-present Toyobayashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/README.md b/dealplustech-astro/node_modules/@emnapi/runtime/README.md new file mode 100644 index 000000000..c98dddca6 --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/README.md @@ -0,0 +1 @@ +See [https://github.com/toyobayashi/emnapi](https://github.com/toyobayashi/emnapi) diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.js b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.js new file mode 100644 index 000000000..9b2105cfe --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.js @@ -0,0 +1,1354 @@ +const externalValue = new WeakMap(); +function isExternal(object) { + return externalValue.has(object); +} +const External = (() => { + function External(value) { + Object.setPrototypeOf(this, null); + externalValue.set(this, value); + } + External.prototype = null; + return External; +})(); +function getExternalValue(external) { + if (!isExternal(external)) { + throw new TypeError('not external'); + } + return externalValue.get(external); +} + +const supportNewFunction = (function () { + let f; + try { + f = new Function(); + } + catch (_) { + return false; + } + return typeof f === 'function'; +})(); +const _global = (function () { + if (typeof globalThis !== 'undefined') + return globalThis; + let g = (function () { return this; })(); + if (!g && supportNewFunction) { + try { + g = new Function('return this')(); + } + catch (_) { } + } + if (!g) { + if (typeof __webpack_public_path__ === 'undefined') { + if (typeof global !== 'undefined') + return global; + } + if (typeof window !== 'undefined') + return window; + if (typeof self !== 'undefined') + return self; + } + return g; +})(); +class TryCatch { + constructor() { + this._exception = undefined; + this._caught = false; + } + isEmpty() { + return !this._caught; + } + hasCaught() { + return this._caught; + } + exception() { + return this._exception; + } + setError(err) { + this._caught = true; + this._exception = err; + } + reset() { + this._caught = false; + this._exception = undefined; + } + extractException() { + const e = this._exception; + this.reset(); + return e; + } +} +const canSetFunctionName = (function () { + var _a; + try { + return Boolean((_a = Object.getOwnPropertyDescriptor(Function.prototype, 'name')) === null || _a === void 0 ? void 0 : _a.configurable); + } + catch (_) { + return false; + } +})(); +const supportReflect = typeof Reflect === 'object'; +const supportFinalizer = (typeof FinalizationRegistry !== 'undefined') && (typeof WeakRef !== 'undefined'); +const supportWeakSymbol = (function () { + try { + const sym = Symbol(); + new WeakRef(sym); + new WeakMap().set(sym, undefined); + } + catch (_) { + return false; + } + return true; +})(); +const supportBigInt = typeof BigInt !== 'undefined'; +function isReferenceType(v) { + return (typeof v === 'object' && v !== null) || typeof v === 'function'; +} +const _require = (function () { + let nativeRequire; + if (typeof __webpack_public_path__ !== 'undefined') { + nativeRequire = (function () { + return typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined; + })(); + } + else { + nativeRequire = (function () { + return typeof __webpack_public_path__ !== 'undefined' ? (typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined) : (typeof require !== 'undefined' ? require : undefined); + })(); + } + return nativeRequire; +})(); +const _MessageChannel = typeof MessageChannel === 'function' + ? MessageChannel + : (function () { + try { + return _require('worker_threads').MessageChannel; + } + catch (_) { } + return undefined; + })(); +const _setImmediate = typeof setImmediate === 'function' + ? setImmediate + : function (callback) { + if (typeof callback !== 'function') { + throw new TypeError('The "callback" argument must be of type function'); + } + if (_MessageChannel) { + let channel = new _MessageChannel(); + channel.port1.onmessage = function () { + channel.port1.onmessage = null; + channel = undefined; + callback(); + }; + channel.port2.postMessage(null); + } + else { + setTimeout(callback, 0); + } + }; +const _Buffer = typeof Buffer === 'function' + ? Buffer + : (function () { + try { + return _require('buffer').Buffer; + } + catch (_) { } + return undefined; + })(); +const version = "1.8.1"; +const NODE_API_SUPPORTED_VERSION_MIN = 1; +const NODE_API_SUPPORTED_VERSION_MAX = 10; +const NAPI_VERSION_EXPERIMENTAL = 2147483647; +const NODE_API_DEFAULT_MODULE_API_VERSION = 8; + +class Handle { + constructor(id, value) { + this.id = id; + this.value = value; + } + data() { + return getExternalValue(this.value); + } + isNumber() { + return typeof this.value === 'number'; + } + isBigInt() { + return typeof this.value === 'bigint'; + } + isString() { + return typeof this.value === 'string'; + } + isFunction() { + return typeof this.value === 'function'; + } + isExternal() { + return isExternal(this.value); + } + isObject() { + return typeof this.value === 'object' && this.value !== null; + } + isArray() { + return Array.isArray(this.value); + } + isArrayBuffer() { + return (this.value instanceof ArrayBuffer); + } + isTypedArray() { + return (ArrayBuffer.isView(this.value)) && !(this.value instanceof DataView); + } + isBuffer(BufferConstructor) { + if (ArrayBuffer.isView(this.value)) + return true; + BufferConstructor !== null && BufferConstructor !== void 0 ? BufferConstructor : (BufferConstructor = _Buffer); + return typeof BufferConstructor === 'function' && BufferConstructor.isBuffer(this.value); + } + isDataView() { + return (this.value instanceof DataView); + } + isDate() { + return (this.value instanceof Date); + } + isPromise() { + return (this.value instanceof Promise); + } + isBoolean() { + return typeof this.value === 'boolean'; + } + isUndefined() { + return this.value === undefined; + } + isSymbol() { + return typeof this.value === 'symbol'; + } + isNull() { + return this.value === null; + } + dispose() { + this.value = undefined; + } +} +class ConstHandle extends Handle { + constructor(id, value) { + super(id, value); + } + dispose() { } +} +class HandleStore { + constructor() { + this._values = [ + undefined, + HandleStore.UNDEFINED, + HandleStore.NULL, + HandleStore.FALSE, + HandleStore.TRUE, + HandleStore.GLOBAL + ]; + this._next = HandleStore.MIN_ID; + } + push(value) { + let h; + const next = this._next; + const values = this._values; + if (next < values.length) { + h = values[next]; + h.value = value; + } + else { + h = new Handle(next, value); + values[next] = h; + } + this._next++; + return h; + } + erase(start, end) { + this._next = start; + const values = this._values; + for (let i = start; i < end; ++i) { + values[i].dispose(); + } + } + get(id) { + return this._values[id]; + } + swap(a, b) { + const values = this._values; + const h = values[a]; + values[a] = values[b]; + values[a].id = Number(a); + values[b] = h; + h.id = Number(b); + } + dispose() { + this._values.length = HandleStore.MIN_ID; + this._next = HandleStore.MIN_ID; + } +} +HandleStore.UNDEFINED = new ConstHandle(1, undefined); +HandleStore.NULL = new ConstHandle(2, null); +HandleStore.FALSE = new ConstHandle(3, false); +HandleStore.TRUE = new ConstHandle(4, true); +HandleStore.GLOBAL = new ConstHandle(5, _global); +HandleStore.MIN_ID = 6; + +class HandleScope { + constructor(handleStore, id, parentScope, start, end = start) { + this.handleStore = handleStore; + this.id = id; + this.parent = parentScope; + this.child = null; + if (parentScope !== null) + parentScope.child = this; + this.start = start; + this.end = end; + this._escapeCalled = false; + this.callbackInfo = { + thiz: undefined, + data: 0, + args: undefined, + fn: undefined + }; + } + add(value) { + const h = this.handleStore.push(value); + this.end++; + return h; + } + addExternal(data) { + return this.add(new External(data)); + } + dispose() { + if (this._escapeCalled) + this._escapeCalled = false; + if (this.start === this.end) + return; + this.handleStore.erase(this.start, this.end); + } + escape(handle) { + if (this._escapeCalled) + return null; + this._escapeCalled = true; + if (handle < this.start || handle >= this.end) { + return null; + } + this.handleStore.swap(handle, this.start); + const h = this.handleStore.get(this.start); + this.start++; + this.parent.end++; + return h; + } + escapeCalled() { + return this._escapeCalled; + } +} + +class ScopeStore { + constructor() { + this._rootScope = new HandleScope(null, 0, null, 1, HandleStore.MIN_ID); + this.currentScope = this._rootScope; + this._values = [undefined]; + } + get(id) { + return this._values[id]; + } + openScope(handleStore) { + const currentScope = this.currentScope; + let scope = currentScope.child; + if (scope !== null) { + scope.start = scope.end = currentScope.end; + } + else { + const id = currentScope.id + 1; + scope = new HandleScope(handleStore, id, currentScope, currentScope.end); + this._values[id] = scope; + } + this.currentScope = scope; + return scope; + } + closeScope() { + const scope = this.currentScope; + this.currentScope = scope.parent; + scope.dispose(); + } + dispose() { + this.currentScope = this._rootScope; + this._values.length = 1; + } +} + +class RefTracker { + constructor() { + this._next = null; + this._prev = null; + } + dispose() { } + finalize() { } + link(list) { + this._prev = list; + this._next = list._next; + if (this._next !== null) { + this._next._prev = this; + } + list._next = this; + } + unlink() { + if (this._prev !== null) { + this._prev._next = this._next; + } + if (this._next !== null) { + this._next._prev = this._prev; + } + this._prev = null; + this._next = null; + } + static finalizeAll(list) { + while (list._next !== null) { + list._next.finalize(); + } + } +} + +class Finalizer { + constructor(envObject, _finalizeCallback = 0, _finalizeData = 0, _finalizeHint = 0) { + this.envObject = envObject; + this._finalizeCallback = _finalizeCallback; + this._finalizeData = _finalizeData; + this._finalizeHint = _finalizeHint; + this._makeDynCall_vppp = envObject.makeDynCall_vppp; + } + callback() { return this._finalizeCallback; } + data() { return this._finalizeData; } + hint() { return this._finalizeHint; } + resetEnv() { + this.envObject = undefined; + } + resetFinalizer() { + this._finalizeCallback = 0; + this._finalizeData = 0; + this._finalizeHint = 0; + } + callFinalizer() { + const finalize_callback = this._finalizeCallback; + const finalize_data = this._finalizeData; + const finalize_hint = this._finalizeHint; + this.resetFinalizer(); + if (!finalize_callback) + return; + const fini = Number(finalize_callback); + if (!this.envObject) { + this._makeDynCall_vppp(fini)(0, finalize_data, finalize_hint); + } + else { + this.envObject.callFinalizer(fini, finalize_data, finalize_hint); + } + } + dispose() { + this.envObject = undefined; + this._makeDynCall_vppp = undefined; + } +} + +class TrackedFinalizer extends RefTracker { + static create(envObject, finalize_callback, finalize_data, finalize_hint) { + const finalizer = new TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint); + finalizer.link(envObject.finalizing_reflist); + return finalizer; + } + constructor(envObject, finalize_callback, finalize_data, finalize_hint) { + super(); + this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint); + } + data() { + return this._finalizer.data(); + } + dispose() { + if (!this._finalizer) + return; + this.unlink(); + this._finalizer.envObject.dequeueFinalizer(this); + this._finalizer.dispose(); + this._finalizer = undefined; + super.dispose(); + } + finalize() { + this.unlink(); + let error; + let caught = false; + try { + this._finalizer.callFinalizer(); + } + catch (err) { + caught = true; + error = err; + } + this.dispose(); + if (caught) { + throw error; + } + } +} + +function throwNodeApiVersionError(moduleName, moduleApiVersion) { + const errorMessage = `${moduleName} requires Node-API version ${moduleApiVersion}, but this version of Node.js only supports version ${NODE_API_SUPPORTED_VERSION_MAX} add-ons.`; + throw new Error(errorMessage); +} +function handleThrow(envObject, value) { + if (envObject.terminatedOrTerminating()) { + return; + } + throw value; +} +class Env { + constructor(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort) { + this.ctx = ctx; + this.moduleApiVersion = moduleApiVersion; + this.makeDynCall_vppp = makeDynCall_vppp; + this.makeDynCall_vp = makeDynCall_vp; + this.abort = abort; + this.openHandleScopes = 0; + this.instanceData = null; + this.tryCatch = new TryCatch(); + this.refs = 1; + this.reflist = new RefTracker(); + this.finalizing_reflist = new RefTracker(); + this.pendingFinalizers = []; + this.lastError = { + errorCode: 0, + engineErrorCode: 0, + engineReserved: 0 + }; + this.inGcFinalizer = false; + this._bindingMap = new WeakMap(); + this.id = 0; + } + canCallIntoJs() { + return true; + } + terminatedOrTerminating() { + return !this.canCallIntoJs(); + } + ref() { + this.refs++; + } + unref() { + this.refs--; + if (this.refs === 0) { + this.dispose(); + } + } + ensureHandle(value) { + return this.ctx.ensureHandle(value); + } + ensureHandleId(value) { + return this.ensureHandle(value).id; + } + clearLastError() { + const lastError = this.lastError; + if (lastError.errorCode !== 0) + lastError.errorCode = 0; + if (lastError.engineErrorCode !== 0) + lastError.engineErrorCode = 0; + if (lastError.engineReserved !== 0) + lastError.engineReserved = 0; + return 0; + } + setLastError(error_code, engine_error_code = 0, engine_reserved = 0) { + const lastError = this.lastError; + if (lastError.errorCode !== error_code) + lastError.errorCode = error_code; + if (lastError.engineErrorCode !== engine_error_code) + lastError.engineErrorCode = engine_error_code; + if (lastError.engineReserved !== engine_reserved) + lastError.engineReserved = engine_reserved; + return error_code; + } + getReturnStatus() { + return !this.tryCatch.hasCaught() ? 0 : this.setLastError(10); + } + callIntoModule(fn, handleException = handleThrow) { + const openHandleScopesBefore = this.openHandleScopes; + this.clearLastError(); + const r = fn(this); + if (openHandleScopesBefore !== this.openHandleScopes) { + this.abort('open_handle_scopes != open_handle_scopes_before'); + } + if (this.tryCatch.hasCaught()) { + const err = this.tryCatch.extractException(); + handleException(this, err); + } + return r; + } + invokeFinalizerFromGC(finalizer) { + if (this.moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) { + this.enqueueFinalizer(finalizer); + } + else { + const saved = this.inGcFinalizer; + this.inGcFinalizer = true; + try { + finalizer.finalize(); + } + finally { + this.inGcFinalizer = saved; + } + } + } + checkGCAccess() { + if (this.moduleApiVersion === NAPI_VERSION_EXPERIMENTAL && this.inGcFinalizer) { + this.abort('Finalizer is calling a function that may affect GC state.\n' + + 'The finalizers are run directly from GC and must not affect GC ' + + 'state.\n' + + 'Use `node_api_post_finalizer` from inside of the finalizer to work ' + + 'around this issue.\n' + + 'It schedules the call as a new task in the event loop.'); + } + } + enqueueFinalizer(finalizer) { + if (this.pendingFinalizers.indexOf(finalizer) === -1) { + this.pendingFinalizers.push(finalizer); + } + } + dequeueFinalizer(finalizer) { + const index = this.pendingFinalizers.indexOf(finalizer); + if (index !== -1) { + this.pendingFinalizers.splice(index, 1); + } + } + deleteMe() { + RefTracker.finalizeAll(this.finalizing_reflist); + RefTracker.finalizeAll(this.reflist); + this.tryCatch.extractException(); + this.ctx.envStore.remove(this.id); + } + dispose() { + if (this.id === 0) + return; + this.deleteMe(); + this.finalizing_reflist.dispose(); + this.reflist.dispose(); + this.id = 0; + } + initObjectBinding(value) { + const binding = { + wrapped: 0, + tag: null + }; + this._bindingMap.set(value, binding); + return binding; + } + getObjectBinding(value) { + if (this._bindingMap.has(value)) { + return this._bindingMap.get(value); + } + return this.initObjectBinding(value); + } + setInstanceData(data, finalize_cb, finalize_hint) { + if (this.instanceData) { + this.instanceData.dispose(); + } + this.instanceData = TrackedFinalizer.create(this, finalize_cb, data, finalize_hint); + } + getInstanceData() { + return this.instanceData ? this.instanceData.data() : 0; + } +} +class NodeEnv extends Env { + constructor(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + super(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort); + this.filename = filename; + this.nodeBinding = nodeBinding; + this.destructing = false; + this.finalizationScheduled = false; + } + deleteMe() { + this.destructing = true; + this.drainFinalizerQueue(); + super.deleteMe(); + } + canCallIntoJs() { + return super.canCallIntoJs() && this.ctx.canCallIntoJs(); + } + triggerFatalException(err) { + if (this.nodeBinding) { + this.nodeBinding.napi.fatalException(err); + } + else { + if (typeof process === 'object' && process !== null && typeof process._fatalException === 'function') { + const handled = process._fatalException(err); + if (!handled) { + console.error(err); + process.exit(1); + } + } + else { + throw err; + } + } + } + callbackIntoModule(enforceUncaughtExceptionPolicy, fn) { + return this.callIntoModule(fn, (envObject, err) => { + if (envObject.terminatedOrTerminating()) { + return; + } + const hasProcess = typeof process === 'object' && process !== null; + const hasForceFlag = hasProcess ? Boolean(process.execArgv && (process.execArgv.indexOf('--force-node-api-uncaught-exceptions-policy') !== -1)) : false; + if (envObject.moduleApiVersion < 10 && !hasForceFlag && !enforceUncaughtExceptionPolicy) { + const warn = hasProcess && typeof process.emitWarning === 'function' + ? process.emitWarning + : function (warning, type, code) { + if (warning instanceof Error) { + console.warn(warning.toString()); + } + else { + const prefix = code ? `[${code}] ` : ''; + console.warn(`${prefix}${type || 'Warning'}: ${warning}`); + } + }; + warn('Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.', 'DeprecationWarning', 'DEP0168'); + return; + } + envObject.triggerFatalException(err); + }); + } + callFinalizer(cb, data, hint) { + this.callFinalizerInternal(1, cb, data, hint); + } + callFinalizerInternal(forceUncaught, cb, data, hint) { + const f = this.makeDynCall_vppp(cb); + const env = this.id; + const scope = this.ctx.openScope(this); + try { + this.callbackIntoModule(Boolean(forceUncaught), () => { f(env, data, hint); }); + } + finally { + this.ctx.closeScope(this, scope); + } + } + enqueueFinalizer(finalizer) { + super.enqueueFinalizer(finalizer); + if (!this.finalizationScheduled && !this.destructing) { + this.finalizationScheduled = true; + this.ref(); + _setImmediate(() => { + this.finalizationScheduled = false; + this.unref(); + this.drainFinalizerQueue(); + }); + } + } + drainFinalizerQueue() { + while (this.pendingFinalizers.length > 0) { + const refTracker = this.pendingFinalizers.shift(); + refTracker.finalize(); + } + } +} +function newEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + moduleApiVersion = typeof moduleApiVersion !== 'number' ? NODE_API_DEFAULT_MODULE_API_VERSION : moduleApiVersion; + if (moduleApiVersion < NODE_API_DEFAULT_MODULE_API_VERSION) { + moduleApiVersion = NODE_API_DEFAULT_MODULE_API_VERSION; + } + else if (moduleApiVersion > NODE_API_SUPPORTED_VERSION_MAX && moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) { + throwNodeApiVersionError(filename, moduleApiVersion); + } + const env = new NodeEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding); + ctx.envStore.add(env); + ctx.addCleanupHook(env, () => { env.unref(); }, 0); + return env; +} + +class EmnapiError extends Error { + constructor(message) { + super(message); + const ErrorConstructor = new.target; + const proto = ErrorConstructor.prototype; + if (!(this instanceof EmnapiError)) { + const setPrototypeOf = Object.setPrototypeOf; + if (typeof setPrototypeOf === 'function') { + setPrototypeOf.call(Object, this, proto); + } + else { + this.__proto__ = proto; + } + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, ErrorConstructor); + } + } + } +} +Object.defineProperty(EmnapiError.prototype, 'name', { + configurable: true, + writable: true, + value: 'EmnapiError' +}); +class NotSupportWeakRefError extends EmnapiError { + constructor(api, message) { + super(`${api}: The current runtime does not support "FinalizationRegistry" and "WeakRef".${message ? ` ${message}` : ''}`); + } +} +Object.defineProperty(NotSupportWeakRefError.prototype, 'name', { + configurable: true, + writable: true, + value: 'NotSupportWeakRefError' +}); +class NotSupportBufferError extends EmnapiError { + constructor(api, message) { + super(`${api}: The current runtime does not support "Buffer". Consider using buffer polyfill to make sure \`globalThis.Buffer\` is defined.${message ? ` ${message}` : ''}`); + } +} +Object.defineProperty(NotSupportBufferError.prototype, 'name', { + configurable: true, + writable: true, + value: 'NotSupportBufferError' +}); + +class StrongRef { + constructor(value) { + this._value = value; + } + deref() { + return this._value; + } + dispose() { + this._value = undefined; + } +} +class Persistent { + constructor(value) { + this._ref = new StrongRef(value); + } + setWeak(param, callback) { + if (!supportFinalizer || this._ref === undefined || this._ref instanceof WeakRef) + return; + const value = this._ref.deref(); + try { + Persistent._registry.register(value, this, this); + const weakRef = new WeakRef(value); + this._ref.dispose(); + this._ref = weakRef; + this._param = param; + this._callback = callback; + } + catch (err) { + if (typeof value === 'symbol') ; + else { + throw err; + } + } + } + clearWeak() { + if (!supportFinalizer || this._ref === undefined) + return; + if (this._ref instanceof WeakRef) { + try { + Persistent._registry.unregister(this); + } + catch (_) { } + this._param = undefined; + this._callback = undefined; + const value = this._ref.deref(); + if (value === undefined) { + this._ref = value; + } + else { + this._ref = new StrongRef(value); + } + } + } + reset() { + if (supportFinalizer) { + try { + Persistent._registry.unregister(this); + } + catch (_) { } + } + this._param = undefined; + this._callback = undefined; + if (this._ref instanceof StrongRef) { + this._ref.dispose(); + } + this._ref = undefined; + } + isEmpty() { + return this._ref === undefined; + } + deref() { + if (this._ref === undefined) + return undefined; + return this._ref.deref(); + } +} +Persistent._registry = supportFinalizer + ? new FinalizationRegistry((value) => { + value._ref = undefined; + const callback = value._callback; + const param = value._param; + value._callback = undefined; + value._param = undefined; + if (typeof callback === 'function') { + callback(param); + } + }) + : undefined; + +exports.ReferenceOwnership = void 0; +(function (ReferenceOwnership) { + ReferenceOwnership[ReferenceOwnership["kRuntime"] = 0] = "kRuntime"; + ReferenceOwnership[ReferenceOwnership["kUserland"] = 1] = "kUserland"; +})(exports.ReferenceOwnership || (exports.ReferenceOwnership = {})); +function canBeHeldWeakly(value) { + return value.isObject() || value.isFunction() || value.isSymbol(); +} +class Reference extends RefTracker { + static weakCallback(ref) { + ref.persistent.reset(); + ref.invokeFinalizerFromGC(); + } + static create(envObject, handle_id, initialRefcount, ownership, _unused1, _unused2, _unused3) { + const ref = new Reference(envObject, handle_id, initialRefcount, ownership); + envObject.ctx.refStore.add(ref); + ref.link(envObject.reflist); + return ref; + } + constructor(envObject, handle_id, initialRefcount, ownership) { + super(); + this.envObject = envObject; + this._refcount = initialRefcount; + this._ownership = ownership; + const handle = envObject.ctx.handleStore.get(handle_id); + this.canBeWeak = canBeHeldWeakly(handle); + this.persistent = new Persistent(handle.value); + this.id = 0; + if (initialRefcount === 0) { + this._setWeak(); + } + } + ref() { + if (this.persistent.isEmpty()) { + return 0; + } + if (++this._refcount === 1 && this.canBeWeak) { + this.persistent.clearWeak(); + } + return this._refcount; + } + unref() { + if (this.persistent.isEmpty() || this._refcount === 0) { + return 0; + } + if (--this._refcount === 0) { + this._setWeak(); + } + return this._refcount; + } + get(envObject = this.envObject) { + if (this.persistent.isEmpty()) { + return 0; + } + const obj = this.persistent.deref(); + const handle = envObject.ensureHandle(obj); + return handle.id; + } + resetFinalizer() { } + data() { return 0; } + refcount() { return this._refcount; } + ownership() { return this._ownership; } + callUserFinalizer() { } + invokeFinalizerFromGC() { + this.finalize(); + } + _setWeak() { + if (this.canBeWeak) { + this.persistent.setWeak(this, Reference.weakCallback); + } + else { + this.persistent.reset(); + } + } + finalize() { + this.persistent.reset(); + const deleteMe = this._ownership === exports.ReferenceOwnership.kRuntime; + this.unlink(); + this.callUserFinalizer(); + if (deleteMe) { + this.dispose(); + } + } + dispose() { + if (this.id === 0) + return; + this.unlink(); + this.persistent.reset(); + this.envObject.ctx.refStore.remove(this.id); + super.dispose(); + this.envObject = undefined; + this.id = 0; + } +} +class ReferenceWithData extends Reference { + static create(envObject, value, initialRefcount, ownership, data) { + const reference = new ReferenceWithData(envObject, value, initialRefcount, ownership, data); + envObject.ctx.refStore.add(reference); + reference.link(envObject.reflist); + return reference; + } + constructor(envObject, value, initialRefcount, ownership, _data) { + super(envObject, value, initialRefcount, ownership); + this._data = _data; + } + data() { + return this._data; + } +} +class ReferenceWithFinalizer extends Reference { + static create(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + const reference = new ReferenceWithFinalizer(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint); + envObject.ctx.refStore.add(reference); + reference.link(envObject.finalizing_reflist); + return reference; + } + constructor(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + super(envObject, value, initialRefcount, ownership); + this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint); + } + resetFinalizer() { + this._finalizer.resetFinalizer(); + } + data() { + return this._finalizer.data(); + } + callUserFinalizer() { + this._finalizer.callFinalizer(); + } + invokeFinalizerFromGC() { + this._finalizer.envObject.invokeFinalizerFromGC(this); + } + dispose() { + if (!this._finalizer) + return; + this._finalizer.envObject.dequeueFinalizer(this); + this._finalizer.dispose(); + super.dispose(); + this._finalizer = undefined; + } +} + +class Deferred { + static create(ctx, value) { + const deferred = new Deferred(ctx, value); + ctx.deferredStore.add(deferred); + return deferred; + } + constructor(ctx, value) { + this.id = 0; + this.ctx = ctx; + this.value = value; + } + resolve(value) { + this.value.resolve(value); + this.dispose(); + } + reject(reason) { + this.value.reject(reason); + this.dispose(); + } + dispose() { + this.ctx.deferredStore.remove(this.id); + this.id = 0; + this.value = null; + this.ctx = null; + } +} + +class Store { + constructor() { + this._values = [undefined]; + this._values.length = 4; + this._size = 1; + this._freeList = []; + } + add(value) { + let id; + if (this._freeList.length) { + id = this._freeList.shift(); + } + else { + id = this._size; + this._size++; + const capacity = this._values.length; + if (id >= capacity) { + this._values.length = capacity + (capacity >> 1) + 16; + } + } + value.id = id; + this._values[id] = value; + } + get(id) { + return this._values[id]; + } + has(id) { + return this._values[id] !== undefined; + } + remove(id) { + const value = this._values[id]; + if (value) { + value.id = 0; + this._values[id] = undefined; + this._freeList.push(Number(id)); + } + } + dispose() { + for (let i = 1; i < this._size; ++i) { + const value = this._values[i]; + value === null || value === void 0 ? void 0 : value.dispose(); + } + this._values = [undefined]; + this._size = 1; + this._freeList = []; + } +} + +class CleanupHookCallback { + constructor(envObject, fn, arg, order) { + this.envObject = envObject; + this.fn = fn; + this.arg = arg; + this.order = order; + } +} +class CleanupQueue { + constructor() { + this._cleanupHooks = []; + this._cleanupHookCounter = 0; + } + empty() { + return this._cleanupHooks.length === 0; + } + add(envObject, fn, arg) { + if (this._cleanupHooks.filter((hook) => (hook.envObject === envObject && hook.fn === fn && hook.arg === arg)).length > 0) { + throw new Error('Can not add same fn and arg twice'); + } + this._cleanupHooks.push(new CleanupHookCallback(envObject, fn, arg, this._cleanupHookCounter++)); + } + remove(envObject, fn, arg) { + for (let i = 0; i < this._cleanupHooks.length; ++i) { + const hook = this._cleanupHooks[i]; + if (hook.envObject === envObject && hook.fn === fn && hook.arg === arg) { + this._cleanupHooks.splice(i, 1); + return; + } + } + } + drain() { + const hooks = this._cleanupHooks.slice(); + hooks.sort((a, b) => (b.order - a.order)); + for (let i = 0; i < hooks.length; ++i) { + const cb = hooks[i]; + if (typeof cb.fn === 'number') { + cb.envObject.makeDynCall_vp(cb.fn)(cb.arg); + } + else { + cb.fn(cb.arg); + } + this._cleanupHooks.splice(this._cleanupHooks.indexOf(cb), 1); + } + } + dispose() { + this._cleanupHooks.length = 0; + this._cleanupHookCounter = 0; + } +} +class NodejsWaitingRequestCounter { + constructor() { + this.refHandle = new _MessageChannel().port1; + this.count = 0; + } + increase() { + if (this.count === 0) { + if (this.refHandle.ref) { + this.refHandle.ref(); + } + } + this.count++; + } + decrease() { + if (this.count === 0) + return; + if (this.count === 1) { + if (this.refHandle.unref) { + this.refHandle.unref(); + } + } + this.count--; + } +} +class Context { + constructor() { + this._isStopping = false; + this._canCallIntoJs = true; + this._suppressDestroy = false; + this.envStore = new Store(); + this.scopeStore = new ScopeStore(); + this.refStore = new Store(); + this.deferredStore = new Store(); + this.handleStore = new HandleStore(); + this.feature = { + supportReflect, + supportFinalizer, + supportWeakSymbol, + supportBigInt, + supportNewFunction, + canSetFunctionName, + setImmediate: _setImmediate, + Buffer: _Buffer, + MessageChannel: _MessageChannel + }; + this.cleanupQueue = new CleanupQueue(); + if (typeof process === 'object' && process !== null && typeof process.once === 'function') { + this.refCounter = new NodejsWaitingRequestCounter(); + process.once('beforeExit', () => { + if (!this._suppressDestroy) { + this.destroy(); + } + }); + } + } + suppressDestroy() { + this._suppressDestroy = true; + } + getRuntimeVersions() { + return { + version, + NODE_API_SUPPORTED_VERSION_MAX, + NAPI_VERSION_EXPERIMENTAL, + NODE_API_DEFAULT_MODULE_API_VERSION + }; + } + createNotSupportWeakRefError(api, message) { + return new NotSupportWeakRefError(api, message); + } + createNotSupportBufferError(api, message) { + return new NotSupportBufferError(api, message); + } + createReference(envObject, handle_id, initialRefcount, ownership) { + return Reference.create(envObject, handle_id, initialRefcount, ownership); + } + createReferenceWithData(envObject, handle_id, initialRefcount, ownership, data) { + return ReferenceWithData.create(envObject, handle_id, initialRefcount, ownership, data); + } + createReferenceWithFinalizer(envObject, handle_id, initialRefcount, ownership, finalize_callback = 0, finalize_data = 0, finalize_hint = 0) { + return ReferenceWithFinalizer.create(envObject, handle_id, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint); + } + createDeferred(value) { + return Deferred.create(this, value); + } + createEnv(filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + return newEnv(this, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding); + } + createTrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint) { + return TrackedFinalizer.create(envObject, finalize_callback, finalize_data, finalize_hint); + } + getCurrentScope() { + return this.scopeStore.currentScope; + } + addToCurrentScope(value) { + return this.scopeStore.currentScope.add(value); + } + openScope(envObject) { + const scope = this.scopeStore.openScope(this.handleStore); + if (envObject) + envObject.openHandleScopes++; + return scope; + } + closeScope(envObject, _scope) { + if (envObject && envObject.openHandleScopes === 0) + return; + this.scopeStore.closeScope(); + if (envObject) + envObject.openHandleScopes--; + } + ensureHandle(value) { + switch (value) { + case undefined: return HandleStore.UNDEFINED; + case null: return HandleStore.NULL; + case true: return HandleStore.TRUE; + case false: return HandleStore.FALSE; + case _global: return HandleStore.GLOBAL; + } + return this.addToCurrentScope(value); + } + addCleanupHook(envObject, fn, arg) { + this.cleanupQueue.add(envObject, fn, arg); + } + removeCleanupHook(envObject, fn, arg) { + this.cleanupQueue.remove(envObject, fn, arg); + } + runCleanup() { + while (!this.cleanupQueue.empty()) { + this.cleanupQueue.drain(); + } + } + increaseWaitingRequestCounter() { + var _a; + (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.increase(); + } + decreaseWaitingRequestCounter() { + var _a; + (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.decrease(); + } + setCanCallIntoJs(value) { + this._canCallIntoJs = value; + } + setStopping(value) { + this._isStopping = value; + } + canCallIntoJs() { + return this._canCallIntoJs && !this._isStopping; + } + destroy() { + this.setStopping(true); + this.setCanCallIntoJs(false); + this.runCleanup(); + } +} +let defaultContext; +function createContext() { + return new Context(); +} +function getDefaultContext() { + if (!defaultContext) { + defaultContext = createContext(); + } + return defaultContext; +} + +exports.ConstHandle = ConstHandle; +exports.Context = Context; +exports.Deferred = Deferred; +exports.EmnapiError = EmnapiError; +exports.Env = Env; +exports.External = External; +exports.Finalizer = Finalizer; +exports.Handle = Handle; +exports.HandleScope = HandleScope; +exports.HandleStore = HandleStore; +exports.NAPI_VERSION_EXPERIMENTAL = NAPI_VERSION_EXPERIMENTAL; +exports.NODE_API_DEFAULT_MODULE_API_VERSION = NODE_API_DEFAULT_MODULE_API_VERSION; +exports.NODE_API_SUPPORTED_VERSION_MAX = NODE_API_SUPPORTED_VERSION_MAX; +exports.NODE_API_SUPPORTED_VERSION_MIN = NODE_API_SUPPORTED_VERSION_MIN; +exports.NodeEnv = NodeEnv; +exports.NotSupportBufferError = NotSupportBufferError; +exports.NotSupportWeakRefError = NotSupportWeakRefError; +exports.Persistent = Persistent; +exports.RefTracker = RefTracker; +exports.Reference = Reference; +exports.ReferenceWithData = ReferenceWithData; +exports.ReferenceWithFinalizer = ReferenceWithFinalizer; +exports.ScopeStore = ScopeStore; +exports.Store = Store; +exports.TrackedFinalizer = TrackedFinalizer; +exports.TryCatch = TryCatch; +exports.createContext = createContext; +exports.getDefaultContext = getDefaultContext; +exports.getExternalValue = getExternalValue; +exports.isExternal = isExternal; +exports.isReferenceType = isReferenceType; +exports.version = version; diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts new file mode 100644 index 000000000..d75787f6f --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.d.ts @@ -0,0 +1,665 @@ +export declare type Ptr = number | bigint + +export declare interface IBuffer extends Uint8Array {} +export declare interface BufferCtor { + readonly prototype: IBuffer + /** @deprecated */ + new (...args: any[]): IBuffer + from: { + (buffer: ArrayBufferLike): IBuffer + (buffer: ArrayBufferLike, byteOffset: number, length: number): IBuffer + } + alloc: (size: number) => IBuffer + isBuffer: (obj: unknown) => obj is IBuffer +} + +export declare const enum GlobalHandle { + UNDEFINED = 1, + NULL, + FALSE, + TRUE, + GLOBAL +} + +export declare const enum Version { + NODE_API_SUPPORTED_VERSION_MIN = 1, + NODE_API_DEFAULT_MODULE_API_VERSION = 8, + NODE_API_SUPPORTED_VERSION_MAX = 10, + NAPI_VERSION_EXPERIMENTAL = 2147483647 // INT_MAX +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export declare type Pointer = number +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export declare type PointerPointer = number +export declare type FunctionPointer any> = Pointer +export declare type Const = T + +export declare type void_p = Pointer +export declare type void_pp = Pointer +export declare type bool = number +export declare type char = number +export declare type char_p = Pointer +export declare type unsigned_char = number +export declare type const_char = Const +export declare type const_char_p = Pointer +export declare type char16_t_p = number +export declare type const_char16_t_p = number + +export declare type short = number +export declare type unsigned_short = number +export declare type int = number +export declare type unsigned_int = number +export declare type long = number +export declare type unsigned_long = number +export declare type long_long = bigint +export declare type unsigned_long_long = bigint +export declare type float = number +export declare type double = number +export declare type long_double = number +export declare type size_t = number + +export declare type int8_t = number +export declare type uint8_t = number +export declare type int16_t = number +export declare type uint16_t = number +export declare type int32_t = number +export declare type uint32_t = number +export declare type int64_t = bigint +export declare type uint64_t = bigint +export declare type napi_env = Pointer + +export declare type napi_value = Pointer +export declare type napi_ref = Pointer +export declare type napi_deferred = Pointer +export declare type napi_handle_scope = Pointer +export declare type napi_escapable_handle_scope = Pointer + +export declare type napi_addon_register_func = FunctionPointer<(env: napi_env, exports: napi_value) => napi_value> + +export declare type napi_callback_info = Pointer +export declare type napi_callback = FunctionPointer<(env: napi_env, info: napi_callback_info) => napi_value> + +export declare interface napi_extended_error_info { + error_message: const_char_p + engine_reserved: void_p + engine_error_code: uint32_t + error_code: napi_status +} + +export declare interface napi_property_descriptor { + // One of utf8name or name should be NULL. + utf8name: const_char_p + name: napi_value + + method: napi_callback + getter: napi_callback + setter: napi_callback + value: napi_value + /* napi_property_attributes */ + attributes: number + data: void_p +} + +export declare type napi_finalize = FunctionPointer<( + env: napi_env, + finalize_data: void_p, + finalize_hint: void_p +) => void> + +export declare interface node_module { + nm_version: int32_t + nm_flags: uint32_t + nm_filename: Pointer + nm_register_func: napi_addon_register_func + nm_modname: Pointer + nm_priv: Pointer + reserved: PointerPointer +} + +export declare interface napi_node_version { + major: uint32_t + minor: uint32_t + patch: uint32_t + release: const_char_p +} + +export declare interface emnapi_emscripten_version { + major: uint32_t + minor: uint32_t + patch: uint32_t +} + +export declare const enum napi_status { + napi_ok, + napi_invalid_arg, + napi_object_expected, + napi_string_expected, + napi_name_expected, + napi_function_expected, + napi_number_expected, + napi_boolean_expected, + napi_array_expected, + napi_generic_failure, + napi_pending_exception, + napi_cancelled, + napi_escape_called_twice, + napi_handle_scope_mismatch, + napi_callback_scope_mismatch, + napi_queue_full, + napi_closing, + napi_bigint_expected, + napi_date_expected, + napi_arraybuffer_expected, + napi_detachable_arraybuffer_expected, + napi_would_deadlock, // unused + napi_no_external_buffers_allowed, + napi_cannot_run_js +} + +export declare const enum napi_property_attributes { + napi_default = 0, + napi_writable = 1 << 0, + napi_enumerable = 1 << 1, + napi_configurable = 1 << 2, + + // Used with napi_define_class to distinguish static properties + // from instance properties. Ignored by napi_define_properties. + napi_static = 1 << 10, + + /// #ifdef NAPI_EXPERIMENTAL + // Default for class methods. + napi_default_method = napi_writable | napi_configurable, + + // Default for object properties, like in JS obj[prop]. + napi_default_jsproperty = napi_writable | napi_enumerable | napi_configurable + /// #endif // NAPI_EXPERIMENTAL +} + +export declare const enum napi_valuetype { + napi_undefined, + napi_null, + napi_boolean, + napi_number, + napi_string, + napi_symbol, + napi_object, + napi_function, + napi_external, + napi_bigint +} + +export declare const enum napi_typedarray_type { + napi_int8_array, + napi_uint8_array, + napi_uint8_clamped_array, + napi_int16_array, + napi_uint16_array, + napi_int32_array, + napi_uint32_array, + napi_float32_array, + napi_float64_array, + napi_bigint64_array, + napi_biguint64_array, + napi_float16_array, +} + +export declare const enum napi_key_collection_mode { + napi_key_include_prototypes, + napi_key_own_only +} + +export declare const enum napi_key_filter { + napi_key_all_properties = 0, + napi_key_writable = 1, + napi_key_enumerable = 1 << 1, + napi_key_configurable = 1 << 2, + napi_key_skip_strings = 1 << 3, + napi_key_skip_symbols = 1 << 4 +} + +export declare const enum napi_key_conversion { + napi_key_keep_numbers, + napi_key_numbers_to_strings +} + +export declare const enum emnapi_memory_view_type { + emnapi_int8_array, + emnapi_uint8_array, + emnapi_uint8_clamped_array, + emnapi_int16_array, + emnapi_uint16_array, + emnapi_int32_array, + emnapi_uint32_array, + emnapi_float32_array, + emnapi_float64_array, + emnapi_bigint64_array, + emnapi_biguint64_array, + emnapi_float16_array, + emnapi_data_view = -1, + emnapi_buffer = -2 +} + +export declare const enum napi_threadsafe_function_call_mode { + napi_tsfn_nonblocking, + napi_tsfn_blocking +} + +export declare const enum napi_threadsafe_function_release_mode { + napi_tsfn_release, + napi_tsfn_abort +} +export declare type CleanupHookCallbackFunction = number | ((arg: number) => void); + +export declare class ConstHandle extends Handle { + constructor(id: number, value: S); + dispose(): void; +} + +export declare class Context { + private _isStopping; + private _canCallIntoJs; + private _suppressDestroy; + envStore: Store; + scopeStore: ScopeStore; + refStore: Store; + deferredStore: Store>; + handleStore: HandleStore; + private readonly refCounter?; + private readonly cleanupQueue; + feature: { + supportReflect: boolean; + supportFinalizer: boolean; + supportWeakSymbol: boolean; + supportBigInt: boolean; + supportNewFunction: boolean; + canSetFunctionName: boolean; + setImmediate: (callback: () => void) => void; + Buffer: BufferCtor | undefined; + MessageChannel: { + new (): MessageChannel; + prototype: MessageChannel; + } | undefined; + }; + constructor(); + /** + * Suppress the destroy on `beforeExit` event in Node.js. + * Call this method if you want to keep the context and + * all associated {@link Env | Env} alive, + * this also means that cleanup hooks will not be called. + * After call this method, you should call + * {@link Context.destroy | `Context.prototype.destroy`} method manually. + */ + suppressDestroy(): void; + getRuntimeVersions(): { + version: string; + NODE_API_SUPPORTED_VERSION_MAX: Version; + NAPI_VERSION_EXPERIMENTAL: Version; + NODE_API_DEFAULT_MODULE_API_VERSION: Version; + }; + createNotSupportWeakRefError(api: string, message: string): NotSupportWeakRefError; + createNotSupportBufferError(api: string, message: string): NotSupportBufferError; + createReference(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership): Reference; + createReferenceWithData(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): Reference; + createReferenceWithFinalizer(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback?: napi_finalize, finalize_data?: void_p, finalize_hint?: void_p): Reference; + createDeferred(value: IDeferrdValue): Deferred; + createEnv(filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any): Env; + createTrackedFinalizer(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer; + getCurrentScope(): HandleScope | null; + addToCurrentScope(value: V): Handle; + openScope(envObject?: Env): HandleScope; + closeScope(envObject?: Env, _scope?: HandleScope): void; + ensureHandle(value: S): Handle; + addCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void; + removeCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void; + runCleanup(): void; + increaseWaitingRequestCounter(): void; + decreaseWaitingRequestCounter(): void; + setCanCallIntoJs(value: boolean): void; + setStopping(value: boolean): void; + canCallIntoJs(): boolean; + /** + * Destroy the context and call cleanup hooks. + * Associated {@link Env | Env} will be destroyed. + */ + destroy(): void; +} + +export declare function createContext(): Context; + +export declare class Deferred implements IStoreValue { + static create(ctx: Context, value: IDeferrdValue): Deferred; + id: number; + ctx: Context; + value: IDeferrdValue; + constructor(ctx: Context, value: IDeferrdValue); + resolve(value: T): void; + reject(reason?: any): void; + dispose(): void; +} + +export declare class EmnapiError extends Error { + constructor(message?: string); +} + +export declare abstract class Env implements IStoreValue { + readonly ctx: Context; + moduleApiVersion: number; + makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void; + makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void; + abort: (msg?: string) => never; + id: number; + openHandleScopes: number; + instanceData: TrackedFinalizer | null; + tryCatch: TryCatch; + refs: number; + reflist: RefTracker; + finalizing_reflist: RefTracker; + pendingFinalizers: RefTracker[]; + lastError: { + errorCode: napi_status; + engineErrorCode: number; + engineReserved: Ptr; + }; + inGcFinalizer: boolean; + constructor(ctx: Context, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never); + /** @virtual */ + canCallIntoJs(): boolean; + terminatedOrTerminating(): boolean; + ref(): void; + unref(): void; + ensureHandle(value: S): Handle; + ensureHandleId(value: any): napi_value; + clearLastError(): napi_status; + setLastError(error_code: napi_status, engine_error_code?: uint32_t, engine_reserved?: void_p): napi_status; + getReturnStatus(): napi_status; + callIntoModule(fn: (env: Env) => T, handleException?: (envObject: Env, value: any) => void): T; + /** @virtual */ + abstract callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void; + invokeFinalizerFromGC(finalizer: RefTracker): void; + checkGCAccess(): void; + /** @virtual */ + enqueueFinalizer(finalizer: RefTracker): void; + /** @virtual */ + dequeueFinalizer(finalizer: RefTracker): void; + /** @virtual */ + deleteMe(): void; + dispose(): void; + private readonly _bindingMap; + initObjectBinding(value: S): IReferenceBinding; + getObjectBinding(value: S): IReferenceBinding; + setInstanceData(data: number, finalize_cb: number, finalize_hint: number): void; + getInstanceData(): number; +} + +/** @public */ +declare interface External_2 extends Record { +} + +/** @public */ +declare const External_2: { + new (value: number | bigint): External_2; + prototype: null; +}; +export { External_2 as External } + +export declare class Finalizer { + envObject: Env; + private _finalizeCallback; + private _finalizeData; + private _finalizeHint; + private _makeDynCall_vppp; + constructor(envObject: Env, _finalizeCallback?: napi_finalize, _finalizeData?: void_p, _finalizeHint?: void_p); + callback(): napi_finalize; + data(): void_p; + hint(): void_p; + resetEnv(): void; + resetFinalizer(): void; + callFinalizer(): void; + dispose(): void; +} + +export declare function getDefaultContext(): Context; + +/** @public */ +export declare function getExternalValue(external: External_2): number | bigint; + +export declare class Handle { + id: number; + value: S; + constructor(id: number, value: S); + data(): void_p; + isNumber(): boolean; + isBigInt(): boolean; + isString(): boolean; + isFunction(): boolean; + isExternal(): boolean; + isObject(): boolean; + isArray(): boolean; + isArrayBuffer(): boolean; + isTypedArray(): boolean; + isBuffer(BufferConstructor?: BufferCtor): boolean; + isDataView(): boolean; + isDate(): boolean; + isPromise(): boolean; + isBoolean(): boolean; + isUndefined(): boolean; + isSymbol(): boolean; + isNull(): boolean; + dispose(): void; +} + +export declare class HandleScope { + handleStore: HandleStore; + id: number; + parent: HandleScope | null; + child: HandleScope | null; + start: number; + end: number; + private _escapeCalled; + callbackInfo: ICallbackInfo; + constructor(handleStore: HandleStore, id: number, parentScope: HandleScope | null, start: number, end?: number); + add(value: V): Handle; + addExternal(data: void_p): Handle; + dispose(): void; + escape(handle: number): Handle | null; + escapeCalled(): boolean; +} + +export declare class HandleStore { + static UNDEFINED: ConstHandle; + static NULL: ConstHandle; + static FALSE: ConstHandle; + static TRUE: ConstHandle; + static GLOBAL: ConstHandle; + static MIN_ID: 6; + private readonly _values; + private _next; + push(value: S): Handle; + erase(start: number, end: number): void; + get(id: Ptr): Handle | undefined; + swap(a: number, b: number): void; + dispose(): void; +} + +export declare interface ICallbackInfo { + thiz: any; + data: void_p; + args: ArrayLike; + fn: Function; +} + +export declare interface IDeferrdValue { + resolve: (value: T) => void; + reject: (reason?: any) => void; +} + +export declare interface IReferenceBinding { + wrapped: number; + tag: Uint32Array | null; +} + +/** @public */ +export declare function isExternal(object: unknown): object is External_2; + +export declare function isReferenceType(v: any): v is object; + +export declare interface IStoreValue { + id: number; + dispose(): void; + [x: string]: any; +} + +export declare const NAPI_VERSION_EXPERIMENTAL = Version.NAPI_VERSION_EXPERIMENTAL; + +export declare const NODE_API_DEFAULT_MODULE_API_VERSION = Version.NODE_API_DEFAULT_MODULE_API_VERSION; + +export declare const NODE_API_SUPPORTED_VERSION_MAX = Version.NODE_API_SUPPORTED_VERSION_MAX; + +export declare const NODE_API_SUPPORTED_VERSION_MIN = Version.NODE_API_SUPPORTED_VERSION_MIN; + +export declare class NodeEnv extends Env { + filename: string; + private readonly nodeBinding?; + destructing: boolean; + finalizationScheduled: boolean; + constructor(ctx: Context, filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any); + deleteMe(): void; + canCallIntoJs(): boolean; + triggerFatalException(err: any): void; + callbackIntoModule(enforceUncaughtExceptionPolicy: boolean, fn: (env: Env) => T): T; + callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void; + callFinalizerInternal(forceUncaught: int, cb: napi_finalize, data: void_p, hint: void_p): void; + enqueueFinalizer(finalizer: RefTracker): void; + drainFinalizerQueue(): void; +} + +export declare class NotSupportBufferError extends EmnapiError { + constructor(api: string, message: string); +} + +export declare class NotSupportWeakRefError extends EmnapiError { + constructor(api: string, message: string); +} + +export declare class Persistent { + private _ref; + private _param; + private _callback; + private static readonly _registry; + constructor(value: T); + setWeak

(param: P, callback: (param: P) => void): void; + clearWeak(): void; + reset(): void; + isEmpty(): boolean; + deref(): T | undefined; +} + +export declare class Reference extends RefTracker implements IStoreValue { + private static weakCallback; + id: number; + envObject: Env; + private readonly canBeWeak; + private _refcount; + private readonly _ownership; + persistent: Persistent; + static create(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, _unused1?: void_p, _unused2?: void_p, _unused3?: void_p): Reference; + protected constructor(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership); + ref(): number; + unref(): number; + get(envObject?: Env): napi_value; + /** @virtual */ + resetFinalizer(): void; + /** @virtual */ + data(): void_p; + refcount(): number; + ownership(): ReferenceOwnership; + /** @virtual */ + protected callUserFinalizer(): void; + /** @virtual */ + protected invokeFinalizerFromGC(): void; + private _setWeak; + finalize(): void; + dispose(): void; +} + +export declare enum ReferenceOwnership { + kRuntime = 0, + kUserland = 1 +} + +export declare class ReferenceWithData extends Reference { + private readonly _data; + static create(envObject: Env, value: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): ReferenceWithData; + private constructor(); + data(): void_p; +} + +export declare class ReferenceWithFinalizer extends Reference { + private _finalizer; + static create(envObject: Env, value: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): ReferenceWithFinalizer; + private constructor(); + resetFinalizer(): void; + data(): void_p; + protected callUserFinalizer(): void; + protected invokeFinalizerFromGC(): void; + dispose(): void; +} + +export declare class RefTracker { + /** @virtual */ + dispose(): void; + /** @virtual */ + finalize(): void; + private _next; + private _prev; + link(list: RefTracker): void; + unlink(): void; + static finalizeAll(list: RefTracker): void; +} + +export declare class ScopeStore { + private readonly _rootScope; + currentScope: HandleScope; + private readonly _values; + constructor(); + get(id: number): HandleScope | undefined; + openScope(handleStore: HandleStore): HandleScope; + closeScope(): void; + dispose(): void; +} + +export declare class Store { + protected _values: Array; + private _freeList; + private _size; + constructor(); + add(value: V): void; + get(id: Ptr): V | undefined; + has(id: Ptr): boolean; + remove(id: Ptr): void; + dispose(): void; +} + +export declare class TrackedFinalizer extends RefTracker { + private _finalizer; + static create(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer; + private constructor(); + data(): void_p; + dispose(): void; + finalize(): void; +} + +export declare class TryCatch { + private _exception; + private _caught; + isEmpty(): boolean; + hasCaught(): boolean; + exception(): any; + setError(err: any): void; + reset(): void; + extractException(): any; +} + +export declare const version: string; + +export { } diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js new file mode 100644 index 000000000..a79279ce3 --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js @@ -0,0 +1 @@ +const e=new WeakMap;function t(t){return e.has(t)}const i=(()=>{function t(t){Object.setPrototypeOf(this,null),e.set(this,t)}return t.prototype=null,t})();function s(i){if(!t(i))throw new TypeError("not external");return e.get(i)}const n=function(){let e;try{e=new Function}catch(e){return!1}return"function"==typeof e}(),r=function(){if("undefined"!=typeof globalThis)return globalThis;let e=function(){return this}();if(!e&&n)try{e=new Function("return this")()}catch(e){}if(!e){if("undefined"==typeof __webpack_public_path__&&"undefined"!=typeof global)return global;if("undefined"!=typeof window)return window;if("undefined"!=typeof self)return self}return e}();class o{constructor(){this._exception=void 0,this._caught=!1}isEmpty(){return!this._caught}hasCaught(){return this._caught}exception(){return this._exception}setError(e){this._caught=!0,this._exception=e}reset(){this._caught=!1,this._exception=void 0}extractException(){const e=this._exception;return this.reset(),e}}const a=function(){var e;try{return Boolean(null===(e=Object.getOwnPropertyDescriptor(Function.prototype,"name"))||void 0===e?void 0:e.configurable)}catch(e){return!1}}(),l="object"==typeof Reflect,c="undefined"!=typeof FinalizationRegistry&&"undefined"!=typeof WeakRef,h=function(){try{const e=Symbol();new WeakRef(e),(new WeakMap).set(e,void 0)}catch(e){return!1}return!0}(),u="undefined"!=typeof BigInt;const p=function(){let e;return e="undefined"!=typeof __webpack_public_path__||"undefined"!=typeof __webpack_public_path__?"undefined"!=typeof __non_webpack_require__?__non_webpack_require__:void 0:"undefined"!=typeof require?require:void 0,e}(),f="function"==typeof MessageChannel?MessageChannel:function(){try{return p("worker_threads").MessageChannel}catch(e){}}(),d="function"==typeof setImmediate?setImmediate:function(e){if("function"!=typeof e)throw new TypeError('The "callback" argument must be of type function');if(f){let t=new f;t.port1.onmessage=function(){t.port1.onmessage=null,t=void 0,e()},t.port2.postMessage(null)}else setTimeout(e,0)},_="function"==typeof Buffer?Buffer:function(){try{return p("buffer").Buffer}catch(e){}}(),v="1.8.1",g=2147483647;class y{constructor(e,t){this.id=e,this.value=t}data(){return s(this.value)}isNumber(){return"number"==typeof this.value}isBigInt(){return"bigint"==typeof this.value}isString(){return"string"==typeof this.value}isFunction(){return"function"==typeof this.value}isExternal(){return t(this.value)}isObject(){return"object"==typeof this.value&&null!==this.value}isArray(){return Array.isArray(this.value)}isArrayBuffer(){return this.value instanceof ArrayBuffer}isTypedArray(){return ArrayBuffer.isView(this.value)&&!(this.value instanceof DataView)}isBuffer(e){return!!ArrayBuffer.isView(this.value)||(null!=e||(e=_),"function"==typeof e&&e.isBuffer(this.value))}isDataView(){return this.value instanceof DataView}isDate(){return this.value instanceof Date}isPromise(){return this.value instanceof Promise}isBoolean(){return"boolean"==typeof this.value}isUndefined(){return void 0===this.value}isSymbol(){return"symbol"==typeof this.value}isNull(){return null===this.value}dispose(){this.value=void 0}}class x extends y{constructor(e,t){super(e,t)}dispose(){}}class z{constructor(){this._values=[void 0,z.UNDEFINED,z.NULL,z.FALSE,z.TRUE,z.GLOBAL],this._next=z.MIN_ID}push(e){let t;const i=this._next,s=this._values;return i=this.end)return null;this.handleStore.swap(e,this.start);const t=this.handleStore.get(this.start);return this.start++,this.parent.end++,t}escapeCalled(){return this._escapeCalled}}class b{constructor(){this._rootScope=new k(null,0,null,1,z.MIN_ID),this.currentScope=this._rootScope,this._values=[void 0]}get(e){return this._values[e]}openScope(e){const t=this.currentScope;let i=t.child;if(null!==i)i.start=i.end=t.end;else{const s=t.id+1;i=new k(e,s,t,t.end),this._values[s]=i}return this.currentScope=i,i}closeScope(){const e=this.currentScope;this.currentScope=e.parent,e.dispose()}dispose(){this.currentScope=this._rootScope,this._values.length=1}}class w{constructor(){this._next=null,this._prev=null}dispose(){}finalize(){}link(e){this._prev=e,this._next=e._next,null!==this._next&&(this._next._prev=this),e._next=this}unlink(){null!==this._prev&&(this._prev._next=this._next),null!==this._next&&(this._next._prev=this._prev),this._prev=null,this._next=null}static finalizeAll(e){for(;null!==e._next;)e._next.finalize()}}class S{constructor(e,t=0,i=0,s=0){this.envObject=e,this._finalizeCallback=t,this._finalizeData=i,this._finalizeHint=s,this._makeDynCall_vppp=e.makeDynCall_vppp}callback(){return this._finalizeCallback}data(){return this._finalizeData}hint(){return this._finalizeHint}resetEnv(){this.envObject=void 0}resetFinalizer(){this._finalizeCallback=0,this._finalizeData=0,this._finalizeHint=0}callFinalizer(){const e=this._finalizeCallback,t=this._finalizeData,i=this._finalizeHint;if(this.resetFinalizer(),!e)return;const s=Number(e);this.envObject?this.envObject.callFinalizer(s,t,i):this._makeDynCall_vppp(s)(0,t,i)}dispose(){this.envObject=void 0,this._makeDynCall_vppp=void 0}}class E extends w{static create(e,t,i,s){const n=new E(e,t,i,s);return n.link(e.finalizing_reflist),n}constructor(e,t,i,s){super(),this._finalizer=new S(e,t,i,s)}data(){return this._finalizer.data()}dispose(){this._finalizer&&(this.unlink(),this._finalizer.envObject.dequeueFinalizer(this),this._finalizer.dispose(),this._finalizer=void 0,super.dispose())}finalize(){let e;this.unlink();let t=!1;try{this._finalizer.callFinalizer()}catch(i){t=!0,e=i}if(this.dispose(),t)throw e}}function m(e,t){if(!e.terminatedOrTerminating())throw t}class C{constructor(e,t,i,s,n){this.ctx=e,this.moduleApiVersion=t,this.makeDynCall_vppp=i,this.makeDynCall_vp=s,this.abort=n,this.openHandleScopes=0,this.instanceData=null,this.tryCatch=new o,this.refs=1,this.reflist=new w,this.finalizing_reflist=new w,this.pendingFinalizers=[],this.lastError={errorCode:0,engineErrorCode:0,engineReserved:0},this.inGcFinalizer=!1,this._bindingMap=new WeakMap,this.id=0}canCallIntoJs(){return!0}terminatedOrTerminating(){return!this.canCallIntoJs()}ref(){this.refs++}unref(){this.refs--,0===this.refs&&this.dispose()}ensureHandle(e){return this.ctx.ensureHandle(e)}ensureHandleId(e){return this.ensureHandle(e).id}clearLastError(){const e=this.lastError;return 0!==e.errorCode&&(e.errorCode=0),0!==e.engineErrorCode&&(e.engineErrorCode=0),0!==e.engineReserved&&(e.engineReserved=0),0}setLastError(e,t=0,i=0){const s=this.lastError;return s.errorCode!==e&&(s.errorCode=e),s.engineErrorCode!==t&&(s.engineErrorCode=t),s.engineReserved!==i&&(s.engineReserved=i),e}getReturnStatus(){return this.tryCatch.hasCaught()?this.setLastError(10):0}callIntoModule(e,t=m){const i=this.openHandleScopes;this.clearLastError();const s=e(this);if(i!==this.openHandleScopes&&this.abort("open_handle_scopes != open_handle_scopes_before"),this.tryCatch.hasCaught()){t(this,this.tryCatch.extractException())}return s}invokeFinalizerFromGC(e){if(this.moduleApiVersion!==g)this.enqueueFinalizer(e);else{const t=this.inGcFinalizer;this.inGcFinalizer=!0;try{e.finalize()}finally{this.inGcFinalizer=t}}}checkGCAccess(){this.moduleApiVersion===g&&this.inGcFinalizer&&this.abort("Finalizer is calling a function that may affect GC state.\nThe finalizers are run directly from GC and must not affect GC state.\nUse `node_api_post_finalizer` from inside of the finalizer to work around this issue.\nIt schedules the call as a new task in the event loop.")}enqueueFinalizer(e){-1===this.pendingFinalizers.indexOf(e)&&this.pendingFinalizers.push(e)}dequeueFinalizer(e){const t=this.pendingFinalizers.indexOf(e);-1!==t&&this.pendingFinalizers.splice(t,1)}deleteMe(){w.finalizeAll(this.finalizing_reflist),w.finalizeAll(this.reflist),this.tryCatch.extractException(),this.ctx.envStore.remove(this.id)}dispose(){0!==this.id&&(this.deleteMe(),this.finalizing_reflist.dispose(),this.reflist.dispose(),this.id=0)}initObjectBinding(e){const t={wrapped:0,tag:null};return this._bindingMap.set(e,t),t}getObjectBinding(e){return this._bindingMap.has(e)?this._bindingMap.get(e):this.initObjectBinding(e)}setInstanceData(e,t,i){this.instanceData&&this.instanceData.dispose(),this.instanceData=E.create(this,t,e,i)}getInstanceData(){return this.instanceData?this.instanceData.data():0}}class F extends C{constructor(e,t,i,s,n,r,o){super(e,i,s,n,r),this.filename=t,this.nodeBinding=o,this.destructing=!1,this.finalizationScheduled=!1}deleteMe(){this.destructing=!0,this.drainFinalizerQueue(),super.deleteMe()}canCallIntoJs(){return super.canCallIntoJs()&&this.ctx.canCallIntoJs()}triggerFatalException(e){if(this.nodeBinding)this.nodeBinding.napi.fatalException(e);else{if("object"!=typeof process||null===process||"function"!=typeof process._fatalException)throw e;process._fatalException(e)||(console.error(e),process.exit(1))}}callbackIntoModule(e,t){return this.callIntoModule(t,(t,i)=>{if(t.terminatedOrTerminating())return;const s="object"==typeof process&&null!==process,n=!!s&&Boolean(process.execArgv&&-1!==process.execArgv.indexOf("--force-node-api-uncaught-exceptions-policy"));if(t.moduleApiVersion<10&&!n&&!e){return void(s&&"function"==typeof process.emitWarning?process.emitWarning:function(e,t,i){if(e instanceof Error)console.warn(e.toString());else{const s=i?`[${i}] `:"";console.warn(`${s}${t||"Warning"}: ${e}`)}})("Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.","DeprecationWarning","DEP0168")}t.triggerFatalException(i)})}callFinalizer(e,t,i){this.callFinalizerInternal(1,e,t,i)}callFinalizerInternal(e,t,i,s){const n=this.makeDynCall_vppp(t),r=this.id,o=this.ctx.openScope(this);try{this.callbackIntoModule(Boolean(e),()=>{n(r,i,s)})}finally{this.ctx.closeScope(this,o)}}enqueueFinalizer(e){super.enqueueFinalizer(e),this.finalizationScheduled||this.destructing||(this.finalizationScheduled=!0,this.ref(),d(()=>{this.finalizationScheduled=!1,this.unref(),this.drainFinalizerQueue()}))}drainFinalizerQueue(){for(;this.pendingFinalizers.length>0;){this.pendingFinalizers.shift().finalize()}}}function I(e,t,i,s,n,r,o){(i="number"!=typeof i?8:i)<8?i=8:i>10&&i!==g&&function(e,t){throw new Error(`${e} requires Node-API version ${t}, but this version of Node.js only supports version 10 add-ons.`)}(t,i);const a=new F(e,t,i,s,n,r,o);return e.envStore.add(a),e.addCleanupHook(a,()=>{a.unref()},0),a}class O extends Error{constructor(e){super(e);const t=new.target,i=t.prototype;if(!(this instanceof O)){const e=Object.setPrototypeOf;"function"==typeof e?e.call(Object,this,i):this.__proto__=i,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}}}Object.defineProperty(O.prototype,"name",{configurable:!0,writable:!0,value:"EmnapiError"});class D extends O{constructor(e,t){super(`${e}: The current runtime does not support "FinalizationRegistry" and "WeakRef".${t?` ${t}`:""}`)}}Object.defineProperty(D.prototype,"name",{configurable:!0,writable:!0,value:"NotSupportWeakRefError"});class R extends O{constructor(e,t){super(`${e}: The current runtime does not support "Buffer". Consider using buffer polyfill to make sure \`globalThis.Buffer\` is defined.${t?` ${t}`:""}`)}}Object.defineProperty(R.prototype,"name",{configurable:!0,writable:!0,value:"NotSupportBufferError"});class N{constructor(e){this._value=e}deref(){return this._value}dispose(){this._value=void 0}}class H{constructor(e){this._ref=new N(e)}setWeak(e,t){if(!c||void 0===this._ref||this._ref instanceof WeakRef)return;const i=this._ref.deref();try{H._registry.register(i,this,this);const s=new WeakRef(i);this._ref.dispose(),this._ref=s,this._param=e,this._callback=t}catch(e){if("symbol"!=typeof i)throw e}}clearWeak(){if(c&&void 0!==this._ref&&this._ref instanceof WeakRef){try{H._registry.unregister(this)}catch(e){}this._param=void 0,this._callback=void 0;const e=this._ref.deref();this._ref=void 0===e?e:new N(e)}}reset(){if(c)try{H._registry.unregister(this)}catch(e){}this._param=void 0,this._callback=void 0,this._ref instanceof N&&this._ref.dispose(),this._ref=void 0}isEmpty(){return void 0===this._ref}deref(){if(void 0!==this._ref)return this._ref.deref()}}var A;H._registry=c?new FinalizationRegistry(e=>{e._ref=void 0;const t=e._callback,i=e._param;e._callback=void 0,e._param=void 0,"function"==typeof t&&t(i)}):void 0,exports.ReferenceOwnership=void 0,(A=exports.ReferenceOwnership||(exports.ReferenceOwnership={}))[A.kRuntime=0]="kRuntime",A[A.kUserland=1]="kUserland";class j extends w{static weakCallback(e){e.persistent.reset(),e.invokeFinalizerFromGC()}static create(e,t,i,s,n,r,o){const a=new j(e,t,i,s);return e.ctx.refStore.add(a),a.link(e.reflist),a}constructor(e,t,i,s){super(),this.envObject=e,this._refcount=i,this._ownership=s;const n=e.ctx.handleStore.get(t);var r;this.canBeWeak=(r=n).isObject()||r.isFunction()||r.isSymbol(),this.persistent=new H(n.value),this.id=0,0===i&&this._setWeak()}ref(){return this.persistent.isEmpty()?0:(1===++this._refcount&&this.canBeWeak&&this.persistent.clearWeak(),this._refcount)}unref(){return this.persistent.isEmpty()||0===this._refcount?0:(0===--this._refcount&&this._setWeak(),this._refcount)}get(e=this.envObject){if(this.persistent.isEmpty())return 0;const t=this.persistent.deref();return e.ensureHandle(t).id}resetFinalizer(){}data(){return 0}refcount(){return this._refcount}ownership(){return this._ownership}callUserFinalizer(){}invokeFinalizerFromGC(){this.finalize()}_setWeak(){this.canBeWeak?this.persistent.setWeak(this,j.weakCallback):this.persistent.reset()}finalize(){this.persistent.reset();const e=this._ownership===exports.ReferenceOwnership.kRuntime;this.unlink(),this.callUserFinalizer(),e&&this.dispose()}dispose(){0!==this.id&&(this.unlink(),this.persistent.reset(),this.envObject.ctx.refStore.remove(this.id),super.dispose(),this.envObject=void 0,this.id=0)}}class B extends j{static create(e,t,i,s,n){const r=new B(e,t,i,s,n);return e.ctx.refStore.add(r),r.link(e.reflist),r}constructor(e,t,i,s,n){super(e,t,i,s),this._data=n}data(){return this._data}}class T extends j{static create(e,t,i,s,n,r,o){const a=new T(e,t,i,s,n,r,o);return e.ctx.refStore.add(a),a.link(e.finalizing_reflist),a}constructor(e,t,i,s,n,r,o){super(e,t,i,s),this._finalizer=new S(e,n,r,o)}resetFinalizer(){this._finalizer.resetFinalizer()}data(){return this._finalizer.data()}callUserFinalizer(){this._finalizer.callFinalizer()}invokeFinalizerFromGC(){this._finalizer.envObject.invokeFinalizerFromGC(this)}dispose(){this._finalizer&&(this._finalizer.envObject.dequeueFinalizer(this),this._finalizer.dispose(),super.dispose(),this._finalizer=void 0)}}class W{static create(e,t){const i=new W(e,t);return e.deferredStore.add(i),i}constructor(e,t){this.id=0,this.ctx=e,this.value=t}resolve(e){this.value.resolve(e),this.dispose()}reject(e){this.value.reject(e),this.dispose()}dispose(){this.ctx.deferredStore.remove(this.id),this.id=0,this.value=null,this.ctx=null}}class M{constructor(){this._values=[void 0],this._values.length=4,this._size=1,this._freeList=[]}add(e){let t;if(this._freeList.length)t=this._freeList.shift();else{t=this._size,this._size++;const e=this._values.length;t>=e&&(this._values.length=e+(e>>1)+16)}e.id=t,this._values[t]=e}get(e){return this._values[e]}has(e){return void 0!==this._values[e]}remove(e){const t=this._values[e];t&&(t.id=0,this._values[e]=void 0,this._freeList.push(Number(e)))}dispose(){for(let e=1;es.envObject===e&&s.fn===t&&s.arg===i).length>0)throw new Error("Can not add same fn and arg twice");this._cleanupHooks.push(new L(e,t,i,this._cleanupHookCounter++))}remove(e,t,i){for(let s=0;st.order-e.order);for(let t=0;t{this._suppressDestroy||this.destroy()}))}suppressDestroy(){this._suppressDestroy=!0}getRuntimeVersions(){return{version:v,NODE_API_SUPPORTED_VERSION_MAX:10,NAPI_VERSION_EXPERIMENTAL:g,NODE_API_DEFAULT_MODULE_API_VERSION:8}}createNotSupportWeakRefError(e,t){return new D(e,t)}createNotSupportBufferError(e,t){return new R(e,t)}createReference(e,t,i,s){return j.create(e,t,i,s)}createReferenceWithData(e,t,i,s,n){return B.create(e,t,i,s,n)}createReferenceWithFinalizer(e,t,i,s,n=0,r=0,o=0){return T.create(e,t,i,s,n,r,o)}createDeferred(e){return W.create(this,e)}createEnv(e,t,i,s,n,r){return I(this,e,t,i,s,n,r)}createTrackedFinalizer(e,t,i,s){return E.create(e,t,i,s)}getCurrentScope(){return this.scopeStore.currentScope}addToCurrentScope(e){return this.scopeStore.currentScope.add(e)}openScope(e){const t=this.scopeStore.openScope(this.handleStore);return e&&e.openHandleScopes++,t}closeScope(e,t){e&&0===e.openHandleScopes||(this.scopeStore.closeScope(),e&&e.openHandleScopes--)}ensureHandle(e){switch(e){case void 0:return z.UNDEFINED;case null:return z.NULL;case!0:return z.TRUE;case!1:return z.FALSE;case r:return z.GLOBAL}return this.addToCurrentScope(e)}addCleanupHook(e,t,i){this.cleanupQueue.add(e,t,i)}removeCleanupHook(e,t,i){this.cleanupQueue.remove(e,t,i)}runCleanup(){for(;!this.cleanupQueue.empty();)this.cleanupQueue.drain()}increaseWaitingRequestCounter(){var e;null===(e=this.refCounter)||void 0===e||e.increase()}decreaseWaitingRequestCounter(){var e;null===(e=this.refCounter)||void 0===e||e.decrease()}setCanCallIntoJs(e){this._canCallIntoJs=e}setStopping(e){this._isStopping=e}canCallIntoJs(){return this._canCallIntoJs&&!this._isStopping}destroy(){this.setStopping(!0),this.setCanCallIntoJs(!1),this.runCleanup()}}let G;function q(){return new V}exports.ConstHandle=x,exports.Context=V,exports.Deferred=W,exports.EmnapiError=O,exports.Env=C,exports.External=i,exports.Finalizer=S,exports.Handle=y,exports.HandleScope=k,exports.HandleStore=z,exports.NAPI_VERSION_EXPERIMENTAL=g,exports.NODE_API_DEFAULT_MODULE_API_VERSION=8,exports.NODE_API_SUPPORTED_VERSION_MAX=10,exports.NODE_API_SUPPORTED_VERSION_MIN=1,exports.NodeEnv=F,exports.NotSupportBufferError=R,exports.NotSupportWeakRefError=D,exports.Persistent=H,exports.RefTracker=w,exports.Reference=j,exports.ReferenceWithData=B,exports.ReferenceWithFinalizer=T,exports.ScopeStore=b,exports.Store=M,exports.TrackedFinalizer=E,exports.TryCatch=o,exports.createContext=q,exports.getDefaultContext=function(){return G||(G=q()),G},exports.getExternalValue=s,exports.isExternal=t,exports.isReferenceType=function(e){return"object"==typeof e&&null!==e||"function"==typeof e},exports.version=v; diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.d.mts b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.d.mts new file mode 100644 index 000000000..d75787f6f --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.d.mts @@ -0,0 +1,665 @@ +export declare type Ptr = number | bigint + +export declare interface IBuffer extends Uint8Array {} +export declare interface BufferCtor { + readonly prototype: IBuffer + /** @deprecated */ + new (...args: any[]): IBuffer + from: { + (buffer: ArrayBufferLike): IBuffer + (buffer: ArrayBufferLike, byteOffset: number, length: number): IBuffer + } + alloc: (size: number) => IBuffer + isBuffer: (obj: unknown) => obj is IBuffer +} + +export declare const enum GlobalHandle { + UNDEFINED = 1, + NULL, + FALSE, + TRUE, + GLOBAL +} + +export declare const enum Version { + NODE_API_SUPPORTED_VERSION_MIN = 1, + NODE_API_DEFAULT_MODULE_API_VERSION = 8, + NODE_API_SUPPORTED_VERSION_MAX = 10, + NAPI_VERSION_EXPERIMENTAL = 2147483647 // INT_MAX +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export declare type Pointer = number +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export declare type PointerPointer = number +export declare type FunctionPointer any> = Pointer +export declare type Const = T + +export declare type void_p = Pointer +export declare type void_pp = Pointer +export declare type bool = number +export declare type char = number +export declare type char_p = Pointer +export declare type unsigned_char = number +export declare type const_char = Const +export declare type const_char_p = Pointer +export declare type char16_t_p = number +export declare type const_char16_t_p = number + +export declare type short = number +export declare type unsigned_short = number +export declare type int = number +export declare type unsigned_int = number +export declare type long = number +export declare type unsigned_long = number +export declare type long_long = bigint +export declare type unsigned_long_long = bigint +export declare type float = number +export declare type double = number +export declare type long_double = number +export declare type size_t = number + +export declare type int8_t = number +export declare type uint8_t = number +export declare type int16_t = number +export declare type uint16_t = number +export declare type int32_t = number +export declare type uint32_t = number +export declare type int64_t = bigint +export declare type uint64_t = bigint +export declare type napi_env = Pointer + +export declare type napi_value = Pointer +export declare type napi_ref = Pointer +export declare type napi_deferred = Pointer +export declare type napi_handle_scope = Pointer +export declare type napi_escapable_handle_scope = Pointer + +export declare type napi_addon_register_func = FunctionPointer<(env: napi_env, exports: napi_value) => napi_value> + +export declare type napi_callback_info = Pointer +export declare type napi_callback = FunctionPointer<(env: napi_env, info: napi_callback_info) => napi_value> + +export declare interface napi_extended_error_info { + error_message: const_char_p + engine_reserved: void_p + engine_error_code: uint32_t + error_code: napi_status +} + +export declare interface napi_property_descriptor { + // One of utf8name or name should be NULL. + utf8name: const_char_p + name: napi_value + + method: napi_callback + getter: napi_callback + setter: napi_callback + value: napi_value + /* napi_property_attributes */ + attributes: number + data: void_p +} + +export declare type napi_finalize = FunctionPointer<( + env: napi_env, + finalize_data: void_p, + finalize_hint: void_p +) => void> + +export declare interface node_module { + nm_version: int32_t + nm_flags: uint32_t + nm_filename: Pointer + nm_register_func: napi_addon_register_func + nm_modname: Pointer + nm_priv: Pointer + reserved: PointerPointer +} + +export declare interface napi_node_version { + major: uint32_t + minor: uint32_t + patch: uint32_t + release: const_char_p +} + +export declare interface emnapi_emscripten_version { + major: uint32_t + minor: uint32_t + patch: uint32_t +} + +export declare const enum napi_status { + napi_ok, + napi_invalid_arg, + napi_object_expected, + napi_string_expected, + napi_name_expected, + napi_function_expected, + napi_number_expected, + napi_boolean_expected, + napi_array_expected, + napi_generic_failure, + napi_pending_exception, + napi_cancelled, + napi_escape_called_twice, + napi_handle_scope_mismatch, + napi_callback_scope_mismatch, + napi_queue_full, + napi_closing, + napi_bigint_expected, + napi_date_expected, + napi_arraybuffer_expected, + napi_detachable_arraybuffer_expected, + napi_would_deadlock, // unused + napi_no_external_buffers_allowed, + napi_cannot_run_js +} + +export declare const enum napi_property_attributes { + napi_default = 0, + napi_writable = 1 << 0, + napi_enumerable = 1 << 1, + napi_configurable = 1 << 2, + + // Used with napi_define_class to distinguish static properties + // from instance properties. Ignored by napi_define_properties. + napi_static = 1 << 10, + + /// #ifdef NAPI_EXPERIMENTAL + // Default for class methods. + napi_default_method = napi_writable | napi_configurable, + + // Default for object properties, like in JS obj[prop]. + napi_default_jsproperty = napi_writable | napi_enumerable | napi_configurable + /// #endif // NAPI_EXPERIMENTAL +} + +export declare const enum napi_valuetype { + napi_undefined, + napi_null, + napi_boolean, + napi_number, + napi_string, + napi_symbol, + napi_object, + napi_function, + napi_external, + napi_bigint +} + +export declare const enum napi_typedarray_type { + napi_int8_array, + napi_uint8_array, + napi_uint8_clamped_array, + napi_int16_array, + napi_uint16_array, + napi_int32_array, + napi_uint32_array, + napi_float32_array, + napi_float64_array, + napi_bigint64_array, + napi_biguint64_array, + napi_float16_array, +} + +export declare const enum napi_key_collection_mode { + napi_key_include_prototypes, + napi_key_own_only +} + +export declare const enum napi_key_filter { + napi_key_all_properties = 0, + napi_key_writable = 1, + napi_key_enumerable = 1 << 1, + napi_key_configurable = 1 << 2, + napi_key_skip_strings = 1 << 3, + napi_key_skip_symbols = 1 << 4 +} + +export declare const enum napi_key_conversion { + napi_key_keep_numbers, + napi_key_numbers_to_strings +} + +export declare const enum emnapi_memory_view_type { + emnapi_int8_array, + emnapi_uint8_array, + emnapi_uint8_clamped_array, + emnapi_int16_array, + emnapi_uint16_array, + emnapi_int32_array, + emnapi_uint32_array, + emnapi_float32_array, + emnapi_float64_array, + emnapi_bigint64_array, + emnapi_biguint64_array, + emnapi_float16_array, + emnapi_data_view = -1, + emnapi_buffer = -2 +} + +export declare const enum napi_threadsafe_function_call_mode { + napi_tsfn_nonblocking, + napi_tsfn_blocking +} + +export declare const enum napi_threadsafe_function_release_mode { + napi_tsfn_release, + napi_tsfn_abort +} +export declare type CleanupHookCallbackFunction = number | ((arg: number) => void); + +export declare class ConstHandle extends Handle { + constructor(id: number, value: S); + dispose(): void; +} + +export declare class Context { + private _isStopping; + private _canCallIntoJs; + private _suppressDestroy; + envStore: Store; + scopeStore: ScopeStore; + refStore: Store; + deferredStore: Store>; + handleStore: HandleStore; + private readonly refCounter?; + private readonly cleanupQueue; + feature: { + supportReflect: boolean; + supportFinalizer: boolean; + supportWeakSymbol: boolean; + supportBigInt: boolean; + supportNewFunction: boolean; + canSetFunctionName: boolean; + setImmediate: (callback: () => void) => void; + Buffer: BufferCtor | undefined; + MessageChannel: { + new (): MessageChannel; + prototype: MessageChannel; + } | undefined; + }; + constructor(); + /** + * Suppress the destroy on `beforeExit` event in Node.js. + * Call this method if you want to keep the context and + * all associated {@link Env | Env} alive, + * this also means that cleanup hooks will not be called. + * After call this method, you should call + * {@link Context.destroy | `Context.prototype.destroy`} method manually. + */ + suppressDestroy(): void; + getRuntimeVersions(): { + version: string; + NODE_API_SUPPORTED_VERSION_MAX: Version; + NAPI_VERSION_EXPERIMENTAL: Version; + NODE_API_DEFAULT_MODULE_API_VERSION: Version; + }; + createNotSupportWeakRefError(api: string, message: string): NotSupportWeakRefError; + createNotSupportBufferError(api: string, message: string): NotSupportBufferError; + createReference(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership): Reference; + createReferenceWithData(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): Reference; + createReferenceWithFinalizer(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback?: napi_finalize, finalize_data?: void_p, finalize_hint?: void_p): Reference; + createDeferred(value: IDeferrdValue): Deferred; + createEnv(filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any): Env; + createTrackedFinalizer(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer; + getCurrentScope(): HandleScope | null; + addToCurrentScope(value: V): Handle; + openScope(envObject?: Env): HandleScope; + closeScope(envObject?: Env, _scope?: HandleScope): void; + ensureHandle(value: S): Handle; + addCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void; + removeCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void; + runCleanup(): void; + increaseWaitingRequestCounter(): void; + decreaseWaitingRequestCounter(): void; + setCanCallIntoJs(value: boolean): void; + setStopping(value: boolean): void; + canCallIntoJs(): boolean; + /** + * Destroy the context and call cleanup hooks. + * Associated {@link Env | Env} will be destroyed. + */ + destroy(): void; +} + +export declare function createContext(): Context; + +export declare class Deferred implements IStoreValue { + static create(ctx: Context, value: IDeferrdValue): Deferred; + id: number; + ctx: Context; + value: IDeferrdValue; + constructor(ctx: Context, value: IDeferrdValue); + resolve(value: T): void; + reject(reason?: any): void; + dispose(): void; +} + +export declare class EmnapiError extends Error { + constructor(message?: string); +} + +export declare abstract class Env implements IStoreValue { + readonly ctx: Context; + moduleApiVersion: number; + makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void; + makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void; + abort: (msg?: string) => never; + id: number; + openHandleScopes: number; + instanceData: TrackedFinalizer | null; + tryCatch: TryCatch; + refs: number; + reflist: RefTracker; + finalizing_reflist: RefTracker; + pendingFinalizers: RefTracker[]; + lastError: { + errorCode: napi_status; + engineErrorCode: number; + engineReserved: Ptr; + }; + inGcFinalizer: boolean; + constructor(ctx: Context, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never); + /** @virtual */ + canCallIntoJs(): boolean; + terminatedOrTerminating(): boolean; + ref(): void; + unref(): void; + ensureHandle(value: S): Handle; + ensureHandleId(value: any): napi_value; + clearLastError(): napi_status; + setLastError(error_code: napi_status, engine_error_code?: uint32_t, engine_reserved?: void_p): napi_status; + getReturnStatus(): napi_status; + callIntoModule(fn: (env: Env) => T, handleException?: (envObject: Env, value: any) => void): T; + /** @virtual */ + abstract callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void; + invokeFinalizerFromGC(finalizer: RefTracker): void; + checkGCAccess(): void; + /** @virtual */ + enqueueFinalizer(finalizer: RefTracker): void; + /** @virtual */ + dequeueFinalizer(finalizer: RefTracker): void; + /** @virtual */ + deleteMe(): void; + dispose(): void; + private readonly _bindingMap; + initObjectBinding(value: S): IReferenceBinding; + getObjectBinding(value: S): IReferenceBinding; + setInstanceData(data: number, finalize_cb: number, finalize_hint: number): void; + getInstanceData(): number; +} + +/** @public */ +declare interface External_2 extends Record { +} + +/** @public */ +declare const External_2: { + new (value: number | bigint): External_2; + prototype: null; +}; +export { External_2 as External } + +export declare class Finalizer { + envObject: Env; + private _finalizeCallback; + private _finalizeData; + private _finalizeHint; + private _makeDynCall_vppp; + constructor(envObject: Env, _finalizeCallback?: napi_finalize, _finalizeData?: void_p, _finalizeHint?: void_p); + callback(): napi_finalize; + data(): void_p; + hint(): void_p; + resetEnv(): void; + resetFinalizer(): void; + callFinalizer(): void; + dispose(): void; +} + +export declare function getDefaultContext(): Context; + +/** @public */ +export declare function getExternalValue(external: External_2): number | bigint; + +export declare class Handle { + id: number; + value: S; + constructor(id: number, value: S); + data(): void_p; + isNumber(): boolean; + isBigInt(): boolean; + isString(): boolean; + isFunction(): boolean; + isExternal(): boolean; + isObject(): boolean; + isArray(): boolean; + isArrayBuffer(): boolean; + isTypedArray(): boolean; + isBuffer(BufferConstructor?: BufferCtor): boolean; + isDataView(): boolean; + isDate(): boolean; + isPromise(): boolean; + isBoolean(): boolean; + isUndefined(): boolean; + isSymbol(): boolean; + isNull(): boolean; + dispose(): void; +} + +export declare class HandleScope { + handleStore: HandleStore; + id: number; + parent: HandleScope | null; + child: HandleScope | null; + start: number; + end: number; + private _escapeCalled; + callbackInfo: ICallbackInfo; + constructor(handleStore: HandleStore, id: number, parentScope: HandleScope | null, start: number, end?: number); + add(value: V): Handle; + addExternal(data: void_p): Handle; + dispose(): void; + escape(handle: number): Handle | null; + escapeCalled(): boolean; +} + +export declare class HandleStore { + static UNDEFINED: ConstHandle; + static NULL: ConstHandle; + static FALSE: ConstHandle; + static TRUE: ConstHandle; + static GLOBAL: ConstHandle; + static MIN_ID: 6; + private readonly _values; + private _next; + push(value: S): Handle; + erase(start: number, end: number): void; + get(id: Ptr): Handle | undefined; + swap(a: number, b: number): void; + dispose(): void; +} + +export declare interface ICallbackInfo { + thiz: any; + data: void_p; + args: ArrayLike; + fn: Function; +} + +export declare interface IDeferrdValue { + resolve: (value: T) => void; + reject: (reason?: any) => void; +} + +export declare interface IReferenceBinding { + wrapped: number; + tag: Uint32Array | null; +} + +/** @public */ +export declare function isExternal(object: unknown): object is External_2; + +export declare function isReferenceType(v: any): v is object; + +export declare interface IStoreValue { + id: number; + dispose(): void; + [x: string]: any; +} + +export declare const NAPI_VERSION_EXPERIMENTAL = Version.NAPI_VERSION_EXPERIMENTAL; + +export declare const NODE_API_DEFAULT_MODULE_API_VERSION = Version.NODE_API_DEFAULT_MODULE_API_VERSION; + +export declare const NODE_API_SUPPORTED_VERSION_MAX = Version.NODE_API_SUPPORTED_VERSION_MAX; + +export declare const NODE_API_SUPPORTED_VERSION_MIN = Version.NODE_API_SUPPORTED_VERSION_MIN; + +export declare class NodeEnv extends Env { + filename: string; + private readonly nodeBinding?; + destructing: boolean; + finalizationScheduled: boolean; + constructor(ctx: Context, filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any); + deleteMe(): void; + canCallIntoJs(): boolean; + triggerFatalException(err: any): void; + callbackIntoModule(enforceUncaughtExceptionPolicy: boolean, fn: (env: Env) => T): T; + callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void; + callFinalizerInternal(forceUncaught: int, cb: napi_finalize, data: void_p, hint: void_p): void; + enqueueFinalizer(finalizer: RefTracker): void; + drainFinalizerQueue(): void; +} + +export declare class NotSupportBufferError extends EmnapiError { + constructor(api: string, message: string); +} + +export declare class NotSupportWeakRefError extends EmnapiError { + constructor(api: string, message: string); +} + +export declare class Persistent { + private _ref; + private _param; + private _callback; + private static readonly _registry; + constructor(value: T); + setWeak

(param: P, callback: (param: P) => void): void; + clearWeak(): void; + reset(): void; + isEmpty(): boolean; + deref(): T | undefined; +} + +export declare class Reference extends RefTracker implements IStoreValue { + private static weakCallback; + id: number; + envObject: Env; + private readonly canBeWeak; + private _refcount; + private readonly _ownership; + persistent: Persistent; + static create(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, _unused1?: void_p, _unused2?: void_p, _unused3?: void_p): Reference; + protected constructor(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership); + ref(): number; + unref(): number; + get(envObject?: Env): napi_value; + /** @virtual */ + resetFinalizer(): void; + /** @virtual */ + data(): void_p; + refcount(): number; + ownership(): ReferenceOwnership; + /** @virtual */ + protected callUserFinalizer(): void; + /** @virtual */ + protected invokeFinalizerFromGC(): void; + private _setWeak; + finalize(): void; + dispose(): void; +} + +export declare enum ReferenceOwnership { + kRuntime = 0, + kUserland = 1 +} + +export declare class ReferenceWithData extends Reference { + private readonly _data; + static create(envObject: Env, value: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): ReferenceWithData; + private constructor(); + data(): void_p; +} + +export declare class ReferenceWithFinalizer extends Reference { + private _finalizer; + static create(envObject: Env, value: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): ReferenceWithFinalizer; + private constructor(); + resetFinalizer(): void; + data(): void_p; + protected callUserFinalizer(): void; + protected invokeFinalizerFromGC(): void; + dispose(): void; +} + +export declare class RefTracker { + /** @virtual */ + dispose(): void; + /** @virtual */ + finalize(): void; + private _next; + private _prev; + link(list: RefTracker): void; + unlink(): void; + static finalizeAll(list: RefTracker): void; +} + +export declare class ScopeStore { + private readonly _rootScope; + currentScope: HandleScope; + private readonly _values; + constructor(); + get(id: number): HandleScope | undefined; + openScope(handleStore: HandleStore): HandleScope; + closeScope(): void; + dispose(): void; +} + +export declare class Store { + protected _values: Array; + private _freeList; + private _size; + constructor(); + add(value: V): void; + get(id: Ptr): V | undefined; + has(id: Ptr): boolean; + remove(id: Ptr): void; + dispose(): void; +} + +export declare class TrackedFinalizer extends RefTracker { + private _finalizer; + static create(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer; + private constructor(); + data(): void_p; + dispose(): void; + finalize(): void; +} + +export declare class TryCatch { + private _exception; + private _caught; + isEmpty(): boolean; + hasCaught(): boolean; + exception(): any; + setError(err: any): void; + reset(): void; + extractException(): any; +} + +export declare const version: string; + +export { } diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.d.ts b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.d.ts new file mode 100644 index 000000000..8b1be1da9 --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.d.ts @@ -0,0 +1,667 @@ +export declare type Ptr = number | bigint + +export declare interface IBuffer extends Uint8Array {} +export declare interface BufferCtor { + readonly prototype: IBuffer + /** @deprecated */ + new (...args: any[]): IBuffer + from: { + (buffer: ArrayBufferLike): IBuffer + (buffer: ArrayBufferLike, byteOffset: number, length: number): IBuffer + } + alloc: (size: number) => IBuffer + isBuffer: (obj: unknown) => obj is IBuffer +} + +export declare const enum GlobalHandle { + UNDEFINED = 1, + NULL, + FALSE, + TRUE, + GLOBAL +} + +export declare const enum Version { + NODE_API_SUPPORTED_VERSION_MIN = 1, + NODE_API_DEFAULT_MODULE_API_VERSION = 8, + NODE_API_SUPPORTED_VERSION_MAX = 10, + NAPI_VERSION_EXPERIMENTAL = 2147483647 // INT_MAX +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export declare type Pointer = number +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export declare type PointerPointer = number +export declare type FunctionPointer any> = Pointer +export declare type Const = T + +export declare type void_p = Pointer +export declare type void_pp = Pointer +export declare type bool = number +export declare type char = number +export declare type char_p = Pointer +export declare type unsigned_char = number +export declare type const_char = Const +export declare type const_char_p = Pointer +export declare type char16_t_p = number +export declare type const_char16_t_p = number + +export declare type short = number +export declare type unsigned_short = number +export declare type int = number +export declare type unsigned_int = number +export declare type long = number +export declare type unsigned_long = number +export declare type long_long = bigint +export declare type unsigned_long_long = bigint +export declare type float = number +export declare type double = number +export declare type long_double = number +export declare type size_t = number + +export declare type int8_t = number +export declare type uint8_t = number +export declare type int16_t = number +export declare type uint16_t = number +export declare type int32_t = number +export declare type uint32_t = number +export declare type int64_t = bigint +export declare type uint64_t = bigint +export declare type napi_env = Pointer + +export declare type napi_value = Pointer +export declare type napi_ref = Pointer +export declare type napi_deferred = Pointer +export declare type napi_handle_scope = Pointer +export declare type napi_escapable_handle_scope = Pointer + +export declare type napi_addon_register_func = FunctionPointer<(env: napi_env, exports: napi_value) => napi_value> + +export declare type napi_callback_info = Pointer +export declare type napi_callback = FunctionPointer<(env: napi_env, info: napi_callback_info) => napi_value> + +export declare interface napi_extended_error_info { + error_message: const_char_p + engine_reserved: void_p + engine_error_code: uint32_t + error_code: napi_status +} + +export declare interface napi_property_descriptor { + // One of utf8name or name should be NULL. + utf8name: const_char_p + name: napi_value + + method: napi_callback + getter: napi_callback + setter: napi_callback + value: napi_value + /* napi_property_attributes */ + attributes: number + data: void_p +} + +export declare type napi_finalize = FunctionPointer<( + env: napi_env, + finalize_data: void_p, + finalize_hint: void_p +) => void> + +export declare interface node_module { + nm_version: int32_t + nm_flags: uint32_t + nm_filename: Pointer + nm_register_func: napi_addon_register_func + nm_modname: Pointer + nm_priv: Pointer + reserved: PointerPointer +} + +export declare interface napi_node_version { + major: uint32_t + minor: uint32_t + patch: uint32_t + release: const_char_p +} + +export declare interface emnapi_emscripten_version { + major: uint32_t + minor: uint32_t + patch: uint32_t +} + +export declare const enum napi_status { + napi_ok, + napi_invalid_arg, + napi_object_expected, + napi_string_expected, + napi_name_expected, + napi_function_expected, + napi_number_expected, + napi_boolean_expected, + napi_array_expected, + napi_generic_failure, + napi_pending_exception, + napi_cancelled, + napi_escape_called_twice, + napi_handle_scope_mismatch, + napi_callback_scope_mismatch, + napi_queue_full, + napi_closing, + napi_bigint_expected, + napi_date_expected, + napi_arraybuffer_expected, + napi_detachable_arraybuffer_expected, + napi_would_deadlock, // unused + napi_no_external_buffers_allowed, + napi_cannot_run_js +} + +export declare const enum napi_property_attributes { + napi_default = 0, + napi_writable = 1 << 0, + napi_enumerable = 1 << 1, + napi_configurable = 1 << 2, + + // Used with napi_define_class to distinguish static properties + // from instance properties. Ignored by napi_define_properties. + napi_static = 1 << 10, + + /// #ifdef NAPI_EXPERIMENTAL + // Default for class methods. + napi_default_method = napi_writable | napi_configurable, + + // Default for object properties, like in JS obj[prop]. + napi_default_jsproperty = napi_writable | napi_enumerable | napi_configurable + /// #endif // NAPI_EXPERIMENTAL +} + +export declare const enum napi_valuetype { + napi_undefined, + napi_null, + napi_boolean, + napi_number, + napi_string, + napi_symbol, + napi_object, + napi_function, + napi_external, + napi_bigint +} + +export declare const enum napi_typedarray_type { + napi_int8_array, + napi_uint8_array, + napi_uint8_clamped_array, + napi_int16_array, + napi_uint16_array, + napi_int32_array, + napi_uint32_array, + napi_float32_array, + napi_float64_array, + napi_bigint64_array, + napi_biguint64_array, + napi_float16_array, +} + +export declare const enum napi_key_collection_mode { + napi_key_include_prototypes, + napi_key_own_only +} + +export declare const enum napi_key_filter { + napi_key_all_properties = 0, + napi_key_writable = 1, + napi_key_enumerable = 1 << 1, + napi_key_configurable = 1 << 2, + napi_key_skip_strings = 1 << 3, + napi_key_skip_symbols = 1 << 4 +} + +export declare const enum napi_key_conversion { + napi_key_keep_numbers, + napi_key_numbers_to_strings +} + +export declare const enum emnapi_memory_view_type { + emnapi_int8_array, + emnapi_uint8_array, + emnapi_uint8_clamped_array, + emnapi_int16_array, + emnapi_uint16_array, + emnapi_int32_array, + emnapi_uint32_array, + emnapi_float32_array, + emnapi_float64_array, + emnapi_bigint64_array, + emnapi_biguint64_array, + emnapi_float16_array, + emnapi_data_view = -1, + emnapi_buffer = -2 +} + +export declare const enum napi_threadsafe_function_call_mode { + napi_tsfn_nonblocking, + napi_tsfn_blocking +} + +export declare const enum napi_threadsafe_function_release_mode { + napi_tsfn_release, + napi_tsfn_abort +} +export declare type CleanupHookCallbackFunction = number | ((arg: number) => void); + +export declare class ConstHandle extends Handle { + constructor(id: number, value: S); + dispose(): void; +} + +export declare class Context { + private _isStopping; + private _canCallIntoJs; + private _suppressDestroy; + envStore: Store; + scopeStore: ScopeStore; + refStore: Store; + deferredStore: Store>; + handleStore: HandleStore; + private readonly refCounter?; + private readonly cleanupQueue; + feature: { + supportReflect: boolean; + supportFinalizer: boolean; + supportWeakSymbol: boolean; + supportBigInt: boolean; + supportNewFunction: boolean; + canSetFunctionName: boolean; + setImmediate: (callback: () => void) => void; + Buffer: BufferCtor | undefined; + MessageChannel: { + new (): MessageChannel; + prototype: MessageChannel; + } | undefined; + }; + constructor(); + /** + * Suppress the destroy on `beforeExit` event in Node.js. + * Call this method if you want to keep the context and + * all associated {@link Env | Env} alive, + * this also means that cleanup hooks will not be called. + * After call this method, you should call + * {@link Context.destroy | `Context.prototype.destroy`} method manually. + */ + suppressDestroy(): void; + getRuntimeVersions(): { + version: string; + NODE_API_SUPPORTED_VERSION_MAX: Version; + NAPI_VERSION_EXPERIMENTAL: Version; + NODE_API_DEFAULT_MODULE_API_VERSION: Version; + }; + createNotSupportWeakRefError(api: string, message: string): NotSupportWeakRefError; + createNotSupportBufferError(api: string, message: string): NotSupportBufferError; + createReference(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership): Reference; + createReferenceWithData(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): Reference; + createReferenceWithFinalizer(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback?: napi_finalize, finalize_data?: void_p, finalize_hint?: void_p): Reference; + createDeferred(value: IDeferrdValue): Deferred; + createEnv(filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any): Env; + createTrackedFinalizer(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer; + getCurrentScope(): HandleScope | null; + addToCurrentScope(value: V): Handle; + openScope(envObject?: Env): HandleScope; + closeScope(envObject?: Env, _scope?: HandleScope): void; + ensureHandle(value: S): Handle; + addCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void; + removeCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void; + runCleanup(): void; + increaseWaitingRequestCounter(): void; + decreaseWaitingRequestCounter(): void; + setCanCallIntoJs(value: boolean): void; + setStopping(value: boolean): void; + canCallIntoJs(): boolean; + /** + * Destroy the context and call cleanup hooks. + * Associated {@link Env | Env} will be destroyed. + */ + destroy(): void; +} + +export declare function createContext(): Context; + +export declare class Deferred implements IStoreValue { + static create(ctx: Context, value: IDeferrdValue): Deferred; + id: number; + ctx: Context; + value: IDeferrdValue; + constructor(ctx: Context, value: IDeferrdValue); + resolve(value: T): void; + reject(reason?: any): void; + dispose(): void; +} + +export declare class EmnapiError extends Error { + constructor(message?: string); +} + +export declare abstract class Env implements IStoreValue { + readonly ctx: Context; + moduleApiVersion: number; + makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void; + makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void; + abort: (msg?: string) => never; + id: number; + openHandleScopes: number; + instanceData: TrackedFinalizer | null; + tryCatch: TryCatch; + refs: number; + reflist: RefTracker; + finalizing_reflist: RefTracker; + pendingFinalizers: RefTracker[]; + lastError: { + errorCode: napi_status; + engineErrorCode: number; + engineReserved: Ptr; + }; + inGcFinalizer: boolean; + constructor(ctx: Context, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never); + /** @virtual */ + canCallIntoJs(): boolean; + terminatedOrTerminating(): boolean; + ref(): void; + unref(): void; + ensureHandle(value: S): Handle; + ensureHandleId(value: any): napi_value; + clearLastError(): napi_status; + setLastError(error_code: napi_status, engine_error_code?: uint32_t, engine_reserved?: void_p): napi_status; + getReturnStatus(): napi_status; + callIntoModule(fn: (env: Env) => T, handleException?: (envObject: Env, value: any) => void): T; + /** @virtual */ + abstract callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void; + invokeFinalizerFromGC(finalizer: RefTracker): void; + checkGCAccess(): void; + /** @virtual */ + enqueueFinalizer(finalizer: RefTracker): void; + /** @virtual */ + dequeueFinalizer(finalizer: RefTracker): void; + /** @virtual */ + deleteMe(): void; + dispose(): void; + private readonly _bindingMap; + initObjectBinding(value: S): IReferenceBinding; + getObjectBinding(value: S): IReferenceBinding; + setInstanceData(data: number, finalize_cb: number, finalize_hint: number): void; + getInstanceData(): number; +} + +/** @public */ +declare interface External_2 extends Record { +} + +/** @public */ +declare const External_2: { + new (value: number | bigint): External_2; + prototype: null; +}; +export { External_2 as External } + +export declare class Finalizer { + envObject: Env; + private _finalizeCallback; + private _finalizeData; + private _finalizeHint; + private _makeDynCall_vppp; + constructor(envObject: Env, _finalizeCallback?: napi_finalize, _finalizeData?: void_p, _finalizeHint?: void_p); + callback(): napi_finalize; + data(): void_p; + hint(): void_p; + resetEnv(): void; + resetFinalizer(): void; + callFinalizer(): void; + dispose(): void; +} + +export declare function getDefaultContext(): Context; + +/** @public */ +export declare function getExternalValue(external: External_2): number | bigint; + +export declare class Handle { + id: number; + value: S; + constructor(id: number, value: S); + data(): void_p; + isNumber(): boolean; + isBigInt(): boolean; + isString(): boolean; + isFunction(): boolean; + isExternal(): boolean; + isObject(): boolean; + isArray(): boolean; + isArrayBuffer(): boolean; + isTypedArray(): boolean; + isBuffer(BufferConstructor?: BufferCtor): boolean; + isDataView(): boolean; + isDate(): boolean; + isPromise(): boolean; + isBoolean(): boolean; + isUndefined(): boolean; + isSymbol(): boolean; + isNull(): boolean; + dispose(): void; +} + +export declare class HandleScope { + handleStore: HandleStore; + id: number; + parent: HandleScope | null; + child: HandleScope | null; + start: number; + end: number; + private _escapeCalled; + callbackInfo: ICallbackInfo; + constructor(handleStore: HandleStore, id: number, parentScope: HandleScope | null, start: number, end?: number); + add(value: V): Handle; + addExternal(data: void_p): Handle; + dispose(): void; + escape(handle: number): Handle | null; + escapeCalled(): boolean; +} + +export declare class HandleStore { + static UNDEFINED: ConstHandle; + static NULL: ConstHandle; + static FALSE: ConstHandle; + static TRUE: ConstHandle; + static GLOBAL: ConstHandle; + static MIN_ID: 6; + private readonly _values; + private _next; + push(value: S): Handle; + erase(start: number, end: number): void; + get(id: Ptr): Handle | undefined; + swap(a: number, b: number): void; + dispose(): void; +} + +export declare interface ICallbackInfo { + thiz: any; + data: void_p; + args: ArrayLike; + fn: Function; +} + +export declare interface IDeferrdValue { + resolve: (value: T) => void; + reject: (reason?: any) => void; +} + +export declare interface IReferenceBinding { + wrapped: number; + tag: Uint32Array | null; +} + +/** @public */ +export declare function isExternal(object: unknown): object is External_2; + +export declare function isReferenceType(v: any): v is object; + +export declare interface IStoreValue { + id: number; + dispose(): void; + [x: string]: any; +} + +export declare const NAPI_VERSION_EXPERIMENTAL = Version.NAPI_VERSION_EXPERIMENTAL; + +export declare const NODE_API_DEFAULT_MODULE_API_VERSION = Version.NODE_API_DEFAULT_MODULE_API_VERSION; + +export declare const NODE_API_SUPPORTED_VERSION_MAX = Version.NODE_API_SUPPORTED_VERSION_MAX; + +export declare const NODE_API_SUPPORTED_VERSION_MIN = Version.NODE_API_SUPPORTED_VERSION_MIN; + +export declare class NodeEnv extends Env { + filename: string; + private readonly nodeBinding?; + destructing: boolean; + finalizationScheduled: boolean; + constructor(ctx: Context, filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any); + deleteMe(): void; + canCallIntoJs(): boolean; + triggerFatalException(err: any): void; + callbackIntoModule(enforceUncaughtExceptionPolicy: boolean, fn: (env: Env) => T): T; + callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void; + callFinalizerInternal(forceUncaught: int, cb: napi_finalize, data: void_p, hint: void_p): void; + enqueueFinalizer(finalizer: RefTracker): void; + drainFinalizerQueue(): void; +} + +export declare class NotSupportBufferError extends EmnapiError { + constructor(api: string, message: string); +} + +export declare class NotSupportWeakRefError extends EmnapiError { + constructor(api: string, message: string); +} + +export declare class Persistent { + private _ref; + private _param; + private _callback; + private static readonly _registry; + constructor(value: T); + setWeak

(param: P, callback: (param: P) => void): void; + clearWeak(): void; + reset(): void; + isEmpty(): boolean; + deref(): T | undefined; +} + +export declare class Reference extends RefTracker implements IStoreValue { + private static weakCallback; + id: number; + envObject: Env; + private readonly canBeWeak; + private _refcount; + private readonly _ownership; + persistent: Persistent; + static create(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, _unused1?: void_p, _unused2?: void_p, _unused3?: void_p): Reference; + protected constructor(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership); + ref(): number; + unref(): number; + get(envObject?: Env): napi_value; + /** @virtual */ + resetFinalizer(): void; + /** @virtual */ + data(): void_p; + refcount(): number; + ownership(): ReferenceOwnership; + /** @virtual */ + protected callUserFinalizer(): void; + /** @virtual */ + protected invokeFinalizerFromGC(): void; + private _setWeak; + finalize(): void; + dispose(): void; +} + +export declare enum ReferenceOwnership { + kRuntime = 0, + kUserland = 1 +} + +export declare class ReferenceWithData extends Reference { + private readonly _data; + static create(envObject: Env, value: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): ReferenceWithData; + private constructor(); + data(): void_p; +} + +export declare class ReferenceWithFinalizer extends Reference { + private _finalizer; + static create(envObject: Env, value: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): ReferenceWithFinalizer; + private constructor(); + resetFinalizer(): void; + data(): void_p; + protected callUserFinalizer(): void; + protected invokeFinalizerFromGC(): void; + dispose(): void; +} + +export declare class RefTracker { + /** @virtual */ + dispose(): void; + /** @virtual */ + finalize(): void; + private _next; + private _prev; + link(list: RefTracker): void; + unlink(): void; + static finalizeAll(list: RefTracker): void; +} + +export declare class ScopeStore { + private readonly _rootScope; + currentScope: HandleScope; + private readonly _values; + constructor(); + get(id: number): HandleScope | undefined; + openScope(handleStore: HandleStore): HandleScope; + closeScope(): void; + dispose(): void; +} + +export declare class Store { + protected _values: Array; + private _freeList; + private _size; + constructor(); + add(value: V): void; + get(id: Ptr): V | undefined; + has(id: Ptr): boolean; + remove(id: Ptr): void; + dispose(): void; +} + +export declare class TrackedFinalizer extends RefTracker { + private _finalizer; + static create(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer; + private constructor(); + data(): void_p; + dispose(): void; + finalize(): void; +} + +export declare class TryCatch { + private _exception; + private _caught; + isEmpty(): boolean; + hasCaught(): boolean; + exception(): any; + setError(err: any): void; + reset(): void; + extractException(): any; +} + +export declare const version: string; + +export { } + +export as namespace emnapi; diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.esm-bundler.js b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.esm-bundler.js new file mode 100644 index 000000000..35baea844 --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.esm-bundler.js @@ -0,0 +1,1410 @@ +import { __extends } from 'tslib'; + +var externalValue = new WeakMap(); +/** @public */ +function isExternal(object) { + return externalValue.has(object); +} +/** @public */ // eslint-disable-next-line @typescript-eslint/no-redeclare +var External = (function () { + function External(value) { + Object.setPrototypeOf(this, null); + externalValue.set(this, value); + } + External.prototype = null; + return External; +})(); +/** @public */ +function getExternalValue(external) { + if (!isExternal(external)) { + throw new TypeError('not external'); + } + return externalValue.get(external); +} + +var supportNewFunction = /*#__PURE__*/ (function () { + var f; + try { + f = new Function(); + } + catch (_) { + return false; + } + return typeof f === 'function'; +})(); +var _global = /*#__PURE__*/ (function () { + if (typeof globalThis !== 'undefined') + return globalThis; + var g = (function () { return this; })(); + if (!g && supportNewFunction) { + try { + g = new Function('return this')(); + } + catch (_) { } + } + if (!g) { + if (typeof __webpack_public_path__ === 'undefined') { + if (typeof global !== 'undefined') + return global; + } + if (typeof window !== 'undefined') + return window; + if (typeof self !== 'undefined') + return self; + } + return g; +})(); +var TryCatch = /*#__PURE__*/ (function () { + function TryCatch() { + this._exception = undefined; + this._caught = false; + } + TryCatch.prototype.isEmpty = function () { + return !this._caught; + }; + TryCatch.prototype.hasCaught = function () { + return this._caught; + }; + TryCatch.prototype.exception = function () { + return this._exception; + }; + TryCatch.prototype.setError = function (err) { + this._caught = true; + this._exception = err; + }; + TryCatch.prototype.reset = function () { + this._caught = false; + this._exception = undefined; + }; + TryCatch.prototype.extractException = function () { + var e = this._exception; + this.reset(); + return e; + }; + return TryCatch; +}()); +var canSetFunctionName = /*#__PURE__*/ (function () { + var _a; + try { + return Boolean((_a = Object.getOwnPropertyDescriptor(Function.prototype, 'name')) === null || _a === void 0 ? void 0 : _a.configurable); + } + catch (_) { + return false; + } +})(); +var supportReflect = typeof Reflect === 'object'; +var supportFinalizer = (typeof FinalizationRegistry !== 'undefined') && (typeof WeakRef !== 'undefined'); +var supportWeakSymbol = /*#__PURE__*/ (function () { + try { + // eslint-disable-next-line symbol-description + var sym = Symbol(); + // eslint-disable-next-line no-new + new WeakRef(sym); + new WeakMap().set(sym, undefined); + } + catch (_) { + return false; + } + return true; +})(); +var supportBigInt = typeof BigInt !== 'undefined'; +function isReferenceType(v) { + return (typeof v === 'object' && v !== null) || typeof v === 'function'; +} +var _require = /*#__PURE__*/ (function () { + var nativeRequire; + if (typeof __webpack_public_path__ !== 'undefined') { + nativeRequire = (function () { + return typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined; + })(); + } + else { + nativeRequire = (function () { + return typeof __webpack_public_path__ !== 'undefined' ? (typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined) : (typeof require !== 'undefined' ? require : undefined); + })(); + } + return nativeRequire; +})(); +var _MessageChannel = typeof MessageChannel === 'function' + ? MessageChannel + : /*#__PURE__*/ (function () { + try { + return _require('worker_threads').MessageChannel; + } + catch (_) { } + return undefined; + })(); +var _setImmediate = typeof setImmediate === 'function' + ? setImmediate + : function (callback) { + if (typeof callback !== 'function') { + throw new TypeError('The "callback" argument must be of type function'); + } + if (_MessageChannel) { + var channel_1 = new _MessageChannel(); + channel_1.port1.onmessage = function () { + channel_1.port1.onmessage = null; + channel_1 = undefined; + callback(); + }; + channel_1.port2.postMessage(null); + } + else { + setTimeout(callback, 0); + } + }; +var _Buffer = typeof Buffer === 'function' + ? Buffer + : /*#__PURE__*/ (function () { + try { + return _require('buffer').Buffer; + } + catch (_) { } + return undefined; + })(); +var version = "1.8.1"; +var NODE_API_SUPPORTED_VERSION_MIN = 1 /* Version.NODE_API_SUPPORTED_VERSION_MIN */; +var NODE_API_SUPPORTED_VERSION_MAX = 10 /* Version.NODE_API_SUPPORTED_VERSION_MAX */; +var NAPI_VERSION_EXPERIMENTAL = 2147483647 /* Version.NAPI_VERSION_EXPERIMENTAL */; +var NODE_API_DEFAULT_MODULE_API_VERSION = 8 /* Version.NODE_API_DEFAULT_MODULE_API_VERSION */; + +var Handle = /*#__PURE__*/ (function () { + function Handle(id, value) { + this.id = id; + this.value = value; + } + Handle.prototype.data = function () { + return getExternalValue(this.value); + }; + Handle.prototype.isNumber = function () { + return typeof this.value === 'number'; + }; + Handle.prototype.isBigInt = function () { + return typeof this.value === 'bigint'; + }; + Handle.prototype.isString = function () { + return typeof this.value === 'string'; + }; + Handle.prototype.isFunction = function () { + return typeof this.value === 'function'; + }; + Handle.prototype.isExternal = function () { + return isExternal(this.value); + }; + Handle.prototype.isObject = function () { + return typeof this.value === 'object' && this.value !== null; + }; + Handle.prototype.isArray = function () { + return Array.isArray(this.value); + }; + Handle.prototype.isArrayBuffer = function () { + return (this.value instanceof ArrayBuffer); + }; + Handle.prototype.isTypedArray = function () { + return (ArrayBuffer.isView(this.value)) && !(this.value instanceof DataView); + }; + Handle.prototype.isBuffer = function (BufferConstructor) { + if (ArrayBuffer.isView(this.value)) + return true; + BufferConstructor !== null && BufferConstructor !== void 0 ? BufferConstructor : (BufferConstructor = _Buffer); + return typeof BufferConstructor === 'function' && BufferConstructor.isBuffer(this.value); + }; + Handle.prototype.isDataView = function () { + return (this.value instanceof DataView); + }; + Handle.prototype.isDate = function () { + return (this.value instanceof Date); + }; + Handle.prototype.isPromise = function () { + return (this.value instanceof Promise); + }; + Handle.prototype.isBoolean = function () { + return typeof this.value === 'boolean'; + }; + Handle.prototype.isUndefined = function () { + return this.value === undefined; + }; + Handle.prototype.isSymbol = function () { + return typeof this.value === 'symbol'; + }; + Handle.prototype.isNull = function () { + return this.value === null; + }; + Handle.prototype.dispose = function () { + this.value = undefined; + }; + return Handle; +}()); +var ConstHandle = /*#__PURE__*/ (function (_super) { + __extends(ConstHandle, _super); + function ConstHandle(id, value) { + return _super.call(this, id, value) || this; + } + ConstHandle.prototype.dispose = function () { }; + return ConstHandle; +}(Handle)); +var HandleStore = /*#__PURE__*/ (function () { + function HandleStore() { + this._values = [ + undefined, + HandleStore.UNDEFINED, + HandleStore.NULL, + HandleStore.FALSE, + HandleStore.TRUE, + HandleStore.GLOBAL + ]; + this._next = HandleStore.MIN_ID; + } + HandleStore.prototype.push = function (value) { + var h; + var next = this._next; + var values = this._values; + if (next < values.length) { + h = values[next]; + h.value = value; + } + else { + h = new Handle(next, value); + values[next] = h; + } + this._next++; + return h; + }; + HandleStore.prototype.erase = function (start, end) { + this._next = start; + var values = this._values; + for (var i = start; i < end; ++i) { + values[i].dispose(); + } + }; + HandleStore.prototype.get = function (id) { + return this._values[id]; + }; + HandleStore.prototype.swap = function (a, b) { + var values = this._values; + var h = values[a]; + values[a] = values[b]; + values[a].id = Number(a); + values[b] = h; + h.id = Number(b); + }; + HandleStore.prototype.dispose = function () { + this._values.length = HandleStore.MIN_ID; + this._next = HandleStore.MIN_ID; + }; + HandleStore.UNDEFINED = new ConstHandle(1 /* GlobalHandle.UNDEFINED */, undefined); + HandleStore.NULL = new ConstHandle(2 /* GlobalHandle.NULL */, null); + HandleStore.FALSE = new ConstHandle(3 /* GlobalHandle.FALSE */, false); + HandleStore.TRUE = new ConstHandle(4 /* GlobalHandle.TRUE */, true); + HandleStore.GLOBAL = new ConstHandle(5 /* GlobalHandle.GLOBAL */, _global); + HandleStore.MIN_ID = 6; + return HandleStore; +}()); + +var HandleScope = /*#__PURE__*/ (function () { + function HandleScope(handleStore, id, parentScope, start, end) { + if (end === void 0) { end = start; } + this.handleStore = handleStore; + this.id = id; + this.parent = parentScope; + this.child = null; + if (parentScope !== null) + parentScope.child = this; + this.start = start; + this.end = end; + this._escapeCalled = false; + this.callbackInfo = { + thiz: undefined, + data: 0, + args: undefined, + fn: undefined + }; + } + HandleScope.prototype.add = function (value) { + var h = this.handleStore.push(value); + this.end++; + return h; + }; + HandleScope.prototype.addExternal = function (data) { + return this.add(new External(data)); + }; + HandleScope.prototype.dispose = function () { + if (this._escapeCalled) + this._escapeCalled = false; + if (this.start === this.end) + return; + this.handleStore.erase(this.start, this.end); + }; + HandleScope.prototype.escape = function (handle) { + if (this._escapeCalled) + return null; + this._escapeCalled = true; + if (handle < this.start || handle >= this.end) { + return null; + } + this.handleStore.swap(handle, this.start); + var h = this.handleStore.get(this.start); + this.start++; + this.parent.end++; + return h; + }; + HandleScope.prototype.escapeCalled = function () { + return this._escapeCalled; + }; + return HandleScope; +}()); + +var ScopeStore = /*#__PURE__*/ (function () { + function ScopeStore() { + this._rootScope = new HandleScope(null, 0, null, 1, HandleStore.MIN_ID); + this.currentScope = this._rootScope; + this._values = [undefined]; + } + ScopeStore.prototype.get = function (id) { + return this._values[id]; + }; + ScopeStore.prototype.openScope = function (handleStore) { + var currentScope = this.currentScope; + var scope = currentScope.child; + if (scope !== null) { + scope.start = scope.end = currentScope.end; + } + else { + var id = currentScope.id + 1; + scope = new HandleScope(handleStore, id, currentScope, currentScope.end); + this._values[id] = scope; + } + this.currentScope = scope; + return scope; + }; + ScopeStore.prototype.closeScope = function () { + var scope = this.currentScope; + this.currentScope = scope.parent; + scope.dispose(); + }; + ScopeStore.prototype.dispose = function () { + this.currentScope = this._rootScope; + this._values.length = 1; + }; + return ScopeStore; +}()); + +var RefTracker = /*#__PURE__*/ (function () { + function RefTracker() { + this._next = null; + this._prev = null; + } + /** @virtual */ + RefTracker.prototype.dispose = function () { }; + /** @virtual */ + RefTracker.prototype.finalize = function () { }; + RefTracker.prototype.link = function (list) { + this._prev = list; + this._next = list._next; + if (this._next !== null) { + this._next._prev = this; + } + list._next = this; + }; + RefTracker.prototype.unlink = function () { + if (this._prev !== null) { + this._prev._next = this._next; + } + if (this._next !== null) { + this._next._prev = this._prev; + } + this._prev = null; + this._next = null; + }; + RefTracker.finalizeAll = function (list) { + while (list._next !== null) { + list._next.finalize(); + } + }; + return RefTracker; +}()); + +var Finalizer = /*#__PURE__*/ (function () { + function Finalizer(envObject, _finalizeCallback, _finalizeData, _finalizeHint) { + if (_finalizeCallback === void 0) { _finalizeCallback = 0; } + if (_finalizeData === void 0) { _finalizeData = 0; } + if (_finalizeHint === void 0) { _finalizeHint = 0; } + this.envObject = envObject; + this._finalizeCallback = _finalizeCallback; + this._finalizeData = _finalizeData; + this._finalizeHint = _finalizeHint; + this._makeDynCall_vppp = envObject.makeDynCall_vppp; + } + Finalizer.prototype.callback = function () { return this._finalizeCallback; }; + Finalizer.prototype.data = function () { return this._finalizeData; }; + Finalizer.prototype.hint = function () { return this._finalizeHint; }; + Finalizer.prototype.resetEnv = function () { + this.envObject = undefined; + }; + Finalizer.prototype.resetFinalizer = function () { + this._finalizeCallback = 0; + this._finalizeData = 0; + this._finalizeHint = 0; + }; + Finalizer.prototype.callFinalizer = function () { + var finalize_callback = this._finalizeCallback; + var finalize_data = this._finalizeData; + var finalize_hint = this._finalizeHint; + this.resetFinalizer(); + if (!finalize_callback) + return; + var fini = Number(finalize_callback); + if (!this.envObject) { + this._makeDynCall_vppp(fini)(0, finalize_data, finalize_hint); + } + else { + this.envObject.callFinalizer(fini, finalize_data, finalize_hint); + } + }; + Finalizer.prototype.dispose = function () { + this.envObject = undefined; + this._makeDynCall_vppp = undefined; + }; + return Finalizer; +}()); + +var TrackedFinalizer = /*#__PURE__*/ (function (_super) { + __extends(TrackedFinalizer, _super); + function TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint) { + var _this = _super.call(this) || this; + _this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint); + return _this; + } + TrackedFinalizer.create = function (envObject, finalize_callback, finalize_data, finalize_hint) { + var finalizer = new TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint); + finalizer.link(envObject.finalizing_reflist); + return finalizer; + }; + TrackedFinalizer.prototype.data = function () { + return this._finalizer.data(); + }; + TrackedFinalizer.prototype.dispose = function () { + if (!this._finalizer) + return; + this.unlink(); + this._finalizer.envObject.dequeueFinalizer(this); + this._finalizer.dispose(); + this._finalizer = undefined; + _super.prototype.dispose.call(this); + }; + TrackedFinalizer.prototype.finalize = function () { + this.unlink(); + var error; + var caught = false; + try { + this._finalizer.callFinalizer(); + } + catch (err) { + caught = true; + error = err; + } + this.dispose(); + if (caught) { + throw error; + } + }; + return TrackedFinalizer; +}(RefTracker)); + +function throwNodeApiVersionError(moduleName, moduleApiVersion) { + var errorMessage = "".concat(moduleName, " requires Node-API version ").concat(moduleApiVersion, ", but this version of Node.js only supports version ").concat(NODE_API_SUPPORTED_VERSION_MAX, " add-ons."); + throw new Error(errorMessage); +} +function handleThrow(envObject, value) { + if (envObject.terminatedOrTerminating()) { + return; + } + throw value; +} +var Env = /*#__PURE__*/ (function () { + function Env(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort) { + this.ctx = ctx; + this.moduleApiVersion = moduleApiVersion; + this.makeDynCall_vppp = makeDynCall_vppp; + this.makeDynCall_vp = makeDynCall_vp; + this.abort = abort; + this.openHandleScopes = 0; + this.instanceData = null; + this.tryCatch = new TryCatch(); + this.refs = 1; + this.reflist = new RefTracker(); + this.finalizing_reflist = new RefTracker(); + this.pendingFinalizers = []; + this.lastError = { + errorCode: 0 /* napi_status.napi_ok */, + engineErrorCode: 0, + engineReserved: 0 + }; + this.inGcFinalizer = false; + this._bindingMap = new WeakMap(); + this.id = 0; + } + /** @virtual */ + Env.prototype.canCallIntoJs = function () { + return true; + }; + Env.prototype.terminatedOrTerminating = function () { + return !this.canCallIntoJs(); + }; + Env.prototype.ref = function () { + this.refs++; + }; + Env.prototype.unref = function () { + this.refs--; + if (this.refs === 0) { + this.dispose(); + } + }; + Env.prototype.ensureHandle = function (value) { + return this.ctx.ensureHandle(value); + }; + Env.prototype.ensureHandleId = function (value) { + return this.ensureHandle(value).id; + }; + Env.prototype.clearLastError = function () { + var lastError = this.lastError; + if (lastError.errorCode !== 0 /* napi_status.napi_ok */) + lastError.errorCode = 0 /* napi_status.napi_ok */; + if (lastError.engineErrorCode !== 0) + lastError.engineErrorCode = 0; + if (lastError.engineReserved !== 0) + lastError.engineReserved = 0; + return 0 /* napi_status.napi_ok */; + }; + Env.prototype.setLastError = function (error_code, engine_error_code, engine_reserved) { + if (engine_error_code === void 0) { engine_error_code = 0; } + if (engine_reserved === void 0) { engine_reserved = 0; } + var lastError = this.lastError; + if (lastError.errorCode !== error_code) + lastError.errorCode = error_code; + if (lastError.engineErrorCode !== engine_error_code) + lastError.engineErrorCode = engine_error_code; + if (lastError.engineReserved !== engine_reserved) + lastError.engineReserved = engine_reserved; + return error_code; + }; + Env.prototype.getReturnStatus = function () { + return !this.tryCatch.hasCaught() ? 0 /* napi_status.napi_ok */ : this.setLastError(10 /* napi_status.napi_pending_exception */); + }; + Env.prototype.callIntoModule = function (fn, handleException) { + if (handleException === void 0) { handleException = handleThrow; } + var openHandleScopesBefore = this.openHandleScopes; + this.clearLastError(); + var r = fn(this); + if (openHandleScopesBefore !== this.openHandleScopes) { + this.abort('open_handle_scopes != open_handle_scopes_before'); + } + if (this.tryCatch.hasCaught()) { + var err = this.tryCatch.extractException(); + handleException(this, err); + } + return r; + }; + Env.prototype.invokeFinalizerFromGC = function (finalizer) { + if (this.moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) { + this.enqueueFinalizer(finalizer); + } + else { + var saved = this.inGcFinalizer; + this.inGcFinalizer = true; + try { + finalizer.finalize(); + } + finally { + this.inGcFinalizer = saved; + } + } + }; + Env.prototype.checkGCAccess = function () { + if (this.moduleApiVersion === NAPI_VERSION_EXPERIMENTAL && this.inGcFinalizer) { + this.abort('Finalizer is calling a function that may affect GC state.\n' + + 'The finalizers are run directly from GC and must not affect GC ' + + 'state.\n' + + 'Use `node_api_post_finalizer` from inside of the finalizer to work ' + + 'around this issue.\n' + + 'It schedules the call as a new task in the event loop.'); + } + }; + /** @virtual */ + Env.prototype.enqueueFinalizer = function (finalizer) { + if (this.pendingFinalizers.indexOf(finalizer) === -1) { + this.pendingFinalizers.push(finalizer); + } + }; + /** @virtual */ + Env.prototype.dequeueFinalizer = function (finalizer) { + var index = this.pendingFinalizers.indexOf(finalizer); + if (index !== -1) { + this.pendingFinalizers.splice(index, 1); + } + }; + /** @virtual */ + Env.prototype.deleteMe = function () { + RefTracker.finalizeAll(this.finalizing_reflist); + RefTracker.finalizeAll(this.reflist); + this.tryCatch.extractException(); + this.ctx.envStore.remove(this.id); + }; + Env.prototype.dispose = function () { + if (this.id === 0) + return; + this.deleteMe(); + this.finalizing_reflist.dispose(); + this.reflist.dispose(); + this.id = 0; + }; + Env.prototype.initObjectBinding = function (value) { + var binding = { + wrapped: 0, + tag: null + }; + this._bindingMap.set(value, binding); + return binding; + }; + Env.prototype.getObjectBinding = function (value) { + if (this._bindingMap.has(value)) { + return this._bindingMap.get(value); + } + return this.initObjectBinding(value); + }; + Env.prototype.setInstanceData = function (data, finalize_cb, finalize_hint) { + if (this.instanceData) { + this.instanceData.dispose(); + } + this.instanceData = TrackedFinalizer.create(this, finalize_cb, data, finalize_hint); + }; + Env.prototype.getInstanceData = function () { + return this.instanceData ? this.instanceData.data() : 0; + }; + return Env; +}()); +var NodeEnv = /*#__PURE__*/ (function (_super) { + __extends(NodeEnv, _super); + function NodeEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + var _this = _super.call(this, ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort) || this; + _this.filename = filename; + _this.nodeBinding = nodeBinding; + _this.destructing = false; + _this.finalizationScheduled = false; + return _this; + } + NodeEnv.prototype.deleteMe = function () { + this.destructing = true; + this.drainFinalizerQueue(); + _super.prototype.deleteMe.call(this); + }; + NodeEnv.prototype.canCallIntoJs = function () { + return _super.prototype.canCallIntoJs.call(this) && this.ctx.canCallIntoJs(); + }; + NodeEnv.prototype.triggerFatalException = function (err) { + if (this.nodeBinding) { + this.nodeBinding.napi.fatalException(err); + } + else { + if (typeof process === 'object' && process !== null && typeof process._fatalException === 'function') { + var handled = process._fatalException(err); + if (!handled) { + console.error(err); + process.exit(1); + } + } + else { + throw err; + } + } + }; + NodeEnv.prototype.callbackIntoModule = function (enforceUncaughtExceptionPolicy, fn) { + return this.callIntoModule(fn, function (envObject, err) { + if (envObject.terminatedOrTerminating()) { + return; + } + var hasProcess = typeof process === 'object' && process !== null; + var hasForceFlag = hasProcess ? Boolean(process.execArgv && (process.execArgv.indexOf('--force-node-api-uncaught-exceptions-policy') !== -1)) : false; + if (envObject.moduleApiVersion < 10 && !hasForceFlag && !enforceUncaughtExceptionPolicy) { + var warn = hasProcess && typeof process.emitWarning === 'function' + ? process.emitWarning + : function (warning, type, code) { + if (warning instanceof Error) { + console.warn(warning.toString()); + } + else { + var prefix = code ? "[".concat(code, "] ") : ''; + // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing + console.warn("".concat(prefix).concat(type || 'Warning', ": ").concat(warning)); + } + }; + warn('Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.', 'DeprecationWarning', 'DEP0168'); + return; + } + envObject.triggerFatalException(err); + }); + }; + NodeEnv.prototype.callFinalizer = function (cb, data, hint) { + this.callFinalizerInternal(1, cb, data, hint); + }; + NodeEnv.prototype.callFinalizerInternal = function (forceUncaught, cb, data, hint) { + var f = this.makeDynCall_vppp(cb); + var env = this.id; + var scope = this.ctx.openScope(this); + try { + this.callbackIntoModule(Boolean(forceUncaught), function () { f(env, data, hint); }); + } + finally { + this.ctx.closeScope(this, scope); + } + }; + NodeEnv.prototype.enqueueFinalizer = function (finalizer) { + var _this = this; + _super.prototype.enqueueFinalizer.call(this, finalizer); + if (!this.finalizationScheduled && !this.destructing) { + this.finalizationScheduled = true; + this.ref(); + _setImmediate(function () { + _this.finalizationScheduled = false; + _this.unref(); + _this.drainFinalizerQueue(); + }); + } + }; + NodeEnv.prototype.drainFinalizerQueue = function () { + while (this.pendingFinalizers.length > 0) { + var refTracker = this.pendingFinalizers.shift(); + refTracker.finalize(); + } + }; + return NodeEnv; +}(Env)); +function newEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + moduleApiVersion = typeof moduleApiVersion !== 'number' ? NODE_API_DEFAULT_MODULE_API_VERSION : moduleApiVersion; + // Validate module_api_version. + if (moduleApiVersion < NODE_API_DEFAULT_MODULE_API_VERSION) { + moduleApiVersion = NODE_API_DEFAULT_MODULE_API_VERSION; + } + else if (moduleApiVersion > NODE_API_SUPPORTED_VERSION_MAX && moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) { + throwNodeApiVersionError(filename, moduleApiVersion); + } + var env = new NodeEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding); + ctx.envStore.add(env); + ctx.addCleanupHook(env, function () { env.unref(); }, 0); + return env; +} + +var EmnapiError = /*#__PURE__*/ (function (_super) { + __extends(EmnapiError, _super); + function EmnapiError(message) { + var _newTarget = this.constructor; + var _this = _super.call(this, message) || this; + var ErrorConstructor = _newTarget; + var proto = ErrorConstructor.prototype; + if (!(_this instanceof EmnapiError)) { + var setPrototypeOf = Object.setPrototypeOf; + if (typeof setPrototypeOf === 'function') { + setPrototypeOf.call(Object, _this, proto); + } + else { + // eslint-disable-next-line no-proto + _this.__proto__ = proto; + } + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(_this, ErrorConstructor); + } + } + return _this; + } + return EmnapiError; +}(Error)); +Object.defineProperty(EmnapiError.prototype, 'name', { + configurable: true, + writable: true, + value: 'EmnapiError' +}); +var NotSupportWeakRefError = /*#__PURE__*/ (function (_super) { + __extends(NotSupportWeakRefError, _super); + function NotSupportWeakRefError(api, message) { + return _super.call(this, "".concat(api, ": The current runtime does not support \"FinalizationRegistry\" and \"WeakRef\".").concat(message ? " ".concat(message) : '')) || this; + } + return NotSupportWeakRefError; +}(EmnapiError)); +Object.defineProperty(NotSupportWeakRefError.prototype, 'name', { + configurable: true, + writable: true, + value: 'NotSupportWeakRefError' +}); +var NotSupportBufferError = /*#__PURE__*/ (function (_super) { + __extends(NotSupportBufferError, _super); + function NotSupportBufferError(api, message) { + return _super.call(this, "".concat(api, ": The current runtime does not support \"Buffer\". Consider using buffer polyfill to make sure `globalThis.Buffer` is defined.").concat(message ? " ".concat(message) : '')) || this; + } + return NotSupportBufferError; +}(EmnapiError)); +Object.defineProperty(NotSupportBufferError.prototype, 'name', { + configurable: true, + writable: true, + value: 'NotSupportBufferError' +}); + +var StrongRef = /*#__PURE__*/ (function () { + function StrongRef(value) { + this._value = value; + } + StrongRef.prototype.deref = function () { + return this._value; + }; + StrongRef.prototype.dispose = function () { + this._value = undefined; + }; + return StrongRef; +}()); +var Persistent = /*#__PURE__*/ (function () { + function Persistent(value) { + this._ref = new StrongRef(value); + } + Persistent.prototype.setWeak = function (param, callback) { + if (!supportFinalizer || this._ref === undefined || this._ref instanceof WeakRef) + return; + var value = this._ref.deref(); + try { + Persistent._registry.register(value, this, this); + var weakRef = new WeakRef(value); + this._ref.dispose(); + this._ref = weakRef; + this._param = param; + this._callback = callback; + } + catch (err) { + if (typeof value === 'symbol') ; + else { + throw err; + } + } + }; + Persistent.prototype.clearWeak = function () { + if (!supportFinalizer || this._ref === undefined) + return; + if (this._ref instanceof WeakRef) { + try { + Persistent._registry.unregister(this); + } + catch (_) { } + this._param = undefined; + this._callback = undefined; + var value = this._ref.deref(); + if (value === undefined) { + this._ref = value; + } + else { + this._ref = new StrongRef(value); + } + } + }; + Persistent.prototype.reset = function () { + if (supportFinalizer) { + try { + Persistent._registry.unregister(this); + } + catch (_) { } + } + this._param = undefined; + this._callback = undefined; + if (this._ref instanceof StrongRef) { + this._ref.dispose(); + } + this._ref = undefined; + }; + Persistent.prototype.isEmpty = function () { + return this._ref === undefined; + }; + Persistent.prototype.deref = function () { + if (this._ref === undefined) + return undefined; + return this._ref.deref(); + }; + Persistent._registry = supportFinalizer + ? new FinalizationRegistry(function (value) { + value._ref = undefined; + var callback = value._callback; + var param = value._param; + value._callback = undefined; + value._param = undefined; + if (typeof callback === 'function') { + callback(param); + } + }) + : undefined; + return Persistent; +}()); + +var ReferenceOwnership; +(function (ReferenceOwnership) { + ReferenceOwnership[ReferenceOwnership["kRuntime"] = 0] = "kRuntime"; + ReferenceOwnership[ReferenceOwnership["kUserland"] = 1] = "kUserland"; +})(ReferenceOwnership || (ReferenceOwnership = {})); +function canBeHeldWeakly(value) { + return value.isObject() || value.isFunction() || value.isSymbol(); +} +var Reference = /*#__PURE__*/ (function (_super) { + __extends(Reference, _super); + function Reference(envObject, handle_id, initialRefcount, ownership) { + var _this = _super.call(this) || this; + _this.envObject = envObject; + _this._refcount = initialRefcount; + _this._ownership = ownership; + var handle = envObject.ctx.handleStore.get(handle_id); + _this.canBeWeak = canBeHeldWeakly(handle); + _this.persistent = new Persistent(handle.value); + _this.id = 0; + if (initialRefcount === 0) { + _this._setWeak(); + } + return _this; + } + Reference.weakCallback = function (ref) { + ref.persistent.reset(); + ref.invokeFinalizerFromGC(); + }; + Reference.create = function (envObject, handle_id, initialRefcount, ownership, _unused1, _unused2, _unused3) { + var ref = new Reference(envObject, handle_id, initialRefcount, ownership); + envObject.ctx.refStore.add(ref); + ref.link(envObject.reflist); + return ref; + }; + Reference.prototype.ref = function () { + if (this.persistent.isEmpty()) { + return 0; + } + if (++this._refcount === 1 && this.canBeWeak) { + this.persistent.clearWeak(); + } + return this._refcount; + }; + Reference.prototype.unref = function () { + if (this.persistent.isEmpty() || this._refcount === 0) { + return 0; + } + if (--this._refcount === 0) { + this._setWeak(); + } + return this._refcount; + }; + Reference.prototype.get = function (envObject) { + if (envObject === void 0) { envObject = this.envObject; } + if (this.persistent.isEmpty()) { + return 0; + } + var obj = this.persistent.deref(); + var handle = envObject.ensureHandle(obj); + return handle.id; + }; + /** @virtual */ + Reference.prototype.resetFinalizer = function () { }; + /** @virtual */ + Reference.prototype.data = function () { return 0; }; + Reference.prototype.refcount = function () { return this._refcount; }; + Reference.prototype.ownership = function () { return this._ownership; }; + /** @virtual */ + Reference.prototype.callUserFinalizer = function () { }; + /** @virtual */ + Reference.prototype.invokeFinalizerFromGC = function () { + this.finalize(); + }; + Reference.prototype._setWeak = function () { + if (this.canBeWeak) { + this.persistent.setWeak(this, Reference.weakCallback); + } + else { + this.persistent.reset(); + } + }; + Reference.prototype.finalize = function () { + this.persistent.reset(); + var deleteMe = this._ownership === ReferenceOwnership.kRuntime; + this.unlink(); + this.callUserFinalizer(); + if (deleteMe) { + this.dispose(); + } + }; + Reference.prototype.dispose = function () { + if (this.id === 0) + return; + this.unlink(); + this.persistent.reset(); + this.envObject.ctx.refStore.remove(this.id); + _super.prototype.dispose.call(this); + this.envObject = undefined; + this.id = 0; + }; + return Reference; +}(RefTracker)); +var ReferenceWithData = /*#__PURE__*/ (function (_super) { + __extends(ReferenceWithData, _super); + function ReferenceWithData(envObject, value, initialRefcount, ownership, _data) { + var _this = _super.call(this, envObject, value, initialRefcount, ownership) || this; + _this._data = _data; + return _this; + } + ReferenceWithData.create = function (envObject, value, initialRefcount, ownership, data) { + var reference = new ReferenceWithData(envObject, value, initialRefcount, ownership, data); + envObject.ctx.refStore.add(reference); + reference.link(envObject.reflist); + return reference; + }; + ReferenceWithData.prototype.data = function () { + return this._data; + }; + return ReferenceWithData; +}(Reference)); +var ReferenceWithFinalizer = /*#__PURE__*/ (function (_super) { + __extends(ReferenceWithFinalizer, _super); + function ReferenceWithFinalizer(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + var _this = _super.call(this, envObject, value, initialRefcount, ownership) || this; + _this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint); + return _this; + } + ReferenceWithFinalizer.create = function (envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + var reference = new ReferenceWithFinalizer(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint); + envObject.ctx.refStore.add(reference); + reference.link(envObject.finalizing_reflist); + return reference; + }; + ReferenceWithFinalizer.prototype.resetFinalizer = function () { + this._finalizer.resetFinalizer(); + }; + ReferenceWithFinalizer.prototype.data = function () { + return this._finalizer.data(); + }; + ReferenceWithFinalizer.prototype.callUserFinalizer = function () { + this._finalizer.callFinalizer(); + }; + ReferenceWithFinalizer.prototype.invokeFinalizerFromGC = function () { + this._finalizer.envObject.invokeFinalizerFromGC(this); + }; + ReferenceWithFinalizer.prototype.dispose = function () { + if (!this._finalizer) + return; + this._finalizer.envObject.dequeueFinalizer(this); + this._finalizer.dispose(); + _super.prototype.dispose.call(this); + this._finalizer = undefined; + }; + return ReferenceWithFinalizer; +}(Reference)); + +var Deferred = /*#__PURE__*/ (function () { + function Deferred(ctx, value) { + this.id = 0; + this.ctx = ctx; + this.value = value; + } + Deferred.create = function (ctx, value) { + var deferred = new Deferred(ctx, value); + ctx.deferredStore.add(deferred); + return deferred; + }; + Deferred.prototype.resolve = function (value) { + this.value.resolve(value); + this.dispose(); + }; + Deferred.prototype.reject = function (reason) { + this.value.reject(reason); + this.dispose(); + }; + Deferred.prototype.dispose = function () { + this.ctx.deferredStore.remove(this.id); + this.id = 0; + this.value = null; + this.ctx = null; + }; + return Deferred; +}()); + +var Store = /*#__PURE__*/ (function () { + function Store() { + this._values = [undefined]; + this._values.length = 4; + this._size = 1; + this._freeList = []; + } + Store.prototype.add = function (value) { + var id; + if (this._freeList.length) { + id = this._freeList.shift(); + } + else { + id = this._size; + this._size++; + var capacity = this._values.length; + if (id >= capacity) { + this._values.length = capacity + (capacity >> 1) + 16; + } + } + value.id = id; + this._values[id] = value; + }; + Store.prototype.get = function (id) { + return this._values[id]; + }; + Store.prototype.has = function (id) { + return this._values[id] !== undefined; + }; + Store.prototype.remove = function (id) { + var value = this._values[id]; + if (value) { + value.id = 0; + this._values[id] = undefined; + this._freeList.push(Number(id)); + } + }; + Store.prototype.dispose = function () { + for (var i = 1; i < this._size; ++i) { + var value = this._values[i]; + value === null || value === void 0 ? void 0 : value.dispose(); + } + this._values = [undefined]; + this._size = 1; + this._freeList = []; + }; + return Store; +}()); + +var CleanupHookCallback = /*#__PURE__*/ (function () { + function CleanupHookCallback(envObject, fn, arg, order) { + this.envObject = envObject; + this.fn = fn; + this.arg = arg; + this.order = order; + } + return CleanupHookCallback; +}()); +var CleanupQueue = /*#__PURE__*/ (function () { + function CleanupQueue() { + this._cleanupHooks = []; + this._cleanupHookCounter = 0; + } + CleanupQueue.prototype.empty = function () { + return this._cleanupHooks.length === 0; + }; + CleanupQueue.prototype.add = function (envObject, fn, arg) { + if (this._cleanupHooks.filter(function (hook) { return (hook.envObject === envObject && hook.fn === fn && hook.arg === arg); }).length > 0) { + throw new Error('Can not add same fn and arg twice'); + } + this._cleanupHooks.push(new CleanupHookCallback(envObject, fn, arg, this._cleanupHookCounter++)); + }; + CleanupQueue.prototype.remove = function (envObject, fn, arg) { + for (var i = 0; i < this._cleanupHooks.length; ++i) { + var hook = this._cleanupHooks[i]; + if (hook.envObject === envObject && hook.fn === fn && hook.arg === arg) { + this._cleanupHooks.splice(i, 1); + return; + } + } + }; + CleanupQueue.prototype.drain = function () { + var hooks = this._cleanupHooks.slice(); + hooks.sort(function (a, b) { return (b.order - a.order); }); + for (var i = 0; i < hooks.length; ++i) { + var cb = hooks[i]; + if (typeof cb.fn === 'number') { + cb.envObject.makeDynCall_vp(cb.fn)(cb.arg); + } + else { + cb.fn(cb.arg); + } + this._cleanupHooks.splice(this._cleanupHooks.indexOf(cb), 1); + } + }; + CleanupQueue.prototype.dispose = function () { + this._cleanupHooks.length = 0; + this._cleanupHookCounter = 0; + }; + return CleanupQueue; +}()); +var NodejsWaitingRequestCounter = /*#__PURE__*/ (function () { + function NodejsWaitingRequestCounter() { + this.refHandle = new _MessageChannel().port1; + this.count = 0; + } + NodejsWaitingRequestCounter.prototype.increase = function () { + if (this.count === 0) { + if (this.refHandle.ref) { + this.refHandle.ref(); + } + } + this.count++; + }; + NodejsWaitingRequestCounter.prototype.decrease = function () { + if (this.count === 0) + return; + if (this.count === 1) { + if (this.refHandle.unref) { + this.refHandle.unref(); + } + } + this.count--; + }; + return NodejsWaitingRequestCounter; +}()); +var Context = /*#__PURE__*/ (function () { + function Context() { + var _this = this; + this._isStopping = false; + this._canCallIntoJs = true; + this._suppressDestroy = false; + this.envStore = new Store(); + this.scopeStore = new ScopeStore(); + this.refStore = new Store(); + this.deferredStore = new Store(); + this.handleStore = new HandleStore(); + this.feature = { + supportReflect: supportReflect, + supportFinalizer: supportFinalizer, + supportWeakSymbol: supportWeakSymbol, + supportBigInt: supportBigInt, + supportNewFunction: supportNewFunction, + canSetFunctionName: canSetFunctionName, + setImmediate: _setImmediate, + Buffer: _Buffer, + MessageChannel: _MessageChannel + }; + this.cleanupQueue = new CleanupQueue(); + if (typeof process === 'object' && process !== null && typeof process.once === 'function') { + this.refCounter = new NodejsWaitingRequestCounter(); + process.once('beforeExit', function () { + if (!_this._suppressDestroy) { + _this.destroy(); + } + }); + } + } + /** + * Suppress the destroy on `beforeExit` event in Node.js. + * Call this method if you want to keep the context and + * all associated {@link Env | Env} alive, + * this also means that cleanup hooks will not be called. + * After call this method, you should call + * {@link Context.destroy | `Context.prototype.destroy`} method manually. + */ + Context.prototype.suppressDestroy = function () { + this._suppressDestroy = true; + }; + // eslint-disable-next-line @typescript-eslint/explicit-function-return-type + Context.prototype.getRuntimeVersions = function () { + return { + version: version, + NODE_API_SUPPORTED_VERSION_MAX: NODE_API_SUPPORTED_VERSION_MAX, + NAPI_VERSION_EXPERIMENTAL: NAPI_VERSION_EXPERIMENTAL, + NODE_API_DEFAULT_MODULE_API_VERSION: NODE_API_DEFAULT_MODULE_API_VERSION + }; + }; + Context.prototype.createNotSupportWeakRefError = function (api, message) { + return new NotSupportWeakRefError(api, message); + }; + Context.prototype.createNotSupportBufferError = function (api, message) { + return new NotSupportBufferError(api, message); + }; + Context.prototype.createReference = function (envObject, handle_id, initialRefcount, ownership) { + return Reference.create(envObject, handle_id, initialRefcount, ownership); + }; + Context.prototype.createReferenceWithData = function (envObject, handle_id, initialRefcount, ownership, data) { + return ReferenceWithData.create(envObject, handle_id, initialRefcount, ownership, data); + }; + Context.prototype.createReferenceWithFinalizer = function (envObject, handle_id, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + if (finalize_callback === void 0) { finalize_callback = 0; } + if (finalize_data === void 0) { finalize_data = 0; } + if (finalize_hint === void 0) { finalize_hint = 0; } + return ReferenceWithFinalizer.create(envObject, handle_id, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint); + }; + Context.prototype.createDeferred = function (value) { + return Deferred.create(this, value); + }; + Context.prototype.createEnv = function (filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + return newEnv(this, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding); + }; + Context.prototype.createTrackedFinalizer = function (envObject, finalize_callback, finalize_data, finalize_hint) { + return TrackedFinalizer.create(envObject, finalize_callback, finalize_data, finalize_hint); + }; + Context.prototype.getCurrentScope = function () { + return this.scopeStore.currentScope; + }; + Context.prototype.addToCurrentScope = function (value) { + return this.scopeStore.currentScope.add(value); + }; + Context.prototype.openScope = function (envObject) { + var scope = this.scopeStore.openScope(this.handleStore); + if (envObject) + envObject.openHandleScopes++; + return scope; + }; + Context.prototype.closeScope = function (envObject, _scope) { + if (envObject && envObject.openHandleScopes === 0) + return; + this.scopeStore.closeScope(); + if (envObject) + envObject.openHandleScopes--; + }; + Context.prototype.ensureHandle = function (value) { + switch (value) { + case undefined: return HandleStore.UNDEFINED; + case null: return HandleStore.NULL; + case true: return HandleStore.TRUE; + case false: return HandleStore.FALSE; + case _global: return HandleStore.GLOBAL; + } + return this.addToCurrentScope(value); + }; + Context.prototype.addCleanupHook = function (envObject, fn, arg) { + this.cleanupQueue.add(envObject, fn, arg); + }; + Context.prototype.removeCleanupHook = function (envObject, fn, arg) { + this.cleanupQueue.remove(envObject, fn, arg); + }; + Context.prototype.runCleanup = function () { + while (!this.cleanupQueue.empty()) { + this.cleanupQueue.drain(); + } + }; + Context.prototype.increaseWaitingRequestCounter = function () { + var _a; + (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.increase(); + }; + Context.prototype.decreaseWaitingRequestCounter = function () { + var _a; + (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.decrease(); + }; + Context.prototype.setCanCallIntoJs = function (value) { + this._canCallIntoJs = value; + }; + Context.prototype.setStopping = function (value) { + this._isStopping = value; + }; + Context.prototype.canCallIntoJs = function () { + return this._canCallIntoJs && !this._isStopping; + }; + /** + * Destroy the context and call cleanup hooks. + * Associated {@link Env | Env} will be destroyed. + */ + Context.prototype.destroy = function () { + this.setStopping(true); + this.setCanCallIntoJs(false); + this.runCleanup(); + }; + return Context; +}()); +var defaultContext; +function createContext() { + return new Context(); +} +function getDefaultContext() { + if (!defaultContext) { + defaultContext = createContext(); + } + return defaultContext; +} + +export { ConstHandle, Context, Deferred, EmnapiError, Env, External, Finalizer, Handle, HandleScope, HandleStore, NAPI_VERSION_EXPERIMENTAL, NODE_API_DEFAULT_MODULE_API_VERSION, NODE_API_SUPPORTED_VERSION_MAX, NODE_API_SUPPORTED_VERSION_MIN, NodeEnv, NotSupportBufferError, NotSupportWeakRefError, Persistent, RefTracker, Reference, ReferenceOwnership, ReferenceWithData, ReferenceWithFinalizer, ScopeStore, Store, TrackedFinalizer, TryCatch, createContext, getDefaultContext, getExternalValue, isExternal, isReferenceType, version }; diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.iife.d.ts b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.iife.d.ts new file mode 100644 index 000000000..7c53f4975 --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.iife.d.ts @@ -0,0 +1,420 @@ +declare namespace emnapi { + +export type CleanupHookCallbackFunction = number | ((arg: number) => void); + +export class ConstHandle extends Handle { + constructor(id: number, value: S); + dispose(): void; +} + +export class Context { + private _isStopping; + private _canCallIntoJs; + private _suppressDestroy; + envStore: Store; + scopeStore: ScopeStore; + refStore: Store; + deferredStore: Store>; + handleStore: HandleStore; + private readonly refCounter?; + private readonly cleanupQueue; + feature: { + supportReflect: boolean; + supportFinalizer: boolean; + supportWeakSymbol: boolean; + supportBigInt: boolean; + supportNewFunction: boolean; + canSetFunctionName: boolean; + setImmediate: (callback: () => void) => void; + Buffer: BufferCtor | undefined; + MessageChannel: { + new (): MessageChannel; + prototype: MessageChannel; + } | undefined; + }; + constructor(); + /** + * Suppress the destroy on `beforeExit` event in Node.js. + * Call this method if you want to keep the context and + * all associated {@link Env | Env} alive, + * this also means that cleanup hooks will not be called. + * After call this method, you should call + * {@link Context.destroy | `Context.prototype.destroy`} method manually. + */ + suppressDestroy(): void; + getRuntimeVersions(): { + version: string; + NODE_API_SUPPORTED_VERSION_MAX: Version; + NAPI_VERSION_EXPERIMENTAL: Version; + NODE_API_DEFAULT_MODULE_API_VERSION: Version; + }; + createNotSupportWeakRefError(api: string, message: string): NotSupportWeakRefError; + createNotSupportBufferError(api: string, message: string): NotSupportBufferError; + createReference(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership): Reference; + createReferenceWithData(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): Reference; + createReferenceWithFinalizer(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback?: napi_finalize, finalize_data?: void_p, finalize_hint?: void_p): Reference; + createDeferred(value: IDeferrdValue): Deferred; + createEnv(filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any): Env; + createTrackedFinalizer(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer; + getCurrentScope(): HandleScope | null; + addToCurrentScope(value: V): Handle; + openScope(envObject?: Env): HandleScope; + closeScope(envObject?: Env, _scope?: HandleScope): void; + ensureHandle(value: S): Handle; + addCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void; + removeCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void; + runCleanup(): void; + increaseWaitingRequestCounter(): void; + decreaseWaitingRequestCounter(): void; + setCanCallIntoJs(value: boolean): void; + setStopping(value: boolean): void; + canCallIntoJs(): boolean; + /** + * Destroy the context and call cleanup hooks. + * Associated {@link Env | Env} will be destroyed. + */ + destroy(): void; +} + +export function createContext(): Context; + +export class Deferred implements IStoreValue { + static create(ctx: Context, value: IDeferrdValue): Deferred; + id: number; + ctx: Context; + value: IDeferrdValue; + constructor(ctx: Context, value: IDeferrdValue); + resolve(value: T): void; + reject(reason?: any): void; + dispose(): void; +} + +export class EmnapiError extends Error { + constructor(message?: string); +} + +export abstract class Env implements IStoreValue { + readonly ctx: Context; + moduleApiVersion: number; + makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void; + makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void; + abort: (msg?: string) => never; + id: number; + openHandleScopes: number; + instanceData: TrackedFinalizer | null; + tryCatch: TryCatch; + refs: number; + reflist: RefTracker; + finalizing_reflist: RefTracker; + pendingFinalizers: RefTracker[]; + lastError: { + errorCode: napi_status; + engineErrorCode: number; + engineReserved: Ptr; + }; + inGcFinalizer: boolean; + constructor(ctx: Context, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never); + /** @virtual */ + canCallIntoJs(): boolean; + terminatedOrTerminating(): boolean; + ref(): void; + unref(): void; + ensureHandle(value: S): Handle; + ensureHandleId(value: any): napi_value; + clearLastError(): napi_status; + setLastError(error_code: napi_status, engine_error_code?: uint32_t, engine_reserved?: void_p): napi_status; + getReturnStatus(): napi_status; + callIntoModule(fn: (env: Env) => T, handleException?: (envObject: Env, value: any) => void): T; + /** @virtual */ + abstract callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void; + invokeFinalizerFromGC(finalizer: RefTracker): void; + checkGCAccess(): void; + /** @virtual */ + enqueueFinalizer(finalizer: RefTracker): void; + /** @virtual */ + dequeueFinalizer(finalizer: RefTracker): void; + /** @virtual */ + deleteMe(): void; + dispose(): void; + private readonly _bindingMap; + initObjectBinding(value: S): IReferenceBinding; + getObjectBinding(value: S): IReferenceBinding; + setInstanceData(data: number, finalize_cb: number, finalize_hint: number): void; + getInstanceData(): number; +} + +/** @public */ +interface External_2 extends Record { +} + +/** @public */ +const External_2: { + new (value: number | bigint): External_2; + prototype: null; +}; +export { External_2 as External } + +export class Finalizer { + envObject: Env; + private _finalizeCallback; + private _finalizeData; + private _finalizeHint; + private _makeDynCall_vppp; + constructor(envObject: Env, _finalizeCallback?: napi_finalize, _finalizeData?: void_p, _finalizeHint?: void_p); + callback(): napi_finalize; + data(): void_p; + hint(): void_p; + resetEnv(): void; + resetFinalizer(): void; + callFinalizer(): void; + dispose(): void; +} + +export function getDefaultContext(): Context; + +/** @public */ +export function getExternalValue(external: External_2): number | bigint; + +export class Handle { + id: number; + value: S; + constructor(id: number, value: S); + data(): void_p; + isNumber(): boolean; + isBigInt(): boolean; + isString(): boolean; + isFunction(): boolean; + isExternal(): boolean; + isObject(): boolean; + isArray(): boolean; + isArrayBuffer(): boolean; + isTypedArray(): boolean; + isBuffer(BufferConstructor?: BufferCtor): boolean; + isDataView(): boolean; + isDate(): boolean; + isPromise(): boolean; + isBoolean(): boolean; + isUndefined(): boolean; + isSymbol(): boolean; + isNull(): boolean; + dispose(): void; +} + +export class HandleScope { + handleStore: HandleStore; + id: number; + parent: HandleScope | null; + child: HandleScope | null; + start: number; + end: number; + private _escapeCalled; + callbackInfo: ICallbackInfo; + constructor(handleStore: HandleStore, id: number, parentScope: HandleScope | null, start: number, end?: number); + add(value: V): Handle; + addExternal(data: void_p): Handle; + dispose(): void; + escape(handle: number): Handle | null; + escapeCalled(): boolean; +} + +export class HandleStore { + static UNDEFINED: ConstHandle; + static NULL: ConstHandle; + static FALSE: ConstHandle; + static TRUE: ConstHandle; + static GLOBAL: ConstHandle; + static MIN_ID: 6; + private readonly _values; + private _next; + push(value: S): Handle; + erase(start: number, end: number): void; + get(id: Ptr): Handle | undefined; + swap(a: number, b: number): void; + dispose(): void; +} + +export interface ICallbackInfo { + thiz: any; + data: void_p; + args: ArrayLike; + fn: Function; +} + +export interface IDeferrdValue { + resolve: (value: T) => void; + reject: (reason?: any) => void; +} + +export interface IReferenceBinding { + wrapped: number; + tag: Uint32Array | null; +} + +/** @public */ +export function isExternal(object: unknown): object is External_2; + +export function isReferenceType(v: any): v is object; + +export interface IStoreValue { + id: number; + dispose(): void; + [x: string]: any; +} + +export const NAPI_VERSION_EXPERIMENTAL = Version.NAPI_VERSION_EXPERIMENTAL; + +export const NODE_API_DEFAULT_MODULE_API_VERSION = Version.NODE_API_DEFAULT_MODULE_API_VERSION; + +export const NODE_API_SUPPORTED_VERSION_MAX = Version.NODE_API_SUPPORTED_VERSION_MAX; + +export const NODE_API_SUPPORTED_VERSION_MIN = Version.NODE_API_SUPPORTED_VERSION_MIN; + +export class NodeEnv extends Env { + filename: string; + private readonly nodeBinding?; + destructing: boolean; + finalizationScheduled: boolean; + constructor(ctx: Context, filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any); + deleteMe(): void; + canCallIntoJs(): boolean; + triggerFatalException(err: any): void; + callbackIntoModule(enforceUncaughtExceptionPolicy: boolean, fn: (env: Env) => T): T; + callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void; + callFinalizerInternal(forceUncaught: int, cb: napi_finalize, data: void_p, hint: void_p): void; + enqueueFinalizer(finalizer: RefTracker): void; + drainFinalizerQueue(): void; +} + +export class NotSupportBufferError extends EmnapiError { + constructor(api: string, message: string); +} + +export class NotSupportWeakRefError extends EmnapiError { + constructor(api: string, message: string); +} + +export class Persistent { + private _ref; + private _param; + private _callback; + private static readonly _registry; + constructor(value: T); + setWeak

(param: P, callback: (param: P) => void): void; + clearWeak(): void; + reset(): void; + isEmpty(): boolean; + deref(): T | undefined; +} + +export class Reference extends RefTracker implements IStoreValue { + private static weakCallback; + id: number; + envObject: Env; + private readonly canBeWeak; + private _refcount; + private readonly _ownership; + persistent: Persistent; + static create(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, _unused1?: void_p, _unused2?: void_p, _unused3?: void_p): Reference; + protected constructor(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership); + ref(): number; + unref(): number; + get(envObject?: Env): napi_value; + /** @virtual */ + resetFinalizer(): void; + /** @virtual */ + data(): void_p; + refcount(): number; + ownership(): ReferenceOwnership; + /** @virtual */ + protected callUserFinalizer(): void; + /** @virtual */ + protected invokeFinalizerFromGC(): void; + private _setWeak; + finalize(): void; + dispose(): void; +} + +export enum ReferenceOwnership { + kRuntime = 0, + kUserland = 1 +} + +export class ReferenceWithData extends Reference { + private readonly _data; + static create(envObject: Env, value: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): ReferenceWithData; + private constructor(); + data(): void_p; +} + +export class ReferenceWithFinalizer extends Reference { + private _finalizer; + static create(envObject: Env, value: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): ReferenceWithFinalizer; + private constructor(); + resetFinalizer(): void; + data(): void_p; + protected callUserFinalizer(): void; + protected invokeFinalizerFromGC(): void; + dispose(): void; +} + +export class RefTracker { + /** @virtual */ + dispose(): void; + /** @virtual */ + finalize(): void; + private _next; + private _prev; + link(list: RefTracker): void; + unlink(): void; + static finalizeAll(list: RefTracker): void; +} + +export class ScopeStore { + private readonly _rootScope; + currentScope: HandleScope; + private readonly _values; + constructor(); + get(id: number): HandleScope | undefined; + openScope(handleStore: HandleStore): HandleScope; + closeScope(): void; + dispose(): void; +} + +export class Store { + protected _values: Array; + private _freeList; + private _size; + constructor(); + add(value: V): void; + get(id: Ptr): V | undefined; + has(id: Ptr): boolean; + remove(id: Ptr): void; + dispose(): void; +} + +export class TrackedFinalizer extends RefTracker { + private _finalizer; + static create(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer; + private constructor(); + data(): void_p; + dispose(): void; + finalize(): void; +} + +export class TryCatch { + private _exception; + private _caught; + isEmpty(): boolean; + hasCaught(): boolean; + exception(): any; + setError(err: any): void; + reset(): void; + extractException(): any; +} + +export const version: string; + + + + +} \ No newline at end of file diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.iife.js b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.iife.js new file mode 100644 index 000000000..c78dec0d8 --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.iife.js @@ -0,0 +1,1481 @@ +var emnapi = (function (exports) { + + /****************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + /* global Reflect, Promise, SuppressedError, Symbol, Iterator */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + + typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; + }; + + var externalValue = new WeakMap(); + /** @public */ + function isExternal(object) { + return externalValue.has(object); + } + /** @public */ // eslint-disable-next-line @typescript-eslint/no-redeclare + var External = (function () { + function External(value) { + Object.setPrototypeOf(this, null); + externalValue.set(this, value); + } + External.prototype = null; + return External; + })(); + /** @public */ + function getExternalValue(external) { + if (!isExternal(external)) { + throw new TypeError('not external'); + } + return externalValue.get(external); + } + + var supportNewFunction = /*#__PURE__*/ (function () { + var f; + try { + f = new Function(); + } + catch (_) { + return false; + } + return typeof f === 'function'; + })(); + var _global = /*#__PURE__*/ (function () { + if (typeof globalThis !== 'undefined') + return globalThis; + var g = (function () { return this; })(); + if (!g && supportNewFunction) { + try { + g = new Function('return this')(); + } + catch (_) { } + } + if (!g) { + if (typeof __webpack_public_path__ === 'undefined') { + if (typeof global !== 'undefined') + return global; + } + if (typeof window !== 'undefined') + return window; + if (typeof self !== 'undefined') + return self; + } + return g; + })(); + var TryCatch = /*#__PURE__*/ (function () { + function TryCatch() { + this._exception = undefined; + this._caught = false; + } + TryCatch.prototype.isEmpty = function () { + return !this._caught; + }; + TryCatch.prototype.hasCaught = function () { + return this._caught; + }; + TryCatch.prototype.exception = function () { + return this._exception; + }; + TryCatch.prototype.setError = function (err) { + this._caught = true; + this._exception = err; + }; + TryCatch.prototype.reset = function () { + this._caught = false; + this._exception = undefined; + }; + TryCatch.prototype.extractException = function () { + var e = this._exception; + this.reset(); + return e; + }; + return TryCatch; + }()); + var canSetFunctionName = /*#__PURE__*/ (function () { + var _a; + try { + return Boolean((_a = Object.getOwnPropertyDescriptor(Function.prototype, 'name')) === null || _a === void 0 ? void 0 : _a.configurable); + } + catch (_) { + return false; + } + })(); + var supportReflect = typeof Reflect === 'object'; + var supportFinalizer = (typeof FinalizationRegistry !== 'undefined') && (typeof WeakRef !== 'undefined'); + var supportWeakSymbol = /*#__PURE__*/ (function () { + try { + // eslint-disable-next-line symbol-description + var sym = Symbol(); + // eslint-disable-next-line no-new + new WeakRef(sym); + new WeakMap().set(sym, undefined); + } + catch (_) { + return false; + } + return true; + })(); + var supportBigInt = typeof BigInt !== 'undefined'; + function isReferenceType(v) { + return (typeof v === 'object' && v !== null) || typeof v === 'function'; + } + var _require = /*#__PURE__*/ (function () { + var nativeRequire; + if (typeof __webpack_public_path__ !== 'undefined') { + nativeRequire = (function () { + return typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined; + })(); + } + else { + nativeRequire = (function () { + return typeof __webpack_public_path__ !== 'undefined' ? (typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined) : (typeof require !== 'undefined' ? require : undefined); + })(); + } + return nativeRequire; + })(); + var _MessageChannel = typeof MessageChannel === 'function' + ? MessageChannel + : /*#__PURE__*/ (function () { + try { + return _require('worker_threads').MessageChannel; + } + catch (_) { } + return undefined; + })(); + var _setImmediate = typeof setImmediate === 'function' + ? setImmediate + : function (callback) { + if (typeof callback !== 'function') { + throw new TypeError('The "callback" argument must be of type function'); + } + if (_MessageChannel) { + var channel_1 = new _MessageChannel(); + channel_1.port1.onmessage = function () { + channel_1.port1.onmessage = null; + channel_1 = undefined; + callback(); + }; + channel_1.port2.postMessage(null); + } + else { + setTimeout(callback, 0); + } + }; + var _Buffer = typeof Buffer === 'function' + ? Buffer + : /*#__PURE__*/ (function () { + try { + return _require('buffer').Buffer; + } + catch (_) { } + return undefined; + })(); + var version = "1.8.1"; + var NODE_API_SUPPORTED_VERSION_MIN = 1 /* Version.NODE_API_SUPPORTED_VERSION_MIN */; + var NODE_API_SUPPORTED_VERSION_MAX = 10 /* Version.NODE_API_SUPPORTED_VERSION_MAX */; + var NAPI_VERSION_EXPERIMENTAL = 2147483647 /* Version.NAPI_VERSION_EXPERIMENTAL */; + var NODE_API_DEFAULT_MODULE_API_VERSION = 8 /* Version.NODE_API_DEFAULT_MODULE_API_VERSION */; + + var Handle = /*#__PURE__*/ (function () { + function Handle(id, value) { + this.id = id; + this.value = value; + } + Handle.prototype.data = function () { + return getExternalValue(this.value); + }; + Handle.prototype.isNumber = function () { + return typeof this.value === 'number'; + }; + Handle.prototype.isBigInt = function () { + return typeof this.value === 'bigint'; + }; + Handle.prototype.isString = function () { + return typeof this.value === 'string'; + }; + Handle.prototype.isFunction = function () { + return typeof this.value === 'function'; + }; + Handle.prototype.isExternal = function () { + return isExternal(this.value); + }; + Handle.prototype.isObject = function () { + return typeof this.value === 'object' && this.value !== null; + }; + Handle.prototype.isArray = function () { + return Array.isArray(this.value); + }; + Handle.prototype.isArrayBuffer = function () { + return (this.value instanceof ArrayBuffer); + }; + Handle.prototype.isTypedArray = function () { + return (ArrayBuffer.isView(this.value)) && !(this.value instanceof DataView); + }; + Handle.prototype.isBuffer = function (BufferConstructor) { + if (ArrayBuffer.isView(this.value)) + return true; + BufferConstructor !== null && BufferConstructor !== void 0 ? BufferConstructor : (BufferConstructor = _Buffer); + return typeof BufferConstructor === 'function' && BufferConstructor.isBuffer(this.value); + }; + Handle.prototype.isDataView = function () { + return (this.value instanceof DataView); + }; + Handle.prototype.isDate = function () { + return (this.value instanceof Date); + }; + Handle.prototype.isPromise = function () { + return (this.value instanceof Promise); + }; + Handle.prototype.isBoolean = function () { + return typeof this.value === 'boolean'; + }; + Handle.prototype.isUndefined = function () { + return this.value === undefined; + }; + Handle.prototype.isSymbol = function () { + return typeof this.value === 'symbol'; + }; + Handle.prototype.isNull = function () { + return this.value === null; + }; + Handle.prototype.dispose = function () { + this.value = undefined; + }; + return Handle; + }()); + var ConstHandle = /*#__PURE__*/ (function (_super) { + __extends(ConstHandle, _super); + function ConstHandle(id, value) { + return _super.call(this, id, value) || this; + } + ConstHandle.prototype.dispose = function () { }; + return ConstHandle; + }(Handle)); + var HandleStore = /*#__PURE__*/ (function () { + function HandleStore() { + this._values = [ + undefined, + HandleStore.UNDEFINED, + HandleStore.NULL, + HandleStore.FALSE, + HandleStore.TRUE, + HandleStore.GLOBAL + ]; + this._next = HandleStore.MIN_ID; + } + HandleStore.prototype.push = function (value) { + var h; + var next = this._next; + var values = this._values; + if (next < values.length) { + h = values[next]; + h.value = value; + } + else { + h = new Handle(next, value); + values[next] = h; + } + this._next++; + return h; + }; + HandleStore.prototype.erase = function (start, end) { + this._next = start; + var values = this._values; + for (var i = start; i < end; ++i) { + values[i].dispose(); + } + }; + HandleStore.prototype.get = function (id) { + return this._values[id]; + }; + HandleStore.prototype.swap = function (a, b) { + var values = this._values; + var h = values[a]; + values[a] = values[b]; + values[a].id = Number(a); + values[b] = h; + h.id = Number(b); + }; + HandleStore.prototype.dispose = function () { + this._values.length = HandleStore.MIN_ID; + this._next = HandleStore.MIN_ID; + }; + HandleStore.UNDEFINED = new ConstHandle(1 /* GlobalHandle.UNDEFINED */, undefined); + HandleStore.NULL = new ConstHandle(2 /* GlobalHandle.NULL */, null); + HandleStore.FALSE = new ConstHandle(3 /* GlobalHandle.FALSE */, false); + HandleStore.TRUE = new ConstHandle(4 /* GlobalHandle.TRUE */, true); + HandleStore.GLOBAL = new ConstHandle(5 /* GlobalHandle.GLOBAL */, _global); + HandleStore.MIN_ID = 6; + return HandleStore; + }()); + + var HandleScope = /*#__PURE__*/ (function () { + function HandleScope(handleStore, id, parentScope, start, end) { + if (end === void 0) { end = start; } + this.handleStore = handleStore; + this.id = id; + this.parent = parentScope; + this.child = null; + if (parentScope !== null) + parentScope.child = this; + this.start = start; + this.end = end; + this._escapeCalled = false; + this.callbackInfo = { + thiz: undefined, + data: 0, + args: undefined, + fn: undefined + }; + } + HandleScope.prototype.add = function (value) { + var h = this.handleStore.push(value); + this.end++; + return h; + }; + HandleScope.prototype.addExternal = function (data) { + return this.add(new External(data)); + }; + HandleScope.prototype.dispose = function () { + if (this._escapeCalled) + this._escapeCalled = false; + if (this.start === this.end) + return; + this.handleStore.erase(this.start, this.end); + }; + HandleScope.prototype.escape = function (handle) { + if (this._escapeCalled) + return null; + this._escapeCalled = true; + if (handle < this.start || handle >= this.end) { + return null; + } + this.handleStore.swap(handle, this.start); + var h = this.handleStore.get(this.start); + this.start++; + this.parent.end++; + return h; + }; + HandleScope.prototype.escapeCalled = function () { + return this._escapeCalled; + }; + return HandleScope; + }()); + + var ScopeStore = /*#__PURE__*/ (function () { + function ScopeStore() { + this._rootScope = new HandleScope(null, 0, null, 1, HandleStore.MIN_ID); + this.currentScope = this._rootScope; + this._values = [undefined]; + } + ScopeStore.prototype.get = function (id) { + return this._values[id]; + }; + ScopeStore.prototype.openScope = function (handleStore) { + var currentScope = this.currentScope; + var scope = currentScope.child; + if (scope !== null) { + scope.start = scope.end = currentScope.end; + } + else { + var id = currentScope.id + 1; + scope = new HandleScope(handleStore, id, currentScope, currentScope.end); + this._values[id] = scope; + } + this.currentScope = scope; + return scope; + }; + ScopeStore.prototype.closeScope = function () { + var scope = this.currentScope; + this.currentScope = scope.parent; + scope.dispose(); + }; + ScopeStore.prototype.dispose = function () { + this.currentScope = this._rootScope; + this._values.length = 1; + }; + return ScopeStore; + }()); + + var RefTracker = /*#__PURE__*/ (function () { + function RefTracker() { + this._next = null; + this._prev = null; + } + /** @virtual */ + RefTracker.prototype.dispose = function () { }; + /** @virtual */ + RefTracker.prototype.finalize = function () { }; + RefTracker.prototype.link = function (list) { + this._prev = list; + this._next = list._next; + if (this._next !== null) { + this._next._prev = this; + } + list._next = this; + }; + RefTracker.prototype.unlink = function () { + if (this._prev !== null) { + this._prev._next = this._next; + } + if (this._next !== null) { + this._next._prev = this._prev; + } + this._prev = null; + this._next = null; + }; + RefTracker.finalizeAll = function (list) { + while (list._next !== null) { + list._next.finalize(); + } + }; + return RefTracker; + }()); + + var Finalizer = /*#__PURE__*/ (function () { + function Finalizer(envObject, _finalizeCallback, _finalizeData, _finalizeHint) { + if (_finalizeCallback === void 0) { _finalizeCallback = 0; } + if (_finalizeData === void 0) { _finalizeData = 0; } + if (_finalizeHint === void 0) { _finalizeHint = 0; } + this.envObject = envObject; + this._finalizeCallback = _finalizeCallback; + this._finalizeData = _finalizeData; + this._finalizeHint = _finalizeHint; + this._makeDynCall_vppp = envObject.makeDynCall_vppp; + } + Finalizer.prototype.callback = function () { return this._finalizeCallback; }; + Finalizer.prototype.data = function () { return this._finalizeData; }; + Finalizer.prototype.hint = function () { return this._finalizeHint; }; + Finalizer.prototype.resetEnv = function () { + this.envObject = undefined; + }; + Finalizer.prototype.resetFinalizer = function () { + this._finalizeCallback = 0; + this._finalizeData = 0; + this._finalizeHint = 0; + }; + Finalizer.prototype.callFinalizer = function () { + var finalize_callback = this._finalizeCallback; + var finalize_data = this._finalizeData; + var finalize_hint = this._finalizeHint; + this.resetFinalizer(); + if (!finalize_callback) + return; + var fini = Number(finalize_callback); + if (!this.envObject) { + this._makeDynCall_vppp(fini)(0, finalize_data, finalize_hint); + } + else { + this.envObject.callFinalizer(fini, finalize_data, finalize_hint); + } + }; + Finalizer.prototype.dispose = function () { + this.envObject = undefined; + this._makeDynCall_vppp = undefined; + }; + return Finalizer; + }()); + + var TrackedFinalizer = /*#__PURE__*/ (function (_super) { + __extends(TrackedFinalizer, _super); + function TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint) { + var _this = _super.call(this) || this; + _this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint); + return _this; + } + TrackedFinalizer.create = function (envObject, finalize_callback, finalize_data, finalize_hint) { + var finalizer = new TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint); + finalizer.link(envObject.finalizing_reflist); + return finalizer; + }; + TrackedFinalizer.prototype.data = function () { + return this._finalizer.data(); + }; + TrackedFinalizer.prototype.dispose = function () { + if (!this._finalizer) + return; + this.unlink(); + this._finalizer.envObject.dequeueFinalizer(this); + this._finalizer.dispose(); + this._finalizer = undefined; + _super.prototype.dispose.call(this); + }; + TrackedFinalizer.prototype.finalize = function () { + this.unlink(); + var error; + var caught = false; + try { + this._finalizer.callFinalizer(); + } + catch (err) { + caught = true; + error = err; + } + this.dispose(); + if (caught) { + throw error; + } + }; + return TrackedFinalizer; + }(RefTracker)); + + function throwNodeApiVersionError(moduleName, moduleApiVersion) { + var errorMessage = "".concat(moduleName, " requires Node-API version ").concat(moduleApiVersion, ", but this version of Node.js only supports version ").concat(NODE_API_SUPPORTED_VERSION_MAX, " add-ons."); + throw new Error(errorMessage); + } + function handleThrow(envObject, value) { + if (envObject.terminatedOrTerminating()) { + return; + } + throw value; + } + var Env = /*#__PURE__*/ (function () { + function Env(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort) { + this.ctx = ctx; + this.moduleApiVersion = moduleApiVersion; + this.makeDynCall_vppp = makeDynCall_vppp; + this.makeDynCall_vp = makeDynCall_vp; + this.abort = abort; + this.openHandleScopes = 0; + this.instanceData = null; + this.tryCatch = new TryCatch(); + this.refs = 1; + this.reflist = new RefTracker(); + this.finalizing_reflist = new RefTracker(); + this.pendingFinalizers = []; + this.lastError = { + errorCode: 0 /* napi_status.napi_ok */, + engineErrorCode: 0, + engineReserved: 0 + }; + this.inGcFinalizer = false; + this._bindingMap = new WeakMap(); + this.id = 0; + } + /** @virtual */ + Env.prototype.canCallIntoJs = function () { + return true; + }; + Env.prototype.terminatedOrTerminating = function () { + return !this.canCallIntoJs(); + }; + Env.prototype.ref = function () { + this.refs++; + }; + Env.prototype.unref = function () { + this.refs--; + if (this.refs === 0) { + this.dispose(); + } + }; + Env.prototype.ensureHandle = function (value) { + return this.ctx.ensureHandle(value); + }; + Env.prototype.ensureHandleId = function (value) { + return this.ensureHandle(value).id; + }; + Env.prototype.clearLastError = function () { + var lastError = this.lastError; + if (lastError.errorCode !== 0 /* napi_status.napi_ok */) + lastError.errorCode = 0 /* napi_status.napi_ok */; + if (lastError.engineErrorCode !== 0) + lastError.engineErrorCode = 0; + if (lastError.engineReserved !== 0) + lastError.engineReserved = 0; + return 0 /* napi_status.napi_ok */; + }; + Env.prototype.setLastError = function (error_code, engine_error_code, engine_reserved) { + if (engine_error_code === void 0) { engine_error_code = 0; } + if (engine_reserved === void 0) { engine_reserved = 0; } + var lastError = this.lastError; + if (lastError.errorCode !== error_code) + lastError.errorCode = error_code; + if (lastError.engineErrorCode !== engine_error_code) + lastError.engineErrorCode = engine_error_code; + if (lastError.engineReserved !== engine_reserved) + lastError.engineReserved = engine_reserved; + return error_code; + }; + Env.prototype.getReturnStatus = function () { + return !this.tryCatch.hasCaught() ? 0 /* napi_status.napi_ok */ : this.setLastError(10 /* napi_status.napi_pending_exception */); + }; + Env.prototype.callIntoModule = function (fn, handleException) { + if (handleException === void 0) { handleException = handleThrow; } + var openHandleScopesBefore = this.openHandleScopes; + this.clearLastError(); + var r = fn(this); + if (openHandleScopesBefore !== this.openHandleScopes) { + this.abort('open_handle_scopes != open_handle_scopes_before'); + } + if (this.tryCatch.hasCaught()) { + var err = this.tryCatch.extractException(); + handleException(this, err); + } + return r; + }; + Env.prototype.invokeFinalizerFromGC = function (finalizer) { + if (this.moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) { + this.enqueueFinalizer(finalizer); + } + else { + var saved = this.inGcFinalizer; + this.inGcFinalizer = true; + try { + finalizer.finalize(); + } + finally { + this.inGcFinalizer = saved; + } + } + }; + Env.prototype.checkGCAccess = function () { + if (this.moduleApiVersion === NAPI_VERSION_EXPERIMENTAL && this.inGcFinalizer) { + this.abort('Finalizer is calling a function that may affect GC state.\n' + + 'The finalizers are run directly from GC and must not affect GC ' + + 'state.\n' + + 'Use `node_api_post_finalizer` from inside of the finalizer to work ' + + 'around this issue.\n' + + 'It schedules the call as a new task in the event loop.'); + } + }; + /** @virtual */ + Env.prototype.enqueueFinalizer = function (finalizer) { + if (this.pendingFinalizers.indexOf(finalizer) === -1) { + this.pendingFinalizers.push(finalizer); + } + }; + /** @virtual */ + Env.prototype.dequeueFinalizer = function (finalizer) { + var index = this.pendingFinalizers.indexOf(finalizer); + if (index !== -1) { + this.pendingFinalizers.splice(index, 1); + } + }; + /** @virtual */ + Env.prototype.deleteMe = function () { + RefTracker.finalizeAll(this.finalizing_reflist); + RefTracker.finalizeAll(this.reflist); + this.tryCatch.extractException(); + this.ctx.envStore.remove(this.id); + }; + Env.prototype.dispose = function () { + if (this.id === 0) + return; + this.deleteMe(); + this.finalizing_reflist.dispose(); + this.reflist.dispose(); + this.id = 0; + }; + Env.prototype.initObjectBinding = function (value) { + var binding = { + wrapped: 0, + tag: null + }; + this._bindingMap.set(value, binding); + return binding; + }; + Env.prototype.getObjectBinding = function (value) { + if (this._bindingMap.has(value)) { + return this._bindingMap.get(value); + } + return this.initObjectBinding(value); + }; + Env.prototype.setInstanceData = function (data, finalize_cb, finalize_hint) { + if (this.instanceData) { + this.instanceData.dispose(); + } + this.instanceData = TrackedFinalizer.create(this, finalize_cb, data, finalize_hint); + }; + Env.prototype.getInstanceData = function () { + return this.instanceData ? this.instanceData.data() : 0; + }; + return Env; + }()); + var NodeEnv = /*#__PURE__*/ (function (_super) { + __extends(NodeEnv, _super); + function NodeEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + var _this = _super.call(this, ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort) || this; + _this.filename = filename; + _this.nodeBinding = nodeBinding; + _this.destructing = false; + _this.finalizationScheduled = false; + return _this; + } + NodeEnv.prototype.deleteMe = function () { + this.destructing = true; + this.drainFinalizerQueue(); + _super.prototype.deleteMe.call(this); + }; + NodeEnv.prototype.canCallIntoJs = function () { + return _super.prototype.canCallIntoJs.call(this) && this.ctx.canCallIntoJs(); + }; + NodeEnv.prototype.triggerFatalException = function (err) { + if (this.nodeBinding) { + this.nodeBinding.napi.fatalException(err); + } + else { + if (typeof process === 'object' && process !== null && typeof process._fatalException === 'function') { + var handled = process._fatalException(err); + if (!handled) { + console.error(err); + process.exit(1); + } + } + else { + throw err; + } + } + }; + NodeEnv.prototype.callbackIntoModule = function (enforceUncaughtExceptionPolicy, fn) { + return this.callIntoModule(fn, function (envObject, err) { + if (envObject.terminatedOrTerminating()) { + return; + } + var hasProcess = typeof process === 'object' && process !== null; + var hasForceFlag = hasProcess ? Boolean(process.execArgv && (process.execArgv.indexOf('--force-node-api-uncaught-exceptions-policy') !== -1)) : false; + if (envObject.moduleApiVersion < 10 && !hasForceFlag && !enforceUncaughtExceptionPolicy) { + var warn = hasProcess && typeof process.emitWarning === 'function' + ? process.emitWarning + : function (warning, type, code) { + if (warning instanceof Error) { + console.warn(warning.toString()); + } + else { + var prefix = code ? "[".concat(code, "] ") : ''; + // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing + console.warn("".concat(prefix).concat(type || 'Warning', ": ").concat(warning)); + } + }; + warn('Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.', 'DeprecationWarning', 'DEP0168'); + return; + } + envObject.triggerFatalException(err); + }); + }; + NodeEnv.prototype.callFinalizer = function (cb, data, hint) { + this.callFinalizerInternal(1, cb, data, hint); + }; + NodeEnv.prototype.callFinalizerInternal = function (forceUncaught, cb, data, hint) { + var f = this.makeDynCall_vppp(cb); + var env = this.id; + var scope = this.ctx.openScope(this); + try { + this.callbackIntoModule(Boolean(forceUncaught), function () { f(env, data, hint); }); + } + finally { + this.ctx.closeScope(this, scope); + } + }; + NodeEnv.prototype.enqueueFinalizer = function (finalizer) { + var _this = this; + _super.prototype.enqueueFinalizer.call(this, finalizer); + if (!this.finalizationScheduled && !this.destructing) { + this.finalizationScheduled = true; + this.ref(); + _setImmediate(function () { + _this.finalizationScheduled = false; + _this.unref(); + _this.drainFinalizerQueue(); + }); + } + }; + NodeEnv.prototype.drainFinalizerQueue = function () { + while (this.pendingFinalizers.length > 0) { + var refTracker = this.pendingFinalizers.shift(); + refTracker.finalize(); + } + }; + return NodeEnv; + }(Env)); + function newEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + moduleApiVersion = typeof moduleApiVersion !== 'number' ? NODE_API_DEFAULT_MODULE_API_VERSION : moduleApiVersion; + // Validate module_api_version. + if (moduleApiVersion < NODE_API_DEFAULT_MODULE_API_VERSION) { + moduleApiVersion = NODE_API_DEFAULT_MODULE_API_VERSION; + } + else if (moduleApiVersion > NODE_API_SUPPORTED_VERSION_MAX && moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) { + throwNodeApiVersionError(filename, moduleApiVersion); + } + var env = new NodeEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding); + ctx.envStore.add(env); + ctx.addCleanupHook(env, function () { env.unref(); }, 0); + return env; + } + + var EmnapiError = /*#__PURE__*/ (function (_super) { + __extends(EmnapiError, _super); + function EmnapiError(message) { + var _newTarget = this.constructor; + var _this = _super.call(this, message) || this; + var ErrorConstructor = _newTarget; + var proto = ErrorConstructor.prototype; + if (!(_this instanceof EmnapiError)) { + var setPrototypeOf = Object.setPrototypeOf; + if (typeof setPrototypeOf === 'function') { + setPrototypeOf.call(Object, _this, proto); + } + else { + // eslint-disable-next-line no-proto + _this.__proto__ = proto; + } + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(_this, ErrorConstructor); + } + } + return _this; + } + return EmnapiError; + }(Error)); + Object.defineProperty(EmnapiError.prototype, 'name', { + configurable: true, + writable: true, + value: 'EmnapiError' + }); + var NotSupportWeakRefError = /*#__PURE__*/ (function (_super) { + __extends(NotSupportWeakRefError, _super); + function NotSupportWeakRefError(api, message) { + return _super.call(this, "".concat(api, ": The current runtime does not support \"FinalizationRegistry\" and \"WeakRef\".").concat(message ? " ".concat(message) : '')) || this; + } + return NotSupportWeakRefError; + }(EmnapiError)); + Object.defineProperty(NotSupportWeakRefError.prototype, 'name', { + configurable: true, + writable: true, + value: 'NotSupportWeakRefError' + }); + var NotSupportBufferError = /*#__PURE__*/ (function (_super) { + __extends(NotSupportBufferError, _super); + function NotSupportBufferError(api, message) { + return _super.call(this, "".concat(api, ": The current runtime does not support \"Buffer\". Consider using buffer polyfill to make sure `globalThis.Buffer` is defined.").concat(message ? " ".concat(message) : '')) || this; + } + return NotSupportBufferError; + }(EmnapiError)); + Object.defineProperty(NotSupportBufferError.prototype, 'name', { + configurable: true, + writable: true, + value: 'NotSupportBufferError' + }); + + var StrongRef = /*#__PURE__*/ (function () { + function StrongRef(value) { + this._value = value; + } + StrongRef.prototype.deref = function () { + return this._value; + }; + StrongRef.prototype.dispose = function () { + this._value = undefined; + }; + return StrongRef; + }()); + var Persistent = /*#__PURE__*/ (function () { + function Persistent(value) { + this._ref = new StrongRef(value); + } + Persistent.prototype.setWeak = function (param, callback) { + if (!supportFinalizer || this._ref === undefined || this._ref instanceof WeakRef) + return; + var value = this._ref.deref(); + try { + Persistent._registry.register(value, this, this); + var weakRef = new WeakRef(value); + this._ref.dispose(); + this._ref = weakRef; + this._param = param; + this._callback = callback; + } + catch (err) { + if (typeof value === 'symbol') ; + else { + throw err; + } + } + }; + Persistent.prototype.clearWeak = function () { + if (!supportFinalizer || this._ref === undefined) + return; + if (this._ref instanceof WeakRef) { + try { + Persistent._registry.unregister(this); + } + catch (_) { } + this._param = undefined; + this._callback = undefined; + var value = this._ref.deref(); + if (value === undefined) { + this._ref = value; + } + else { + this._ref = new StrongRef(value); + } + } + }; + Persistent.prototype.reset = function () { + if (supportFinalizer) { + try { + Persistent._registry.unregister(this); + } + catch (_) { } + } + this._param = undefined; + this._callback = undefined; + if (this._ref instanceof StrongRef) { + this._ref.dispose(); + } + this._ref = undefined; + }; + Persistent.prototype.isEmpty = function () { + return this._ref === undefined; + }; + Persistent.prototype.deref = function () { + if (this._ref === undefined) + return undefined; + return this._ref.deref(); + }; + Persistent._registry = supportFinalizer + ? new FinalizationRegistry(function (value) { + value._ref = undefined; + var callback = value._callback; + var param = value._param; + value._callback = undefined; + value._param = undefined; + if (typeof callback === 'function') { + callback(param); + } + }) + : undefined; + return Persistent; + }()); + + exports.ReferenceOwnership = void 0; + (function (ReferenceOwnership) { + ReferenceOwnership[ReferenceOwnership["kRuntime"] = 0] = "kRuntime"; + ReferenceOwnership[ReferenceOwnership["kUserland"] = 1] = "kUserland"; + })(exports.ReferenceOwnership || (exports.ReferenceOwnership = {})); + function canBeHeldWeakly(value) { + return value.isObject() || value.isFunction() || value.isSymbol(); + } + var Reference = /*#__PURE__*/ (function (_super) { + __extends(Reference, _super); + function Reference(envObject, handle_id, initialRefcount, ownership) { + var _this = _super.call(this) || this; + _this.envObject = envObject; + _this._refcount = initialRefcount; + _this._ownership = ownership; + var handle = envObject.ctx.handleStore.get(handle_id); + _this.canBeWeak = canBeHeldWeakly(handle); + _this.persistent = new Persistent(handle.value); + _this.id = 0; + if (initialRefcount === 0) { + _this._setWeak(); + } + return _this; + } + Reference.weakCallback = function (ref) { + ref.persistent.reset(); + ref.invokeFinalizerFromGC(); + }; + Reference.create = function (envObject, handle_id, initialRefcount, ownership, _unused1, _unused2, _unused3) { + var ref = new Reference(envObject, handle_id, initialRefcount, ownership); + envObject.ctx.refStore.add(ref); + ref.link(envObject.reflist); + return ref; + }; + Reference.prototype.ref = function () { + if (this.persistent.isEmpty()) { + return 0; + } + if (++this._refcount === 1 && this.canBeWeak) { + this.persistent.clearWeak(); + } + return this._refcount; + }; + Reference.prototype.unref = function () { + if (this.persistent.isEmpty() || this._refcount === 0) { + return 0; + } + if (--this._refcount === 0) { + this._setWeak(); + } + return this._refcount; + }; + Reference.prototype.get = function (envObject) { + if (envObject === void 0) { envObject = this.envObject; } + if (this.persistent.isEmpty()) { + return 0; + } + var obj = this.persistent.deref(); + var handle = envObject.ensureHandle(obj); + return handle.id; + }; + /** @virtual */ + Reference.prototype.resetFinalizer = function () { }; + /** @virtual */ + Reference.prototype.data = function () { return 0; }; + Reference.prototype.refcount = function () { return this._refcount; }; + Reference.prototype.ownership = function () { return this._ownership; }; + /** @virtual */ + Reference.prototype.callUserFinalizer = function () { }; + /** @virtual */ + Reference.prototype.invokeFinalizerFromGC = function () { + this.finalize(); + }; + Reference.prototype._setWeak = function () { + if (this.canBeWeak) { + this.persistent.setWeak(this, Reference.weakCallback); + } + else { + this.persistent.reset(); + } + }; + Reference.prototype.finalize = function () { + this.persistent.reset(); + var deleteMe = this._ownership === exports.ReferenceOwnership.kRuntime; + this.unlink(); + this.callUserFinalizer(); + if (deleteMe) { + this.dispose(); + } + }; + Reference.prototype.dispose = function () { + if (this.id === 0) + return; + this.unlink(); + this.persistent.reset(); + this.envObject.ctx.refStore.remove(this.id); + _super.prototype.dispose.call(this); + this.envObject = undefined; + this.id = 0; + }; + return Reference; + }(RefTracker)); + var ReferenceWithData = /*#__PURE__*/ (function (_super) { + __extends(ReferenceWithData, _super); + function ReferenceWithData(envObject, value, initialRefcount, ownership, _data) { + var _this = _super.call(this, envObject, value, initialRefcount, ownership) || this; + _this._data = _data; + return _this; + } + ReferenceWithData.create = function (envObject, value, initialRefcount, ownership, data) { + var reference = new ReferenceWithData(envObject, value, initialRefcount, ownership, data); + envObject.ctx.refStore.add(reference); + reference.link(envObject.reflist); + return reference; + }; + ReferenceWithData.prototype.data = function () { + return this._data; + }; + return ReferenceWithData; + }(Reference)); + var ReferenceWithFinalizer = /*#__PURE__*/ (function (_super) { + __extends(ReferenceWithFinalizer, _super); + function ReferenceWithFinalizer(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + var _this = _super.call(this, envObject, value, initialRefcount, ownership) || this; + _this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint); + return _this; + } + ReferenceWithFinalizer.create = function (envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + var reference = new ReferenceWithFinalizer(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint); + envObject.ctx.refStore.add(reference); + reference.link(envObject.finalizing_reflist); + return reference; + }; + ReferenceWithFinalizer.prototype.resetFinalizer = function () { + this._finalizer.resetFinalizer(); + }; + ReferenceWithFinalizer.prototype.data = function () { + return this._finalizer.data(); + }; + ReferenceWithFinalizer.prototype.callUserFinalizer = function () { + this._finalizer.callFinalizer(); + }; + ReferenceWithFinalizer.prototype.invokeFinalizerFromGC = function () { + this._finalizer.envObject.invokeFinalizerFromGC(this); + }; + ReferenceWithFinalizer.prototype.dispose = function () { + if (!this._finalizer) + return; + this._finalizer.envObject.dequeueFinalizer(this); + this._finalizer.dispose(); + _super.prototype.dispose.call(this); + this._finalizer = undefined; + }; + return ReferenceWithFinalizer; + }(Reference)); + + var Deferred = /*#__PURE__*/ (function () { + function Deferred(ctx, value) { + this.id = 0; + this.ctx = ctx; + this.value = value; + } + Deferred.create = function (ctx, value) { + var deferred = new Deferred(ctx, value); + ctx.deferredStore.add(deferred); + return deferred; + }; + Deferred.prototype.resolve = function (value) { + this.value.resolve(value); + this.dispose(); + }; + Deferred.prototype.reject = function (reason) { + this.value.reject(reason); + this.dispose(); + }; + Deferred.prototype.dispose = function () { + this.ctx.deferredStore.remove(this.id); + this.id = 0; + this.value = null; + this.ctx = null; + }; + return Deferred; + }()); + + var Store = /*#__PURE__*/ (function () { + function Store() { + this._values = [undefined]; + this._values.length = 4; + this._size = 1; + this._freeList = []; + } + Store.prototype.add = function (value) { + var id; + if (this._freeList.length) { + id = this._freeList.shift(); + } + else { + id = this._size; + this._size++; + var capacity = this._values.length; + if (id >= capacity) { + this._values.length = capacity + (capacity >> 1) + 16; + } + } + value.id = id; + this._values[id] = value; + }; + Store.prototype.get = function (id) { + return this._values[id]; + }; + Store.prototype.has = function (id) { + return this._values[id] !== undefined; + }; + Store.prototype.remove = function (id) { + var value = this._values[id]; + if (value) { + value.id = 0; + this._values[id] = undefined; + this._freeList.push(Number(id)); + } + }; + Store.prototype.dispose = function () { + for (var i = 1; i < this._size; ++i) { + var value = this._values[i]; + value === null || value === void 0 ? void 0 : value.dispose(); + } + this._values = [undefined]; + this._size = 1; + this._freeList = []; + }; + return Store; + }()); + + var CleanupHookCallback = /*#__PURE__*/ (function () { + function CleanupHookCallback(envObject, fn, arg, order) { + this.envObject = envObject; + this.fn = fn; + this.arg = arg; + this.order = order; + } + return CleanupHookCallback; + }()); + var CleanupQueue = /*#__PURE__*/ (function () { + function CleanupQueue() { + this._cleanupHooks = []; + this._cleanupHookCounter = 0; + } + CleanupQueue.prototype.empty = function () { + return this._cleanupHooks.length === 0; + }; + CleanupQueue.prototype.add = function (envObject, fn, arg) { + if (this._cleanupHooks.filter(function (hook) { return (hook.envObject === envObject && hook.fn === fn && hook.arg === arg); }).length > 0) { + throw new Error('Can not add same fn and arg twice'); + } + this._cleanupHooks.push(new CleanupHookCallback(envObject, fn, arg, this._cleanupHookCounter++)); + }; + CleanupQueue.prototype.remove = function (envObject, fn, arg) { + for (var i = 0; i < this._cleanupHooks.length; ++i) { + var hook = this._cleanupHooks[i]; + if (hook.envObject === envObject && hook.fn === fn && hook.arg === arg) { + this._cleanupHooks.splice(i, 1); + return; + } + } + }; + CleanupQueue.prototype.drain = function () { + var hooks = this._cleanupHooks.slice(); + hooks.sort(function (a, b) { return (b.order - a.order); }); + for (var i = 0; i < hooks.length; ++i) { + var cb = hooks[i]; + if (typeof cb.fn === 'number') { + cb.envObject.makeDynCall_vp(cb.fn)(cb.arg); + } + else { + cb.fn(cb.arg); + } + this._cleanupHooks.splice(this._cleanupHooks.indexOf(cb), 1); + } + }; + CleanupQueue.prototype.dispose = function () { + this._cleanupHooks.length = 0; + this._cleanupHookCounter = 0; + }; + return CleanupQueue; + }()); + var NodejsWaitingRequestCounter = /*#__PURE__*/ (function () { + function NodejsWaitingRequestCounter() { + this.refHandle = new _MessageChannel().port1; + this.count = 0; + } + NodejsWaitingRequestCounter.prototype.increase = function () { + if (this.count === 0) { + if (this.refHandle.ref) { + this.refHandle.ref(); + } + } + this.count++; + }; + NodejsWaitingRequestCounter.prototype.decrease = function () { + if (this.count === 0) + return; + if (this.count === 1) { + if (this.refHandle.unref) { + this.refHandle.unref(); + } + } + this.count--; + }; + return NodejsWaitingRequestCounter; + }()); + var Context = /*#__PURE__*/ (function () { + function Context() { + var _this = this; + this._isStopping = false; + this._canCallIntoJs = true; + this._suppressDestroy = false; + this.envStore = new Store(); + this.scopeStore = new ScopeStore(); + this.refStore = new Store(); + this.deferredStore = new Store(); + this.handleStore = new HandleStore(); + this.feature = { + supportReflect: supportReflect, + supportFinalizer: supportFinalizer, + supportWeakSymbol: supportWeakSymbol, + supportBigInt: supportBigInt, + supportNewFunction: supportNewFunction, + canSetFunctionName: canSetFunctionName, + setImmediate: _setImmediate, + Buffer: _Buffer, + MessageChannel: _MessageChannel + }; + this.cleanupQueue = new CleanupQueue(); + if (typeof process === 'object' && process !== null && typeof process.once === 'function') { + this.refCounter = new NodejsWaitingRequestCounter(); + process.once('beforeExit', function () { + if (!_this._suppressDestroy) { + _this.destroy(); + } + }); + } + } + /** + * Suppress the destroy on `beforeExit` event in Node.js. + * Call this method if you want to keep the context and + * all associated {@link Env | Env} alive, + * this also means that cleanup hooks will not be called. + * After call this method, you should call + * {@link Context.destroy | `Context.prototype.destroy`} method manually. + */ + Context.prototype.suppressDestroy = function () { + this._suppressDestroy = true; + }; + // eslint-disable-next-line @typescript-eslint/explicit-function-return-type + Context.prototype.getRuntimeVersions = function () { + return { + version: version, + NODE_API_SUPPORTED_VERSION_MAX: NODE_API_SUPPORTED_VERSION_MAX, + NAPI_VERSION_EXPERIMENTAL: NAPI_VERSION_EXPERIMENTAL, + NODE_API_DEFAULT_MODULE_API_VERSION: NODE_API_DEFAULT_MODULE_API_VERSION + }; + }; + Context.prototype.createNotSupportWeakRefError = function (api, message) { + return new NotSupportWeakRefError(api, message); + }; + Context.prototype.createNotSupportBufferError = function (api, message) { + return new NotSupportBufferError(api, message); + }; + Context.prototype.createReference = function (envObject, handle_id, initialRefcount, ownership) { + return Reference.create(envObject, handle_id, initialRefcount, ownership); + }; + Context.prototype.createReferenceWithData = function (envObject, handle_id, initialRefcount, ownership, data) { + return ReferenceWithData.create(envObject, handle_id, initialRefcount, ownership, data); + }; + Context.prototype.createReferenceWithFinalizer = function (envObject, handle_id, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + if (finalize_callback === void 0) { finalize_callback = 0; } + if (finalize_data === void 0) { finalize_data = 0; } + if (finalize_hint === void 0) { finalize_hint = 0; } + return ReferenceWithFinalizer.create(envObject, handle_id, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint); + }; + Context.prototype.createDeferred = function (value) { + return Deferred.create(this, value); + }; + Context.prototype.createEnv = function (filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + return newEnv(this, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding); + }; + Context.prototype.createTrackedFinalizer = function (envObject, finalize_callback, finalize_data, finalize_hint) { + return TrackedFinalizer.create(envObject, finalize_callback, finalize_data, finalize_hint); + }; + Context.prototype.getCurrentScope = function () { + return this.scopeStore.currentScope; + }; + Context.prototype.addToCurrentScope = function (value) { + return this.scopeStore.currentScope.add(value); + }; + Context.prototype.openScope = function (envObject) { + var scope = this.scopeStore.openScope(this.handleStore); + if (envObject) + envObject.openHandleScopes++; + return scope; + }; + Context.prototype.closeScope = function (envObject, _scope) { + if (envObject && envObject.openHandleScopes === 0) + return; + this.scopeStore.closeScope(); + if (envObject) + envObject.openHandleScopes--; + }; + Context.prototype.ensureHandle = function (value) { + switch (value) { + case undefined: return HandleStore.UNDEFINED; + case null: return HandleStore.NULL; + case true: return HandleStore.TRUE; + case false: return HandleStore.FALSE; + case _global: return HandleStore.GLOBAL; + } + return this.addToCurrentScope(value); + }; + Context.prototype.addCleanupHook = function (envObject, fn, arg) { + this.cleanupQueue.add(envObject, fn, arg); + }; + Context.prototype.removeCleanupHook = function (envObject, fn, arg) { + this.cleanupQueue.remove(envObject, fn, arg); + }; + Context.prototype.runCleanup = function () { + while (!this.cleanupQueue.empty()) { + this.cleanupQueue.drain(); + } + }; + Context.prototype.increaseWaitingRequestCounter = function () { + var _a; + (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.increase(); + }; + Context.prototype.decreaseWaitingRequestCounter = function () { + var _a; + (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.decrease(); + }; + Context.prototype.setCanCallIntoJs = function (value) { + this._canCallIntoJs = value; + }; + Context.prototype.setStopping = function (value) { + this._isStopping = value; + }; + Context.prototype.canCallIntoJs = function () { + return this._canCallIntoJs && !this._isStopping; + }; + /** + * Destroy the context and call cleanup hooks. + * Associated {@link Env | Env} will be destroyed. + */ + Context.prototype.destroy = function () { + this.setStopping(true); + this.setCanCallIntoJs(false); + this.runCleanup(); + }; + return Context; + }()); + var defaultContext; + function createContext() { + return new Context(); + } + function getDefaultContext() { + if (!defaultContext) { + defaultContext = createContext(); + } + return defaultContext; + } + + exports.ConstHandle = ConstHandle; + exports.Context = Context; + exports.Deferred = Deferred; + exports.EmnapiError = EmnapiError; + exports.Env = Env; + exports.External = External; + exports.Finalizer = Finalizer; + exports.Handle = Handle; + exports.HandleScope = HandleScope; + exports.HandleStore = HandleStore; + exports.NAPI_VERSION_EXPERIMENTAL = NAPI_VERSION_EXPERIMENTAL; + exports.NODE_API_DEFAULT_MODULE_API_VERSION = NODE_API_DEFAULT_MODULE_API_VERSION; + exports.NODE_API_SUPPORTED_VERSION_MAX = NODE_API_SUPPORTED_VERSION_MAX; + exports.NODE_API_SUPPORTED_VERSION_MIN = NODE_API_SUPPORTED_VERSION_MIN; + exports.NodeEnv = NodeEnv; + exports.NotSupportBufferError = NotSupportBufferError; + exports.NotSupportWeakRefError = NotSupportWeakRefError; + exports.Persistent = Persistent; + exports.RefTracker = RefTracker; + exports.Reference = Reference; + exports.ReferenceWithData = ReferenceWithData; + exports.ReferenceWithFinalizer = ReferenceWithFinalizer; + exports.ScopeStore = ScopeStore; + exports.Store = Store; + exports.TrackedFinalizer = TrackedFinalizer; + exports.TryCatch = TryCatch; + exports.createContext = createContext; + exports.getDefaultContext = getDefaultContext; + exports.getExternalValue = getExternalValue; + exports.isExternal = isExternal; + exports.isReferenceType = isReferenceType; + exports.version = version; + + return exports; + +})({}); diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.js b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.js new file mode 100644 index 000000000..0c3e6eb3c --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.js @@ -0,0 +1,1482 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.emnapi = {})); +})(this, (function (exports) { + /****************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + /* global Reflect, Promise, SuppressedError, Symbol, Iterator */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + + typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; + }; + + var externalValue = new WeakMap(); + /** @public */ + function isExternal(object) { + return externalValue.has(object); + } + /** @public */ // eslint-disable-next-line @typescript-eslint/no-redeclare + var External = (function () { + function External(value) { + Object.setPrototypeOf(this, null); + externalValue.set(this, value); + } + External.prototype = null; + return External; + })(); + /** @public */ + function getExternalValue(external) { + if (!isExternal(external)) { + throw new TypeError('not external'); + } + return externalValue.get(external); + } + + var supportNewFunction = /*#__PURE__*/ (function () { + var f; + try { + f = new Function(); + } + catch (_) { + return false; + } + return typeof f === 'function'; + })(); + var _global = /*#__PURE__*/ (function () { + if (typeof globalThis !== 'undefined') + return globalThis; + var g = (function () { return this; })(); + if (!g && supportNewFunction) { + try { + g = new Function('return this')(); + } + catch (_) { } + } + if (!g) { + if (typeof __webpack_public_path__ === 'undefined') { + if (typeof global !== 'undefined') + return global; + } + if (typeof window !== 'undefined') + return window; + if (typeof self !== 'undefined') + return self; + } + return g; + })(); + var TryCatch = /*#__PURE__*/ (function () { + function TryCatch() { + this._exception = undefined; + this._caught = false; + } + TryCatch.prototype.isEmpty = function () { + return !this._caught; + }; + TryCatch.prototype.hasCaught = function () { + return this._caught; + }; + TryCatch.prototype.exception = function () { + return this._exception; + }; + TryCatch.prototype.setError = function (err) { + this._caught = true; + this._exception = err; + }; + TryCatch.prototype.reset = function () { + this._caught = false; + this._exception = undefined; + }; + TryCatch.prototype.extractException = function () { + var e = this._exception; + this.reset(); + return e; + }; + return TryCatch; + }()); + var canSetFunctionName = /*#__PURE__*/ (function () { + var _a; + try { + return Boolean((_a = Object.getOwnPropertyDescriptor(Function.prototype, 'name')) === null || _a === void 0 ? void 0 : _a.configurable); + } + catch (_) { + return false; + } + })(); + var supportReflect = typeof Reflect === 'object'; + var supportFinalizer = (typeof FinalizationRegistry !== 'undefined') && (typeof WeakRef !== 'undefined'); + var supportWeakSymbol = /*#__PURE__*/ (function () { + try { + // eslint-disable-next-line symbol-description + var sym = Symbol(); + // eslint-disable-next-line no-new + new WeakRef(sym); + new WeakMap().set(sym, undefined); + } + catch (_) { + return false; + } + return true; + })(); + var supportBigInt = typeof BigInt !== 'undefined'; + function isReferenceType(v) { + return (typeof v === 'object' && v !== null) || typeof v === 'function'; + } + var _require = /*#__PURE__*/ (function () { + var nativeRequire; + if (typeof __webpack_public_path__ !== 'undefined') { + nativeRequire = (function () { + return typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined; + })(); + } + else { + nativeRequire = (function () { + return typeof __webpack_public_path__ !== 'undefined' ? (typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined) : (typeof require !== 'undefined' ? require : undefined); + })(); + } + return nativeRequire; + })(); + var _MessageChannel = typeof MessageChannel === 'function' + ? MessageChannel + : /*#__PURE__*/ (function () { + try { + return _require('worker_threads').MessageChannel; + } + catch (_) { } + return undefined; + })(); + var _setImmediate = typeof setImmediate === 'function' + ? setImmediate + : function (callback) { + if (typeof callback !== 'function') { + throw new TypeError('The "callback" argument must be of type function'); + } + if (_MessageChannel) { + var channel_1 = new _MessageChannel(); + channel_1.port1.onmessage = function () { + channel_1.port1.onmessage = null; + channel_1 = undefined; + callback(); + }; + channel_1.port2.postMessage(null); + } + else { + setTimeout(callback, 0); + } + }; + var _Buffer = typeof Buffer === 'function' + ? Buffer + : /*#__PURE__*/ (function () { + try { + return _require('buffer').Buffer; + } + catch (_) { } + return undefined; + })(); + var version = "1.8.1"; + var NODE_API_SUPPORTED_VERSION_MIN = 1 /* Version.NODE_API_SUPPORTED_VERSION_MIN */; + var NODE_API_SUPPORTED_VERSION_MAX = 10 /* Version.NODE_API_SUPPORTED_VERSION_MAX */; + var NAPI_VERSION_EXPERIMENTAL = 2147483647 /* Version.NAPI_VERSION_EXPERIMENTAL */; + var NODE_API_DEFAULT_MODULE_API_VERSION = 8 /* Version.NODE_API_DEFAULT_MODULE_API_VERSION */; + + var Handle = /*#__PURE__*/ (function () { + function Handle(id, value) { + this.id = id; + this.value = value; + } + Handle.prototype.data = function () { + return getExternalValue(this.value); + }; + Handle.prototype.isNumber = function () { + return typeof this.value === 'number'; + }; + Handle.prototype.isBigInt = function () { + return typeof this.value === 'bigint'; + }; + Handle.prototype.isString = function () { + return typeof this.value === 'string'; + }; + Handle.prototype.isFunction = function () { + return typeof this.value === 'function'; + }; + Handle.prototype.isExternal = function () { + return isExternal(this.value); + }; + Handle.prototype.isObject = function () { + return typeof this.value === 'object' && this.value !== null; + }; + Handle.prototype.isArray = function () { + return Array.isArray(this.value); + }; + Handle.prototype.isArrayBuffer = function () { + return (this.value instanceof ArrayBuffer); + }; + Handle.prototype.isTypedArray = function () { + return (ArrayBuffer.isView(this.value)) && !(this.value instanceof DataView); + }; + Handle.prototype.isBuffer = function (BufferConstructor) { + if (ArrayBuffer.isView(this.value)) + return true; + BufferConstructor !== null && BufferConstructor !== void 0 ? BufferConstructor : (BufferConstructor = _Buffer); + return typeof BufferConstructor === 'function' && BufferConstructor.isBuffer(this.value); + }; + Handle.prototype.isDataView = function () { + return (this.value instanceof DataView); + }; + Handle.prototype.isDate = function () { + return (this.value instanceof Date); + }; + Handle.prototype.isPromise = function () { + return (this.value instanceof Promise); + }; + Handle.prototype.isBoolean = function () { + return typeof this.value === 'boolean'; + }; + Handle.prototype.isUndefined = function () { + return this.value === undefined; + }; + Handle.prototype.isSymbol = function () { + return typeof this.value === 'symbol'; + }; + Handle.prototype.isNull = function () { + return this.value === null; + }; + Handle.prototype.dispose = function () { + this.value = undefined; + }; + return Handle; + }()); + var ConstHandle = /*#__PURE__*/ (function (_super) { + __extends(ConstHandle, _super); + function ConstHandle(id, value) { + return _super.call(this, id, value) || this; + } + ConstHandle.prototype.dispose = function () { }; + return ConstHandle; + }(Handle)); + var HandleStore = /*#__PURE__*/ (function () { + function HandleStore() { + this._values = [ + undefined, + HandleStore.UNDEFINED, + HandleStore.NULL, + HandleStore.FALSE, + HandleStore.TRUE, + HandleStore.GLOBAL + ]; + this._next = HandleStore.MIN_ID; + } + HandleStore.prototype.push = function (value) { + var h; + var next = this._next; + var values = this._values; + if (next < values.length) { + h = values[next]; + h.value = value; + } + else { + h = new Handle(next, value); + values[next] = h; + } + this._next++; + return h; + }; + HandleStore.prototype.erase = function (start, end) { + this._next = start; + var values = this._values; + for (var i = start; i < end; ++i) { + values[i].dispose(); + } + }; + HandleStore.prototype.get = function (id) { + return this._values[id]; + }; + HandleStore.prototype.swap = function (a, b) { + var values = this._values; + var h = values[a]; + values[a] = values[b]; + values[a].id = Number(a); + values[b] = h; + h.id = Number(b); + }; + HandleStore.prototype.dispose = function () { + this._values.length = HandleStore.MIN_ID; + this._next = HandleStore.MIN_ID; + }; + HandleStore.UNDEFINED = new ConstHandle(1 /* GlobalHandle.UNDEFINED */, undefined); + HandleStore.NULL = new ConstHandle(2 /* GlobalHandle.NULL */, null); + HandleStore.FALSE = new ConstHandle(3 /* GlobalHandle.FALSE */, false); + HandleStore.TRUE = new ConstHandle(4 /* GlobalHandle.TRUE */, true); + HandleStore.GLOBAL = new ConstHandle(5 /* GlobalHandle.GLOBAL */, _global); + HandleStore.MIN_ID = 6; + return HandleStore; + }()); + + var HandleScope = /*#__PURE__*/ (function () { + function HandleScope(handleStore, id, parentScope, start, end) { + if (end === void 0) { end = start; } + this.handleStore = handleStore; + this.id = id; + this.parent = parentScope; + this.child = null; + if (parentScope !== null) + parentScope.child = this; + this.start = start; + this.end = end; + this._escapeCalled = false; + this.callbackInfo = { + thiz: undefined, + data: 0, + args: undefined, + fn: undefined + }; + } + HandleScope.prototype.add = function (value) { + var h = this.handleStore.push(value); + this.end++; + return h; + }; + HandleScope.prototype.addExternal = function (data) { + return this.add(new External(data)); + }; + HandleScope.prototype.dispose = function () { + if (this._escapeCalled) + this._escapeCalled = false; + if (this.start === this.end) + return; + this.handleStore.erase(this.start, this.end); + }; + HandleScope.prototype.escape = function (handle) { + if (this._escapeCalled) + return null; + this._escapeCalled = true; + if (handle < this.start || handle >= this.end) { + return null; + } + this.handleStore.swap(handle, this.start); + var h = this.handleStore.get(this.start); + this.start++; + this.parent.end++; + return h; + }; + HandleScope.prototype.escapeCalled = function () { + return this._escapeCalled; + }; + return HandleScope; + }()); + + var ScopeStore = /*#__PURE__*/ (function () { + function ScopeStore() { + this._rootScope = new HandleScope(null, 0, null, 1, HandleStore.MIN_ID); + this.currentScope = this._rootScope; + this._values = [undefined]; + } + ScopeStore.prototype.get = function (id) { + return this._values[id]; + }; + ScopeStore.prototype.openScope = function (handleStore) { + var currentScope = this.currentScope; + var scope = currentScope.child; + if (scope !== null) { + scope.start = scope.end = currentScope.end; + } + else { + var id = currentScope.id + 1; + scope = new HandleScope(handleStore, id, currentScope, currentScope.end); + this._values[id] = scope; + } + this.currentScope = scope; + return scope; + }; + ScopeStore.prototype.closeScope = function () { + var scope = this.currentScope; + this.currentScope = scope.parent; + scope.dispose(); + }; + ScopeStore.prototype.dispose = function () { + this.currentScope = this._rootScope; + this._values.length = 1; + }; + return ScopeStore; + }()); + + var RefTracker = /*#__PURE__*/ (function () { + function RefTracker() { + this._next = null; + this._prev = null; + } + /** @virtual */ + RefTracker.prototype.dispose = function () { }; + /** @virtual */ + RefTracker.prototype.finalize = function () { }; + RefTracker.prototype.link = function (list) { + this._prev = list; + this._next = list._next; + if (this._next !== null) { + this._next._prev = this; + } + list._next = this; + }; + RefTracker.prototype.unlink = function () { + if (this._prev !== null) { + this._prev._next = this._next; + } + if (this._next !== null) { + this._next._prev = this._prev; + } + this._prev = null; + this._next = null; + }; + RefTracker.finalizeAll = function (list) { + while (list._next !== null) { + list._next.finalize(); + } + }; + return RefTracker; + }()); + + var Finalizer = /*#__PURE__*/ (function () { + function Finalizer(envObject, _finalizeCallback, _finalizeData, _finalizeHint) { + if (_finalizeCallback === void 0) { _finalizeCallback = 0; } + if (_finalizeData === void 0) { _finalizeData = 0; } + if (_finalizeHint === void 0) { _finalizeHint = 0; } + this.envObject = envObject; + this._finalizeCallback = _finalizeCallback; + this._finalizeData = _finalizeData; + this._finalizeHint = _finalizeHint; + this._makeDynCall_vppp = envObject.makeDynCall_vppp; + } + Finalizer.prototype.callback = function () { return this._finalizeCallback; }; + Finalizer.prototype.data = function () { return this._finalizeData; }; + Finalizer.prototype.hint = function () { return this._finalizeHint; }; + Finalizer.prototype.resetEnv = function () { + this.envObject = undefined; + }; + Finalizer.prototype.resetFinalizer = function () { + this._finalizeCallback = 0; + this._finalizeData = 0; + this._finalizeHint = 0; + }; + Finalizer.prototype.callFinalizer = function () { + var finalize_callback = this._finalizeCallback; + var finalize_data = this._finalizeData; + var finalize_hint = this._finalizeHint; + this.resetFinalizer(); + if (!finalize_callback) + return; + var fini = Number(finalize_callback); + if (!this.envObject) { + this._makeDynCall_vppp(fini)(0, finalize_data, finalize_hint); + } + else { + this.envObject.callFinalizer(fini, finalize_data, finalize_hint); + } + }; + Finalizer.prototype.dispose = function () { + this.envObject = undefined; + this._makeDynCall_vppp = undefined; + }; + return Finalizer; + }()); + + var TrackedFinalizer = /*#__PURE__*/ (function (_super) { + __extends(TrackedFinalizer, _super); + function TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint) { + var _this = _super.call(this) || this; + _this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint); + return _this; + } + TrackedFinalizer.create = function (envObject, finalize_callback, finalize_data, finalize_hint) { + var finalizer = new TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint); + finalizer.link(envObject.finalizing_reflist); + return finalizer; + }; + TrackedFinalizer.prototype.data = function () { + return this._finalizer.data(); + }; + TrackedFinalizer.prototype.dispose = function () { + if (!this._finalizer) + return; + this.unlink(); + this._finalizer.envObject.dequeueFinalizer(this); + this._finalizer.dispose(); + this._finalizer = undefined; + _super.prototype.dispose.call(this); + }; + TrackedFinalizer.prototype.finalize = function () { + this.unlink(); + var error; + var caught = false; + try { + this._finalizer.callFinalizer(); + } + catch (err) { + caught = true; + error = err; + } + this.dispose(); + if (caught) { + throw error; + } + }; + return TrackedFinalizer; + }(RefTracker)); + + function throwNodeApiVersionError(moduleName, moduleApiVersion) { + var errorMessage = "".concat(moduleName, " requires Node-API version ").concat(moduleApiVersion, ", but this version of Node.js only supports version ").concat(NODE_API_SUPPORTED_VERSION_MAX, " add-ons."); + throw new Error(errorMessage); + } + function handleThrow(envObject, value) { + if (envObject.terminatedOrTerminating()) { + return; + } + throw value; + } + var Env = /*#__PURE__*/ (function () { + function Env(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort) { + this.ctx = ctx; + this.moduleApiVersion = moduleApiVersion; + this.makeDynCall_vppp = makeDynCall_vppp; + this.makeDynCall_vp = makeDynCall_vp; + this.abort = abort; + this.openHandleScopes = 0; + this.instanceData = null; + this.tryCatch = new TryCatch(); + this.refs = 1; + this.reflist = new RefTracker(); + this.finalizing_reflist = new RefTracker(); + this.pendingFinalizers = []; + this.lastError = { + errorCode: 0 /* napi_status.napi_ok */, + engineErrorCode: 0, + engineReserved: 0 + }; + this.inGcFinalizer = false; + this._bindingMap = new WeakMap(); + this.id = 0; + } + /** @virtual */ + Env.prototype.canCallIntoJs = function () { + return true; + }; + Env.prototype.terminatedOrTerminating = function () { + return !this.canCallIntoJs(); + }; + Env.prototype.ref = function () { + this.refs++; + }; + Env.prototype.unref = function () { + this.refs--; + if (this.refs === 0) { + this.dispose(); + } + }; + Env.prototype.ensureHandle = function (value) { + return this.ctx.ensureHandle(value); + }; + Env.prototype.ensureHandleId = function (value) { + return this.ensureHandle(value).id; + }; + Env.prototype.clearLastError = function () { + var lastError = this.lastError; + if (lastError.errorCode !== 0 /* napi_status.napi_ok */) + lastError.errorCode = 0 /* napi_status.napi_ok */; + if (lastError.engineErrorCode !== 0) + lastError.engineErrorCode = 0; + if (lastError.engineReserved !== 0) + lastError.engineReserved = 0; + return 0 /* napi_status.napi_ok */; + }; + Env.prototype.setLastError = function (error_code, engine_error_code, engine_reserved) { + if (engine_error_code === void 0) { engine_error_code = 0; } + if (engine_reserved === void 0) { engine_reserved = 0; } + var lastError = this.lastError; + if (lastError.errorCode !== error_code) + lastError.errorCode = error_code; + if (lastError.engineErrorCode !== engine_error_code) + lastError.engineErrorCode = engine_error_code; + if (lastError.engineReserved !== engine_reserved) + lastError.engineReserved = engine_reserved; + return error_code; + }; + Env.prototype.getReturnStatus = function () { + return !this.tryCatch.hasCaught() ? 0 /* napi_status.napi_ok */ : this.setLastError(10 /* napi_status.napi_pending_exception */); + }; + Env.prototype.callIntoModule = function (fn, handleException) { + if (handleException === void 0) { handleException = handleThrow; } + var openHandleScopesBefore = this.openHandleScopes; + this.clearLastError(); + var r = fn(this); + if (openHandleScopesBefore !== this.openHandleScopes) { + this.abort('open_handle_scopes != open_handle_scopes_before'); + } + if (this.tryCatch.hasCaught()) { + var err = this.tryCatch.extractException(); + handleException(this, err); + } + return r; + }; + Env.prototype.invokeFinalizerFromGC = function (finalizer) { + if (this.moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) { + this.enqueueFinalizer(finalizer); + } + else { + var saved = this.inGcFinalizer; + this.inGcFinalizer = true; + try { + finalizer.finalize(); + } + finally { + this.inGcFinalizer = saved; + } + } + }; + Env.prototype.checkGCAccess = function () { + if (this.moduleApiVersion === NAPI_VERSION_EXPERIMENTAL && this.inGcFinalizer) { + this.abort('Finalizer is calling a function that may affect GC state.\n' + + 'The finalizers are run directly from GC and must not affect GC ' + + 'state.\n' + + 'Use `node_api_post_finalizer` from inside of the finalizer to work ' + + 'around this issue.\n' + + 'It schedules the call as a new task in the event loop.'); + } + }; + /** @virtual */ + Env.prototype.enqueueFinalizer = function (finalizer) { + if (this.pendingFinalizers.indexOf(finalizer) === -1) { + this.pendingFinalizers.push(finalizer); + } + }; + /** @virtual */ + Env.prototype.dequeueFinalizer = function (finalizer) { + var index = this.pendingFinalizers.indexOf(finalizer); + if (index !== -1) { + this.pendingFinalizers.splice(index, 1); + } + }; + /** @virtual */ + Env.prototype.deleteMe = function () { + RefTracker.finalizeAll(this.finalizing_reflist); + RefTracker.finalizeAll(this.reflist); + this.tryCatch.extractException(); + this.ctx.envStore.remove(this.id); + }; + Env.prototype.dispose = function () { + if (this.id === 0) + return; + this.deleteMe(); + this.finalizing_reflist.dispose(); + this.reflist.dispose(); + this.id = 0; + }; + Env.prototype.initObjectBinding = function (value) { + var binding = { + wrapped: 0, + tag: null + }; + this._bindingMap.set(value, binding); + return binding; + }; + Env.prototype.getObjectBinding = function (value) { + if (this._bindingMap.has(value)) { + return this._bindingMap.get(value); + } + return this.initObjectBinding(value); + }; + Env.prototype.setInstanceData = function (data, finalize_cb, finalize_hint) { + if (this.instanceData) { + this.instanceData.dispose(); + } + this.instanceData = TrackedFinalizer.create(this, finalize_cb, data, finalize_hint); + }; + Env.prototype.getInstanceData = function () { + return this.instanceData ? this.instanceData.data() : 0; + }; + return Env; + }()); + var NodeEnv = /*#__PURE__*/ (function (_super) { + __extends(NodeEnv, _super); + function NodeEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + var _this = _super.call(this, ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort) || this; + _this.filename = filename; + _this.nodeBinding = nodeBinding; + _this.destructing = false; + _this.finalizationScheduled = false; + return _this; + } + NodeEnv.prototype.deleteMe = function () { + this.destructing = true; + this.drainFinalizerQueue(); + _super.prototype.deleteMe.call(this); + }; + NodeEnv.prototype.canCallIntoJs = function () { + return _super.prototype.canCallIntoJs.call(this) && this.ctx.canCallIntoJs(); + }; + NodeEnv.prototype.triggerFatalException = function (err) { + if (this.nodeBinding) { + this.nodeBinding.napi.fatalException(err); + } + else { + if (typeof process === 'object' && process !== null && typeof process._fatalException === 'function') { + var handled = process._fatalException(err); + if (!handled) { + console.error(err); + process.exit(1); + } + } + else { + throw err; + } + } + }; + NodeEnv.prototype.callbackIntoModule = function (enforceUncaughtExceptionPolicy, fn) { + return this.callIntoModule(fn, function (envObject, err) { + if (envObject.terminatedOrTerminating()) { + return; + } + var hasProcess = typeof process === 'object' && process !== null; + var hasForceFlag = hasProcess ? Boolean(process.execArgv && (process.execArgv.indexOf('--force-node-api-uncaught-exceptions-policy') !== -1)) : false; + if (envObject.moduleApiVersion < 10 && !hasForceFlag && !enforceUncaughtExceptionPolicy) { + var warn = hasProcess && typeof process.emitWarning === 'function' + ? process.emitWarning + : function (warning, type, code) { + if (warning instanceof Error) { + console.warn(warning.toString()); + } + else { + var prefix = code ? "[".concat(code, "] ") : ''; + // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing + console.warn("".concat(prefix).concat(type || 'Warning', ": ").concat(warning)); + } + }; + warn('Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.', 'DeprecationWarning', 'DEP0168'); + return; + } + envObject.triggerFatalException(err); + }); + }; + NodeEnv.prototype.callFinalizer = function (cb, data, hint) { + this.callFinalizerInternal(1, cb, data, hint); + }; + NodeEnv.prototype.callFinalizerInternal = function (forceUncaught, cb, data, hint) { + var f = this.makeDynCall_vppp(cb); + var env = this.id; + var scope = this.ctx.openScope(this); + try { + this.callbackIntoModule(Boolean(forceUncaught), function () { f(env, data, hint); }); + } + finally { + this.ctx.closeScope(this, scope); + } + }; + NodeEnv.prototype.enqueueFinalizer = function (finalizer) { + var _this = this; + _super.prototype.enqueueFinalizer.call(this, finalizer); + if (!this.finalizationScheduled && !this.destructing) { + this.finalizationScheduled = true; + this.ref(); + _setImmediate(function () { + _this.finalizationScheduled = false; + _this.unref(); + _this.drainFinalizerQueue(); + }); + } + }; + NodeEnv.prototype.drainFinalizerQueue = function () { + while (this.pendingFinalizers.length > 0) { + var refTracker = this.pendingFinalizers.shift(); + refTracker.finalize(); + } + }; + return NodeEnv; + }(Env)); + function newEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + moduleApiVersion = typeof moduleApiVersion !== 'number' ? NODE_API_DEFAULT_MODULE_API_VERSION : moduleApiVersion; + // Validate module_api_version. + if (moduleApiVersion < NODE_API_DEFAULT_MODULE_API_VERSION) { + moduleApiVersion = NODE_API_DEFAULT_MODULE_API_VERSION; + } + else if (moduleApiVersion > NODE_API_SUPPORTED_VERSION_MAX && moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) { + throwNodeApiVersionError(filename, moduleApiVersion); + } + var env = new NodeEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding); + ctx.envStore.add(env); + ctx.addCleanupHook(env, function () { env.unref(); }, 0); + return env; + } + + var EmnapiError = /*#__PURE__*/ (function (_super) { + __extends(EmnapiError, _super); + function EmnapiError(message) { + var _newTarget = this.constructor; + var _this = _super.call(this, message) || this; + var ErrorConstructor = _newTarget; + var proto = ErrorConstructor.prototype; + if (!(_this instanceof EmnapiError)) { + var setPrototypeOf = Object.setPrototypeOf; + if (typeof setPrototypeOf === 'function') { + setPrototypeOf.call(Object, _this, proto); + } + else { + // eslint-disable-next-line no-proto + _this.__proto__ = proto; + } + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(_this, ErrorConstructor); + } + } + return _this; + } + return EmnapiError; + }(Error)); + Object.defineProperty(EmnapiError.prototype, 'name', { + configurable: true, + writable: true, + value: 'EmnapiError' + }); + var NotSupportWeakRefError = /*#__PURE__*/ (function (_super) { + __extends(NotSupportWeakRefError, _super); + function NotSupportWeakRefError(api, message) { + return _super.call(this, "".concat(api, ": The current runtime does not support \"FinalizationRegistry\" and \"WeakRef\".").concat(message ? " ".concat(message) : '')) || this; + } + return NotSupportWeakRefError; + }(EmnapiError)); + Object.defineProperty(NotSupportWeakRefError.prototype, 'name', { + configurable: true, + writable: true, + value: 'NotSupportWeakRefError' + }); + var NotSupportBufferError = /*#__PURE__*/ (function (_super) { + __extends(NotSupportBufferError, _super); + function NotSupportBufferError(api, message) { + return _super.call(this, "".concat(api, ": The current runtime does not support \"Buffer\". Consider using buffer polyfill to make sure `globalThis.Buffer` is defined.").concat(message ? " ".concat(message) : '')) || this; + } + return NotSupportBufferError; + }(EmnapiError)); + Object.defineProperty(NotSupportBufferError.prototype, 'name', { + configurable: true, + writable: true, + value: 'NotSupportBufferError' + }); + + var StrongRef = /*#__PURE__*/ (function () { + function StrongRef(value) { + this._value = value; + } + StrongRef.prototype.deref = function () { + return this._value; + }; + StrongRef.prototype.dispose = function () { + this._value = undefined; + }; + return StrongRef; + }()); + var Persistent = /*#__PURE__*/ (function () { + function Persistent(value) { + this._ref = new StrongRef(value); + } + Persistent.prototype.setWeak = function (param, callback) { + if (!supportFinalizer || this._ref === undefined || this._ref instanceof WeakRef) + return; + var value = this._ref.deref(); + try { + Persistent._registry.register(value, this, this); + var weakRef = new WeakRef(value); + this._ref.dispose(); + this._ref = weakRef; + this._param = param; + this._callback = callback; + } + catch (err) { + if (typeof value === 'symbol') ; + else { + throw err; + } + } + }; + Persistent.prototype.clearWeak = function () { + if (!supportFinalizer || this._ref === undefined) + return; + if (this._ref instanceof WeakRef) { + try { + Persistent._registry.unregister(this); + } + catch (_) { } + this._param = undefined; + this._callback = undefined; + var value = this._ref.deref(); + if (value === undefined) { + this._ref = value; + } + else { + this._ref = new StrongRef(value); + } + } + }; + Persistent.prototype.reset = function () { + if (supportFinalizer) { + try { + Persistent._registry.unregister(this); + } + catch (_) { } + } + this._param = undefined; + this._callback = undefined; + if (this._ref instanceof StrongRef) { + this._ref.dispose(); + } + this._ref = undefined; + }; + Persistent.prototype.isEmpty = function () { + return this._ref === undefined; + }; + Persistent.prototype.deref = function () { + if (this._ref === undefined) + return undefined; + return this._ref.deref(); + }; + Persistent._registry = supportFinalizer + ? new FinalizationRegistry(function (value) { + value._ref = undefined; + var callback = value._callback; + var param = value._param; + value._callback = undefined; + value._param = undefined; + if (typeof callback === 'function') { + callback(param); + } + }) + : undefined; + return Persistent; + }()); + + exports.ReferenceOwnership = void 0; + (function (ReferenceOwnership) { + ReferenceOwnership[ReferenceOwnership["kRuntime"] = 0] = "kRuntime"; + ReferenceOwnership[ReferenceOwnership["kUserland"] = 1] = "kUserland"; + })(exports.ReferenceOwnership || (exports.ReferenceOwnership = {})); + function canBeHeldWeakly(value) { + return value.isObject() || value.isFunction() || value.isSymbol(); + } + var Reference = /*#__PURE__*/ (function (_super) { + __extends(Reference, _super); + function Reference(envObject, handle_id, initialRefcount, ownership) { + var _this = _super.call(this) || this; + _this.envObject = envObject; + _this._refcount = initialRefcount; + _this._ownership = ownership; + var handle = envObject.ctx.handleStore.get(handle_id); + _this.canBeWeak = canBeHeldWeakly(handle); + _this.persistent = new Persistent(handle.value); + _this.id = 0; + if (initialRefcount === 0) { + _this._setWeak(); + } + return _this; + } + Reference.weakCallback = function (ref) { + ref.persistent.reset(); + ref.invokeFinalizerFromGC(); + }; + Reference.create = function (envObject, handle_id, initialRefcount, ownership, _unused1, _unused2, _unused3) { + var ref = new Reference(envObject, handle_id, initialRefcount, ownership); + envObject.ctx.refStore.add(ref); + ref.link(envObject.reflist); + return ref; + }; + Reference.prototype.ref = function () { + if (this.persistent.isEmpty()) { + return 0; + } + if (++this._refcount === 1 && this.canBeWeak) { + this.persistent.clearWeak(); + } + return this._refcount; + }; + Reference.prototype.unref = function () { + if (this.persistent.isEmpty() || this._refcount === 0) { + return 0; + } + if (--this._refcount === 0) { + this._setWeak(); + } + return this._refcount; + }; + Reference.prototype.get = function (envObject) { + if (envObject === void 0) { envObject = this.envObject; } + if (this.persistent.isEmpty()) { + return 0; + } + var obj = this.persistent.deref(); + var handle = envObject.ensureHandle(obj); + return handle.id; + }; + /** @virtual */ + Reference.prototype.resetFinalizer = function () { }; + /** @virtual */ + Reference.prototype.data = function () { return 0; }; + Reference.prototype.refcount = function () { return this._refcount; }; + Reference.prototype.ownership = function () { return this._ownership; }; + /** @virtual */ + Reference.prototype.callUserFinalizer = function () { }; + /** @virtual */ + Reference.prototype.invokeFinalizerFromGC = function () { + this.finalize(); + }; + Reference.prototype._setWeak = function () { + if (this.canBeWeak) { + this.persistent.setWeak(this, Reference.weakCallback); + } + else { + this.persistent.reset(); + } + }; + Reference.prototype.finalize = function () { + this.persistent.reset(); + var deleteMe = this._ownership === exports.ReferenceOwnership.kRuntime; + this.unlink(); + this.callUserFinalizer(); + if (deleteMe) { + this.dispose(); + } + }; + Reference.prototype.dispose = function () { + if (this.id === 0) + return; + this.unlink(); + this.persistent.reset(); + this.envObject.ctx.refStore.remove(this.id); + _super.prototype.dispose.call(this); + this.envObject = undefined; + this.id = 0; + }; + return Reference; + }(RefTracker)); + var ReferenceWithData = /*#__PURE__*/ (function (_super) { + __extends(ReferenceWithData, _super); + function ReferenceWithData(envObject, value, initialRefcount, ownership, _data) { + var _this = _super.call(this, envObject, value, initialRefcount, ownership) || this; + _this._data = _data; + return _this; + } + ReferenceWithData.create = function (envObject, value, initialRefcount, ownership, data) { + var reference = new ReferenceWithData(envObject, value, initialRefcount, ownership, data); + envObject.ctx.refStore.add(reference); + reference.link(envObject.reflist); + return reference; + }; + ReferenceWithData.prototype.data = function () { + return this._data; + }; + return ReferenceWithData; + }(Reference)); + var ReferenceWithFinalizer = /*#__PURE__*/ (function (_super) { + __extends(ReferenceWithFinalizer, _super); + function ReferenceWithFinalizer(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + var _this = _super.call(this, envObject, value, initialRefcount, ownership) || this; + _this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint); + return _this; + } + ReferenceWithFinalizer.create = function (envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + var reference = new ReferenceWithFinalizer(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint); + envObject.ctx.refStore.add(reference); + reference.link(envObject.finalizing_reflist); + return reference; + }; + ReferenceWithFinalizer.prototype.resetFinalizer = function () { + this._finalizer.resetFinalizer(); + }; + ReferenceWithFinalizer.prototype.data = function () { + return this._finalizer.data(); + }; + ReferenceWithFinalizer.prototype.callUserFinalizer = function () { + this._finalizer.callFinalizer(); + }; + ReferenceWithFinalizer.prototype.invokeFinalizerFromGC = function () { + this._finalizer.envObject.invokeFinalizerFromGC(this); + }; + ReferenceWithFinalizer.prototype.dispose = function () { + if (!this._finalizer) + return; + this._finalizer.envObject.dequeueFinalizer(this); + this._finalizer.dispose(); + _super.prototype.dispose.call(this); + this._finalizer = undefined; + }; + return ReferenceWithFinalizer; + }(Reference)); + + var Deferred = /*#__PURE__*/ (function () { + function Deferred(ctx, value) { + this.id = 0; + this.ctx = ctx; + this.value = value; + } + Deferred.create = function (ctx, value) { + var deferred = new Deferred(ctx, value); + ctx.deferredStore.add(deferred); + return deferred; + }; + Deferred.prototype.resolve = function (value) { + this.value.resolve(value); + this.dispose(); + }; + Deferred.prototype.reject = function (reason) { + this.value.reject(reason); + this.dispose(); + }; + Deferred.prototype.dispose = function () { + this.ctx.deferredStore.remove(this.id); + this.id = 0; + this.value = null; + this.ctx = null; + }; + return Deferred; + }()); + + var Store = /*#__PURE__*/ (function () { + function Store() { + this._values = [undefined]; + this._values.length = 4; + this._size = 1; + this._freeList = []; + } + Store.prototype.add = function (value) { + var id; + if (this._freeList.length) { + id = this._freeList.shift(); + } + else { + id = this._size; + this._size++; + var capacity = this._values.length; + if (id >= capacity) { + this._values.length = capacity + (capacity >> 1) + 16; + } + } + value.id = id; + this._values[id] = value; + }; + Store.prototype.get = function (id) { + return this._values[id]; + }; + Store.prototype.has = function (id) { + return this._values[id] !== undefined; + }; + Store.prototype.remove = function (id) { + var value = this._values[id]; + if (value) { + value.id = 0; + this._values[id] = undefined; + this._freeList.push(Number(id)); + } + }; + Store.prototype.dispose = function () { + for (var i = 1; i < this._size; ++i) { + var value = this._values[i]; + value === null || value === void 0 ? void 0 : value.dispose(); + } + this._values = [undefined]; + this._size = 1; + this._freeList = []; + }; + return Store; + }()); + + var CleanupHookCallback = /*#__PURE__*/ (function () { + function CleanupHookCallback(envObject, fn, arg, order) { + this.envObject = envObject; + this.fn = fn; + this.arg = arg; + this.order = order; + } + return CleanupHookCallback; + }()); + var CleanupQueue = /*#__PURE__*/ (function () { + function CleanupQueue() { + this._cleanupHooks = []; + this._cleanupHookCounter = 0; + } + CleanupQueue.prototype.empty = function () { + return this._cleanupHooks.length === 0; + }; + CleanupQueue.prototype.add = function (envObject, fn, arg) { + if (this._cleanupHooks.filter(function (hook) { return (hook.envObject === envObject && hook.fn === fn && hook.arg === arg); }).length > 0) { + throw new Error('Can not add same fn and arg twice'); + } + this._cleanupHooks.push(new CleanupHookCallback(envObject, fn, arg, this._cleanupHookCounter++)); + }; + CleanupQueue.prototype.remove = function (envObject, fn, arg) { + for (var i = 0; i < this._cleanupHooks.length; ++i) { + var hook = this._cleanupHooks[i]; + if (hook.envObject === envObject && hook.fn === fn && hook.arg === arg) { + this._cleanupHooks.splice(i, 1); + return; + } + } + }; + CleanupQueue.prototype.drain = function () { + var hooks = this._cleanupHooks.slice(); + hooks.sort(function (a, b) { return (b.order - a.order); }); + for (var i = 0; i < hooks.length; ++i) { + var cb = hooks[i]; + if (typeof cb.fn === 'number') { + cb.envObject.makeDynCall_vp(cb.fn)(cb.arg); + } + else { + cb.fn(cb.arg); + } + this._cleanupHooks.splice(this._cleanupHooks.indexOf(cb), 1); + } + }; + CleanupQueue.prototype.dispose = function () { + this._cleanupHooks.length = 0; + this._cleanupHookCounter = 0; + }; + return CleanupQueue; + }()); + var NodejsWaitingRequestCounter = /*#__PURE__*/ (function () { + function NodejsWaitingRequestCounter() { + this.refHandle = new _MessageChannel().port1; + this.count = 0; + } + NodejsWaitingRequestCounter.prototype.increase = function () { + if (this.count === 0) { + if (this.refHandle.ref) { + this.refHandle.ref(); + } + } + this.count++; + }; + NodejsWaitingRequestCounter.prototype.decrease = function () { + if (this.count === 0) + return; + if (this.count === 1) { + if (this.refHandle.unref) { + this.refHandle.unref(); + } + } + this.count--; + }; + return NodejsWaitingRequestCounter; + }()); + var Context = /*#__PURE__*/ (function () { + function Context() { + var _this = this; + this._isStopping = false; + this._canCallIntoJs = true; + this._suppressDestroy = false; + this.envStore = new Store(); + this.scopeStore = new ScopeStore(); + this.refStore = new Store(); + this.deferredStore = new Store(); + this.handleStore = new HandleStore(); + this.feature = { + supportReflect: supportReflect, + supportFinalizer: supportFinalizer, + supportWeakSymbol: supportWeakSymbol, + supportBigInt: supportBigInt, + supportNewFunction: supportNewFunction, + canSetFunctionName: canSetFunctionName, + setImmediate: _setImmediate, + Buffer: _Buffer, + MessageChannel: _MessageChannel + }; + this.cleanupQueue = new CleanupQueue(); + if (typeof process === 'object' && process !== null && typeof process.once === 'function') { + this.refCounter = new NodejsWaitingRequestCounter(); + process.once('beforeExit', function () { + if (!_this._suppressDestroy) { + _this.destroy(); + } + }); + } + } + /** + * Suppress the destroy on `beforeExit` event in Node.js. + * Call this method if you want to keep the context and + * all associated {@link Env | Env} alive, + * this also means that cleanup hooks will not be called. + * After call this method, you should call + * {@link Context.destroy | `Context.prototype.destroy`} method manually. + */ + Context.prototype.suppressDestroy = function () { + this._suppressDestroy = true; + }; + // eslint-disable-next-line @typescript-eslint/explicit-function-return-type + Context.prototype.getRuntimeVersions = function () { + return { + version: version, + NODE_API_SUPPORTED_VERSION_MAX: NODE_API_SUPPORTED_VERSION_MAX, + NAPI_VERSION_EXPERIMENTAL: NAPI_VERSION_EXPERIMENTAL, + NODE_API_DEFAULT_MODULE_API_VERSION: NODE_API_DEFAULT_MODULE_API_VERSION + }; + }; + Context.prototype.createNotSupportWeakRefError = function (api, message) { + return new NotSupportWeakRefError(api, message); + }; + Context.prototype.createNotSupportBufferError = function (api, message) { + return new NotSupportBufferError(api, message); + }; + Context.prototype.createReference = function (envObject, handle_id, initialRefcount, ownership) { + return Reference.create(envObject, handle_id, initialRefcount, ownership); + }; + Context.prototype.createReferenceWithData = function (envObject, handle_id, initialRefcount, ownership, data) { + return ReferenceWithData.create(envObject, handle_id, initialRefcount, ownership, data); + }; + Context.prototype.createReferenceWithFinalizer = function (envObject, handle_id, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + if (finalize_callback === void 0) { finalize_callback = 0; } + if (finalize_data === void 0) { finalize_data = 0; } + if (finalize_hint === void 0) { finalize_hint = 0; } + return ReferenceWithFinalizer.create(envObject, handle_id, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint); + }; + Context.prototype.createDeferred = function (value) { + return Deferred.create(this, value); + }; + Context.prototype.createEnv = function (filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + return newEnv(this, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding); + }; + Context.prototype.createTrackedFinalizer = function (envObject, finalize_callback, finalize_data, finalize_hint) { + return TrackedFinalizer.create(envObject, finalize_callback, finalize_data, finalize_hint); + }; + Context.prototype.getCurrentScope = function () { + return this.scopeStore.currentScope; + }; + Context.prototype.addToCurrentScope = function (value) { + return this.scopeStore.currentScope.add(value); + }; + Context.prototype.openScope = function (envObject) { + var scope = this.scopeStore.openScope(this.handleStore); + if (envObject) + envObject.openHandleScopes++; + return scope; + }; + Context.prototype.closeScope = function (envObject, _scope) { + if (envObject && envObject.openHandleScopes === 0) + return; + this.scopeStore.closeScope(); + if (envObject) + envObject.openHandleScopes--; + }; + Context.prototype.ensureHandle = function (value) { + switch (value) { + case undefined: return HandleStore.UNDEFINED; + case null: return HandleStore.NULL; + case true: return HandleStore.TRUE; + case false: return HandleStore.FALSE; + case _global: return HandleStore.GLOBAL; + } + return this.addToCurrentScope(value); + }; + Context.prototype.addCleanupHook = function (envObject, fn, arg) { + this.cleanupQueue.add(envObject, fn, arg); + }; + Context.prototype.removeCleanupHook = function (envObject, fn, arg) { + this.cleanupQueue.remove(envObject, fn, arg); + }; + Context.prototype.runCleanup = function () { + while (!this.cleanupQueue.empty()) { + this.cleanupQueue.drain(); + } + }; + Context.prototype.increaseWaitingRequestCounter = function () { + var _a; + (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.increase(); + }; + Context.prototype.decreaseWaitingRequestCounter = function () { + var _a; + (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.decrease(); + }; + Context.prototype.setCanCallIntoJs = function (value) { + this._canCallIntoJs = value; + }; + Context.prototype.setStopping = function (value) { + this._isStopping = value; + }; + Context.prototype.canCallIntoJs = function () { + return this._canCallIntoJs && !this._isStopping; + }; + /** + * Destroy the context and call cleanup hooks. + * Associated {@link Env | Env} will be destroyed. + */ + Context.prototype.destroy = function () { + this.setStopping(true); + this.setCanCallIntoJs(false); + this.runCleanup(); + }; + return Context; + }()); + var defaultContext; + function createContext() { + return new Context(); + } + function getDefaultContext() { + if (!defaultContext) { + defaultContext = createContext(); + } + return defaultContext; + } + + exports.ConstHandle = ConstHandle; + exports.Context = Context; + exports.Deferred = Deferred; + exports.EmnapiError = EmnapiError; + exports.Env = Env; + exports.External = External; + exports.Finalizer = Finalizer; + exports.Handle = Handle; + exports.HandleScope = HandleScope; + exports.HandleStore = HandleStore; + exports.NAPI_VERSION_EXPERIMENTAL = NAPI_VERSION_EXPERIMENTAL; + exports.NODE_API_DEFAULT_MODULE_API_VERSION = NODE_API_DEFAULT_MODULE_API_VERSION; + exports.NODE_API_SUPPORTED_VERSION_MAX = NODE_API_SUPPORTED_VERSION_MAX; + exports.NODE_API_SUPPORTED_VERSION_MIN = NODE_API_SUPPORTED_VERSION_MIN; + exports.NodeEnv = NodeEnv; + exports.NotSupportBufferError = NotSupportBufferError; + exports.NotSupportWeakRefError = NotSupportWeakRefError; + exports.Persistent = Persistent; + exports.RefTracker = RefTracker; + exports.Reference = Reference; + exports.ReferenceWithData = ReferenceWithData; + exports.ReferenceWithFinalizer = ReferenceWithFinalizer; + exports.ScopeStore = ScopeStore; + exports.Store = Store; + exports.TrackedFinalizer = TrackedFinalizer; + exports.TryCatch = TryCatch; + exports.createContext = createContext; + exports.getDefaultContext = getDefaultContext; + exports.getExternalValue = getExternalValue; + exports.isExternal = isExternal; + exports.isReferenceType = isReferenceType; + exports.version = version; + +})); diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.min.d.mts b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.min.d.mts new file mode 100644 index 000000000..d75787f6f --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.min.d.mts @@ -0,0 +1,665 @@ +export declare type Ptr = number | bigint + +export declare interface IBuffer extends Uint8Array {} +export declare interface BufferCtor { + readonly prototype: IBuffer + /** @deprecated */ + new (...args: any[]): IBuffer + from: { + (buffer: ArrayBufferLike): IBuffer + (buffer: ArrayBufferLike, byteOffset: number, length: number): IBuffer + } + alloc: (size: number) => IBuffer + isBuffer: (obj: unknown) => obj is IBuffer +} + +export declare const enum GlobalHandle { + UNDEFINED = 1, + NULL, + FALSE, + TRUE, + GLOBAL +} + +export declare const enum Version { + NODE_API_SUPPORTED_VERSION_MIN = 1, + NODE_API_DEFAULT_MODULE_API_VERSION = 8, + NODE_API_SUPPORTED_VERSION_MAX = 10, + NAPI_VERSION_EXPERIMENTAL = 2147483647 // INT_MAX +} +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export declare type Pointer = number +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export declare type PointerPointer = number +export declare type FunctionPointer any> = Pointer +export declare type Const = T + +export declare type void_p = Pointer +export declare type void_pp = Pointer +export declare type bool = number +export declare type char = number +export declare type char_p = Pointer +export declare type unsigned_char = number +export declare type const_char = Const +export declare type const_char_p = Pointer +export declare type char16_t_p = number +export declare type const_char16_t_p = number + +export declare type short = number +export declare type unsigned_short = number +export declare type int = number +export declare type unsigned_int = number +export declare type long = number +export declare type unsigned_long = number +export declare type long_long = bigint +export declare type unsigned_long_long = bigint +export declare type float = number +export declare type double = number +export declare type long_double = number +export declare type size_t = number + +export declare type int8_t = number +export declare type uint8_t = number +export declare type int16_t = number +export declare type uint16_t = number +export declare type int32_t = number +export declare type uint32_t = number +export declare type int64_t = bigint +export declare type uint64_t = bigint +export declare type napi_env = Pointer + +export declare type napi_value = Pointer +export declare type napi_ref = Pointer +export declare type napi_deferred = Pointer +export declare type napi_handle_scope = Pointer +export declare type napi_escapable_handle_scope = Pointer + +export declare type napi_addon_register_func = FunctionPointer<(env: napi_env, exports: napi_value) => napi_value> + +export declare type napi_callback_info = Pointer +export declare type napi_callback = FunctionPointer<(env: napi_env, info: napi_callback_info) => napi_value> + +export declare interface napi_extended_error_info { + error_message: const_char_p + engine_reserved: void_p + engine_error_code: uint32_t + error_code: napi_status +} + +export declare interface napi_property_descriptor { + // One of utf8name or name should be NULL. + utf8name: const_char_p + name: napi_value + + method: napi_callback + getter: napi_callback + setter: napi_callback + value: napi_value + /* napi_property_attributes */ + attributes: number + data: void_p +} + +export declare type napi_finalize = FunctionPointer<( + env: napi_env, + finalize_data: void_p, + finalize_hint: void_p +) => void> + +export declare interface node_module { + nm_version: int32_t + nm_flags: uint32_t + nm_filename: Pointer + nm_register_func: napi_addon_register_func + nm_modname: Pointer + nm_priv: Pointer + reserved: PointerPointer +} + +export declare interface napi_node_version { + major: uint32_t + minor: uint32_t + patch: uint32_t + release: const_char_p +} + +export declare interface emnapi_emscripten_version { + major: uint32_t + minor: uint32_t + patch: uint32_t +} + +export declare const enum napi_status { + napi_ok, + napi_invalid_arg, + napi_object_expected, + napi_string_expected, + napi_name_expected, + napi_function_expected, + napi_number_expected, + napi_boolean_expected, + napi_array_expected, + napi_generic_failure, + napi_pending_exception, + napi_cancelled, + napi_escape_called_twice, + napi_handle_scope_mismatch, + napi_callback_scope_mismatch, + napi_queue_full, + napi_closing, + napi_bigint_expected, + napi_date_expected, + napi_arraybuffer_expected, + napi_detachable_arraybuffer_expected, + napi_would_deadlock, // unused + napi_no_external_buffers_allowed, + napi_cannot_run_js +} + +export declare const enum napi_property_attributes { + napi_default = 0, + napi_writable = 1 << 0, + napi_enumerable = 1 << 1, + napi_configurable = 1 << 2, + + // Used with napi_define_class to distinguish static properties + // from instance properties. Ignored by napi_define_properties. + napi_static = 1 << 10, + + /// #ifdef NAPI_EXPERIMENTAL + // Default for class methods. + napi_default_method = napi_writable | napi_configurable, + + // Default for object properties, like in JS obj[prop]. + napi_default_jsproperty = napi_writable | napi_enumerable | napi_configurable + /// #endif // NAPI_EXPERIMENTAL +} + +export declare const enum napi_valuetype { + napi_undefined, + napi_null, + napi_boolean, + napi_number, + napi_string, + napi_symbol, + napi_object, + napi_function, + napi_external, + napi_bigint +} + +export declare const enum napi_typedarray_type { + napi_int8_array, + napi_uint8_array, + napi_uint8_clamped_array, + napi_int16_array, + napi_uint16_array, + napi_int32_array, + napi_uint32_array, + napi_float32_array, + napi_float64_array, + napi_bigint64_array, + napi_biguint64_array, + napi_float16_array, +} + +export declare const enum napi_key_collection_mode { + napi_key_include_prototypes, + napi_key_own_only +} + +export declare const enum napi_key_filter { + napi_key_all_properties = 0, + napi_key_writable = 1, + napi_key_enumerable = 1 << 1, + napi_key_configurable = 1 << 2, + napi_key_skip_strings = 1 << 3, + napi_key_skip_symbols = 1 << 4 +} + +export declare const enum napi_key_conversion { + napi_key_keep_numbers, + napi_key_numbers_to_strings +} + +export declare const enum emnapi_memory_view_type { + emnapi_int8_array, + emnapi_uint8_array, + emnapi_uint8_clamped_array, + emnapi_int16_array, + emnapi_uint16_array, + emnapi_int32_array, + emnapi_uint32_array, + emnapi_float32_array, + emnapi_float64_array, + emnapi_bigint64_array, + emnapi_biguint64_array, + emnapi_float16_array, + emnapi_data_view = -1, + emnapi_buffer = -2 +} + +export declare const enum napi_threadsafe_function_call_mode { + napi_tsfn_nonblocking, + napi_tsfn_blocking +} + +export declare const enum napi_threadsafe_function_release_mode { + napi_tsfn_release, + napi_tsfn_abort +} +export declare type CleanupHookCallbackFunction = number | ((arg: number) => void); + +export declare class ConstHandle extends Handle { + constructor(id: number, value: S); + dispose(): void; +} + +export declare class Context { + private _isStopping; + private _canCallIntoJs; + private _suppressDestroy; + envStore: Store; + scopeStore: ScopeStore; + refStore: Store; + deferredStore: Store>; + handleStore: HandleStore; + private readonly refCounter?; + private readonly cleanupQueue; + feature: { + supportReflect: boolean; + supportFinalizer: boolean; + supportWeakSymbol: boolean; + supportBigInt: boolean; + supportNewFunction: boolean; + canSetFunctionName: boolean; + setImmediate: (callback: () => void) => void; + Buffer: BufferCtor | undefined; + MessageChannel: { + new (): MessageChannel; + prototype: MessageChannel; + } | undefined; + }; + constructor(); + /** + * Suppress the destroy on `beforeExit` event in Node.js. + * Call this method if you want to keep the context and + * all associated {@link Env | Env} alive, + * this also means that cleanup hooks will not be called. + * After call this method, you should call + * {@link Context.destroy | `Context.prototype.destroy`} method manually. + */ + suppressDestroy(): void; + getRuntimeVersions(): { + version: string; + NODE_API_SUPPORTED_VERSION_MAX: Version; + NAPI_VERSION_EXPERIMENTAL: Version; + NODE_API_DEFAULT_MODULE_API_VERSION: Version; + }; + createNotSupportWeakRefError(api: string, message: string): NotSupportWeakRefError; + createNotSupportBufferError(api: string, message: string): NotSupportBufferError; + createReference(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership): Reference; + createReferenceWithData(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): Reference; + createReferenceWithFinalizer(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback?: napi_finalize, finalize_data?: void_p, finalize_hint?: void_p): Reference; + createDeferred(value: IDeferrdValue): Deferred; + createEnv(filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any): Env; + createTrackedFinalizer(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer; + getCurrentScope(): HandleScope | null; + addToCurrentScope(value: V): Handle; + openScope(envObject?: Env): HandleScope; + closeScope(envObject?: Env, _scope?: HandleScope): void; + ensureHandle(value: S): Handle; + addCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void; + removeCleanupHook(envObject: Env, fn: CleanupHookCallbackFunction, arg: number): void; + runCleanup(): void; + increaseWaitingRequestCounter(): void; + decreaseWaitingRequestCounter(): void; + setCanCallIntoJs(value: boolean): void; + setStopping(value: boolean): void; + canCallIntoJs(): boolean; + /** + * Destroy the context and call cleanup hooks. + * Associated {@link Env | Env} will be destroyed. + */ + destroy(): void; +} + +export declare function createContext(): Context; + +export declare class Deferred implements IStoreValue { + static create(ctx: Context, value: IDeferrdValue): Deferred; + id: number; + ctx: Context; + value: IDeferrdValue; + constructor(ctx: Context, value: IDeferrdValue); + resolve(value: T): void; + reject(reason?: any): void; + dispose(): void; +} + +export declare class EmnapiError extends Error { + constructor(message?: string); +} + +export declare abstract class Env implements IStoreValue { + readonly ctx: Context; + moduleApiVersion: number; + makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void; + makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void; + abort: (msg?: string) => never; + id: number; + openHandleScopes: number; + instanceData: TrackedFinalizer | null; + tryCatch: TryCatch; + refs: number; + reflist: RefTracker; + finalizing_reflist: RefTracker; + pendingFinalizers: RefTracker[]; + lastError: { + errorCode: napi_status; + engineErrorCode: number; + engineReserved: Ptr; + }; + inGcFinalizer: boolean; + constructor(ctx: Context, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never); + /** @virtual */ + canCallIntoJs(): boolean; + terminatedOrTerminating(): boolean; + ref(): void; + unref(): void; + ensureHandle(value: S): Handle; + ensureHandleId(value: any): napi_value; + clearLastError(): napi_status; + setLastError(error_code: napi_status, engine_error_code?: uint32_t, engine_reserved?: void_p): napi_status; + getReturnStatus(): napi_status; + callIntoModule(fn: (env: Env) => T, handleException?: (envObject: Env, value: any) => void): T; + /** @virtual */ + abstract callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void; + invokeFinalizerFromGC(finalizer: RefTracker): void; + checkGCAccess(): void; + /** @virtual */ + enqueueFinalizer(finalizer: RefTracker): void; + /** @virtual */ + dequeueFinalizer(finalizer: RefTracker): void; + /** @virtual */ + deleteMe(): void; + dispose(): void; + private readonly _bindingMap; + initObjectBinding(value: S): IReferenceBinding; + getObjectBinding(value: S): IReferenceBinding; + setInstanceData(data: number, finalize_cb: number, finalize_hint: number): void; + getInstanceData(): number; +} + +/** @public */ +declare interface External_2 extends Record { +} + +/** @public */ +declare const External_2: { + new (value: number | bigint): External_2; + prototype: null; +}; +export { External_2 as External } + +export declare class Finalizer { + envObject: Env; + private _finalizeCallback; + private _finalizeData; + private _finalizeHint; + private _makeDynCall_vppp; + constructor(envObject: Env, _finalizeCallback?: napi_finalize, _finalizeData?: void_p, _finalizeHint?: void_p); + callback(): napi_finalize; + data(): void_p; + hint(): void_p; + resetEnv(): void; + resetFinalizer(): void; + callFinalizer(): void; + dispose(): void; +} + +export declare function getDefaultContext(): Context; + +/** @public */ +export declare function getExternalValue(external: External_2): number | bigint; + +export declare class Handle { + id: number; + value: S; + constructor(id: number, value: S); + data(): void_p; + isNumber(): boolean; + isBigInt(): boolean; + isString(): boolean; + isFunction(): boolean; + isExternal(): boolean; + isObject(): boolean; + isArray(): boolean; + isArrayBuffer(): boolean; + isTypedArray(): boolean; + isBuffer(BufferConstructor?: BufferCtor): boolean; + isDataView(): boolean; + isDate(): boolean; + isPromise(): boolean; + isBoolean(): boolean; + isUndefined(): boolean; + isSymbol(): boolean; + isNull(): boolean; + dispose(): void; +} + +export declare class HandleScope { + handleStore: HandleStore; + id: number; + parent: HandleScope | null; + child: HandleScope | null; + start: number; + end: number; + private _escapeCalled; + callbackInfo: ICallbackInfo; + constructor(handleStore: HandleStore, id: number, parentScope: HandleScope | null, start: number, end?: number); + add(value: V): Handle; + addExternal(data: void_p): Handle; + dispose(): void; + escape(handle: number): Handle | null; + escapeCalled(): boolean; +} + +export declare class HandleStore { + static UNDEFINED: ConstHandle; + static NULL: ConstHandle; + static FALSE: ConstHandle; + static TRUE: ConstHandle; + static GLOBAL: ConstHandle; + static MIN_ID: 6; + private readonly _values; + private _next; + push(value: S): Handle; + erase(start: number, end: number): void; + get(id: Ptr): Handle | undefined; + swap(a: number, b: number): void; + dispose(): void; +} + +export declare interface ICallbackInfo { + thiz: any; + data: void_p; + args: ArrayLike; + fn: Function; +} + +export declare interface IDeferrdValue { + resolve: (value: T) => void; + reject: (reason?: any) => void; +} + +export declare interface IReferenceBinding { + wrapped: number; + tag: Uint32Array | null; +} + +/** @public */ +export declare function isExternal(object: unknown): object is External_2; + +export declare function isReferenceType(v: any): v is object; + +export declare interface IStoreValue { + id: number; + dispose(): void; + [x: string]: any; +} + +export declare const NAPI_VERSION_EXPERIMENTAL = Version.NAPI_VERSION_EXPERIMENTAL; + +export declare const NODE_API_DEFAULT_MODULE_API_VERSION = Version.NODE_API_DEFAULT_MODULE_API_VERSION; + +export declare const NODE_API_SUPPORTED_VERSION_MAX = Version.NODE_API_SUPPORTED_VERSION_MAX; + +export declare const NODE_API_SUPPORTED_VERSION_MIN = Version.NODE_API_SUPPORTED_VERSION_MIN; + +export declare class NodeEnv extends Env { + filename: string; + private readonly nodeBinding?; + destructing: boolean; + finalizationScheduled: boolean; + constructor(ctx: Context, filename: string, moduleApiVersion: number, makeDynCall_vppp: (cb: Ptr) => (a: Ptr, b: Ptr, c: Ptr) => void, makeDynCall_vp: (cb: Ptr) => (a: Ptr) => void, abort: (msg?: string) => never, nodeBinding?: any); + deleteMe(): void; + canCallIntoJs(): boolean; + triggerFatalException(err: any): void; + callbackIntoModule(enforceUncaughtExceptionPolicy: boolean, fn: (env: Env) => T): T; + callFinalizer(cb: napi_finalize, data: void_p, hint: void_p): void; + callFinalizerInternal(forceUncaught: int, cb: napi_finalize, data: void_p, hint: void_p): void; + enqueueFinalizer(finalizer: RefTracker): void; + drainFinalizerQueue(): void; +} + +export declare class NotSupportBufferError extends EmnapiError { + constructor(api: string, message: string); +} + +export declare class NotSupportWeakRefError extends EmnapiError { + constructor(api: string, message: string); +} + +export declare class Persistent { + private _ref; + private _param; + private _callback; + private static readonly _registry; + constructor(value: T); + setWeak

(param: P, callback: (param: P) => void): void; + clearWeak(): void; + reset(): void; + isEmpty(): boolean; + deref(): T | undefined; +} + +export declare class Reference extends RefTracker implements IStoreValue { + private static weakCallback; + id: number; + envObject: Env; + private readonly canBeWeak; + private _refcount; + private readonly _ownership; + persistent: Persistent; + static create(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, _unused1?: void_p, _unused2?: void_p, _unused3?: void_p): Reference; + protected constructor(envObject: Env, handle_id: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership); + ref(): number; + unref(): number; + get(envObject?: Env): napi_value; + /** @virtual */ + resetFinalizer(): void; + /** @virtual */ + data(): void_p; + refcount(): number; + ownership(): ReferenceOwnership; + /** @virtual */ + protected callUserFinalizer(): void; + /** @virtual */ + protected invokeFinalizerFromGC(): void; + private _setWeak; + finalize(): void; + dispose(): void; +} + +export declare enum ReferenceOwnership { + kRuntime = 0, + kUserland = 1 +} + +export declare class ReferenceWithData extends Reference { + private readonly _data; + static create(envObject: Env, value: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, data: void_p): ReferenceWithData; + private constructor(); + data(): void_p; +} + +export declare class ReferenceWithFinalizer extends Reference { + private _finalizer; + static create(envObject: Env, value: napi_value, initialRefcount: uint32_t, ownership: ReferenceOwnership, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): ReferenceWithFinalizer; + private constructor(); + resetFinalizer(): void; + data(): void_p; + protected callUserFinalizer(): void; + protected invokeFinalizerFromGC(): void; + dispose(): void; +} + +export declare class RefTracker { + /** @virtual */ + dispose(): void; + /** @virtual */ + finalize(): void; + private _next; + private _prev; + link(list: RefTracker): void; + unlink(): void; + static finalizeAll(list: RefTracker): void; +} + +export declare class ScopeStore { + private readonly _rootScope; + currentScope: HandleScope; + private readonly _values; + constructor(); + get(id: number): HandleScope | undefined; + openScope(handleStore: HandleStore): HandleScope; + closeScope(): void; + dispose(): void; +} + +export declare class Store { + protected _values: Array; + private _freeList; + private _size; + constructor(); + add(value: V): void; + get(id: Ptr): V | undefined; + has(id: Ptr): boolean; + remove(id: Ptr): void; + dispose(): void; +} + +export declare class TrackedFinalizer extends RefTracker { + private _finalizer; + static create(envObject: Env, finalize_callback: napi_finalize, finalize_data: void_p, finalize_hint: void_p): TrackedFinalizer; + private constructor(); + data(): void_p; + dispose(): void; + finalize(): void; +} + +export declare class TryCatch { + private _exception; + private _caught; + isEmpty(): boolean; + hasCaught(): boolean; + exception(): any; + setError(err: any): void; + reset(): void; + extractException(): any; +} + +export declare const version: string; + +export { } diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.min.js b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.min.js new file mode 100644 index 000000000..d60541cad --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).emnapi={})}(this,function(t){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}"function"==typeof SuppressedError&&SuppressedError;var i=new WeakMap;function r(t){return i.has(t)}var o=function(){function t(t){Object.setPrototypeOf(this,null),i.set(this,t)}return t.prototype=null,t}();function s(t){if(!r(t))throw new TypeError("not external");return i.get(t)}var a=function(){var t;try{t=new Function}catch(t){return!1}return"function"==typeof t}(),u=function(){if("undefined"!=typeof globalThis)return globalThis;var t=function(){return this}();if(!t&&a)try{t=new Function("return this")()}catch(t){}if(!t){if("undefined"==typeof __webpack_public_path__&&"undefined"!=typeof global)return global;if("undefined"!=typeof window)return window;if("undefined"!=typeof self)return self}return t}(),c=function(){function t(){this._exception=void 0,this._caught=!1}return t.prototype.isEmpty=function(){return!this._caught},t.prototype.hasCaught=function(){return this._caught},t.prototype.exception=function(){return this._exception},t.prototype.setError=function(t){this._caught=!0,this._exception=t},t.prototype.reset=function(){this._caught=!1,this._exception=void 0},t.prototype.extractException=function(){var t=this._exception;return this.reset(),t},t}(),p=function(){var t;try{return Boolean(null===(t=Object.getOwnPropertyDescriptor(Function.prototype,"name"))||void 0===t?void 0:t.configurable)}catch(t){return!1}}(),f="object"==typeof Reflect,l="undefined"!=typeof FinalizationRegistry&&"undefined"!=typeof WeakRef,h=function(){try{var t=Symbol();new WeakRef(t),(new WeakMap).set(t,void 0)}catch(t){return!1}return!0}(),d="undefined"!=typeof BigInt;var y=function(){return"undefined"!=typeof __webpack_public_path__||"undefined"!=typeof __webpack_public_path__?"undefined"!=typeof __non_webpack_require__?__non_webpack_require__:void 0:"undefined"!=typeof require?require:void 0}(),_="function"==typeof MessageChannel?MessageChannel:function(){try{return y("worker_threads").MessageChannel}catch(t){}}(),v="function"==typeof setImmediate?setImmediate:function(t){if("function"!=typeof t)throw new TypeError('The "callback" argument must be of type function');if(_){var e=new _;e.port1.onmessage=function(){e.port1.onmessage=null,e=void 0,t()},e.port2.postMessage(null)}else setTimeout(t,0)},g="function"==typeof Buffer?Buffer:function(){try{return y("buffer").Buffer}catch(t){}}(),z="1.8.1",b=2147483647,k=function(){function t(t,e){this.id=t,this.value=e}return t.prototype.data=function(){return s(this.value)},t.prototype.isNumber=function(){return"number"==typeof this.value},t.prototype.isBigInt=function(){return"bigint"==typeof this.value},t.prototype.isString=function(){return"string"==typeof this.value},t.prototype.isFunction=function(){return"function"==typeof this.value},t.prototype.isExternal=function(){return r(this.value)},t.prototype.isObject=function(){return"object"==typeof this.value&&null!==this.value},t.prototype.isArray=function(){return Array.isArray(this.value)},t.prototype.isArrayBuffer=function(){return this.value instanceof ArrayBuffer},t.prototype.isTypedArray=function(){return ArrayBuffer.isView(this.value)&&!(this.value instanceof DataView)},t.prototype.isBuffer=function(t){return!!ArrayBuffer.isView(this.value)||(null!=t||(t=g),"function"==typeof t&&t.isBuffer(this.value))},t.prototype.isDataView=function(){return this.value instanceof DataView},t.prototype.isDate=function(){return this.value instanceof Date},t.prototype.isPromise=function(){return this.value instanceof Promise},t.prototype.isBoolean=function(){return"boolean"==typeof this.value},t.prototype.isUndefined=function(){return void 0===this.value},t.prototype.isSymbol=function(){return"symbol"==typeof this.value},t.prototype.isNull=function(){return null===this.value},t.prototype.dispose=function(){this.value=void 0},t}(),w=function(t){function e(e,n){return t.call(this,e,n)||this}return n(e,t),e.prototype.dispose=function(){},e}(k),S=function(){function t(){this._values=[void 0,t.UNDEFINED,t.NULL,t.FALSE,t.TRUE,t.GLOBAL],this._next=t.MIN_ID}return t.prototype.push=function(t){var e,n=this._next,i=this._values;return n=this.end)return null;this.handleStore.swap(t,this.start);var e=this.handleStore.get(this.start);return this.start++,this.parent.end++,e},t.prototype.escapeCalled=function(){return this._escapeCalled},t}(),m=function(){function t(){this._rootScope=new E(null,0,null,1,S.MIN_ID),this.currentScope=this._rootScope,this._values=[void 0]}return t.prototype.get=function(t){return this._values[t]},t.prototype.openScope=function(t){var e=this.currentScope,n=e.child;if(null!==n)n.start=n.end=e.end;else{var i=e.id+1;n=new E(t,i,e,e.end),this._values[i]=n}return this.currentScope=n,n},t.prototype.closeScope=function(){var t=this.currentScope;this.currentScope=t.parent,t.dispose()},t.prototype.dispose=function(){this.currentScope=this._rootScope,this._values.length=1},t}(),C=function(){function t(){this._next=null,this._prev=null}return t.prototype.dispose=function(){},t.prototype.finalize=function(){},t.prototype.link=function(t){this._prev=t,this._next=t._next,null!==this._next&&(this._next._prev=this),t._next=this},t.prototype.unlink=function(){null!==this._prev&&(this._prev._next=this._next),null!==this._next&&(this._next._prev=this._prev),this._prev=null,this._next=null},t.finalizeAll=function(t){for(;null!==t._next;)t._next.finalize()},t}(),x=function(){function t(t,e,n,i){void 0===e&&(e=0),void 0===n&&(n=0),void 0===i&&(i=0),this.envObject=t,this._finalizeCallback=e,this._finalizeData=n,this._finalizeHint=i,this._makeDynCall_vppp=t.makeDynCall_vppp}return t.prototype.callback=function(){return this._finalizeCallback},t.prototype.data=function(){return this._finalizeData},t.prototype.hint=function(){return this._finalizeHint},t.prototype.resetEnv=function(){this.envObject=void 0},t.prototype.resetFinalizer=function(){this._finalizeCallback=0,this._finalizeData=0,this._finalizeHint=0},t.prototype.callFinalizer=function(){var t=this._finalizeCallback,e=this._finalizeData,n=this._finalizeHint;if(this.resetFinalizer(),t){var i=Number(t);this.envObject?this.envObject.callFinalizer(i,e,n):this._makeDynCall_vppp(i)(0,e,n)}},t.prototype.dispose=function(){this.envObject=void 0,this._makeDynCall_vppp=void 0},t}(),F=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o._finalizer=new x(e,n,i,r),o}return n(e,t),e.create=function(t,n,i,r){var o=new e(t,n,i,r);return o.link(t.finalizing_reflist),o},e.prototype.data=function(){return this._finalizer.data()},e.prototype.dispose=function(){this._finalizer&&(this.unlink(),this._finalizer.envObject.dequeueFinalizer(this),this._finalizer.dispose(),this._finalizer=void 0,t.prototype.dispose.call(this))},e.prototype.finalize=function(){var t;this.unlink();var e=!1;try{this._finalizer.callFinalizer()}catch(n){e=!0,t=n}if(this.dispose(),e)throw t},e}(C);function O(t,e){if(!t.terminatedOrTerminating())throw e}var I=function(){function t(t,e,n,i,r){this.ctx=t,this.moduleApiVersion=e,this.makeDynCall_vppp=n,this.makeDynCall_vp=i,this.abort=r,this.openHandleScopes=0,this.instanceData=null,this.tryCatch=new c,this.refs=1,this.reflist=new C,this.finalizing_reflist=new C,this.pendingFinalizers=[],this.lastError={errorCode:0,engineErrorCode:0,engineReserved:0},this.inGcFinalizer=!1,this._bindingMap=new WeakMap,this.id=0}return t.prototype.canCallIntoJs=function(){return!0},t.prototype.terminatedOrTerminating=function(){return!this.canCallIntoJs()},t.prototype.ref=function(){this.refs++},t.prototype.unref=function(){this.refs--,0===this.refs&&this.dispose()},t.prototype.ensureHandle=function(t){return this.ctx.ensureHandle(t)},t.prototype.ensureHandleId=function(t){return this.ensureHandle(t).id},t.prototype.clearLastError=function(){var t=this.lastError;return 0!==t.errorCode&&(t.errorCode=0),0!==t.engineErrorCode&&(t.engineErrorCode=0),0!==t.engineReserved&&(t.engineReserved=0),0},t.prototype.setLastError=function(t,e,n){void 0===e&&(e=0),void 0===n&&(n=0);var i=this.lastError;return i.errorCode!==t&&(i.errorCode=t),i.engineErrorCode!==e&&(i.engineErrorCode=e),i.engineReserved!==n&&(i.engineReserved=n),t},t.prototype.getReturnStatus=function(){return this.tryCatch.hasCaught()?this.setLastError(10):0},t.prototype.callIntoModule=function(t,e){void 0===e&&(e=O);var n=this.openHandleScopes;this.clearLastError();var i=t(this);(n!==this.openHandleScopes&&this.abort("open_handle_scopes != open_handle_scopes_before"),this.tryCatch.hasCaught())&&e(this,this.tryCatch.extractException());return i},t.prototype.invokeFinalizerFromGC=function(t){if(this.moduleApiVersion!==b)this.enqueueFinalizer(t);else{var e=this.inGcFinalizer;this.inGcFinalizer=!0;try{t.finalize()}finally{this.inGcFinalizer=e}}},t.prototype.checkGCAccess=function(){this.moduleApiVersion===b&&this.inGcFinalizer&&this.abort("Finalizer is calling a function that may affect GC state.\nThe finalizers are run directly from GC and must not affect GC state.\nUse `node_api_post_finalizer` from inside of the finalizer to work around this issue.\nIt schedules the call as a new task in the event loop.")},t.prototype.enqueueFinalizer=function(t){-1===this.pendingFinalizers.indexOf(t)&&this.pendingFinalizers.push(t)},t.prototype.dequeueFinalizer=function(t){var e=this.pendingFinalizers.indexOf(t);-1!==e&&this.pendingFinalizers.splice(e,1)},t.prototype.deleteMe=function(){C.finalizeAll(this.finalizing_reflist),C.finalizeAll(this.reflist),this.tryCatch.extractException(),this.ctx.envStore.remove(this.id)},t.prototype.dispose=function(){0!==this.id&&(this.deleteMe(),this.finalizing_reflist.dispose(),this.reflist.dispose(),this.id=0)},t.prototype.initObjectBinding=function(t){var e={wrapped:0,tag:null};return this._bindingMap.set(t,e),e},t.prototype.getObjectBinding=function(t){return this._bindingMap.has(t)?this._bindingMap.get(t):this.initObjectBinding(t)},t.prototype.setInstanceData=function(t,e,n){this.instanceData&&this.instanceData.dispose(),this.instanceData=F.create(this,e,t,n)},t.prototype.getInstanceData=function(){return this.instanceData?this.instanceData.data():0},t}(),D=function(t){function e(e,n,i,r,o,s,a){var u=t.call(this,e,i,r,o,s)||this;return u.filename=n,u.nodeBinding=a,u.destructing=!1,u.finalizationScheduled=!1,u}return n(e,t),e.prototype.deleteMe=function(){this.destructing=!0,this.drainFinalizerQueue(),t.prototype.deleteMe.call(this)},e.prototype.canCallIntoJs=function(){return t.prototype.canCallIntoJs.call(this)&&this.ctx.canCallIntoJs()},e.prototype.triggerFatalException=function(t){if(this.nodeBinding)this.nodeBinding.napi.fatalException(t);else{if("object"!=typeof process||null===process||"function"!=typeof process._fatalException)throw t;process._fatalException(t)||(console.error(t),process.exit(1))}},e.prototype.callbackIntoModule=function(t,e){return this.callIntoModule(e,function(e,n){if(!e.terminatedOrTerminating()){var i="object"==typeof process&&null!==process,r=!!i&&Boolean(process.execArgv&&-1!==process.execArgv.indexOf("--force-node-api-uncaught-exceptions-policy"));if(e.moduleApiVersion<10&&!r&&!t)(i&&"function"==typeof process.emitWarning?process.emitWarning:function(t,e,n){if(t instanceof Error)console.warn(t.toString());else{var i=n?"[".concat(n,"] "):"";console.warn("".concat(i).concat(e||"Warning",": ").concat(t))}})("Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.","DeprecationWarning","DEP0168");else e.triggerFatalException(n)}})},e.prototype.callFinalizer=function(t,e,n){this.callFinalizerInternal(1,t,e,n)},e.prototype.callFinalizerInternal=function(t,e,n,i){var r=this.makeDynCall_vppp(e),o=this.id,s=this.ctx.openScope(this);try{this.callbackIntoModule(Boolean(t),function(){r(o,n,i)})}finally{this.ctx.closeScope(this,s)}},e.prototype.enqueueFinalizer=function(e){var n=this;t.prototype.enqueueFinalizer.call(this,e),this.finalizationScheduled||this.destructing||(this.finalizationScheduled=!0,this.ref(),v(function(){n.finalizationScheduled=!1,n.unref(),n.drainFinalizerQueue()}))},e.prototype.drainFinalizerQueue=function(){for(;this.pendingFinalizers.length>0;){this.pendingFinalizers.shift().finalize()}},e}(I);function R(t,e,n,i,r,o,s){(n="number"!=typeof n?8:n)<8?n=8:n>10&&n!==b&&function(t,e){var n="".concat(t," requires Node-API version ").concat(e,", but this version of Node.js only supports version ").concat(10," add-ons.");throw new Error(n)}(e,n);var a=new D(t,e,n,i,r,o,s);return t.envStore.add(a),t.addCleanupHook(a,function(){a.unref()},0),a}var N=function(t){function e(n){var i=this.constructor,r=t.call(this,n)||this,o=i,s=o.prototype;if(!(r instanceof e)){var a=Object.setPrototypeOf;"function"==typeof a?a.call(Object,r,s):r.__proto__=s,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(r,o)}return r}return n(e,t),e}(Error);Object.defineProperty(N.prototype,"name",{configurable:!0,writable:!0,value:"EmnapiError"});var A=function(t){function e(e,n){return t.call(this,"".concat(e,': The current runtime does not support "FinalizationRegistry" and "WeakRef".').concat(n?" ".concat(n):""))||this}return n(e,t),e}(N);Object.defineProperty(A.prototype,"name",{configurable:!0,writable:!0,value:"NotSupportWeakRefError"});var H=function(t){function e(e,n){return t.call(this,"".concat(e,': The current runtime does not support "Buffer". Consider using buffer polyfill to make sure `globalThis.Buffer` is defined.').concat(n?" ".concat(n):""))||this}return n(e,t),e}(N);Object.defineProperty(H.prototype,"name",{configurable:!0,writable:!0,value:"NotSupportBufferError"});var j,T=function(){function t(t){this._value=t}return t.prototype.deref=function(){return this._value},t.prototype.dispose=function(){this._value=void 0},t}(),B=function(){function t(t){this._ref=new T(t)}return t.prototype.setWeak=function(e,n){if(l&&void 0!==this._ref&&!(this._ref instanceof WeakRef)){var i=this._ref.deref();try{t._registry.register(i,this,this);var r=new WeakRef(i);this._ref.dispose(),this._ref=r,this._param=e,this._callback=n}catch(t){if("symbol"!=typeof i)throw t}}},t.prototype.clearWeak=function(){if(l&&void 0!==this._ref&&this._ref instanceof WeakRef){try{t._registry.unregister(this)}catch(t){}this._param=void 0,this._callback=void 0;var e=this._ref.deref();this._ref=void 0===e?e:new T(e)}},t.prototype.reset=function(){if(l)try{t._registry.unregister(this)}catch(t){}this._param=void 0,this._callback=void 0,this._ref instanceof T&&this._ref.dispose(),this._ref=void 0},t.prototype.isEmpty=function(){return void 0===this._ref},t.prototype.deref=function(){if(void 0!==this._ref)return this._ref.deref()},t._registry=l?new FinalizationRegistry(function(t){t._ref=void 0;var e=t._callback,n=t._param;t._callback=void 0,t._param=void 0,"function"==typeof e&&e(n)}):void 0,t}();t.ReferenceOwnership=void 0,(j=t.ReferenceOwnership||(t.ReferenceOwnership={}))[j.kRuntime=0]="kRuntime",j[j.kUserland=1]="kUserland";var W,M=function(e){function i(t,n,i,r){var o=e.call(this)||this;o.envObject=t,o._refcount=i,o._ownership=r;var s,a=t.ctx.handleStore.get(n);return o.canBeWeak=(s=a).isObject()||s.isFunction()||s.isSymbol(),o.persistent=new B(a.value),o.id=0,0===i&&o._setWeak(),o}return n(i,e),i.weakCallback=function(t){t.persistent.reset(),t.invokeFinalizerFromGC()},i.create=function(t,e,n,r,o,s,a){var u=new i(t,e,n,r);return t.ctx.refStore.add(u),u.link(t.reflist),u},i.prototype.ref=function(){return this.persistent.isEmpty()?0:(1===++this._refcount&&this.canBeWeak&&this.persistent.clearWeak(),this._refcount)},i.prototype.unref=function(){return this.persistent.isEmpty()||0===this._refcount?0:(0===--this._refcount&&this._setWeak(),this._refcount)},i.prototype.get=function(t){if(void 0===t&&(t=this.envObject),this.persistent.isEmpty())return 0;var e=this.persistent.deref();return t.ensureHandle(e).id},i.prototype.resetFinalizer=function(){},i.prototype.data=function(){return 0},i.prototype.refcount=function(){return this._refcount},i.prototype.ownership=function(){return this._ownership},i.prototype.callUserFinalizer=function(){},i.prototype.invokeFinalizerFromGC=function(){this.finalize()},i.prototype._setWeak=function(){this.canBeWeak?this.persistent.setWeak(this,i.weakCallback):this.persistent.reset()},i.prototype.finalize=function(){this.persistent.reset();var e=this._ownership===t.ReferenceOwnership.kRuntime;this.unlink(),this.callUserFinalizer(),e&&this.dispose()},i.prototype.dispose=function(){0!==this.id&&(this.unlink(),this.persistent.reset(),this.envObject.ctx.refStore.remove(this.id),e.prototype.dispose.call(this),this.envObject=void 0,this.id=0)},i}(C),P=function(t){function e(e,n,i,r,o){var s=t.call(this,e,n,i,r)||this;return s._data=o,s}return n(e,t),e.create=function(t,n,i,r,o){var s=new e(t,n,i,r,o);return t.ctx.refStore.add(s),s.link(t.reflist),s},e.prototype.data=function(){return this._data},e}(M),L=function(t){function e(e,n,i,r,o,s,a){var u=t.call(this,e,n,i,r)||this;return u._finalizer=new x(e,o,s,a),u}return n(e,t),e.create=function(t,n,i,r,o,s,a){var u=new e(t,n,i,r,o,s,a);return t.ctx.refStore.add(u),u.link(t.finalizing_reflist),u},e.prototype.resetFinalizer=function(){this._finalizer.resetFinalizer()},e.prototype.data=function(){return this._finalizer.data()},e.prototype.callUserFinalizer=function(){this._finalizer.callFinalizer()},e.prototype.invokeFinalizerFromGC=function(){this._finalizer.envObject.invokeFinalizerFromGC(this)},e.prototype.dispose=function(){this._finalizer&&(this._finalizer.envObject.dequeueFinalizer(this),this._finalizer.dispose(),t.prototype.dispose.call(this),this._finalizer=void 0)},e}(M),U=function(){function t(t,e){this.id=0,this.ctx=t,this.value=e}return t.create=function(e,n){var i=new t(e,n);return e.deferredStore.add(i),i},t.prototype.resolve=function(t){this.value.resolve(t),this.dispose()},t.prototype.reject=function(t){this.value.reject(t),this.dispose()},t.prototype.dispose=function(){this.ctx.deferredStore.remove(this.id),this.id=0,this.value=null,this.ctx=null},t}(),V=function(){function t(){this._values=[void 0],this._values.length=4,this._size=1,this._freeList=[]}return t.prototype.add=function(t){var e;if(this._freeList.length)e=this._freeList.shift();else{e=this._size,this._size++;var n=this._values.length;e>=n&&(this._values.length=n+(n>>1)+16)}t.id=e,this._values[e]=t},t.prototype.get=function(t){return this._values[t]},t.prototype.has=function(t){return void 0!==this._values[t]},t.prototype.remove=function(t){var e=this._values[t];e&&(e.id=0,this._values[t]=void 0,this._freeList.push(Number(t)))},t.prototype.dispose=function(){for(var t=1;t0)throw new Error("Can not add same fn and arg twice");this._cleanupHooks.push(new G(t,e,n,this._cleanupHookCounter++))},t.prototype.remove=function(t,e,n){for(var i=0;i{function t(t){Object.setPrototypeOf(this,null),e.set(this,t)}return t.prototype=null,t})();function s(i){if(!t(i))throw new TypeError("not external");return e.get(i)}const n=function(){let e;try{e=new Function}catch(e){return!1}return"function"==typeof e}(),r=function(){if("undefined"!=typeof globalThis)return globalThis;let e=function(){return this}();if(!e&&n)try{e=new Function("return this")()}catch(e){}if(!e){if("undefined"==typeof __webpack_public_path__&&"undefined"!=typeof global)return global;if("undefined"!=typeof window)return window;if("undefined"!=typeof self)return self}return e}();class a{constructor(){this._exception=void 0,this._caught=!1}isEmpty(){return!this._caught}hasCaught(){return this._caught}exception(){return this._exception}setError(e){this._caught=!0,this._exception=e}reset(){this._caught=!1,this._exception=void 0}extractException(){const e=this._exception;return this.reset(),e}}const o=function(){var e;try{return Boolean(null===(e=Object.getOwnPropertyDescriptor(Function.prototype,"name"))||void 0===e?void 0:e.configurable)}catch(e){return!1}}(),l="object"==typeof Reflect,c="undefined"!=typeof FinalizationRegistry&&"undefined"!=typeof WeakRef,h=function(){try{const e=Symbol();new WeakRef(e),(new WeakMap).set(e,void 0)}catch(e){return!1}return!0}(),u="undefined"!=typeof BigInt;function p(e){return"object"==typeof e&&null!==e||"function"==typeof e}const f=function(){let e;return e="undefined"!=typeof __webpack_public_path__||"undefined"!=typeof __webpack_public_path__?"undefined"!=typeof __non_webpack_require__?__non_webpack_require__:void 0:"undefined"!=typeof require?require:void 0,e}(),d="function"==typeof MessageChannel?MessageChannel:function(){try{return f("worker_threads").MessageChannel}catch(e){}}(),_="function"==typeof setImmediate?setImmediate:function(e){if("function"!=typeof e)throw new TypeError('The "callback" argument must be of type function');if(d){let t=new d;t.port1.onmessage=function(){t.port1.onmessage=null,t=void 0,e()},t.port2.postMessage(null)}else setTimeout(e,0)},v="function"==typeof Buffer?Buffer:function(){try{return f("buffer").Buffer}catch(e){}}(),g="1.8.1",y=1,z=10,b=2147483647,k=8;class w{constructor(e,t){this.id=e,this.value=t}data(){return s(this.value)}isNumber(){return"number"==typeof this.value}isBigInt(){return"bigint"==typeof this.value}isString(){return"string"==typeof this.value}isFunction(){return"function"==typeof this.value}isExternal(){return t(this.value)}isObject(){return"object"==typeof this.value&&null!==this.value}isArray(){return Array.isArray(this.value)}isArrayBuffer(){return this.value instanceof ArrayBuffer}isTypedArray(){return ArrayBuffer.isView(this.value)&&!(this.value instanceof DataView)}isBuffer(e){return!!ArrayBuffer.isView(this.value)||(null!=e||(e=v),"function"==typeof e&&e.isBuffer(this.value))}isDataView(){return this.value instanceof DataView}isDate(){return this.value instanceof Date}isPromise(){return this.value instanceof Promise}isBoolean(){return"boolean"==typeof this.value}isUndefined(){return void 0===this.value}isSymbol(){return"symbol"==typeof this.value}isNull(){return null===this.value}dispose(){this.value=void 0}}class m extends w{constructor(e,t){super(e,t)}dispose(){}}class C{constructor(){this._values=[void 0,C.UNDEFINED,C.NULL,C.FALSE,C.TRUE,C.GLOBAL],this._next=C.MIN_ID}push(e){let t;const i=this._next,s=this._values;return i=this.end)return null;this.handleStore.swap(e,this.start);const t=this.handleStore.get(this.start);return this.start++,this.parent.end++,t}escapeCalled(){return this._escapeCalled}}class x{constructor(){this._rootScope=new S(null,0,null,1,C.MIN_ID),this.currentScope=this._rootScope,this._values=[void 0]}get(e){return this._values[e]}openScope(e){const t=this.currentScope;let i=t.child;if(null!==i)i.start=i.end=t.end;else{const s=t.id+1;i=new S(e,s,t,t.end),this._values[s]=i}return this.currentScope=i,i}closeScope(){const e=this.currentScope;this.currentScope=e.parent,e.dispose()}dispose(){this.currentScope=this._rootScope,this._values.length=1}}class F{constructor(){this._next=null,this._prev=null}dispose(){}finalize(){}link(e){this._prev=e,this._next=e._next,null!==this._next&&(this._next._prev=this),e._next=this}unlink(){null!==this._prev&&(this._prev._next=this._next),null!==this._next&&(this._next._prev=this._prev),this._prev=null,this._next=null}static finalizeAll(e){for(;null!==e._next;)e._next.finalize()}}class E{constructor(e,t=0,i=0,s=0){this.envObject=e,this._finalizeCallback=t,this._finalizeData=i,this._finalizeHint=s,this._makeDynCall_vppp=e.makeDynCall_vppp}callback(){return this._finalizeCallback}data(){return this._finalizeData}hint(){return this._finalizeHint}resetEnv(){this.envObject=void 0}resetFinalizer(){this._finalizeCallback=0,this._finalizeData=0,this._finalizeHint=0}callFinalizer(){const e=this._finalizeCallback,t=this._finalizeData,i=this._finalizeHint;if(this.resetFinalizer(),!e)return;const s=Number(e);this.envObject?this.envObject.callFinalizer(s,t,i):this._makeDynCall_vppp(s)(0,t,i)}dispose(){this.envObject=void 0,this._makeDynCall_vppp=void 0}}class I extends F{static create(e,t,i,s){const n=new I(e,t,i,s);return n.link(e.finalizing_reflist),n}constructor(e,t,i,s){super(),this._finalizer=new E(e,t,i,s)}data(){return this._finalizer.data()}dispose(){this._finalizer&&(this.unlink(),this._finalizer.envObject.dequeueFinalizer(this),this._finalizer.dispose(),this._finalizer=void 0,super.dispose())}finalize(){let e;this.unlink();let t=!1;try{this._finalizer.callFinalizer()}catch(i){t=!0,e=i}if(this.dispose(),t)throw e}}function D(e,t){if(!e.terminatedOrTerminating())throw t}class O{constructor(e,t,i,s,n){this.ctx=e,this.moduleApiVersion=t,this.makeDynCall_vppp=i,this.makeDynCall_vp=s,this.abort=n,this.openHandleScopes=0,this.instanceData=null,this.tryCatch=new a,this.refs=1,this.reflist=new F,this.finalizing_reflist=new F,this.pendingFinalizers=[],this.lastError={errorCode:0,engineErrorCode:0,engineReserved:0},this.inGcFinalizer=!1,this._bindingMap=new WeakMap,this.id=0}canCallIntoJs(){return!0}terminatedOrTerminating(){return!this.canCallIntoJs()}ref(){this.refs++}unref(){this.refs--,0===this.refs&&this.dispose()}ensureHandle(e){return this.ctx.ensureHandle(e)}ensureHandleId(e){return this.ensureHandle(e).id}clearLastError(){const e=this.lastError;return 0!==e.errorCode&&(e.errorCode=0),0!==e.engineErrorCode&&(e.engineErrorCode=0),0!==e.engineReserved&&(e.engineReserved=0),0}setLastError(e,t=0,i=0){const s=this.lastError;return s.errorCode!==e&&(s.errorCode=e),s.engineErrorCode!==t&&(s.engineErrorCode=t),s.engineReserved!==i&&(s.engineReserved=i),e}getReturnStatus(){return this.tryCatch.hasCaught()?this.setLastError(10):0}callIntoModule(e,t=D){const i=this.openHandleScopes;this.clearLastError();const s=e(this);if(i!==this.openHandleScopes&&this.abort("open_handle_scopes != open_handle_scopes_before"),this.tryCatch.hasCaught()){t(this,this.tryCatch.extractException())}return s}invokeFinalizerFromGC(e){if(this.moduleApiVersion!==b)this.enqueueFinalizer(e);else{const t=this.inGcFinalizer;this.inGcFinalizer=!0;try{e.finalize()}finally{this.inGcFinalizer=t}}}checkGCAccess(){this.moduleApiVersion===b&&this.inGcFinalizer&&this.abort("Finalizer is calling a function that may affect GC state.\nThe finalizers are run directly from GC and must not affect GC state.\nUse `node_api_post_finalizer` from inside of the finalizer to work around this issue.\nIt schedules the call as a new task in the event loop.")}enqueueFinalizer(e){-1===this.pendingFinalizers.indexOf(e)&&this.pendingFinalizers.push(e)}dequeueFinalizer(e){const t=this.pendingFinalizers.indexOf(e);-1!==t&&this.pendingFinalizers.splice(t,1)}deleteMe(){F.finalizeAll(this.finalizing_reflist),F.finalizeAll(this.reflist),this.tryCatch.extractException(),this.ctx.envStore.remove(this.id)}dispose(){0!==this.id&&(this.deleteMe(),this.finalizing_reflist.dispose(),this.reflist.dispose(),this.id=0)}initObjectBinding(e){const t={wrapped:0,tag:null};return this._bindingMap.set(e,t),t}getObjectBinding(e){return this._bindingMap.has(e)?this._bindingMap.get(e):this.initObjectBinding(e)}setInstanceData(e,t,i){this.instanceData&&this.instanceData.dispose(),this.instanceData=I.create(this,t,e,i)}getInstanceData(){return this.instanceData?this.instanceData.data():0}}class H extends O{constructor(e,t,i,s,n,r,a){super(e,i,s,n,r),this.filename=t,this.nodeBinding=a,this.destructing=!1,this.finalizationScheduled=!1}deleteMe(){this.destructing=!0,this.drainFinalizerQueue(),super.deleteMe()}canCallIntoJs(){return super.canCallIntoJs()&&this.ctx.canCallIntoJs()}triggerFatalException(e){if(this.nodeBinding)this.nodeBinding.napi.fatalException(e);else{if("object"!=typeof process||null===process||"function"!=typeof process._fatalException)throw e;process._fatalException(e)||(console.error(e),process.exit(1))}}callbackIntoModule(e,t){return this.callIntoModule(t,(t,i)=>{if(t.terminatedOrTerminating())return;const s="object"==typeof process&&null!==process,n=!!s&&Boolean(process.execArgv&&-1!==process.execArgv.indexOf("--force-node-api-uncaught-exceptions-policy"));if(t.moduleApiVersion<10&&!n&&!e){return void(s&&"function"==typeof process.emitWarning?process.emitWarning:function(e,t,i){if(e instanceof Error)console.warn(e.toString());else{const s=i?`[${i}] `:"";console.warn(`${s}${t||"Warning"}: ${e}`)}})("Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.","DeprecationWarning","DEP0168")}t.triggerFatalException(i)})}callFinalizer(e,t,i){this.callFinalizerInternal(1,e,t,i)}callFinalizerInternal(e,t,i,s){const n=this.makeDynCall_vppp(t),r=this.id,a=this.ctx.openScope(this);try{this.callbackIntoModule(Boolean(e),()=>{n(r,i,s)})}finally{this.ctx.closeScope(this,a)}}enqueueFinalizer(e){super.enqueueFinalizer(e),this.finalizationScheduled||this.destructing||(this.finalizationScheduled=!0,this.ref(),_(()=>{this.finalizationScheduled=!1,this.unref(),this.drainFinalizerQueue()}))}drainFinalizerQueue(){for(;this.pendingFinalizers.length>0;){this.pendingFinalizers.shift().finalize()}}}function j(e,t,i,s,n,r,a){(i="number"!=typeof i?8:i)<8?i=8:i>10&&i!==b&&function(e,t){throw new Error(`${e} requires Node-API version ${t}, but this version of Node.js only supports version 10 add-ons.`)}(t,i);const o=new H(e,t,i,s,n,r,a);return e.envStore.add(o),e.addCleanupHook(o,()=>{o.unref()},0),o}class N extends Error{constructor(e){super(e);const t=new.target,i=t.prototype;if(!(this instanceof N)){const e=Object.setPrototypeOf;"function"==typeof e?e.call(Object,this,i):this.__proto__=i,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,t)}}}Object.defineProperty(N.prototype,"name",{configurable:!0,writable:!0,value:"EmnapiError"});class R extends N{constructor(e,t){super(`${e}: The current runtime does not support "FinalizationRegistry" and "WeakRef".${t?` ${t}`:""}`)}}Object.defineProperty(R.prototype,"name",{configurable:!0,writable:!0,value:"NotSupportWeakRefError"});class A extends N{constructor(e,t){super(`${e}: The current runtime does not support "Buffer". Consider using buffer polyfill to make sure \`globalThis.Buffer\` is defined.${t?` ${t}`:""}`)}}Object.defineProperty(A.prototype,"name",{configurable:!0,writable:!0,value:"NotSupportBufferError"});class B{constructor(e){this._value=e}deref(){return this._value}dispose(){this._value=void 0}}class W{constructor(e){this._ref=new B(e)}setWeak(e,t){if(!c||void 0===this._ref||this._ref instanceof WeakRef)return;const i=this._ref.deref();try{W._registry.register(i,this,this);const s=new WeakRef(i);this._ref.dispose(),this._ref=s,this._param=e,this._callback=t}catch(e){if("symbol"!=typeof i)throw e}}clearWeak(){if(c&&void 0!==this._ref&&this._ref instanceof WeakRef){try{W._registry.unregister(this)}catch(e){}this._param=void 0,this._callback=void 0;const e=this._ref.deref();this._ref=void 0===e?e:new B(e)}}reset(){if(c)try{W._registry.unregister(this)}catch(e){}this._param=void 0,this._callback=void 0,this._ref instanceof B&&this._ref.dispose(),this._ref=void 0}isEmpty(){return void 0===this._ref}deref(){if(void 0!==this._ref)return this._ref.deref()}}var M;W._registry=c?new FinalizationRegistry(e=>{e._ref=void 0;const t=e._callback,i=e._param;e._callback=void 0,e._param=void 0,"function"==typeof t&&t(i)}):void 0,function(e){e[e.kRuntime=0]="kRuntime",e[e.kUserland=1]="kUserland"}(M||(M={}));class L extends F{static weakCallback(e){e.persistent.reset(),e.invokeFinalizerFromGC()}static create(e,t,i,s,n,r,a){const o=new L(e,t,i,s);return e.ctx.refStore.add(o),o.link(e.reflist),o}constructor(e,t,i,s){super(),this.envObject=e,this._refcount=i,this._ownership=s;const n=e.ctx.handleStore.get(t);var r;this.canBeWeak=(r=n).isObject()||r.isFunction()||r.isSymbol(),this.persistent=new W(n.value),this.id=0,0===i&&this._setWeak()}ref(){return this.persistent.isEmpty()?0:(1===++this._refcount&&this.canBeWeak&&this.persistent.clearWeak(),this._refcount)}unref(){return this.persistent.isEmpty()||0===this._refcount?0:(0===--this._refcount&&this._setWeak(),this._refcount)}get(e=this.envObject){if(this.persistent.isEmpty())return 0;const t=this.persistent.deref();return e.ensureHandle(t).id}resetFinalizer(){}data(){return 0}refcount(){return this._refcount}ownership(){return this._ownership}callUserFinalizer(){}invokeFinalizerFromGC(){this.finalize()}_setWeak(){this.canBeWeak?this.persistent.setWeak(this,L.weakCallback):this.persistent.reset()}finalize(){this.persistent.reset();const e=this._ownership===M.kRuntime;this.unlink(),this.callUserFinalizer(),e&&this.dispose()}dispose(){0!==this.id&&(this.unlink(),this.persistent.reset(),this.envObject.ctx.refStore.remove(this.id),super.dispose(),this.envObject=void 0,this.id=0)}}class T extends L{static create(e,t,i,s,n){const r=new T(e,t,i,s,n);return e.ctx.refStore.add(r),r.link(e.reflist),r}constructor(e,t,i,s,n){super(e,t,i,s),this._data=n}data(){return this._data}}class U extends L{static create(e,t,i,s,n,r,a){const o=new U(e,t,i,s,n,r,a);return e.ctx.refStore.add(o),o.link(e.finalizing_reflist),o}constructor(e,t,i,s,n,r,a){super(e,t,i,s),this._finalizer=new E(e,n,r,a)}resetFinalizer(){this._finalizer.resetFinalizer()}data(){return this._finalizer.data()}callUserFinalizer(){this._finalizer.callFinalizer()}invokeFinalizerFromGC(){this._finalizer.envObject.invokeFinalizerFromGC(this)}dispose(){this._finalizer&&(this._finalizer.envObject.dequeueFinalizer(this),this._finalizer.dispose(),super.dispose(),this._finalizer=void 0)}}class P{static create(e,t){const i=new P(e,t);return e.deferredStore.add(i),i}constructor(e,t){this.id=0,this.ctx=e,this.value=t}resolve(e){this.value.resolve(e),this.dispose()}reject(e){this.value.reject(e),this.dispose()}dispose(){this.ctx.deferredStore.remove(this.id),this.id=0,this.value=null,this.ctx=null}}class G{constructor(){this._values=[void 0],this._values.length=4,this._size=1,this._freeList=[]}add(e){let t;if(this._freeList.length)t=this._freeList.shift();else{t=this._size,this._size++;const e=this._values.length;t>=e&&(this._values.length=e+(e>>1)+16)}e.id=t,this._values[t]=e}get(e){return this._values[e]}has(e){return void 0!==this._values[e]}remove(e){const t=this._values[e];t&&(t.id=0,this._values[e]=void 0,this._freeList.push(Number(e)))}dispose(){for(let e=1;es.envObject===e&&s.fn===t&&s.arg===i).length>0)throw new Error("Can not add same fn and arg twice");this._cleanupHooks.push(new q(e,t,i,this._cleanupHookCounter++))}remove(e,t,i){for(let s=0;st.order-e.order);for(let t=0;t{this._suppressDestroy||this.destroy()}))}suppressDestroy(){this._suppressDestroy=!0}getRuntimeVersions(){return{version:g,NODE_API_SUPPORTED_VERSION_MAX:10,NAPI_VERSION_EXPERIMENTAL:b,NODE_API_DEFAULT_MODULE_API_VERSION:8}}createNotSupportWeakRefError(e,t){return new R(e,t)}createNotSupportBufferError(e,t){return new A(e,t)}createReference(e,t,i,s){return L.create(e,t,i,s)}createReferenceWithData(e,t,i,s,n){return T.create(e,t,i,s,n)}createReferenceWithFinalizer(e,t,i,s,n=0,r=0,a=0){return U.create(e,t,i,s,n,r,a)}createDeferred(e){return P.create(this,e)}createEnv(e,t,i,s,n,r){return j(this,e,t,i,s,n,r)}createTrackedFinalizer(e,t,i,s){return I.create(e,t,i,s)}getCurrentScope(){return this.scopeStore.currentScope}addToCurrentScope(e){return this.scopeStore.currentScope.add(e)}openScope(e){const t=this.scopeStore.openScope(this.handleStore);return e&&e.openHandleScopes++,t}closeScope(e,t){e&&0===e.openHandleScopes||(this.scopeStore.closeScope(),e&&e.openHandleScopes--)}ensureHandle(e){switch(e){case void 0:return C.UNDEFINED;case null:return C.NULL;case!0:return C.TRUE;case!1:return C.FALSE;case r:return C.GLOBAL}return this.addToCurrentScope(e)}addCleanupHook(e,t,i){this.cleanupQueue.add(e,t,i)}removeCleanupHook(e,t,i){this.cleanupQueue.remove(e,t,i)}runCleanup(){for(;!this.cleanupQueue.empty();)this.cleanupQueue.drain()}increaseWaitingRequestCounter(){var e;null===(e=this.refCounter)||void 0===e||e.increase()}decreaseWaitingRequestCounter(){var e;null===(e=this.refCounter)||void 0===e||e.decrease()}setCanCallIntoJs(e){this._canCallIntoJs=e}setStopping(e){this._isStopping=e}canCallIntoJs(){return this._canCallIntoJs&&!this._isStopping}destroy(){this.setStopping(!0),this.setCanCallIntoJs(!1),this.runCleanup()}}let Q;function X(){return new J}function K(){return Q||(Q=X()),Q}export{m as ConstHandle,J as Context,P as Deferred,N as EmnapiError,O as Env,i as External,E as Finalizer,w as Handle,S as HandleScope,C as HandleStore,b as NAPI_VERSION_EXPERIMENTAL,k as NODE_API_DEFAULT_MODULE_API_VERSION,z as NODE_API_SUPPORTED_VERSION_MAX,y as NODE_API_SUPPORTED_VERSION_MIN,H as NodeEnv,A as NotSupportBufferError,R as NotSupportWeakRefError,W as Persistent,F as RefTracker,L as Reference,M as ReferenceOwnership,T as ReferenceWithData,U as ReferenceWithFinalizer,x as ScopeStore,G as Store,I as TrackedFinalizer,a as TryCatch,X as createContext,K as getDefaultContext,s as getExternalValue,t as isExternal,p as isReferenceType,g as version}; diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.mjs b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.mjs new file mode 100644 index 000000000..2a17f4957 --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/dist/emnapi.mjs @@ -0,0 +1,1323 @@ +const externalValue = new WeakMap(); +function isExternal(object) { + return externalValue.has(object); +} +const External = (() => { + function External(value) { + Object.setPrototypeOf(this, null); + externalValue.set(this, value); + } + External.prototype = null; + return External; +})(); +function getExternalValue(external) { + if (!isExternal(external)) { + throw new TypeError('not external'); + } + return externalValue.get(external); +} + +const supportNewFunction = (function () { + let f; + try { + f = new Function(); + } + catch (_) { + return false; + } + return typeof f === 'function'; +})(); +const _global = (function () { + if (typeof globalThis !== 'undefined') + return globalThis; + let g = (function () { return this; })(); + if (!g && supportNewFunction) { + try { + g = new Function('return this')(); + } + catch (_) { } + } + if (!g) { + if (typeof __webpack_public_path__ === 'undefined') { + if (typeof global !== 'undefined') + return global; + } + if (typeof window !== 'undefined') + return window; + if (typeof self !== 'undefined') + return self; + } + return g; +})(); +class TryCatch { + constructor() { + this._exception = undefined; + this._caught = false; + } + isEmpty() { + return !this._caught; + } + hasCaught() { + return this._caught; + } + exception() { + return this._exception; + } + setError(err) { + this._caught = true; + this._exception = err; + } + reset() { + this._caught = false; + this._exception = undefined; + } + extractException() { + const e = this._exception; + this.reset(); + return e; + } +} +const canSetFunctionName = (function () { + var _a; + try { + return Boolean((_a = Object.getOwnPropertyDescriptor(Function.prototype, 'name')) === null || _a === void 0 ? void 0 : _a.configurable); + } + catch (_) { + return false; + } +})(); +const supportReflect = typeof Reflect === 'object'; +const supportFinalizer = (typeof FinalizationRegistry !== 'undefined') && (typeof WeakRef !== 'undefined'); +const supportWeakSymbol = (function () { + try { + const sym = Symbol(); + new WeakRef(sym); + new WeakMap().set(sym, undefined); + } + catch (_) { + return false; + } + return true; +})(); +const supportBigInt = typeof BigInt !== 'undefined'; +function isReferenceType(v) { + return (typeof v === 'object' && v !== null) || typeof v === 'function'; +} +const _require = (function () { + let nativeRequire; + if (typeof __webpack_public_path__ !== 'undefined') { + nativeRequire = (function () { + return typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined; + })(); + } + else { + nativeRequire = (function () { + return typeof __webpack_public_path__ !== 'undefined' ? (typeof __non_webpack_require__ !== 'undefined' ? __non_webpack_require__ : undefined) : (typeof require !== 'undefined' ? require : undefined); + })(); + } + return nativeRequire; +})(); +const _MessageChannel = typeof MessageChannel === 'function' + ? MessageChannel + : (function () { + try { + return _require('worker_threads').MessageChannel; + } + catch (_) { } + return undefined; + })(); +const _setImmediate = typeof setImmediate === 'function' + ? setImmediate + : function (callback) { + if (typeof callback !== 'function') { + throw new TypeError('The "callback" argument must be of type function'); + } + if (_MessageChannel) { + let channel = new _MessageChannel(); + channel.port1.onmessage = function () { + channel.port1.onmessage = null; + channel = undefined; + callback(); + }; + channel.port2.postMessage(null); + } + else { + setTimeout(callback, 0); + } + }; +const _Buffer = typeof Buffer === 'function' + ? Buffer + : (function () { + try { + return _require('buffer').Buffer; + } + catch (_) { } + return undefined; + })(); +const version = "1.8.1"; +const NODE_API_SUPPORTED_VERSION_MIN = 1; +const NODE_API_SUPPORTED_VERSION_MAX = 10; +const NAPI_VERSION_EXPERIMENTAL = 2147483647; +const NODE_API_DEFAULT_MODULE_API_VERSION = 8; + +class Handle { + constructor(id, value) { + this.id = id; + this.value = value; + } + data() { + return getExternalValue(this.value); + } + isNumber() { + return typeof this.value === 'number'; + } + isBigInt() { + return typeof this.value === 'bigint'; + } + isString() { + return typeof this.value === 'string'; + } + isFunction() { + return typeof this.value === 'function'; + } + isExternal() { + return isExternal(this.value); + } + isObject() { + return typeof this.value === 'object' && this.value !== null; + } + isArray() { + return Array.isArray(this.value); + } + isArrayBuffer() { + return (this.value instanceof ArrayBuffer); + } + isTypedArray() { + return (ArrayBuffer.isView(this.value)) && !(this.value instanceof DataView); + } + isBuffer(BufferConstructor) { + if (ArrayBuffer.isView(this.value)) + return true; + BufferConstructor !== null && BufferConstructor !== void 0 ? BufferConstructor : (BufferConstructor = _Buffer); + return typeof BufferConstructor === 'function' && BufferConstructor.isBuffer(this.value); + } + isDataView() { + return (this.value instanceof DataView); + } + isDate() { + return (this.value instanceof Date); + } + isPromise() { + return (this.value instanceof Promise); + } + isBoolean() { + return typeof this.value === 'boolean'; + } + isUndefined() { + return this.value === undefined; + } + isSymbol() { + return typeof this.value === 'symbol'; + } + isNull() { + return this.value === null; + } + dispose() { + this.value = undefined; + } +} +class ConstHandle extends Handle { + constructor(id, value) { + super(id, value); + } + dispose() { } +} +class HandleStore { + constructor() { + this._values = [ + undefined, + HandleStore.UNDEFINED, + HandleStore.NULL, + HandleStore.FALSE, + HandleStore.TRUE, + HandleStore.GLOBAL + ]; + this._next = HandleStore.MIN_ID; + } + push(value) { + let h; + const next = this._next; + const values = this._values; + if (next < values.length) { + h = values[next]; + h.value = value; + } + else { + h = new Handle(next, value); + values[next] = h; + } + this._next++; + return h; + } + erase(start, end) { + this._next = start; + const values = this._values; + for (let i = start; i < end; ++i) { + values[i].dispose(); + } + } + get(id) { + return this._values[id]; + } + swap(a, b) { + const values = this._values; + const h = values[a]; + values[a] = values[b]; + values[a].id = Number(a); + values[b] = h; + h.id = Number(b); + } + dispose() { + this._values.length = HandleStore.MIN_ID; + this._next = HandleStore.MIN_ID; + } +} +HandleStore.UNDEFINED = new ConstHandle(1, undefined); +HandleStore.NULL = new ConstHandle(2, null); +HandleStore.FALSE = new ConstHandle(3, false); +HandleStore.TRUE = new ConstHandle(4, true); +HandleStore.GLOBAL = new ConstHandle(5, _global); +HandleStore.MIN_ID = 6; + +class HandleScope { + constructor(handleStore, id, parentScope, start, end = start) { + this.handleStore = handleStore; + this.id = id; + this.parent = parentScope; + this.child = null; + if (parentScope !== null) + parentScope.child = this; + this.start = start; + this.end = end; + this._escapeCalled = false; + this.callbackInfo = { + thiz: undefined, + data: 0, + args: undefined, + fn: undefined + }; + } + add(value) { + const h = this.handleStore.push(value); + this.end++; + return h; + } + addExternal(data) { + return this.add(new External(data)); + } + dispose() { + if (this._escapeCalled) + this._escapeCalled = false; + if (this.start === this.end) + return; + this.handleStore.erase(this.start, this.end); + } + escape(handle) { + if (this._escapeCalled) + return null; + this._escapeCalled = true; + if (handle < this.start || handle >= this.end) { + return null; + } + this.handleStore.swap(handle, this.start); + const h = this.handleStore.get(this.start); + this.start++; + this.parent.end++; + return h; + } + escapeCalled() { + return this._escapeCalled; + } +} + +class ScopeStore { + constructor() { + this._rootScope = new HandleScope(null, 0, null, 1, HandleStore.MIN_ID); + this.currentScope = this._rootScope; + this._values = [undefined]; + } + get(id) { + return this._values[id]; + } + openScope(handleStore) { + const currentScope = this.currentScope; + let scope = currentScope.child; + if (scope !== null) { + scope.start = scope.end = currentScope.end; + } + else { + const id = currentScope.id + 1; + scope = new HandleScope(handleStore, id, currentScope, currentScope.end); + this._values[id] = scope; + } + this.currentScope = scope; + return scope; + } + closeScope() { + const scope = this.currentScope; + this.currentScope = scope.parent; + scope.dispose(); + } + dispose() { + this.currentScope = this._rootScope; + this._values.length = 1; + } +} + +class RefTracker { + constructor() { + this._next = null; + this._prev = null; + } + dispose() { } + finalize() { } + link(list) { + this._prev = list; + this._next = list._next; + if (this._next !== null) { + this._next._prev = this; + } + list._next = this; + } + unlink() { + if (this._prev !== null) { + this._prev._next = this._next; + } + if (this._next !== null) { + this._next._prev = this._prev; + } + this._prev = null; + this._next = null; + } + static finalizeAll(list) { + while (list._next !== null) { + list._next.finalize(); + } + } +} + +class Finalizer { + constructor(envObject, _finalizeCallback = 0, _finalizeData = 0, _finalizeHint = 0) { + this.envObject = envObject; + this._finalizeCallback = _finalizeCallback; + this._finalizeData = _finalizeData; + this._finalizeHint = _finalizeHint; + this._makeDynCall_vppp = envObject.makeDynCall_vppp; + } + callback() { return this._finalizeCallback; } + data() { return this._finalizeData; } + hint() { return this._finalizeHint; } + resetEnv() { + this.envObject = undefined; + } + resetFinalizer() { + this._finalizeCallback = 0; + this._finalizeData = 0; + this._finalizeHint = 0; + } + callFinalizer() { + const finalize_callback = this._finalizeCallback; + const finalize_data = this._finalizeData; + const finalize_hint = this._finalizeHint; + this.resetFinalizer(); + if (!finalize_callback) + return; + const fini = Number(finalize_callback); + if (!this.envObject) { + this._makeDynCall_vppp(fini)(0, finalize_data, finalize_hint); + } + else { + this.envObject.callFinalizer(fini, finalize_data, finalize_hint); + } + } + dispose() { + this.envObject = undefined; + this._makeDynCall_vppp = undefined; + } +} + +class TrackedFinalizer extends RefTracker { + static create(envObject, finalize_callback, finalize_data, finalize_hint) { + const finalizer = new TrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint); + finalizer.link(envObject.finalizing_reflist); + return finalizer; + } + constructor(envObject, finalize_callback, finalize_data, finalize_hint) { + super(); + this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint); + } + data() { + return this._finalizer.data(); + } + dispose() { + if (!this._finalizer) + return; + this.unlink(); + this._finalizer.envObject.dequeueFinalizer(this); + this._finalizer.dispose(); + this._finalizer = undefined; + super.dispose(); + } + finalize() { + this.unlink(); + let error; + let caught = false; + try { + this._finalizer.callFinalizer(); + } + catch (err) { + caught = true; + error = err; + } + this.dispose(); + if (caught) { + throw error; + } + } +} + +function throwNodeApiVersionError(moduleName, moduleApiVersion) { + const errorMessage = `${moduleName} requires Node-API version ${moduleApiVersion}, but this version of Node.js only supports version ${NODE_API_SUPPORTED_VERSION_MAX} add-ons.`; + throw new Error(errorMessage); +} +function handleThrow(envObject, value) { + if (envObject.terminatedOrTerminating()) { + return; + } + throw value; +} +class Env { + constructor(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort) { + this.ctx = ctx; + this.moduleApiVersion = moduleApiVersion; + this.makeDynCall_vppp = makeDynCall_vppp; + this.makeDynCall_vp = makeDynCall_vp; + this.abort = abort; + this.openHandleScopes = 0; + this.instanceData = null; + this.tryCatch = new TryCatch(); + this.refs = 1; + this.reflist = new RefTracker(); + this.finalizing_reflist = new RefTracker(); + this.pendingFinalizers = []; + this.lastError = { + errorCode: 0, + engineErrorCode: 0, + engineReserved: 0 + }; + this.inGcFinalizer = false; + this._bindingMap = new WeakMap(); + this.id = 0; + } + canCallIntoJs() { + return true; + } + terminatedOrTerminating() { + return !this.canCallIntoJs(); + } + ref() { + this.refs++; + } + unref() { + this.refs--; + if (this.refs === 0) { + this.dispose(); + } + } + ensureHandle(value) { + return this.ctx.ensureHandle(value); + } + ensureHandleId(value) { + return this.ensureHandle(value).id; + } + clearLastError() { + const lastError = this.lastError; + if (lastError.errorCode !== 0) + lastError.errorCode = 0; + if (lastError.engineErrorCode !== 0) + lastError.engineErrorCode = 0; + if (lastError.engineReserved !== 0) + lastError.engineReserved = 0; + return 0; + } + setLastError(error_code, engine_error_code = 0, engine_reserved = 0) { + const lastError = this.lastError; + if (lastError.errorCode !== error_code) + lastError.errorCode = error_code; + if (lastError.engineErrorCode !== engine_error_code) + lastError.engineErrorCode = engine_error_code; + if (lastError.engineReserved !== engine_reserved) + lastError.engineReserved = engine_reserved; + return error_code; + } + getReturnStatus() { + return !this.tryCatch.hasCaught() ? 0 : this.setLastError(10); + } + callIntoModule(fn, handleException = handleThrow) { + const openHandleScopesBefore = this.openHandleScopes; + this.clearLastError(); + const r = fn(this); + if (openHandleScopesBefore !== this.openHandleScopes) { + this.abort('open_handle_scopes != open_handle_scopes_before'); + } + if (this.tryCatch.hasCaught()) { + const err = this.tryCatch.extractException(); + handleException(this, err); + } + return r; + } + invokeFinalizerFromGC(finalizer) { + if (this.moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) { + this.enqueueFinalizer(finalizer); + } + else { + const saved = this.inGcFinalizer; + this.inGcFinalizer = true; + try { + finalizer.finalize(); + } + finally { + this.inGcFinalizer = saved; + } + } + } + checkGCAccess() { + if (this.moduleApiVersion === NAPI_VERSION_EXPERIMENTAL && this.inGcFinalizer) { + this.abort('Finalizer is calling a function that may affect GC state.\n' + + 'The finalizers are run directly from GC and must not affect GC ' + + 'state.\n' + + 'Use `node_api_post_finalizer` from inside of the finalizer to work ' + + 'around this issue.\n' + + 'It schedules the call as a new task in the event loop.'); + } + } + enqueueFinalizer(finalizer) { + if (this.pendingFinalizers.indexOf(finalizer) === -1) { + this.pendingFinalizers.push(finalizer); + } + } + dequeueFinalizer(finalizer) { + const index = this.pendingFinalizers.indexOf(finalizer); + if (index !== -1) { + this.pendingFinalizers.splice(index, 1); + } + } + deleteMe() { + RefTracker.finalizeAll(this.finalizing_reflist); + RefTracker.finalizeAll(this.reflist); + this.tryCatch.extractException(); + this.ctx.envStore.remove(this.id); + } + dispose() { + if (this.id === 0) + return; + this.deleteMe(); + this.finalizing_reflist.dispose(); + this.reflist.dispose(); + this.id = 0; + } + initObjectBinding(value) { + const binding = { + wrapped: 0, + tag: null + }; + this._bindingMap.set(value, binding); + return binding; + } + getObjectBinding(value) { + if (this._bindingMap.has(value)) { + return this._bindingMap.get(value); + } + return this.initObjectBinding(value); + } + setInstanceData(data, finalize_cb, finalize_hint) { + if (this.instanceData) { + this.instanceData.dispose(); + } + this.instanceData = TrackedFinalizer.create(this, finalize_cb, data, finalize_hint); + } + getInstanceData() { + return this.instanceData ? this.instanceData.data() : 0; + } +} +class NodeEnv extends Env { + constructor(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + super(ctx, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort); + this.filename = filename; + this.nodeBinding = nodeBinding; + this.destructing = false; + this.finalizationScheduled = false; + } + deleteMe() { + this.destructing = true; + this.drainFinalizerQueue(); + super.deleteMe(); + } + canCallIntoJs() { + return super.canCallIntoJs() && this.ctx.canCallIntoJs(); + } + triggerFatalException(err) { + if (this.nodeBinding) { + this.nodeBinding.napi.fatalException(err); + } + else { + if (typeof process === 'object' && process !== null && typeof process._fatalException === 'function') { + const handled = process._fatalException(err); + if (!handled) { + console.error(err); + process.exit(1); + } + } + else { + throw err; + } + } + } + callbackIntoModule(enforceUncaughtExceptionPolicy, fn) { + return this.callIntoModule(fn, (envObject, err) => { + if (envObject.terminatedOrTerminating()) { + return; + } + const hasProcess = typeof process === 'object' && process !== null; + const hasForceFlag = hasProcess ? Boolean(process.execArgv && (process.execArgv.indexOf('--force-node-api-uncaught-exceptions-policy') !== -1)) : false; + if (envObject.moduleApiVersion < 10 && !hasForceFlag && !enforceUncaughtExceptionPolicy) { + const warn = hasProcess && typeof process.emitWarning === 'function' + ? process.emitWarning + : function (warning, type, code) { + if (warning instanceof Error) { + console.warn(warning.toString()); + } + else { + const prefix = code ? `[${code}] ` : ''; + console.warn(`${prefix}${type || 'Warning'}: ${warning}`); + } + }; + warn('Uncaught N-API callback exception detected, please run node with option --force-node-api-uncaught-exceptions-policy=true to handle those exceptions properly.', 'DeprecationWarning', 'DEP0168'); + return; + } + envObject.triggerFatalException(err); + }); + } + callFinalizer(cb, data, hint) { + this.callFinalizerInternal(1, cb, data, hint); + } + callFinalizerInternal(forceUncaught, cb, data, hint) { + const f = this.makeDynCall_vppp(cb); + const env = this.id; + const scope = this.ctx.openScope(this); + try { + this.callbackIntoModule(Boolean(forceUncaught), () => { f(env, data, hint); }); + } + finally { + this.ctx.closeScope(this, scope); + } + } + enqueueFinalizer(finalizer) { + super.enqueueFinalizer(finalizer); + if (!this.finalizationScheduled && !this.destructing) { + this.finalizationScheduled = true; + this.ref(); + _setImmediate(() => { + this.finalizationScheduled = false; + this.unref(); + this.drainFinalizerQueue(); + }); + } + } + drainFinalizerQueue() { + while (this.pendingFinalizers.length > 0) { + const refTracker = this.pendingFinalizers.shift(); + refTracker.finalize(); + } + } +} +function newEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + moduleApiVersion = typeof moduleApiVersion !== 'number' ? NODE_API_DEFAULT_MODULE_API_VERSION : moduleApiVersion; + if (moduleApiVersion < NODE_API_DEFAULT_MODULE_API_VERSION) { + moduleApiVersion = NODE_API_DEFAULT_MODULE_API_VERSION; + } + else if (moduleApiVersion > NODE_API_SUPPORTED_VERSION_MAX && moduleApiVersion !== NAPI_VERSION_EXPERIMENTAL) { + throwNodeApiVersionError(filename, moduleApiVersion); + } + const env = new NodeEnv(ctx, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding); + ctx.envStore.add(env); + ctx.addCleanupHook(env, () => { env.unref(); }, 0); + return env; +} + +class EmnapiError extends Error { + constructor(message) { + super(message); + const ErrorConstructor = new.target; + const proto = ErrorConstructor.prototype; + if (!(this instanceof EmnapiError)) { + const setPrototypeOf = Object.setPrototypeOf; + if (typeof setPrototypeOf === 'function') { + setPrototypeOf.call(Object, this, proto); + } + else { + this.__proto__ = proto; + } + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, ErrorConstructor); + } + } + } +} +Object.defineProperty(EmnapiError.prototype, 'name', { + configurable: true, + writable: true, + value: 'EmnapiError' +}); +class NotSupportWeakRefError extends EmnapiError { + constructor(api, message) { + super(`${api}: The current runtime does not support "FinalizationRegistry" and "WeakRef".${message ? ` ${message}` : ''}`); + } +} +Object.defineProperty(NotSupportWeakRefError.prototype, 'name', { + configurable: true, + writable: true, + value: 'NotSupportWeakRefError' +}); +class NotSupportBufferError extends EmnapiError { + constructor(api, message) { + super(`${api}: The current runtime does not support "Buffer". Consider using buffer polyfill to make sure \`globalThis.Buffer\` is defined.${message ? ` ${message}` : ''}`); + } +} +Object.defineProperty(NotSupportBufferError.prototype, 'name', { + configurable: true, + writable: true, + value: 'NotSupportBufferError' +}); + +class StrongRef { + constructor(value) { + this._value = value; + } + deref() { + return this._value; + } + dispose() { + this._value = undefined; + } +} +class Persistent { + constructor(value) { + this._ref = new StrongRef(value); + } + setWeak(param, callback) { + if (!supportFinalizer || this._ref === undefined || this._ref instanceof WeakRef) + return; + const value = this._ref.deref(); + try { + Persistent._registry.register(value, this, this); + const weakRef = new WeakRef(value); + this._ref.dispose(); + this._ref = weakRef; + this._param = param; + this._callback = callback; + } + catch (err) { + if (typeof value === 'symbol') ; + else { + throw err; + } + } + } + clearWeak() { + if (!supportFinalizer || this._ref === undefined) + return; + if (this._ref instanceof WeakRef) { + try { + Persistent._registry.unregister(this); + } + catch (_) { } + this._param = undefined; + this._callback = undefined; + const value = this._ref.deref(); + if (value === undefined) { + this._ref = value; + } + else { + this._ref = new StrongRef(value); + } + } + } + reset() { + if (supportFinalizer) { + try { + Persistent._registry.unregister(this); + } + catch (_) { } + } + this._param = undefined; + this._callback = undefined; + if (this._ref instanceof StrongRef) { + this._ref.dispose(); + } + this._ref = undefined; + } + isEmpty() { + return this._ref === undefined; + } + deref() { + if (this._ref === undefined) + return undefined; + return this._ref.deref(); + } +} +Persistent._registry = supportFinalizer + ? new FinalizationRegistry((value) => { + value._ref = undefined; + const callback = value._callback; + const param = value._param; + value._callback = undefined; + value._param = undefined; + if (typeof callback === 'function') { + callback(param); + } + }) + : undefined; + +var ReferenceOwnership; +(function (ReferenceOwnership) { + ReferenceOwnership[ReferenceOwnership["kRuntime"] = 0] = "kRuntime"; + ReferenceOwnership[ReferenceOwnership["kUserland"] = 1] = "kUserland"; +})(ReferenceOwnership || (ReferenceOwnership = {})); +function canBeHeldWeakly(value) { + return value.isObject() || value.isFunction() || value.isSymbol(); +} +class Reference extends RefTracker { + static weakCallback(ref) { + ref.persistent.reset(); + ref.invokeFinalizerFromGC(); + } + static create(envObject, handle_id, initialRefcount, ownership, _unused1, _unused2, _unused3) { + const ref = new Reference(envObject, handle_id, initialRefcount, ownership); + envObject.ctx.refStore.add(ref); + ref.link(envObject.reflist); + return ref; + } + constructor(envObject, handle_id, initialRefcount, ownership) { + super(); + this.envObject = envObject; + this._refcount = initialRefcount; + this._ownership = ownership; + const handle = envObject.ctx.handleStore.get(handle_id); + this.canBeWeak = canBeHeldWeakly(handle); + this.persistent = new Persistent(handle.value); + this.id = 0; + if (initialRefcount === 0) { + this._setWeak(); + } + } + ref() { + if (this.persistent.isEmpty()) { + return 0; + } + if (++this._refcount === 1 && this.canBeWeak) { + this.persistent.clearWeak(); + } + return this._refcount; + } + unref() { + if (this.persistent.isEmpty() || this._refcount === 0) { + return 0; + } + if (--this._refcount === 0) { + this._setWeak(); + } + return this._refcount; + } + get(envObject = this.envObject) { + if (this.persistent.isEmpty()) { + return 0; + } + const obj = this.persistent.deref(); + const handle = envObject.ensureHandle(obj); + return handle.id; + } + resetFinalizer() { } + data() { return 0; } + refcount() { return this._refcount; } + ownership() { return this._ownership; } + callUserFinalizer() { } + invokeFinalizerFromGC() { + this.finalize(); + } + _setWeak() { + if (this.canBeWeak) { + this.persistent.setWeak(this, Reference.weakCallback); + } + else { + this.persistent.reset(); + } + } + finalize() { + this.persistent.reset(); + const deleteMe = this._ownership === ReferenceOwnership.kRuntime; + this.unlink(); + this.callUserFinalizer(); + if (deleteMe) { + this.dispose(); + } + } + dispose() { + if (this.id === 0) + return; + this.unlink(); + this.persistent.reset(); + this.envObject.ctx.refStore.remove(this.id); + super.dispose(); + this.envObject = undefined; + this.id = 0; + } +} +class ReferenceWithData extends Reference { + static create(envObject, value, initialRefcount, ownership, data) { + const reference = new ReferenceWithData(envObject, value, initialRefcount, ownership, data); + envObject.ctx.refStore.add(reference); + reference.link(envObject.reflist); + return reference; + } + constructor(envObject, value, initialRefcount, ownership, _data) { + super(envObject, value, initialRefcount, ownership); + this._data = _data; + } + data() { + return this._data; + } +} +class ReferenceWithFinalizer extends Reference { + static create(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + const reference = new ReferenceWithFinalizer(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint); + envObject.ctx.refStore.add(reference); + reference.link(envObject.finalizing_reflist); + return reference; + } + constructor(envObject, value, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint) { + super(envObject, value, initialRefcount, ownership); + this._finalizer = new Finalizer(envObject, finalize_callback, finalize_data, finalize_hint); + } + resetFinalizer() { + this._finalizer.resetFinalizer(); + } + data() { + return this._finalizer.data(); + } + callUserFinalizer() { + this._finalizer.callFinalizer(); + } + invokeFinalizerFromGC() { + this._finalizer.envObject.invokeFinalizerFromGC(this); + } + dispose() { + if (!this._finalizer) + return; + this._finalizer.envObject.dequeueFinalizer(this); + this._finalizer.dispose(); + super.dispose(); + this._finalizer = undefined; + } +} + +class Deferred { + static create(ctx, value) { + const deferred = new Deferred(ctx, value); + ctx.deferredStore.add(deferred); + return deferred; + } + constructor(ctx, value) { + this.id = 0; + this.ctx = ctx; + this.value = value; + } + resolve(value) { + this.value.resolve(value); + this.dispose(); + } + reject(reason) { + this.value.reject(reason); + this.dispose(); + } + dispose() { + this.ctx.deferredStore.remove(this.id); + this.id = 0; + this.value = null; + this.ctx = null; + } +} + +class Store { + constructor() { + this._values = [undefined]; + this._values.length = 4; + this._size = 1; + this._freeList = []; + } + add(value) { + let id; + if (this._freeList.length) { + id = this._freeList.shift(); + } + else { + id = this._size; + this._size++; + const capacity = this._values.length; + if (id >= capacity) { + this._values.length = capacity + (capacity >> 1) + 16; + } + } + value.id = id; + this._values[id] = value; + } + get(id) { + return this._values[id]; + } + has(id) { + return this._values[id] !== undefined; + } + remove(id) { + const value = this._values[id]; + if (value) { + value.id = 0; + this._values[id] = undefined; + this._freeList.push(Number(id)); + } + } + dispose() { + for (let i = 1; i < this._size; ++i) { + const value = this._values[i]; + value === null || value === void 0 ? void 0 : value.dispose(); + } + this._values = [undefined]; + this._size = 1; + this._freeList = []; + } +} + +class CleanupHookCallback { + constructor(envObject, fn, arg, order) { + this.envObject = envObject; + this.fn = fn; + this.arg = arg; + this.order = order; + } +} +class CleanupQueue { + constructor() { + this._cleanupHooks = []; + this._cleanupHookCounter = 0; + } + empty() { + return this._cleanupHooks.length === 0; + } + add(envObject, fn, arg) { + if (this._cleanupHooks.filter((hook) => (hook.envObject === envObject && hook.fn === fn && hook.arg === arg)).length > 0) { + throw new Error('Can not add same fn and arg twice'); + } + this._cleanupHooks.push(new CleanupHookCallback(envObject, fn, arg, this._cleanupHookCounter++)); + } + remove(envObject, fn, arg) { + for (let i = 0; i < this._cleanupHooks.length; ++i) { + const hook = this._cleanupHooks[i]; + if (hook.envObject === envObject && hook.fn === fn && hook.arg === arg) { + this._cleanupHooks.splice(i, 1); + return; + } + } + } + drain() { + const hooks = this._cleanupHooks.slice(); + hooks.sort((a, b) => (b.order - a.order)); + for (let i = 0; i < hooks.length; ++i) { + const cb = hooks[i]; + if (typeof cb.fn === 'number') { + cb.envObject.makeDynCall_vp(cb.fn)(cb.arg); + } + else { + cb.fn(cb.arg); + } + this._cleanupHooks.splice(this._cleanupHooks.indexOf(cb), 1); + } + } + dispose() { + this._cleanupHooks.length = 0; + this._cleanupHookCounter = 0; + } +} +class NodejsWaitingRequestCounter { + constructor() { + this.refHandle = new _MessageChannel().port1; + this.count = 0; + } + increase() { + if (this.count === 0) { + if (this.refHandle.ref) { + this.refHandle.ref(); + } + } + this.count++; + } + decrease() { + if (this.count === 0) + return; + if (this.count === 1) { + if (this.refHandle.unref) { + this.refHandle.unref(); + } + } + this.count--; + } +} +class Context { + constructor() { + this._isStopping = false; + this._canCallIntoJs = true; + this._suppressDestroy = false; + this.envStore = new Store(); + this.scopeStore = new ScopeStore(); + this.refStore = new Store(); + this.deferredStore = new Store(); + this.handleStore = new HandleStore(); + this.feature = { + supportReflect, + supportFinalizer, + supportWeakSymbol, + supportBigInt, + supportNewFunction, + canSetFunctionName, + setImmediate: _setImmediate, + Buffer: _Buffer, + MessageChannel: _MessageChannel + }; + this.cleanupQueue = new CleanupQueue(); + if (typeof process === 'object' && process !== null && typeof process.once === 'function') { + this.refCounter = new NodejsWaitingRequestCounter(); + process.once('beforeExit', () => { + if (!this._suppressDestroy) { + this.destroy(); + } + }); + } + } + suppressDestroy() { + this._suppressDestroy = true; + } + getRuntimeVersions() { + return { + version, + NODE_API_SUPPORTED_VERSION_MAX, + NAPI_VERSION_EXPERIMENTAL, + NODE_API_DEFAULT_MODULE_API_VERSION + }; + } + createNotSupportWeakRefError(api, message) { + return new NotSupportWeakRefError(api, message); + } + createNotSupportBufferError(api, message) { + return new NotSupportBufferError(api, message); + } + createReference(envObject, handle_id, initialRefcount, ownership) { + return Reference.create(envObject, handle_id, initialRefcount, ownership); + } + createReferenceWithData(envObject, handle_id, initialRefcount, ownership, data) { + return ReferenceWithData.create(envObject, handle_id, initialRefcount, ownership, data); + } + createReferenceWithFinalizer(envObject, handle_id, initialRefcount, ownership, finalize_callback = 0, finalize_data = 0, finalize_hint = 0) { + return ReferenceWithFinalizer.create(envObject, handle_id, initialRefcount, ownership, finalize_callback, finalize_data, finalize_hint); + } + createDeferred(value) { + return Deferred.create(this, value); + } + createEnv(filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding) { + return newEnv(this, filename, moduleApiVersion, makeDynCall_vppp, makeDynCall_vp, abort, nodeBinding); + } + createTrackedFinalizer(envObject, finalize_callback, finalize_data, finalize_hint) { + return TrackedFinalizer.create(envObject, finalize_callback, finalize_data, finalize_hint); + } + getCurrentScope() { + return this.scopeStore.currentScope; + } + addToCurrentScope(value) { + return this.scopeStore.currentScope.add(value); + } + openScope(envObject) { + const scope = this.scopeStore.openScope(this.handleStore); + if (envObject) + envObject.openHandleScopes++; + return scope; + } + closeScope(envObject, _scope) { + if (envObject && envObject.openHandleScopes === 0) + return; + this.scopeStore.closeScope(); + if (envObject) + envObject.openHandleScopes--; + } + ensureHandle(value) { + switch (value) { + case undefined: return HandleStore.UNDEFINED; + case null: return HandleStore.NULL; + case true: return HandleStore.TRUE; + case false: return HandleStore.FALSE; + case _global: return HandleStore.GLOBAL; + } + return this.addToCurrentScope(value); + } + addCleanupHook(envObject, fn, arg) { + this.cleanupQueue.add(envObject, fn, arg); + } + removeCleanupHook(envObject, fn, arg) { + this.cleanupQueue.remove(envObject, fn, arg); + } + runCleanup() { + while (!this.cleanupQueue.empty()) { + this.cleanupQueue.drain(); + } + } + increaseWaitingRequestCounter() { + var _a; + (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.increase(); + } + decreaseWaitingRequestCounter() { + var _a; + (_a = this.refCounter) === null || _a === void 0 ? void 0 : _a.decrease(); + } + setCanCallIntoJs(value) { + this._canCallIntoJs = value; + } + setStopping(value) { + this._isStopping = value; + } + canCallIntoJs() { + return this._canCallIntoJs && !this._isStopping; + } + destroy() { + this.setStopping(true); + this.setCanCallIntoJs(false); + this.runCleanup(); + } +} +let defaultContext; +function createContext() { + return new Context(); +} +function getDefaultContext() { + if (!defaultContext) { + defaultContext = createContext(); + } + return defaultContext; +} + +export { ConstHandle, Context, Deferred, EmnapiError, Env, External, Finalizer, Handle, HandleScope, HandleStore, NAPI_VERSION_EXPERIMENTAL, NODE_API_DEFAULT_MODULE_API_VERSION, NODE_API_SUPPORTED_VERSION_MAX, NODE_API_SUPPORTED_VERSION_MIN, NodeEnv, NotSupportBufferError, NotSupportWeakRefError, Persistent, RefTracker, Reference, ReferenceOwnership, ReferenceWithData, ReferenceWithFinalizer, ScopeStore, Store, TrackedFinalizer, TryCatch, createContext, getDefaultContext, getExternalValue, isExternal, isReferenceType, version }; diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/index.js b/dealplustech-astro/node_modules/@emnapi/runtime/index.js new file mode 100644 index 000000000..efd0f2fe4 --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/index.js @@ -0,0 +1,5 @@ +if (typeof process !== 'undefined' && process.env.NODE_ENV === 'production') { + module.exports = require('./dist/emnapi.cjs.min.js') +} else { + module.exports = require('./dist/emnapi.cjs.js') +} diff --git a/dealplustech-astro/node_modules/@emnapi/runtime/package.json b/dealplustech-astro/node_modules/@emnapi/runtime/package.json new file mode 100644 index 000000000..eb52910ac --- /dev/null +++ b/dealplustech-astro/node_modules/@emnapi/runtime/package.json @@ -0,0 +1,48 @@ +{ + "name": "@emnapi/runtime", + "version": "1.8.1", + "description": "emnapi runtime", + "main": "index.js", + "module": "./dist/emnapi.esm-bundler.js", + "types": "./dist/emnapi.d.ts", + "sideEffects": false, + "exports": { + ".": { + "types": { + "module": "./dist/emnapi.d.ts", + "import": "./dist/emnapi.d.mts", + "default": "./dist/emnapi.d.ts" + }, + "module": "./dist/emnapi.esm-bundler.js", + "import": "./dist/emnapi.mjs", + "default": "./index.js" + }, + "./dist/emnapi.cjs.min": { + "types": "./dist/emnapi.d.ts", + "default": "./dist/emnapi.cjs.min.js" + }, + "./dist/emnapi.min.mjs": { + "types": "./dist/emnapi.d.mts", + "default": "./dist/emnapi.min.mjs" + } + }, + "dependencies": { + "tslib": "^2.4.0" + }, + "scripts": { + "build": "node ./script/build.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/toyobayashi/emnapi.git" + }, + "author": "toyobayashi", + "license": "MIT", + "bugs": { + "url": "https://github.com/toyobayashi/emnapi/issues" + }, + "homepage": "https://github.com/toyobayashi/emnapi#readme", + "publishConfig": { + "access": "public" + } +} diff --git a/dealplustech-astro/node_modules/@libsql/client/README.md b/dealplustech-astro/node_modules/@libsql/client/README.md new file mode 100644 index 000000000..11fcd602f --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/README.md @@ -0,0 +1,126 @@ +

+ + + libSQL TypeScript + + +

libSQL TypeScript

+

+ +

+ Databases for all TypeScript and JS multi-tenant apps. +

+ +

+ Turso · + Docs · + Quickstart · + SDK Reference · + Blog & Tutorials +

+ +

+ + + MIT License + + + + + Discord + + + + + Contributors + + + + + Weekly downloads + + + + + Examples + + +

+ +## Features + +- 🔌 Works offline with [Embedded Replicas](https://docs.turso.tech/features/embedded-replicas/introduction) +- 🌎 Works with remote Turso databases +- ✨ Works with Turso [AI & Vector Search](https://docs.turso.tech/features/ai-and-embeddings) +- 🔐 Supports [encryption at rest](https://docs.turso.tech/libsql#encryption-at-rest) + +## Install + +```bash +npm install @libsql/client +``` + +## Quickstart + +The example below uses Embedded Replicas and syncs every minute from Turso. + +```ts +import { createClient } from "@libsql/client"; + +export const turso = createClient({ + url: "file:local.db", + syncUrl: process.env.TURSO_DATABASE_URL, + authToken: process.env.TURSO_AUTH_TOKEN, + syncInterval: 60000, +}); + +await turso.batch( + [ + "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)", + { + sql: "INSERT INTO users(name) VALUES (?)", + args: ["Iku"], + }, + ], + "write", +); + +await turso.execute({ + sql: "SELECT * FROM users WHERE id = ?", + args: [1], +}); +``` + +## Examples + +| Example | Description | +| ------------------------------------- | --------------------------------------------------------------------------------------- | +| [local](examples/local) | Uses libsql with a local SQLite file. Creates database, inserts data, and queries. | +| [remote](examples/remote) | Connects to a remote database. Requires environment variables for URL and auth token. | +| [sync](examples/sync) | Demonstrates synchronization between local and remote databases. | +| [batch](examples/batch) | Executes multiple SQL statements in a single batch operation. | +| [transactions](examples/transactions) | Shows transaction usage: starting, performing operations, and committing/rolling back. | +| [memory](examples/memory) | Uses an in-memory SQLite database for temporary storage or fast access. | +| [vector](examples/vector) | Works with vector embeddings, storing and querying for similarity search. | +| [encryption](examples/encryption) | Creates and uses an encrypted SQLite database, demonstrating setup and data operations. | +| [ollama](examples/ollama) | Similarity search with Ollama and Mistral. | + +## Documentation + +Visit our [official documentation](https://docs.turso.tech/sdk/ts). + +## Support + +Join us [on Discord](https://tur.so/discord-ts) to get help using this SDK. Report security issues [via email](mailto:security@turso.tech). + +## Contributors + +See the [contributing guide](CONTRIBUTING.md) to learn how to get involved. + +![Contributors](https://contrib.nn.ci/api?repo=tursodatabase/libsql-client-ts) + + + + good first issue + + diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-cjs/hrana.js b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/hrana.js new file mode 100644 index 000000000..a890c700a --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/hrana.js @@ -0,0 +1,372 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.mapHranaError = exports.resultSetFromHrana = exports.stmtToHrana = exports.executeHranaBatch = exports.HranaTransaction = void 0; +const hrana = __importStar(require("@libsql/hrana-client")); +const api_1 = require("@libsql/core/api"); +const util_1 = require("@libsql/core/util"); +class HranaTransaction { + #mode; + #version; + // Promise that is resolved when the BEGIN statement completes, or `undefined` if we haven't executed the + // BEGIN statement yet. + #started; + /** @private */ + constructor(mode, version) { + this.#mode = mode; + this.#version = version; + this.#started = undefined; + } + execute(stmt) { + return this.batch([stmt]).then((results) => results[0]); + } + async batch(stmts) { + const stream = this._getStream(); + if (stream.closed) { + throw new api_1.LibsqlError("Cannot execute statements because the transaction is closed", "TRANSACTION_CLOSED"); + } + try { + const hranaStmts = stmts.map(stmtToHrana); + let rowsPromises; + if (this.#started === undefined) { + // The transaction hasn't started yet, so we need to send the BEGIN statement in a batch with + // `hranaStmts`. + this._getSqlCache().apply(hranaStmts); + const batch = stream.batch(this.#version >= 3); + const beginStep = batch.step(); + const beginPromise = beginStep.run((0, util_1.transactionModeToBegin)(this.#mode)); + // Execute the `hranaStmts` only if the BEGIN succeeded, to make sure that we don't execute it + // outside of a transaction. + let lastStep = beginStep; + rowsPromises = hranaStmts.map((hranaStmt) => { + const stmtStep = batch + .step() + .condition(hrana.BatchCond.ok(lastStep)); + if (this.#version >= 3) { + // If the Hrana version supports it, make sure that we are still in a transaction + stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch))); + } + const rowsPromise = stmtStep.query(hranaStmt); + rowsPromise.catch(() => undefined); // silence Node warning + lastStep = stmtStep; + return rowsPromise; + }); + // `this.#started` is resolved successfully only if the batch and the BEGIN statement inside + // of the batch are both successful. + this.#started = batch + .execute() + .then(() => beginPromise) + .then(() => undefined); + try { + await this.#started; + } + catch (e) { + // If the BEGIN failed, the transaction is unusable and we must close it. However, if the + // BEGIN suceeds and `hranaStmts` fail, the transaction is _not_ closed. + this.close(); + throw e; + } + } + else { + if (this.#version < 3) { + // The transaction has started, so we must wait until the BEGIN statement completed to make + // sure that we don't execute `hranaStmts` outside of a transaction. + await this.#started; + } + else { + // The transaction has started, but we will use `hrana.BatchCond.isAutocommit()` to make + // sure that we don't execute `hranaStmts` outside of a transaction, so we don't have to + // wait for `this.#started` + } + this._getSqlCache().apply(hranaStmts); + const batch = stream.batch(this.#version >= 3); + let lastStep = undefined; + rowsPromises = hranaStmts.map((hranaStmt) => { + const stmtStep = batch.step(); + if (lastStep !== undefined) { + stmtStep.condition(hrana.BatchCond.ok(lastStep)); + } + if (this.#version >= 3) { + stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch))); + } + const rowsPromise = stmtStep.query(hranaStmt); + rowsPromise.catch(() => undefined); // silence Node warning + lastStep = stmtStep; + return rowsPromise; + }); + await batch.execute(); + } + const resultSets = []; + for (let i = 0; i < rowsPromises.length; i++) { + try { + const rows = await rowsPromises[i]; + if (rows === undefined) { + throw new api_1.LibsqlBatchError("Statement in a transaction was not executed, " + + "probably because the transaction has been rolled back", i, "TRANSACTION_CLOSED"); + } + resultSets.push(resultSetFromHrana(rows)); + } + catch (e) { + if (e instanceof api_1.LibsqlBatchError) { + throw e; + } + // Map hrana errors to LibsqlError first, then wrap in LibsqlBatchError + const mappedError = mapHranaError(e); + if (mappedError instanceof api_1.LibsqlError) { + throw new api_1.LibsqlBatchError(mappedError.message, i, mappedError.code, mappedError.extendedCode, mappedError.rawCode, mappedError.cause instanceof Error + ? mappedError.cause + : undefined); + } + throw mappedError; + } + } + return resultSets; + } + catch (e) { + throw mapHranaError(e); + } + } + async executeMultiple(sql) { + const stream = this._getStream(); + if (stream.closed) { + throw new api_1.LibsqlError("Cannot execute statements because the transaction is closed", "TRANSACTION_CLOSED"); + } + try { + if (this.#started === undefined) { + // If the transaction hasn't started yet, start it now + this.#started = stream + .run((0, util_1.transactionModeToBegin)(this.#mode)) + .then(() => undefined); + try { + await this.#started; + } + catch (e) { + this.close(); + throw e; + } + } + else { + // Wait until the transaction has started + await this.#started; + } + await stream.sequence(sql); + } + catch (e) { + throw mapHranaError(e); + } + } + async rollback() { + try { + const stream = this._getStream(); + if (stream.closed) { + return; + } + if (this.#started !== undefined) { + // We don't have to wait for the BEGIN statement to complete. If the BEGIN fails, we will + // execute a ROLLBACK outside of an active transaction, which should be harmless. + } + else { + // We did nothing in the transaction, so there is nothing to rollback. + return; + } + // Pipeline the ROLLBACK statement and the stream close. + const promise = stream.run("ROLLBACK").catch((e) => { + throw mapHranaError(e); + }); + stream.closeGracefully(); + await promise; + } + catch (e) { + throw mapHranaError(e); + } + finally { + // `this.close()` may close the `hrana.Client`, which aborts all pending stream requests, so we + // must call it _after_ we receive the ROLLBACK response. + // Also note that the current stream should already be closed, but we need to call `this.close()` + // anyway, because it may need to do more cleanup. + this.close(); + } + } + async commit() { + // (this method is analogous to `rollback()`) + try { + const stream = this._getStream(); + if (stream.closed) { + throw new api_1.LibsqlError("Cannot commit the transaction because it is already closed", "TRANSACTION_CLOSED"); + } + if (this.#started !== undefined) { + // Make sure to execute the COMMIT only if the BEGIN was successful. + await this.#started; + } + else { + return; + } + const promise = stream.run("COMMIT").catch((e) => { + throw mapHranaError(e); + }); + stream.closeGracefully(); + await promise; + } + catch (e) { + throw mapHranaError(e); + } + finally { + this.close(); + } + } +} +exports.HranaTransaction = HranaTransaction; +async function executeHranaBatch(mode, version, batch, hranaStmts, disableForeignKeys = false) { + if (disableForeignKeys) { + batch.step().run("PRAGMA foreign_keys=off"); + } + const beginStep = batch.step(); + const beginPromise = beginStep.run((0, util_1.transactionModeToBegin)(mode)); + let lastStep = beginStep; + const stmtPromises = hranaStmts.map((hranaStmt) => { + const stmtStep = batch.step().condition(hrana.BatchCond.ok(lastStep)); + if (version >= 3) { + stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch))); + } + const stmtPromise = stmtStep.query(hranaStmt); + lastStep = stmtStep; + return stmtPromise; + }); + const commitStep = batch.step().condition(hrana.BatchCond.ok(lastStep)); + if (version >= 3) { + commitStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch))); + } + const commitPromise = commitStep.run("COMMIT"); + const rollbackStep = batch + .step() + .condition(hrana.BatchCond.not(hrana.BatchCond.ok(commitStep))); + rollbackStep.run("ROLLBACK").catch((_) => undefined); + if (disableForeignKeys) { + batch.step().run("PRAGMA foreign_keys=on"); + } + await batch.execute(); + const resultSets = []; + await beginPromise; + for (let i = 0; i < stmtPromises.length; i++) { + try { + const hranaRows = await stmtPromises[i]; + if (hranaRows === undefined) { + throw new api_1.LibsqlBatchError("Statement in a batch was not executed, probably because the transaction has been rolled back", i, "TRANSACTION_CLOSED"); + } + resultSets.push(resultSetFromHrana(hranaRows)); + } + catch (e) { + if (e instanceof api_1.LibsqlBatchError) { + throw e; + } + // Map hrana errors to LibsqlError first, then wrap in LibsqlBatchError + const mappedError = mapHranaError(e); + if (mappedError instanceof api_1.LibsqlError) { + throw new api_1.LibsqlBatchError(mappedError.message, i, mappedError.code, mappedError.extendedCode, mappedError.rawCode, mappedError.cause instanceof Error + ? mappedError.cause + : undefined); + } + throw mappedError; + } + } + await commitPromise; + return resultSets; +} +exports.executeHranaBatch = executeHranaBatch; +function stmtToHrana(stmt) { + let sql; + let args; + if (Array.isArray(stmt)) { + [sql, args] = stmt; + } + else if (typeof stmt === "string") { + sql = stmt; + } + else { + sql = stmt.sql; + args = stmt.args; + } + const hranaStmt = new hrana.Stmt(sql); + if (args) { + if (Array.isArray(args)) { + hranaStmt.bindIndexes(args); + } + else { + for (const [key, value] of Object.entries(args)) { + hranaStmt.bindName(key, value); + } + } + } + return hranaStmt; +} +exports.stmtToHrana = stmtToHrana; +function resultSetFromHrana(hranaRows) { + const columns = hranaRows.columnNames.map((c) => c ?? ""); + const columnTypes = hranaRows.columnDecltypes.map((c) => c ?? ""); + const rows = hranaRows.rows; + const rowsAffected = hranaRows.affectedRowCount; + const lastInsertRowid = hranaRows.lastInsertRowid !== undefined + ? hranaRows.lastInsertRowid + : undefined; + return new util_1.ResultSetImpl(columns, columnTypes, rows, rowsAffected, lastInsertRowid); +} +exports.resultSetFromHrana = resultSetFromHrana; +function mapHranaError(e) { + if (e instanceof hrana.ClientError) { + const code = mapHranaErrorCode(e); + // TODO: Parse extendedCode once the SQL over HTTP protocol supports it + return new api_1.LibsqlError(e.message, code, undefined, undefined, e); + } + return e; +} +exports.mapHranaError = mapHranaError; +function mapHranaErrorCode(e) { + if (e instanceof hrana.ResponseError && e.code !== undefined) { + return e.code; + } + else if (e instanceof hrana.ProtoError) { + return "HRANA_PROTO_ERROR"; + } + else if (e instanceof hrana.ClosedError) { + return e.cause instanceof hrana.ClientError + ? mapHranaErrorCode(e.cause) + : "HRANA_CLOSED_ERROR"; + } + else if (e instanceof hrana.WebSocketError) { + return "HRANA_WEBSOCKET_ERROR"; + } + else if (e instanceof hrana.HttpServerError) { + return "SERVER_ERROR"; + } + else if (e instanceof hrana.ProtocolVersionError) { + return "PROTOCOL_VERSION_ERROR"; + } + else if (e instanceof hrana.InternalError) { + return "INTERNAL_ERROR"; + } + else { + return "UNKNOWN"; + } +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-cjs/http.js b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/http.js new file mode 100644 index 000000000..32a606cea --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/http.js @@ -0,0 +1,268 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.HttpTransaction = exports.HttpClient = exports._createClient = exports.createClient = void 0; +const hrana = __importStar(require("@libsql/hrana-client")); +const api_1 = require("@libsql/core/api"); +const config_1 = require("@libsql/core/config"); +const hrana_js_1 = require("./hrana.js"); +const sql_cache_js_1 = require("./sql_cache.js"); +const uri_1 = require("@libsql/core/uri"); +const util_1 = require("@libsql/core/util"); +const promise_limit_1 = __importDefault(require("promise-limit")); +__exportStar(require("@libsql/core/api"), exports); +function createClient(config) { + return _createClient((0, config_1.expandConfig)(config, true)); +} +exports.createClient = createClient; +/** @private */ +function _createClient(config) { + if (config.scheme !== "https" && config.scheme !== "http") { + throw new api_1.LibsqlError('The HTTP client supports only "libsql:", "https:" and "http:" URLs, ' + + `got ${JSON.stringify(config.scheme + ":")}. For more information, please read ${util_1.supportedUrlLink}`, "URL_SCHEME_NOT_SUPPORTED"); + } + if (config.encryptionKey !== undefined) { + throw new api_1.LibsqlError("Encryption key is not supported by the remote client.", "ENCRYPTION_KEY_NOT_SUPPORTED"); + } + if (config.scheme === "http" && config.tls) { + throw new api_1.LibsqlError(`A "http:" URL cannot opt into TLS by using ?tls=1`, "URL_INVALID"); + } + else if (config.scheme === "https" && !config.tls) { + throw new api_1.LibsqlError(`A "https:" URL cannot opt out of TLS by using ?tls=0`, "URL_INVALID"); + } + const url = (0, uri_1.encodeBaseUrl)(config.scheme, config.authority, config.path); + return new HttpClient(url, config.authToken, config.intMode, config.fetch, config.concurrency, config.remoteEncryptionKey); +} +exports._createClient = _createClient; +const sqlCacheCapacity = 30; +class HttpClient { + #client; + protocol; + #url; + #intMode; + #customFetch; + #concurrency; + #authToken; + #remoteEncryptionKey; + #promiseLimitFunction; + /** @private */ + constructor(url, authToken, intMode, customFetch, concurrency, remoteEncryptionKey) { + this.#url = url; + this.#authToken = authToken; + this.#intMode = intMode; + this.#customFetch = customFetch; + this.#concurrency = concurrency; + this.#remoteEncryptionKey = remoteEncryptionKey; + this.#client = hrana.openHttp(this.#url, this.#authToken, this.#customFetch, remoteEncryptionKey); + this.#client.intMode = this.#intMode; + this.protocol = "http"; + this.#promiseLimitFunction = (0, promise_limit_1.default)(this.#concurrency); + } + async limit(fn) { + return this.#promiseLimitFunction(fn); + } + async execute(stmtOrSql, args) { + let stmt; + if (typeof stmtOrSql === "string") { + stmt = { + sql: stmtOrSql, + args: args || [], + }; + } + else { + stmt = stmtOrSql; + } + return this.limit(async () => { + try { + const hranaStmt = (0, hrana_js_1.stmtToHrana)(stmt); + // Pipeline all operations, so `hrana.HttpClient` can open the stream, execute the statement and + // close the stream in a single HTTP request. + let rowsPromise; + const stream = this.#client.openStream(); + try { + rowsPromise = stream.query(hranaStmt); + } + finally { + stream.closeGracefully(); + } + const rowsResult = await rowsPromise; + return (0, hrana_js_1.resultSetFromHrana)(rowsResult); + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + }); + } + async batch(stmts, mode = "deferred") { + return this.limit(async () => { + try { + const normalizedStmts = stmts.map((stmt) => { + if (Array.isArray(stmt)) { + return { + sql: stmt[0], + args: stmt[1] || [], + }; + } + return stmt; + }); + const hranaStmts = normalizedStmts.map(hrana_js_1.stmtToHrana); + const version = await this.#client.getVersion(); + // Pipeline all operations, so `hrana.HttpClient` can open the stream, execute the batch and + // close the stream in a single HTTP request. + let resultsPromise; + const stream = this.#client.openStream(); + try { + // It makes sense to use a SQL cache even for a single batch, because it may contain the same + // statement repeated multiple times. + const sqlCache = new sql_cache_js_1.SqlCache(stream, sqlCacheCapacity); + sqlCache.apply(hranaStmts); + // TODO: we do not use a cursor here, because it would cause three roundtrips: + // 1. pipeline request to store SQL texts + // 2. cursor request + // 3. pipeline request to close the stream + const batch = stream.batch(false); + resultsPromise = (0, hrana_js_1.executeHranaBatch)(mode, version, batch, hranaStmts); + } + finally { + stream.closeGracefully(); + } + const results = await resultsPromise; + return results; + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + }); + } + async migrate(stmts) { + return this.limit(async () => { + try { + const hranaStmts = stmts.map(hrana_js_1.stmtToHrana); + const version = await this.#client.getVersion(); + // Pipeline all operations, so `hrana.HttpClient` can open the stream, execute the batch and + // close the stream in a single HTTP request. + let resultsPromise; + const stream = this.#client.openStream(); + try { + const batch = stream.batch(false); + resultsPromise = (0, hrana_js_1.executeHranaBatch)("deferred", version, batch, hranaStmts, true); + } + finally { + stream.closeGracefully(); + } + const results = await resultsPromise; + return results; + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + }); + } + async transaction(mode = "write") { + return this.limit(async () => { + try { + const version = await this.#client.getVersion(); + return new HttpTransaction(this.#client.openStream(), mode, version); + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + }); + } + async executeMultiple(sql) { + return this.limit(async () => { + try { + // Pipeline all operations, so `hrana.HttpClient` can open the stream, execute the sequence and + // close the stream in a single HTTP request. + let promise; + const stream = this.#client.openStream(); + try { + promise = stream.sequence(sql); + } + finally { + stream.closeGracefully(); + } + await promise; + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + }); + } + sync() { + throw new api_1.LibsqlError("sync not supported in http mode", "SYNC_NOT_SUPPORTED"); + } + close() { + this.#client.close(); + } + async reconnect() { + try { + if (!this.closed) { + // Abort in-flight ops and free resources + this.#client.close(); + } + } + finally { + // Recreate the underlying hrana client + this.#client = hrana.openHttp(this.#url, this.#authToken, this.#customFetch, this.#remoteEncryptionKey); + this.#client.intMode = this.#intMode; + } + } + get closed() { + return this.#client.closed; + } +} +exports.HttpClient = HttpClient; +class HttpTransaction extends hrana_js_1.HranaTransaction { + #stream; + #sqlCache; + /** @private */ + constructor(stream, mode, version) { + super(mode, version); + this.#stream = stream; + this.#sqlCache = new sql_cache_js_1.SqlCache(stream, sqlCacheCapacity); + } + /** @private */ + _getStream() { + return this.#stream; + } + /** @private */ + _getSqlCache() { + return this.#sqlCache; + } + close() { + this.#stream.close(); + } + get closed() { + return this.#stream.closed; + } +} +exports.HttpTransaction = HttpTransaction; diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-cjs/node.js b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/node.js new file mode 100644 index 000000000..212494175 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/node.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.createClient = void 0; +const config_1 = require("@libsql/core/config"); +const sqlite3_js_1 = require("./sqlite3.js"); +const ws_js_1 = require("./ws.js"); +const http_js_1 = require("./http.js"); +__exportStar(require("@libsql/core/api"), exports); +/** Creates a {@link Client} object. + * + * You must pass at least an `url` in the {@link Config} object. + */ +function createClient(config) { + return _createClient((0, config_1.expandConfig)(config, true)); +} +exports.createClient = createClient; +function _createClient(config) { + if (config.scheme === "wss" || config.scheme === "ws") { + return (0, ws_js_1._createClient)(config); + } + else if (config.scheme === "https" || config.scheme === "http") { + return (0, http_js_1._createClient)(config); + } + else { + return (0, sqlite3_js_1._createClient)(config); + } +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-cjs/package.json b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/package.json new file mode 100644 index 000000000..1cd945a3b --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-cjs/sql_cache.js b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/sql_cache.js new file mode 100644 index 000000000..56ac9aa5c --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/sql_cache.js @@ -0,0 +1,91 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SqlCache = void 0; +class SqlCache { + #owner; + #sqls; + capacity; + constructor(owner, capacity) { + this.#owner = owner; + this.#sqls = new Lru(); + this.capacity = capacity; + } + // Replaces SQL strings with cached `hrana.Sql` objects in the statements in `hranaStmts`. After this + // function returns, we guarantee that all `hranaStmts` refer to valid (not closed) `hrana.Sql` objects, + // but _we may invalidate any other `hrana.Sql` objects_ (by closing them, thus removing them from the + // server). + // + // In practice, this means that after calling this function, you can use the statements only up to the + // first `await`, because concurrent code may also use the cache and invalidate those statements. + apply(hranaStmts) { + if (this.capacity <= 0) { + return; + } + const usedSqlObjs = new Set(); + for (const hranaStmt of hranaStmts) { + if (typeof hranaStmt.sql !== "string") { + continue; + } + const sqlText = hranaStmt.sql; + // Stored SQL cannot exceed 5kb. + // https://github.com/tursodatabase/libsql/blob/e9d637e051685f92b0da43849507b5ef4232fbeb/libsql-server/src/hrana/http/request.rs#L10 + if (sqlText.length >= 5000) { + continue; + } + let sqlObj = this.#sqls.get(sqlText); + if (sqlObj === undefined) { + while (this.#sqls.size + 1 > this.capacity) { + const [evictSqlText, evictSqlObj] = this.#sqls.peekLru(); + if (usedSqlObjs.has(evictSqlObj)) { + // The SQL object that we are trying to evict is already in use in this batch, so we + // must not evict and close it. + break; + } + evictSqlObj.close(); + this.#sqls.delete(evictSqlText); + } + if (this.#sqls.size + 1 <= this.capacity) { + sqlObj = this.#owner.storeSql(sqlText); + this.#sqls.set(sqlText, sqlObj); + } + } + if (sqlObj !== undefined) { + hranaStmt.sql = sqlObj; + usedSqlObjs.add(sqlObj); + } + } + } +} +exports.SqlCache = SqlCache; +class Lru { + // This maps keys to the cache values. The entries are ordered by their last use (entires that were used + // most recently are at the end). + #cache; + constructor() { + this.#cache = new Map(); + } + get(key) { + const value = this.#cache.get(key); + if (value !== undefined) { + // move the entry to the back of the Map + this.#cache.delete(key); + this.#cache.set(key, value); + } + return value; + } + set(key, value) { + this.#cache.set(key, value); + } + peekLru() { + for (const entry of this.#cache.entries()) { + return entry; + } + return undefined; + } + delete(key) { + this.#cache.delete(key); + } + get size() { + return this.#cache.size; + } +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-cjs/sqlite3.js b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/sqlite3.js new file mode 100644 index 000000000..e8a763ada --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/sqlite3.js @@ -0,0 +1,500 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Sqlite3Transaction = exports.Sqlite3Client = exports._createClient = exports.createClient = void 0; +const libsql_1 = __importDefault(require("libsql")); +const node_buffer_1 = require("node:buffer"); +const api_1 = require("@libsql/core/api"); +const config_1 = require("@libsql/core/config"); +const util_1 = require("@libsql/core/util"); +__exportStar(require("@libsql/core/api"), exports); +function createClient(config) { + return _createClient((0, config_1.expandConfig)(config, true)); +} +exports.createClient = createClient; +/** @private */ +function _createClient(config) { + if (config.scheme !== "file") { + throw new api_1.LibsqlError(`URL scheme ${JSON.stringify(config.scheme + ":")} is not supported by the local sqlite3 client. ` + + `For more information, please read ${util_1.supportedUrlLink}`, "URL_SCHEME_NOT_SUPPORTED"); + } + const authority = config.authority; + if (authority !== undefined) { + const host = authority.host.toLowerCase(); + if (host !== "" && host !== "localhost") { + throw new api_1.LibsqlError(`Invalid host in file URL: ${JSON.stringify(authority.host)}. ` + + 'A "file:" URL with an absolute path should start with one slash ("file:/absolute/path.db") ' + + 'or with three slashes ("file:///absolute/path.db"). ' + + `For more information, please read ${util_1.supportedUrlLink}`, "URL_INVALID"); + } + if (authority.port !== undefined) { + throw new api_1.LibsqlError("File URL cannot have a port", "URL_INVALID"); + } + if (authority.userinfo !== undefined) { + throw new api_1.LibsqlError("File URL cannot have username and password", "URL_INVALID"); + } + } + let isInMemory = (0, config_1.isInMemoryConfig)(config); + if (isInMemory && config.syncUrl) { + throw new api_1.LibsqlError(`Embedded replica must use file for local db but URI with in-memory mode were provided instead: ${config.path}`, "URL_INVALID"); + } + let path = config.path; + if (isInMemory) { + // note: we should prepend file scheme in order for SQLite3 to recognize :memory: connection query parameters + path = `${config.scheme}:${config.path}`; + } + const options = { + authToken: config.authToken, + encryptionKey: config.encryptionKey, + remoteEncryptionKey: config.remoteEncryptionKey, + syncUrl: config.syncUrl, + syncPeriod: config.syncInterval, + readYourWrites: config.readYourWrites, + offline: config.offline, + }; + const db = new libsql_1.default(path, options); + executeStmt(db, "SELECT 1 AS checkThatTheDatabaseCanBeOpened", config.intMode); + return new Sqlite3Client(path, options, db, config.intMode); +} +exports._createClient = _createClient; +class Sqlite3Client { + #path; + #options; + #db; + #intMode; + closed; + protocol; + /** @private */ + constructor(path, options, db, intMode) { + this.#path = path; + this.#options = options; + this.#db = db; + this.#intMode = intMode; + this.closed = false; + this.protocol = "file"; + } + async execute(stmtOrSql, args) { + let stmt; + if (typeof stmtOrSql === "string") { + stmt = { + sql: stmtOrSql, + args: args || [], + }; + } + else { + stmt = stmtOrSql; + } + this.#checkNotClosed(); + return executeStmt(this.#getDb(), stmt, this.#intMode); + } + async batch(stmts, mode = "deferred") { + this.#checkNotClosed(); + const db = this.#getDb(); + try { + executeStmt(db, (0, util_1.transactionModeToBegin)(mode), this.#intMode); + const resultSets = []; + for (let i = 0; i < stmts.length; i++) { + try { + if (!db.inTransaction) { + throw new api_1.LibsqlBatchError("The transaction has been rolled back", i, "TRANSACTION_CLOSED"); + } + const stmt = stmts[i]; + const normalizedStmt = Array.isArray(stmt) + ? { sql: stmt[0], args: stmt[1] || [] } + : stmt; + resultSets.push(executeStmt(db, normalizedStmt, this.#intMode)); + } + catch (e) { + if (e instanceof api_1.LibsqlBatchError) { + throw e; + } + if (e instanceof api_1.LibsqlError) { + throw new api_1.LibsqlBatchError(e.message, i, e.code, e.extendedCode, e.rawCode, e.cause instanceof Error ? e.cause : undefined); + } + throw e; + } + } + executeStmt(db, "COMMIT", this.#intMode); + return resultSets; + } + finally { + if (db.inTransaction) { + executeStmt(db, "ROLLBACK", this.#intMode); + } + } + } + async migrate(stmts) { + this.#checkNotClosed(); + const db = this.#getDb(); + try { + executeStmt(db, "PRAGMA foreign_keys=off", this.#intMode); + executeStmt(db, (0, util_1.transactionModeToBegin)("deferred"), this.#intMode); + const resultSets = []; + for (let i = 0; i < stmts.length; i++) { + try { + if (!db.inTransaction) { + throw new api_1.LibsqlBatchError("The transaction has been rolled back", i, "TRANSACTION_CLOSED"); + } + resultSets.push(executeStmt(db, stmts[i], this.#intMode)); + } + catch (e) { + if (e instanceof api_1.LibsqlBatchError) { + throw e; + } + if (e instanceof api_1.LibsqlError) { + throw new api_1.LibsqlBatchError(e.message, i, e.code, e.extendedCode, e.rawCode, e.cause instanceof Error ? e.cause : undefined); + } + throw e; + } + } + executeStmt(db, "COMMIT", this.#intMode); + return resultSets; + } + finally { + if (db.inTransaction) { + executeStmt(db, "ROLLBACK", this.#intMode); + } + executeStmt(db, "PRAGMA foreign_keys=on", this.#intMode); + } + } + async transaction(mode = "write") { + const db = this.#getDb(); + executeStmt(db, (0, util_1.transactionModeToBegin)(mode), this.#intMode); + this.#db = null; // A new connection will be lazily created on next use + return new Sqlite3Transaction(db, this.#intMode); + } + async executeMultiple(sql) { + this.#checkNotClosed(); + const db = this.#getDb(); + try { + return executeMultiple(db, sql); + } + finally { + if (db.inTransaction) { + executeStmt(db, "ROLLBACK", this.#intMode); + } + } + } + async sync() { + this.#checkNotClosed(); + const rep = await this.#getDb().sync(); + return { + frames_synced: rep.frames_synced, + frame_no: rep.frame_no, + }; + } + async reconnect() { + try { + if (!this.closed && this.#db !== null) { + this.#db.close(); + } + } + finally { + this.#db = new libsql_1.default(this.#path, this.#options); + this.closed = false; + } + } + close() { + this.closed = true; + if (this.#db !== null) { + this.#db.close(); + this.#db = null; + } + } + #checkNotClosed() { + if (this.closed) { + throw new api_1.LibsqlError("The client is closed", "CLIENT_CLOSED"); + } + } + // Lazily creates the database connection and returns it + #getDb() { + if (this.#db === null) { + this.#db = new libsql_1.default(this.#path, this.#options); + } + return this.#db; + } +} +exports.Sqlite3Client = Sqlite3Client; +class Sqlite3Transaction { + #database; + #intMode; + /** @private */ + constructor(database, intMode) { + this.#database = database; + this.#intMode = intMode; + } + async execute(stmtOrSql, args) { + let stmt; + if (typeof stmtOrSql === "string") { + stmt = { + sql: stmtOrSql, + args: args || [], + }; + } + else { + stmt = stmtOrSql; + } + this.#checkNotClosed(); + return executeStmt(this.#database, stmt, this.#intMode); + } + async batch(stmts) { + const resultSets = []; + for (let i = 0; i < stmts.length; i++) { + try { + this.#checkNotClosed(); + const stmt = stmts[i]; + const normalizedStmt = Array.isArray(stmt) + ? { sql: stmt[0], args: stmt[1] || [] } + : stmt; + resultSets.push(executeStmt(this.#database, normalizedStmt, this.#intMode)); + } + catch (e) { + if (e instanceof api_1.LibsqlBatchError) { + throw e; + } + if (e instanceof api_1.LibsqlError) { + throw new api_1.LibsqlBatchError(e.message, i, e.code, e.extendedCode, e.rawCode, e.cause instanceof Error ? e.cause : undefined); + } + throw e; + } + } + return resultSets; + } + async executeMultiple(sql) { + this.#checkNotClosed(); + return executeMultiple(this.#database, sql); + } + async rollback() { + if (!this.#database.open) { + return; + } + this.#checkNotClosed(); + executeStmt(this.#database, "ROLLBACK", this.#intMode); + } + async commit() { + this.#checkNotClosed(); + executeStmt(this.#database, "COMMIT", this.#intMode); + } + close() { + if (this.#database.inTransaction) { + executeStmt(this.#database, "ROLLBACK", this.#intMode); + } + } + get closed() { + return !this.#database.inTransaction; + } + #checkNotClosed() { + if (this.closed) { + throw new api_1.LibsqlError("The transaction is closed", "TRANSACTION_CLOSED"); + } + } +} +exports.Sqlite3Transaction = Sqlite3Transaction; +function executeStmt(db, stmt, intMode) { + let sql; + let args; + if (typeof stmt === "string") { + sql = stmt; + args = []; + } + else { + sql = stmt.sql; + if (Array.isArray(stmt.args)) { + args = stmt.args.map((value) => valueToSql(value, intMode)); + } + else { + args = {}; + for (const name in stmt.args) { + const argName = name[0] === "@" || name[0] === "$" || name[0] === ":" + ? name.substring(1) + : name; + args[argName] = valueToSql(stmt.args[name], intMode); + } + } + } + try { + const sqlStmt = db.prepare(sql); + sqlStmt.safeIntegers(true); + let returnsData = true; + try { + sqlStmt.raw(true); + } + catch { + // raw() throws an exception if the statement does not return data + returnsData = false; + } + if (returnsData) { + const columns = Array.from(sqlStmt.columns().map((col) => col.name)); + const columnTypes = Array.from(sqlStmt.columns().map((col) => col.type ?? "")); + const rows = sqlStmt.all(args).map((sqlRow) => { + return rowFromSql(sqlRow, columns, intMode); + }); + // TODO: can we get this info from better-sqlite3? + const rowsAffected = 0; + const lastInsertRowid = undefined; + return new util_1.ResultSetImpl(columns, columnTypes, rows, rowsAffected, lastInsertRowid); + } + else { + const info = sqlStmt.run(args); + const rowsAffected = info.changes; + const lastInsertRowid = BigInt(info.lastInsertRowid); + return new util_1.ResultSetImpl([], [], [], rowsAffected, lastInsertRowid); + } + } + catch (e) { + throw mapSqliteError(e); + } +} +function rowFromSql(sqlRow, columns, intMode) { + const row = {}; + // make sure that the "length" property is not enumerable + Object.defineProperty(row, "length", { value: sqlRow.length }); + for (let i = 0; i < sqlRow.length; ++i) { + const value = valueFromSql(sqlRow[i], intMode); + Object.defineProperty(row, i, { value }); + const column = columns[i]; + if (!Object.hasOwn(row, column)) { + Object.defineProperty(row, column, { + value, + enumerable: true, + configurable: true, + writable: true, + }); + } + } + return row; +} +function valueFromSql(sqlValue, intMode) { + if (typeof sqlValue === "bigint") { + if (intMode === "number") { + if (sqlValue < minSafeBigint || sqlValue > maxSafeBigint) { + throw new RangeError("Received integer which cannot be safely represented as a JavaScript number"); + } + return Number(sqlValue); + } + else if (intMode === "bigint") { + return sqlValue; + } + else if (intMode === "string") { + return "" + sqlValue; + } + else { + throw new Error("Invalid value for IntMode"); + } + } + else if (sqlValue instanceof node_buffer_1.Buffer) { + return sqlValue.buffer; + } + return sqlValue; +} +const minSafeBigint = -9007199254740991n; +const maxSafeBigint = 9007199254740991n; +function valueToSql(value, intMode) { + if (typeof value === "number") { + if (!Number.isFinite(value)) { + throw new RangeError("Only finite numbers (not Infinity or NaN) can be passed as arguments"); + } + return value; + } + else if (typeof value === "bigint") { + if (value < minInteger || value > maxInteger) { + throw new RangeError("bigint is too large to be represented as a 64-bit integer and passed as argument"); + } + return value; + } + else if (typeof value === "boolean") { + switch (intMode) { + case "bigint": + return value ? 1n : 0n; + case "string": + return value ? "1" : "0"; + default: + return value ? 1 : 0; + } + } + else if (value instanceof ArrayBuffer) { + return node_buffer_1.Buffer.from(value); + } + else if (value instanceof Date) { + return value.valueOf(); + } + else if (value === undefined) { + throw new TypeError("undefined cannot be passed as argument to the database"); + } + else { + return value; + } +} +const minInteger = -9223372036854775808n; +const maxInteger = 9223372036854775807n; +function executeMultiple(db, sql) { + try { + db.exec(sql); + } + catch (e) { + throw mapSqliteError(e); + } +} +function mapSqliteError(e) { + if (e instanceof libsql_1.default.SqliteError) { + const extendedCode = e.code; + const code = mapToBaseCode(e.rawCode); + return new api_1.LibsqlError(e.message, code, extendedCode, e.rawCode, e); + } + return e; +} +// Map SQLite raw error code to base error code string. +// Extended error codes are (base | (extended << 8)), so base = rawCode & 0xFF +function mapToBaseCode(rawCode) { + if (rawCode === undefined) { + return "SQLITE_UNKNOWN"; + } + const baseCode = rawCode & 0xff; + return (sqliteErrorCodes[baseCode] ?? `SQLITE_UNKNOWN_${baseCode.toString()}`); +} +const sqliteErrorCodes = { + 1: "SQLITE_ERROR", + 2: "SQLITE_INTERNAL", + 3: "SQLITE_PERM", + 4: "SQLITE_ABORT", + 5: "SQLITE_BUSY", + 6: "SQLITE_LOCKED", + 7: "SQLITE_NOMEM", + 8: "SQLITE_READONLY", + 9: "SQLITE_INTERRUPT", + 10: "SQLITE_IOERR", + 11: "SQLITE_CORRUPT", + 12: "SQLITE_NOTFOUND", + 13: "SQLITE_FULL", + 14: "SQLITE_CANTOPEN", + 15: "SQLITE_PROTOCOL", + 16: "SQLITE_EMPTY", + 17: "SQLITE_SCHEMA", + 18: "SQLITE_TOOBIG", + 19: "SQLITE_CONSTRAINT", + 20: "SQLITE_MISMATCH", + 21: "SQLITE_MISUSE", + 22: "SQLITE_NOLFS", + 23: "SQLITE_AUTH", + 24: "SQLITE_FORMAT", + 25: "SQLITE_RANGE", + 26: "SQLITE_NOTADB", + 27: "SQLITE_NOTICE", + 28: "SQLITE_WARNING", +}; diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-cjs/web.js b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/web.js new file mode 100644 index 000000000..7ad0d48a2 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/web.js @@ -0,0 +1,41 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._createClient = exports.createClient = void 0; +const api_1 = require("@libsql/core/api"); +const config_1 = require("@libsql/core/config"); +const util_1 = require("@libsql/core/util"); +const ws_js_1 = require("./ws.js"); +const http_js_1 = require("./http.js"); +__exportStar(require("@libsql/core/api"), exports); +function createClient(config) { + return _createClient((0, config_1.expandConfig)(config, true)); +} +exports.createClient = createClient; +/** @private */ +function _createClient(config) { + if (config.scheme === "ws" || config.scheme === "wss") { + return (0, ws_js_1._createClient)(config); + } + else if (config.scheme === "http" || config.scheme === "https") { + return (0, http_js_1._createClient)(config); + } + else { + throw new api_1.LibsqlError('The client that uses Web standard APIs supports only "libsql:", "wss:", "ws:", "https:" and "http:" URLs, ' + + `got ${JSON.stringify(config.scheme + ":")}. For more information, please read ${util_1.supportedUrlLink}`, "URL_SCHEME_NOT_SUPPORTED"); + } +} +exports._createClient = _createClient; diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-cjs/ws.js b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/ws.js new file mode 100644 index 000000000..ff91ece5f --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-cjs/ws.js @@ -0,0 +1,395 @@ +"use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.WsTransaction = exports.WsClient = exports._createClient = exports.createClient = void 0; +const hrana = __importStar(require("@libsql/hrana-client")); +const api_1 = require("@libsql/core/api"); +const config_1 = require("@libsql/core/config"); +const hrana_js_1 = require("./hrana.js"); +const sql_cache_js_1 = require("./sql_cache.js"); +const uri_1 = require("@libsql/core/uri"); +const util_1 = require("@libsql/core/util"); +const promise_limit_1 = __importDefault(require("promise-limit")); +__exportStar(require("@libsql/core/api"), exports); +function createClient(config) { + return _createClient((0, config_1.expandConfig)(config, false)); +} +exports.createClient = createClient; +/** @private */ +function _createClient(config) { + if (config.scheme !== "wss" && config.scheme !== "ws") { + throw new api_1.LibsqlError('The WebSocket client supports only "libsql:", "wss:" and "ws:" URLs, ' + + `got ${JSON.stringify(config.scheme + ":")}. For more information, please read ${util_1.supportedUrlLink}`, "URL_SCHEME_NOT_SUPPORTED"); + } + if (config.encryptionKey !== undefined) { + throw new api_1.LibsqlError("Encryption key is not supported by the remote client.", "ENCRYPTION_KEY_NOT_SUPPORTED"); + } + if (config.scheme === "ws" && config.tls) { + throw new api_1.LibsqlError(`A "ws:" URL cannot opt into TLS by using ?tls=1`, "URL_INVALID"); + } + else if (config.scheme === "wss" && !config.tls) { + throw new api_1.LibsqlError(`A "wss:" URL cannot opt out of TLS by using ?tls=0`, "URL_INVALID"); + } + const url = (0, uri_1.encodeBaseUrl)(config.scheme, config.authority, config.path); + let client; + try { + client = hrana.openWs(url, config.authToken); + } + catch (e) { + if (e instanceof hrana.WebSocketUnsupportedError) { + const suggestedScheme = config.scheme === "wss" ? "https" : "http"; + const suggestedUrl = (0, uri_1.encodeBaseUrl)(suggestedScheme, config.authority, config.path); + throw new api_1.LibsqlError("This environment does not support WebSockets, please switch to the HTTP client by using " + + `a "${suggestedScheme}:" URL (${JSON.stringify(suggestedUrl)}). ` + + `For more information, please read ${util_1.supportedUrlLink}`, "WEBSOCKETS_NOT_SUPPORTED"); + } + throw (0, hrana_js_1.mapHranaError)(e); + } + return new WsClient(client, url, config.authToken, config.intMode, config.concurrency); +} +exports._createClient = _createClient; +const maxConnAgeMillis = 60 * 1000; +const sqlCacheCapacity = 100; +class WsClient { + #url; + #authToken; + #intMode; + // State of the current connection. The `hrana.WsClient` inside may be closed at any moment due to an + // asynchronous error. + #connState; + // If defined, this is a connection that will be used in the future, once it is ready. + #futureConnState; + closed; + protocol; + #isSchemaDatabase; + #promiseLimitFunction; + /** @private */ + constructor(client, url, authToken, intMode, concurrency) { + this.#url = url; + this.#authToken = authToken; + this.#intMode = intMode; + this.#connState = this.#openConn(client); + this.#futureConnState = undefined; + this.closed = false; + this.protocol = "ws"; + this.#promiseLimitFunction = (0, promise_limit_1.default)(concurrency); + } + async limit(fn) { + return this.#promiseLimitFunction(fn); + } + async execute(stmtOrSql, args) { + let stmt; + if (typeof stmtOrSql === "string") { + stmt = { + sql: stmtOrSql, + args: args || [], + }; + } + else { + stmt = stmtOrSql; + } + return this.limit(async () => { + const streamState = await this.#openStream(); + try { + const hranaStmt = (0, hrana_js_1.stmtToHrana)(stmt); + // Schedule all operations synchronously, so they will be pipelined and executed in a single + // network roundtrip. + streamState.conn.sqlCache.apply([hranaStmt]); + const hranaRowsPromise = streamState.stream.query(hranaStmt); + streamState.stream.closeGracefully(); + const hranaRowsResult = await hranaRowsPromise; + return (0, hrana_js_1.resultSetFromHrana)(hranaRowsResult); + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + finally { + this._closeStream(streamState); + } + }); + } + async batch(stmts, mode = "deferred") { + return this.limit(async () => { + const streamState = await this.#openStream(); + try { + const normalizedStmts = stmts.map((stmt) => { + if (Array.isArray(stmt)) { + return { + sql: stmt[0], + args: stmt[1] || [], + }; + } + return stmt; + }); + const hranaStmts = normalizedStmts.map(hrana_js_1.stmtToHrana); + const version = await streamState.conn.client.getVersion(); + // Schedule all operations synchronously, so they will be pipelined and executed in a single + // network roundtrip. + streamState.conn.sqlCache.apply(hranaStmts); + const batch = streamState.stream.batch(version >= 3); + const resultsPromise = (0, hrana_js_1.executeHranaBatch)(mode, version, batch, hranaStmts); + const results = await resultsPromise; + return results; + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + finally { + this._closeStream(streamState); + } + }); + } + async migrate(stmts) { + return this.limit(async () => { + const streamState = await this.#openStream(); + try { + const hranaStmts = stmts.map(hrana_js_1.stmtToHrana); + const version = await streamState.conn.client.getVersion(); + // Schedule all operations synchronously, so they will be pipelined and executed in a single + // network roundtrip. + const batch = streamState.stream.batch(version >= 3); + const resultsPromise = (0, hrana_js_1.executeHranaBatch)("deferred", version, batch, hranaStmts, true); + const results = await resultsPromise; + return results; + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + finally { + this._closeStream(streamState); + } + }); + } + async transaction(mode = "write") { + return this.limit(async () => { + const streamState = await this.#openStream(); + try { + const version = await streamState.conn.client.getVersion(); + // the BEGIN statement will be batched with the first statement on the transaction to save a + // network roundtrip + return new WsTransaction(this, streamState, mode, version); + } + catch (e) { + this._closeStream(streamState); + throw (0, hrana_js_1.mapHranaError)(e); + } + }); + } + async executeMultiple(sql) { + return this.limit(async () => { + const streamState = await this.#openStream(); + try { + // Schedule all operations synchronously, so they will be pipelined and executed in a single + // network roundtrip. + const promise = streamState.stream.sequence(sql); + streamState.stream.closeGracefully(); + await promise; + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + finally { + this._closeStream(streamState); + } + }); + } + sync() { + throw new api_1.LibsqlError("sync not supported in ws mode", "SYNC_NOT_SUPPORTED"); + } + async #openStream() { + if (this.closed) { + throw new api_1.LibsqlError("The client is closed", "CLIENT_CLOSED"); + } + const now = new Date(); + const ageMillis = now.valueOf() - this.#connState.openTime.valueOf(); + if (ageMillis > maxConnAgeMillis && + this.#futureConnState === undefined) { + // The existing connection is too old, let's open a new one. + const futureConnState = this.#openConn(); + this.#futureConnState = futureConnState; + // However, if we used `futureConnState` immediately, we would introduce additional latency, + // because we would have to wait for the WebSocket handshake to complete, even though we may a + // have perfectly good existing connection in `this.#connState`! + // + // So we wait until the `hrana.Client.getVersion()` operation completes (which happens when the + // WebSocket hanshake completes), and only then we replace `this.#connState` with + // `futureConnState`, which is stored in `this.#futureConnState` in the meantime. + futureConnState.client.getVersion().then((_version) => { + if (this.#connState !== futureConnState) { + // We need to close `this.#connState` before we replace it. However, it is possible + // that `this.#connState` has already been replaced: see the code below. + if (this.#connState.streamStates.size === 0) { + this.#connState.client.close(); + } + else { + // If there are existing streams on the connection, we must not close it, because + // these streams would be broken. The last stream to be closed will also close the + // connection in `_closeStream()`. + } + } + this.#connState = futureConnState; + this.#futureConnState = undefined; + }, (_e) => { + // If the new connection could not be established, let's just ignore the error and keep + // using the existing connection. + this.#futureConnState = undefined; + }); + } + if (this.#connState.client.closed) { + // An error happened on this connection and it has been closed. Let's try to seamlessly reconnect. + try { + if (this.#futureConnState !== undefined) { + // We are already in the process of opening a new connection, so let's just use it + // immediately. + this.#connState = this.#futureConnState; + } + else { + this.#connState = this.#openConn(); + } + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + } + const connState = this.#connState; + try { + // Now we wait for the WebSocket handshake to complete (if it hasn't completed yet). Note that + // this does not increase latency, because any messages that we would send on the WebSocket before + // the handshake would be queued until the handshake is completed anyway. + if (connState.useSqlCache === undefined) { + connState.useSqlCache = + (await connState.client.getVersion()) >= 2; + if (connState.useSqlCache) { + connState.sqlCache.capacity = sqlCacheCapacity; + } + } + const stream = connState.client.openStream(); + stream.intMode = this.#intMode; + const streamState = { conn: connState, stream }; + connState.streamStates.add(streamState); + return streamState; + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + } + #openConn(client) { + try { + client ??= hrana.openWs(this.#url, this.#authToken); + return { + client, + useSqlCache: undefined, + sqlCache: new sql_cache_js_1.SqlCache(client, 0), + openTime: new Date(), + streamStates: new Set(), + }; + } + catch (e) { + throw (0, hrana_js_1.mapHranaError)(e); + } + } + async reconnect() { + try { + for (const st of Array.from(this.#connState.streamStates)) { + try { + st.stream.close(); + } + catch { } + } + this.#connState.client.close(); + } + catch { } + if (this.#futureConnState) { + try { + this.#futureConnState.client.close(); + } + catch { } + this.#futureConnState = undefined; + } + const next = this.#openConn(); + const version = await next.client.getVersion(); + next.useSqlCache = version >= 2; + if (next.useSqlCache) { + next.sqlCache.capacity = sqlCacheCapacity; + } + this.#connState = next; + this.closed = false; + } + _closeStream(streamState) { + streamState.stream.close(); + const connState = streamState.conn; + connState.streamStates.delete(streamState); + if (connState.streamStates.size === 0 && + connState !== this.#connState) { + // We are not using this connection anymore and this is the last stream that was using it, so we + // must close it now. + connState.client.close(); + } + } + close() { + this.#connState.client.close(); + this.closed = true; + if (this.#futureConnState) { + try { + this.#futureConnState.client.close(); + } + catch { } + this.#futureConnState = undefined; + } + this.closed = true; + } +} +exports.WsClient = WsClient; +class WsTransaction extends hrana_js_1.HranaTransaction { + #client; + #streamState; + /** @private */ + constructor(client, state, mode, version) { + super(mode, version); + this.#client = client; + this.#streamState = state; + } + /** @private */ + _getStream() { + return this.#streamState.stream; + } + /** @private */ + _getSqlCache() { + return this.#streamState.conn.sqlCache; + } + close() { + this.#client._closeStream(this.#streamState); + } + get closed() { + return this.#streamState.stream.closed; + } +} +exports.WsTransaction = WsTransaction; diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/hrana.d.ts b/dealplustech-astro/node_modules/@libsql/client/lib-esm/hrana.d.ts new file mode 100644 index 000000000..b70614af2 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/hrana.d.ts @@ -0,0 +1,23 @@ +import * as hrana from "@libsql/hrana-client"; +import type { InStatement, ResultSet, Transaction, TransactionMode, InArgs } from "@libsql/core/api"; +import type { SqlCache } from "./sql_cache.js"; +export declare abstract class HranaTransaction implements Transaction { + #private; + /** @private */ + constructor(mode: TransactionMode, version: hrana.ProtocolVersion); + /** @private */ + abstract _getStream(): hrana.Stream; + /** @private */ + abstract _getSqlCache(): SqlCache; + abstract close(): void; + abstract get closed(): boolean; + execute(stmt: InStatement): Promise; + batch(stmts: Array): Promise>; + executeMultiple(sql: string): Promise; + rollback(): Promise; + commit(): Promise; +} +export declare function executeHranaBatch(mode: TransactionMode, version: hrana.ProtocolVersion, batch: hrana.Batch, hranaStmts: Array, disableForeignKeys?: boolean): Promise>; +export declare function stmtToHrana(stmt: InStatement | [string, InArgs?]): hrana.Stmt; +export declare function resultSetFromHrana(hranaRows: hrana.RowsResult): ResultSet; +export declare function mapHranaError(e: unknown): unknown; diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/hrana.js b/dealplustech-astro/node_modules/@libsql/client/lib-esm/hrana.js new file mode 100644 index 000000000..9477116a1 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/hrana.js @@ -0,0 +1,341 @@ +import * as hrana from "@libsql/hrana-client"; +import { LibsqlError, LibsqlBatchError } from "@libsql/core/api"; +import { transactionModeToBegin, ResultSetImpl } from "@libsql/core/util"; +export class HranaTransaction { + #mode; + #version; + // Promise that is resolved when the BEGIN statement completes, or `undefined` if we haven't executed the + // BEGIN statement yet. + #started; + /** @private */ + constructor(mode, version) { + this.#mode = mode; + this.#version = version; + this.#started = undefined; + } + execute(stmt) { + return this.batch([stmt]).then((results) => results[0]); + } + async batch(stmts) { + const stream = this._getStream(); + if (stream.closed) { + throw new LibsqlError("Cannot execute statements because the transaction is closed", "TRANSACTION_CLOSED"); + } + try { + const hranaStmts = stmts.map(stmtToHrana); + let rowsPromises; + if (this.#started === undefined) { + // The transaction hasn't started yet, so we need to send the BEGIN statement in a batch with + // `hranaStmts`. + this._getSqlCache().apply(hranaStmts); + const batch = stream.batch(this.#version >= 3); + const beginStep = batch.step(); + const beginPromise = beginStep.run(transactionModeToBegin(this.#mode)); + // Execute the `hranaStmts` only if the BEGIN succeeded, to make sure that we don't execute it + // outside of a transaction. + let lastStep = beginStep; + rowsPromises = hranaStmts.map((hranaStmt) => { + const stmtStep = batch + .step() + .condition(hrana.BatchCond.ok(lastStep)); + if (this.#version >= 3) { + // If the Hrana version supports it, make sure that we are still in a transaction + stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch))); + } + const rowsPromise = stmtStep.query(hranaStmt); + rowsPromise.catch(() => undefined); // silence Node warning + lastStep = stmtStep; + return rowsPromise; + }); + // `this.#started` is resolved successfully only if the batch and the BEGIN statement inside + // of the batch are both successful. + this.#started = batch + .execute() + .then(() => beginPromise) + .then(() => undefined); + try { + await this.#started; + } + catch (e) { + // If the BEGIN failed, the transaction is unusable and we must close it. However, if the + // BEGIN suceeds and `hranaStmts` fail, the transaction is _not_ closed. + this.close(); + throw e; + } + } + else { + if (this.#version < 3) { + // The transaction has started, so we must wait until the BEGIN statement completed to make + // sure that we don't execute `hranaStmts` outside of a transaction. + await this.#started; + } + else { + // The transaction has started, but we will use `hrana.BatchCond.isAutocommit()` to make + // sure that we don't execute `hranaStmts` outside of a transaction, so we don't have to + // wait for `this.#started` + } + this._getSqlCache().apply(hranaStmts); + const batch = stream.batch(this.#version >= 3); + let lastStep = undefined; + rowsPromises = hranaStmts.map((hranaStmt) => { + const stmtStep = batch.step(); + if (lastStep !== undefined) { + stmtStep.condition(hrana.BatchCond.ok(lastStep)); + } + if (this.#version >= 3) { + stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch))); + } + const rowsPromise = stmtStep.query(hranaStmt); + rowsPromise.catch(() => undefined); // silence Node warning + lastStep = stmtStep; + return rowsPromise; + }); + await batch.execute(); + } + const resultSets = []; + for (let i = 0; i < rowsPromises.length; i++) { + try { + const rows = await rowsPromises[i]; + if (rows === undefined) { + throw new LibsqlBatchError("Statement in a transaction was not executed, " + + "probably because the transaction has been rolled back", i, "TRANSACTION_CLOSED"); + } + resultSets.push(resultSetFromHrana(rows)); + } + catch (e) { + if (e instanceof LibsqlBatchError) { + throw e; + } + // Map hrana errors to LibsqlError first, then wrap in LibsqlBatchError + const mappedError = mapHranaError(e); + if (mappedError instanceof LibsqlError) { + throw new LibsqlBatchError(mappedError.message, i, mappedError.code, mappedError.extendedCode, mappedError.rawCode, mappedError.cause instanceof Error + ? mappedError.cause + : undefined); + } + throw mappedError; + } + } + return resultSets; + } + catch (e) { + throw mapHranaError(e); + } + } + async executeMultiple(sql) { + const stream = this._getStream(); + if (stream.closed) { + throw new LibsqlError("Cannot execute statements because the transaction is closed", "TRANSACTION_CLOSED"); + } + try { + if (this.#started === undefined) { + // If the transaction hasn't started yet, start it now + this.#started = stream + .run(transactionModeToBegin(this.#mode)) + .then(() => undefined); + try { + await this.#started; + } + catch (e) { + this.close(); + throw e; + } + } + else { + // Wait until the transaction has started + await this.#started; + } + await stream.sequence(sql); + } + catch (e) { + throw mapHranaError(e); + } + } + async rollback() { + try { + const stream = this._getStream(); + if (stream.closed) { + return; + } + if (this.#started !== undefined) { + // We don't have to wait for the BEGIN statement to complete. If the BEGIN fails, we will + // execute a ROLLBACK outside of an active transaction, which should be harmless. + } + else { + // We did nothing in the transaction, so there is nothing to rollback. + return; + } + // Pipeline the ROLLBACK statement and the stream close. + const promise = stream.run("ROLLBACK").catch((e) => { + throw mapHranaError(e); + }); + stream.closeGracefully(); + await promise; + } + catch (e) { + throw mapHranaError(e); + } + finally { + // `this.close()` may close the `hrana.Client`, which aborts all pending stream requests, so we + // must call it _after_ we receive the ROLLBACK response. + // Also note that the current stream should already be closed, but we need to call `this.close()` + // anyway, because it may need to do more cleanup. + this.close(); + } + } + async commit() { + // (this method is analogous to `rollback()`) + try { + const stream = this._getStream(); + if (stream.closed) { + throw new LibsqlError("Cannot commit the transaction because it is already closed", "TRANSACTION_CLOSED"); + } + if (this.#started !== undefined) { + // Make sure to execute the COMMIT only if the BEGIN was successful. + await this.#started; + } + else { + return; + } + const promise = stream.run("COMMIT").catch((e) => { + throw mapHranaError(e); + }); + stream.closeGracefully(); + await promise; + } + catch (e) { + throw mapHranaError(e); + } + finally { + this.close(); + } + } +} +export async function executeHranaBatch(mode, version, batch, hranaStmts, disableForeignKeys = false) { + if (disableForeignKeys) { + batch.step().run("PRAGMA foreign_keys=off"); + } + const beginStep = batch.step(); + const beginPromise = beginStep.run(transactionModeToBegin(mode)); + let lastStep = beginStep; + const stmtPromises = hranaStmts.map((hranaStmt) => { + const stmtStep = batch.step().condition(hrana.BatchCond.ok(lastStep)); + if (version >= 3) { + stmtStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch))); + } + const stmtPromise = stmtStep.query(hranaStmt); + lastStep = stmtStep; + return stmtPromise; + }); + const commitStep = batch.step().condition(hrana.BatchCond.ok(lastStep)); + if (version >= 3) { + commitStep.condition(hrana.BatchCond.not(hrana.BatchCond.isAutocommit(batch))); + } + const commitPromise = commitStep.run("COMMIT"); + const rollbackStep = batch + .step() + .condition(hrana.BatchCond.not(hrana.BatchCond.ok(commitStep))); + rollbackStep.run("ROLLBACK").catch((_) => undefined); + if (disableForeignKeys) { + batch.step().run("PRAGMA foreign_keys=on"); + } + await batch.execute(); + const resultSets = []; + await beginPromise; + for (let i = 0; i < stmtPromises.length; i++) { + try { + const hranaRows = await stmtPromises[i]; + if (hranaRows === undefined) { + throw new LibsqlBatchError("Statement in a batch was not executed, probably because the transaction has been rolled back", i, "TRANSACTION_CLOSED"); + } + resultSets.push(resultSetFromHrana(hranaRows)); + } + catch (e) { + if (e instanceof LibsqlBatchError) { + throw e; + } + // Map hrana errors to LibsqlError first, then wrap in LibsqlBatchError + const mappedError = mapHranaError(e); + if (mappedError instanceof LibsqlError) { + throw new LibsqlBatchError(mappedError.message, i, mappedError.code, mappedError.extendedCode, mappedError.rawCode, mappedError.cause instanceof Error + ? mappedError.cause + : undefined); + } + throw mappedError; + } + } + await commitPromise; + return resultSets; +} +export function stmtToHrana(stmt) { + let sql; + let args; + if (Array.isArray(stmt)) { + [sql, args] = stmt; + } + else if (typeof stmt === "string") { + sql = stmt; + } + else { + sql = stmt.sql; + args = stmt.args; + } + const hranaStmt = new hrana.Stmt(sql); + if (args) { + if (Array.isArray(args)) { + hranaStmt.bindIndexes(args); + } + else { + for (const [key, value] of Object.entries(args)) { + hranaStmt.bindName(key, value); + } + } + } + return hranaStmt; +} +export function resultSetFromHrana(hranaRows) { + const columns = hranaRows.columnNames.map((c) => c ?? ""); + const columnTypes = hranaRows.columnDecltypes.map((c) => c ?? ""); + const rows = hranaRows.rows; + const rowsAffected = hranaRows.affectedRowCount; + const lastInsertRowid = hranaRows.lastInsertRowid !== undefined + ? hranaRows.lastInsertRowid + : undefined; + return new ResultSetImpl(columns, columnTypes, rows, rowsAffected, lastInsertRowid); +} +export function mapHranaError(e) { + if (e instanceof hrana.ClientError) { + const code = mapHranaErrorCode(e); + // TODO: Parse extendedCode once the SQL over HTTP protocol supports it + return new LibsqlError(e.message, code, undefined, undefined, e); + } + return e; +} +function mapHranaErrorCode(e) { + if (e instanceof hrana.ResponseError && e.code !== undefined) { + return e.code; + } + else if (e instanceof hrana.ProtoError) { + return "HRANA_PROTO_ERROR"; + } + else if (e instanceof hrana.ClosedError) { + return e.cause instanceof hrana.ClientError + ? mapHranaErrorCode(e.cause) + : "HRANA_CLOSED_ERROR"; + } + else if (e instanceof hrana.WebSocketError) { + return "HRANA_WEBSOCKET_ERROR"; + } + else if (e instanceof hrana.HttpServerError) { + return "SERVER_ERROR"; + } + else if (e instanceof hrana.ProtocolVersionError) { + return "PROTOCOL_VERSION_ERROR"; + } + else if (e instanceof hrana.InternalError) { + return "INTERNAL_ERROR"; + } + else { + return "UNKNOWN"; + } +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/http.d.ts b/dealplustech-astro/node_modules/@libsql/client/lib-esm/http.d.ts new file mode 100644 index 000000000..dbca6bcc8 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/http.d.ts @@ -0,0 +1,38 @@ +import * as hrana from "@libsql/hrana-client"; +import type { Config, Client } from "@libsql/core/api"; +import type { InStatement, ResultSet, Transaction, IntMode, InArgs, Replicated } from "@libsql/core/api"; +import { TransactionMode } from "@libsql/core/api"; +import type { ExpandedConfig } from "@libsql/core/config"; +import { HranaTransaction } from "./hrana.js"; +import { SqlCache } from "./sql_cache.js"; +export * from "@libsql/core/api"; +export declare function createClient(config: Config): Client; +/** @private */ +export declare function _createClient(config: ExpandedConfig): Client; +export declare class HttpClient implements Client { + #private; + protocol: "http"; + /** @private */ + constructor(url: URL, authToken: string | undefined, intMode: IntMode, customFetch: Function | undefined, concurrency: number, remoteEncryptionKey: string | undefined); + private limit; + execute(stmtOrSql: InStatement | string, args?: InArgs): Promise; + batch(stmts: Array, mode?: TransactionMode): Promise>; + migrate(stmts: Array): Promise>; + transaction(mode?: TransactionMode): Promise; + executeMultiple(sql: string): Promise; + sync(): Promise; + close(): void; + reconnect(): Promise; + get closed(): boolean; +} +export declare class HttpTransaction extends HranaTransaction implements Transaction { + #private; + /** @private */ + constructor(stream: hrana.HttpStream, mode: TransactionMode, version: hrana.ProtocolVersion); + /** @private */ + _getStream(): hrana.Stream; + /** @private */ + _getSqlCache(): SqlCache; + close(): void; + get closed(): boolean; +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/http.js b/dealplustech-astro/node_modules/@libsql/client/lib-esm/http.js new file mode 100644 index 000000000..527d32666 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/http.js @@ -0,0 +1,232 @@ +import * as hrana from "@libsql/hrana-client"; +import { LibsqlError } from "@libsql/core/api"; +import { expandConfig } from "@libsql/core/config"; +import { HranaTransaction, executeHranaBatch, stmtToHrana, resultSetFromHrana, mapHranaError, } from "./hrana.js"; +import { SqlCache } from "./sql_cache.js"; +import { encodeBaseUrl } from "@libsql/core/uri"; +import { supportedUrlLink } from "@libsql/core/util"; +import promiseLimit from "promise-limit"; +export * from "@libsql/core/api"; +export function createClient(config) { + return _createClient(expandConfig(config, true)); +} +/** @private */ +export function _createClient(config) { + if (config.scheme !== "https" && config.scheme !== "http") { + throw new LibsqlError('The HTTP client supports only "libsql:", "https:" and "http:" URLs, ' + + `got ${JSON.stringify(config.scheme + ":")}. For more information, please read ${supportedUrlLink}`, "URL_SCHEME_NOT_SUPPORTED"); + } + if (config.encryptionKey !== undefined) { + throw new LibsqlError("Encryption key is not supported by the remote client.", "ENCRYPTION_KEY_NOT_SUPPORTED"); + } + if (config.scheme === "http" && config.tls) { + throw new LibsqlError(`A "http:" URL cannot opt into TLS by using ?tls=1`, "URL_INVALID"); + } + else if (config.scheme === "https" && !config.tls) { + throw new LibsqlError(`A "https:" URL cannot opt out of TLS by using ?tls=0`, "URL_INVALID"); + } + const url = encodeBaseUrl(config.scheme, config.authority, config.path); + return new HttpClient(url, config.authToken, config.intMode, config.fetch, config.concurrency, config.remoteEncryptionKey); +} +const sqlCacheCapacity = 30; +export class HttpClient { + #client; + protocol; + #url; + #intMode; + #customFetch; + #concurrency; + #authToken; + #remoteEncryptionKey; + #promiseLimitFunction; + /** @private */ + constructor(url, authToken, intMode, customFetch, concurrency, remoteEncryptionKey) { + this.#url = url; + this.#authToken = authToken; + this.#intMode = intMode; + this.#customFetch = customFetch; + this.#concurrency = concurrency; + this.#remoteEncryptionKey = remoteEncryptionKey; + this.#client = hrana.openHttp(this.#url, this.#authToken, this.#customFetch, remoteEncryptionKey); + this.#client.intMode = this.#intMode; + this.protocol = "http"; + this.#promiseLimitFunction = promiseLimit(this.#concurrency); + } + async limit(fn) { + return this.#promiseLimitFunction(fn); + } + async execute(stmtOrSql, args) { + let stmt; + if (typeof stmtOrSql === "string") { + stmt = { + sql: stmtOrSql, + args: args || [], + }; + } + else { + stmt = stmtOrSql; + } + return this.limit(async () => { + try { + const hranaStmt = stmtToHrana(stmt); + // Pipeline all operations, so `hrana.HttpClient` can open the stream, execute the statement and + // close the stream in a single HTTP request. + let rowsPromise; + const stream = this.#client.openStream(); + try { + rowsPromise = stream.query(hranaStmt); + } + finally { + stream.closeGracefully(); + } + const rowsResult = await rowsPromise; + return resultSetFromHrana(rowsResult); + } + catch (e) { + throw mapHranaError(e); + } + }); + } + async batch(stmts, mode = "deferred") { + return this.limit(async () => { + try { + const normalizedStmts = stmts.map((stmt) => { + if (Array.isArray(stmt)) { + return { + sql: stmt[0], + args: stmt[1] || [], + }; + } + return stmt; + }); + const hranaStmts = normalizedStmts.map(stmtToHrana); + const version = await this.#client.getVersion(); + // Pipeline all operations, so `hrana.HttpClient` can open the stream, execute the batch and + // close the stream in a single HTTP request. + let resultsPromise; + const stream = this.#client.openStream(); + try { + // It makes sense to use a SQL cache even for a single batch, because it may contain the same + // statement repeated multiple times. + const sqlCache = new SqlCache(stream, sqlCacheCapacity); + sqlCache.apply(hranaStmts); + // TODO: we do not use a cursor here, because it would cause three roundtrips: + // 1. pipeline request to store SQL texts + // 2. cursor request + // 3. pipeline request to close the stream + const batch = stream.batch(false); + resultsPromise = executeHranaBatch(mode, version, batch, hranaStmts); + } + finally { + stream.closeGracefully(); + } + const results = await resultsPromise; + return results; + } + catch (e) { + throw mapHranaError(e); + } + }); + } + async migrate(stmts) { + return this.limit(async () => { + try { + const hranaStmts = stmts.map(stmtToHrana); + const version = await this.#client.getVersion(); + // Pipeline all operations, so `hrana.HttpClient` can open the stream, execute the batch and + // close the stream in a single HTTP request. + let resultsPromise; + const stream = this.#client.openStream(); + try { + const batch = stream.batch(false); + resultsPromise = executeHranaBatch("deferred", version, batch, hranaStmts, true); + } + finally { + stream.closeGracefully(); + } + const results = await resultsPromise; + return results; + } + catch (e) { + throw mapHranaError(e); + } + }); + } + async transaction(mode = "write") { + return this.limit(async () => { + try { + const version = await this.#client.getVersion(); + return new HttpTransaction(this.#client.openStream(), mode, version); + } + catch (e) { + throw mapHranaError(e); + } + }); + } + async executeMultiple(sql) { + return this.limit(async () => { + try { + // Pipeline all operations, so `hrana.HttpClient` can open the stream, execute the sequence and + // close the stream in a single HTTP request. + let promise; + const stream = this.#client.openStream(); + try { + promise = stream.sequence(sql); + } + finally { + stream.closeGracefully(); + } + await promise; + } + catch (e) { + throw mapHranaError(e); + } + }); + } + sync() { + throw new LibsqlError("sync not supported in http mode", "SYNC_NOT_SUPPORTED"); + } + close() { + this.#client.close(); + } + async reconnect() { + try { + if (!this.closed) { + // Abort in-flight ops and free resources + this.#client.close(); + } + } + finally { + // Recreate the underlying hrana client + this.#client = hrana.openHttp(this.#url, this.#authToken, this.#customFetch, this.#remoteEncryptionKey); + this.#client.intMode = this.#intMode; + } + } + get closed() { + return this.#client.closed; + } +} +export class HttpTransaction extends HranaTransaction { + #stream; + #sqlCache; + /** @private */ + constructor(stream, mode, version) { + super(mode, version); + this.#stream = stream; + this.#sqlCache = new SqlCache(stream, sqlCacheCapacity); + } + /** @private */ + _getStream() { + return this.#stream; + } + /** @private */ + _getSqlCache() { + return this.#sqlCache; + } + close() { + this.#stream.close(); + } + get closed() { + return this.#stream.closed; + } +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/node.d.ts b/dealplustech-astro/node_modules/@libsql/client/lib-esm/node.d.ts new file mode 100644 index 000000000..3e82e6b41 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/node.d.ts @@ -0,0 +1,7 @@ +import type { Config, Client } from "@libsql/core/api"; +export * from "@libsql/core/api"; +/** Creates a {@link Client} object. + * + * You must pass at least an `url` in the {@link Config} object. + */ +export declare function createClient(config: Config): Client; diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/node.js b/dealplustech-astro/node_modules/@libsql/client/lib-esm/node.js new file mode 100644 index 000000000..417b83516 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/node.js @@ -0,0 +1,23 @@ +import { expandConfig } from "@libsql/core/config"; +import { _createClient as _createSqlite3Client } from "./sqlite3.js"; +import { _createClient as _createWsClient } from "./ws.js"; +import { _createClient as _createHttpClient } from "./http.js"; +export * from "@libsql/core/api"; +/** Creates a {@link Client} object. + * + * You must pass at least an `url` in the {@link Config} object. + */ +export function createClient(config) { + return _createClient(expandConfig(config, true)); +} +function _createClient(config) { + if (config.scheme === "wss" || config.scheme === "ws") { + return _createWsClient(config); + } + else if (config.scheme === "https" || config.scheme === "http") { + return _createHttpClient(config); + } + else { + return _createSqlite3Client(config); + } +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/sql_cache.d.ts b/dealplustech-astro/node_modules/@libsql/client/lib-esm/sql_cache.d.ts new file mode 100644 index 000000000..1941bb965 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/sql_cache.d.ts @@ -0,0 +1,7 @@ +import type * as hrana from "@libsql/hrana-client"; +export declare class SqlCache { + #private; + capacity: number; + constructor(owner: hrana.SqlOwner, capacity: number); + apply(hranaStmts: Array): void; +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/sql_cache.js b/dealplustech-astro/node_modules/@libsql/client/lib-esm/sql_cache.js new file mode 100644 index 000000000..26e6b8e79 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/sql_cache.js @@ -0,0 +1,87 @@ +export class SqlCache { + #owner; + #sqls; + capacity; + constructor(owner, capacity) { + this.#owner = owner; + this.#sqls = new Lru(); + this.capacity = capacity; + } + // Replaces SQL strings with cached `hrana.Sql` objects in the statements in `hranaStmts`. After this + // function returns, we guarantee that all `hranaStmts` refer to valid (not closed) `hrana.Sql` objects, + // but _we may invalidate any other `hrana.Sql` objects_ (by closing them, thus removing them from the + // server). + // + // In practice, this means that after calling this function, you can use the statements only up to the + // first `await`, because concurrent code may also use the cache and invalidate those statements. + apply(hranaStmts) { + if (this.capacity <= 0) { + return; + } + const usedSqlObjs = new Set(); + for (const hranaStmt of hranaStmts) { + if (typeof hranaStmt.sql !== "string") { + continue; + } + const sqlText = hranaStmt.sql; + // Stored SQL cannot exceed 5kb. + // https://github.com/tursodatabase/libsql/blob/e9d637e051685f92b0da43849507b5ef4232fbeb/libsql-server/src/hrana/http/request.rs#L10 + if (sqlText.length >= 5000) { + continue; + } + let sqlObj = this.#sqls.get(sqlText); + if (sqlObj === undefined) { + while (this.#sqls.size + 1 > this.capacity) { + const [evictSqlText, evictSqlObj] = this.#sqls.peekLru(); + if (usedSqlObjs.has(evictSqlObj)) { + // The SQL object that we are trying to evict is already in use in this batch, so we + // must not evict and close it. + break; + } + evictSqlObj.close(); + this.#sqls.delete(evictSqlText); + } + if (this.#sqls.size + 1 <= this.capacity) { + sqlObj = this.#owner.storeSql(sqlText); + this.#sqls.set(sqlText, sqlObj); + } + } + if (sqlObj !== undefined) { + hranaStmt.sql = sqlObj; + usedSqlObjs.add(sqlObj); + } + } + } +} +class Lru { + // This maps keys to the cache values. The entries are ordered by their last use (entires that were used + // most recently are at the end). + #cache; + constructor() { + this.#cache = new Map(); + } + get(key) { + const value = this.#cache.get(key); + if (value !== undefined) { + // move the entry to the back of the Map + this.#cache.delete(key); + this.#cache.set(key, value); + } + return value; + } + set(key, value) { + this.#cache.set(key, value); + } + peekLru() { + for (const entry of this.#cache.entries()) { + return entry; + } + return undefined; + } + delete(key) { + this.#cache.delete(key); + } + get size() { + return this.#cache.size; + } +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/sqlite3.d.ts b/dealplustech-astro/node_modules/@libsql/client/lib-esm/sqlite3.d.ts new file mode 100644 index 000000000..77e075ab5 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/sqlite3.d.ts @@ -0,0 +1,35 @@ +import Database from "libsql"; +import type { Config, IntMode, Client, Transaction, TransactionMode, ResultSet, InStatement, InArgs, Replicated } from "@libsql/core/api"; +import type { ExpandedConfig } from "@libsql/core/config"; +export * from "@libsql/core/api"; +export declare function createClient(config: Config): Client; +/** @private */ +export declare function _createClient(config: ExpandedConfig): Client; +export declare class Sqlite3Client implements Client { + #private; + closed: boolean; + protocol: "file"; + /** @private */ + constructor(path: string, options: Database.Options, db: Database.Database, intMode: IntMode); + execute(stmtOrSql: InStatement | string, args?: InArgs): Promise; + batch(stmts: Array, mode?: TransactionMode): Promise>; + migrate(stmts: Array): Promise>; + transaction(mode?: TransactionMode): Promise; + executeMultiple(sql: string): Promise; + sync(): Promise; + reconnect(): Promise; + close(): void; +} +export declare class Sqlite3Transaction implements Transaction { + #private; + /** @private */ + constructor(database: Database.Database, intMode: IntMode); + execute(stmt: InStatement): Promise; + execute(sql: string, args?: InArgs): Promise; + batch(stmts: Array): Promise>; + executeMultiple(sql: string): Promise; + rollback(): Promise; + commit(): Promise; + close(): void; + get closed(): boolean; +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/sqlite3.js b/dealplustech-astro/node_modules/@libsql/client/lib-esm/sqlite3.js new file mode 100644 index 000000000..17444d977 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/sqlite3.js @@ -0,0 +1,476 @@ +import Database from "libsql"; +import { Buffer } from "node:buffer"; +import { LibsqlError, LibsqlBatchError } from "@libsql/core/api"; +import { expandConfig, isInMemoryConfig } from "@libsql/core/config"; +import { supportedUrlLink, transactionModeToBegin, ResultSetImpl, } from "@libsql/core/util"; +export * from "@libsql/core/api"; +export function createClient(config) { + return _createClient(expandConfig(config, true)); +} +/** @private */ +export function _createClient(config) { + if (config.scheme !== "file") { + throw new LibsqlError(`URL scheme ${JSON.stringify(config.scheme + ":")} is not supported by the local sqlite3 client. ` + + `For more information, please read ${supportedUrlLink}`, "URL_SCHEME_NOT_SUPPORTED"); + } + const authority = config.authority; + if (authority !== undefined) { + const host = authority.host.toLowerCase(); + if (host !== "" && host !== "localhost") { + throw new LibsqlError(`Invalid host in file URL: ${JSON.stringify(authority.host)}. ` + + 'A "file:" URL with an absolute path should start with one slash ("file:/absolute/path.db") ' + + 'or with three slashes ("file:///absolute/path.db"). ' + + `For more information, please read ${supportedUrlLink}`, "URL_INVALID"); + } + if (authority.port !== undefined) { + throw new LibsqlError("File URL cannot have a port", "URL_INVALID"); + } + if (authority.userinfo !== undefined) { + throw new LibsqlError("File URL cannot have username and password", "URL_INVALID"); + } + } + let isInMemory = isInMemoryConfig(config); + if (isInMemory && config.syncUrl) { + throw new LibsqlError(`Embedded replica must use file for local db but URI with in-memory mode were provided instead: ${config.path}`, "URL_INVALID"); + } + let path = config.path; + if (isInMemory) { + // note: we should prepend file scheme in order for SQLite3 to recognize :memory: connection query parameters + path = `${config.scheme}:${config.path}`; + } + const options = { + authToken: config.authToken, + encryptionKey: config.encryptionKey, + remoteEncryptionKey: config.remoteEncryptionKey, + syncUrl: config.syncUrl, + syncPeriod: config.syncInterval, + readYourWrites: config.readYourWrites, + offline: config.offline, + }; + const db = new Database(path, options); + executeStmt(db, "SELECT 1 AS checkThatTheDatabaseCanBeOpened", config.intMode); + return new Sqlite3Client(path, options, db, config.intMode); +} +export class Sqlite3Client { + #path; + #options; + #db; + #intMode; + closed; + protocol; + /** @private */ + constructor(path, options, db, intMode) { + this.#path = path; + this.#options = options; + this.#db = db; + this.#intMode = intMode; + this.closed = false; + this.protocol = "file"; + } + async execute(stmtOrSql, args) { + let stmt; + if (typeof stmtOrSql === "string") { + stmt = { + sql: stmtOrSql, + args: args || [], + }; + } + else { + stmt = stmtOrSql; + } + this.#checkNotClosed(); + return executeStmt(this.#getDb(), stmt, this.#intMode); + } + async batch(stmts, mode = "deferred") { + this.#checkNotClosed(); + const db = this.#getDb(); + try { + executeStmt(db, transactionModeToBegin(mode), this.#intMode); + const resultSets = []; + for (let i = 0; i < stmts.length; i++) { + try { + if (!db.inTransaction) { + throw new LibsqlBatchError("The transaction has been rolled back", i, "TRANSACTION_CLOSED"); + } + const stmt = stmts[i]; + const normalizedStmt = Array.isArray(stmt) + ? { sql: stmt[0], args: stmt[1] || [] } + : stmt; + resultSets.push(executeStmt(db, normalizedStmt, this.#intMode)); + } + catch (e) { + if (e instanceof LibsqlBatchError) { + throw e; + } + if (e instanceof LibsqlError) { + throw new LibsqlBatchError(e.message, i, e.code, e.extendedCode, e.rawCode, e.cause instanceof Error ? e.cause : undefined); + } + throw e; + } + } + executeStmt(db, "COMMIT", this.#intMode); + return resultSets; + } + finally { + if (db.inTransaction) { + executeStmt(db, "ROLLBACK", this.#intMode); + } + } + } + async migrate(stmts) { + this.#checkNotClosed(); + const db = this.#getDb(); + try { + executeStmt(db, "PRAGMA foreign_keys=off", this.#intMode); + executeStmt(db, transactionModeToBegin("deferred"), this.#intMode); + const resultSets = []; + for (let i = 0; i < stmts.length; i++) { + try { + if (!db.inTransaction) { + throw new LibsqlBatchError("The transaction has been rolled back", i, "TRANSACTION_CLOSED"); + } + resultSets.push(executeStmt(db, stmts[i], this.#intMode)); + } + catch (e) { + if (e instanceof LibsqlBatchError) { + throw e; + } + if (e instanceof LibsqlError) { + throw new LibsqlBatchError(e.message, i, e.code, e.extendedCode, e.rawCode, e.cause instanceof Error ? e.cause : undefined); + } + throw e; + } + } + executeStmt(db, "COMMIT", this.#intMode); + return resultSets; + } + finally { + if (db.inTransaction) { + executeStmt(db, "ROLLBACK", this.#intMode); + } + executeStmt(db, "PRAGMA foreign_keys=on", this.#intMode); + } + } + async transaction(mode = "write") { + const db = this.#getDb(); + executeStmt(db, transactionModeToBegin(mode), this.#intMode); + this.#db = null; // A new connection will be lazily created on next use + return new Sqlite3Transaction(db, this.#intMode); + } + async executeMultiple(sql) { + this.#checkNotClosed(); + const db = this.#getDb(); + try { + return executeMultiple(db, sql); + } + finally { + if (db.inTransaction) { + executeStmt(db, "ROLLBACK", this.#intMode); + } + } + } + async sync() { + this.#checkNotClosed(); + const rep = await this.#getDb().sync(); + return { + frames_synced: rep.frames_synced, + frame_no: rep.frame_no, + }; + } + async reconnect() { + try { + if (!this.closed && this.#db !== null) { + this.#db.close(); + } + } + finally { + this.#db = new Database(this.#path, this.#options); + this.closed = false; + } + } + close() { + this.closed = true; + if (this.#db !== null) { + this.#db.close(); + this.#db = null; + } + } + #checkNotClosed() { + if (this.closed) { + throw new LibsqlError("The client is closed", "CLIENT_CLOSED"); + } + } + // Lazily creates the database connection and returns it + #getDb() { + if (this.#db === null) { + this.#db = new Database(this.#path, this.#options); + } + return this.#db; + } +} +export class Sqlite3Transaction { + #database; + #intMode; + /** @private */ + constructor(database, intMode) { + this.#database = database; + this.#intMode = intMode; + } + async execute(stmtOrSql, args) { + let stmt; + if (typeof stmtOrSql === "string") { + stmt = { + sql: stmtOrSql, + args: args || [], + }; + } + else { + stmt = stmtOrSql; + } + this.#checkNotClosed(); + return executeStmt(this.#database, stmt, this.#intMode); + } + async batch(stmts) { + const resultSets = []; + for (let i = 0; i < stmts.length; i++) { + try { + this.#checkNotClosed(); + const stmt = stmts[i]; + const normalizedStmt = Array.isArray(stmt) + ? { sql: stmt[0], args: stmt[1] || [] } + : stmt; + resultSets.push(executeStmt(this.#database, normalizedStmt, this.#intMode)); + } + catch (e) { + if (e instanceof LibsqlBatchError) { + throw e; + } + if (e instanceof LibsqlError) { + throw new LibsqlBatchError(e.message, i, e.code, e.extendedCode, e.rawCode, e.cause instanceof Error ? e.cause : undefined); + } + throw e; + } + } + return resultSets; + } + async executeMultiple(sql) { + this.#checkNotClosed(); + return executeMultiple(this.#database, sql); + } + async rollback() { + if (!this.#database.open) { + return; + } + this.#checkNotClosed(); + executeStmt(this.#database, "ROLLBACK", this.#intMode); + } + async commit() { + this.#checkNotClosed(); + executeStmt(this.#database, "COMMIT", this.#intMode); + } + close() { + if (this.#database.inTransaction) { + executeStmt(this.#database, "ROLLBACK", this.#intMode); + } + } + get closed() { + return !this.#database.inTransaction; + } + #checkNotClosed() { + if (this.closed) { + throw new LibsqlError("The transaction is closed", "TRANSACTION_CLOSED"); + } + } +} +function executeStmt(db, stmt, intMode) { + let sql; + let args; + if (typeof stmt === "string") { + sql = stmt; + args = []; + } + else { + sql = stmt.sql; + if (Array.isArray(stmt.args)) { + args = stmt.args.map((value) => valueToSql(value, intMode)); + } + else { + args = {}; + for (const name in stmt.args) { + const argName = name[0] === "@" || name[0] === "$" || name[0] === ":" + ? name.substring(1) + : name; + args[argName] = valueToSql(stmt.args[name], intMode); + } + } + } + try { + const sqlStmt = db.prepare(sql); + sqlStmt.safeIntegers(true); + let returnsData = true; + try { + sqlStmt.raw(true); + } + catch { + // raw() throws an exception if the statement does not return data + returnsData = false; + } + if (returnsData) { + const columns = Array.from(sqlStmt.columns().map((col) => col.name)); + const columnTypes = Array.from(sqlStmt.columns().map((col) => col.type ?? "")); + const rows = sqlStmt.all(args).map((sqlRow) => { + return rowFromSql(sqlRow, columns, intMode); + }); + // TODO: can we get this info from better-sqlite3? + const rowsAffected = 0; + const lastInsertRowid = undefined; + return new ResultSetImpl(columns, columnTypes, rows, rowsAffected, lastInsertRowid); + } + else { + const info = sqlStmt.run(args); + const rowsAffected = info.changes; + const lastInsertRowid = BigInt(info.lastInsertRowid); + return new ResultSetImpl([], [], [], rowsAffected, lastInsertRowid); + } + } + catch (e) { + throw mapSqliteError(e); + } +} +function rowFromSql(sqlRow, columns, intMode) { + const row = {}; + // make sure that the "length" property is not enumerable + Object.defineProperty(row, "length", { value: sqlRow.length }); + for (let i = 0; i < sqlRow.length; ++i) { + const value = valueFromSql(sqlRow[i], intMode); + Object.defineProperty(row, i, { value }); + const column = columns[i]; + if (!Object.hasOwn(row, column)) { + Object.defineProperty(row, column, { + value, + enumerable: true, + configurable: true, + writable: true, + }); + } + } + return row; +} +function valueFromSql(sqlValue, intMode) { + if (typeof sqlValue === "bigint") { + if (intMode === "number") { + if (sqlValue < minSafeBigint || sqlValue > maxSafeBigint) { + throw new RangeError("Received integer which cannot be safely represented as a JavaScript number"); + } + return Number(sqlValue); + } + else if (intMode === "bigint") { + return sqlValue; + } + else if (intMode === "string") { + return "" + sqlValue; + } + else { + throw new Error("Invalid value for IntMode"); + } + } + else if (sqlValue instanceof Buffer) { + return sqlValue.buffer; + } + return sqlValue; +} +const minSafeBigint = -9007199254740991n; +const maxSafeBigint = 9007199254740991n; +function valueToSql(value, intMode) { + if (typeof value === "number") { + if (!Number.isFinite(value)) { + throw new RangeError("Only finite numbers (not Infinity or NaN) can be passed as arguments"); + } + return value; + } + else if (typeof value === "bigint") { + if (value < minInteger || value > maxInteger) { + throw new RangeError("bigint is too large to be represented as a 64-bit integer and passed as argument"); + } + return value; + } + else if (typeof value === "boolean") { + switch (intMode) { + case "bigint": + return value ? 1n : 0n; + case "string": + return value ? "1" : "0"; + default: + return value ? 1 : 0; + } + } + else if (value instanceof ArrayBuffer) { + return Buffer.from(value); + } + else if (value instanceof Date) { + return value.valueOf(); + } + else if (value === undefined) { + throw new TypeError("undefined cannot be passed as argument to the database"); + } + else { + return value; + } +} +const minInteger = -9223372036854775808n; +const maxInteger = 9223372036854775807n; +function executeMultiple(db, sql) { + try { + db.exec(sql); + } + catch (e) { + throw mapSqliteError(e); + } +} +function mapSqliteError(e) { + if (e instanceof Database.SqliteError) { + const extendedCode = e.code; + const code = mapToBaseCode(e.rawCode); + return new LibsqlError(e.message, code, extendedCode, e.rawCode, e); + } + return e; +} +// Map SQLite raw error code to base error code string. +// Extended error codes are (base | (extended << 8)), so base = rawCode & 0xFF +function mapToBaseCode(rawCode) { + if (rawCode === undefined) { + return "SQLITE_UNKNOWN"; + } + const baseCode = rawCode & 0xff; + return (sqliteErrorCodes[baseCode] ?? `SQLITE_UNKNOWN_${baseCode.toString()}`); +} +const sqliteErrorCodes = { + 1: "SQLITE_ERROR", + 2: "SQLITE_INTERNAL", + 3: "SQLITE_PERM", + 4: "SQLITE_ABORT", + 5: "SQLITE_BUSY", + 6: "SQLITE_LOCKED", + 7: "SQLITE_NOMEM", + 8: "SQLITE_READONLY", + 9: "SQLITE_INTERRUPT", + 10: "SQLITE_IOERR", + 11: "SQLITE_CORRUPT", + 12: "SQLITE_NOTFOUND", + 13: "SQLITE_FULL", + 14: "SQLITE_CANTOPEN", + 15: "SQLITE_PROTOCOL", + 16: "SQLITE_EMPTY", + 17: "SQLITE_SCHEMA", + 18: "SQLITE_TOOBIG", + 19: "SQLITE_CONSTRAINT", + 20: "SQLITE_MISMATCH", + 21: "SQLITE_MISUSE", + 22: "SQLITE_NOLFS", + 23: "SQLITE_AUTH", + 24: "SQLITE_FORMAT", + 25: "SQLITE_RANGE", + 26: "SQLITE_NOTADB", + 27: "SQLITE_NOTICE", + 28: "SQLITE_WARNING", +}; diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/web.d.ts b/dealplustech-astro/node_modules/@libsql/client/lib-esm/web.d.ts new file mode 100644 index 000000000..533c4c860 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/web.d.ts @@ -0,0 +1,6 @@ +import type { Config, Client } from "@libsql/core/api"; +import type { ExpandedConfig } from "@libsql/core/config"; +export * from "@libsql/core/api"; +export declare function createClient(config: Config): Client; +/** @private */ +export declare function _createClient(config: ExpandedConfig): Client; diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/web.js b/dealplustech-astro/node_modules/@libsql/client/lib-esm/web.js new file mode 100644 index 000000000..b42e3103a --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/web.js @@ -0,0 +1,22 @@ +import { LibsqlError } from "@libsql/core/api"; +import { expandConfig } from "@libsql/core/config"; +import { supportedUrlLink } from "@libsql/core/util"; +import { _createClient as _createWsClient } from "./ws.js"; +import { _createClient as _createHttpClient } from "./http.js"; +export * from "@libsql/core/api"; +export function createClient(config) { + return _createClient(expandConfig(config, true)); +} +/** @private */ +export function _createClient(config) { + if (config.scheme === "ws" || config.scheme === "wss") { + return _createWsClient(config); + } + else if (config.scheme === "http" || config.scheme === "https") { + return _createHttpClient(config); + } + else { + throw new LibsqlError('The client that uses Web standard APIs supports only "libsql:", "wss:", "ws:", "https:" and "http:" URLs, ' + + `got ${JSON.stringify(config.scheme + ":")}. For more information, please read ${supportedUrlLink}`, "URL_SCHEME_NOT_SUPPORTED"); + } +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/ws.d.ts b/dealplustech-astro/node_modules/@libsql/client/lib-esm/ws.d.ts new file mode 100644 index 000000000..f481b349f --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/ws.d.ts @@ -0,0 +1,49 @@ +import * as hrana from "@libsql/hrana-client"; +import type { Config, IntMode, Client, Transaction, ResultSet, InStatement, InArgs, Replicated } from "@libsql/core/api"; +import { TransactionMode } from "@libsql/core/api"; +import type { ExpandedConfig } from "@libsql/core/config"; +import { HranaTransaction } from "./hrana.js"; +import { SqlCache } from "./sql_cache.js"; +export * from "@libsql/core/api"; +export declare function createClient(config: Config): WsClient; +/** @private */ +export declare function _createClient(config: ExpandedConfig): WsClient; +interface ConnState { + client: hrana.WsClient; + useSqlCache: boolean | undefined; + sqlCache: SqlCache; + openTime: Date; + streamStates: Set; +} +interface StreamState { + conn: ConnState; + stream: hrana.WsStream; +} +export declare class WsClient implements Client { + #private; + closed: boolean; + protocol: "ws"; + /** @private */ + constructor(client: hrana.WsClient, url: URL, authToken: string | undefined, intMode: IntMode, concurrency: number | undefined); + private limit; + execute(stmtOrSql: InStatement | string, args?: InArgs): Promise; + batch(stmts: Array, mode?: TransactionMode): Promise>; + migrate(stmts: Array): Promise>; + transaction(mode?: TransactionMode): Promise; + executeMultiple(sql: string): Promise; + sync(): Promise; + reconnect(): Promise; + _closeStream(streamState: StreamState): void; + close(): void; +} +export declare class WsTransaction extends HranaTransaction implements Transaction { + #private; + /** @private */ + constructor(client: WsClient, state: StreamState, mode: TransactionMode, version: hrana.ProtocolVersion); + /** @private */ + _getStream(): hrana.Stream; + /** @private */ + _getSqlCache(): SqlCache; + close(): void; + get closed(): boolean; +} diff --git a/dealplustech-astro/node_modules/@libsql/client/lib-esm/ws.js b/dealplustech-astro/node_modules/@libsql/client/lib-esm/ws.js new file mode 100644 index 000000000..666248fa4 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/lib-esm/ws.js @@ -0,0 +1,359 @@ +import * as hrana from "@libsql/hrana-client"; +import { LibsqlError } from "@libsql/core/api"; +import { expandConfig } from "@libsql/core/config"; +import { HranaTransaction, executeHranaBatch, stmtToHrana, resultSetFromHrana, mapHranaError, } from "./hrana.js"; +import { SqlCache } from "./sql_cache.js"; +import { encodeBaseUrl } from "@libsql/core/uri"; +import { supportedUrlLink } from "@libsql/core/util"; +import promiseLimit from "promise-limit"; +export * from "@libsql/core/api"; +export function createClient(config) { + return _createClient(expandConfig(config, false)); +} +/** @private */ +export function _createClient(config) { + if (config.scheme !== "wss" && config.scheme !== "ws") { + throw new LibsqlError('The WebSocket client supports only "libsql:", "wss:" and "ws:" URLs, ' + + `got ${JSON.stringify(config.scheme + ":")}. For more information, please read ${supportedUrlLink}`, "URL_SCHEME_NOT_SUPPORTED"); + } + if (config.encryptionKey !== undefined) { + throw new LibsqlError("Encryption key is not supported by the remote client.", "ENCRYPTION_KEY_NOT_SUPPORTED"); + } + if (config.scheme === "ws" && config.tls) { + throw new LibsqlError(`A "ws:" URL cannot opt into TLS by using ?tls=1`, "URL_INVALID"); + } + else if (config.scheme === "wss" && !config.tls) { + throw new LibsqlError(`A "wss:" URL cannot opt out of TLS by using ?tls=0`, "URL_INVALID"); + } + const url = encodeBaseUrl(config.scheme, config.authority, config.path); + let client; + try { + client = hrana.openWs(url, config.authToken); + } + catch (e) { + if (e instanceof hrana.WebSocketUnsupportedError) { + const suggestedScheme = config.scheme === "wss" ? "https" : "http"; + const suggestedUrl = encodeBaseUrl(suggestedScheme, config.authority, config.path); + throw new LibsqlError("This environment does not support WebSockets, please switch to the HTTP client by using " + + `a "${suggestedScheme}:" URL (${JSON.stringify(suggestedUrl)}). ` + + `For more information, please read ${supportedUrlLink}`, "WEBSOCKETS_NOT_SUPPORTED"); + } + throw mapHranaError(e); + } + return new WsClient(client, url, config.authToken, config.intMode, config.concurrency); +} +const maxConnAgeMillis = 60 * 1000; +const sqlCacheCapacity = 100; +export class WsClient { + #url; + #authToken; + #intMode; + // State of the current connection. The `hrana.WsClient` inside may be closed at any moment due to an + // asynchronous error. + #connState; + // If defined, this is a connection that will be used in the future, once it is ready. + #futureConnState; + closed; + protocol; + #isSchemaDatabase; + #promiseLimitFunction; + /** @private */ + constructor(client, url, authToken, intMode, concurrency) { + this.#url = url; + this.#authToken = authToken; + this.#intMode = intMode; + this.#connState = this.#openConn(client); + this.#futureConnState = undefined; + this.closed = false; + this.protocol = "ws"; + this.#promiseLimitFunction = promiseLimit(concurrency); + } + async limit(fn) { + return this.#promiseLimitFunction(fn); + } + async execute(stmtOrSql, args) { + let stmt; + if (typeof stmtOrSql === "string") { + stmt = { + sql: stmtOrSql, + args: args || [], + }; + } + else { + stmt = stmtOrSql; + } + return this.limit(async () => { + const streamState = await this.#openStream(); + try { + const hranaStmt = stmtToHrana(stmt); + // Schedule all operations synchronously, so they will be pipelined and executed in a single + // network roundtrip. + streamState.conn.sqlCache.apply([hranaStmt]); + const hranaRowsPromise = streamState.stream.query(hranaStmt); + streamState.stream.closeGracefully(); + const hranaRowsResult = await hranaRowsPromise; + return resultSetFromHrana(hranaRowsResult); + } + catch (e) { + throw mapHranaError(e); + } + finally { + this._closeStream(streamState); + } + }); + } + async batch(stmts, mode = "deferred") { + return this.limit(async () => { + const streamState = await this.#openStream(); + try { + const normalizedStmts = stmts.map((stmt) => { + if (Array.isArray(stmt)) { + return { + sql: stmt[0], + args: stmt[1] || [], + }; + } + return stmt; + }); + const hranaStmts = normalizedStmts.map(stmtToHrana); + const version = await streamState.conn.client.getVersion(); + // Schedule all operations synchronously, so they will be pipelined and executed in a single + // network roundtrip. + streamState.conn.sqlCache.apply(hranaStmts); + const batch = streamState.stream.batch(version >= 3); + const resultsPromise = executeHranaBatch(mode, version, batch, hranaStmts); + const results = await resultsPromise; + return results; + } + catch (e) { + throw mapHranaError(e); + } + finally { + this._closeStream(streamState); + } + }); + } + async migrate(stmts) { + return this.limit(async () => { + const streamState = await this.#openStream(); + try { + const hranaStmts = stmts.map(stmtToHrana); + const version = await streamState.conn.client.getVersion(); + // Schedule all operations synchronously, so they will be pipelined and executed in a single + // network roundtrip. + const batch = streamState.stream.batch(version >= 3); + const resultsPromise = executeHranaBatch("deferred", version, batch, hranaStmts, true); + const results = await resultsPromise; + return results; + } + catch (e) { + throw mapHranaError(e); + } + finally { + this._closeStream(streamState); + } + }); + } + async transaction(mode = "write") { + return this.limit(async () => { + const streamState = await this.#openStream(); + try { + const version = await streamState.conn.client.getVersion(); + // the BEGIN statement will be batched with the first statement on the transaction to save a + // network roundtrip + return new WsTransaction(this, streamState, mode, version); + } + catch (e) { + this._closeStream(streamState); + throw mapHranaError(e); + } + }); + } + async executeMultiple(sql) { + return this.limit(async () => { + const streamState = await this.#openStream(); + try { + // Schedule all operations synchronously, so they will be pipelined and executed in a single + // network roundtrip. + const promise = streamState.stream.sequence(sql); + streamState.stream.closeGracefully(); + await promise; + } + catch (e) { + throw mapHranaError(e); + } + finally { + this._closeStream(streamState); + } + }); + } + sync() { + throw new LibsqlError("sync not supported in ws mode", "SYNC_NOT_SUPPORTED"); + } + async #openStream() { + if (this.closed) { + throw new LibsqlError("The client is closed", "CLIENT_CLOSED"); + } + const now = new Date(); + const ageMillis = now.valueOf() - this.#connState.openTime.valueOf(); + if (ageMillis > maxConnAgeMillis && + this.#futureConnState === undefined) { + // The existing connection is too old, let's open a new one. + const futureConnState = this.#openConn(); + this.#futureConnState = futureConnState; + // However, if we used `futureConnState` immediately, we would introduce additional latency, + // because we would have to wait for the WebSocket handshake to complete, even though we may a + // have perfectly good existing connection in `this.#connState`! + // + // So we wait until the `hrana.Client.getVersion()` operation completes (which happens when the + // WebSocket hanshake completes), and only then we replace `this.#connState` with + // `futureConnState`, which is stored in `this.#futureConnState` in the meantime. + futureConnState.client.getVersion().then((_version) => { + if (this.#connState !== futureConnState) { + // We need to close `this.#connState` before we replace it. However, it is possible + // that `this.#connState` has already been replaced: see the code below. + if (this.#connState.streamStates.size === 0) { + this.#connState.client.close(); + } + else { + // If there are existing streams on the connection, we must not close it, because + // these streams would be broken. The last stream to be closed will also close the + // connection in `_closeStream()`. + } + } + this.#connState = futureConnState; + this.#futureConnState = undefined; + }, (_e) => { + // If the new connection could not be established, let's just ignore the error and keep + // using the existing connection. + this.#futureConnState = undefined; + }); + } + if (this.#connState.client.closed) { + // An error happened on this connection and it has been closed. Let's try to seamlessly reconnect. + try { + if (this.#futureConnState !== undefined) { + // We are already in the process of opening a new connection, so let's just use it + // immediately. + this.#connState = this.#futureConnState; + } + else { + this.#connState = this.#openConn(); + } + } + catch (e) { + throw mapHranaError(e); + } + } + const connState = this.#connState; + try { + // Now we wait for the WebSocket handshake to complete (if it hasn't completed yet). Note that + // this does not increase latency, because any messages that we would send on the WebSocket before + // the handshake would be queued until the handshake is completed anyway. + if (connState.useSqlCache === undefined) { + connState.useSqlCache = + (await connState.client.getVersion()) >= 2; + if (connState.useSqlCache) { + connState.sqlCache.capacity = sqlCacheCapacity; + } + } + const stream = connState.client.openStream(); + stream.intMode = this.#intMode; + const streamState = { conn: connState, stream }; + connState.streamStates.add(streamState); + return streamState; + } + catch (e) { + throw mapHranaError(e); + } + } + #openConn(client) { + try { + client ??= hrana.openWs(this.#url, this.#authToken); + return { + client, + useSqlCache: undefined, + sqlCache: new SqlCache(client, 0), + openTime: new Date(), + streamStates: new Set(), + }; + } + catch (e) { + throw mapHranaError(e); + } + } + async reconnect() { + try { + for (const st of Array.from(this.#connState.streamStates)) { + try { + st.stream.close(); + } + catch { } + } + this.#connState.client.close(); + } + catch { } + if (this.#futureConnState) { + try { + this.#futureConnState.client.close(); + } + catch { } + this.#futureConnState = undefined; + } + const next = this.#openConn(); + const version = await next.client.getVersion(); + next.useSqlCache = version >= 2; + if (next.useSqlCache) { + next.sqlCache.capacity = sqlCacheCapacity; + } + this.#connState = next; + this.closed = false; + } + _closeStream(streamState) { + streamState.stream.close(); + const connState = streamState.conn; + connState.streamStates.delete(streamState); + if (connState.streamStates.size === 0 && + connState !== this.#connState) { + // We are not using this connection anymore and this is the last stream that was using it, so we + // must close it now. + connState.client.close(); + } + } + close() { + this.#connState.client.close(); + this.closed = true; + if (this.#futureConnState) { + try { + this.#futureConnState.client.close(); + } + catch { } + this.#futureConnState = undefined; + } + this.closed = true; + } +} +export class WsTransaction extends HranaTransaction { + #client; + #streamState; + /** @private */ + constructor(client, state, mode, version) { + super(mode, version); + this.#client = client; + this.#streamState = state; + } + /** @private */ + _getStream() { + return this.#streamState.stream; + } + /** @private */ + _getSqlCache() { + return this.#streamState.conn.sqlCache; + } + close() { + this.#client._closeStream(this.#streamState); + } + get closed() { + return this.#streamState.stream.closed; + } +} diff --git a/dealplustech-astro/node_modules/@libsql/client/package.json b/dealplustech-astro/node_modules/@libsql/client/package.json new file mode 100644 index 000000000..ce80a93c6 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/client/package.json @@ -0,0 +1,123 @@ +{ + "name": "@libsql/client", + "version": "0.17.0", + "keywords": [ + "libsql", + "database", + "sqlite", + "serverless", + "vercel", + "netlify", + "lambda" + ], + "description": "libSQL driver for TypeScript and JavaScript", + "repository": { + "type": "git", + "url": "git+https://github.com/tursodatabase/libsql-client-ts", + "directory": "packages/libsql-client" + }, + "authors": [ + "Jan Špaček ", + "Pekka Enberg ", + "Jan Plhak " + ], + "license": "MIT", + "type": "module", + "main": "lib-cjs/node.js", + "types": "lib-esm/node.d.ts", + "exports": { + ".": { + "types": "./lib-esm/node.d.ts", + "import": { + "workerd": "./lib-esm/web.js", + "deno": "./lib-esm/node.js", + "edge-light": "./lib-esm/web.js", + "netlify": "./lib-esm/web.js", + "node": "./lib-esm/node.js", + "browser": "./lib-esm/web.js", + "default": "./lib-esm/node.js" + }, + "require": "./lib-cjs/node.js" + }, + "./node": { + "types": "./lib-esm/node.d.ts", + "import": "./lib-esm/node.js", + "require": "./lib-cjs/node.js" + }, + "./http": { + "types": "./lib-esm/http.d.ts", + "import": "./lib-esm/http.js", + "require": "./lib-cjs/http.js" + }, + "./ws": { + "types": "./lib-esm/ws.d.ts", + "import": "./lib-esm/ws.js", + "require": "./lib-cjs/ws.js" + }, + "./sqlite3": { + "types": "./lib-esm/sqlite3.d.ts", + "import": "./lib-esm/sqlite3.js", + "require": "./lib-cjs/sqlite3.js" + }, + "./web": { + "types": "./lib-esm/web.d.ts", + "import": "./lib-esm/web.js", + "require": "./lib-cjs/web.js" + } + }, + "typesVersions": { + "*": { + ".": [ + "./lib-esm/node.d.ts" + ], + "http": [ + "./lib-esm/http.d.ts" + ], + "hrana": [ + "./lib-esm/hrana.d.ts" + ], + "sqlite3": [ + "./lib-esm/sqlite3.d.ts" + ], + "web": [ + "./lib-esm/web.d.ts" + ] + } + }, + "files": [ + "lib-cjs/**", + "lib-esm/**", + "README.md" + ], + "scripts": { + "prepublishOnly": "npm run build", + "prebuild": "rm -rf ./lib-cjs ./lib-esm", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "tsc -p tsconfig.build-cjs.json", + "build:esm": "tsc -p tsconfig.build-esm.json", + "format:check": "prettier --check .", + "postbuild": "cp package-cjs.json ./lib-cjs/package.json", + "test": "jest --runInBand", + "typecheck": "tsc --noEmit", + "typedoc": "rm -rf ./docs && typedoc", + "lint-staged": "lint-staged" + }, + "dependencies": { + "@libsql/core": "^0.17.0", + "@libsql/hrana-client": "^0.9.0", + "js-base64": "^3.7.5", + "libsql": "^0.5.22", + "promise-limit": "^2.7.0" + }, + "devDependencies": { + "@types/jest": "^29.2.5", + "@types/node": "^18.15.5", + "jest": "^29.3.1", + "lint-staged": "^15.2.2", + "msw": "^2.3.0", + "prettier": "3.2.5", + "ts-jest": "^29.0.5", + "typedoc": "^0.23.28", + "typescript": "^4.9.4" + } +} diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-cjs/api.js b/dealplustech-astro/node_modules/@libsql/core/lib-cjs/api.js new file mode 100644 index 000000000..04328d450 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-cjs/api.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LibsqlBatchError = exports.LibsqlError = void 0; +/** Error thrown by the client. */ +class LibsqlError extends Error { + /** Machine-readable error code. */ + code; + /** Extended error code with more specific information (e.g., SQLITE_CONSTRAINT_PRIMARYKEY). */ + extendedCode; + /** Raw numeric error code */ + rawCode; + constructor(message, code, extendedCode, rawCode, cause) { + if (code !== undefined) { + message = `${code}: ${message}`; + } + super(message, { cause }); + this.code = code; + this.extendedCode = extendedCode; + this.rawCode = rawCode; + this.name = "LibsqlError"; + } +} +exports.LibsqlError = LibsqlError; +/** Error thrown by the client during batch operations. */ +class LibsqlBatchError extends LibsqlError { + /** The zero-based index of the statement that failed in the batch. */ + statementIndex; + constructor(message, statementIndex, code, extendedCode, rawCode, cause) { + super(message, code, extendedCode, rawCode, cause); + this.statementIndex = statementIndex; + this.name = "LibsqlBatchError"; + } +} +exports.LibsqlBatchError = LibsqlBatchError; diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-cjs/config.js b/dealplustech-astro/node_modules/@libsql/core/lib-cjs/config.js new file mode 100644 index 000000000..553b69eda --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-cjs/config.js @@ -0,0 +1,143 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.expandConfig = exports.isInMemoryConfig = void 0; +const api_js_1 = require("./api.js"); +const uri_js_1 = require("./uri.js"); +const util_js_1 = require("./util.js"); +const inMemoryMode = ":memory:"; +function isInMemoryConfig(config) { + return (config.scheme === "file" && + (config.path === ":memory:" || config.path.startsWith(":memory:?"))); +} +exports.isInMemoryConfig = isInMemoryConfig; +function expandConfig(config, preferHttp) { + if (typeof config !== "object") { + // produce a reasonable error message in the common case where users type + // `createClient("libsql://...")` instead of `createClient({url: "libsql://..."})` + throw new TypeError(`Expected client configuration as object, got ${typeof config}`); + } + let { url, authToken, tls, intMode, concurrency } = config; + // fill simple defaults right here + concurrency = Math.max(0, concurrency || 20); + intMode ??= "number"; + let connectionQueryParams = []; // recognized query parameters which we sanitize through white list of valid key-value pairs + // convert plain :memory: url to URI format to make logic more uniform + if (url === inMemoryMode) { + url = "file::memory:"; + } + // parse url parameters first and override config with update values + const uri = (0, uri_js_1.parseUri)(url); + const originalUriScheme = uri.scheme.toLowerCase(); + const isInMemoryMode = originalUriScheme === "file" && + uri.path === inMemoryMode && + uri.authority === undefined; + let queryParamsDef; + if (isInMemoryMode) { + queryParamsDef = { + cache: { + values: ["shared", "private"], + update: (key, value) => connectionQueryParams.push(`${key}=${value}`), + }, + }; + } + else { + queryParamsDef = { + tls: { + values: ["0", "1"], + update: (_, value) => (tls = value === "1"), + }, + authToken: { + update: (_, value) => (authToken = value), + }, + }; + } + for (const { key, value } of uri.query?.pairs ?? []) { + if (!Object.hasOwn(queryParamsDef, key)) { + throw new api_js_1.LibsqlError(`Unsupported URL query parameter ${JSON.stringify(key)}`, "URL_PARAM_NOT_SUPPORTED"); + } + const queryParamDef = queryParamsDef[key]; + if (queryParamDef.values !== undefined && + !queryParamDef.values.includes(value)) { + throw new api_js_1.LibsqlError(`Unknown value for the "${key}" query argument: ${JSON.stringify(value)}. Supported values are: [${queryParamDef.values.map((x) => '"' + x + '"').join(", ")}]`, "URL_INVALID"); + } + if (queryParamDef.update !== undefined) { + queryParamDef?.update(key, value); + } + } + // fill complex defaults & validate config + const connectionQueryParamsString = connectionQueryParams.length === 0 + ? "" + : `?${connectionQueryParams.join("&")}`; + const path = uri.path + connectionQueryParamsString; + let scheme; + if (originalUriScheme === "libsql") { + if (tls === false) { + if (uri.authority?.port === undefined) { + throw new api_js_1.LibsqlError('A "libsql:" URL with ?tls=0 must specify an explicit port', "URL_INVALID"); + } + scheme = preferHttp ? "http" : "ws"; + } + else { + scheme = preferHttp ? "https" : "wss"; + } + } + else { + scheme = originalUriScheme; + } + if (scheme === "http" || scheme === "ws") { + tls ??= false; + } + else { + tls ??= true; + } + if (scheme !== "http" && + scheme !== "ws" && + scheme !== "https" && + scheme !== "wss" && + scheme !== "file") { + throw new api_js_1.LibsqlError('The client supports only "libsql:", "wss:", "ws:", "https:", "http:" and "file:" URLs, ' + + `got ${JSON.stringify(uri.scheme + ":")}. ` + + `For more information, please read ${util_js_1.supportedUrlLink}`, "URL_SCHEME_NOT_SUPPORTED"); + } + if (intMode !== "number" && intMode !== "bigint" && intMode !== "string") { + throw new TypeError(`Invalid value for intMode, expected "number", "bigint" or "string", got ${JSON.stringify(intMode)}`); + } + if (uri.fragment !== undefined) { + throw new api_js_1.LibsqlError(`URL fragments are not supported: ${JSON.stringify("#" + uri.fragment)}`, "URL_INVALID"); + } + if (isInMemoryMode) { + return { + scheme: "file", + tls: false, + path, + intMode, + concurrency, + syncUrl: config.syncUrl, + syncInterval: config.syncInterval, + readYourWrites: config.readYourWrites, + offline: config.offline, + fetch: config.fetch, + authToken: undefined, + encryptionKey: undefined, + remoteEncryptionKey: undefined, + authority: undefined, + }; + } + return { + scheme, + tls, + authority: uri.authority, + path, + authToken, + intMode, + concurrency, + encryptionKey: config.encryptionKey, + remoteEncryptionKey: config.remoteEncryptionKey, + syncUrl: config.syncUrl, + syncInterval: config.syncInterval, + readYourWrites: config.readYourWrites, + offline: config.offline, + fetch: config.fetch, + }; +} +exports.expandConfig = expandConfig; diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-cjs/package.json b/dealplustech-astro/node_modules/@libsql/core/lib-cjs/package.json new file mode 100644 index 000000000..1cd945a3b --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-cjs/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-cjs/uri.js b/dealplustech-astro/node_modules/@libsql/core/lib-cjs/uri.js new file mode 100644 index 000000000..ffde7ed43 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-cjs/uri.js @@ -0,0 +1,125 @@ +"use strict"; +// URI parser based on RFC 3986 +// We can't use the standard `URL` object, because we want to support relative `file:` URLs like +// `file:relative/path/database.db`, which are not correct according to RFC 8089, which standardizes the +// `file` scheme. +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encodeBaseUrl = exports.parseUri = void 0; +const api_js_1 = require("./api.js"); +function parseUri(text) { + const match = URI_RE.exec(text); + if (match === null) { + throw new api_js_1.LibsqlError(`The URL '${text}' is not in a valid format`, "URL_INVALID"); + } + const groups = match.groups; + const scheme = groups["scheme"]; + const authority = groups["authority"] !== undefined + ? parseAuthority(groups["authority"]) + : undefined; + const path = percentDecode(groups["path"]); + const query = groups["query"] !== undefined ? parseQuery(groups["query"]) : undefined; + const fragment = groups["fragment"] !== undefined + ? percentDecode(groups["fragment"]) + : undefined; + return { scheme, authority, path, query, fragment }; +} +exports.parseUri = parseUri; +const URI_RE = (() => { + const SCHEME = "(?[A-Za-z][A-Za-z.+-]*)"; + const AUTHORITY = "(?[^/?#]*)"; + const PATH = "(?[^?#]*)"; + const QUERY = "(?[^#]*)"; + const FRAGMENT = "(?.*)"; + return new RegExp(`^${SCHEME}:(//${AUTHORITY})?${PATH}(\\?${QUERY})?(#${FRAGMENT})?$`, "su"); +})(); +function parseAuthority(text) { + const match = AUTHORITY_RE.exec(text); + if (match === null) { + throw new api_js_1.LibsqlError("The authority part of the URL is not in a valid format", "URL_INVALID"); + } + const groups = match.groups; + const host = percentDecode(groups["host_br"] ?? groups["host"]); + const port = groups["port"] ? parseInt(groups["port"], 10) : undefined; + const userinfo = groups["username"] !== undefined + ? { + username: percentDecode(groups["username"]), + password: groups["password"] !== undefined + ? percentDecode(groups["password"]) + : undefined, + } + : undefined; + return { host, port, userinfo }; +} +const AUTHORITY_RE = (() => { + return new RegExp(`^((?[^:]*)(:(?.*))?@)?((?[^:\\[\\]]*)|(\\[(?[^\\[\\]]*)\\]))(:(?[0-9]*))?$`, "su"); +})(); +// Query string is parsed as application/x-www-form-urlencoded according to the Web URL standard: +// https://url.spec.whatwg.org/#urlencoded-parsing +function parseQuery(text) { + const sequences = text.split("&"); + const pairs = []; + for (const sequence of sequences) { + if (sequence === "") { + continue; + } + let key; + let value; + const splitIdx = sequence.indexOf("="); + if (splitIdx < 0) { + key = sequence; + value = ""; + } + else { + key = sequence.substring(0, splitIdx); + value = sequence.substring(splitIdx + 1); + } + pairs.push({ + key: percentDecode(key.replaceAll("+", " ")), + value: percentDecode(value.replaceAll("+", " ")), + }); + } + return { pairs }; +} +function percentDecode(text) { + try { + return decodeURIComponent(text); + } + catch (e) { + if (e instanceof URIError) { + throw new api_js_1.LibsqlError(`URL component has invalid percent encoding: ${e}`, "URL_INVALID", undefined, undefined, e); + } + throw e; + } +} +function encodeBaseUrl(scheme, authority, path) { + if (authority === undefined) { + throw new api_js_1.LibsqlError(`URL with scheme ${JSON.stringify(scheme + ":")} requires authority (the "//" part)`, "URL_INVALID"); + } + const schemeText = `${scheme}:`; + const hostText = encodeHost(authority.host); + const portText = encodePort(authority.port); + const userinfoText = encodeUserinfo(authority.userinfo); + const authorityText = `//${userinfoText}${hostText}${portText}`; + let pathText = path.split("/").map(encodeURIComponent).join("/"); + if (pathText !== "" && !pathText.startsWith("/")) { + pathText = "/" + pathText; + } + return new URL(`${schemeText}${authorityText}${pathText}`); +} +exports.encodeBaseUrl = encodeBaseUrl; +function encodeHost(host) { + return host.includes(":") ? `[${encodeURI(host)}]` : encodeURI(host); +} +function encodePort(port) { + return port !== undefined ? `:${port}` : ""; +} +function encodeUserinfo(userinfo) { + if (userinfo === undefined) { + return ""; + } + const usernameText = encodeURIComponent(userinfo.username); + const passwordText = userinfo.password !== undefined + ? `:${encodeURIComponent(userinfo.password)}` + : ""; + return `${usernameText}${passwordText}@`; +} diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-cjs/util.js b/dealplustech-astro/node_modules/@libsql/core/lib-cjs/util.js new file mode 100644 index 000000000..d20fe4a76 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-cjs/util.js @@ -0,0 +1,60 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ResultSetImpl = exports.transactionModeToBegin = exports.supportedUrlLink = void 0; +const js_base64_1 = require("js-base64"); +exports.supportedUrlLink = "https://github.com/libsql/libsql-client-ts#supported-urls"; +function transactionModeToBegin(mode) { + if (mode === "write") { + return "BEGIN IMMEDIATE"; + } + else if (mode === "read") { + return "BEGIN TRANSACTION READONLY"; + } + else if (mode === "deferred") { + return "BEGIN DEFERRED"; + } + else { + throw RangeError('Unknown transaction mode, supported values are "write", "read" and "deferred"'); + } +} +exports.transactionModeToBegin = transactionModeToBegin; +class ResultSetImpl { + columns; + columnTypes; + rows; + rowsAffected; + lastInsertRowid; + constructor(columns, columnTypes, rows, rowsAffected, lastInsertRowid) { + this.columns = columns; + this.columnTypes = columnTypes; + this.rows = rows; + this.rowsAffected = rowsAffected; + this.lastInsertRowid = lastInsertRowid; + } + toJSON() { + return { + columns: this.columns, + columnTypes: this.columnTypes, + rows: this.rows.map(rowToJson), + rowsAffected: this.rowsAffected, + lastInsertRowid: this.lastInsertRowid !== undefined + ? "" + this.lastInsertRowid + : null, + }; + } +} +exports.ResultSetImpl = ResultSetImpl; +function rowToJson(row) { + return Array.prototype.map.call(row, valueToJson); +} +function valueToJson(value) { + if (typeof value === "bigint") { + return "" + value; + } + else if (value instanceof ArrayBuffer) { + return js_base64_1.Base64.fromUint8Array(new Uint8Array(value)); + } + else { + return value; + } +} diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-esm/api.d.ts b/dealplustech-astro/node_modules/@libsql/core/lib-esm/api.d.ts new file mode 100644 index 000000000..423020b33 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-esm/api.d.ts @@ -0,0 +1,459 @@ +/** Configuration object for {@link createClient}. */ +export interface Config { + /** The database URL. + * + * The client supports `libsql:`, `http:`/`https:`, `ws:`/`wss:` and `file:` URL. For more infomation, + * please refer to the project README: + * + * https://github.com/libsql/libsql-client-ts#supported-urls + */ + url: string; + /** Authentication token for the database. */ + authToken?: string; + /** Encryption key for the database. */ + encryptionKey?: string; + /** Encryption key for encryption in Turso Cloud. */ + remoteEncryptionKey?: string; + /** URL of a remote server to synchronize database with. */ + syncUrl?: string; + /** Sync interval in seconds. */ + syncInterval?: number; + /** Read your writes */ + readYourWrites?: boolean; + /** Enable offline writes */ + offline?: boolean; + /** Enables or disables TLS for `libsql:` URLs. + * + * By default, `libsql:` URLs use TLS. You can set this option to `false` to disable TLS. + */ + tls?: boolean; + /** How to convert SQLite integers to JavaScript values: + * + * - `"number"` (default): returns SQLite integers as JavaScript `number`-s (double precision floats). + * `number` cannot precisely represent integers larger than 2^53-1 in absolute value, so attempting to read + * larger integers will throw a `RangeError`. + * - `"bigint"`: returns SQLite integers as JavaScript `bigint`-s (arbitrary precision integers). Bigints can + * precisely represent all SQLite integers. + * - `"string"`: returns SQLite integers as strings. + */ + intMode?: IntMode; + /** Custom `fetch` function to use for the HTTP client. + * + * By default, the HTTP client uses `fetch` from the `@libsql/isomorphic-fetch` package, but you can pass + * your own function here. The argument to this function will be `Request` from + * `@libsql/isomorphic-fetch`, and it must return a promise that resolves to an object that is compatible + * with the Web `Response`. + */ + fetch?: Function; + /** Concurrency limit. + * + * By default, the client performs up to 20 concurrent requests. You can set this option to a higher + * number to increase the concurrency limit or set it to 0 to disable concurrency limits completely. + */ + concurrency?: number | undefined; +} +/** Representation of integers from database as JavaScript values. See {@link Config.intMode}. */ +export type IntMode = "number" | "bigint" | "string"; +/** Client object for a remote or local database. + * + * After you are done with the client, you **should** close it by calling {@link close}. + */ +export interface Client { + /** Execute a single SQL statement. + * + * Every statement executed with this method is executed in its own logical database connection. If you + * want to execute a group of statements in a transaction, use the {@link batch} or the {@link + * transaction} methods. + * + * ```javascript + * // execute a statement without arguments + * const rs = await client.execute("SELECT * FROM books"); + * + * // execute a statement with positional arguments + * const rs = await client.execute({ + * sql: "SELECT * FROM books WHERE author = ?", + * args: ["Jane Austen"], + * }); + * + * // execute a statement with named arguments + * const rs = await client.execute({ + * sql: "SELECT * FROM books WHERE published_at > $year", + * args: {year: 1719}, + * }); + * ``` + */ + execute(stmt: InStatement): Promise; + execute(sql: string, args?: InArgs): Promise; + /** Execute a batch of SQL statements in a transaction. + * + * The batch is executed in its own logical database connection and the statements are wrapped in a + * transaction. This ensures that the batch is applied atomically: either all or no changes are applied. + * + * The `mode` parameter selects the transaction mode for the batch; please see {@link TransactionMode} for + * details. The default transaction mode is `"deferred"`. + * + * If any of the statements in the batch fails with an error, the batch is aborted, the transaction is + * rolled back and the returned promise is rejected. + * + * This method provides non-interactive transactions. If you need interactive transactions, please use the + * {@link transaction} method. + * + * ```javascript + * const rss = await client.batch([ + * // batch statement without arguments + * "DELETE FROM books WHERE name LIKE '%Crusoe'", + * + * // batch statement with positional arguments + * { + * sql: "INSERT INTO books (name, author, published_at) VALUES (?, ?, ?)", + * args: ["First Impressions", "Jane Austen", 1813], + * }, + * + * // batch statement with named arguments + * { + * sql: "UPDATE books SET name = $new WHERE name = $old", + * args: {old: "First Impressions", new: "Pride and Prejudice"}, + * }, + * ], "write"); + * ``` + */ + batch(stmts: Array, mode?: TransactionMode): Promise>; + /** Execute a batch of SQL statements in a transaction with PRAGMA foreign_keys=off; before and PRAGMA foreign_keys=on; after. + * + * The batch is executed in its own logical database connection and the statements are wrapped in a + * transaction. This ensures that the batch is applied atomically: either all or no changes are applied. + * + * The transaction mode is `"deferred"`. + * + * If any of the statements in the batch fails with an error, the batch is aborted, the transaction is + * rolled back and the returned promise is rejected. + * + * ```javascript + * const rss = await client.migrate([ + * // statement without arguments + * "CREATE TABLE test (a INT)", + * + * // statement with positional arguments + * { + * sql: "INSERT INTO books (name, author, published_at) VALUES (?, ?, ?)", + * args: ["First Impressions", "Jane Austen", 1813], + * }, + * + * // statement with named arguments + * { + * sql: "UPDATE books SET name = $new WHERE name = $old", + * args: {old: "First Impressions", new: "Pride and Prejudice"}, + * }, + * ]); + * ``` + */ + migrate(stmts: Array): Promise>; + /** Start an interactive transaction. + * + * Interactive transactions allow you to interleave execution of SQL statements with your application + * logic. They can be used if the {@link batch} method is too restrictive, but please note that + * interactive transactions have higher latency. + * + * The `mode` parameter selects the transaction mode for the interactive transaction; please see {@link + * TransactionMode} for details. The default transaction mode is `"deferred"`. + * + * You **must** make sure that the returned {@link Transaction} object is closed, by calling {@link + * Transaction.close}, {@link Transaction.commit} or {@link Transaction.rollback}. The best practice is + * to call {@link Transaction.close} in a `finally` block, as follows: + * + * ```javascript + * const transaction = client.transaction("write"); + * try { + * // do some operations with the transaction here + * await transaction.execute({ + * sql: "INSERT INTO books (name, author) VALUES (?, ?)", + * args: ["First Impressions", "Jane Austen"], + * }); + * await transaction.execute({ + * sql: "UPDATE books SET name = ? WHERE name = ?", + * args: ["Pride and Prejudice", "First Impressions"], + * }); + * + * // if all went well, commit the transaction + * await transaction.commit(); + * } finally { + * // make sure to close the transaction, even if an exception was thrown + * transaction.close(); + * } + * ``` + */ + transaction(mode?: TransactionMode): Promise; + /** Start an interactive transaction in `"write"` mode. + * + * Please see {@link transaction} for details. + * + * @deprecated Please specify the `mode` explicitly. The default `"write"` will be removed in the next + * major release. + */ + transaction(): Promise; + /** Execute a sequence of SQL statements separated by semicolons. + * + * The statements are executed sequentially on a new logical database connection. If a statement fails, + * further statements are not executed and this method throws an error. All results from the statements + * are ignored. + * + * We do not wrap the statements in a transaction, but the SQL can contain explicit transaction-control + * statements such as `BEGIN` and `COMMIT`. + * + * This method is intended to be used with existing SQL scripts, such as migrations or small database + * dumps. If you want to execute a sequence of statements programmatically, please use {@link batch} + * instead. + * + * ```javascript + * await client.executeMultiple(` + * CREATE TABLE books (id INTEGER PRIMARY KEY, title TEXT NOT NULL, author_id INTEGER NOT NULL); + * CREATE TABLE authors (id INTEGER PRIMARY KEY, name TEXT NOT NULL); + * `); + * ``` + */ + executeMultiple(sql: string): Promise; + sync(): Promise; + /** Close the client and release resources. + * + * This method closes the client (aborting any operations that are currently in progress) and releases any + * resources associated with the client (such as a WebSocket connection). + */ + close(): void; + /** Reconnect after the client has been closed. + */ + reconnect(): void; + /** Is the client closed? + * + * This is set to `true` after a call to {@link close} or if the client encounters an unrecoverable + * error. + */ + closed: boolean; + /** Which protocol does the client use? + * + * - `"http"` if the client connects over HTTP + * - `"ws"` if the client connects over WebSockets + * - `"file"` if the client works with a local file + */ + protocol: string; +} +/** Interactive transaction. + * + * A transaction groups multiple SQL statements together, so that they are applied atomically: either all + * changes are applied, or none are. Other SQL statements on the database (including statements executed on + * the same {@link Client} object outside of this transaction) will not see any changes from the transaction + * until the transaction is committed by calling {@link commit}. You can also use {@link rollback} to abort + * the transaction and roll back the changes. + * + * You **must** make sure that the {@link Transaction} object is closed, by calling {@link close}, {@link + * commit} or {@link rollback}. The best practice is to call {@link close} in a `finally` block, as follows: + * + * ```javascript + * const transaction = client.transaction("write"); + * try { + * // do some operations with the transaction here + * await transaction.execute({ + * sql: "INSERT INTO books (name, author) VALUES (?, ?)", + * args: ["First Impressions", "Jane Austen"], + * }); + * await transaction.execute({ + * sql: "UPDATE books SET name = ? WHERE name = ?", + * args: ["Pride and Prejudice", "First Impressions"], + * }); + * + * // if all went well, commit the transaction + * await transaction.commit(); + * } finally { + * // make sure to close the transaction, even if an exception was thrown + * transaction.close(); + * } + * ``` + */ +export interface Transaction { + /** Execute an SQL statement in this transaction. + * + * If the statement makes any changes to the database, these changes won't be visible to statements + * outside of this transaction until you call {@link rollback}. + * + * ```javascript + * await transaction.execute({ + * sql: "INSERT INTO books (name, author) VALUES (?, ?)", + * args: ["First Impressions", "Jane Austen"], + * }); + * ``` + */ + execute(stmt: InStatement): Promise; + /** Execute a batch of SQL statements in this transaction. + * + * If any of the statements in the batch fails with an error, further statements are not executed and the + * returned promise is rejected with an error, but the transaction is not rolled back. + */ + batch(stmts: Array): Promise>; + /** Execute a sequence of SQL statements separated by semicolons. + * + * The statements are executed sequentially in the transaction. If a statement fails, further statements + * are not executed and this method throws an error, but the transaction won't be rolled back. All results + * from the statements are ignored. + * + * This method is intended to be used with existing SQL scripts, such as migrations or small database + * dumps. If you want to execute statements programmatically, please use {@link batch} instead. + */ + executeMultiple(sql: string): Promise; + /** Roll back any changes from this transaction. + * + * This method closes the transaction and undoes any changes done by the previous SQL statements on this + * transaction. You cannot call this method after calling {@link commit}, though. + */ + rollback(): Promise; + /** Commit changes from this transaction to the database. + * + * This method closes the transaction and applies all changes done by the previous SQL statement on this + * transaction. Once the returned promise is resolved successfully, the database guarantees that the + * changes were applied. + */ + commit(): Promise; + /** Close the transaction. + * + * This method closes the transaction and releases any resources associated with the transaction. If the + * transaction is already closed (perhaps by a previous call to {@link commit} or {@link rollback}), then + * this method does nothing. + * + * If the transaction wasn't already committed by calling {@link commit}, the transaction is rolled + * back. + */ + close(): void; + /** Is the transaction closed? + * + * This is set to `true` after a call to {@link close}, {@link commit} or {@link rollback}, or if we + * encounter an unrecoverable error. + */ + closed: boolean; +} +/** Transaction mode. + * + * The client supports multiple modes for transactions: + * + * - `"write"` is a read-write transaction, started with `BEGIN IMMEDIATE`. This transaction mode supports + * both read statements (`SELECT`) and write statements (`INSERT`, `UPDATE`, `CREATE TABLE`, etc). The libSQL + * server cannot process multiple write transactions concurrently, so if there is another write transaction + * already started, our transaction will wait in a queue before it can begin. + * + * - `"read"` is a read-only transaction, started with `BEGIN TRANSACTION READONLY` (a libSQL extension). This + * transaction mode supports only reads (`SELECT`) and will not accept write statements. The libSQL server can + * handle multiple read transactions at the same time, so we don't need to wait for other transactions to + * complete. A read-only transaction can also be executed on a local replica, so it provides lower latency. + * + * - `"deferred"` is a transaction started with `BEGIN DEFERRED`, which starts as a read transaction, but the + * first write statement will try to upgrade it to a write transaction. However, this upgrade may fail if + * there already is a write transaction executing on the server, so you should be ready to handle these + * failures. + * + * If your transaction includes only read statements, `"read"` is always preferred over `"deferred"` or + * `"write"`, because `"read"` transactions can be executed more efficiently and don't block other + * transactions. + * + * If your transaction includes both read and write statements, you should be using the `"write"` mode most of + * the time. Use the `"deferred"` mode only if you prefer to fail the write transaction instead of waiting for + * the previous write transactions to complete. + */ +export type TransactionMode = "write" | "read" | "deferred"; +/** Result of executing an SQL statement. + * + * ```javascript + * const rs = await client.execute("SELECT name, title FROM books"); + * console.log(`Found ${rs.rows.length} books`); + * for (const row in rs.rows) { + * console.log(`Book ${row[0]} by ${row[1]}`); + * } + * + * const rs = await client.execute("DELETE FROM books WHERE author = 'Jane Austen'"); + * console.log(`Deleted ${rs.rowsAffected} books`); + * ``` + */ +export interface ResultSet { + /** Names of columns. + * + * Names of columns can be defined using the `AS` keyword in SQL: + * + * ```sql + * SELECT author AS author, COUNT(*) AS count FROM books GROUP BY author + * ``` + */ + columns: Array; + /** Types of columns. + * + * The types are currently shown for types declared in a SQL table. For + * column types of function calls, for example, an empty string is + * returned. + */ + columnTypes: Array; + /** Rows produced by the statement. */ + rows: Array; + /** Number of rows that were affected by an UPDATE, INSERT or DELETE operation. + * + * This value is not specified for other SQL statements. + */ + rowsAffected: number; + /** ROWID of the last inserted row. + * + * This value is not specified if the SQL statement was not an INSERT or if the table was not a ROWID + * table. + */ + lastInsertRowid: bigint | undefined; + /** Converts the result set to JSON. + * + * This is used automatically by `JSON.stringify()`, but you can also call it explicitly. + */ + toJSON(): any; +} +/** Row returned from an SQL statement. + * + * The row object can be used as an `Array` or as an object: + * + * ```javascript + * const rs = await client.execute("SELECT name, title FROM books"); + * for (const row in rs.rows) { + * // Get the value from column `name` + * console.log(row.name); + * // Get the value from second column (`title`) + * console.log(row[1]); + * } + * ``` + */ +export interface Row { + /** Number of columns in this row. + * + * All rows in one {@link ResultSet} have the same number and names of columns. + */ + length: number; + /** Columns can be accessed like an array by numeric indexes. */ + [index: number]: Value; + /** Columns can be accessed like an object by column names. */ + [name: string]: Value; +} +export type Replicated = { + frame_no: number; + frames_synced: number; +} | undefined; +export type Value = null | string | number | bigint | ArrayBuffer; +export type InValue = Value | boolean | Uint8Array | Date; +export type InStatement = { + sql: string; + args?: InArgs; +} | string; +export type InArgs = Array | Record; +/** Error thrown by the client. */ +export declare class LibsqlError extends Error { + /** Machine-readable error code. */ + code: string; + /** Extended error code with more specific information (e.g., SQLITE_CONSTRAINT_PRIMARYKEY). */ + extendedCode?: string; + /** Raw numeric error code */ + rawCode?: number; + constructor(message: string, code: string, extendedCode?: string, rawCode?: number, cause?: Error); +} +/** Error thrown by the client during batch operations. */ +export declare class LibsqlBatchError extends LibsqlError { + /** The zero-based index of the statement that failed in the batch. */ + statementIndex: number; + constructor(message: string, statementIndex: number, code: string, extendedCode?: string, rawCode?: number, cause?: Error); +} diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-esm/api.js b/dealplustech-astro/node_modules/@libsql/core/lib-esm/api.js new file mode 100644 index 000000000..67992dd5e --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-esm/api.js @@ -0,0 +1,29 @@ +/** Error thrown by the client. */ +export class LibsqlError extends Error { + /** Machine-readable error code. */ + code; + /** Extended error code with more specific information (e.g., SQLITE_CONSTRAINT_PRIMARYKEY). */ + extendedCode; + /** Raw numeric error code */ + rawCode; + constructor(message, code, extendedCode, rawCode, cause) { + if (code !== undefined) { + message = `${code}: ${message}`; + } + super(message, { cause }); + this.code = code; + this.extendedCode = extendedCode; + this.rawCode = rawCode; + this.name = "LibsqlError"; + } +} +/** Error thrown by the client during batch operations. */ +export class LibsqlBatchError extends LibsqlError { + /** The zero-based index of the statement that failed in the batch. */ + statementIndex; + constructor(message, statementIndex, code, extendedCode, rawCode, cause) { + super(message, code, extendedCode, rawCode, cause); + this.statementIndex = statementIndex; + this.name = "LibsqlBatchError"; + } +} diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-esm/config.d.ts b/dealplustech-astro/node_modules/@libsql/core/lib-esm/config.d.ts new file mode 100644 index 000000000..fa4613fe4 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-esm/config.d.ts @@ -0,0 +1,21 @@ +import type { Config, IntMode } from "./api.js"; +import type { Authority } from "./uri.js"; +export interface ExpandedConfig { + scheme: ExpandedScheme; + tls: boolean; + authority: Authority | undefined; + path: string; + authToken: string | undefined; + encryptionKey: string | undefined; + remoteEncryptionKey: string | undefined; + syncUrl: string | undefined; + syncInterval: number | undefined; + readYourWrites: boolean | undefined; + offline: boolean | undefined; + intMode: IntMode; + fetch: Function | undefined; + concurrency: number; +} +export type ExpandedScheme = "wss" | "ws" | "https" | "http" | "file"; +export declare function isInMemoryConfig(config: ExpandedConfig): boolean; +export declare function expandConfig(config: Readonly, preferHttp: boolean): ExpandedConfig; diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-esm/config.js b/dealplustech-astro/node_modules/@libsql/core/lib-esm/config.js new file mode 100644 index 000000000..6003dc15d --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-esm/config.js @@ -0,0 +1,138 @@ +import { LibsqlError } from "./api.js"; +import { parseUri } from "./uri.js"; +import { supportedUrlLink } from "./util.js"; +const inMemoryMode = ":memory:"; +export function isInMemoryConfig(config) { + return (config.scheme === "file" && + (config.path === ":memory:" || config.path.startsWith(":memory:?"))); +} +export function expandConfig(config, preferHttp) { + if (typeof config !== "object") { + // produce a reasonable error message in the common case where users type + // `createClient("libsql://...")` instead of `createClient({url: "libsql://..."})` + throw new TypeError(`Expected client configuration as object, got ${typeof config}`); + } + let { url, authToken, tls, intMode, concurrency } = config; + // fill simple defaults right here + concurrency = Math.max(0, concurrency || 20); + intMode ??= "number"; + let connectionQueryParams = []; // recognized query parameters which we sanitize through white list of valid key-value pairs + // convert plain :memory: url to URI format to make logic more uniform + if (url === inMemoryMode) { + url = "file::memory:"; + } + // parse url parameters first and override config with update values + const uri = parseUri(url); + const originalUriScheme = uri.scheme.toLowerCase(); + const isInMemoryMode = originalUriScheme === "file" && + uri.path === inMemoryMode && + uri.authority === undefined; + let queryParamsDef; + if (isInMemoryMode) { + queryParamsDef = { + cache: { + values: ["shared", "private"], + update: (key, value) => connectionQueryParams.push(`${key}=${value}`), + }, + }; + } + else { + queryParamsDef = { + tls: { + values: ["0", "1"], + update: (_, value) => (tls = value === "1"), + }, + authToken: { + update: (_, value) => (authToken = value), + }, + }; + } + for (const { key, value } of uri.query?.pairs ?? []) { + if (!Object.hasOwn(queryParamsDef, key)) { + throw new LibsqlError(`Unsupported URL query parameter ${JSON.stringify(key)}`, "URL_PARAM_NOT_SUPPORTED"); + } + const queryParamDef = queryParamsDef[key]; + if (queryParamDef.values !== undefined && + !queryParamDef.values.includes(value)) { + throw new LibsqlError(`Unknown value for the "${key}" query argument: ${JSON.stringify(value)}. Supported values are: [${queryParamDef.values.map((x) => '"' + x + '"').join(", ")}]`, "URL_INVALID"); + } + if (queryParamDef.update !== undefined) { + queryParamDef?.update(key, value); + } + } + // fill complex defaults & validate config + const connectionQueryParamsString = connectionQueryParams.length === 0 + ? "" + : `?${connectionQueryParams.join("&")}`; + const path = uri.path + connectionQueryParamsString; + let scheme; + if (originalUriScheme === "libsql") { + if (tls === false) { + if (uri.authority?.port === undefined) { + throw new LibsqlError('A "libsql:" URL with ?tls=0 must specify an explicit port', "URL_INVALID"); + } + scheme = preferHttp ? "http" : "ws"; + } + else { + scheme = preferHttp ? "https" : "wss"; + } + } + else { + scheme = originalUriScheme; + } + if (scheme === "http" || scheme === "ws") { + tls ??= false; + } + else { + tls ??= true; + } + if (scheme !== "http" && + scheme !== "ws" && + scheme !== "https" && + scheme !== "wss" && + scheme !== "file") { + throw new LibsqlError('The client supports only "libsql:", "wss:", "ws:", "https:", "http:" and "file:" URLs, ' + + `got ${JSON.stringify(uri.scheme + ":")}. ` + + `For more information, please read ${supportedUrlLink}`, "URL_SCHEME_NOT_SUPPORTED"); + } + if (intMode !== "number" && intMode !== "bigint" && intMode !== "string") { + throw new TypeError(`Invalid value for intMode, expected "number", "bigint" or "string", got ${JSON.stringify(intMode)}`); + } + if (uri.fragment !== undefined) { + throw new LibsqlError(`URL fragments are not supported: ${JSON.stringify("#" + uri.fragment)}`, "URL_INVALID"); + } + if (isInMemoryMode) { + return { + scheme: "file", + tls: false, + path, + intMode, + concurrency, + syncUrl: config.syncUrl, + syncInterval: config.syncInterval, + readYourWrites: config.readYourWrites, + offline: config.offline, + fetch: config.fetch, + authToken: undefined, + encryptionKey: undefined, + remoteEncryptionKey: undefined, + authority: undefined, + }; + } + return { + scheme, + tls, + authority: uri.authority, + path, + authToken, + intMode, + concurrency, + encryptionKey: config.encryptionKey, + remoteEncryptionKey: config.remoteEncryptionKey, + syncUrl: config.syncUrl, + syncInterval: config.syncInterval, + readYourWrites: config.readYourWrites, + offline: config.offline, + fetch: config.fetch, + }; +} diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-esm/uri.d.ts b/dealplustech-astro/node_modules/@libsql/core/lib-esm/uri.d.ts new file mode 100644 index 000000000..38d87f16b --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-esm/uri.d.ts @@ -0,0 +1,30 @@ +/// +export interface Uri { + scheme: string; + authority: Authority | undefined; + path: string; + query: Query | undefined; + fragment: string | undefined; +} +export interface HierPart { + authority: Authority | undefined; + path: string; +} +export interface Authority { + host: string; + port: number | undefined; + userinfo: Userinfo | undefined; +} +export interface Userinfo { + username: string; + password: string | undefined; +} +export interface Query { + pairs: Array; +} +export interface KeyValue { + key: string; + value: string; +} +export declare function parseUri(text: string): Uri; +export declare function encodeBaseUrl(scheme: string, authority: Authority | undefined, path: string): URL; diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-esm/uri.js b/dealplustech-astro/node_modules/@libsql/core/lib-esm/uri.js new file mode 100644 index 000000000..f28d84ee5 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-esm/uri.js @@ -0,0 +1,120 @@ +// URI parser based on RFC 3986 +// We can't use the standard `URL` object, because we want to support relative `file:` URLs like +// `file:relative/path/database.db`, which are not correct according to RFC 8089, which standardizes the +// `file` scheme. +import { LibsqlError } from "./api.js"; +export function parseUri(text) { + const match = URI_RE.exec(text); + if (match === null) { + throw new LibsqlError(`The URL '${text}' is not in a valid format`, "URL_INVALID"); + } + const groups = match.groups; + const scheme = groups["scheme"]; + const authority = groups["authority"] !== undefined + ? parseAuthority(groups["authority"]) + : undefined; + const path = percentDecode(groups["path"]); + const query = groups["query"] !== undefined ? parseQuery(groups["query"]) : undefined; + const fragment = groups["fragment"] !== undefined + ? percentDecode(groups["fragment"]) + : undefined; + return { scheme, authority, path, query, fragment }; +} +const URI_RE = (() => { + const SCHEME = "(?[A-Za-z][A-Za-z.+-]*)"; + const AUTHORITY = "(?[^/?#]*)"; + const PATH = "(?[^?#]*)"; + const QUERY = "(?[^#]*)"; + const FRAGMENT = "(?.*)"; + return new RegExp(`^${SCHEME}:(//${AUTHORITY})?${PATH}(\\?${QUERY})?(#${FRAGMENT})?$`, "su"); +})(); +function parseAuthority(text) { + const match = AUTHORITY_RE.exec(text); + if (match === null) { + throw new LibsqlError("The authority part of the URL is not in a valid format", "URL_INVALID"); + } + const groups = match.groups; + const host = percentDecode(groups["host_br"] ?? groups["host"]); + const port = groups["port"] ? parseInt(groups["port"], 10) : undefined; + const userinfo = groups["username"] !== undefined + ? { + username: percentDecode(groups["username"]), + password: groups["password"] !== undefined + ? percentDecode(groups["password"]) + : undefined, + } + : undefined; + return { host, port, userinfo }; +} +const AUTHORITY_RE = (() => { + return new RegExp(`^((?[^:]*)(:(?.*))?@)?((?[^:\\[\\]]*)|(\\[(?[^\\[\\]]*)\\]))(:(?[0-9]*))?$`, "su"); +})(); +// Query string is parsed as application/x-www-form-urlencoded according to the Web URL standard: +// https://url.spec.whatwg.org/#urlencoded-parsing +function parseQuery(text) { + const sequences = text.split("&"); + const pairs = []; + for (const sequence of sequences) { + if (sequence === "") { + continue; + } + let key; + let value; + const splitIdx = sequence.indexOf("="); + if (splitIdx < 0) { + key = sequence; + value = ""; + } + else { + key = sequence.substring(0, splitIdx); + value = sequence.substring(splitIdx + 1); + } + pairs.push({ + key: percentDecode(key.replaceAll("+", " ")), + value: percentDecode(value.replaceAll("+", " ")), + }); + } + return { pairs }; +} +function percentDecode(text) { + try { + return decodeURIComponent(text); + } + catch (e) { + if (e instanceof URIError) { + throw new LibsqlError(`URL component has invalid percent encoding: ${e}`, "URL_INVALID", undefined, undefined, e); + } + throw e; + } +} +export function encodeBaseUrl(scheme, authority, path) { + if (authority === undefined) { + throw new LibsqlError(`URL with scheme ${JSON.stringify(scheme + ":")} requires authority (the "//" part)`, "URL_INVALID"); + } + const schemeText = `${scheme}:`; + const hostText = encodeHost(authority.host); + const portText = encodePort(authority.port); + const userinfoText = encodeUserinfo(authority.userinfo); + const authorityText = `//${userinfoText}${hostText}${portText}`; + let pathText = path.split("/").map(encodeURIComponent).join("/"); + if (pathText !== "" && !pathText.startsWith("/")) { + pathText = "/" + pathText; + } + return new URL(`${schemeText}${authorityText}${pathText}`); +} +function encodeHost(host) { + return host.includes(":") ? `[${encodeURI(host)}]` : encodeURI(host); +} +function encodePort(port) { + return port !== undefined ? `:${port}` : ""; +} +function encodeUserinfo(userinfo) { + if (userinfo === undefined) { + return ""; + } + const usernameText = encodeURIComponent(userinfo.username); + const passwordText = userinfo.password !== undefined + ? `:${encodeURIComponent(userinfo.password)}` + : ""; + return `${usernameText}${passwordText}@`; +} diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-esm/util.d.ts b/dealplustech-astro/node_modules/@libsql/core/lib-esm/util.d.ts new file mode 100644 index 000000000..a4ec33b24 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-esm/util.d.ts @@ -0,0 +1,12 @@ +import { ResultSet, Row, TransactionMode } from "./api"; +export declare const supportedUrlLink = "https://github.com/libsql/libsql-client-ts#supported-urls"; +export declare function transactionModeToBegin(mode: TransactionMode): string; +export declare class ResultSetImpl implements ResultSet { + columns: Array; + columnTypes: Array; + rows: Array; + rowsAffected: number; + lastInsertRowid: bigint | undefined; + constructor(columns: Array, columnTypes: Array, rows: Array, rowsAffected: number, lastInsertRowid: bigint | undefined); + toJSON(): any; +} diff --git a/dealplustech-astro/node_modules/@libsql/core/lib-esm/util.js b/dealplustech-astro/node_modules/@libsql/core/lib-esm/util.js new file mode 100644 index 000000000..671b0702c --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/lib-esm/util.js @@ -0,0 +1,55 @@ +import { Base64 } from "js-base64"; +export const supportedUrlLink = "https://github.com/libsql/libsql-client-ts#supported-urls"; +export function transactionModeToBegin(mode) { + if (mode === "write") { + return "BEGIN IMMEDIATE"; + } + else if (mode === "read") { + return "BEGIN TRANSACTION READONLY"; + } + else if (mode === "deferred") { + return "BEGIN DEFERRED"; + } + else { + throw RangeError('Unknown transaction mode, supported values are "write", "read" and "deferred"'); + } +} +export class ResultSetImpl { + columns; + columnTypes; + rows; + rowsAffected; + lastInsertRowid; + constructor(columns, columnTypes, rows, rowsAffected, lastInsertRowid) { + this.columns = columns; + this.columnTypes = columnTypes; + this.rows = rows; + this.rowsAffected = rowsAffected; + this.lastInsertRowid = lastInsertRowid; + } + toJSON() { + return { + columns: this.columns, + columnTypes: this.columnTypes, + rows: this.rows.map(rowToJson), + rowsAffected: this.rowsAffected, + lastInsertRowid: this.lastInsertRowid !== undefined + ? "" + this.lastInsertRowid + : null, + }; + } +} +function rowToJson(row) { + return Array.prototype.map.call(row, valueToJson); +} +function valueToJson(value) { + if (typeof value === "bigint") { + return "" + value; + } + else if (value instanceof ArrayBuffer) { + return Base64.fromUint8Array(new Uint8Array(value)); + } + else { + return value; + } +} diff --git a/dealplustech-astro/node_modules/@libsql/core/package.json b/dealplustech-astro/node_modules/@libsql/core/package.json new file mode 100644 index 000000000..9131a4c75 --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/core/package.json @@ -0,0 +1,91 @@ +{ + "name": "@libsql/core", + "version": "0.17.0", + "keywords": [ + "libsql", + "database", + "sqlite", + "serverless", + "vercel", + "netlify", + "lambda" + ], + "description": "libSQL driver for TypeScript and JavaScript", + "repository": { + "type": "git", + "url": "git+https://github.com/tursodatabase/libsql-client-ts", + "directory": "packages/libsql-core" + }, + "authors": [ + "Jan Špaček ", + "Pekka Enberg ", + "Jan Plhak " + ], + "license": "MIT", + "type": "module", + "exports": { + "./api": { + "types": "./lib-esm/api.d.ts", + "import": "./lib-esm/api.js", + "require": "./lib-cjs/api.js" + }, + "./config": { + "types": "./lib-esm/config.d.ts", + "import": "./lib-esm/config.js", + "require": "./lib-cjs/config.js" + }, + "./uri": { + "types": "./lib-esm/uri.d.ts", + "import": "./lib-esm/uri.js", + "require": "./lib-cjs/uri.js" + }, + "./util": { + "types": "./lib-esm/util.d.ts", + "import": "./lib-esm/util.js", + "require": "./lib-cjs/util.js" + } + }, + "typesVersions": { + "*": { + "api": [ + "./lib-esm/api.d.ts" + ], + "config": [ + "./lib-esm/config.d.ts" + ], + "uri": [ + "./lib-esm/uri.d.ts" + ], + "util": [ + "./lib-esm/util.d.ts" + ] + } + }, + "files": [ + "lib-cjs/**", + "lib-esm/**" + ], + "scripts": { + "prepublishOnly": "npm run build", + "prebuild": "rm -rf ./lib-cjs ./lib-esm", + "build": "npm run build:cjs && npm run build:esm", + "build:cjs": "tsc -p tsconfig.build-cjs.json", + "build:esm": "tsc -p tsconfig.build-esm.json", + "format:check": "prettier --check .", + "postbuild": "cp package-cjs.json ./lib-cjs/package.json", + "test": "jest --runInBand", + "typecheck": "tsc --noEmit", + "typedoc": "rm -rf ./docs && typedoc" + }, + "dependencies": { + "js-base64": "^3.7.5" + }, + "devDependencies": { + "@types/jest": "^29.2.5", + "@types/node": "^18.15.5", + "jest": "^29.3.1", + "ts-jest": "^29.0.5", + "typedoc": "^0.23.28", + "typescript": "^4.9.4" + } +} diff --git a/dealplustech-astro/node_modules/@libsql/darwin-arm64/README.md b/dealplustech-astro/node_modules/@libsql/darwin-arm64/README.md new file mode 100644 index 000000000..12c35e72b --- /dev/null +++ b/dealplustech-astro/node_modules/@libsql/darwin-arm64/README.md @@ -0,0 +1,3 @@ +# `@libsql/darwin-arm64` + +Prebuilt binary package for `libsql` on `darwin-arm64`. diff --git a/dealplustech-astro/node_modules/@libsql/darwin-arm64/index.node b/dealplustech-astro/node_modules/@libsql/darwin-arm64/index.node new file mode 100755 index 0000000000000000000000000000000000000000..1bc947ed32f511116f3204a390b1cb24c2e99b5b GIT binary patch literal 7837584 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

c3 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菜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%0D~;0kY|PKlsix}s-b&8( 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 XC*E`m!=+OaH1}#VU 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

v*>2xFWMk^SjkRb4K5Yr>ENl17Pco|2__3oZ zO*?A0TLzM-A3nUhC1RajJ2^$4kS-c2cMrg)I-<5Bksre8etI)-?RPCiUsfBdKbL-o%&8BIo zs%{y2z}Cp<>zw5M-Z+hY4CUwon4lL7JB>3KTLW%!nMfaLl=uI;ko#g z56K>LgL-umcUR_FWCO038j`4{f^1K+wv$A5R z{vz|EU#I9b)1-$sb-@(Q+~JC@dKP>07x>2ohxjcxy_g;_->1jUFVMe!AMd&S2Xc8o z()+FXdEaZRo}!1$#e@6rT07&BKn^``a&2EdSqr|Tfe%*yZmsTe`gUJ*{{H^jQHC0{VH5F=JZ-KFc7(fQU8FSe)m2dh6{OoY}hkrX}&lgzN<%@ruh4v zM_+Gbyu9lK`cOXmIAo3X!O&ik$m$eJGuC{pI*3bcplODQ>P0o$?ljt8zGAz`2q2 z#vJw%!}|>OP8s&f;n;|cmF06f==B*rGPNj5Bh~0$_70|j%btr|fs6GKYaV9K>zVUO z=KL$>tS!C^+|IvrJUDeXxLpr!zYy=i_zQ644ZZIg=_!8?eHGIO_uF-^`;kD5I(eGy zwq9{N9o(*BpV(}0y9yk>i~9t(cY@p3g41AKf7zD@b!EK?f z=fLd%d@%#u7F#TKpDp@jzVE`f_yjn97kN4R!SM`w+g}Wh3oeV#(SyGJAUJ-Uc|8P< z8{Kf6dVkt&C%wYUd#sb?oB1AVF7JAn``!VEWq(?e?3V*4nv(ez`~WxZOT>+-tlczU zq1|iA;Y98 z>*`~85}In4xl`NmO7)!?Jixcsp-)nJ$5+rbqOQYvS8EGm#pHyMV^wlOpY(%UUD3bt z?56m$o8r&*_IUOm^ z;EplM-B?0D`a034s5>h;JjU=9Lj^0gb%%|tC@mlI~W7_nn#3tJ93!M?3 znLp6oVC?08x4WTj-ynajm>u#HI!VTH{=g2YA|*sHU5g;T8S`_ zx`^H#+d9M+1Lw9@FlX}K-t@-I{<0y)DDbR_&snbf+hKw2kl;@^XB4Y^z3$JXE@COq z6x+_S*EaC%yLh(j0WOW5Xo+EqYv8!>Kd*ZBkf3$#Z`Jd&gOAJe?<-P!a}_Up2wt|L zh&+`{e=a(X@XHYTWvrCmV#w7~Qw3Jj<8WhLUz@c&KUG^EA~!6Au6k(9^sy29D5tS^ zdSgkZ-p~%bJTJK$N{V%0Bj;=lo-5?Ht>MUyJm;z3V+cRTHLPE6|Lw&;gim9c=(i=AteL$}V@a{Q!Shm5 zLrErUQ=G!@qK3)|T0=h1Klo5d;{ob?end|9$M%82e8Gzx@iU^U6{YyS3teZJ(;3ml z1-IrNr$*Y^=}zLD6J>mYKaW9Uj`*{*@4BAO<{9jrdQ)VIhAeT9me|3FV0pV%E#sGY z$b4j80vnl!_?is*@8pkS|4;n6_wrm1b)FaVJJ;t3R`MOO&uEMkCpRvBX?nvf@GVk2 zvoSI{rE&EH7r*=SaW^b}N#p!AjgcKm{Kx;VB{j~vVs69YD>%PndgGFpTn%gFni@O* z@%svX%YRSVktHLYr&2~bjcGHN8>{*)KR8)yJUBB2m?LYk(GJ|EH6AGD|C-{)O4hcL zXH~MUAC1?dAH8U2eYD1pEBN1@I&L-VT*ZP7Z3!I$Af>0z(6*;!j`HUr!~fnI$Qy&9Wsv$EOHuiMaL z+mJ8DL$+vSg$;c>)1Qw%n~$C^_Px~BZRx9YZnf`A@|TK%S=?@0JB0Ce=51jU8rXyp zY(aH@myN%2=m=EbA0uodT@W zSk@`g4-sLFBCJun<%_^}If?y?F9KgDz6jtD0R|D^+YWri@1bm2*6w`;KhqyE`QI|C ze@SkD_{@YyDnAqcCeam@Z>b7@$lm6{@Y~D<{Xuj~;}vXUd?CVDHv9=Y68up-1s+OF zQu(hgdiIl=S>)m#{xdY7Y4eP@95sF$oA_a0Eo(pLhjU)!Uw%t$;zyi|lqdN`p4GL) zCPmN(PZ6&@a*?~yL;h;&_j2Y(M(K^lMS5fF_uY;A`nem`yND5{dwg{-4LlrYFymxZa4s+4J_;5 z@bR4K(T^6%e?<*Tnu{9t!*>Zn_V`Dm;aw^CUx_Ikgs&S@uTeUIvEo`&C#aa- zC^|shvbhZr_;x-zfH8qCuBp%SCD)feR?KfZ zzo+v%iQjI1>-;X_H?f>e_UMt(Bb^7wz<(Kgey!FZW6uw3-#LX3Cc238%pu>eH^?0F zoAri|U$I9&+QfP0k?%M8b$+w0;Z*iDjY^kdKDLXz^Dbt;QK$ml3YoZ1t<8ww_;2aN zKt}qvmusw3p8tKm|6xn z@k;bnwbt@%Xnx(pdUXruOJ0t?if-&*$=<2RDttApyXa#EYfs+6Sf!KsU8YXf3=YKC zLu!$P(MLspT0IZ{5;2W1y3^wvN71E3S1Mp#$S-XSO_&}H-&@kS>WHT1W*pV3?_*q1 zYCA>8XqFDw*^gVlw7U*B=$_tnxQhf<@iE+W(A42B;aq|a*Y(Vcr8fb2lW{%H;vu5P zoxHnuJ+7a6{*a(`?R@o)>|hq>@q;fD{u9Lx5IwE=<=6tzxeRmw1tau>d}O`oX87D1 z^IzgOx)+qhGbN;oX%>5tI?=`>7<*eJt|88(-+VnH*i#x*} zM#T#cu}0bGUDz?A19!W>bo;gr3l>d`=jV(Eo8ZmTPfoVbgP>FYZHkY_y0(w{ZQ{yr zIX;3-ZNO(d=ytc5`wbKi&IKpMw)S90dRuM&pTvKsk~`V6m#vrUcG;v3T63Y7eaYfq zJc6&$;^%$2HAsG<9>9r{ZIF4 zIJmt}!~Un_IJx2CD_srywgj_1GDA;5mvb+4S|I?gZU zI^(so{LlHp6}F`8|gJ$CnqHv8p`(O+1U30(+J0{wMZH&VUxoA@8gCM)qgKb-GGNg5HD=)t;y~ zCHhbk{IKfY&!x|aU)0o_LK3gp#TX@C^DKIX8LwIE;2oCU)aL75Z&G>^zT-qaDS&Px zu~*TRdWqYZx)SUBS#g^K&wRF?R3fqgyU=*Zp=8ikK7}`?ZuH*237w_+zw$NsJpTAY zx1Xu`b4M)u`L{B$tu@s{T6jw3-(nME=~`AT=e0MxWbu>8-5<%hKX%FDA9JpTbESVX z&zXElb4pA?d}{PNpLdkCd5~}EQ!Rcz`j`(i){%qv61_*I0K!3S;&a9L@;{(%3FpPn z6QX8U~Xbl(Q{z}E)o+8Ux1t@cQo^BGrRKZ5@Jf{!b4;VwI@dTZzNLK*{AaE^dVsj1iXWoKv|($8-X?yCezKZ)_}IK0 zzr+mj7}fE4V`(P%_;Hc@B}@Y$3B!ia!$jOu>s~MMfcy5gdLm|tzsT3?{pFI z%sa6mz`^#V9N!C#+?NzRh&=rWUH)TerVaZ-bp6O&{2Z@=*V`QUL4XZ z!T-Qo?RMm?aC*o!m3$T#ei^aBz39jx{?kHN`)_QG$4?J*#ZTovoizq$y6r{J+mAjX z>;DDpb8lNraAvo{nUUnV&egl;xq>f|e+FN$=@hlBOAG#15B_QKLpu(9m%Vh3s$r~$XI%F+-$3rG z=hE)y)bp|bJ*KQsd($OmE43E{4#R<~)P7O0}LZ9L*53AU1oIcyl*sa8Et@&$r+x@J z2_Y8^Xrxlsn%rz7P9qXGH4YY-tvf^gSQRJ@EHL8zH>S ztYN8fepvKO%_-@NA$-kuue0)O{MB`t9|w%uKTz6}zp}nPd6D~{;IA7j{wnwae|`PJ z&%s|m53c+_&R_En#w1SFNt?CQZiT zo^l(|J&FX^;m={=$(i~Vm%X__;d_c?dhS>rm0F+c8e zM$St9l-Lr;?BM#RGpZj&j;XOUKkPJm$#GLUn)hnI@t(;;ni6u{F$9 zNg8z>9sRVe)6idML9 z7o8j*n(z+Eg@pHT?=ZjkISlxU5vLu=c@_I}UbTv=DIQXJT>=jQ4)*KJd1NyWgB-Rs zyst+N+ZS59Dc$sH6PH53=3F_EvToA*bh`Af>0z549R6wBESE7}udXe2I;agPu#|I- z5^bybtii#_^mE8@u+HT0t9*a-V%b|V1zwsH=kr6`(P{rdomaUR{x18nTI3iWudac| z_m5v=@SlcXHIu#eqIVnQz~@WsGY`14kH9FNVea*xt}PhD*kn8x@?A?_i{xa=z1B5( z*r4b0pEcGD=|w?qnT*pXHmQu0nAjun=UDfZxwQoYIM*Wl30>RhkA5HDFH4WjN$NPB z$-X9-)3~lh6I{a*T(IoojfnmUUIOnK>QhT*|6EtwUxb;K$E59l=RGth9)*U zc&F064QjLZk`qn-@7l5Y5dR5kH^K`yk9DVZlM{;1iMYz7}y?LEVv16d#0N3(aY{}>QlSZb~C+=WFFdYXGA|-OaAHA zincd9_^o8#`)8RKv@Eew^0f|*g_a}GrkY>aoZl>PA`+K{%Fh0Rb3`Wl7rtPxK0$39 z8K0hauTwu5>y|sK)1Oj}oi%8Xv45;&Q|Fol-|ci5OXs+Iu8a5v{)sV9!(St~ ze$_F(x(t1Y{DG{YldMqXfp=3}OE_<@O<8qk&lrpEGjsJVN+?071T;`p!=525H z4mS&C|J%6yb=L9$(Rc7?S~Opm*&R-K$TS6~`u{yRY1As|mF9V;z-h@JdWVyugIY&7 zI!7Ped^W%O7p3(fz~?KbKDb%e?{U^1=uQ`T7scs<^*sDkM)d}45rLJ%THlu5$Nj%a z7fC^T^^fsYi=8pv8hh>CPW@1ivFF9d4vcp&b`6?WV~@jp=Z@aT{;!0&@SeK^_G;;a zA+%h~ejbr&BDXu`6aF21LRskD>@B&}pZ2$|I8f~`)!vbV;urFeKhr6z&_VVQ2U2*8 z4kC7p(n0>kvWoaz?|92Q1#g3!dxv2J-9mKki12pwv`*fRo~Gc7o+dUb<)iqaqIj$X`j?wb06`g%VS%cFOO}JeIjaY zLznv3{k3ateZP+__&YYP`Y-oV{}T!SHUGA2-N}>ew(gta>z<8V?bJR02kYLcd&ccV z@pXF7w(fCRKJI5{S@*N8cW<)%f4ttN{`-&bXH*B?l)MsC*R)pUt} zVgh{2{t{boCGk1+U+E?OOA`P4du+i2{I_yAc_`??9`p}=+Ip%kJa**TmxQis518%^yV)K zkC8qX{rxuf+MfIbe8TrEF`ia(Qog*KxH$gg4i!Tt$QTDII0i*>IU$ z%VhS;4IH9kJJcO8c^CVbX9FAIUu~9N3hj)ObMP;T+ll@yxn{CYv7I>6r{wbZO!`P@ zUA8zphkOt0xgo(Tz~>j?8I{C)73?%^QsvdeGT`~O?ANTM#*$%A572We+LEVj@hzdg z=o0Ftf|tHav@N;qu`Q`Xv2(~#Hnahg)AW@ur#DIMD@Sn2nMez@Bir-n%@km~4)$A! zUN5=Rsq_UKOB_n^K(3YEZMl-it$5(zphI$3;=QVL!}LoF&VT)=^nb|=PKDMovrPPu z7~#q^Y6I|X%$!NyFYrG{F5}(1^lA&=9*oO$N7=(?iy>~-aH!%Je^J87&fKpPhy`Y|e8KAaE|~33wD)E2^9lAoON}gL<0Jc|E{n{$ zNpfk#|NDI0|2togw(t(&H)}k-^P7O|c@8I=d?bOloB&5GzpvscaU6lC?CzPbAUM*Q zZw!u^`NqOm1_wtxnNfYj{xzrcu=H-cDd5PHIIcNfc*pLh!{{s2@DjV5ch(YDOWf0|Pt+D1wZj-kJXuSyOw`i>i!=-J4AH{bCo)OecYDR&3h8x~zzZX1TZw#CuM zN1fgFLV8bHcGVoSocFPm1ru@81hdd7r>^XG!lc#h#;9gZ3%D zg`Z+=Pd`Nuoyg>0mS3`0ok)5&W(W6IWmM0P>jipkk<*7CB9TsNM<_nDxs>&9;aV>_ zDV{hktoc&!<5v6@Tu^#j0Bi#5>6t4uH z&oRa({1KiwY}*QZALG9owldZ~e+|19+w14#vRb;M?}xFi4*U`)i1RE?le+BWBK6~& zz28zJPWp^?>4T;`DNWV`D{at19QRv(zUx8;AaG5<5Td?Y(Xjj`JDO}LW$ zcd-A&%1!p|iY<7-`mfaH|9ZlI;eD|M-?QxMkllYv!hdD-c=aMTu({W28^-!?Ncb=O zn|Lit$$v8a9j2a!jIO}nfql64SfZT%AMm|SS)FJfioc@=o*2AO@Fea0-eE4jElYnv z-(R~Fy+v{WMc)@*FZ#X}w`fBblYM;=Y{Ry=uHP2NpEXuZ7WiNrc68gA-fTm&hiz~T zI@Sbt^rinc{T;?_*d;4sTaMiBir&Zf;^E!xzNOpGZTHDOXOE4(rReHH-y)AhCxjO~ z?TOcsuBF$x)VL1ujz{4SYW-Ye{h_zJaKep0WuC12zaTGu>E-x3F56CC{dV?4JX+wR zM_Xtzzo*LY$N9agz^bd@EysVso`}#G{vR*@m-D-#U>)_9z2q!P-Q9B5rilJgZt6(9 z`ETT&5TDfX3tmz~oruJ1v((_~cLCRg$wP2SZ>Xa~{iCt#7SUJa0=^%0O=iDY zmg=|t6Ykj{J-t@-sn-g)QCdFk0{q?zY8*!@2IIh#4}N-+Apr@~*^r z=9;j0s^@vvNHzb}3FkKo>|A}+`HG(BwIp@^dz@D=1-^g&L63Kprm1W0?|JVA^WJ-U zo~M7gtdl3FWH#g!5`_rFM1xt3A)tCtaR%bHaJ`oRFr@-_Y~CH&vaV&G}p{ z_m4+d^W&qldS3_c1!~=89ddg<$7Mc$O3(8lhkE{%JSsnlUi zqaI^Abs00L@z|HTt#;*;7Fir-Pg@and&6IHM~jj))vLKRQ;Qyq#cGa>z<-miZ8?@h z9OdTA?c+afOY^U9T^X2yjxcm!$E((RB*$nV@6m`!N)0(1 z`kL(7lbk5oUnhB8WB5N*p{pF+UDIMUz7_X%NDrh|@*A5Ne`pLfFfQX5{n{9hUy*!C z@mFm?7r&q9S?|*3(rb$x@+OJpGfrzx*7bShrnE4ZoJ+K2HsUMyF;9Zp{?tC&z}G)W zTAoU6ywsZl&rZ2R3rtC+cHa<3RVanMl6|y#*>e~nUo&@ke#a1CmRj$MoeV(C1~J;f@or1*b-9(WB&ohWa-ZdTrSIz^Rh@B2LDe$sV4S50dxBcy}^h z7x@ZO?^WPyjagt`g8a#19={Se1LN};pV$)1-&+~T2F`Ey>3CJ1BQb^so>Pi0CGjtT zvGnt_^1E93|G)X)gz=Ezw}Ek891a`VYqf$}Gu6OC;1CcvEdKSglgqTgWMEJihk*tR zta-l0Jf#=i4r=7eyJU<8a~(|Ige>kkv*J2%^jdIr4mdj-+?_>jUuuX}m^DO)IH{#W zyi$9=pT7t@x+u5MugCd>I=_2>dA_N@uP4Kw;UBroN8)3@eTI1^-doBw-1|D$D1HM> zf6X=K_1VEjj$QbiwbCU2jqq)C4Y>ab=TG1JE5@cXMjK@^T9%E-8s{SN{@4#I zHK?S|xjI)o*}tCsIk#2}^-HZX_54jE{l}o`*XYf9o<5>|(-qnR##D8RIT?I3?5e*` zK#ns%-!0StNw-Bi`rD$>Ok4D1wk>*kge`h3#}+M>`iPl6RokfaUi@X$HZm5?RXIUk z@g2*v^c4TE2imKn#RL4uj<{7XcUd3tF^eyNDzLm~aPTK#aAB2;eNZ{|#^@piXSpVK zhvt9MEqe|J__aLU-%xa>rV}Q};`h1FJC6Q#rR1QlVy}6;mJ<14yB)gSA7bnVV-It` z_~<`;L$4M(@ZjeZ{Mf)dWISH%JMl$sDL7M88DH-OqXjQiU)#;%j}(7e3;VT{P1Jm= z(?ec>^h~U7z0%KroqJ_mo>BOC*J=!ub=6o z`$GP0`Uw1q=hV$JYr(%hsz)vOF~B3mTNp#O1a{c=RMGQ#=}Wo(z-7+BVyTNz>r_1( zBQNFzV*SbA*`e>*&w3wV&Gw(tqX%Mo^a=8NpOBgeDeQwv*Q4}ECLgoEKk(wDK(Jy+ zM_`j}j{!bJz>9X^Y|Te=Ge;Klzoi#r_9@o_Y4kh zU6oP22)eSy=*Z|k#tLcz{+V^ko?qM+~5HSBBS?-zJ^*H z{UsvI^CP?F56}k@U-f43RSRqbz$gNKa4q~0+Dhod_;ErXM*547Z3S00(xWn1F^oQp z`W|~{kKrkS_H6KJ1bCLC%f7m`YF`~STHD6!(HHEtJ?)oqj4wMjS&tstmJ>J#4t@j< z8sKUqll?};w#M*GTVow-5(Z~wJp>+G>^F5h18q-2?$#t@PjPImsljg#cqqTi*<(@p zGjorJ(Bw1Vrn(0_INLoB$UVF-wYPoXoZqltcv)6(Dc1>qq2}Hm$+g`MkCAwt)DRXK z)y!|<@4|2XZR(ktx;VcPc_h69kZI@aPwX9wt#bKbe-U(CRI2-%k-e{1!UwT4H19OO z51A?Q3cCS$I>Nk8)0IsVsm`oE3SNX*-@EX8anC`ix#QzIPqX{i9JHCT7vB2Eb;=&t zEOyvJd6&!VSMV*KU&p%Eu}-s2#x_f>W9bF0dVY_Y81M+~TeXgPR|Fgs{Hp_ZgpMNc z4Bkh4oSMgsOyO-~c)f}gm zJuqFCi@ZKDx{tpD-6w1>st;phhOkXT_W$DhG4|xM=I?66=BNRPO)C5JLw5QjV2>K> zW;PH9Y?Rvf@U#Y5S9zz4XQmD_*LUos=hja{Hn`ApXW6x_rK2?eYje)jH14qP$;S?r zwRn$ss)k&+9^bXX0r5{$|4C$m3qL!uXjv)eK7DU4|4rjw!I|3%KmETxMqAJU zO(9#9tZJdoqs5b2MkMeg@Xw9E^<8+1Tk(^#@z37)Qh0}> zlMZu-vd@v{E8jD5?e-Du`ORU^?`U(+Z(#ftfn4NMWRt_+$&+5V%H&C917;(fzj}+IPWmv8zl*S&*vueJ$Fgp^U8CEeR1R&^0ta8CK0o!lLn&!ye;M%2;ytoA1Nalq zy3Lt?GoqA*=K~KL_pynCpJvd;lKZ zsT)uyY(FrM0M`gO)D8}{fkP2+Au#$%`sxnsIGbKDJU*8a?6sbHLCJXJG3#x?R`h}r zY|F%Ro%n6W&`rHS@SA*|EzI4D2?sY#W)4F?m%P0?LEeg9Ap6;C!7odOK%)~kRJ>h~ zYxfq`ReTv9IH;ot`*#y#eLs%>;)8qfv5e}Y+1LPaS+pM6Q-b|qJ*Na-WXYoU{@%MR zT8}I`+dXf}J?D@`XWC3z)WUVbvqI%N;b+44cJYDtmH(d4V+D~+H+cyf|NoBP!uwkI z!2inWiv$0Qyyk9fyK-j3xL0fqfr`uq#c%QH3jfVTZ|%tgMV}sFL3Yrjp zM=j(oe#f!!yAU?5@Vmz@K2vis*U9lcCAR9GeA9)0GE^@7cnzQb}YsfS`*nbKe|U*YxE{JY>`!N;6;7aUBu7{H;9 z`5V9@A6S$KUw>Td2rK%>R?PR#lXdLCHxO21{m%mW-Pfye+8;N^IaU6XaW>O`huXI? zMteoU@qN0pu3~<}*jI`gA}h5&H9wgxzsHVRunnPk8TXCHvRLWk2T&ln-nf^7;5JzrhCA zvB7PDGZn;Gn@l;TQHxJ}T#iTMa*f~gAXGBWi~RE9-~Qbe6{G#O#&6+yVZOx&aArjj z&vawo@2Hc$7((~4@n>o@{wv{Axm|bmyaxJTYvqY91omEfkBglz`FJ;R&tP&yMYoc@ zE%Ll}p7#vTxgUC%h<^A0G+8IK5!W5-I`zY>;7Rg$Jqh~Z{pg449%%Ax_Z*OW&O(!= zoFA%aGBdc3>ttR%=hNF7&1a3!_jYR+J4FX$9WL>gfqVT~2cKf-wQv5cf01l)uUHevX;Y?9=yCm>|!6dDscv{t+->=L2T$z z@N~V$f1JBg<>h7t%da>2(*|H6JTZjrUz)7ddw`3loV;G@BawGR%__bpXp9N}0{X&< z3jU+c6?$X?_4FDH>UPDTm0Wnq5#)%(GqLZVcIZddxXRG&J+1i6&b-&MSnK#@Ds?&? z10x-a7wUe&tNbgBjuL7}E!j9du<{};I)`&(2QKYk=b_3cPbLz7{J!lklt^-?FLe&a9Zl`jxPb zGg;4T@O{m|CudWAeR{)@osWTcak!!Le~Om(gCC!w*^o(>vi6E*e`@|N<#*+%1e!gc zTF9?-r&%5T-5bq{&spT17rrw9S`+wIw(6>9PX;g zKRpX?p8-zv#y52My2UrXy7tp}aU|YHM(AB~T+)W0uGs+2;_Fm<0ekW+FTG(z-;thk zp6{hq%YMFGczWd$_JhV^TdjS7J@3np_mp~qYYocz-Wv%FYONigi_UZmvvldU0=Y&|}^Ux{s3*deHZpQYK7^&pEN?xMW z$ZkpC{VfT+e+BCz>$9A18H3EP=lG}nyS8i;V;}pY(!KJ&QhLs@mh^_|F2{O1cTW4Z zI9vI%Tk+e;So6i!MSlt_KIV2VW;~0bDdFedyW!jD8fEB23(<#khpoP>{J#qHq29tW z^o)h*8M;H`-1Y)p)9W2gy3_OY%!b8}xEfRM*BTuIQW}Qau_@76A{B%DCy0sP|G3>> zK%XE7uoD?7aMbqRe#V$#=7VazIj zcr?$K-&}tqxdAs$8&g1&{LE!KI2pPH(ci-kYM=dj}EIL6%h>p59S; zB&owojem56`Z{Pc%zP#8BK$%1Oaj&qGR~HM+KsQrbLR7TkN9mZEeY@agFH{x2RJNm>ldg~<1^=0$90aQ zQXig}4A=b_ej#%T-z>1d-h@5qTEj^BNT<=5&r1tuWAh)!MY1mg&i|5(B^gqIDyOADNWzZmix zT}}2|(Idz2VIG208x{zj?*z}WU6QlwOT~8CPQ6rcy-e(uUfO|0Z3kYZzBL7|)idf#eN_bueNPk=QIoaQ_jrNp$zr}& z6)f^q7L@r`7r1@sHNJAryZNr*{G(h?PQ>`8!czKDEiS*VBk~$PvDY-UpGtg$#t!K5 zHCJ@8uWv`0&sWfKwYEjxEB24PQ|zBsY#(`Nh@1*}r`SIGuzSMTJn~Ml-Q=BO^X
(B9=-tUPk&G?bjS`~T`-1aDc?(kqgo@o$+OVq(E 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

8O|=@jG4i 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

e`FH;0bYCc7e{YBQ;a0;nymWx$a%}`iMQEH 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 z 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�`I`f=5BB> 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%0D9ejB`24CKcgD>b^N=Jyw`8k_B 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
*GtbMIod-TETQ+;|N^w9@R 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