@harperfast/harper-pro 5.0.6 → 5.0.7

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 (104) hide show
  1. package/core/bin/status.js +2 -2
  2. package/core/bin/stop.js +6 -5
  3. package/core/components/EntryHandler.ts +2 -4
  4. package/core/components/Scope.ts +1 -1
  5. package/core/components/componentLoader.ts +4 -11
  6. package/core/components/requestRestart.ts +2 -17
  7. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +25 -0
  8. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +34 -0
  9. package/core/package-lock.json +63 -971
  10. package/core/resources/DatabaseTransaction.ts +3 -8
  11. package/core/resources/Table.ts +17 -12
  12. package/core/resources/databases.ts +2 -2
  13. package/core/resources/graphql.ts +165 -163
  14. package/core/resources/indexes/HierarchicalNavigableSmallWorld.ts +3 -14
  15. package/core/resources/indexes/vector.ts +0 -17
  16. package/core/resources/loadEnv.ts +16 -20
  17. package/core/resources/login.ts +3 -4
  18. package/core/resources/roles.ts +65 -60
  19. package/core/security/auth.ts +14 -15
  20. package/core/security/jsLoader.ts +2 -14
  21. package/core/server/REST.ts +11 -10
  22. package/core/server/fastifyRoutes.ts +29 -30
  23. package/core/server/graphqlQuerying.ts +3 -4
  24. package/core/server/http.ts +1 -175
  25. package/core/server/mqtt.ts +2 -8
  26. package/core/server/serverHelpers/serverUtilities.ts +5 -2
  27. package/core/server/threads/threadServer.js +2 -30
  28. package/core/server/throttle.ts +0 -18
  29. package/core/utility/environment/environmentManager.js +4 -10
  30. package/core/utility/environment/systemInformation.js +355 -0
  31. package/core/utility/hdbTerms.ts +0 -1
  32. package/core/utility/operation_authorization.js +5 -2
  33. package/dist/core/bin/status.js +2 -2
  34. package/dist/core/bin/status.js.map +1 -1
  35. package/dist/core/bin/stop.js +5 -5
  36. package/dist/core/bin/stop.js.map +1 -1
  37. package/dist/core/components/EntryHandler.js +2 -4
  38. package/dist/core/components/EntryHandler.js.map +1 -1
  39. package/dist/core/components/Scope.js +1 -1
  40. package/dist/core/components/Scope.js.map +1 -1
  41. package/dist/core/components/componentLoader.js +3 -11
  42. package/dist/core/components/componentLoader.js.map +1 -1
  43. package/dist/core/components/requestRestart.js +1 -12
  44. package/dist/core/components/requestRestart.js.map +1 -1
  45. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +24 -0
  46. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js.map +1 -0
  47. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +19 -18
  48. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js.map +1 -1
  49. package/dist/core/resources/DatabaseTransaction.js +1 -6
  50. package/dist/core/resources/DatabaseTransaction.js.map +1 -1
  51. package/dist/core/resources/Table.js +18 -14
  52. package/dist/core/resources/Table.js.map +1 -1
  53. package/dist/core/resources/databases.js +1 -2
  54. package/dist/core/resources/databases.js.map +1 -1
  55. package/dist/core/resources/graphql.js +176 -176
  56. package/dist/core/resources/graphql.js.map +1 -1
  57. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js +2 -14
  58. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  59. package/dist/core/resources/indexes/vector.js +0 -14
  60. package/dist/core/resources/indexes/vector.js.map +1 -1
  61. package/dist/core/resources/loadEnv.js +17 -20
  62. package/dist/core/resources/loadEnv.js.map +1 -1
  63. package/dist/core/resources/login.js +4 -4
  64. package/dist/core/resources/login.js.map +1 -1
  65. package/dist/core/resources/roles.js +68 -64
  66. package/dist/core/resources/roles.js.map +1 -1
  67. package/dist/core/security/auth.js +15 -17
  68. package/dist/core/security/auth.js.map +1 -1
  69. package/dist/core/security/jsLoader.js +2 -16
  70. package/dist/core/security/jsLoader.js.map +1 -1
  71. package/dist/core/server/REST.js +11 -11
  72. package/dist/core/server/REST.js.map +1 -1
  73. package/dist/core/server/fastifyRoutes.js +29 -30
  74. package/dist/core/server/fastifyRoutes.js.map +1 -1
  75. package/dist/core/server/graphqlQuerying.js +4 -5
  76. package/dist/core/server/graphqlQuerying.js.map +1 -1
  77. package/dist/core/server/http.js +0 -179
  78. package/dist/core/server/http.js.map +1 -1
  79. package/dist/core/server/mqtt.js +3 -5
  80. package/dist/core/server/mqtt.js.map +1 -1
  81. package/dist/core/server/serverHelpers/serverUtilities.js +2 -2
  82. package/dist/core/server/serverHelpers/serverUtilities.js.map +1 -1
  83. package/dist/core/server/threads/threadServer.js +2 -26
  84. package/dist/core/server/threads/threadServer.js.map +1 -1
  85. package/dist/core/server/throttle.js +0 -17
  86. package/dist/core/server/throttle.js.map +1 -1
  87. package/dist/core/utility/environment/environmentManager.js +4 -9
  88. package/dist/core/utility/environment/environmentManager.js.map +1 -1
  89. package/dist/core/utility/environment/systemInformation.js +219 -359
  90. package/dist/core/utility/environment/systemInformation.js.map +1 -1
  91. package/dist/core/utility/hdbTerms.js +0 -1
  92. package/dist/core/utility/hdbTerms.js.map +1 -1
  93. package/dist/core/utility/operation_authorization.js +2 -2
  94. package/dist/core/utility/operation_authorization.js.map +1 -1
  95. package/npm-shrinkwrap.json +54 -974
  96. package/package.json +1 -2
  97. package/studio/web/assets/{index-qbLPhOzw.js → index-C0And10y.js} +2 -2
  98. package/studio/web/assets/{index-qbLPhOzw.js.map → index-C0And10y.js.map} +1 -1
  99. package/studio/web/index.html +1 -1
  100. package/core/dataLayer/harperBridge/TableSizeObject.ts +0 -35
  101. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.ts +0 -24
  102. package/core/utility/environment/systemInformation.ts +0 -698
  103. package/dist/core/dataLayer/harperBridge/TableSizeObject.js +0 -32
  104. package/dist/core/dataLayer/harperBridge/TableSizeObject.js.map +0 -1
@@ -335,7 +335,7 @@ function readRocksMetaDb(path, defaultTable, databaseName = DEFAULT_DATABASE_NAM
335
335
  initStores(path, rootStore, databaseName, defaultTable);
336
336
  }
337
337
  else {
338
- rootStore = openRocksDatabase(path, { disableWAL: false, enableStats: true });
338
+ rootStore = openRocksDatabase(path, { disableWAL: false });
339
339
  rocksdbDatabaseEnvs.set(path, rootStore);
340
340
  initStores(path, rootStore, databaseName, defaultTable);
341
341
  (0, replayLogs_ts_1.replayLogs)(rootStore, exports.databases[databaseName]);
@@ -648,7 +648,6 @@ function database({ database: databaseName, table: tableName }) {
648
648
  if (!rootStore || rootStore.status === 'closed') {
649
649
  rootStore = openRocksDatabase(path, {
650
650
  disableWAL: false,
651
- enableStats: true,
652
651
  });
653
652
  rocksdbDatabaseEnvs.set(path, rootStore);
654
653
  }
@@ -1 +1 @@
1
- {"version":3,"file":"databases.js","sourceRoot":"","sources":["../../../core/resources/databases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"databases.js","sourceRoot":"","sources":["../../../core/resources/databases.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadGQLSchema = void 0;
4
- exports.handleApplication = handleApplication;
3
+ exports.loadGQLSchema = exports.startOnMainThread = void 0;
4
+ exports.start = start;
5
5
  const path_1 = require("path");
6
6
  const node_vm_1 = require("node:vm");
7
7
  const databases_ts_1 = require("./databases.js");
@@ -23,201 +23,201 @@ server.knownGraphQLDirectives.push('table', 'sealed', 'export', 'primaryKey', 'i
23
23
  * @param filePath
24
24
  * @param resources
25
25
  */
26
- function handleApplication(scope) {
27
- scope.handleEntry(async (entry) => {
28
- if (entry.eventType === 'unlink')
29
- return;
30
- await processGraphQLSchema(entry.contents, entry.urlPath, entry.absolutePath, scope.resources);
31
- });
32
- }
33
- async function processGraphQLSchema(gqlContent, urlPath, filePath, resources) {
34
- // lazy load the graphql package so we don't load it for users that don't use graphql
35
- const { parse, Source, Kind } = await import('graphql');
36
- const ast = parse(new Source(gqlContent.toString(), filePath));
37
- const types = new Map();
38
- const tables = [];
39
- // we begin by iterating through the definitions in the AST to get the types and convert them
40
- // to a friendly format for table attributes
41
- for (const definition of ast.definitions) {
42
- switch (definition.kind) {
43
- case Kind.OBJECT_TYPE_DEFINITION:
44
- const typeName = definition.name.value;
45
- // use type name as the default table
46
- const properties = [];
47
- const typeDef = { table: null, database: null, properties };
48
- types.set(typeName, typeDef);
49
- resources.allTypes.set(typeName, typeDef);
50
- for (const directive of definition.directives) {
51
- const directiveName = directive.name.value;
52
- if (directiveName === 'table') {
53
- for (const arg of directive.arguments) {
54
- typeDef[arg.name.value] = arg.value.value;
26
+ function start({ ensureTable }) {
27
+ return {
28
+ handleFile,
29
+ setupFile: handleFile,
30
+ };
31
+ async function handleFile(gqlContent, urlPath, filePath, resources) {
32
+ // lazy load the graphql package so we don't load it for users that don't use graphql
33
+ const { parse, Source, Kind } = await import('graphql');
34
+ const ast = parse(new Source(gqlContent.toString(), filePath));
35
+ const types = new Map();
36
+ const tables = [];
37
+ // we begin by iterating through the definitions in the AST to get the types and convert them
38
+ // to a friendly format for table attributes
39
+ for (const definition of ast.definitions) {
40
+ switch (definition.kind) {
41
+ case Kind.OBJECT_TYPE_DEFINITION:
42
+ const typeName = definition.name.value;
43
+ // use type name as the default table
44
+ const properties = [];
45
+ const typeDef = { table: null, database: null, properties };
46
+ types.set(typeName, typeDef);
47
+ resources.allTypes.set(typeName, typeDef);
48
+ for (const directive of definition.directives) {
49
+ const directiveName = directive.name.value;
50
+ if (directiveName === 'table') {
51
+ for (const arg of directive.arguments) {
52
+ typeDef[arg.name.value] = arg.value.value;
53
+ }
54
+ if (typeDef.schema)
55
+ typeDef.database = typeDef.schema;
56
+ if (!typeDef.table)
57
+ typeDef.table = typeName;
58
+ if (typeDef.audit)
59
+ typeDef.audit = typeDef.audit !== 'false';
60
+ typeDef.attributes = typeDef.properties;
61
+ tables.push(typeDef);
55
62
  }
56
- if (typeDef.schema)
57
- typeDef.database = typeDef.schema;
58
- if (!typeDef.table)
59
- typeDef.table = typeName;
60
- if (typeDef.audit)
61
- typeDef.audit = typeDef.audit !== 'false';
62
- typeDef.attributes = typeDef.properties;
63
- tables.push(typeDef);
64
- }
65
- if (directive.name.value === 'sealed')
66
- typeDef.sealed = true;
67
- if (directive.name.value === 'splitSegments')
68
- typeDef.splitSegments = true;
69
- if (directive.name.value === 'replicate')
70
- typeDef.replicate = true;
71
- if (directive.name.value === 'export') {
72
- typeDef.export = true;
73
- for (const arg of directive.arguments) {
74
- if (typeof typeDef.export !== 'object')
75
- typeDef.export = {};
76
- typeDef.export[arg.name.value] = arg.value.value;
63
+ if (directive.name.value === 'sealed')
64
+ typeDef.sealed = true;
65
+ if (directive.name.value === 'splitSegments')
66
+ typeDef.splitSegments = true;
67
+ if (directive.name.value === 'replicate')
68
+ typeDef.replicate = true;
69
+ if (directive.name.value === 'export') {
70
+ typeDef.export = true;
71
+ for (const arg of directive.arguments) {
72
+ if (typeof typeDef.export !== 'object')
73
+ typeDef.export = {};
74
+ typeDef.export[arg.name.value] = arg.value.value;
75
+ }
77
76
  }
78
77
  }
79
- }
80
- let hasPrimaryKey = false;
81
- function getProperty(type) {
82
- if (type.kind === 'NonNullType') {
83
- const property = getProperty(type.type);
84
- property.nullable = false;
78
+ let hasPrimaryKey = false;
79
+ function getProperty(type) {
80
+ if (type.kind === 'NonNullType') {
81
+ const property = getProperty(type.type);
82
+ property.nullable = false;
83
+ return property;
84
+ }
85
+ if (type.kind === 'ListType') {
86
+ return {
87
+ type: 'array',
88
+ elements: getProperty(type.type),
89
+ };
90
+ }
91
+ const typeName = type.name?.value;
92
+ const property = { type: typeName };
93
+ Object.defineProperty(property, 'location', { value: type.loc.startToken });
85
94
  return property;
86
95
  }
87
- if (type.kind === 'ListType') {
88
- return {
89
- type: 'array',
90
- elements: getProperty(type.type),
91
- };
92
- }
93
- const typeName = type.name?.value;
94
- const property = { type: typeName };
95
- Object.defineProperty(property, 'location', { value: type.loc.startToken });
96
- return property;
97
- }
98
- const attributesObject = {};
99
- for (const field of definition.fields) {
100
- const property = getProperty(field.type);
101
- property.name = field.name.value;
102
- properties.push(property);
103
- attributesObject[property.name] = undefined; // this is used as a backup scope for computed properties
104
- for (const directive of field.directives) {
105
- const directiveName = directive.name.value;
106
- if (directiveName === 'primaryKey') {
107
- if (hasPrimaryKey)
108
- console.warn('Can not define two attributes as a primary key at', directive.loc);
109
- else {
110
- property.isPrimaryKey = true;
111
- hasPrimaryKey = true;
96
+ const attributesObject = {};
97
+ for (const field of definition.fields) {
98
+ const property = getProperty(field.type);
99
+ property.name = field.name.value;
100
+ properties.push(property);
101
+ attributesObject[property.name] = undefined; // this is used as a backup scope for computed properties
102
+ for (const directive of field.directives) {
103
+ const directiveName = directive.name.value;
104
+ if (directiveName === 'primaryKey') {
105
+ if (hasPrimaryKey)
106
+ console.warn('Can not define two attributes as a primary key at', directive.loc);
107
+ else {
108
+ property.isPrimaryKey = true;
109
+ hasPrimaryKey = true;
110
+ }
112
111
  }
113
- }
114
- else if (directiveName === 'indexed') {
115
- const indexedDefinition = {};
116
- // store indexed arguments for configurable indexes.
117
- for (const arg of directive.arguments || []) {
118
- indexedDefinition[arg.name.value] = arg.value.value;
112
+ else if (directiveName === 'indexed') {
113
+ const indexedDefinition = {};
114
+ // store indexed arguments for configurable indexes.
115
+ for (const arg of directive.arguments || []) {
116
+ indexedDefinition[arg.name.value] = arg.value.value;
117
+ }
118
+ property.indexed = indexedDefinition;
119
119
  }
120
- property.indexed = indexedDefinition;
121
- }
122
- else if (directiveName === 'computed') {
123
- for (const arg of directive.arguments || []) {
124
- if (arg.name.value === 'from') {
125
- const computedFromExpression = arg.value.value;
126
- property.computed = {
127
- from: createComputedFrom(computedFromExpression, arg, attributesObject),
128
- };
129
- // if the version is not defined, we use the computed from expression as the version, any changes to the computed from expression will trigger a version change and reindex
130
- if (property.version == undefined)
131
- property.version = computedFromExpression;
120
+ else if (directiveName === 'computed') {
121
+ for (const arg of directive.arguments || []) {
122
+ if (arg.name.value === 'from') {
123
+ const computedFromExpression = arg.value.value;
124
+ property.computed = {
125
+ from: createComputedFrom(computedFromExpression, arg, attributesObject),
126
+ };
127
+ // if the version is not defined, we use the computed from expression as the version, any changes to the computed from expression will trigger a version change and reindex
128
+ if (property.version == undefined)
129
+ property.version = computedFromExpression;
130
+ }
131
+ else if (arg.name.value === 'version') {
132
+ property.version = arg.value.value;
133
+ }
132
134
  }
133
- else if (arg.name.value === 'version') {
134
- property.version = arg.value.value;
135
+ property.computed = property.computed || true;
136
+ }
137
+ else if (directiveName === 'relationship') {
138
+ const relationshipDefinition = {};
139
+ for (const arg of directive.arguments) {
140
+ relationshipDefinition[arg.name.value] = arg.value.value;
135
141
  }
142
+ property.relationship = relationshipDefinition;
136
143
  }
137
- property.computed = property.computed || true;
138
- }
139
- else if (directiveName === 'relationship') {
140
- const relationshipDefinition = {};
141
- for (const arg of directive.arguments) {
142
- relationshipDefinition[arg.name.value] = arg.value.value;
144
+ else if (directiveName === 'createdTime') {
145
+ property.assignCreatedTime = true;
143
146
  }
144
- property.relationship = relationshipDefinition;
145
- }
146
- else if (directiveName === 'createdTime') {
147
- property.assignCreatedTime = true;
148
- }
149
- else if (directiveName === 'updatedTime') {
150
- property.assignUpdatedTime = true;
151
- }
152
- else if (directiveName === 'expiresAt') {
153
- property.expiresAt = true;
154
- }
155
- else if (directiveName === 'enumerable') {
156
- property.enumerable = true;
157
- }
158
- else if (directiveName === 'allow') {
159
- const authorizedRoles = (property.authorizedRoles = []);
160
- for (const arg of directive.arguments) {
161
- if (arg.name.value === 'role') {
162
- authorizedRoles.push(arg.value.value);
147
+ else if (directiveName === 'updatedTime') {
148
+ property.assignUpdatedTime = true;
149
+ }
150
+ else if (directiveName === 'expiresAt') {
151
+ property.expiresAt = true;
152
+ }
153
+ else if (directiveName === 'enumerable') {
154
+ property.enumerable = true;
155
+ }
156
+ else if (directiveName === 'allow') {
157
+ const authorizedRoles = (property.authorizedRoles = []);
158
+ for (const arg of directive.arguments) {
159
+ if (arg.name.value === 'role') {
160
+ authorizedRoles.push(arg.value.value);
161
+ }
163
162
  }
164
163
  }
165
- }
166
- else if (server.knownGraphQLDirectives.includes(directiveName)) {
167
- console.warn(`@${directiveName} is an unknown directive, at`, directive.loc);
164
+ else if (server.knownGraphQLDirectives.includes(directiveName)) {
165
+ console.warn(`@${directiveName} is an unknown directive, at`, directive.loc);
166
+ }
168
167
  }
169
168
  }
170
- }
171
- typeDef.type = typeName;
169
+ typeDef.type = typeName;
170
+ }
172
171
  }
173
- }
174
- // check the types and if any types reference other types, fill those in.
175
- function connectPropertyType(property) {
176
- const targetTypeDef = types.get(property.type);
177
- if (targetTypeDef) {
178
- Object.defineProperty(property, 'properties', { value: targetTypeDef.properties });
179
- Object.defineProperty(property, 'definition', { value: targetTypeDef });
172
+ // check the types and if any types reference other types, fill those in.
173
+ function connectPropertyType(property) {
174
+ const targetTypeDef = types.get(property.type);
175
+ if (targetTypeDef) {
176
+ Object.defineProperty(property, 'properties', { value: targetTypeDef.properties });
177
+ Object.defineProperty(property, 'definition', { value: targetTypeDef });
178
+ }
179
+ else if (property.type === 'array')
180
+ connectPropertyType(property.elements);
181
+ else if (!PRIMITIVE_TYPES.includes(property.type)) {
182
+ if ((0, manageThreads_js_1.getWorkerIndex)() === 0)
183
+ console.error(`The type ${property.type} is unknown at line ${property.location.line}, column ${property.location.column}, in ${filePath}`);
184
+ }
180
185
  }
181
- else if (property.type === 'array')
182
- connectPropertyType(property.elements);
183
- else if (!PRIMITIVE_TYPES.includes(property.type)) {
184
- if ((0, manageThreads_js_1.getWorkerIndex)() === 0)
185
- console.error(`The type ${property.type} is unknown at line ${property.location.line}, column ${property.location.column}, in ${filePath}`);
186
+ for (const typeDef of types.values()) {
187
+ for (const property of typeDef.properties)
188
+ connectPropertyType(property);
186
189
  }
187
- }
188
- for (const typeDef of types.values()) {
189
- for (const property of typeDef.properties)
190
- connectPropertyType(property);
191
- }
192
- // any tables that are defined in the schema can now be registered
193
- for (const typeDef of tables) {
194
- // with graphql database definitions, this is a declaration that the table should exist and that it
195
- // should be created if it does not exist
196
- typeDef.tableClass = (0, databases_ts_1.table)(typeDef);
197
- if (typeDef.export) {
198
- // allow empty string to be used to declare a table on the root path
199
- if (typeDef.export.name === '')
200
- resources.set((0, path_1.dirname)(urlPath), typeDef.tableClass);
201
- else
202
- resources.set((0, path_1.dirname)(urlPath) + '/' + (typeDef.export.name || typeDef.type), typeDef.tableClass, typeDef.export);
190
+ // any tables that are defined in the schema can now be registered
191
+ for (const typeDef of tables) {
192
+ // with graphql database definitions, this is a declaration that the table should exist and that it
193
+ // should be created if it does not exist
194
+ typeDef.tableClass = ensureTable(typeDef);
195
+ if (typeDef.export) {
196
+ // allow empty string to be used to declare a table on the root path
197
+ if (typeDef.export.name === '')
198
+ resources.set((0, path_1.dirname)(urlPath), typeDef.tableClass);
199
+ else
200
+ resources.set((0, path_1.dirname)(urlPath) + '/' + (typeDef.export.name || typeDef.type), typeDef.tableClass, typeDef.export);
201
+ }
202
+ }
203
+ function createComputedFrom(computedFrom, arg, attributes) {
204
+ // Create a function from a computed "from" directive. This can look like:
205
+ // @computed(from: "fieldOne + fieldTwo")
206
+ // We use Node's built-in Script class to compile the function and run it in the context of the record object, which allows us to specify the source
207
+ const script = new node_vm_1.Script(
208
+ // we use the inner with statement to allow the computed function to access the record object's properties directly as top level names
209
+ // we use the outer with statement with attributes as a fallback so any access to an attribute that isn't defined on the record still returns undefined (instead of a ReferenceError)
210
+ `function computed(attributes) { return function(record) { with(attributes) { with (record) { return ${computedFrom}; } } } } computed;`, {
211
+ filename: filePath, // specify the file path and line position for better error messages/debugging
212
+ lineOffset: arg.loc.startToken.line - 1,
213
+ columnOffset: arg.loc.startToken.column,
214
+ });
215
+ return script.runInThisContext()(attributes); // run the script in the context of the current context/global and return the function we defined
203
216
  }
204
- }
205
- function createComputedFrom(computedFrom, arg, attributes) {
206
- // Create a function from a computed "from" directive. This can look like:
207
- // @computed(from: "fieldOne + fieldTwo")
208
- // We use Node's built-in Script class to compile the function and run it in the context of the record object, which allows us to specify the source
209
- const script = new node_vm_1.Script(
210
- // we use the inner with statement to allow the computed function to access the record object's properties directly as top level names
211
- // we use the outer with statement with attributes as a fallback so any access to an attribute that isn't defined on the record still returns undefined (instead of a ReferenceError)
212
- `function computed(attributes) { return function(record) { with(attributes) { with (record) { return ${computedFrom}; } } } } computed;`, {
213
- filename: filePath, // specify the file path and line position for better error messages/debugging
214
- lineOffset: arg.loc.startToken.line - 1,
215
- columnOffset: arg.loc.startToken.column,
216
- });
217
- return script.runInThisContext()(attributes); // run the script in the context of the current context/global and return the function we defined
218
217
  }
219
218
  }
219
+ exports.startOnMainThread = start;
220
220
  // useful for testing
221
- const loadGQLSchema = (content) => processGraphQLSchema(content, null, null, new Resources_ts_1.Resources());
221
+ const loadGQLSchema = (content) => start({ ensureTable: databases_ts_1.table }).handleFile(content, null, null, new Resources_ts_1.Resources());
222
222
  exports.loadGQLSchema = loadGQLSchema;
223
223
  //# sourceMappingURL=graphql.js.map