@docstack/client 0.0.4 → 0.0.5

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 (54) hide show
  1. package/lib/core/attribute.js +406 -0
  2. package/lib/core/attribute.js.map +1 -0
  3. package/lib/core/class.d.ts +14 -15
  4. package/lib/core/class.js +761 -0
  5. package/lib/core/class.js.map +1 -0
  6. package/lib/core/crypto-engine/index.js +229 -0
  7. package/lib/core/crypto-engine/index.js.map +1 -0
  8. package/lib/core/crypto-engine/utils.js +88 -0
  9. package/lib/core/crypto-engine/utils.js.map +1 -0
  10. package/lib/core/datamodel/index.js +1308 -0
  11. package/lib/core/datamodel/index.js.map +1 -0
  12. package/lib/core/domain.d.ts +7 -8
  13. package/lib/core/domain.js +423 -0
  14. package/lib/core/domain.js.map +1 -0
  15. package/lib/core/index.js +520 -0
  16. package/lib/core/index.js.map +1 -0
  17. package/lib/core/job-engine/index.js +220 -0
  18. package/lib/core/job-engine/index.js.map +1 -0
  19. package/lib/core/policy-engine/index.js +232 -0
  20. package/lib/core/policy-engine/index.js.map +1 -0
  21. package/lib/core/query-engine/accumulators.js +258 -0
  22. package/lib/core/query-engine/accumulators.js.map +1 -0
  23. package/lib/core/query-engine/evaluator.js +179 -0
  24. package/lib/core/query-engine/evaluator.js.map +1 -0
  25. package/lib/core/query-engine/executor.js +405 -0
  26. package/lib/core/query-engine/executor.js.map +1 -0
  27. package/lib/core/query-engine/index.js +4 -0
  28. package/lib/core/query-engine/index.js.map +1 -0
  29. package/lib/core/query-engine/parser.js +515 -0
  30. package/lib/core/query-engine/parser.js.map +1 -0
  31. package/lib/core/query-engine/planner.js +330 -0
  32. package/lib/core/query-engine/planner.js.map +1 -0
  33. package/lib/core/stack.js +1817 -0
  34. package/lib/core/stack.js.map +1 -0
  35. package/lib/core/test-utils/docstack.js +222 -0
  36. package/lib/core/test-utils/docstack.js.map +1 -0
  37. package/lib/core/trigger/index.js +81 -0
  38. package/lib/core/trigger/index.js.map +1 -0
  39. package/lib/index.js +10 -4
  40. package/lib/index.js.map +1 -1
  41. package/lib/index.umd.js +10 -4
  42. package/lib/plugins/pouchdb.js +368 -0
  43. package/lib/plugins/pouchdb.js.map +1 -0
  44. package/lib/utils/crypto/index.js +34 -0
  45. package/lib/utils/crypto/index.js.map +1 -0
  46. package/lib/utils/index.js +58 -0
  47. package/lib/utils/index.js.map +1 -0
  48. package/lib/utils/logger/index.js +20 -0
  49. package/lib/utils/logger/index.js.map +1 -0
  50. package/lib/utils/logger/transport.js +28 -0
  51. package/lib/utils/logger/transport.js.map +1 -0
  52. package/lib/workers/dataModel.js +48 -0
  53. package/lib/workers/dataModel.js.map +1 -0
  54. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/datamodel/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { Document, Domain as Domain_, DomainModel, Stack, DomainRelationValidation, DomainRelationParams, Class, RelationDocument } from "@docstack/shared";
2
- import ClientStack from "./stack";
3
2
  import { Logger } from "winston";
4
3
  /**
5
4
  * Represents a relationship definition between two Classes in the DocStack database.
@@ -32,7 +31,7 @@ import { Logger } from "winston";
32
31
  */
33
32
  declare class Domain extends Domain_ {
34
33
  /** Reference to the parent stack instance. */
35
- stack: ClientStack | undefined;
34
+ stack: Stack | undefined;
36
35
  /** The name of this domain (e.g., 'ProjectTasks'). */
37
36
  name: string;
38
37
  /** The domain type (typically 'domain'). */
@@ -54,12 +53,12 @@ declare class Domain extends Domain_ {
54
53
  static logger: Logger;
55
54
  logger: Logger;
56
55
  private constructor();
57
- getStack: () => ClientStack;
56
+ getStack: () => Stack;
58
57
  getName: () => string;
59
58
  setId: (id: string) => void;
60
59
  setModel: (model?: DomainModel) => void;
61
60
  build: () => Promise<Domain>;
62
- init: (stack: ClientStack | null, id: string | null, name: string, type: DomainModel["~class"], relation: typeof this.relation, sourceClass: Class, targetClass: Class, description?: string) => void;
61
+ init: (stack: Stack | null, id: string | null, name: string, type: DomainModel["~class"], relation: typeof this.relation, sourceClass: Class, targetClass: Class, description?: string) => void;
63
62
  /**
64
63
  * Gets a Domain instance without persisting it to the database.
65
64
  * Use this for working with existing domain models or for testing.
@@ -76,7 +75,7 @@ declare class Domain extends Domain_ {
76
75
  * @param schema - Optional schema definition
77
76
  * @returns A new Domain instance (not persisted)
78
77
  */
79
- static get: (stack: ClientStack, id: string | null, name: string, type: DomainModel["~class"], relation: "1:1" | "1:N" | "N:1" | "N:N", sourceClass: Class, targetClass: Class, description?: string, schema?: DomainModel["schema"]) => Domain;
78
+ static get: (stack: Stack, id: string | null, name: string, type: DomainModel["~class"], relation: "1:1" | "1:N" | "N:1" | "N:N", sourceClass: Class, targetClass: Class, description?: string, schema?: DomainModel["schema"]) => Domain;
80
79
  /**
81
80
  * Creates a new domain and persists it to the database.
82
81
  * This is the primary factory method for creating new domains.
@@ -100,7 +99,7 @@ declare class Domain extends Domain_ {
100
99
  * );
101
100
  * ```
102
101
  */
103
- static create: (stack: ClientStack, id: string | null, name: string, type: DomainModel["~class"], relation: "1:1" | "1:N" | "N:1" | "N:N", sourceClass: Class, targetClass: Class, description?: string, schema?: DomainModel["schema"]) => Promise<Domain>;
102
+ static create: (stack: Stack, id: string | null, name: string, type: DomainModel["~class"], relation: "1:1" | "1:N" | "N:1" | "N:N", sourceClass: Class, targetClass: Class, description?: string, schema?: DomainModel["schema"]) => Promise<Domain>;
104
103
  /**
105
104
  * Builds a Domain instance from an existing DomainModel document.
106
105
  * Fetches the source and target classes and hydrates the domain.
@@ -110,7 +109,7 @@ declare class Domain extends Domain_ {
110
109
  * @returns The hydrated Domain instance
111
110
  * @throws Error if source or target class is not found
112
111
  */
113
- static buildFromModel: (stack: ClientStack, domainModel: DomainModel) => Promise<Domain>;
112
+ static buildFromModel: (stack: Stack, domainModel: DomainModel) => Promise<Domain>;
114
113
  /**
115
114
  * Fetches a domain by its name.
116
115
  * This is the most common way to retrieve an existing domain.
@@ -127,7 +126,7 @@ declare class Domain extends Domain_ {
127
126
  * }
128
127
  * ```
129
128
  */
130
- static fetch: (stack: ClientStack, domainName: string) => Promise<Domain>;
129
+ static fetch: (stack: Stack, domainName: string) => Promise<Domain>;
131
130
  /**
132
131
  * Returns the current DomainModel representation of this domain.
133
132
  * @returns The DomainModel document
@@ -0,0 +1,423 @@
1
+ var _a;
2
+ import { Domain as Domain_ } from "@docstack/shared";
3
+ import clientLogger from "../utils/logger";
4
+ /**
5
+ * Represents a relationship definition between two Classes in the DocStack database.
6
+ *
7
+ * A Domain defines how documents of different classes relate to each other,
8
+ * supporting cardinality constraints (1:1, 1:N, N:1, N:N). Relation documents
9
+ * are created to track the links between source and target documents.
10
+ *
11
+ * Use the static factory methods ({@link Domain.create}, {@link Domain.fetch}) to
12
+ * instantiate domains - the constructor is private.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * // Define a 1:N relationship between Projects and Tasks
17
+ * const projectTaskDomain = await Domain.create(
18
+ * stack,
19
+ * null,
20
+ * 'ProjectTasks',
21
+ * 'domain',
22
+ * '1:N',
23
+ * projectClass,
24
+ * taskClass
25
+ * );
26
+ *
27
+ * // Create a relation between a project and a task
28
+ * await projectTaskDomain.addRelation(taskDoc, 'Project-1');
29
+ * ```
30
+ *
31
+ * @extends Domain_
32
+ */
33
+ class Domain extends Domain_ {
34
+ constructor() {
35
+ super();
36
+ /** Current state indicating if the domain is processing an operation. */
37
+ this.state = "idle";
38
+ this.getStack = () => {
39
+ return this.stack;
40
+ };
41
+ this.getName = () => {
42
+ return this.name;
43
+ };
44
+ this.setId = (id) => {
45
+ this.id = id;
46
+ };
47
+ this.setModel = (model) => {
48
+ _a.logger.info("setModel - got incoming model", { model: model });
49
+ // Retreive current class model
50
+ let currentModel = this.getModel();
51
+ // Set model arg to the overwrite of the current model with the given one
52
+ model = Object.assign(currentModel, model);
53
+ this.id = model._id;
54
+ this.name = model.name;
55
+ this.description = model.description;
56
+ this.relation = model.relation;
57
+ this.type = model["~class"];
58
+ this.model = model;
59
+ _a.logger.info("setModel - model after processing", { model: model });
60
+ };
61
+ this.build = () => {
62
+ return new Promise(async (resolve, reject) => {
63
+ let stack = this.getStack();
64
+ if (stack) {
65
+ let domainModel = await stack.addDomain(this);
66
+ if (domainModel) {
67
+ // Hydrate model
68
+ this.setModel(domainModel);
69
+ _a.logger.info("build - domainModel", { domainModel });
70
+ this.setId(domainModel._id);
71
+ resolve(this);
72
+ }
73
+ else {
74
+ reject("Unable to get create domainModel. Check logs.");
75
+ }
76
+ }
77
+ else {
78
+ reject("Missing stack assignment");
79
+ }
80
+ });
81
+ };
82
+ this.init = (stack, id, name, type, relation, sourceClass, targetClass, description) => {
83
+ if (stack) {
84
+ this.stack = stack;
85
+ }
86
+ this.name = name;
87
+ this.id = id;
88
+ this.description = description;
89
+ this.type = type;
90
+ this.relation = relation;
91
+ this.sourceClass = sourceClass;
92
+ this.targetClass = targetClass;
93
+ this.setModel({
94
+ "~class": type, _id: id, active: true,
95
+ name, relation, sourceClass: sourceClass.id,
96
+ targetClass: targetClass.id, description,
97
+ });
98
+ this.logger = clientLogger(this.stack).child({ module: "domain", domainName: this.name });
99
+ };
100
+ /**
101
+ * Returns the current DomainModel representation of this domain.
102
+ * @returns The DomainModel document
103
+ */
104
+ this.getModel = () => {
105
+ let model = {
106
+ _id: this.id,
107
+ name: this.name,
108
+ description: this.description,
109
+ "~class": this.type,
110
+ relation: this.relation,
111
+ sourceClass: this.sourceClass.id,
112
+ targetClass: this.targetClass.id,
113
+ active: true,
114
+ _rev: this.model ? this.model._rev : "",
115
+ "~createTimestamp": this.model ? this.model["~createTimestamp"] : undefined,
116
+ };
117
+ return model;
118
+ };
119
+ this.requireStack = () => {
120
+ if (!this.stack) {
121
+ throw new Error(`Stack is not defined for Domain ${this.name}`);
122
+ }
123
+ return this.stack;
124
+ };
125
+ this.getDocumentRole = (doc) => {
126
+ if (doc["~class"] === this.sourceClass.getName()) {
127
+ return "source";
128
+ }
129
+ if (doc["~class"] === this.targetClass.getName()) {
130
+ return "target";
131
+ }
132
+ throw new Error(`Document of type '${doc["~class"]}' is not part of domain '${this.name}'.`);
133
+ };
134
+ this.assertReferenceAllowed = (role) => {
135
+ switch (this.relation) {
136
+ case "1:N":
137
+ if (role !== "target") {
138
+ throw new Error(`Documents of class '${this.sourceClass}' cannot hold reference attributes for domain '${this.name}'.`);
139
+ }
140
+ break;
141
+ case "N:1":
142
+ if (role !== "source") {
143
+ throw new Error(`Documents of class '${this.targetClass}' cannot hold reference attributes for domain '${this.name}'.`);
144
+ }
145
+ break;
146
+ case "1:1":
147
+ break;
148
+ case "N:N":
149
+ throw new Error(`Domain '${this.name}' does not support reference attributes.`);
150
+ default:
151
+ throw new Error(`Unsupported relation type ${this.relation}`);
152
+ }
153
+ };
154
+ this.buildRelationParams = (doc, referenceId, role) => {
155
+ if (!doc._id) {
156
+ throw new Error("Document is missing identifier.");
157
+ }
158
+ if (typeof referenceId !== "string" || referenceId.length === 0) {
159
+ throw new Error(`Invalid reference value provided for domain '${this.name}'.`);
160
+ }
161
+ if (role === "source") {
162
+ return {
163
+ sourceClass: this.sourceClass.id,
164
+ targetClass: this.targetClass.id,
165
+ sourceId: doc._id,
166
+ targetId: referenceId
167
+ };
168
+ }
169
+ return {
170
+ sourceClass: this.sourceClass.id,
171
+ targetClass: this.targetClass.id,
172
+ sourceId: referenceId,
173
+ targetId: doc._id
174
+ };
175
+ };
176
+ this.fetchReferenceDocument = async (referenceId, expectedType) => {
177
+ const stack = this.requireStack();
178
+ const referenceDoc = await stack.db.get(referenceId).catch(() => null);
179
+ if (!referenceDoc || referenceDoc["~class"] !== expectedType || referenceDoc.active === false) {
180
+ throw new Error(`Reference '${referenceId}' does not exist for class '${expectedType}'.`);
181
+ }
182
+ return referenceDoc;
183
+ };
184
+ this.findRelationDoc = async (selector) => {
185
+ const stack = this.requireStack();
186
+ const searchSelector = Object.assign({ "~domain": { $eq: this.name } }, selector);
187
+ const { docs } = await stack.findDocuments(searchSelector, undefined, 0, 1);
188
+ return docs[0] || null;
189
+ };
190
+ this.throwIfRelationExists = async (filter, params) => {
191
+ const relation = await this.findRelationDoc(filter);
192
+ if (relation) {
193
+ if (relation.sourceId === params.sourceId && relation.targetId === params.targetId) {
194
+ return relation;
195
+ }
196
+ throw new Error(`Domain '${this.name}' already contains a relation that violates cardinality constraints.`);
197
+ }
198
+ return null;
199
+ };
200
+ this.ensureCardinalityConstraints = async (params) => {
201
+ switch (this.relation) {
202
+ case "1:1":
203
+ await this.throwIfRelationExists({ sourceId: { $eq: params.sourceId } }, params);
204
+ await this.throwIfRelationExists({ targetId: { $eq: params.targetId } }, params);
205
+ break;
206
+ case "1:N":
207
+ await this.throwIfRelationExists({ targetId: { $eq: params.targetId } }, params);
208
+ break;
209
+ case "N:1":
210
+ await this.throwIfRelationExists({ sourceId: { $eq: params.sourceId } }, params);
211
+ break;
212
+ }
213
+ };
214
+ this.validateRelation = async (doc, referenceId) => {
215
+ const fnLogger = this.logger.child({ method: "validateRelation", args: { docId: doc._id, referenceId } });
216
+ const role = this.getDocumentRole(doc);
217
+ this.assertReferenceAllowed(role);
218
+ const expectedType = role === "source" ? this.targetClass.getName() : this.sourceClass.getName();
219
+ await this.fetchReferenceDocument(referenceId, expectedType);
220
+ const params = this.buildRelationParams(doc, referenceId, role);
221
+ const existing = await this.findRelationDoc({
222
+ sourceId: { $eq: params.sourceId },
223
+ targetId: { $eq: params.targetId },
224
+ });
225
+ if (existing) {
226
+ fnLogger.info("validateRelation - relation already exists");
227
+ return { params, exists: true, relation: existing };
228
+ }
229
+ await this.ensureCardinalityConstraints(params);
230
+ return { params, exists: false };
231
+ };
232
+ /**
233
+ * Retrieves relation documents for this domain.
234
+ *
235
+ * @param selector - Optional PouchDB/Mango selector for filtering
236
+ * @param fields - Optional list of fields to return
237
+ * @param skip - Number of documents to skip
238
+ * @param limit - Maximum number of documents to return
239
+ * @returns Array of matching relation documents
240
+ *
241
+ * @example
242
+ * ```typescript
243
+ * // Get all relations
244
+ * const allRelations = await domain.getRelations();
245
+ *
246
+ * // Get relations for a specific source
247
+ * const projectRelations = await domain.getRelations({ sourceId: { $eq: 'Project-1' } });
248
+ * ```
249
+ */
250
+ this.getRelations = async (selector, fields, skip, limit) => {
251
+ const stack = this.requireStack();
252
+ const _selector = Object.assign(Object.assign({}, (selector || {})), { "~domain": { $eq: this.name } });
253
+ _a.logger.info("getRelations - selector", { selector: _selector, fields, skip, limit });
254
+ const docs = (await stack.findDocuments(_selector, fields, skip, limit)).docs;
255
+ return docs;
256
+ };
257
+ /**
258
+ * Creates a relation between documents.
259
+ * Validates cardinality constraints before creating the relation.
260
+ *
261
+ * @param document - The document to link (source or target based on role)
262
+ * @param referenceId - The ID of the document to link to
263
+ * @returns The created relation document, or existing relation if already exists
264
+ *
265
+ * @example
266
+ * ```typescript
267
+ * // Link a task to a project (assuming 1:N from Project to Task)
268
+ * const relation = await projectTaskDomain.addRelation(taskDoc, 'Project-1');
269
+ * ```
270
+ */
271
+ this.addRelation = async (document, referenceId) => {
272
+ const fnLogger = this.logger.child({ method: "addRelation", args: { document, referenceId } });
273
+ const stack = this.requireStack();
274
+ const validation = await this.validateRelation(document, referenceId);
275
+ if (validation.exists) {
276
+ fnLogger.info("addRelation - relation already in place");
277
+ return validation.relation || null;
278
+ }
279
+ fnLogger.info("addRelation - relation validated");
280
+ const relationDoc = await stack.createRelationDoc(null, this.name, this, validation.params);
281
+ fnLogger.info("addRelation - relationDoc created", { relationDoc });
282
+ return relationDoc;
283
+ };
284
+ /**
285
+ * Deletes a relation between two documents by their IDs.
286
+ *
287
+ * @param sourceId - The source document ID
288
+ * @param targetId - The target document ID
289
+ * @returns `true` if deleted, `false` if relation not found
290
+ */
291
+ this.deleteRelation = async (sourceId, targetId) => {
292
+ const relation = await this.findRelationDoc({
293
+ sourceId: { $eq: sourceId },
294
+ targetId: { $eq: targetId },
295
+ });
296
+ if (!relation || !relation._id) {
297
+ return false;
298
+ }
299
+ return this.requireStack().deleteDocument(relation._id);
300
+ };
301
+ /**
302
+ * Deletes a relation document by its ID.
303
+ *
304
+ * @param relationDocId - The relation document ID to delete
305
+ * @returns `true` if deleted successfully
306
+ */
307
+ this.deleteRelationDoc = async (relationDocId) => {
308
+ return this.requireStack().deleteDocument(relationDocId);
309
+ };
310
+ }
311
+ }
312
+ _a = Domain;
313
+ Domain.logger = clientLogger().child({ module: "domain" });
314
+ /**
315
+ * Gets a Domain instance without persisting it to the database.
316
+ * Use this for working with existing domain models or for testing.
317
+ * Sets up a document change listener for real-time updates.
318
+ *
319
+ * @param stack - The parent stack instance
320
+ * @param id - The domain ID (or null for new domains)
321
+ * @param name - The domain name
322
+ * @param type - The domain type (typically 'domain')
323
+ * @param relation - The cardinality constraint
324
+ * @param sourceClass - The source Class in the relationship
325
+ * @param targetClass - The target Class in the relationship
326
+ * @param description - Optional description
327
+ * @param schema - Optional schema definition
328
+ * @returns A new Domain instance (not persisted)
329
+ */
330
+ Domain.get = (stack, id, name, type, relation, sourceClass, targetClass, description, schema = {}) => {
331
+ const domain_ = new _a();
332
+ _a.logger.info("Received schema", { schema });
333
+ domain_.init(stack, id, name, type, relation, sourceClass, targetClass, description);
334
+ // Add listener for new documents of this class type
335
+ domain_.stack.onClassDoc(name)
336
+ .on("change", (change) => {
337
+ const evt = new CustomEvent("doc", {
338
+ detail: change
339
+ });
340
+ domain_.dispatchEvent(evt);
341
+ });
342
+ return domain_;
343
+ };
344
+ /**
345
+ * Creates a new domain and persists it to the database.
346
+ * This is the primary factory method for creating new domains.
347
+ *
348
+ * @param stack - The parent stack instance
349
+ * @param id - The domain ID (typically null for auto-generation)
350
+ * @param name - The name for the new domain
351
+ * @param type - The domain type (typically 'domain')
352
+ * @param relation - The cardinality constraint: '1:1', '1:N', 'N:1', or 'N:N'
353
+ * @param sourceClass - The source Class in the relationship
354
+ * @param targetClass - The target Class in the relationship
355
+ * @param description - Optional description of the domain
356
+ * @param schema - Optional schema definition
357
+ * @returns The persisted Domain instance
358
+ *
359
+ * @example
360
+ * ```typescript
361
+ * const domain = await Domain.create(
362
+ * stack, null, 'UserProjects', 'domain', '1:N',
363
+ * userClass, projectClass, 'Users can have many projects'
364
+ * );
365
+ * ```
366
+ */
367
+ Domain.create = async (stack, id, name, type, relation, sourceClass, targetClass, description, schema = {}) => {
368
+ const domain_ = _a.get(stack, null, name, type, relation, sourceClass, targetClass, description, schema);
369
+ await domain_.build();
370
+ return domain_;
371
+ };
372
+ /**
373
+ * Builds a Domain instance from an existing DomainModel document.
374
+ * Fetches the source and target classes and hydrates the domain.
375
+ *
376
+ * @param stack - The parent stack instance
377
+ * @param domainModel - The DomainModel document from the database
378
+ * @returns The hydrated Domain instance
379
+ * @throws Error if source or target class is not found
380
+ */
381
+ Domain.buildFromModel = async (stack, domainModel) => {
382
+ _a.logger.info("buildFromModel - Instantiate from model", { domainModel });
383
+ const sourceClass = await stack.getClass(domainModel.sourceClass);
384
+ const targetClass = await stack.getClass(domainModel.targetClass);
385
+ if (!sourceClass || !targetClass) {
386
+ throw new Error("Source or target class not found for domain " + domainModel.name);
387
+ }
388
+ if (domainModel._rev) {
389
+ let classObj = _a.get(stack, domainModel._id, domainModel.name, domainModel["~class"], domainModel.relation, sourceClass, targetClass, domainModel.description, domainModel.schema);
390
+ return classObj;
391
+ }
392
+ else {
393
+ let classObj = await _a.create(stack, domainModel._id, domainModel.name, domainModel["~class"], domainModel.relation, sourceClass, targetClass, domainModel.description, domainModel.schema);
394
+ return classObj;
395
+ }
396
+ };
397
+ /**
398
+ * Fetches a domain by its name.
399
+ * This is the most common way to retrieve an existing domain.
400
+ *
401
+ * @param stack - The parent stack instance
402
+ * @param domainName - The domain name to fetch
403
+ * @returns The Domain instance, or `null` if not found
404
+ *
405
+ * @example
406
+ * ```typescript
407
+ * const domain = await Domain.fetch(stack, 'ProjectTasks');
408
+ * if (domain) {
409
+ * const relations = await domain.getRelations();
410
+ * }
411
+ * ```
412
+ */
413
+ Domain.fetch = async (stack, domainName) => {
414
+ let domainModel = await stack.getDomainModel(domainName);
415
+ if (domainModel) {
416
+ return _a.buildFromModel(stack, domainModel);
417
+ }
418
+ else {
419
+ return null;
420
+ }
421
+ };
422
+ export default Domain;
423
+ //# sourceMappingURL=domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../../src/core/domain.ts"],"names":[],"mappings":"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"}