conftree 0.2.0 → 0.3.0
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/README.md +42 -3
- package/dist/core/errors.d.ts +4 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +7 -1
- package/dist/core/errors.js.map +1 -1
- package/dist/engine/resolver.d.ts +1 -0
- package/dist/engine/resolver.d.ts.map +1 -1
- package/dist/engine/resolver.js +1 -0
- package/dist/engine/resolver.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +93 -18
- package/dist/index.mjs.map +1 -1
- package/dist/storage/memory-storage.d.ts +3 -1
- package/dist/storage/memory-storage.d.ts.map +1 -1
- package/dist/storage/memory-storage.js +26 -5
- package/dist/storage/memory-storage.js.map +1 -1
- package/dist/storage/storage-port.d.ts +3 -1
- package/dist/storage/storage-port.d.ts.map +1 -1
- package/dist/typed/category-guard.d.ts +9 -0
- package/dist/typed/category-guard.d.ts.map +1 -0
- package/dist/typed/category-guard.js +23 -0
- package/dist/typed/category-guard.js.map +1 -0
- package/dist/typed/registry.d.ts +8 -3
- package/dist/typed/registry.d.ts.map +1 -1
- package/dist/typed/typed-auditor.d.ts +3 -1
- package/dist/typed/typed-auditor.d.ts.map +1 -1
- package/dist/typed/typed-auditor.js +5 -2
- package/dist/typed/typed-auditor.js.map +1 -1
- package/dist/typed/typed-engine.d.ts +2 -0
- package/dist/typed/typed-engine.d.ts.map +1 -1
- package/dist/typed/typed-engine.js +13 -5
- package/dist/typed/typed-engine.js.map +1 -1
- package/dist/typed/typed-resolver.d.ts +4 -1
- package/dist/typed/typed-resolver.d.ts.map +1 -1
- package/dist/typed/typed-resolver.js +12 -3
- package/dist/typed/typed-resolver.js.map +1 -1
- package/dist/typed/typed-writer.d.ts +3 -1
- package/dist/typed/typed-writer.d.ts.map +1 -1
- package/dist/typed/typed-writer.js +9 -4
- package/dist/typed/typed-writer.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,10 +2,12 @@ import type { Engine } from '../engine/engine';
|
|
|
2
2
|
import { TypedResolver } from './typed-resolver';
|
|
3
3
|
import { TypedWriter } from './typed-writer';
|
|
4
4
|
import { TypedAuditor } from './typed-auditor';
|
|
5
|
+
import type { KeysInCategory } from './registry';
|
|
5
6
|
export interface TypedEngine<Registry> {
|
|
6
7
|
resolver: TypedResolver<Registry>;
|
|
7
8
|
writer: TypedWriter<Registry>;
|
|
8
9
|
auditor: TypedAuditor<Registry>;
|
|
10
|
+
category<C extends string>(category: C): TypedEngine<KeysInCategory<Registry, C>>;
|
|
9
11
|
}
|
|
10
12
|
export declare function createTypedEngine<Registry>(engine: Engine): TypedEngine<Registry>;
|
|
11
13
|
//# sourceMappingURL=typed-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-engine.d.ts","sourceRoot":"","sources":["../../src/typed/typed-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,WAAW,CAAC,QAAQ;IACpC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"typed-engine.d.ts","sourceRoot":"","sources":["../../src/typed/typed-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,WAAW,CAAC,QAAQ;IACpC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,QAAQ,CAAC,CAAC,SAAS,MAAM,EACxB,QAAQ,EAAE,CAAC,GACT,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EACzC,MAAM,EAAE,MAAM,GACZ,WAAW,CAAC,QAAQ,CAAC,CAkBvB"}
|
|
@@ -4,11 +4,19 @@ exports.createTypedEngine = createTypedEngine;
|
|
|
4
4
|
const typed_resolver_1 = require("./typed-resolver");
|
|
5
5
|
const typed_writer_1 = require("./typed-writer");
|
|
6
6
|
const typed_auditor_1 = require("./typed-auditor");
|
|
7
|
+
const category_guard_1 = require("./category-guard");
|
|
7
8
|
function createTypedEngine(engine) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
function build(fixedCategory) {
|
|
10
|
+
const guard = fixedCategory
|
|
11
|
+
? new category_guard_1.CategoryGuard(engine.storage, fixedCategory)
|
|
12
|
+
: undefined;
|
|
13
|
+
return {
|
|
14
|
+
resolver: new typed_resolver_1.TypedResolver(engine.resolver, fixedCategory, guard),
|
|
15
|
+
writer: new typed_writer_1.TypedWriter(engine.writer, guard),
|
|
16
|
+
auditor: new typed_auditor_1.TypedAuditor(engine.auditor, guard),
|
|
17
|
+
category: (category) => build(category),
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return build();
|
|
13
21
|
}
|
|
14
22
|
//# sourceMappingURL=typed-engine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-engine.js","sourceRoot":"","sources":["../../src/typed/typed-engine.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"typed-engine.js","sourceRoot":"","sources":["../../src/typed/typed-engine.ts"],"names":[],"mappings":";;AAgBA,8CAoBC;AAnCD,qDAAiD;AACjD,iDAA6C;AAC7C,mDAA+C;AAC/C,qDAAiD;AAYjD,SAAgB,iBAAiB,CAChC,MAAc;IAEd,SAAS,KAAK,CAAI,aAAsB;QACvC,MAAM,KAAK,GAAG,aAAa;YAC1B,CAAC,CAAC,IAAI,8BAAa,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;YAClD,CAAC,CAAC,SAAS,CAAC;QACb,OAAO;YACN,QAAQ,EAAE,IAAI,8BAAa,CAC1B,MAAM,CAAC,QAAQ,EACf,aAAa,EACb,KAAK,CACL;YACD,MAAM,EAAE,IAAI,0BAAW,CAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;YAChD,OAAO,EAAE,IAAI,4BAAY,CAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;YACnD,QAAQ,EAAE,CAAmB,QAAW,EAAE,EAAE,CAC3C,KAAK,CAAuB,QAAQ,CAAC;SACtC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,EAAY,CAAC;AAC1B,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { Scope } from '../core/types';
|
|
2
2
|
import type { Resolver } from '../engine/resolver';
|
|
3
|
+
import type { CategoryGuard } from './category-guard';
|
|
3
4
|
import type { SettingScopeKind, SettingValue } from './registry';
|
|
4
5
|
export declare class TypedResolver<Registry> {
|
|
5
6
|
private readonly resolver;
|
|
6
|
-
|
|
7
|
+
private readonly fixedCategory?;
|
|
8
|
+
private readonly guard?;
|
|
9
|
+
constructor(resolver: Resolver, fixedCategory?: string | undefined, guard?: CategoryGuard | undefined);
|
|
7
10
|
get<K extends keyof Registry & string>(key: K, scope: Scope & {
|
|
8
11
|
kind: SettingScopeKind<Registry, K>;
|
|
9
12
|
}, asOf?: Date): Promise<SettingValue<Registry, K>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-resolver.d.ts","sourceRoot":"","sources":["../../src/typed/typed-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE,qBAAa,aAAa,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"typed-resolver.d.ts","sourceRoot":"","sources":["../../src/typed/typed-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE,qBAAa,aAAa,CAAC,QAAQ;IAEjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAFN,QAAQ,EAAE,QAAQ,EAClB,aAAa,CAAC,EAAE,MAAM,YAAA,EACtB,KAAK,CAAC,EAAE,aAAa,YAAA;IAGjC,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,GAAG,MAAM,EAC1C,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,KAAK,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;KAAE,EACtD,IAAI,CAAC,EAAE,IAAI,GACT,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAO/B,OAAO,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,EAC3D,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,IAAI,GACT,OAAO,CAAC;SAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;KAAE,CAAC;IAMrD,MAAM,CACX,KAAK,EAAE,KAAK,EACZ,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAC5C,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;aACf,CAAC,IAAI,MAAM,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzD,CAAC,CAAC;QACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;CAYF"}
|
|
@@ -3,18 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TypedResolver = void 0;
|
|
4
4
|
class TypedResolver {
|
|
5
5
|
resolver;
|
|
6
|
-
|
|
6
|
+
fixedCategory;
|
|
7
|
+
guard;
|
|
8
|
+
constructor(resolver, fixedCategory, guard) {
|
|
7
9
|
this.resolver = resolver;
|
|
10
|
+
this.fixedCategory = fixedCategory;
|
|
11
|
+
this.guard = guard;
|
|
8
12
|
}
|
|
9
|
-
get(key, scope, asOf) {
|
|
13
|
+
async get(key, scope, asOf) {
|
|
14
|
+
await this.guard?.assert(key);
|
|
10
15
|
return this.resolver.get(key, scope, asOf);
|
|
11
16
|
}
|
|
12
17
|
async getMany(keys, scope, asOf) {
|
|
18
|
+
await this.guard?.assertAll(keys);
|
|
13
19
|
const result = await this.resolver.getMany([...keys], scope, asOf);
|
|
14
20
|
return result;
|
|
15
21
|
}
|
|
16
22
|
async listAt(scope, opts = {}) {
|
|
17
|
-
const page = await this.resolver.listAt(scope,
|
|
23
|
+
const page = await this.resolver.listAt(scope, {
|
|
24
|
+
...opts,
|
|
25
|
+
category: this.fixedCategory,
|
|
26
|
+
});
|
|
18
27
|
return page;
|
|
19
28
|
}
|
|
20
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-resolver.js","sourceRoot":"","sources":["../../src/typed/typed-resolver.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"typed-resolver.js","sourceRoot":"","sources":["../../src/typed/typed-resolver.ts"],"names":[],"mappings":";;;AAKA,MAAa,aAAa;IAEP;IACA;IACA;IAHlB,YACkB,QAAkB,EAClB,aAAsB,EACtB,KAAqB;QAFrB,aAAQ,GAAR,QAAQ,CAAU;QAClB,kBAAa,GAAb,aAAa,CAAS;QACtB,UAAK,GAAL,KAAK,CAAgB;IACpC,CAAC;IAEJ,KAAK,CAAC,GAAG,CACR,GAAM,EACN,KAAsD,EACtD,IAAW;QAEX,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAExC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,IAAO,EACP,KAAY,EACZ,IAAW;QAEX,MAAM,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACnE,OAAO,MAAyD,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CACX,KAAY,EACZ,OAA4C,EAAE;QAO9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE;YAC9C,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC5B,CAAC,CAAC;QACH,OAAO,IAKN,CAAC;IACH,CAAC;CACD;AAhDD,sCAgDC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Scope, ValueRecord } from '../core/types';
|
|
2
2
|
import type { Writer } from '../engine/writer';
|
|
3
|
+
import type { CategoryGuard } from './category-guard';
|
|
3
4
|
import type { SettingScopeKind, SettingValue } from './registry';
|
|
4
5
|
export interface TypedSetParams<Registry, K extends keyof Registry & string> {
|
|
5
6
|
key: K;
|
|
@@ -22,7 +23,8 @@ export interface TypedUnsetParams<Registry, K extends keyof Registry & string> {
|
|
|
22
23
|
}
|
|
23
24
|
export declare class TypedWriter<Registry> {
|
|
24
25
|
private readonly writer;
|
|
25
|
-
|
|
26
|
+
private readonly guard?;
|
|
27
|
+
constructor(writer: Writer, guard?: CategoryGuard | undefined);
|
|
26
28
|
set<K extends keyof Registry & string>(params: TypedSetParams<Registry, K>): Promise<ValueRecord>;
|
|
27
29
|
setMany(paramsList: {
|
|
28
30
|
[K in keyof Registry & string]: TypedSetParams<Registry, K>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-writer.d.ts","sourceRoot":"","sources":["../../src/typed/typed-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAa,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,cAAc,CAAC,QAAQ,EAAE,CAAC,SAAS,MAAM,QAAQ,GAAG,MAAM;IAC1E,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,KAAK,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;KAAE,CAAC;IACvD,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB,CAAC,QAAQ,EAAE,CAAC,SAAS,MAAM,QAAQ,GAAG,MAAM;IAC5E,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,KAAK,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;KAAE,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,WAAW,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"typed-writer.d.ts","sourceRoot":"","sources":["../../src/typed/typed-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAa,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,cAAc,CAAC,QAAQ,EAAE,CAAC,SAAS,MAAM,QAAQ,GAAG,MAAM;IAC1E,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,KAAK,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;KAAE,CAAC;IACvD,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB,CAAC,QAAQ,EAAE,CAAC,SAAS,MAAM,QAAQ,GAAG,MAAM;IAC5E,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,KAAK,GAAG;QAAE,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;KAAE,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,WAAW,CAAC,QAAQ;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBADN,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,aAAa,YAAA;IAGjC,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,GAAG,MAAM,EAC1C,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC;IAKjB,OAAO,CACZ,UAAU,EAAE;SACV,CAAC,IAAI,MAAM,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3D,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,GAC1B,OAAO,CAAC,WAAW,EAAE,CAAC;IAKnB,KAAK,CAAC,CAAC,SAAS,MAAM,QAAQ,GAAG,MAAM,EAC5C,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;CAIhB"}
|
|
@@ -3,16 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TypedWriter = void 0;
|
|
4
4
|
class TypedWriter {
|
|
5
5
|
writer;
|
|
6
|
-
|
|
6
|
+
guard;
|
|
7
|
+
constructor(writer, guard) {
|
|
7
8
|
this.writer = writer;
|
|
9
|
+
this.guard = guard;
|
|
8
10
|
}
|
|
9
|
-
set(params) {
|
|
11
|
+
async set(params) {
|
|
12
|
+
await this.guard?.assert(params.key);
|
|
10
13
|
return this.writer.set(params);
|
|
11
14
|
}
|
|
12
|
-
setMany(paramsList) {
|
|
15
|
+
async setMany(paramsList) {
|
|
16
|
+
await this.guard?.assertAll(paramsList.map((p) => p.key));
|
|
13
17
|
return this.writer.setMany(paramsList);
|
|
14
18
|
}
|
|
15
|
-
unset(params) {
|
|
19
|
+
async unset(params) {
|
|
20
|
+
await this.guard?.assert(params.key);
|
|
16
21
|
return this.writer.unset(params);
|
|
17
22
|
}
|
|
18
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-writer.js","sourceRoot":"","sources":["../../src/typed/typed-writer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"typed-writer.js","sourceRoot":"","sources":["../../src/typed/typed-writer.ts"],"names":[],"mappings":";;;AAsBA,MAAa,WAAW;IAEL;IACA;IAFlB,YACkB,MAAc,EACd,KAAqB;QADrB,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;IACpC,CAAC;IAEJ,KAAK,CAAC,GAAG,CACR,MAAmC;QAEnC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAA8B,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,OAAO,CACZ,UAE4B;QAE5B,MAAM,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAoC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,KAAK,CACV,MAAqC;QAErC,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;CACD;AA5BD,kCA4BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "conftree",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Generic hierarchical configuration engine with arbitrary scopes, inheritance, caching, and audit. Zero required dependencies: works standalone or with any storage/pub-sub backend via simple ports.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|