@neo4j-cypher/query-tools 2.0.0-next.19
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.
- package/CHANGELOG.md +173 -0
- package/LICENSE.md +201 -0
- package/README.md +7 -0
- package/dist/cjs/package.json +41 -0
- package/dist/cjs/src/connectionErrorHandler.d.ts +12 -0
- package/dist/cjs/src/connectionErrorHandler.js +41 -0
- package/dist/cjs/src/connectionErrorHandler.js.map +1 -0
- package/dist/cjs/src/cypher-execution/query-result.d.ts +11 -0
- package/dist/cjs/src/cypher-execution/query-result.js +195 -0
- package/dist/cjs/src/cypher-execution/query-result.js.map +1 -0
- package/dist/cjs/src/data-transforms/clean-type.d.ts +6 -0
- package/dist/cjs/src/data-transforms/clean-type.js +16 -0
- package/dist/cjs/src/data-transforms/clean-type.js.map +1 -0
- package/dist/cjs/src/data-transforms/cypher-type-names.d.ts +6 -0
- package/dist/cjs/src/data-transforms/cypher-type-names.js +85 -0
- package/dist/cjs/src/data-transforms/cypher-type-names.js.map +1 -0
- package/dist/cjs/src/data-transforms/format-float.d.ts +1 -0
- package/dist/cjs/src/data-transforms/format-float.js +14 -0
- package/dist/cjs/src/data-transforms/format-float.js.map +1 -0
- package/dist/cjs/src/data-transforms/record-to-string.d.ts +5 -0
- package/dist/cjs/src/data-transforms/record-to-string.js +174 -0
- package/dist/cjs/src/data-transforms/record-to-string.js.map +1 -0
- package/dist/cjs/src/data-types/cypher-data-types.d.ts +29 -0
- package/dist/cjs/src/data-types/cypher-data-types.js +3 -0
- package/dist/cjs/src/data-types/cypher-data-types.js.map +1 -0
- package/dist/cjs/src/index.d.ts +14 -0
- package/dist/cjs/src/index.js +15 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/metadataPoller.d.ts +31 -0
- package/dist/cjs/src/metadataPoller.js +197 -0
- package/dist/cjs/src/metadataPoller.js.map +1 -0
- package/dist/cjs/src/neo4jConnection.d.ts +29 -0
- package/dist/cjs/src/neo4jConnection.js +107 -0
- package/dist/cjs/src/neo4jConnection.js.map +1 -0
- package/dist/cjs/src/queries/dataSummary.d.ts +7 -0
- package/dist/cjs/src/queries/dataSummary.js +33 -0
- package/dist/cjs/src/queries/dataSummary.js.map +1 -0
- package/dist/cjs/src/queries/databases.d.ts +27 -0
- package/dist/cjs/src/queries/databases.js +28 -0
- package/dist/cjs/src/queries/databases.js.map +1 -0
- package/dist/cjs/src/queries/functions.d.ts +16 -0
- package/dist/cjs/src/queries/functions.js +88 -0
- package/dist/cjs/src/queries/functions.js.map +1 -0
- package/dist/cjs/src/queries/procedures.d.ts +16 -0
- package/dist/cjs/src/queries/procedures.js +106 -0
- package/dist/cjs/src/queries/procedures.js.map +1 -0
- package/dist/cjs/src/queries/roles.d.ts +11 -0
- package/dist/cjs/src/queries/roles.js +24 -0
- package/dist/cjs/src/queries/roles.js.map +1 -0
- package/dist/cjs/src/queries/users.d.ts +15 -0
- package/dist/cjs/src/queries/users.js +24 -0
- package/dist/cjs/src/queries/users.js.map +1 -0
- package/dist/cjs/src/queries/version.d.ts +7 -0
- package/dist/cjs/src/queries/version.js +26 -0
- package/dist/cjs/src/queries/version.js.map +1 -0
- package/dist/cjs/src/schemaPoller.d.ts +44 -0
- package/dist/cjs/src/schemaPoller.js +167 -0
- package/dist/cjs/src/schemaPoller.js.map +1 -0
- package/dist/cjs/src/types/cypher-data-types.d.ts +41 -0
- package/dist/cjs/src/types/cypher-data-types.js +46 -0
- package/dist/cjs/src/types/cypher-data-types.js.map +1 -0
- package/dist/cjs/src/types/sdkTypes.d.ts +17 -0
- package/dist/cjs/src/types/sdkTypes.js +3 -0
- package/dist/cjs/src/types/sdkTypes.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/package.json +41 -0
- package/dist/esm/src/connectionErrorHandler.d.ts +12 -0
- package/dist/esm/src/connectionErrorHandler.js +35 -0
- package/dist/esm/src/connectionErrorHandler.js.map +1 -0
- package/dist/esm/src/cypher-execution/query-result.d.ts +11 -0
- package/dist/esm/src/cypher-execution/query-result.js +188 -0
- package/dist/esm/src/cypher-execution/query-result.js.map +1 -0
- package/dist/esm/src/data-transforms/clean-type.d.ts +6 -0
- package/dist/esm/src/data-transforms/clean-type.js +12 -0
- package/dist/esm/src/data-transforms/clean-type.js.map +1 -0
- package/dist/esm/src/data-transforms/cypher-type-names.d.ts +6 -0
- package/dist/esm/src/data-transforms/cypher-type-names.js +80 -0
- package/dist/esm/src/data-transforms/cypher-type-names.js.map +1 -0
- package/dist/esm/src/data-transforms/format-float.d.ts +1 -0
- package/dist/esm/src/data-transforms/format-float.js +10 -0
- package/dist/esm/src/data-transforms/format-float.js.map +1 -0
- package/dist/esm/src/data-transforms/record-to-string.d.ts +5 -0
- package/dist/esm/src/data-transforms/record-to-string.js +169 -0
- package/dist/esm/src/data-transforms/record-to-string.js.map +1 -0
- package/dist/esm/src/data-types/cypher-data-types.d.ts +29 -0
- package/dist/esm/src/data-types/cypher-data-types.js +2 -0
- package/dist/esm/src/data-types/cypher-data-types.js.map +1 -0
- package/dist/esm/src/index.d.ts +14 -0
- package/dist/esm/src/index.js +6 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/metadataPoller.d.ts +31 -0
- package/dist/esm/src/metadataPoller.js +191 -0
- package/dist/esm/src/metadataPoller.js.map +1 -0
- package/dist/esm/src/neo4jConnection.d.ts +29 -0
- package/dist/esm/src/neo4jConnection.js +103 -0
- package/dist/esm/src/neo4jConnection.js.map +1 -0
- package/dist/esm/src/queries/dataSummary.d.ts +7 -0
- package/dist/esm/src/queries/dataSummary.js +30 -0
- package/dist/esm/src/queries/dataSummary.js.map +1 -0
- package/dist/esm/src/queries/databases.d.ts +27 -0
- package/dist/esm/src/queries/databases.js +25 -0
- package/dist/esm/src/queries/databases.js.map +1 -0
- package/dist/esm/src/queries/functions.d.ts +16 -0
- package/dist/esm/src/queries/functions.js +81 -0
- package/dist/esm/src/queries/functions.js.map +1 -0
- package/dist/esm/src/queries/procedures.d.ts +16 -0
- package/dist/esm/src/queries/procedures.js +99 -0
- package/dist/esm/src/queries/procedures.js.map +1 -0
- package/dist/esm/src/queries/roles.d.ts +11 -0
- package/dist/esm/src/queries/roles.js +21 -0
- package/dist/esm/src/queries/roles.js.map +1 -0
- package/dist/esm/src/queries/users.d.ts +15 -0
- package/dist/esm/src/queries/users.js +21 -0
- package/dist/esm/src/queries/users.js.map +1 -0
- package/dist/esm/src/queries/version.d.ts +7 -0
- package/dist/esm/src/queries/version.js +23 -0
- package/dist/esm/src/queries/version.js.map +1 -0
- package/dist/esm/src/schemaPoller.d.ts +44 -0
- package/dist/esm/src/schemaPoller.js +160 -0
- package/dist/esm/src/schemaPoller.js.map +1 -0
- package/dist/esm/src/types/cypher-data-types.d.ts +41 -0
- package/dist/esm/src/types/cypher-data-types.js +39 -0
- package/dist/esm/src/types/cypher-data-types.js.map +1 -0
- package/dist/esm/src/types/sdkTypes.d.ts +17 -0
- package/dist/esm/src/types/sdkTypes.js +2 -0
- package/dist/esm/src/types/sdkTypes.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/package.json +41 -0
- package/src/connectionErrorHandler.ts +56 -0
- package/src/cypher-execution/query-result.ts +348 -0
- package/src/data-transforms/clean-type.ts +13 -0
- package/src/data-transforms/cypher-type-names.ts +146 -0
- package/src/data-transforms/format-float.ts +9 -0
- package/src/data-transforms/record-to-string.ts +248 -0
- package/src/data-types/cypher-data-types.ts +60 -0
- package/src/index.ts +21 -0
- package/src/metadataPoller.ts +261 -0
- package/src/neo4jConnection.ts +149 -0
- package/src/queries/dataSummary.ts +42 -0
- package/src/queries/databases.ts +63 -0
- package/src/queries/functions.ts +97 -0
- package/src/queries/procedures.ts +117 -0
- package/src/queries/roles.ts +30 -0
- package/src/queries/users.ts +35 -0
- package/src/queries/version.ts +28 -0
- package/src/schemaPoller.ts +301 -0
- package/src/types/cypher-data-types.ts +153 -0
- package/src/types/sdkTypes.ts +29 -0
- package/tsconfig.json +8 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ESCAPE_CHAR = exports.RESERVED_TYPE_PROPERTY_NAME = void 0;
|
|
4
|
+
exports.addAnnotationProp = addAnnotationProp;
|
|
5
|
+
exports.deleteAnnotationProp = deleteAnnotationProp;
|
|
6
|
+
exports.serializeTypeAnnotations = serializeTypeAnnotations;
|
|
7
|
+
exports.deserializeTypeAnnotations = deserializeTypeAnnotations;
|
|
8
|
+
const neo4j_driver_1 = require("neo4j-driver");
|
|
9
|
+
exports.RESERVED_TYPE_PROPERTY_NAME = 'transport-class';
|
|
10
|
+
exports.ESCAPE_CHAR = '_';
|
|
11
|
+
function addAnnotationProp(obj,
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
|
13
|
+
type, prop = exports.RESERVED_TYPE_PROPERTY_NAME) {
|
|
14
|
+
// The shallow copy is needed because the object type returned by the driver is not extensible.
|
|
15
|
+
let objShallowCopy = Object.entries(obj).reduce((newObj, [key, value]) => {
|
|
16
|
+
newObj[key] = value;
|
|
17
|
+
return newObj;
|
|
18
|
+
}, {});
|
|
19
|
+
// Recursively escape the reserved property if it already exists.
|
|
20
|
+
if (Object.prototype.hasOwnProperty.call(objShallowCopy, prop)) {
|
|
21
|
+
objShallowCopy = addAnnotationProp(objShallowCopy, objShallowCopy[prop], exports.ESCAPE_CHAR + prop);
|
|
22
|
+
delete objShallowCopy[prop];
|
|
23
|
+
}
|
|
24
|
+
objShallowCopy[prop] = type;
|
|
25
|
+
return objShallowCopy;
|
|
26
|
+
}
|
|
27
|
+
function deleteAnnotationProp(obj) {
|
|
28
|
+
let escapedProp = exports.RESERVED_TYPE_PROPERTY_NAME;
|
|
29
|
+
while (Object.prototype.hasOwnProperty.call(obj, escapedProp)) {
|
|
30
|
+
// On the first loop since `escapedProp` is not actually escaped, this
|
|
31
|
+
// line does nothing. In the next loops we only want to replace the
|
|
32
|
+
// first instance of the escape char.
|
|
33
|
+
obj[escapedProp.replace(exports.ESCAPE_CHAR, '')] = obj[escapedProp];
|
|
34
|
+
delete obj[escapedProp];
|
|
35
|
+
escapedProp = exports.ESCAPE_CHAR + escapedProp;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function copyAndAnnotate(obj) {
|
|
39
|
+
return Object.keys(obj).reduce((newObj, key) => {
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
41
|
+
// @ts-ignore TypeScript complains about not being able to use `key` to
|
|
42
|
+
// index `obj`, but we know that `key` exists in `obj` since it's coming
|
|
43
|
+
// from Object.keys.
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
45
|
+
const value = obj[key];
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
47
|
+
newObj[key] = serializeTypeAnnotations(value);
|
|
48
|
+
return newObj;
|
|
49
|
+
}, {});
|
|
50
|
+
}
|
|
51
|
+
function serializeTypeAnnotations(item) {
|
|
52
|
+
if (Array.isArray(item)) {
|
|
53
|
+
return item.map((i) => serializeTypeAnnotations(i));
|
|
54
|
+
}
|
|
55
|
+
if (item === null || item === undefined) {
|
|
56
|
+
return item;
|
|
57
|
+
}
|
|
58
|
+
if (item instanceof neo4j_driver_1.types.Record) {
|
|
59
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
60
|
+
// @ts-ignore There are two versions of the type for Record coming from the
|
|
61
|
+
// driver.
|
|
62
|
+
const tmp = copyAndAnnotate(item);
|
|
63
|
+
return addAnnotationProp(tmp, 'Record');
|
|
64
|
+
}
|
|
65
|
+
if (item instanceof neo4j_driver_1.types.ResultSummary) {
|
|
66
|
+
const tmp = copyAndAnnotate(item);
|
|
67
|
+
return addAnnotationProp(tmp, 'ResultSummary');
|
|
68
|
+
}
|
|
69
|
+
if (item instanceof neo4j_driver_1.types.Node) {
|
|
70
|
+
const tmp = copyAndAnnotate(item);
|
|
71
|
+
return addAnnotationProp(tmp, 'Node');
|
|
72
|
+
}
|
|
73
|
+
if (item instanceof neo4j_driver_1.types.PathSegment) {
|
|
74
|
+
const tmp = copyAndAnnotate(item);
|
|
75
|
+
return addAnnotationProp(tmp, 'PathSegment');
|
|
76
|
+
}
|
|
77
|
+
if (item instanceof neo4j_driver_1.types.Path) {
|
|
78
|
+
const tmp = copyAndAnnotate(item);
|
|
79
|
+
return addAnnotationProp(tmp, 'Path');
|
|
80
|
+
}
|
|
81
|
+
if (item instanceof neo4j_driver_1.types.Relationship) {
|
|
82
|
+
const tmp = copyAndAnnotate(item);
|
|
83
|
+
return addAnnotationProp(tmp, 'Relationship');
|
|
84
|
+
}
|
|
85
|
+
if (item instanceof neo4j_driver_1.types.Point) {
|
|
86
|
+
const tmp = copyAndAnnotate(item);
|
|
87
|
+
return addAnnotationProp(tmp, 'Point');
|
|
88
|
+
}
|
|
89
|
+
if (item instanceof neo4j_driver_1.types.Date) {
|
|
90
|
+
const tmp = copyAndAnnotate(item);
|
|
91
|
+
return addAnnotationProp(tmp, 'Date');
|
|
92
|
+
}
|
|
93
|
+
if (item instanceof neo4j_driver_1.types.DateTime) {
|
|
94
|
+
const tmp = copyAndAnnotate(item);
|
|
95
|
+
return addAnnotationProp(tmp, 'DateTime');
|
|
96
|
+
}
|
|
97
|
+
if (item instanceof neo4j_driver_1.types.Duration) {
|
|
98
|
+
const tmp = copyAndAnnotate(item);
|
|
99
|
+
return addAnnotationProp(tmp, 'Duration');
|
|
100
|
+
}
|
|
101
|
+
if (item instanceof neo4j_driver_1.types.LocalDateTime) {
|
|
102
|
+
const tmp = copyAndAnnotate(item);
|
|
103
|
+
return addAnnotationProp(tmp, 'LocalDateTime');
|
|
104
|
+
}
|
|
105
|
+
if (item instanceof neo4j_driver_1.types.LocalTime) {
|
|
106
|
+
const tmp = copyAndAnnotate(item);
|
|
107
|
+
return addAnnotationProp(tmp, 'LocalTime');
|
|
108
|
+
}
|
|
109
|
+
if (item instanceof neo4j_driver_1.types.Time) {
|
|
110
|
+
const tmp = copyAndAnnotate(item);
|
|
111
|
+
return addAnnotationProp(tmp, 'Time');
|
|
112
|
+
}
|
|
113
|
+
if ((0, neo4j_driver_1.isInt)(item)) {
|
|
114
|
+
const tmp = { ...item };
|
|
115
|
+
return addAnnotationProp(tmp, 'Integer');
|
|
116
|
+
}
|
|
117
|
+
if (typeof item === 'object') {
|
|
118
|
+
const tmp = copyAndAnnotate(item);
|
|
119
|
+
return addAnnotationProp(tmp, 'Object');
|
|
120
|
+
}
|
|
121
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
122
|
+
// @ts-ignore this type isn't inferred correctly
|
|
123
|
+
return item;
|
|
124
|
+
}
|
|
125
|
+
function deserializeTypeAnnotations(rawItem) {
|
|
126
|
+
if (Array.isArray(rawItem)) {
|
|
127
|
+
const mapped = rawItem.map((i) => deserializeTypeAnnotations(i));
|
|
128
|
+
return mapped;
|
|
129
|
+
}
|
|
130
|
+
if (rawItem === null ||
|
|
131
|
+
rawItem === undefined ||
|
|
132
|
+
typeof rawItem === 'boolean' ||
|
|
133
|
+
typeof rawItem === 'string' ||
|
|
134
|
+
!Object.prototype.hasOwnProperty.call(rawItem, exports.RESERVED_TYPE_PROPERTY_NAME)) {
|
|
135
|
+
return rawItem;
|
|
136
|
+
}
|
|
137
|
+
const item = { ...rawItem };
|
|
138
|
+
const className = item[exports.RESERVED_TYPE_PROPERTY_NAME];
|
|
139
|
+
deleteAnnotationProp(item);
|
|
140
|
+
switch (className) {
|
|
141
|
+
case 'Record':
|
|
142
|
+
return new neo4j_driver_1.types.Record(deserializeTypeAnnotations(item.keys), deserializeTypeAnnotations(item._fields), deserializeTypeAnnotations(item._fieldLookup));
|
|
143
|
+
case 'ResultSummary': {
|
|
144
|
+
const metadata = {
|
|
145
|
+
...item,
|
|
146
|
+
type: item.queryType,
|
|
147
|
+
db: item.database.name,
|
|
148
|
+
result_available_after: deserializeTypeAnnotations(item.resultAvailableAfter),
|
|
149
|
+
result_consumed_after: deserializeTypeAnnotations(item.resultConsumedAfter),
|
|
150
|
+
profile: item.profile === false ? null : item.profile,
|
|
151
|
+
plan: item.plan === false ? null : item.plan,
|
|
152
|
+
stream_summary: { have_records_streamed: true },
|
|
153
|
+
server: {
|
|
154
|
+
...item.server,
|
|
155
|
+
version: item.server.agent,
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
return new neo4j_driver_1.types.ResultSummary(deserializeTypeAnnotations(item.query.text), deserializeTypeAnnotations(item.query.parameters), deserializeTypeAnnotations(metadata), deserializeTypeAnnotations(item.server.protocolVersion));
|
|
159
|
+
}
|
|
160
|
+
case 'Node':
|
|
161
|
+
return new neo4j_driver_1.types.Node(deserializeTypeAnnotations(item.identity), item.labels, deserializeTypeAnnotations(item.properties), item.elementId);
|
|
162
|
+
case 'Relationship':
|
|
163
|
+
return new neo4j_driver_1.types.Relationship(deserializeTypeAnnotations(item.identity), deserializeTypeAnnotations(item.start), deserializeTypeAnnotations(item.end), item.type, deserializeTypeAnnotations(item.properties), item.elementId, item.startNodeElementId, item.endNodeElementId);
|
|
164
|
+
case 'PathSegment':
|
|
165
|
+
return new neo4j_driver_1.types.PathSegment(deserializeTypeAnnotations(item.start), deserializeTypeAnnotations(item.relationship), deserializeTypeAnnotations(item.end));
|
|
166
|
+
case 'Path': {
|
|
167
|
+
const { segments } = item;
|
|
168
|
+
return new neo4j_driver_1.types.Path(deserializeTypeAnnotations(item.start), deserializeTypeAnnotations(item.end), (Array.isArray(segments) ? segments : []).map((x) => deserializeTypeAnnotations(x)));
|
|
169
|
+
}
|
|
170
|
+
case 'Point':
|
|
171
|
+
return new neo4j_driver_1.types.Point(deserializeTypeAnnotations(item.srid), deserializeTypeAnnotations(item.x), deserializeTypeAnnotations(item.y), deserializeTypeAnnotations(item.z));
|
|
172
|
+
case 'Date':
|
|
173
|
+
return new neo4j_driver_1.types.Date(deserializeTypeAnnotations(item.year), deserializeTypeAnnotations(item.month), deserializeTypeAnnotations(item.day));
|
|
174
|
+
case 'DateTime':
|
|
175
|
+
return new neo4j_driver_1.types.DateTime(deserializeTypeAnnotations(item.year), deserializeTypeAnnotations(item.month), deserializeTypeAnnotations(item.day), deserializeTypeAnnotations(item.hour), deserializeTypeAnnotations(item.minute), deserializeTypeAnnotations(item.second), deserializeTypeAnnotations(item.nanosecond), deserializeTypeAnnotations(item.timeZoneOffsetSeconds), deserializeTypeAnnotations(item.timeZoneId));
|
|
176
|
+
case 'Duration':
|
|
177
|
+
return new neo4j_driver_1.types.Duration(deserializeTypeAnnotations(item.months), deserializeTypeAnnotations(item.days), deserializeTypeAnnotations(item.seconds), deserializeTypeAnnotations(item.nanoseconds));
|
|
178
|
+
case 'LocalDateTime':
|
|
179
|
+
return new neo4j_driver_1.types.LocalDateTime(deserializeTypeAnnotations(item.year), deserializeTypeAnnotations(item.month), deserializeTypeAnnotations(item.day), deserializeTypeAnnotations(item.hour), deserializeTypeAnnotations(item.minute), deserializeTypeAnnotations(item.second), deserializeTypeAnnotations(item.nanosecond));
|
|
180
|
+
case 'LocalTime':
|
|
181
|
+
return new neo4j_driver_1.types.LocalTime(deserializeTypeAnnotations(item.hour), deserializeTypeAnnotations(item.minute), deserializeTypeAnnotations(item.second), deserializeTypeAnnotations(item.nanosecond));
|
|
182
|
+
case 'Time':
|
|
183
|
+
return new neo4j_driver_1.types.Time(deserializeTypeAnnotations(item.hour), deserializeTypeAnnotations(item.minute), deserializeTypeAnnotations(item.second), deserializeTypeAnnotations(item.nanosecond), deserializeTypeAnnotations(item.timeZoneOffsetSeconds));
|
|
184
|
+
case 'Integer':
|
|
185
|
+
return (0, neo4j_driver_1.int)(item);
|
|
186
|
+
case 'Object':
|
|
187
|
+
return Object.keys(item).reduce((newObj, key) => {
|
|
188
|
+
newObj[key] = deserializeTypeAnnotations(item[key]);
|
|
189
|
+
return newObj;
|
|
190
|
+
}, {});
|
|
191
|
+
default:
|
|
192
|
+
return item;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=query-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-result.js","sourceRoot":"","sources":["../../../../src/cypher-execution/query-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cleanType = cleanType;
|
|
4
|
+
exports.cleanTypeDescription = cleanTypeDescription;
|
|
5
|
+
function cleanType(type) {
|
|
6
|
+
let resultType = type;
|
|
7
|
+
if (resultType.startsWith('LIST? OF ')) {
|
|
8
|
+
resultType = resultType.replace('LIST? OF ', 'LIST<');
|
|
9
|
+
resultType += '>';
|
|
10
|
+
}
|
|
11
|
+
return resultType.replace(/\?/g, '');
|
|
12
|
+
}
|
|
13
|
+
function cleanTypeDescription(arg) {
|
|
14
|
+
return { ...arg, type: cleanType(arg.type) };
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=clean-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clean-type.js","sourceRoot":"","sources":["../../../../src/data-transforms/clean-type.ts"],"names":[],"mappings":";;AAAA,8BAQC;AAED,oDAEC;AAZD,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,UAAU,GAAG,IAAI,CAAC;IAEtB,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtD,UAAU,IAAI,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,oBAAoB,CAA6B,GAAM;IACrE,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CypherDataType, CypherProperty } from '../types/cypher-data-types';
|
|
2
|
+
type CypherPropertyName = 'Float' | 'null' | 'String' | 'Bigint' | 'Boolean' | `List${string}` | 'LocalTime' | 'Time' | 'Date' | 'LocalDateTime' | 'DateTime' | 'Integer' | 'Duration' | 'Point' | 'ByteArray' | 'Unknown';
|
|
3
|
+
export declare const getPropertyTypeDisplayName: (val?: CypherProperty) => CypherPropertyName;
|
|
4
|
+
export type CypherDataTypeName = CypherPropertyName | 'Node' | 'Relationship' | 'Path' | 'Map';
|
|
5
|
+
export declare function getCypherTypeName(val?: CypherDataType): CypherDataTypeName;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPropertyTypeDisplayName = void 0;
|
|
4
|
+
exports.getCypherTypeName = getCypherTypeName;
|
|
5
|
+
const neo4j_driver_1 = require("neo4j-driver");
|
|
6
|
+
const cypher_data_types_1 = require("../types/cypher-data-types");
|
|
7
|
+
const capitalize = (s) => s.charAt(0).toUpperCase() + s.slice(1);
|
|
8
|
+
const getPropertyTypeDisplayName = (val) => {
|
|
9
|
+
const jsType = typeof val;
|
|
10
|
+
if (jsType === 'number') {
|
|
11
|
+
return 'Float';
|
|
12
|
+
}
|
|
13
|
+
if (val === null || val === undefined) {
|
|
14
|
+
/* There's no concept of undefined in cypher, null serves both purposes */
|
|
15
|
+
return 'null';
|
|
16
|
+
}
|
|
17
|
+
// Need to duplicate this `typeof` for typescripts type inference to understand
|
|
18
|
+
if (typeof val !== 'object') {
|
|
19
|
+
const capitalized = capitalize(jsType);
|
|
20
|
+
switch (capitalized) {
|
|
21
|
+
case 'String':
|
|
22
|
+
case 'Bigint':
|
|
23
|
+
case 'Boolean':
|
|
24
|
+
return capitalized;
|
|
25
|
+
default:
|
|
26
|
+
return 'Unknown';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (val instanceof Array) {
|
|
30
|
+
const [firstVal] = val;
|
|
31
|
+
if (firstVal !== undefined) {
|
|
32
|
+
// Lists in properties are only allowed to contain a single type so all items are the same type
|
|
33
|
+
return `List<${(0, exports.getPropertyTypeDisplayName)(firstVal)}>(${val.length})`;
|
|
34
|
+
}
|
|
35
|
+
return `List(${val.length})`;
|
|
36
|
+
}
|
|
37
|
+
if ((0, neo4j_driver_1.isLocalTime)(val)) {
|
|
38
|
+
return 'LocalTime';
|
|
39
|
+
}
|
|
40
|
+
if ((0, neo4j_driver_1.isTime)(val)) {
|
|
41
|
+
return 'Time';
|
|
42
|
+
}
|
|
43
|
+
if ((0, neo4j_driver_1.isDate)(val)) {
|
|
44
|
+
return 'Date';
|
|
45
|
+
}
|
|
46
|
+
if ((0, neo4j_driver_1.isLocalDateTime)(val)) {
|
|
47
|
+
return 'LocalDateTime';
|
|
48
|
+
}
|
|
49
|
+
if ((0, neo4j_driver_1.isDateTime)(val)) {
|
|
50
|
+
return 'DateTime';
|
|
51
|
+
}
|
|
52
|
+
if ((0, neo4j_driver_1.isInt)(val)) {
|
|
53
|
+
return 'Integer';
|
|
54
|
+
}
|
|
55
|
+
if ((0, neo4j_driver_1.isDuration)(val)) {
|
|
56
|
+
return 'Duration';
|
|
57
|
+
}
|
|
58
|
+
if ((0, neo4j_driver_1.isPoint)(val)) {
|
|
59
|
+
return 'Point';
|
|
60
|
+
}
|
|
61
|
+
if ((0, cypher_data_types_1.isInt8Array)(val)) {
|
|
62
|
+
return 'ByteArray';
|
|
63
|
+
}
|
|
64
|
+
return 'Unknown';
|
|
65
|
+
};
|
|
66
|
+
exports.getPropertyTypeDisplayName = getPropertyTypeDisplayName;
|
|
67
|
+
function getCypherTypeName(val) {
|
|
68
|
+
if (Array.isArray(val)) {
|
|
69
|
+
return 'List';
|
|
70
|
+
}
|
|
71
|
+
if ((0, cypher_data_types_1.isCypherBasicPropertyType)(val)) {
|
|
72
|
+
return (0, exports.getPropertyTypeDisplayName)(val);
|
|
73
|
+
}
|
|
74
|
+
if ((0, neo4j_driver_1.isNode)(val)) {
|
|
75
|
+
return 'Node';
|
|
76
|
+
}
|
|
77
|
+
if ((0, neo4j_driver_1.isRelationship)(val)) {
|
|
78
|
+
return 'Relationship';
|
|
79
|
+
}
|
|
80
|
+
if ((0, neo4j_driver_1.isPath)(val)) {
|
|
81
|
+
return 'Path';
|
|
82
|
+
}
|
|
83
|
+
return 'Map';
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=cypher-type-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cypher-type-names.js","sourceRoot":"","sources":["../../../../src/data-transforms/cypher-type-names.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const formatFloat: (anything: number) => string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatFloat = void 0;
|
|
4
|
+
const formatFloat = (anything) => {
|
|
5
|
+
if ([Infinity, -Infinity, NaN].includes(anything)) {
|
|
6
|
+
return `${anything}`;
|
|
7
|
+
}
|
|
8
|
+
if (Math.floor(anything) === anything) {
|
|
9
|
+
return `${anything}.0`;
|
|
10
|
+
}
|
|
11
|
+
return anything.toString();
|
|
12
|
+
};
|
|
13
|
+
exports.formatFloat = formatFloat;
|
|
14
|
+
//# sourceMappingURL=format-float.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-float.js","sourceRoot":"","sources":["../../../../src/data-transforms/format-float.ts"],"names":[],"mappings":";;;AAAO,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,OAAO,GAAG,QAAQ,EAAE,CAAC;IACvB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,GAAG,QAAQ,IAAI,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC,CAAC;AARW,QAAA,WAAW,eAQtB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CypherDataType, CypherProperty } from '../types/cypher-data-types';
|
|
2
|
+
export declare function propertyToString(property: CypherProperty, quoteStrings?: boolean): string;
|
|
3
|
+
export type CypherStringStyle = 'cypher' | 'cypher-with-ids';
|
|
4
|
+
export type StringStyle = 'json' | CypherStringStyle;
|
|
5
|
+
export declare const cypherDataToString: (map: CypherDataType, stringStyle?: StringStyle, quoteStrings?: boolean) => string;
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cypherDataToString = void 0;
|
|
4
|
+
exports.propertyToString = propertyToString;
|
|
5
|
+
const neo4j_driver_1 = require("neo4j-driver");
|
|
6
|
+
const cypher_data_types_1 = require("../types/cypher-data-types");
|
|
7
|
+
const format_float_1 = require("./format-float");
|
|
8
|
+
const spacialFormat = (p) => {
|
|
9
|
+
const zString = p.z !== undefined ? `, z:${p.z}` : '';
|
|
10
|
+
return `point({srid:${p.srid.toString()}, x:${p.x}, y:${p.y}${zString}})`;
|
|
11
|
+
};
|
|
12
|
+
function propertyToString(property, quoteStrings = true) {
|
|
13
|
+
if (Array.isArray(property)) {
|
|
14
|
+
return `[${property
|
|
15
|
+
.map((p) => propertyToString(p, quoteStrings))
|
|
16
|
+
.join(', ')}]`;
|
|
17
|
+
}
|
|
18
|
+
if (property === null) {
|
|
19
|
+
return 'null';
|
|
20
|
+
}
|
|
21
|
+
if (typeof property === 'boolean') {
|
|
22
|
+
return property.toString();
|
|
23
|
+
}
|
|
24
|
+
if ((0, neo4j_driver_1.isInt)(property)) {
|
|
25
|
+
return property.toString();
|
|
26
|
+
}
|
|
27
|
+
if (typeof property === 'bigint') {
|
|
28
|
+
return property.toString();
|
|
29
|
+
}
|
|
30
|
+
if (typeof property === 'number') {
|
|
31
|
+
return (0, format_float_1.formatFloat)(property);
|
|
32
|
+
}
|
|
33
|
+
if (typeof property === 'string') {
|
|
34
|
+
if (quoteStrings) {
|
|
35
|
+
return `"${property}"`;
|
|
36
|
+
}
|
|
37
|
+
return property;
|
|
38
|
+
}
|
|
39
|
+
if ((0, cypher_data_types_1.isInt8Array)(property)) {
|
|
40
|
+
return 'ByteArray';
|
|
41
|
+
}
|
|
42
|
+
if ((0, cypher_data_types_1.isCypherTemporalType)(property)) {
|
|
43
|
+
return property.toString();
|
|
44
|
+
}
|
|
45
|
+
if ((0, neo4j_driver_1.isPoint)(property)) {
|
|
46
|
+
return spacialFormat(property);
|
|
47
|
+
}
|
|
48
|
+
// This case shouldn't be used, but added as a fallback
|
|
49
|
+
return String(property);
|
|
50
|
+
}
|
|
51
|
+
const cypherShellStyleStringify = (value, { stringStyle, quoteStrings = true, }) => {
|
|
52
|
+
const includeIds = stringStyle === 'cypher-with-ids';
|
|
53
|
+
if ((0, neo4j_driver_1.isNode)(value)) {
|
|
54
|
+
const labels = value.labels.length > 0 ? `:${value.labels.join(':')}` : '';
|
|
55
|
+
const properties = Object.entries(value.properties)
|
|
56
|
+
.map(([key, val]) => {
|
|
57
|
+
return `${key}: ${propertyToString(val, quoteStrings)}`;
|
|
58
|
+
})
|
|
59
|
+
.concat(includeIds
|
|
60
|
+
? [
|
|
61
|
+
`<elementId>: "${value.elementId.toString()}", <id>: ${value.identity.toString()}`,
|
|
62
|
+
]
|
|
63
|
+
: [])
|
|
64
|
+
.join(', ');
|
|
65
|
+
const propertiesString = properties.length > 0 ? `{${properties}}` : '';
|
|
66
|
+
const space = labels.length > 0 && propertiesString.length > 0 ? ' ' : '';
|
|
67
|
+
return `(${labels}${space}${propertiesString})`;
|
|
68
|
+
}
|
|
69
|
+
else if ((0, neo4j_driver_1.isRelationship)(value)) {
|
|
70
|
+
const type = value.type ? `:${value.type}` : '';
|
|
71
|
+
const properties = Object.entries(value.properties)
|
|
72
|
+
.map(([key, val]) => {
|
|
73
|
+
return `${key}: ${propertyToString(val, quoteStrings)}`;
|
|
74
|
+
})
|
|
75
|
+
.concat(includeIds
|
|
76
|
+
? [
|
|
77
|
+
`<elementId>: ${quoteStrings
|
|
78
|
+
? `"${value.elementId.toString()}"`
|
|
79
|
+
: value.elementId.toString()}, <id>: ${value.identity.toString()}`,
|
|
80
|
+
]
|
|
81
|
+
: [])
|
|
82
|
+
.join(', ');
|
|
83
|
+
const propertiesString = properties.length > 0 ? ` {${properties}}` : '';
|
|
84
|
+
return `[${type}${propertiesString}]`;
|
|
85
|
+
}
|
|
86
|
+
else if ((0, neo4j_driver_1.isPath)(value)) {
|
|
87
|
+
if (value.segments.length === 0) {
|
|
88
|
+
return cypherShellStyleStringify(value.start, {
|
|
89
|
+
stringStyle,
|
|
90
|
+
quoteStrings,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return value.segments
|
|
94
|
+
.map((segment, index) => {
|
|
95
|
+
const result = [];
|
|
96
|
+
if (index === 0) {
|
|
97
|
+
result.push(cypherShellStyleStringify(segment.start, {
|
|
98
|
+
stringStyle,
|
|
99
|
+
quoteStrings,
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
if (segment.start.elementId === segment.relationship.startNodeElementId) {
|
|
103
|
+
result.push('-');
|
|
104
|
+
result.push(cypherShellStyleStringify(segment.relationship, {
|
|
105
|
+
stringStyle,
|
|
106
|
+
quoteStrings,
|
|
107
|
+
}));
|
|
108
|
+
result.push('->');
|
|
109
|
+
result.push(cypherShellStyleStringify(segment.end, {
|
|
110
|
+
stringStyle,
|
|
111
|
+
quoteStrings,
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
result.push('<-');
|
|
116
|
+
result.push(cypherShellStyleStringify(segment.relationship, {
|
|
117
|
+
stringStyle,
|
|
118
|
+
quoteStrings,
|
|
119
|
+
}));
|
|
120
|
+
result.push('-');
|
|
121
|
+
result.push(cypherShellStyleStringify(segment.end, {
|
|
122
|
+
stringStyle,
|
|
123
|
+
quoteStrings,
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
return result.join('');
|
|
127
|
+
})
|
|
128
|
+
.join('');
|
|
129
|
+
}
|
|
130
|
+
return '';
|
|
131
|
+
};
|
|
132
|
+
const recursiveStringify = (value, { indentationLevel = 0, quoteStrings = true, stringStyle = 'json', } = {}) => {
|
|
133
|
+
const indentation = ' '.repeat(indentationLevel);
|
|
134
|
+
const nextIndentationLevel = indentationLevel + 1;
|
|
135
|
+
const nextIdentation = ' '.repeat(nextIndentationLevel);
|
|
136
|
+
if ((0, cypher_data_types_1.isCypherPropertyType)(value)) {
|
|
137
|
+
return propertyToString(value, quoteStrings);
|
|
138
|
+
}
|
|
139
|
+
if (Array.isArray(value)) {
|
|
140
|
+
return `[
|
|
141
|
+
${value
|
|
142
|
+
.map((v) => `${nextIdentation}${recursiveStringify(v, {
|
|
143
|
+
indentationLevel: nextIndentationLevel,
|
|
144
|
+
quoteStrings,
|
|
145
|
+
})}`)
|
|
146
|
+
.join(',\n')}\n${indentation}]`;
|
|
147
|
+
}
|
|
148
|
+
// Now we have nodes, relationships, paths and cypher maps left.
|
|
149
|
+
// No special care for them stringify them as we would normal objects
|
|
150
|
+
// unless we are in cypher-shell style
|
|
151
|
+
if (stringStyle !== 'json' &&
|
|
152
|
+
((0, neo4j_driver_1.isNode)(value) || (0, neo4j_driver_1.isRelationship)(value) || (0, neo4j_driver_1.isPath)(value))) {
|
|
153
|
+
return cypherShellStyleStringify(value, { stringStyle, quoteStrings });
|
|
154
|
+
}
|
|
155
|
+
const entries = Object.entries(value);
|
|
156
|
+
if (entries.length === 0) {
|
|
157
|
+
return '{}';
|
|
158
|
+
}
|
|
159
|
+
return `{
|
|
160
|
+
${entries
|
|
161
|
+
.map(([key, val]) => {
|
|
162
|
+
return `${nextIdentation}${key}: ${recursiveStringify(val, {
|
|
163
|
+
indentationLevel: nextIndentationLevel,
|
|
164
|
+
quoteStrings,
|
|
165
|
+
})}`;
|
|
166
|
+
})
|
|
167
|
+
.join(',\n')}
|
|
168
|
+
${indentation}}`;
|
|
169
|
+
};
|
|
170
|
+
const cypherDataToString = (map, stringStyle = 'json', quoteStrings = true) => {
|
|
171
|
+
return recursiveStringify(map, { quoteStrings, stringStyle });
|
|
172
|
+
};
|
|
173
|
+
exports.cypherDataToString = cypherDataToString;
|
|
174
|
+
//# sourceMappingURL=record-to-string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-to-string.js","sourceRoot":"","sources":["../../../../src/data-transforms/record-to-string.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Date, DateTime, Duration, Integer, LocalDateTime, LocalTime, Point, Time } from 'neo4j-driver';
|
|
2
|
+
/**
|
|
3
|
+
The neo4j driver type mapping - https://neo4j.com/docs/javascript-manual/current/cypher-workflow/#js-driver-type-mapping
|
|
4
|
+
|
|
5
|
+
Star denotes custom driver class.
|
|
6
|
+
|
|
7
|
+
Cypher(neo4j) - Driver type(js)
|
|
8
|
+
null - null
|
|
9
|
+
List - array
|
|
10
|
+
Map - Object
|
|
11
|
+
Boolean - boolean
|
|
12
|
+
Integer - Integer*
|
|
13
|
+
Float - number
|
|
14
|
+
String - string
|
|
15
|
+
ByteArray - Int8Array
|
|
16
|
+
Date - Date*
|
|
17
|
+
Time - Time*
|
|
18
|
+
LocalTime - LocalTime*
|
|
19
|
+
DateTime - DateTime*
|
|
20
|
+
LocalDateTime - LocalDateTime*
|
|
21
|
+
Duration - Duration*
|
|
22
|
+
Point - Point*
|
|
23
|
+
Node - Node*
|
|
24
|
+
Relationship - Relationship*
|
|
25
|
+
Path - Path*
|
|
26
|
+
*/
|
|
27
|
+
export type CypherBasicPropertyType = null | boolean | number | string | Integer | bigint | Int8Array | CypherTemporalType | Point;
|
|
28
|
+
export type CypherTemporalType = Date | Time | DateTime | LocalTime | LocalDateTime | Duration;
|
|
29
|
+
export type CypherProperty = CypherBasicPropertyType | CypherBasicPropertyType[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cypher-data-types.js","sourceRoot":"","sources":["../../../../src/data-types/cypher-data-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { FRIENDLY_ERROR_MESSAGES } from './connectionErrorHandler';
|
|
2
|
+
export type { ConnectionError } from './connectionErrorHandler';
|
|
3
|
+
export { deserializeTypeAnnotations, serializeTypeAnnotations, } from './cypher-execution/query-result';
|
|
4
|
+
export type { Neo4jType } from './cypher-execution/query-result';
|
|
5
|
+
export { getCypherTypeName } from './data-transforms/cypher-type-names';
|
|
6
|
+
export type { CypherDataTypeName } from './data-transforms/cypher-type-names';
|
|
7
|
+
export { cypherDataToString } from './data-transforms/record-to-string';
|
|
8
|
+
export type { CypherProperty } from './data-types/cypher-data-types';
|
|
9
|
+
export type { ConnectedMetadataPoller as CypherMetadataPoller, DisconnectedMetadataPoller as EmptyMetadataPoller, MetadataPoller, } from './metadataPoller';
|
|
10
|
+
export type { Neo4jConnection, QueryResultWithLimit } from './neo4jConnection';
|
|
11
|
+
export type { Database } from './queries/databases';
|
|
12
|
+
export { Neo4jSchemaPoller } from './schemaPoller';
|
|
13
|
+
export type { ConnnectionResult } from './schemaPoller';
|
|
14
|
+
export type { CypherDataType } from './types/cypher-data-types';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Neo4jSchemaPoller = exports.cypherDataToString = exports.getCypherTypeName = exports.serializeTypeAnnotations = exports.deserializeTypeAnnotations = exports.FRIENDLY_ERROR_MESSAGES = void 0;
|
|
4
|
+
var connectionErrorHandler_1 = require("./connectionErrorHandler");
|
|
5
|
+
Object.defineProperty(exports, "FRIENDLY_ERROR_MESSAGES", { enumerable: true, get: function () { return connectionErrorHandler_1.FRIENDLY_ERROR_MESSAGES; } });
|
|
6
|
+
var query_result_1 = require("./cypher-execution/query-result");
|
|
7
|
+
Object.defineProperty(exports, "deserializeTypeAnnotations", { enumerable: true, get: function () { return query_result_1.deserializeTypeAnnotations; } });
|
|
8
|
+
Object.defineProperty(exports, "serializeTypeAnnotations", { enumerable: true, get: function () { return query_result_1.serializeTypeAnnotations; } });
|
|
9
|
+
var cypher_type_names_1 = require("./data-transforms/cypher-type-names");
|
|
10
|
+
Object.defineProperty(exports, "getCypherTypeName", { enumerable: true, get: function () { return cypher_type_names_1.getCypherTypeName; } });
|
|
11
|
+
var record_to_string_1 = require("./data-transforms/record-to-string");
|
|
12
|
+
Object.defineProperty(exports, "cypherDataToString", { enumerable: true, get: function () { return record_to_string_1.cypherDataToString; } });
|
|
13
|
+
var schemaPoller_1 = require("./schemaPoller");
|
|
14
|
+
Object.defineProperty(exports, "Neo4jSchemaPoller", { enumerable: true, get: function () { return schemaPoller_1.Neo4jSchemaPoller; } });
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;AAAA,mEAAmE;AAA1D,iIAAA,uBAAuB,OAAA;AAEhC,gEAGyC;AAFvC,0HAAA,0BAA0B,OAAA;AAC1B,wHAAA,wBAAwB,OAAA;AAG1B,yEAAwE;AAA/D,sHAAA,iBAAiB,OAAA;AAE1B,uEAAwE;AAA/D,sHAAA,kBAAkB,OAAA;AAS3B,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA"}
|