@harperfast/harper-pro 5.0.4 → 5.0.6

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 (120) hide show
  1. package/core/AGENTS.md +107 -0
  2. package/core/CLAUDE.md +1 -0
  3. package/core/bin/status.js +2 -2
  4. package/core/bin/stop.js +5 -6
  5. package/core/components/EntryHandler.ts +4 -2
  6. package/core/components/Scope.ts +1 -1
  7. package/core/components/componentLoader.ts +11 -4
  8. package/core/components/requestRestart.ts +17 -2
  9. package/core/dataLayer/harperBridge/TableSizeObject.ts +35 -0
  10. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.ts +24 -0
  11. package/core/package-lock.json +1043 -112
  12. package/core/resources/DatabaseTransaction.ts +8 -3
  13. package/core/resources/Table.ts +12 -17
  14. package/core/resources/databases.ts +2 -2
  15. package/core/resources/graphql.ts +163 -165
  16. package/core/resources/indexes/HierarchicalNavigableSmallWorld.ts +14 -3
  17. package/core/resources/indexes/vector.ts +17 -0
  18. package/core/resources/loadEnv.ts +20 -16
  19. package/core/resources/login.ts +4 -3
  20. package/core/resources/roles.ts +60 -65
  21. package/core/security/auth.ts +15 -14
  22. package/core/security/jsLoader.ts +27 -9
  23. package/core/security/keys.js +1 -1
  24. package/core/server/REST.ts +10 -11
  25. package/core/server/fastifyRoutes.ts +30 -29
  26. package/core/server/graphqlQuerying.ts +4 -3
  27. package/core/server/http.ts +175 -1
  28. package/core/server/mqtt.ts +8 -2
  29. package/core/server/serverHelpers/serverUtilities.ts +2 -5
  30. package/core/server/threads/threadServer.js +30 -2
  31. package/core/server/throttle.ts +18 -0
  32. package/core/utility/environment/environmentManager.js +10 -4
  33. package/core/utility/environment/systemInformation.ts +698 -0
  34. package/core/utility/hdbTerms.ts +1 -0
  35. package/core/utility/operation_authorization.js +2 -5
  36. package/dist/core/bin/status.js +2 -2
  37. package/dist/core/bin/status.js.map +1 -1
  38. package/dist/core/bin/stop.js +5 -5
  39. package/dist/core/bin/stop.js.map +1 -1
  40. package/dist/core/components/EntryHandler.js +4 -2
  41. package/dist/core/components/EntryHandler.js.map +1 -1
  42. package/dist/core/components/Scope.js +1 -1
  43. package/dist/core/components/Scope.js.map +1 -1
  44. package/dist/core/components/componentLoader.js +11 -3
  45. package/dist/core/components/componentLoader.js.map +1 -1
  46. package/dist/core/components/requestRestart.js +12 -1
  47. package/dist/core/components/requestRestart.js.map +1 -1
  48. package/dist/core/dataLayer/harperBridge/TableSizeObject.js +32 -0
  49. package/dist/core/dataLayer/harperBridge/TableSizeObject.js.map +1 -0
  50. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +18 -19
  51. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js.map +1 -1
  52. package/dist/core/resources/DatabaseTransaction.js +6 -1
  53. package/dist/core/resources/DatabaseTransaction.js.map +1 -1
  54. package/dist/core/resources/Table.js +14 -18
  55. package/dist/core/resources/Table.js.map +1 -1
  56. package/dist/core/resources/databases.js +2 -1
  57. package/dist/core/resources/databases.js.map +1 -1
  58. package/dist/core/resources/graphql.js +176 -176
  59. package/dist/core/resources/graphql.js.map +1 -1
  60. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js +14 -2
  61. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  62. package/dist/core/resources/indexes/vector.js +14 -0
  63. package/dist/core/resources/indexes/vector.js.map +1 -1
  64. package/dist/core/resources/loadEnv.js +20 -17
  65. package/dist/core/resources/loadEnv.js.map +1 -1
  66. package/dist/core/resources/login.js +4 -4
  67. package/dist/core/resources/login.js.map +1 -1
  68. package/dist/core/resources/roles.js +64 -68
  69. package/dist/core/resources/roles.js.map +1 -1
  70. package/dist/core/security/auth.js +17 -15
  71. package/dist/core/security/auth.js.map +1 -1
  72. package/dist/core/security/jsLoader.js +29 -9
  73. package/dist/core/security/jsLoader.js.map +1 -1
  74. package/dist/core/security/keys.js +1 -1
  75. package/dist/core/server/REST.js +11 -11
  76. package/dist/core/server/REST.js.map +1 -1
  77. package/dist/core/server/fastifyRoutes.js +30 -29
  78. package/dist/core/server/fastifyRoutes.js.map +1 -1
  79. package/dist/core/server/graphqlQuerying.js +5 -4
  80. package/dist/core/server/graphqlQuerying.js.map +1 -1
  81. package/dist/core/server/http.js +179 -0
  82. package/dist/core/server/http.js.map +1 -1
  83. package/dist/core/server/mqtt.js +5 -3
  84. package/dist/core/server/mqtt.js.map +1 -1
  85. package/dist/core/server/serverHelpers/serverUtilities.js +2 -2
  86. package/dist/core/server/serverHelpers/serverUtilities.js.map +1 -1
  87. package/dist/core/server/threads/threadServer.js +26 -2
  88. package/dist/core/server/threads/threadServer.js.map +1 -1
  89. package/dist/core/server/throttle.js +17 -0
  90. package/dist/core/server/throttle.js.map +1 -1
  91. package/dist/core/utility/environment/environmentManager.js +9 -4
  92. package/dist/core/utility/environment/environmentManager.js.map +1 -1
  93. package/dist/core/utility/environment/systemInformation.js +359 -219
  94. package/dist/core/utility/environment/systemInformation.js.map +1 -1
  95. package/dist/core/utility/hdbTerms.js +1 -0
  96. package/dist/core/utility/hdbTerms.js.map +1 -1
  97. package/dist/core/utility/operation_authorization.js +2 -2
  98. package/dist/core/utility/operation_authorization.js.map +1 -1
  99. package/dist/licensing/usageLicensing.js +1 -1
  100. package/dist/licensing/usageLicensing.js.map +1 -1
  101. package/dist/replication/replicationConnection.js +1 -0
  102. package/dist/replication/replicationConnection.js.map +1 -1
  103. package/dist/replication/setNode.js +1 -1
  104. package/dist/replication/setNode.js.map +1 -1
  105. package/dist/replication/subscriptionManager.js +1 -0
  106. package/dist/replication/subscriptionManager.js.map +1 -1
  107. package/licensing/usageLicensing.ts +1 -1
  108. package/npm-shrinkwrap.json +1880 -891
  109. package/package.json +14 -13
  110. package/replication/replicationConnection.ts +1 -0
  111. package/replication/setNode.ts +1 -1
  112. package/replication/subscriptionManager.ts +1 -0
  113. package/studio/web/assets/{index-CjeZNBFc.js → index-qbLPhOzw.js} +2 -2
  114. package/studio/web/assets/{index-CjeZNBFc.js.map → index-qbLPhOzw.js.map} +1 -1
  115. package/studio/web/index.html +1 -1
  116. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +0 -25
  117. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +0 -34
  118. package/core/utility/environment/systemInformation.js +0 -355
  119. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +0 -24
  120. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/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 });
338
+ rootStore = openRocksDatabase(path, { disableWAL: false, enableStats: true });
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,6 +648,7 @@ 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,
651
652
  });
652
653
  rocksdbDatabaseEnvs.set(path, rootStore);
653
654
  }
@@ -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 = exports.startOnMainThread = void 0;
4
- exports.start = start;
3
+ exports.loadGQLSchema = void 0;
4
+ exports.handleApplication = handleApplication;
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 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);
62
- }
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
- }
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;
76
55
  }
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);
77
64
  }
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;
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;
84
77
  }
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 });
78
+ }
79
+ }
80
+ let hasPrimaryKey = false;
81
+ function getProperty(type) {
82
+ if (type.kind === 'NonNullType') {
83
+ const property = getProperty(type.type);
84
+ property.nullable = false;
94
85
  return property;
95
86
  }
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
- }
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;
111
112
  }
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;
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;
119
119
  }
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
- }
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;
134
132
  }
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;
133
+ else if (arg.name.value === 'version') {
134
+ property.version = arg.value.value;
141
135
  }
142
- property.relationship = relationshipDefinition;
143
- }
144
- else if (directiveName === 'createdTime') {
145
- property.assignCreatedTime = true;
146
136
  }
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;
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;
155
143
  }
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
- }
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);
162
163
  }
163
164
  }
164
- else if (server.knownGraphQLDirectives.includes(directiveName)) {
165
- console.warn(`@${directiveName} is an unknown directive, at`, directive.loc);
166
- }
165
+ }
166
+ else if (server.knownGraphQLDirectives.includes(directiveName)) {
167
+ console.warn(`@${directiveName} is an unknown directive, at`, directive.loc);
167
168
  }
168
169
  }
169
- typeDef.type = typeName;
170
- }
171
- }
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
- }
170
+ }
171
+ typeDef.type = typeName;
185
172
  }
186
- for (const typeDef of types.values()) {
187
- for (const property of typeDef.properties)
188
- connectPropertyType(property);
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 });
189
180
  }
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
- }
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}`);
202
186
  }
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
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);
216
203
  }
217
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
+ }
218
219
  }
219
- exports.startOnMainThread = start;
220
220
  // useful for testing
221
- const loadGQLSchema = (content) => start({ ensureTable: databases_ts_1.table }).handleFile(content, null, null, new Resources_ts_1.Resources());
221
+ const loadGQLSchema = (content) => processGraphQLSchema(content, null, null, new Resources_ts_1.Resources());
222
222
  exports.loadGQLSchema = loadGQLSchema;
223
223
  //# sourceMappingURL=graphql.js.map