@pax2pay/model-banking 0.1.281 → 0.1.283
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/Identity.ts +7 -2
- package/Key/Permissions.ts +12 -2
- package/Rule/Rule/Base.ts +4 -0
- package/Rule/Rule/Score.ts +6 -1
- package/Rule/index.ts +5 -2
- package/dist/Identity.d.ts +1 -1
- package/dist/Identity.js +4 -1
- package/dist/Identity.js.map +1 -1
- package/dist/Key/Permissions.d.ts +21 -1
- package/dist/Key/Permissions.js.map +1 -1
- package/dist/Key/Roles.d.ts +2 -2
- package/dist/Rule/Rule/Base.d.ts +3 -0
- package/dist/Rule/Rule/Base.js +2 -0
- package/dist/Rule/Rule/Base.js.map +1 -1
- package/dist/Rule/Rule/Score.d.ts +1 -0
- package/dist/Rule/Rule/Score.js +5 -1
- package/dist/Rule/Rule/Score.js.map +1 -1
- package/dist/Rule/index.d.ts +1 -0
- package/dist/Rule/index.js +4 -0
- package/dist/Rule/index.js.map +1 -1
- package/package.json +1 -1
package/Identity.ts
CHANGED
|
@@ -25,7 +25,7 @@ export class Identity {
|
|
|
25
25
|
|
|
26
26
|
static async authenticate<T extends Partial<Record<"realm" | "organization", true>> = Record<string, never>>(
|
|
27
27
|
header: { authorization?: string | undefined; realm?: Realm; organization?: string },
|
|
28
|
-
constraint: Key.Permissions,
|
|
28
|
+
constraint: Key.Permissions | Key.Permissions[],
|
|
29
29
|
requires?: T,
|
|
30
30
|
verifier: userwidgets.User.Key.Verifier<Key> = productionVerifier
|
|
31
31
|
): Promise<(keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity) | undefined> {
|
|
@@ -47,7 +47,12 @@ export class Identity {
|
|
|
47
47
|
| (keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity)
|
|
48
48
|
| undefined =>
|
|
49
49
|
(requires?.organization ? !!identity?.organization : true) && (requires?.realm ? Realm.is(identity?.realm) : true)
|
|
50
|
-
return (
|
|
50
|
+
return (
|
|
51
|
+
((Array.isArray(constraint) ? constraint.some(c => identity?.check(c)) : identity?.check(constraint)) &&
|
|
52
|
+
requirement(identity) &&
|
|
53
|
+
identity) ||
|
|
54
|
+
undefined
|
|
55
|
+
)
|
|
51
56
|
}
|
|
52
57
|
static async verify(
|
|
53
58
|
authorization: string | undefined,
|
package/Key/Permissions.ts
CHANGED
|
@@ -17,14 +17,24 @@ export namespace Permissions {
|
|
|
17
17
|
| {
|
|
18
18
|
edit?: true
|
|
19
19
|
view?: true
|
|
20
|
+
customer?: { edit?: true; view?: true } | true
|
|
21
|
+
product?: { edit?: true; view?: true } | true
|
|
22
|
+
fincrime?: { edit?: true; view?: true } | true
|
|
20
23
|
}
|
|
21
24
|
| true
|
|
22
25
|
}
|
|
23
26
|
| true
|
|
24
27
|
transactions?: { create?: true; view?: true; resolve?: true; comment?: true } | true
|
|
25
28
|
cards?: { create?: true; view?: true; change?: true; cancel?: true } | true
|
|
26
|
-
rules?:
|
|
27
|
-
|
|
29
|
+
rules?:
|
|
30
|
+
| {
|
|
31
|
+
edit?: true
|
|
32
|
+
view?: true
|
|
33
|
+
product?: { edit?: true; view?: true } | true
|
|
34
|
+
fincrime?: { edit?: true; view?: true } | true
|
|
35
|
+
}
|
|
36
|
+
| true
|
|
37
|
+
settlements?: { create?: true; view?: true; amend?: true } | true
|
|
28
38
|
treasury?: { rebalance?: true; view?: true } | true
|
|
29
39
|
operations?: { view?: true } | true
|
|
30
40
|
}
|
package/Rule/Rule/Base.ts
CHANGED
|
@@ -5,6 +5,7 @@ export interface Base {
|
|
|
5
5
|
name: string
|
|
6
6
|
description: string
|
|
7
7
|
type: Base.Kind
|
|
8
|
+
category?: Base.Category
|
|
8
9
|
condition: string
|
|
9
10
|
flags: string[]
|
|
10
11
|
groups?: string[]
|
|
@@ -12,11 +13,14 @@ export interface Base {
|
|
|
12
13
|
export namespace Base {
|
|
13
14
|
export const kinds = ["authorization", "outbound", "inbound"] as const
|
|
14
15
|
export type Kind = typeof kinds[number]
|
|
16
|
+
export const categories = ["customer", "product", "fincrime"] as const
|
|
17
|
+
export type Category = typeof categories[number]
|
|
15
18
|
export const type = isly.object<Base>({
|
|
16
19
|
code: isly.string(new RegExp(/^[a-z0-9\-_]+$/)).optional(),
|
|
17
20
|
name: isly.string(),
|
|
18
21
|
description: isly.string(),
|
|
19
22
|
type: isly.string(kinds),
|
|
23
|
+
category: isly.string(categories),
|
|
20
24
|
condition: isly.string(),
|
|
21
25
|
flags: isly.string().array(),
|
|
22
26
|
groups: isly.string().array().optional(),
|
package/Rule/Rule/Score.ts
CHANGED
|
@@ -3,10 +3,15 @@ import { Base } from "./Base"
|
|
|
3
3
|
|
|
4
4
|
export interface Score extends Base {
|
|
5
5
|
action: "score"
|
|
6
|
+
category?: "fincrime"
|
|
6
7
|
risk: Score.Risk
|
|
7
8
|
}
|
|
8
9
|
export namespace Score {
|
|
9
10
|
export type Risk = number
|
|
10
11
|
export const Risk = isly.number<Risk>(["positive", "integer"])
|
|
11
|
-
export const type = Base.type.extend<Score>({
|
|
12
|
+
export const type = Base.type.extend<Score>({
|
|
13
|
+
action: isly.string("score"),
|
|
14
|
+
category: isly.string("fincrime").optional(),
|
|
15
|
+
risk: Risk,
|
|
16
|
+
})
|
|
12
17
|
}
|
package/Rule/index.ts
CHANGED
|
@@ -20,7 +20,7 @@ export namespace Rule {
|
|
|
20
20
|
return selectively.resolve({ ...macros, ...definitions }, selectively.parse(rule.condition)).is(state)
|
|
21
21
|
}
|
|
22
22
|
function score(
|
|
23
|
-
rules:
|
|
23
|
+
rules: ModelRule.Score[],
|
|
24
24
|
state: State,
|
|
25
25
|
macros?: Record<string, selectively.Definition>
|
|
26
26
|
): number | undefined {
|
|
@@ -36,7 +36,7 @@ export namespace Rule {
|
|
|
36
36
|
): Record<ModelRule.Other.Action, Rule[]> & { risk?: number } {
|
|
37
37
|
const result: Record<ModelRule.Other.Action, Rule[]> & { risk?: number } = { review: [], reject: [], flag: [] }
|
|
38
38
|
const [other, scorers] = rules.reduce(
|
|
39
|
-
(r: [
|
|
39
|
+
(r: [ModelRule.Other[], ModelRule.Score[]], rule) => {
|
|
40
40
|
rule.action == "score" ? r[1].push(rule) : r[0].push(rule)
|
|
41
41
|
return r
|
|
42
42
|
},
|
|
@@ -47,4 +47,7 @@ export namespace Rule {
|
|
|
47
47
|
other.forEach(rule => control(rule, state, macros) && result[rule.action].push(rule))
|
|
48
48
|
return result
|
|
49
49
|
}
|
|
50
|
+
export function fromLegacy(rule: Rule): Rule {
|
|
51
|
+
return "category" in rule ? rule : { category: "fincrime", ...rule }
|
|
52
|
+
}
|
|
50
53
|
}
|
package/dist/Identity.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare class Identity {
|
|
|
14
14
|
authorization?: string | undefined;
|
|
15
15
|
realm?: Realm;
|
|
16
16
|
organization?: string;
|
|
17
|
-
}, constraint: Key.Permissions, requires?: T, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<(keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity) | undefined>;
|
|
17
|
+
}, constraint: Key.Permissions | Key.Permissions[], requires?: T, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<(keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity) | undefined>;
|
|
18
18
|
static verify(authorization: string | undefined, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<Key | undefined>;
|
|
19
19
|
static getRealms(permissions: Key.Permissions): ("eu" | "uk" | "test" | "testUK" | "upcheck")[];
|
|
20
20
|
}
|
package/dist/Identity.js
CHANGED
|
@@ -42,7 +42,10 @@ export class Identity {
|
|
|
42
42
|
const identity = key &&
|
|
43
43
|
new Identity(key, (realms?.length == 1 ? realms[0] : header.realm), (key.organization ?? header.organization));
|
|
44
44
|
const requirement = (value) => (requires?.organization ? !!identity?.organization : true) && (requires?.realm ? Realm.is(identity?.realm) : true);
|
|
45
|
-
return (
|
|
45
|
+
return (((Array.isArray(constraint) ? constraint.some(c => identity?.check(c)) : identity?.check(constraint)) &&
|
|
46
|
+
requirement(identity) &&
|
|
47
|
+
identity) ||
|
|
48
|
+
undefined);
|
|
46
49
|
}
|
|
47
50
|
static async verify(authorization, verifier = productionVerifier) {
|
|
48
51
|
return await verifier.verify(authorization);
|
package/dist/Identity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Identity.js","sourceRoot":"../","sources":["Identity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,OAAO,QAAQ;IAEpB,IAAI,MAAM;QACT,OAAO,CAAC,sGAAiB,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAA,CAAC,CAAA;IACnE,CAAC;IAED,YAAqB,GAAQ,EAAW,KAAa,EAAW,YAAqB;QAAhE,QAAG,GAAH,GAAG,CAAK;QAAW,UAAK,GAAL,KAAK,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAS;QALrF,mCAA4B;IAK4D,CAAC;IACzF,KAAK,CAAC,UAA2B,EAAE,KAAa,EAAE,YAAqB;QACtE,OAAO;YACN,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/E,EAAE,CAAC,GAAG,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YACxD,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,UAAU,EAAE;YAC5C,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE;SACvB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IACD,eAAe,CAAC,UAAkB;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAC9C,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CACzE,CAAA;IACF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACxB,MAAoF,EACpF,
|
|
1
|
+
{"version":3,"file":"Identity.js","sourceRoot":"../","sources":["Identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,18 @@ export declare namespace Permissions {
|
|
|
18
18
|
rules?: {
|
|
19
19
|
edit?: true;
|
|
20
20
|
view?: true;
|
|
21
|
+
customer?: {
|
|
22
|
+
edit?: true;
|
|
23
|
+
view?: true;
|
|
24
|
+
} | true;
|
|
25
|
+
product?: {
|
|
26
|
+
edit?: true;
|
|
27
|
+
view?: true;
|
|
28
|
+
} | true;
|
|
29
|
+
fincrime?: {
|
|
30
|
+
edit?: true;
|
|
31
|
+
view?: true;
|
|
32
|
+
} | true;
|
|
21
33
|
} | true;
|
|
22
34
|
} | true;
|
|
23
35
|
transactions?: {
|
|
@@ -35,11 +47,19 @@ export declare namespace Permissions {
|
|
|
35
47
|
rules?: {
|
|
36
48
|
edit?: true;
|
|
37
49
|
view?: true;
|
|
50
|
+
product?: {
|
|
51
|
+
edit?: true;
|
|
52
|
+
view?: true;
|
|
53
|
+
} | true;
|
|
54
|
+
fincrime?: {
|
|
55
|
+
edit?: true;
|
|
56
|
+
view?: true;
|
|
57
|
+
} | true;
|
|
38
58
|
} | true;
|
|
39
59
|
settlements?: {
|
|
40
60
|
create?: true;
|
|
41
61
|
view?: true;
|
|
42
|
-
|
|
62
|
+
amend?: true;
|
|
43
63
|
} | true;
|
|
44
64
|
treasury?: {
|
|
45
65
|
rebalance?: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions.js","sourceRoot":"../","sources":["Key/Permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,MAAM,KAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"Permissions.js","sourceRoot":"../","sources":["Key/Permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,MAAM,KAAW,WAAW,CA2C3B;AA3CD,WAAiB,WAAW;IAC3B,SAAgB,SAAS,CAAC,WAAwB;QACjD,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC3D,CAAC;IAFe,qBAAS,YAExB,CAAA;AAwCF,CAAC,EA3CgB,WAAW,KAAX,WAAW,QA2C3B"}
|
package/dist/Key/Roles.d.ts
CHANGED
|
@@ -14,8 +14,8 @@ export declare namespace Roles {
|
|
|
14
14
|
type Roles = Partial<Record<Role, true>>;
|
|
15
15
|
type Role = typeof roles[number];
|
|
16
16
|
const roles: readonly ["admin", "fincrime-readonly", "fincrime", "finance", "operations", "support"];
|
|
17
|
-
const type: isly.Type<"
|
|
18
|
-
const is: isly.Type.IsFunction<"
|
|
17
|
+
const type: isly.Type<"fincrime" | "operations" | "admin" | "fincrime-readonly" | "finance" | "support">;
|
|
18
|
+
const is: isly.Type.IsFunction<"fincrime" | "operations" | "admin" | "fincrime-readonly" | "finance" | "support">;
|
|
19
19
|
const definitions: Record<Role, Permissions.Realm | true>;
|
|
20
20
|
}
|
|
21
21
|
namespace Organization {
|
package/dist/Rule/Rule/Base.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface Base {
|
|
|
4
4
|
name: string;
|
|
5
5
|
description: string;
|
|
6
6
|
type: Base.Kind;
|
|
7
|
+
category?: Base.Category;
|
|
7
8
|
condition: string;
|
|
8
9
|
flags: string[];
|
|
9
10
|
groups?: string[];
|
|
@@ -11,5 +12,7 @@ export interface Base {
|
|
|
11
12
|
export declare namespace Base {
|
|
12
13
|
const kinds: readonly ["authorization", "outbound", "inbound"];
|
|
13
14
|
type Kind = typeof kinds[number];
|
|
15
|
+
const categories: readonly ["customer", "product", "fincrime"];
|
|
16
|
+
type Category = typeof categories[number];
|
|
14
17
|
const type: isly.object.ExtendableType<Base>;
|
|
15
18
|
}
|
package/dist/Rule/Rule/Base.js
CHANGED
|
@@ -2,11 +2,13 @@ import { isly } from "isly";
|
|
|
2
2
|
export var Base;
|
|
3
3
|
(function (Base) {
|
|
4
4
|
Base.kinds = ["authorization", "outbound", "inbound"];
|
|
5
|
+
Base.categories = ["customer", "product", "fincrime"];
|
|
5
6
|
Base.type = isly.object({
|
|
6
7
|
code: isly.string(new RegExp(/^[a-z0-9\-_]+$/)).optional(),
|
|
7
8
|
name: isly.string(),
|
|
8
9
|
description: isly.string(),
|
|
9
10
|
type: isly.string(Base.kinds),
|
|
11
|
+
category: isly.string(Base.categories),
|
|
10
12
|
condition: isly.string(),
|
|
11
13
|
flags: isly.string().array(),
|
|
12
14
|
groups: isly.string().array().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Base.js","sourceRoot":"../","sources":["Rule/Rule/Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Base.js","sourceRoot":"../","sources":["Rule/Rule/Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAY3B,MAAM,KAAW,IAAI,CAepB;AAfD,WAAiB,IAAI;IACP,UAAK,GAAG,CAAC,eAAe,EAAE,UAAU,EAAE,SAAS,CAAU,CAAA;IAEzD,eAAU,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAU,CAAA;IAEzD,SAAI,GAAG,IAAI,CAAC,MAAM,CAAO;QACrC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC1D,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAA,KAAK,CAAC;QACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAA,UAAU,CAAC;QACjC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;QAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;KACxC,CAAC,CAAA;AACH,CAAC,EAfgB,IAAI,KAAJ,IAAI,QAepB"}
|
package/dist/Rule/Rule/Score.js
CHANGED
|
@@ -3,6 +3,10 @@ import { Base } from "./Base";
|
|
|
3
3
|
export var Score;
|
|
4
4
|
(function (Score) {
|
|
5
5
|
Score.Risk = isly.number(["positive", "integer"]);
|
|
6
|
-
Score.type = Base.type.extend({
|
|
6
|
+
Score.type = Base.type.extend({
|
|
7
|
+
action: isly.string("score"),
|
|
8
|
+
category: isly.string("fincrime").optional(),
|
|
9
|
+
risk: Score.Risk,
|
|
10
|
+
});
|
|
7
11
|
})(Score || (Score = {}));
|
|
8
12
|
//# sourceMappingURL=Score.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Score.js","sourceRoot":"../","sources":["Rule/Rule/Score.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"Score.js","sourceRoot":"../","sources":["Rule/Rule/Score.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAO7B,MAAM,KAAW,KAAK,CAQrB;AARD,WAAiB,KAAK;IAER,UAAI,GAAG,IAAI,CAAC,MAAM,CAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAA;IACjD,UAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAQ;QAC3C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;QAC5C,IAAI,EAAE,MAAA,IAAI;KACV,CAAC,CAAA;AACH,CAAC,EARgB,KAAK,KAAL,KAAK,QAQrB"}
|
package/dist/Rule/index.d.ts
CHANGED
package/dist/Rule/index.js
CHANGED
|
@@ -30,5 +30,9 @@ export var Rule;
|
|
|
30
30
|
return result;
|
|
31
31
|
}
|
|
32
32
|
Rule.evaluate = evaluate;
|
|
33
|
+
function fromLegacy(rule) {
|
|
34
|
+
return "category" in rule ? rule : { category: "fincrime", ...rule };
|
|
35
|
+
}
|
|
36
|
+
Rule.fromLegacy = fromLegacy;
|
|
33
37
|
})(Rule || (Rule = {}));
|
|
34
38
|
//# sourceMappingURL=index.js.map
|
package/dist/Rule/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Rule/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,SAAS,CAAA;AAI5C,MAAM,KAAW,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Rule/index.ts"],"names":[],"mappings":"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"}
|