declastruct 1.1.10 → 1.1.12
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/dist/domain.objects/DeclastructDao.d.ts +11 -7
- package/dist/domain.objects/DeclastructDao.js.map +1 -1
- package/dist/domain.objects/DeclastructProvider.test.js +45 -0
- package/dist/domain.objects/DeclastructProvider.test.js.map +1 -1
- package/dist/domain.operations/plan/computeChange.js +12 -12
- package/dist/domain.operations/plan/computeChange.js.map +1 -1
- package/package.json +2 -2
|
@@ -2,37 +2,41 @@ import { DomainEntity, DomainLiteral, Ref, Refable, RefByPrimary, RefByUnique }
|
|
|
2
2
|
import { HasMetadata } from 'type-fns';
|
|
3
3
|
/**
|
|
4
4
|
* .what = standardized data access interface for any resource type
|
|
5
|
+
*
|
|
5
6
|
* .why = enforces idempotent semantics and consistent access patterns across all providers
|
|
6
|
-
*
|
|
7
|
+
*
|
|
8
|
+
* .note =
|
|
9
|
+
* - TResourceClass is the class constructor (e.g., typeof MyResource) with static unique/primary properties
|
|
10
|
+
* - uses method syntax in the get & set for bivariance, to enable assignment to DeclastructDao<any, any, any>
|
|
7
11
|
*/
|
|
8
12
|
export interface DeclastructDao<TResource extends DomainEntity<any>, TResourceClass extends Refable<any, any, any>, TContext = never> {
|
|
9
13
|
get: {
|
|
10
14
|
/**
|
|
11
15
|
* required - fetch by unique keys (enables idempotency)
|
|
12
16
|
*/
|
|
13
|
-
byUnique
|
|
17
|
+
byUnique(input: RefByUnique<TResourceClass>, context: TContext): Promise<TResource | null>;
|
|
14
18
|
/**
|
|
15
19
|
* optional - fetch by primary keys (if resource supports them)
|
|
16
20
|
*/
|
|
17
|
-
byPrimary
|
|
21
|
+
byPrimary?(input: RefByPrimary<TResourceClass>, context: TContext): Promise<TResource | null>;
|
|
18
22
|
/**
|
|
19
23
|
* required - fetch by any supported reference type
|
|
20
24
|
*/
|
|
21
|
-
byRef
|
|
25
|
+
byRef(input: Ref<TResourceClass>, context: TContext): Promise<TResource | null>;
|
|
22
26
|
};
|
|
23
27
|
set: {
|
|
24
28
|
/**
|
|
25
29
|
* required - find or insert resource (idempotent create)
|
|
26
30
|
*/
|
|
27
|
-
finsert
|
|
31
|
+
finsert(input: TResource, context: TContext): Promise<HasMetadata<TResource>>;
|
|
28
32
|
/**
|
|
29
33
|
* optional - create or update resource (idempotent upsert)
|
|
30
34
|
*/
|
|
31
|
-
upsert
|
|
35
|
+
upsert?(input: TResource, context: TContext): Promise<HasMetadata<TResource>>;
|
|
32
36
|
/**
|
|
33
37
|
* optional - delete resource
|
|
34
38
|
*/
|
|
35
|
-
delete
|
|
39
|
+
delete?(input: Ref<TResourceClass>, context: TContext): Promise<void>;
|
|
36
40
|
};
|
|
37
41
|
}
|
|
38
42
|
export declare class DeclastructDao<TResource extends DomainEntity<any>, TResourceClass extends Refable<any, any, any>, TContext> extends DomainLiteral<DeclastructDao<TResource, TResourceClass, TContext>> implements DeclastructDao<TResource, TResourceClass, TContext> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeclastructDao.js","sourceRoot":"","sources":["../../src/domain.objects/DeclastructDao.ts"],"names":[],"mappings":";;;AAAA,mDAOwB;
|
|
1
|
+
{"version":3,"file":"DeclastructDao.js","sourceRoot":"","sources":["../../src/domain.objects/DeclastructDao.ts"],"names":[],"mappings":";;;AAAA,mDAOwB;AAmExB,MAAa,cAKX,SAAQ,8BAAkE;CACT;AANnE,wCAMmE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const domain_objects_1 = require("domain-objects");
|
|
3
4
|
const DeclastructProvider_1 = require("./DeclastructProvider");
|
|
4
5
|
describe('DeclastructProvider', () => {
|
|
5
6
|
it('should build a provider with all required properties', () => {
|
|
@@ -31,5 +32,49 @@ describe('DeclastructProvider', () => {
|
|
|
31
32
|
});
|
|
32
33
|
expect(provider).toBeDefined();
|
|
33
34
|
});
|
|
35
|
+
describe('resource with optional primary key', () => {
|
|
36
|
+
class DemoResourceWithOptionalPrimary extends domain_objects_1.DomainEntity {
|
|
37
|
+
}
|
|
38
|
+
DemoResourceWithOptionalPrimary.primary = ['uuid'];
|
|
39
|
+
DemoResourceWithOptionalPrimary.unique = ['name'];
|
|
40
|
+
it('should work with daos that have optional primary keys and byPrimary defined', () => {
|
|
41
|
+
// define a dao for the resource with optional primary key
|
|
42
|
+
const demoDao = {
|
|
43
|
+
get: {
|
|
44
|
+
byUnique: async () => null,
|
|
45
|
+
byPrimary: async (input) => {
|
|
46
|
+
// input.uuid should be string (not string | undefined)
|
|
47
|
+
const uuid = input.uuid;
|
|
48
|
+
expect(uuid).toBeDefined();
|
|
49
|
+
return null;
|
|
50
|
+
},
|
|
51
|
+
byRef: async () => null,
|
|
52
|
+
},
|
|
53
|
+
set: {
|
|
54
|
+
finsert: async (r) => r,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
// build provider with the dao
|
|
58
|
+
const provider = new DeclastructProvider_1.DeclastructProvider({
|
|
59
|
+
name: 'optional-primary-key-provider',
|
|
60
|
+
daos: {
|
|
61
|
+
DemoResourceWithOptionalPrimary: demoDao,
|
|
62
|
+
},
|
|
63
|
+
context: {},
|
|
64
|
+
hooks: {
|
|
65
|
+
beforeAll: async () => { },
|
|
66
|
+
afterAll: async () => { },
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
// verify provider structure
|
|
70
|
+
expect(provider.name).toBe('optional-primary-key-provider');
|
|
71
|
+
expect(provider.daos.DemoResourceWithOptionalPrimary).toBeDefined();
|
|
72
|
+
// access dao to verify structure
|
|
73
|
+
const dao = provider.daos.DemoResourceWithOptionalPrimary;
|
|
74
|
+
expect(dao?.get.byPrimary).toBeDefined();
|
|
75
|
+
expect(dao?.get.byUnique).toBeDefined();
|
|
76
|
+
expect(dao?.set.finsert).toBeDefined();
|
|
77
|
+
});
|
|
78
|
+
});
|
|
34
79
|
});
|
|
35
80
|
//# sourceMappingURL=DeclastructProvider.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeclastructProvider.test.js","sourceRoot":"","sources":["../../src/domain.objects/DeclastructProvider.test.ts"],"names":[],"mappings":";;AAAA,+DAA4D;AAE5D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,QAAQ,GAAG,IAAI,yCAAmB,CAAC;YACvC,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACL,SAAS,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;gBACzB,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;aACzB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,0DAA0D;QAC1D,MAAM,QAAQ,GAAG,IAAI,yCAAmB,CAAC;YACvC,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACL,SAAS,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;gBACzB,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;aACzB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"DeclastructProvider.test.js","sourceRoot":"","sources":["../../src/domain.objects/DeclastructProvider.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,35 +8,35 @@ const DeclastructChange_1 = require("../../domain.objects/DeclastructChange");
|
|
|
8
8
|
/**
|
|
9
9
|
* .what = checks if two resources are equivalent
|
|
10
10
|
* .why = determines whether a resource needs to be updated
|
|
11
|
-
* .note = uses deterministic serialization for deep equality check, ignoring
|
|
11
|
+
* .note = uses deterministic serialization for deep equality check, ignoring readonly
|
|
12
12
|
*/
|
|
13
13
|
const checkAreResourcesEquivalent = (input) => {
|
|
14
|
-
// serialize both deterministically for deep comparison, omitting
|
|
15
|
-
const remoteSerialized = (0, domain_objects_1.serialize)((0, domain_objects_1.
|
|
16
|
-
const desiredSerialized = (0, domain_objects_1.serialize)((0, domain_objects_1.
|
|
14
|
+
// serialize both deterministically for deep comparison, omitting readonly
|
|
15
|
+
const remoteSerialized = (0, domain_objects_1.serialize)((0, domain_objects_1.omitReadonly)(input.remote));
|
|
16
|
+
const desiredSerialized = (0, domain_objects_1.serialize)((0, domain_objects_1.omitReadonly)(input.desired));
|
|
17
17
|
return remoteSerialized === desiredSerialized;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
20
|
* .what = computes human-readable diff between two resources
|
|
21
21
|
* .why = helps users understand what will change
|
|
22
|
-
* .note = returns null if resources are identical; for CREATE uses empty object to show all attributes; ignores
|
|
22
|
+
* .note = returns null if resources are identical; for CREATE uses empty object to show all attributes; ignores readonly
|
|
23
23
|
*/
|
|
24
24
|
const computeDiff = ({ from, into, }) => {
|
|
25
25
|
// no diff if both are null
|
|
26
26
|
if (from === null && into === null)
|
|
27
27
|
return null;
|
|
28
|
-
// check if resources are equivalent after omitting
|
|
28
|
+
// check if resources are equivalent after omitting readonly
|
|
29
29
|
if (from !== null && into !== null) {
|
|
30
|
-
const fromSerialized = (0, domain_objects_1.serialize)((0, domain_objects_1.
|
|
31
|
-
const intoSerialized = (0, domain_objects_1.serialize)((0, domain_objects_1.
|
|
30
|
+
const fromSerialized = (0, domain_objects_1.serialize)((0, domain_objects_1.omitReadonly)(from));
|
|
31
|
+
const intoSerialized = (0, domain_objects_1.serialize)((0, domain_objects_1.omitReadonly)(into));
|
|
32
32
|
if (fromSerialized === intoSerialized)
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
|
-
// omit
|
|
36
|
-
const
|
|
37
|
-
const
|
|
35
|
+
// omit readonly before diff
|
|
36
|
+
const fromWithoutReadonly = from === null ? {} : (0, domain_objects_1.omitReadonly)(from);
|
|
37
|
+
const intoWithoutReadonly = into === null ? {} : (0, domain_objects_1.omitReadonly)(into);
|
|
38
38
|
// compute diff using jest-diff
|
|
39
|
-
const difference = (0, jest_diff_1.diff)(
|
|
39
|
+
const difference = (0, jest_diff_1.diff)(fromWithoutReadonly, intoWithoutReadonly, {
|
|
40
40
|
aAnnotation: 'Remote',
|
|
41
41
|
bAnnotation: 'Desired',
|
|
42
42
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeChange.js","sourceRoot":"","sources":["../../../src/domain.operations/plan/computeChange.ts"],"names":[],"mappings":";;;AAAA,mDAKwB;AACxB,mDAAyD;AACzD,yCAAiC;AAEjC,8EAGgD;AAEhD;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,CAAC,KAGpC,EAAW,EAAE;IACZ,0EAA0E;IAC1E,MAAM,gBAAgB,GAAG,IAAA,0BAAS,EAAC,IAAA,
|
|
1
|
+
{"version":3,"file":"computeChange.js","sourceRoot":"","sources":["../../../src/domain.operations/plan/computeChange.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "declastruct",
|
|
3
3
|
"author": "ehmpathy",
|
|
4
4
|
"description": "Add declarative control to any resource constructs. Declare, plan, and apply within an observable pit-of-success.",
|
|
5
|
-
"version": "1.1.
|
|
5
|
+
"version": "1.1.12",
|
|
6
6
|
"repository": "ehmpathy/declastruct",
|
|
7
7
|
"homepage": "https://github.com/ehmpathy/declastruct",
|
|
8
8
|
"keywords": [
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"uuid-fns": "1.0.2"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
|
-
"domain-objects": "
|
|
67
|
+
"domain-objects": "0.31.0"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@commitlint/cli": "19.3.0",
|