@cedar-policy/cedar-wasm 4.2.2 → 4.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/esm/cedar_wasm.d.ts +99 -119
- package/esm/cedar_wasm_bg.js +113 -72
- package/esm/cedar_wasm_bg.wasm +0 -0
- package/esm/cedar_wasm_bg.wasm.d.ts +23 -21
- package/esm/package.json +4 -4
- package/nodejs/cedar_wasm.d.ts +99 -119
- package/nodejs/cedar_wasm.js +113 -72
- package/nodejs/cedar_wasm_bg.wasm +0 -0
- package/nodejs/cedar_wasm_bg.wasm.d.ts +23 -21
- package/nodejs/package.json +1 -1
- package/package.json +2 -4
- package/web/cedar_wasm.d.ts +105 -123
- package/web/cedar_wasm.js +108 -67
- package/web/cedar_wasm_bg.wasm +0 -0
- package/web/cedar_wasm_bg.wasm.d.ts +23 -21
- package/web/package.json +4 -4
package/esm/package.json
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedar-policy/cedar-wasm",
|
|
3
|
-
"type": "module",
|
|
4
3
|
"description": "Wasm bindings and typescript types for Cedar lib",
|
|
5
|
-
"version": "4.
|
|
4
|
+
"version": "4.3.0",
|
|
6
5
|
"license": "Apache-2.0",
|
|
7
6
|
"files": [
|
|
8
7
|
"cedar_wasm_bg.wasm",
|
|
@@ -10,10 +9,11 @@
|
|
|
10
9
|
"cedar_wasm_bg.js",
|
|
11
10
|
"cedar_wasm.d.ts"
|
|
12
11
|
],
|
|
13
|
-
"
|
|
12
|
+
"module": "cedar_wasm.js",
|
|
14
13
|
"types": "cedar_wasm.d.ts",
|
|
15
14
|
"sideEffects": [
|
|
16
15
|
"./cedar_wasm.js",
|
|
17
16
|
"./snippets/*"
|
|
18
|
-
]
|
|
17
|
+
],
|
|
18
|
+
"type": "module"
|
|
19
19
|
}
|
package/nodejs/cedar_wasm.d.ts
CHANGED
|
@@ -2,118 +2,91 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
/**
|
|
4
4
|
* Get valid request environment
|
|
5
|
-
* @param {Template} t
|
|
6
|
-
* @param {Schema} s
|
|
7
|
-
* @returns {GetValidRequestEnvsResult}
|
|
8
5
|
*/
|
|
9
6
|
export function getValidRequestEnvsTemplate(t: Template, s: Schema): GetValidRequestEnvsResult;
|
|
10
7
|
/**
|
|
11
8
|
* Get valid request environment
|
|
12
|
-
* @param {Policy} t
|
|
13
|
-
* @param {Schema} s
|
|
14
|
-
* @returns {GetValidRequestEnvsResult}
|
|
15
9
|
*/
|
|
16
10
|
export function getValidRequestEnvsPolicy(t: Policy, s: Schema): GetValidRequestEnvsResult;
|
|
11
|
+
export function getCedarVersion(): string;
|
|
12
|
+
export function getCedarSDKVersion(): string;
|
|
17
13
|
/**
|
|
18
|
-
*
|
|
14
|
+
* Parse a policy set and optionally validate it against a provided schema
|
|
15
|
+
*
|
|
16
|
+
* This is the basic validator interface, using [`ValidationCall`] and
|
|
17
|
+
* [`ValidationAnswer`] types
|
|
19
18
|
*/
|
|
20
|
-
export function
|
|
19
|
+
export function validate(call: ValidationCall): ValidationAnswer;
|
|
21
20
|
/**
|
|
22
|
-
*
|
|
23
|
-
* @param {FormattingCall} call
|
|
24
|
-
* @returns {FormattingAnswer}
|
|
21
|
+
* Get language version of Cedar
|
|
25
22
|
*/
|
|
26
|
-
export function
|
|
23
|
+
export function getCedarLangVersion(): string;
|
|
27
24
|
/**
|
|
28
25
|
* Return the Cedar (textual) representation of a policy.
|
|
29
|
-
* @param {Policy} policy
|
|
30
|
-
* @returns {PolicyToTextAnswer}
|
|
31
26
|
*/
|
|
32
27
|
export function policyToText(policy: Policy): PolicyToTextAnswer;
|
|
33
28
|
/**
|
|
34
29
|
* Return the Cedar (textual) representation of a template.
|
|
35
|
-
* @param {Template} template
|
|
36
|
-
* @returns {PolicyToTextAnswer}
|
|
37
30
|
*/
|
|
38
31
|
export function templateToText(template: Template): PolicyToTextAnswer;
|
|
39
32
|
/**
|
|
40
33
|
* Return the JSON representation of a policy.
|
|
41
|
-
* @param {Policy} policy
|
|
42
|
-
* @returns {PolicyToJsonAnswer}
|
|
43
34
|
*/
|
|
44
35
|
export function policyToJson(policy: Policy): PolicyToJsonAnswer;
|
|
45
36
|
/**
|
|
46
37
|
* Return the JSON representation of a template.
|
|
47
|
-
* @param {Template} template
|
|
48
|
-
* @returns {PolicyToJsonAnswer}
|
|
49
38
|
*/
|
|
50
39
|
export function templateToJson(template: Template): PolicyToJsonAnswer;
|
|
51
40
|
/**
|
|
52
41
|
* Return the Cedar (textual) representation of a schema.
|
|
53
|
-
* @param {Schema} schema
|
|
54
|
-
* @returns {SchemaToTextAnswer}
|
|
55
42
|
*/
|
|
56
43
|
export function schemaToText(schema: Schema): SchemaToTextAnswer;
|
|
57
44
|
/**
|
|
58
45
|
* Return the JSON representation of a schema.
|
|
59
|
-
* @param {Schema} schema
|
|
60
|
-
* @returns {SchemaToJsonAnswer}
|
|
61
46
|
*/
|
|
62
47
|
export function schemaToJson(schema: Schema): SchemaToJsonAnswer;
|
|
63
|
-
/**
|
|
64
|
-
* Basic interface, using [`AuthorizationCall`] and [`AuthorizationAnswer`] types
|
|
65
|
-
* @param {AuthorizationCall} call
|
|
66
|
-
* @returns {AuthorizationAnswer}
|
|
67
|
-
*/
|
|
68
|
-
export function isAuthorized(call: AuthorizationCall): AuthorizationAnswer;
|
|
69
|
-
/**
|
|
70
|
-
* Parse a policy set and optionally validate it against a provided schema
|
|
71
|
-
*
|
|
72
|
-
* This is the basic validator interface, using [`ValidationCall`] and
|
|
73
|
-
* [`ValidationAnswer`] types
|
|
74
|
-
* @param {ValidationCall} call
|
|
75
|
-
* @returns {ValidationAnswer}
|
|
76
|
-
*/
|
|
77
|
-
export function validate(call: ValidationCall): ValidationAnswer;
|
|
78
48
|
/**
|
|
79
49
|
* Check whether a policy set successfully parses.
|
|
80
|
-
* @param {PolicySet} policies
|
|
81
|
-
* @returns {CheckParseAnswer}
|
|
82
50
|
*/
|
|
83
51
|
export function checkParsePolicySet(policies: PolicySet): CheckParseAnswer;
|
|
84
52
|
/**
|
|
85
53
|
* Check whether a schema successfully parses.
|
|
86
|
-
* @param {Schema} schema
|
|
87
|
-
* @returns {CheckParseAnswer}
|
|
88
54
|
*/
|
|
89
55
|
export function checkParseSchema(schema: Schema): CheckParseAnswer;
|
|
90
56
|
/**
|
|
91
57
|
* Check whether a set of entities successfully parses.
|
|
92
|
-
* @param {EntitiesParsingCall} call
|
|
93
|
-
* @returns {CheckParseAnswer}
|
|
94
58
|
*/
|
|
95
59
|
export function checkParseEntities(call: EntitiesParsingCall): CheckParseAnswer;
|
|
96
60
|
/**
|
|
97
61
|
* Check whether a context successfully parses.
|
|
98
|
-
* @param {ContextParsingCall} call
|
|
99
|
-
* @returns {CheckParseAnswer}
|
|
100
62
|
*/
|
|
101
63
|
export function checkParseContext(call: ContextParsingCall): CheckParseAnswer;
|
|
64
|
+
/**
|
|
65
|
+
* Basic interface, using [`AuthorizationCall`] and [`AuthorizationAnswer`] types
|
|
66
|
+
*/
|
|
67
|
+
export function isAuthorized(call: AuthorizationCall): AuthorizationAnswer;
|
|
68
|
+
/**
|
|
69
|
+
* Apply the Cedar policy formatter to a policy set in the Cedar policy format
|
|
70
|
+
*/
|
|
71
|
+
export function formatPolicies(call: FormattingCall): FormattingAnswer;
|
|
102
72
|
export type GetValidRequestEnvsResult = { type: "success"; principals: string[]; actions: string[]; resources: string[] } | { type: "failure"; error: string };
|
|
103
73
|
|
|
104
|
-
export
|
|
105
|
-
|
|
106
|
-
|
|
74
|
+
export interface ValidationCall {
|
|
75
|
+
validationSettings?: ValidationSettings;
|
|
76
|
+
schema: Schema;
|
|
77
|
+
policies: PolicySet;
|
|
78
|
+
}
|
|
107
79
|
|
|
108
|
-
export
|
|
80
|
+
export interface ValidationSettings {
|
|
81
|
+
mode: ValidationMode;
|
|
82
|
+
}
|
|
109
83
|
|
|
110
|
-
export interface
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
indentWidth?: number;
|
|
84
|
+
export interface ValidationError {
|
|
85
|
+
policyId: string;
|
|
86
|
+
error: DetailedError;
|
|
114
87
|
}
|
|
115
88
|
|
|
116
|
-
export type
|
|
89
|
+
export type ValidationAnswer = { type: "failure"; errors: DetailedError[]; warnings: DetailedError[] } | { type: "success"; validationErrors: ValidationError[]; validationWarnings: ValidationError[]; otherWarnings: DetailedError[] };
|
|
117
90
|
|
|
118
91
|
export type PolicyToTextAnswer = { type: "success"; text: string } | { type: "failure"; errors: DetailedError[] };
|
|
119
92
|
|
|
@@ -123,6 +96,23 @@ export type SchemaToTextAnswer = { type: "success"; text: string; warnings: Deta
|
|
|
123
96
|
|
|
124
97
|
export type SchemaToJsonAnswer = { type: "success"; json: SchemaJson<string>; warnings: DetailedError[] } | { type: "failure"; errors: DetailedError[] };
|
|
125
98
|
|
|
99
|
+
export type SlotId = string;
|
|
100
|
+
|
|
101
|
+
export type PolicyId = string;
|
|
102
|
+
|
|
103
|
+
export type CheckParseAnswer = { type: "success" } | { type: "failure"; errors: DetailedError[] };
|
|
104
|
+
|
|
105
|
+
export interface EntitiesParsingCall {
|
|
106
|
+
entities: Entities;
|
|
107
|
+
schema?: Schema | null;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface ContextParsingCall {
|
|
111
|
+
context: Context;
|
|
112
|
+
schema?: Schema | null;
|
|
113
|
+
action?: EntityUid | null;
|
|
114
|
+
}
|
|
115
|
+
|
|
126
116
|
export interface Response {
|
|
127
117
|
decision: Decision;
|
|
128
118
|
diagnostics: Diagnostics;
|
|
@@ -151,35 +141,13 @@ export interface AuthorizationCall {
|
|
|
151
141
|
entities: Entities;
|
|
152
142
|
}
|
|
153
143
|
|
|
154
|
-
export interface
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
export interface ValidationSettings {
|
|
161
|
-
mode: ValidationMode;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
export interface ValidationError {
|
|
165
|
-
policyId: string;
|
|
166
|
-
error: DetailedError;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
export type ValidationAnswer = { type: "failure"; errors: DetailedError[]; warnings: DetailedError[] } | { type: "success"; validationErrors: ValidationError[]; validationWarnings: ValidationError[]; otherWarnings: DetailedError[] };
|
|
170
|
-
|
|
171
|
-
export type CheckParseAnswer = { type: "success" } | { type: "failure"; errors: DetailedError[] };
|
|
172
|
-
|
|
173
|
-
export interface EntitiesParsingCall {
|
|
174
|
-
entities: Entities;
|
|
175
|
-
schema?: Schema | null;
|
|
144
|
+
export interface FormattingCall {
|
|
145
|
+
policyText: string;
|
|
146
|
+
lineWidth?: number;
|
|
147
|
+
indentWidth?: number;
|
|
176
148
|
}
|
|
177
149
|
|
|
178
|
-
export
|
|
179
|
-
context: Context;
|
|
180
|
-
schema?: Schema | null;
|
|
181
|
-
action?: EntityUid | null;
|
|
182
|
-
}
|
|
150
|
+
export type FormattingAnswer = { type: "failure"; errors: DetailedError[] } | { type: "success"; formatted_policy: string };
|
|
183
151
|
|
|
184
152
|
export type Schema = string | SchemaJson<string>;
|
|
185
153
|
|
|
@@ -228,6 +196,8 @@ export interface DetailedError {
|
|
|
228
196
|
related?: DetailedError[];
|
|
229
197
|
}
|
|
230
198
|
|
|
199
|
+
export type ValidationMode = "strict";
|
|
200
|
+
|
|
231
201
|
export type TypeVariant<N> = { type: "String" } | { type: "Long" } | { type: "Boolean" } | { type: "Set"; element: Type<N> } | ({ type: "Record" } & RecordType<N>) | { type: "Entity"; name: N } | { type: "EntityOrCommon"; name: N } | { type: "Extension"; name: UnreservedId };
|
|
232
202
|
|
|
233
203
|
export interface RecordType<N> {
|
|
@@ -235,7 +205,7 @@ export interface RecordType<N> {
|
|
|
235
205
|
additionalAttributes?: boolean;
|
|
236
206
|
}
|
|
237
207
|
|
|
238
|
-
export type Type<N> = TypeVariant<N> | { type: N };
|
|
208
|
+
export type Type<N> = ({} & TypeVariant<N>) | { type: N };
|
|
239
209
|
|
|
240
210
|
export interface ActionEntityUID<N> {
|
|
241
211
|
id: SmolStr;
|
|
@@ -252,6 +222,7 @@ export interface ActionType<N> {
|
|
|
252
222
|
attributes?: Record<SmolStr, CedarValueJson>;
|
|
253
223
|
appliesTo?: ApplySpec<N>;
|
|
254
224
|
memberOf?: ActionEntityUID<N>[];
|
|
225
|
+
annotations?: Annotations;
|
|
255
226
|
}
|
|
256
227
|
|
|
257
228
|
export type AttributesOrContext<N> = Type<N>;
|
|
@@ -260,51 +231,38 @@ export interface EntityType<N> {
|
|
|
260
231
|
memberOfTypes?: N[];
|
|
261
232
|
shape?: AttributesOrContext<N>;
|
|
262
233
|
tags?: Type<N>;
|
|
234
|
+
annotations?: Annotations;
|
|
263
235
|
}
|
|
264
236
|
|
|
265
237
|
export interface NamespaceDefinition<N> {
|
|
266
|
-
commonTypes?: Record<CommonTypeId,
|
|
238
|
+
commonTypes?: Record<CommonTypeId, CommonType<N>>;
|
|
267
239
|
entityTypes: Record<UnreservedId, EntityType<N>>;
|
|
268
240
|
actions: Record<SmolStr, ActionType<N>>;
|
|
241
|
+
annotations?: Annotations;
|
|
269
242
|
}
|
|
270
243
|
|
|
271
244
|
export type CommonTypeId = string;
|
|
272
245
|
|
|
273
246
|
export type SchemaJson<N> = Record<string, NamespaceDefinition<N>>;
|
|
274
247
|
|
|
275
|
-
export type
|
|
276
|
-
|
|
277
|
-
export interface PolicyJson {
|
|
278
|
-
effect: Effect;
|
|
279
|
-
principal: PrincipalConstraint;
|
|
280
|
-
action: ActionConstraint;
|
|
281
|
-
resource: ResourceConstraint;
|
|
282
|
-
conditions: Clause[];
|
|
283
|
-
annotations?: Record<string, string>;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
export type Effect = "permit" | "forbid";
|
|
287
|
-
|
|
288
|
-
export type UnreservedId = string;
|
|
248
|
+
export type ActionInConstraint = { entity: EntityUidJson } | { entities: EntityUidJson[] };
|
|
289
249
|
|
|
290
|
-
export interface
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
parents: EntityUidJson[];
|
|
294
|
-
tags?: Record<string, CedarValueJson>;
|
|
250
|
+
export interface PrincipalOrResourceIsConstraint {
|
|
251
|
+
entity_type: string;
|
|
252
|
+
in?: PrincipalOrResourceInConstraint;
|
|
295
253
|
}
|
|
296
254
|
|
|
297
|
-
export type
|
|
255
|
+
export type PrincipalOrResourceInConstraint = { entity: EntityUidJson } | { slot: string };
|
|
298
256
|
|
|
299
|
-
export type
|
|
257
|
+
export type EqConstraint = { entity: EntityUidJson } | { slot: string };
|
|
300
258
|
|
|
301
|
-
export type
|
|
259
|
+
export type ResourceConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | ({ op: "in" } & PrincipalOrResourceInConstraint) | ({ op: "is" } & PrincipalOrResourceIsConstraint);
|
|
302
260
|
|
|
303
|
-
export type
|
|
261
|
+
export type ActionConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | ({ op: "in" } & ActionInConstraint);
|
|
304
262
|
|
|
305
|
-
export type
|
|
263
|
+
export type PrincipalConstraint = { op: "All" } | ({ op: "==" } & EqConstraint) | ({ op: "in" } & PrincipalOrResourceInConstraint) | ({ op: "is" } & PrincipalOrResourceIsConstraint);
|
|
306
264
|
|
|
307
|
-
export type
|
|
265
|
+
export type Var = "principal" | "action" | "resource" | "context";
|
|
308
266
|
|
|
309
267
|
export type EntityUidJson = { __entity: TypeAndId } | TypeAndId;
|
|
310
268
|
|
|
@@ -320,22 +278,44 @@ export interface TypeAndId {
|
|
|
320
278
|
|
|
321
279
|
export type CedarValueJson = { __entity: TypeAndId } | { __extn: FnAndArg } | boolean | number | string | CedarValueJson[] | { [key: string]: CedarValueJson } | null;
|
|
322
280
|
|
|
323
|
-
export type
|
|
281
|
+
export type Annotations = Record<string, Annotation>;
|
|
324
282
|
|
|
325
|
-
export interface
|
|
326
|
-
|
|
327
|
-
|
|
283
|
+
export interface EntityJson {
|
|
284
|
+
uid: EntityUidJson;
|
|
285
|
+
attrs: Record<string, CedarValueJson>;
|
|
286
|
+
parents: EntityUidJson[];
|
|
287
|
+
tags?: Record<string, CedarValueJson>;
|
|
328
288
|
}
|
|
329
289
|
|
|
330
|
-
export type
|
|
290
|
+
export type Decision = "allow" | "deny";
|
|
331
291
|
|
|
332
|
-
export type
|
|
292
|
+
export type Annotation = SmolStr;
|
|
333
293
|
|
|
334
|
-
export type
|
|
294
|
+
export type Clause = { kind: "when"; body: Expr } | { kind: "unless"; body: Expr };
|
|
335
295
|
|
|
336
|
-
export
|
|
296
|
+
export interface PolicyJson {
|
|
297
|
+
effect: Effect;
|
|
298
|
+
principal: PrincipalConstraint;
|
|
299
|
+
action: ActionConstraint;
|
|
300
|
+
resource: ResourceConstraint;
|
|
301
|
+
conditions: Clause[];
|
|
302
|
+
annotations?: Annotations;
|
|
303
|
+
}
|
|
337
304
|
|
|
338
|
-
export type
|
|
305
|
+
export type ExtFuncCall = {} & Record<string, Array<Expr>>;
|
|
306
|
+
|
|
307
|
+
export type ExprNoExt = { Value: CedarValueJson } | { Var: Var } | { Slot: string } | { "!": { arg: Expr } } | { neg: { arg: Expr } } | { "==": { left: Expr; right: Expr } } | { "!=": { left: Expr; right: Expr } } | { in: { left: Expr; right: Expr } } | { "<": { left: Expr; right: Expr } } | { "<=": { left: Expr; right: Expr } } | { ">": { left: Expr; right: Expr } } | { ">=": { left: Expr; right: Expr } } | { "&&": { left: Expr; right: Expr } } | { "||": { left: Expr; right: Expr } } | { "+": { left: Expr; right: Expr } } | { "-": { left: Expr; right: Expr } } | { "*": { left: Expr; right: Expr } } | { contains: { left: Expr; right: Expr } } | { containsAll: { left: Expr; right: Expr } } | { containsAny: { left: Expr; right: Expr } } | { isEmpty: { arg: Expr } } | { getTag: { left: Expr; right: Expr } } | { hasTag: { left: Expr; right: Expr } } | { ".": { left: Expr; attr: SmolStr } } | { has: { left: Expr; attr: SmolStr } } | { like: { left: Expr; pattern: PatternElem[] } } | { is: { left: Expr; entity_type: SmolStr; in?: Expr } } | { "if-then-else": { if: Expr; then: Expr; else: Expr } } | { Set: Expr[] } | { Record: Record<string, Expr> };
|
|
308
|
+
|
|
309
|
+
export type PatternElem = "Wildcard" | { Literal: SmolStr };
|
|
310
|
+
|
|
311
|
+
export type Expr = ExprNoExt | ExtFuncCall;
|
|
312
|
+
|
|
313
|
+
export type AnyId = SmolStr;
|
|
314
|
+
|
|
315
|
+
export type UnreservedId = string;
|
|
316
|
+
|
|
317
|
+
export type Effect = "permit" | "forbid";
|
|
339
318
|
|
|
340
319
|
type SmolStr = string;
|
|
341
320
|
export type TypeOfAttribute<N> = Type<N> & { required?: boolean };
|
|
321
|
+
export type CommonType<N> = Type<N> & { annotations?: Annotations };
|
package/nodejs/cedar_wasm.js
CHANGED
|
@@ -2,14 +2,30 @@
|
|
|
2
2
|
let imports = {};
|
|
3
3
|
imports['__wbindgen_placeholder__'] = module.exports;
|
|
4
4
|
let wasm;
|
|
5
|
-
const {
|
|
5
|
+
const { TextDecoder, TextEncoder } = require(`util`);
|
|
6
|
+
|
|
7
|
+
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
8
|
+
|
|
9
|
+
cachedTextDecoder.decode();
|
|
10
|
+
|
|
11
|
+
let cachedUint8ArrayMemory0 = null;
|
|
12
|
+
|
|
13
|
+
function getUint8ArrayMemory0() {
|
|
14
|
+
if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
|
|
15
|
+
cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
|
|
16
|
+
}
|
|
17
|
+
return cachedUint8ArrayMemory0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function getStringFromWasm0(ptr, len) {
|
|
21
|
+
ptr = ptr >>> 0;
|
|
22
|
+
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
|
|
23
|
+
}
|
|
6
24
|
|
|
7
25
|
const heap = new Array(128).fill(undefined);
|
|
8
26
|
|
|
9
27
|
heap.push(undefined, null, true, false);
|
|
10
28
|
|
|
11
|
-
function getObject(idx) { return heap[idx]; }
|
|
12
|
-
|
|
13
29
|
let heap_next = heap.length;
|
|
14
30
|
|
|
15
31
|
function addHeapObject(obj) {
|
|
@@ -21,6 +37,16 @@ function addHeapObject(obj) {
|
|
|
21
37
|
return idx;
|
|
22
38
|
}
|
|
23
39
|
|
|
40
|
+
function handleError(f, args) {
|
|
41
|
+
try {
|
|
42
|
+
return f.apply(this, args);
|
|
43
|
+
} catch (e) {
|
|
44
|
+
wasm.__wbindgen_exn_store(addHeapObject(e));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function getObject(idx) { return heap[idx]; }
|
|
49
|
+
|
|
24
50
|
function dropObject(idx) {
|
|
25
51
|
if (idx < 132) return;
|
|
26
52
|
heap[idx] = heap_next;
|
|
@@ -35,15 +61,6 @@ function takeObject(idx) {
|
|
|
35
61
|
|
|
36
62
|
let WASM_VECTOR_LEN = 0;
|
|
37
63
|
|
|
38
|
-
let cachedUint8ArrayMemory0 = null;
|
|
39
|
-
|
|
40
|
-
function getUint8ArrayMemory0() {
|
|
41
|
-
if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
|
|
42
|
-
cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
|
|
43
|
-
}
|
|
44
|
-
return cachedUint8ArrayMemory0;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
64
|
let cachedTextEncoder = new TextEncoder('utf-8');
|
|
48
65
|
|
|
49
66
|
const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
|
|
@@ -110,15 +127,6 @@ function getDataViewMemory0() {
|
|
|
110
127
|
}
|
|
111
128
|
return cachedDataViewMemory0;
|
|
112
129
|
}
|
|
113
|
-
|
|
114
|
-
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
115
|
-
|
|
116
|
-
cachedTextDecoder.decode();
|
|
117
|
-
|
|
118
|
-
function getStringFromWasm0(ptr, len) {
|
|
119
|
-
ptr = ptr >>> 0;
|
|
120
|
-
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
|
|
121
|
-
}
|
|
122
130
|
/**
|
|
123
131
|
* Get valid request environment
|
|
124
132
|
* @param {Template} t
|
|
@@ -149,7 +157,7 @@ module.exports.getCedarVersion = function() {
|
|
|
149
157
|
let deferred1_1;
|
|
150
158
|
try {
|
|
151
159
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
152
|
-
wasm.
|
|
160
|
+
wasm.getCedarSDKVersion(retptr);
|
|
153
161
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
154
162
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
155
163
|
deferred1_0 = r0;
|
|
@@ -162,15 +170,59 @@ module.exports.getCedarVersion = function() {
|
|
|
162
170
|
};
|
|
163
171
|
|
|
164
172
|
/**
|
|
165
|
-
*
|
|
166
|
-
* @param {FormattingCall} call
|
|
167
|
-
* @returns {FormattingAnswer}
|
|
173
|
+
* @returns {string}
|
|
168
174
|
*/
|
|
169
|
-
module.exports.
|
|
170
|
-
|
|
175
|
+
module.exports.getCedarSDKVersion = function() {
|
|
176
|
+
let deferred1_0;
|
|
177
|
+
let deferred1_1;
|
|
178
|
+
try {
|
|
179
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
180
|
+
wasm.getCedarSDKVersion(retptr);
|
|
181
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
182
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
183
|
+
deferred1_0 = r0;
|
|
184
|
+
deferred1_1 = r1;
|
|
185
|
+
return getStringFromWasm0(r0, r1);
|
|
186
|
+
} finally {
|
|
187
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
188
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Parse a policy set and optionally validate it against a provided schema
|
|
194
|
+
*
|
|
195
|
+
* This is the basic validator interface, using [`ValidationCall`] and
|
|
196
|
+
* [`ValidationAnswer`] types
|
|
197
|
+
* @param {ValidationCall} call
|
|
198
|
+
* @returns {ValidationAnswer}
|
|
199
|
+
*/
|
|
200
|
+
module.exports.validate = function(call) {
|
|
201
|
+
const ret = wasm.validate(addHeapObject(call));
|
|
171
202
|
return takeObject(ret);
|
|
172
203
|
};
|
|
173
204
|
|
|
205
|
+
/**
|
|
206
|
+
* Get language version of Cedar
|
|
207
|
+
* @returns {string}
|
|
208
|
+
*/
|
|
209
|
+
module.exports.getCedarLangVersion = function() {
|
|
210
|
+
let deferred1_0;
|
|
211
|
+
let deferred1_1;
|
|
212
|
+
try {
|
|
213
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
214
|
+
wasm.getCedarLangVersion(retptr);
|
|
215
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
216
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
217
|
+
deferred1_0 = r0;
|
|
218
|
+
deferred1_1 = r1;
|
|
219
|
+
return getStringFromWasm0(r0, r1);
|
|
220
|
+
} finally {
|
|
221
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
222
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
|
|
174
226
|
/**
|
|
175
227
|
* Return the Cedar (textual) representation of a policy.
|
|
176
228
|
* @param {Policy} policy
|
|
@@ -231,29 +283,6 @@ module.exports.schemaToJson = function(schema) {
|
|
|
231
283
|
return takeObject(ret);
|
|
232
284
|
};
|
|
233
285
|
|
|
234
|
-
/**
|
|
235
|
-
* Basic interface, using [`AuthorizationCall`] and [`AuthorizationAnswer`] types
|
|
236
|
-
* @param {AuthorizationCall} call
|
|
237
|
-
* @returns {AuthorizationAnswer}
|
|
238
|
-
*/
|
|
239
|
-
module.exports.isAuthorized = function(call) {
|
|
240
|
-
const ret = wasm.isAuthorized(addHeapObject(call));
|
|
241
|
-
return takeObject(ret);
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Parse a policy set and optionally validate it against a provided schema
|
|
246
|
-
*
|
|
247
|
-
* This is the basic validator interface, using [`ValidationCall`] and
|
|
248
|
-
* [`ValidationAnswer`] types
|
|
249
|
-
* @param {ValidationCall} call
|
|
250
|
-
* @returns {ValidationAnswer}
|
|
251
|
-
*/
|
|
252
|
-
module.exports.validate = function(call) {
|
|
253
|
-
const ret = wasm.validate(addHeapObject(call));
|
|
254
|
-
return takeObject(ret);
|
|
255
|
-
};
|
|
256
|
-
|
|
257
286
|
/**
|
|
258
287
|
* Check whether a policy set successfully parses.
|
|
259
288
|
* @param {PolicySet} policies
|
|
@@ -294,13 +323,40 @@ module.exports.checkParseContext = function(call) {
|
|
|
294
323
|
return takeObject(ret);
|
|
295
324
|
};
|
|
296
325
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
326
|
+
/**
|
|
327
|
+
* Basic interface, using [`AuthorizationCall`] and [`AuthorizationAnswer`] types
|
|
328
|
+
* @param {AuthorizationCall} call
|
|
329
|
+
* @returns {AuthorizationAnswer}
|
|
330
|
+
*/
|
|
331
|
+
module.exports.isAuthorized = function(call) {
|
|
332
|
+
const ret = wasm.isAuthorized(addHeapObject(call));
|
|
333
|
+
return takeObject(ret);
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Apply the Cedar policy formatter to a policy set in the Cedar policy format
|
|
338
|
+
* @param {FormattingCall} call
|
|
339
|
+
* @returns {FormattingAnswer}
|
|
340
|
+
*/
|
|
341
|
+
module.exports.formatPolicies = function(call) {
|
|
342
|
+
const ret = wasm.formatPolicies(addHeapObject(call));
|
|
343
|
+
return takeObject(ret);
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
module.exports.__wbg_parse_def2e24ef1252aff = function() { return handleError(function (arg0, arg1) {
|
|
347
|
+
const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
|
|
348
|
+
return addHeapObject(ret);
|
|
349
|
+
}, arguments) };
|
|
350
|
+
|
|
351
|
+
module.exports.__wbg_stringify_f7ed6987935b4a24 = function() { return handleError(function (arg0) {
|
|
352
|
+
const ret = JSON.stringify(getObject(arg0));
|
|
353
|
+
return addHeapObject(ret);
|
|
354
|
+
}, arguments) };
|
|
355
|
+
|
|
356
|
+
module.exports.__wbindgen_is_undefined = function(arg0) {
|
|
357
|
+
const ret = getObject(arg0) === undefined;
|
|
358
|
+
return ret;
|
|
359
|
+
};
|
|
304
360
|
|
|
305
361
|
module.exports.__wbindgen_object_clone_ref = function(arg0) {
|
|
306
362
|
const ret = getObject(arg0);
|
|
@@ -311,11 +367,6 @@ module.exports.__wbindgen_object_drop_ref = function(arg0) {
|
|
|
311
367
|
takeObject(arg0);
|
|
312
368
|
};
|
|
313
369
|
|
|
314
|
-
module.exports.__wbindgen_is_undefined = function(arg0) {
|
|
315
|
-
const ret = getObject(arg0) === undefined;
|
|
316
|
-
return ret;
|
|
317
|
-
};
|
|
318
|
-
|
|
319
370
|
module.exports.__wbindgen_string_get = function(arg0, arg1) {
|
|
320
371
|
const obj = getObject(arg1);
|
|
321
372
|
const ret = typeof(obj) === 'string' ? obj : undefined;
|
|
@@ -325,16 +376,6 @@ module.exports.__wbindgen_string_get = function(arg0, arg1) {
|
|
|
325
376
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
326
377
|
};
|
|
327
378
|
|
|
328
|
-
module.exports.__wbg_parse_51ee5409072379d3 = function() { return handleError(function (arg0, arg1) {
|
|
329
|
-
const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
|
|
330
|
-
return addHeapObject(ret);
|
|
331
|
-
}, arguments) };
|
|
332
|
-
|
|
333
|
-
module.exports.__wbg_stringify_eead5648c09faaf8 = function() { return handleError(function (arg0) {
|
|
334
|
-
const ret = JSON.stringify(getObject(arg0));
|
|
335
|
-
return addHeapObject(ret);
|
|
336
|
-
}, arguments) };
|
|
337
|
-
|
|
338
379
|
module.exports.__wbindgen_throw = function(arg0, arg1) {
|
|
339
380
|
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
340
381
|
};
|
|
Binary file
|