@neo4j-cypher/query-tools 2.0.0-next.36 → 2.0.0-next.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/index.cjs +1848 -0
  3. package/dist/cjs/index.cjs.map +7 -0
  4. package/dist/esm/package.json +9 -8
  5. package/dist/esm/src/connectionErrorHandler.d.ts +1 -2
  6. package/dist/esm/src/connectionErrorHandler.js +1 -1
  7. package/dist/esm/src/connectionErrorHandler.js.map +1 -1
  8. package/dist/esm/src/cypher-execution/extract-unique-nodes-and-relationships.d.ts +1 -1
  9. package/dist/esm/src/cypher-execution/extract-unique-nodes-and-relationships.test.js +0 -4
  10. package/dist/esm/src/cypher-execution/extract-unique-nodes-and-relationships.test.js.map +1 -1
  11. package/dist/esm/src/cypher-execution/query-result.js +2 -9
  12. package/dist/esm/src/cypher-execution/query-result.js.map +1 -1
  13. package/dist/esm/src/data-transforms/record-to-string.js +1 -2
  14. package/dist/esm/src/data-transforms/record-to-string.js.map +1 -1
  15. package/dist/esm/src/integration-tests/pollingIntegrationTests.test.js.map +1 -1
  16. package/dist/esm/src/integration-tests/setupTestContainer.d.ts +1 -1
  17. package/dist/esm/src/integration-tests/setupTestContainer.js +1 -1
  18. package/dist/esm/src/integration-tests/setupTestContainer.js.map +1 -1
  19. package/dist/esm/src/metadataPoller.d.ts +4 -4
  20. package/dist/esm/src/metadataPoller.js +1 -1
  21. package/dist/esm/src/metadataPoller.js.map +1 -1
  22. package/dist/esm/src/neo4jConnection.d.ts +4 -4
  23. package/dist/esm/src/neo4jConnection.js +2 -2
  24. package/dist/esm/src/neo4jConnection.js.map +1 -1
  25. package/dist/esm/src/queries/dataSummary.d.ts +1 -1
  26. package/dist/esm/src/queries/dataSummary.js.map +1 -1
  27. package/dist/esm/src/queries/databases.d.ts +3 -13
  28. package/dist/esm/src/queries/databases.js +2 -5
  29. package/dist/esm/src/queries/databases.js.map +1 -1
  30. package/dist/esm/src/queries/functions.d.ts +1 -3
  31. package/dist/esm/src/queries/functions.js +2 -3
  32. package/dist/esm/src/queries/functions.js.map +1 -1
  33. package/dist/esm/src/queries/graphSchema.d.ts +2 -2
  34. package/dist/esm/src/queries/graphSchema.js +1 -1
  35. package/dist/esm/src/queries/graphSchema.js.map +1 -1
  36. package/dist/esm/src/queries/procedures.d.ts +1 -3
  37. package/dist/esm/src/queries/procedures.js +2 -3
  38. package/dist/esm/src/queries/procedures.js.map +1 -1
  39. package/dist/esm/src/queries/version.d.ts +1 -1
  40. package/dist/esm/src/result-transformers/graph-result-transformer.d.ts +4 -3
  41. package/dist/esm/src/result-transformers/graph-result-transformer.js +2 -2
  42. package/dist/esm/src/result-transformers/graph-result-transformer.js.map +1 -1
  43. package/dist/esm/src/schemaPoller.d.ts +3 -3
  44. package/dist/esm/src/schemaPoller.js.map +1 -1
  45. package/dist/esm/src/types/sdkTypes.d.ts +1 -6
  46. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  47. package/dist/types/src/connectionErrorHandler.d.ts +1 -2
  48. package/dist/types/src/cypher-execution/extract-unique-nodes-and-relationships.d.ts +1 -1
  49. package/dist/types/src/integration-tests/setupTestContainer.d.ts +1 -1
  50. package/dist/types/src/metadataPoller.d.ts +4 -4
  51. package/dist/types/src/neo4jConnection.d.ts +4 -4
  52. package/dist/types/src/queries/dataSummary.d.ts +1 -1
  53. package/dist/types/src/queries/databases.d.ts +3 -13
  54. package/dist/types/src/queries/functions.d.ts +1 -3
  55. package/dist/types/src/queries/graphSchema.d.ts +2 -2
  56. package/dist/types/src/queries/procedures.d.ts +1 -3
  57. package/dist/types/src/queries/version.d.ts +1 -1
  58. package/dist/types/src/result-transformers/graph-result-transformer.d.ts +4 -3
  59. package/dist/types/src/schemaPoller.d.ts +3 -3
  60. package/dist/types/src/types/sdkTypes.d.ts +1 -6
  61. package/dist/types/tsconfig.tsbuildinfo +1 -1
  62. package/package.json +10 -9
  63. package/src/connectionErrorHandler.ts +6 -3
  64. package/src/cypher-execution/extract-unique-nodes-and-relationships.test.ts +0 -4
  65. package/src/cypher-execution/extract-unique-nodes-and-relationships.ts +1 -1
  66. package/src/cypher-execution/query-result.ts +1 -13
  67. package/src/data-transforms/record-to-string.ts +2 -3
  68. package/src/integration-tests/pollingIntegrationTests.test.ts +6 -5
  69. package/src/integration-tests/setupTestContainer.ts +3 -2
  70. package/src/metadataPoller.ts +14 -10
  71. package/src/neo4jConnection.ts +6 -6
  72. package/src/queries/dataSummary.ts +4 -4
  73. package/src/queries/databases.ts +5 -7
  74. package/src/queries/functions.ts +7 -4
  75. package/src/queries/graphSchema.ts +8 -7
  76. package/src/queries/procedures.ts +7 -4
  77. package/src/queries/version.ts +1 -1
  78. package/src/result-transformers/graph-result-transformer.ts +5 -11
  79. package/src/schemaPoller.ts +4 -3
  80. package/src/types/sdkTypes.ts +1 -7
  81. package/tsconfig.json +4 -4
  82. package/tsconfig.node.json +1 -2
  83. package/dist/cjs/package.json +0 -46
  84. package/dist/cjs/src/connectionErrorHandler.d.ts +0 -12
  85. package/dist/cjs/src/connectionErrorHandler.js +0 -41
  86. package/dist/cjs/src/connectionErrorHandler.js.map +0 -1
  87. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.d.ts +0 -33
  88. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.js +0 -93
  89. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.js.map +0 -1
  90. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.test.d.ts +0 -1
  91. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.test.js +0 -129
  92. package/dist/cjs/src/cypher-execution/extract-unique-nodes-and-relationships.test.js.map +0 -1
  93. package/dist/cjs/src/cypher-execution/query-result.d.ts +0 -11
  94. package/dist/cjs/src/cypher-execution/query-result.js +0 -239
  95. package/dist/cjs/src/cypher-execution/query-result.js.map +0 -1
  96. package/dist/cjs/src/data-transforms/clean-type.d.ts +0 -6
  97. package/dist/cjs/src/data-transforms/clean-type.js +0 -16
  98. package/dist/cjs/src/data-transforms/clean-type.js.map +0 -1
  99. package/dist/cjs/src/data-transforms/cypher-type-names.d.ts +0 -6
  100. package/dist/cjs/src/data-transforms/cypher-type-names.js +0 -91
  101. package/dist/cjs/src/data-transforms/cypher-type-names.js.map +0 -1
  102. package/dist/cjs/src/data-transforms/format-float.d.ts +0 -1
  103. package/dist/cjs/src/data-transforms/format-float.js +0 -14
  104. package/dist/cjs/src/data-transforms/format-float.js.map +0 -1
  105. package/dist/cjs/src/data-transforms/record-to-string.d.ts +0 -8
  106. package/dist/cjs/src/data-transforms/record-to-string.js +0 -185
  107. package/dist/cjs/src/data-transforms/record-to-string.js.map +0 -1
  108. package/dist/cjs/src/index.d.ts +0 -17
  109. package/dist/cjs/src/index.js +0 -33
  110. package/dist/cjs/src/index.js.map +0 -1
  111. package/dist/cjs/src/integration-tests/pollingIntegrationTests.test.d.ts +0 -1
  112. package/dist/cjs/src/integration-tests/pollingIntegrationTests.test.js +0 -42
  113. package/dist/cjs/src/integration-tests/pollingIntegrationTests.test.js.map +0 -1
  114. package/dist/cjs/src/integration-tests/setupTestContainer.d.ts +0 -10
  115. package/dist/cjs/src/integration-tests/setupTestContainer.js +0 -23
  116. package/dist/cjs/src/integration-tests/setupTestContainer.js.map +0 -1
  117. package/dist/cjs/src/metadataPoller.d.ts +0 -34
  118. package/dist/cjs/src/metadataPoller.js +0 -214
  119. package/dist/cjs/src/metadataPoller.js.map +0 -1
  120. package/dist/cjs/src/neo4jConnection.d.ts +0 -36
  121. package/dist/cjs/src/neo4jConnection.js +0 -128
  122. package/dist/cjs/src/neo4jConnection.js.map +0 -1
  123. package/dist/cjs/src/queries/dataSummary.d.ts +0 -7
  124. package/dist/cjs/src/queries/dataSummary.js +0 -33
  125. package/dist/cjs/src/queries/dataSummary.js.map +0 -1
  126. package/dist/cjs/src/queries/databases.d.ts +0 -38
  127. package/dist/cjs/src/queries/databases.js +0 -114
  128. package/dist/cjs/src/queries/databases.js.map +0 -1
  129. package/dist/cjs/src/queries/functions.d.ts +0 -16
  130. package/dist/cjs/src/queries/functions.js +0 -88
  131. package/dist/cjs/src/queries/functions.js.map +0 -1
  132. package/dist/cjs/src/queries/graphSchema.d.ts +0 -28
  133. package/dist/cjs/src/queries/graphSchema.js +0 -88
  134. package/dist/cjs/src/queries/graphSchema.js.map +0 -1
  135. package/dist/cjs/src/queries/procedures.d.ts +0 -16
  136. package/dist/cjs/src/queries/procedures.js +0 -106
  137. package/dist/cjs/src/queries/procedures.js.map +0 -1
  138. package/dist/cjs/src/queries/roles.d.ts +0 -11
  139. package/dist/cjs/src/queries/roles.js +0 -24
  140. package/dist/cjs/src/queries/roles.js.map +0 -1
  141. package/dist/cjs/src/queries/users.d.ts +0 -15
  142. package/dist/cjs/src/queries/users.js +0 -24
  143. package/dist/cjs/src/queries/users.js.map +0 -1
  144. package/dist/cjs/src/queries/version.d.ts +0 -7
  145. package/dist/cjs/src/queries/version.js +0 -32
  146. package/dist/cjs/src/queries/version.js.map +0 -1
  147. package/dist/cjs/src/result-transformers/graph-result-transformer.d.ts +0 -36
  148. package/dist/cjs/src/result-transformers/graph-result-transformer.js +0 -37
  149. package/dist/cjs/src/result-transformers/graph-result-transformer.js.map +0 -1
  150. package/dist/cjs/src/schemaPoller.d.ts +0 -45
  151. package/dist/cjs/src/schemaPoller.js +0 -199
  152. package/dist/cjs/src/schemaPoller.js.map +0 -1
  153. package/dist/cjs/src/types/cypher-data-types.d.ts +0 -41
  154. package/dist/cjs/src/types/cypher-data-types.js +0 -47
  155. package/dist/cjs/src/types/cypher-data-types.js.map +0 -1
  156. package/dist/cjs/src/types/sdkTypes.d.ts +0 -23
  157. package/dist/cjs/src/types/sdkTypes.js +0 -11
  158. package/dist/cjs/src/types/sdkTypes.js.map +0 -1
  159. package/dist/cjs/tsconfig.tsbuildinfo +0 -1
  160. package/dist/cjs/vitest.config.d.mts +0 -2
  161. package/dist/cjs/vitest.config.mjs +0 -10
  162. package/dist/cjs/vitest.config.mjs.map +0 -1
@@ -1,199 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Neo4jSchemaPoller = void 0;
7
- const events_1 = require("events");
8
- const neo4j_driver_1 = __importDefault(require("neo4j-driver"));
9
- const connectionErrorHandler_js_1 = require("./connectionErrorHandler.js");
10
- const metadataPoller_js_1 = require("./metadataPoller.js");
11
- const neo4jConnection_js_1 = require("./neo4jConnection.js");
12
- const databases_js_1 = require("./queries/databases.js");
13
- const version_js_1 = require("./queries/version.js");
14
- const MAX_RETRY_ATTEMPTS = 5;
15
- const RETRY_INTERVAL_MS = 30000;
16
- class Neo4jSchemaPoller {
17
- connection;
18
- metadata;
19
- events = new events_1.EventEmitter();
20
- driver;
21
- reconnectionTimeout;
22
- retries = MAX_RETRY_ATTEMPTS;
23
- lastError;
24
- parameters = {};
25
- setParameters(parameters) {
26
- this.parameters = parameters;
27
- if (this.metadata) {
28
- this.metadata.dbSchema.parameters = parameters;
29
- }
30
- else {
31
- this.metadata = new metadataPoller_js_1.DisconnectedMetadataPoller(parameters);
32
- }
33
- }
34
- async connect(url, credentials, config, database) {
35
- try {
36
- this.driver = await this.initializeDriver(url, credentials, config, database);
37
- }
38
- catch (error) {
39
- console.error('Error connecting to Neo4j.', error);
40
- return {
41
- success: false,
42
- retriable: (0, connectionErrorHandler_js_1.isRetriableNeo4jError)(error),
43
- error: (0, connectionErrorHandler_js_1.getConnectionError)(error),
44
- };
45
- }
46
- return { success: true };
47
- }
48
- async persistentConnect(url, credentials, config, database) {
49
- const shouldHaveConnection = this.connection !== undefined;
50
- const connectionAlive = await this.connection?.healthcheck();
51
- const shouldUpdateConnection = this.connection && database && this.connection?.currentDb !== database;
52
- if (!connectionAlive || shouldUpdateConnection) {
53
- if (shouldHaveConnection && !shouldUpdateConnection) {
54
- console.error('Connection to Neo4j dropped');
55
- this.disconnect();
56
- }
57
- else if (shouldUpdateConnection) {
58
- this.disconnect();
59
- }
60
- try {
61
- await this.connectAndStartMetadataPoller(url, credentials, config, database);
62
- this.reconnectionTimeout = this.setReconnectionTimeout(url, credentials, config, database);
63
- return this.handleSuccessfulConnection();
64
- }
65
- catch (error) {
66
- console.error('Error connecting to Neo4j.', error);
67
- this.retries -= 1;
68
- this.lastError = (0, connectionErrorHandler_js_1.getConnectionError)(error);
69
- if (!(0, connectionErrorHandler_js_1.isRetriableNeo4jError)(error)) {
70
- return this.handlePermanentlyFailingConnection();
71
- }
72
- if (this.retries > 0) {
73
- this.reconnectionTimeout = this.setReconnectionTimeout(url, credentials, config, database);
74
- return this.handleNonSuccessfulConnection();
75
- }
76
- return this.handlePermanentlyFailingConnection();
77
- }
78
- }
79
- this.reconnectionTimeout = this.setReconnectionTimeout(url, credentials, config, database);
80
- return { success: true };
81
- }
82
- disconnect() {
83
- if (this.connection) {
84
- // eslint-disable-next-line no-console
85
- console.log('Disconnected from Neo4j');
86
- }
87
- this.connection?.dispose();
88
- this.metadata?.stopBackgroundPolling();
89
- this.connection = undefined;
90
- const parameters = this.metadata?.dbSchema?.parameters ?? {};
91
- this.metadata = new metadataPoller_js_1.DisconnectedMetadataPoller(parameters);
92
- this.driver = undefined;
93
- clearTimeout(this.reconnectionTimeout);
94
- }
95
- async getAvailableCypherVersions() {
96
- // We need to use a query we can fire against the system database
97
- // because we might not have no information on what user database
98
- // we could use to try a simpler CYPHER 25 RETURN true query
99
- const { query: cypherVersionQuery, queryConfig: cypherVersionQueryConfig } = (0, version_js_1.getVersion)();
100
- try {
101
- if (this.driver) {
102
- await this.driver.executeQuery('CYPHER 25' + ' ' + cypherVersionQuery, {}, cypherVersionQueryConfig);
103
- return ['5', '25'];
104
- }
105
- }
106
- catch {
107
- return ['5'];
108
- }
109
- return ['5'];
110
- }
111
- async connectAndStartMetadataPoller(url, credentials, config, database) {
112
- this.driver =
113
- this.driver ??
114
- (await this.initializeDriver(url, credentials, config, database));
115
- const { query: dbQuery, queryConfig: dbQueryConfig } = (0, databases_js_1.listDatabases)();
116
- const { databases, summary } = await this.driver.executeQuery(dbQuery, {}, dbQueryConfig);
117
- const protocolVersion = summary.server.protocolVersion?.toString() ?? 'unknown';
118
- this.connection = new neo4jConnection_js_1.Neo4jConnection(credentials.username, protocolVersion, databases, this.driver, database);
119
- const serverCypherVersions = await this.getAvailableCypherVersions();
120
- const { query: serverVersionQuery, queryConfig: serverVersionQueryConfig } = (0, version_js_1.getVersion)();
121
- let { serverVersion } = await this.driver.executeQuery(serverVersionQuery, {}, serverVersionQueryConfig);
122
- // If the server version is 5.27.0 we have to use the agent to
123
- // really know whether we are in 2025.01, 2025.02 or 2025.03
124
- if (serverVersion?.startsWith('5.27.0')) {
125
- const agent = summary.server.agent;
126
- if (agent) {
127
- const matchedVersion = agent.match(/\d+\.\d+\.\d+/);
128
- if (matchedVersion) {
129
- serverVersion = matchedVersion[0];
130
- }
131
- }
132
- }
133
- this.connection.serverVersion = serverVersion;
134
- this.metadata = new metadataPoller_js_1.ConnectedMetadataPoller(databases, this.parameters, serverCypherVersions, this.connection, this.events);
135
- this.metadata.startBackgroundPolling();
136
- }
137
- async initializeDriver(url, credentials, config, database) {
138
- const driver = neo4j_driver_1.default.driver(url, neo4j_driver_1.default.auth.basic(credentials.username, credentials.password), {
139
- userAgent: config.appName,
140
- ...config.driverConfig,
141
- });
142
- await driver.verifyConnectivity({ database: database });
143
- if (await driver.supportsSessionAuth()) {
144
- if (!(await driver.verifyAuthentication())) {
145
- throw new Error('Invalid credentials');
146
- }
147
- }
148
- return driver;
149
- }
150
- setReconnectionTimeout(url, credentials, config, database) {
151
- return setTimeout(() => {
152
- void this.persistentConnect(url, credentials, config, database);
153
- }, RETRY_INTERVAL_MS);
154
- }
155
- handleSuccessfulConnection() {
156
- this.resetRetries();
157
- // eslint-disable-next-line no-console
158
- console.log('Established connection to Neo4j');
159
- this.events.emit('connectionConnected');
160
- return { success: true };
161
- }
162
- handleNonSuccessfulConnection() {
163
- const connectionError = this.formatConnectionErrorFriendlyMessage(this.lastError, true);
164
- this.events.emit('connectionErrored', connectionError);
165
- return {
166
- success: false,
167
- retriable: true,
168
- error: connectionError,
169
- };
170
- }
171
- handlePermanentlyFailingConnection() {
172
- this.resetRetries();
173
- const connectionError = this.formatConnectionErrorFriendlyMessage(this.lastError, false);
174
- this.events.emit('connectionFailed', connectionError);
175
- return {
176
- success: false,
177
- retriable: false,
178
- error: connectionError,
179
- };
180
- }
181
- formatConnectionErrorFriendlyMessage(connectionError = {
182
- message: '',
183
- friendlyMessage: connectionErrorHandler_js_1.FRIENDLY_ERROR_MESSAGES.Default,
184
- code: '',
185
- }, retriable) {
186
- const friendlyMessage = retriable
187
- ? `${connectionError.friendlyMessage}. Retrying in ${RETRY_INTERVAL_MS / 1000} seconds`
188
- : connectionError.friendlyMessage;
189
- return {
190
- ...connectionError,
191
- friendlyMessage: friendlyMessage,
192
- };
193
- }
194
- resetRetries() {
195
- this.retries = MAX_RETRY_ATTEMPTS;
196
- }
197
- }
198
- exports.Neo4jSchemaPoller = Neo4jSchemaPoller;
199
- //# sourceMappingURL=schemaPoller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaPoller.js","sourceRoot":"","sources":["../../../src/schemaPoller.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import type { Date, DateTime, Duration, Integer, LocalDateTime, LocalTime, Node, Path, Point, Relationship, Time, Vector } from 'neo4j-driver';
2
- type NumberOrInteger = number | Integer | bigint;
3
- /**
4
- The neo4j driver type mapping - https://neo4j.com/docs/javascript-manual/current/cypher-workflow/#js-driver-type-mapping
5
-
6
- Star denotes custom driver class.
7
-
8
- Cypher(neo4j) - Driver type(js)
9
- null - null
10
- List - array
11
- Map - Object
12
- Boolean - boolean
13
- Integer - Integer*
14
- Float - number
15
- String - string
16
- ByteArray - Int8Array
17
- Date - Date*
18
- Time - Time*
19
- LocalTime - LocalTime*
20
- DateTime - DateTime*
21
- LocalDateTime - LocalDateTime*
22
- Duration - Duration*
23
- Point - Point*
24
- Node - Node*
25
- Relationship - Relationship*
26
- Path - Path*
27
- */
28
- export type CypherBasicPropertyType = null | boolean | number | string | Integer | bigint | Int8Array | CypherTemporalType | Point | Vector<BigInt64Array | Float32Array | Float64Array | Int8Array | Int16Array | Int32Array>;
29
- export type CypherTemporalType = Date<NumberOrInteger> | Time<NumberOrInteger> | DateTime | LocalTime<NumberOrInteger> | LocalDateTime | Duration<NumberOrInteger>;
30
- export type CypherProperty = CypherBasicPropertyType | CypherBasicPropertyType[];
31
- export type CypherStructuralType = Node | Relationship | Path;
32
- export type CypherList = (CypherBasicPropertyType | CypherStructuralType | CypherMap | CypherList)[];
33
- export interface CypherMap {
34
- [key: string]: CypherBasicPropertyType | CypherStructuralType | CypherMap | CypherList;
35
- }
36
- export type CypherDataType = CypherBasicPropertyType | CypherStructuralType | CypherMap | CypherList;
37
- export declare const isCypherTemporalType: (anything: unknown) => anything is CypherTemporalType;
38
- export declare const isCypherBasicPropertyType: (value: unknown) => value is CypherBasicPropertyType;
39
- export declare const isCypherPropertyType: (value: unknown) => value is CypherProperty;
40
- export declare function isInt8Array(val: unknown): val is Int8Array;
41
- export {};
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isCypherPropertyType = exports.isCypherBasicPropertyType = exports.isCypherTemporalType = void 0;
4
- exports.isInt8Array = isInt8Array;
5
- const neo4j_driver_1 = require("neo4j-driver");
6
- const isCypherTemporalType = (anything) => {
7
- if (typeof anything === 'object' && anything !== null) {
8
- return [
9
- neo4j_driver_1.isDate,
10
- neo4j_driver_1.isTime,
11
- neo4j_driver_1.isDateTime,
12
- neo4j_driver_1.isLocalTime,
13
- neo4j_driver_1.isLocalDateTime,
14
- neo4j_driver_1.isDuration,
15
- ].some((tester) => tester(anything));
16
- }
17
- return false;
18
- };
19
- exports.isCypherTemporalType = isCypherTemporalType;
20
- const isCypherBasicPropertyType = (value) => {
21
- const valType = typeof value;
22
- return (value === null ||
23
- valType === 'boolean' ||
24
- valType === 'string' ||
25
- valType === 'number' ||
26
- valType === 'bigint' ||
27
- value?.constructor === Int8Array ||
28
- (0, neo4j_driver_1.isInt)(value) ||
29
- (0, exports.isCypherTemporalType)(value) ||
30
- (0, neo4j_driver_1.isPoint)(value) ||
31
- (0, neo4j_driver_1.isVector)(value));
32
- };
33
- exports.isCypherBasicPropertyType = isCypherBasicPropertyType;
34
- const isCypherPropertyType = (value) => {
35
- if (Array.isArray(value)) {
36
- if (value.length === 0) {
37
- return true;
38
- }
39
- return (0, exports.isCypherBasicPropertyType)(value[0]);
40
- }
41
- return (0, exports.isCypherBasicPropertyType)(value);
42
- };
43
- exports.isCypherPropertyType = isCypherPropertyType;
44
- function isInt8Array(val) {
45
- return (typeof val === 'object' && val !== null && val.constructor === Int8Array);
46
- }
47
- //# sourceMappingURL=cypher-data-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cypher-data-types.js","sourceRoot":"","sources":["../../../../src/types/cypher-data-types.ts"],"names":[],"mappings":";;;AA+JA,kCAIC;AArJD,+CAUsB;AAuFf,MAAM,oBAAoB,GAAG,CAClC,QAAiB,EACe,EAAE;IAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO;YACL,qBAAM;YACN,qBAAM;YACN,yBAAU;YACV,0BAAW;YACX,8BAAe;YACf,yBAAU;SACX,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B;AAEK,MAAM,yBAAyB,GAAG,CACvC,KAAc,EACoB,EAAE;IACpC,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC;IAE7B,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,SAAS;QACrB,OAAO,KAAK,QAAQ;QACpB,OAAO,KAAK,QAAQ;QACpB,OAAO,KAAK,QAAQ;QACpB,KAAK,EAAE,WAAW,KAAK,SAAS;QAChC,IAAA,oBAAK,EAAC,KAAK,CAAC;QACZ,IAAA,4BAAoB,EAAC,KAAK,CAAC;QAC3B,IAAA,sBAAO,EAAC,KAAK,CAAC;QACd,IAAA,uBAAQ,EAAC,KAAK,CAAC,CAChB,CAAC;AACJ,CAAC,CAAC;AAjBW,QAAA,yBAAyB,6BAiBpC;AAEK,MAAM,oBAAoB,GAAG,CAClC,KAAc,EACW,EAAE;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAA,iCAAyB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAA,iCAAyB,EAAC,KAAK,CAAC,CAAC;AAC1C,CAAC,CAAC;AAXW,QAAA,oBAAoB,wBAW/B;AAEF,SAAgB,WAAW,CAAC,GAAY;IACtC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,CACzE,CAAC;AACJ,CAAC"}
@@ -1,23 +0,0 @@
1
- import type { QueryConfig, ResultSummary } from 'neo4j-driver';
2
- export declare const DbType: {
3
- SYSTEM: string;
4
- STANDARD: string;
5
- COMPOSITE: string;
6
- GRAPH_SHARD: string;
7
- PROPERTY_SHARD: string;
8
- };
9
- export type QueryType = 'system' | 'user-direct' | 'user-action' | 'user-transpiled';
10
- export type CypherTransactionMetadata = {
11
- app: 'neo4j-sdk';
12
- type: QueryType;
13
- version?: string;
14
- };
15
- export type ExtendedQueryConfig<T> = QueryConfig<T> & Required<Pick<QueryConfig<T>, 'routing' | 'resultTransformer'>>;
16
- type Result<T> = T & {
17
- summary: ResultSummary;
18
- };
19
- export type ExecuteQueryArgs<T> = {
20
- query: string;
21
- queryConfig: ExtendedQueryConfig<Result<T>>;
22
- };
23
- export {};
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DbType = void 0;
4
- exports.DbType = {
5
- SYSTEM: 'system',
6
- STANDARD: 'standard',
7
- COMPOSITE: 'composite',
8
- GRAPH_SHARD: 'graph shard',
9
- PROPERTY_SHARD: 'property shard',
10
- };
11
- //# sourceMappingURL=sdkTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdkTypes.js","sourceRoot":"","sources":["../../../../src/types/sdkTypes.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;CACjC,CAAC"}