field-guard 0.1.0 → 0.2.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/dist/defineGuard.d.ts +1 -1
- package/dist/defineGuard.d.ts.map +1 -1
- package/dist/defineGuard.js.map +1 -1
- package/dist/mergeFieldVerdicts.d.ts +19 -0
- package/dist/mergeFieldVerdicts.d.ts.map +1 -1
- package/dist/mergeFieldVerdicts.js +13 -0
- package/dist/mergeFieldVerdicts.js.map +1 -1
- package/package.json +2 -1
package/dist/defineGuard.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export type GuardChain<C, L extends string, F extends string, R extends Record<s
|
|
|
24
24
|
check: (target: T) => M;
|
|
25
25
|
}, HasDerive, true>;
|
|
26
26
|
} : {});
|
|
27
|
-
export declare function defineGuard<L extends string,
|
|
27
|
+
export declare function defineGuard<C>(): <L extends string, F extends string>(params: {
|
|
28
28
|
fields: F[];
|
|
29
29
|
policy: FieldPolicy<L, F>;
|
|
30
30
|
}) => GuardChain<C, L, F, Record<string, never>, false, false>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineGuard.d.ts","sourceRoot":"","sources":["../src/defineGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAiB,KAAK,WAAW,EAAkB,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAEtH,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI;IACvD,GAAG,EAAE,CAAC,CAAC;IACP,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,aAAa,EAAE,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;CACtG,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAEtF,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IAC1F,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI;IAC1D,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,UAAU,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,aAAa,EAAE,CAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;CACtG,CAAC;AAEF,MAAM,MAAM,UAAU,CACpB,CAAC,EACD,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,SAAS,OAAO,GAAG,KAAK,EACjC,UAAU,SAAS,OAAO,GAAG,KAAK,IAEhC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GACf;IACA,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;CAChB,GACC,CAAC,SAAS,SAAS,KAAK,GAAG;IACzB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAClC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;CACjD,GACC,EAAE,CAAC,GACL,CAAC,UAAU,SAAS,KAAK,GAAG;IAC1B,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAChB,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KACpC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG;QAAE,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;KAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;CAC5E,GACC,EAAE,CAAC,CAAC;AAsEV,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"defineGuard.d.ts","sourceRoot":"","sources":["../src/defineGuard.ts"],"names":[],"mappings":"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"}
|
package/dist/defineGuard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineGuard.js","sourceRoot":"","sources":["../src/defineGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA+B,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAA6E,MAAM,YAAY,CAAC;AA8CtH,SAAS,eAAe,CACtB,MAAyB,EACzB,MAAW;IAEX,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,MAAW,CAAC;QAC1B,MAAM,IAAI,GAAG,KAAwC,CAAC;QACtD,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACxG,MAAM,aAAa,GAAG,eAAe;YACnC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAkC,CACX,CAAC;AAC7B,CAAC;AAED,SAAS,WAAW,CAQlB,MAAW,EACX,UAAiC,EACjC,aAAoG,EACpG,QAA6E,EAC7E,SAAgE;IAEhE,OAAO;QACL,MAAM;QACN,UAAU;QACV,aAAa;QACb,UAAU,CAAoC,EAAmC;YAC/E,MAAM,YAAY,GAAG,QAAQ,CAAC;YAC9B,MAAM,YAAY,GAAG,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC;gBAClD,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,GAAG,EAAE,CAAC,CAAC,CAAC;aACT,CAAC,CAAC;YACH,OAAO,WAAW,CAAmC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACnH,CAAC;QACD,SAAS;YACP,OAAO,CAAI,EAAuC,EAAE,EAAE;gBACpD,OAAO,WAAW,CAChB,MAAM,EACN,UAAU,EACV,aAAa,EACb,QAAQ,EACR,EAAE,CACH,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,GAAM;YACR,MAAM,UAAU,GAAwB,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;YACnF,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,SAAS;gBACtB,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,MAAW,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE;gBAC9E,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;YACnB,OAAO,MAAW,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"defineGuard.js","sourceRoot":"","sources":["../src/defineGuard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import { FieldVerdict } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* フィールド判定のマージモード。
|
|
4
|
+
*
|
|
5
|
+
* - `"union"` — いずれかの判定で許可されていればフィールドを許可する(和集合)
|
|
6
|
+
* - `"intersection"` — すべての判定で許可されている場合のみフィールドを許可する(積集合)
|
|
7
|
+
*/
|
|
2
8
|
export type MergeFieldVerdictsMode = "union" | "intersection";
|
|
9
|
+
/**
|
|
10
|
+
* 複数の {@link FieldVerdict} を指定されたモードでマージし、単一の判定結果を返す。
|
|
11
|
+
*
|
|
12
|
+
* - `"union"` モード: いずれかの判定が許可しているフィールドを許可する
|
|
13
|
+
* - `"intersection"` モード: すべての判定が許可しているフィールドのみ許可する
|
|
14
|
+
* - `verdicts` が空の場合、許可フィールドなしの判定を返す
|
|
15
|
+
*
|
|
16
|
+
* @typeParam F - フィールド名を表す文字列リテラル型
|
|
17
|
+
* @param mode - マージモード(`"union"` または `"intersection"`)
|
|
18
|
+
* @param verdicts - マージ対象の判定結果の配列
|
|
19
|
+
* @param fields - 判定対象となるフィールドの全体集合
|
|
20
|
+
* @returns マージされた単一の {@link FieldVerdict}
|
|
21
|
+
*/
|
|
3
22
|
export declare function mergeFieldVerdicts<F extends string>(mode: MergeFieldVerdictsMode, verdicts: FieldVerdict<F>[], fields: F[]): FieldVerdict<F>;
|
|
4
23
|
//# sourceMappingURL=mergeFieldVerdicts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeFieldVerdicts.d.ts","sourceRoot":"","sources":["../src/mergeFieldVerdicts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,cAAc,CAAC;AAE9D,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACjD,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC3B,MAAM,EAAE,CAAC,EAAE,GACV,YAAY,CAAC,CAAC,CAAC,CAYjB"}
|
|
1
|
+
{"version":3,"file":"mergeFieldVerdicts.d.ts","sourceRoot":"","sources":["../src/mergeFieldVerdicts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,cAAc,CAAC;AAE9D;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACjD,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC3B,MAAM,EAAE,CAAC,EAAE,GACV,YAAY,CAAC,CAAC,CAAC,CAYjB"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import { createVerdict } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* 複数の {@link FieldVerdict} を指定されたモードでマージし、単一の判定結果を返す。
|
|
4
|
+
*
|
|
5
|
+
* - `"union"` モード: いずれかの判定が許可しているフィールドを許可する
|
|
6
|
+
* - `"intersection"` モード: すべての判定が許可しているフィールドのみ許可する
|
|
7
|
+
* - `verdicts` が空の場合、許可フィールドなしの判定を返す
|
|
8
|
+
*
|
|
9
|
+
* @typeParam F - フィールド名を表す文字列リテラル型
|
|
10
|
+
* @param mode - マージモード(`"union"` または `"intersection"`)
|
|
11
|
+
* @param verdicts - マージ対象の判定結果の配列
|
|
12
|
+
* @param fields - 判定対象となるフィールドの全体集合
|
|
13
|
+
* @returns マージされた単一の {@link FieldVerdict}
|
|
14
|
+
*/
|
|
2
15
|
export function mergeFieldVerdicts(mode, verdicts, fields) {
|
|
3
16
|
if (verdicts.length === 0) {
|
|
4
17
|
return createVerdict([]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeFieldVerdicts.js","sourceRoot":"","sources":["../src/mergeFieldVerdicts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"mergeFieldVerdicts.js","sourceRoot":"","sources":["../src/mergeFieldVerdicts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AAUzD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAA4B,EAC5B,QAA2B,EAC3B,MAAW;IAEX,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,aAAa,CAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAElE,MAAM,aAAa,GAAG,IAAI,KAAK,OAAO;QACpC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjE,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC;AACtC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "field-guard",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "A lightweight, fully type-safe, field-level access control library for TypeScript",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"sideEffects": false,
|
|
40
40
|
"devDependencies": {
|
|
41
|
+
"release-it": "^19.2.4",
|
|
41
42
|
"typescript": "^5.8.3",
|
|
42
43
|
"vitest": "^4.0.18"
|
|
43
44
|
}
|