@twin.org/standards-w3c-odrl 0.0.1-next.21

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.
Files changed (75) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +21 -0
  3. package/dist/cjs/index.cjs +911 -0
  4. package/dist/esm/index.mjs +897 -0
  5. package/dist/types/index.d.ts +26 -0
  6. package/dist/types/models/IOdrlAction.d.ts +33 -0
  7. package/dist/types/models/IOdrlAsset.d.ts +27 -0
  8. package/dist/types/models/IOdrlAssetCollection.d.ts +21 -0
  9. package/dist/types/models/IOdrlConstraint.d.ts +49 -0
  10. package/dist/types/models/IOdrlDuty.d.ts +33 -0
  11. package/dist/types/models/IOdrlLogicalConstraint.d.ts +45 -0
  12. package/dist/types/models/IOdrlParty.d.ts +35 -0
  13. package/dist/types/models/IOdrlPartyCollection.d.ts +18 -0
  14. package/dist/types/models/IOdrlPermission.d.ts +14 -0
  15. package/dist/types/models/IOdrlPolicy.d.ts +81 -0
  16. package/dist/types/models/IOdrlPolicyMetadata.d.ts +58 -0
  17. package/dist/types/models/IOdrlProhibition.d.ts +11 -0
  18. package/dist/types/models/IOdrlRule.d.ts +41 -0
  19. package/dist/types/models/odrlContexts.d.ts +29 -0
  20. package/dist/types/models/types/actionTypes.d.ts +214 -0
  21. package/dist/types/models/types/conflictStrategyTypes.d.ts +21 -0
  22. package/dist/types/models/types/dataTypes.d.ts +37 -0
  23. package/dist/types/models/types/leftOperandTypes.d.ts +137 -0
  24. package/dist/types/models/types/logicalConstraintType.d.ts +25 -0
  25. package/dist/types/models/types/odrlTypes.d.ts +69 -0
  26. package/dist/types/models/types/operatorTypes.d.ts +65 -0
  27. package/dist/types/models/types/policyTypes.d.ts +25 -0
  28. package/dist/types/models/types/rightOperandTypes.d.ts +13 -0
  29. package/dist/types/models/types/ruleTypes.d.ts +21 -0
  30. package/dist/types/models/types/statusTypes.d.ts +25 -0
  31. package/dist/types/models/types/uriActionTypes.d.ts +215 -0
  32. package/docs/changelog.md +5 -0
  33. package/docs/examples.md +1 -0
  34. package/docs/reference/index.md +49 -0
  35. package/docs/reference/interfaces/IOdrlAction.md +61 -0
  36. package/docs/reference/interfaces/IOdrlAsset.md +55 -0
  37. package/docs/reference/interfaces/IOdrlAssetCollection.md +85 -0
  38. package/docs/reference/interfaces/IOdrlConstraint.md +76 -0
  39. package/docs/reference/interfaces/IOdrlDuty.md +144 -0
  40. package/docs/reference/interfaces/IOdrlLogicalConstraint.md +70 -0
  41. package/docs/reference/interfaces/IOdrlParty.md +67 -0
  42. package/docs/reference/interfaces/IOdrlPartyCollection.md +98 -0
  43. package/docs/reference/interfaces/IOdrlPermission.md +108 -0
  44. package/docs/reference/interfaces/IOdrlPolicy.md +136 -0
  45. package/docs/reference/interfaces/IOdrlPolicyMetadata.md +86 -0
  46. package/docs/reference/interfaces/IOdrlProhibition.md +105 -0
  47. package/docs/reference/interfaces/IOdrlRule.md +75 -0
  48. package/docs/reference/type-aliases/ActionType.md +5 -0
  49. package/docs/reference/type-aliases/ConflictStrategyType.md +5 -0
  50. package/docs/reference/type-aliases/DataType.md +5 -0
  51. package/docs/reference/type-aliases/LeftOperandType.md +5 -0
  52. package/docs/reference/type-aliases/LogicalConstraintType.md +5 -0
  53. package/docs/reference/type-aliases/OdrlContexts.md +5 -0
  54. package/docs/reference/type-aliases/OdrlTypes.md +5 -0
  55. package/docs/reference/type-aliases/OperatorType.md +5 -0
  56. package/docs/reference/type-aliases/PolicyType.md +5 -0
  57. package/docs/reference/type-aliases/RightOperandType.md +5 -0
  58. package/docs/reference/type-aliases/RuleType.md +5 -0
  59. package/docs/reference/type-aliases/StatusType.md +5 -0
  60. package/docs/reference/type-aliases/UriActionType.md +6 -0
  61. package/docs/reference/variables/ActionTypes.md +314 -0
  62. package/docs/reference/variables/ConflictStrategyTypes.md +25 -0
  63. package/docs/reference/variables/DataType.md +49 -0
  64. package/docs/reference/variables/LeftOperandType.md +199 -0
  65. package/docs/reference/variables/LogicalConstraintType.md +31 -0
  66. package/docs/reference/variables/OdrlContexts.md +37 -0
  67. package/docs/reference/variables/OdrlTypes.md +97 -0
  68. package/docs/reference/variables/OperatorType.md +91 -0
  69. package/docs/reference/variables/PolicyType.md +31 -0
  70. package/docs/reference/variables/RightOperandTypes.md +13 -0
  71. package/docs/reference/variables/RuleType.md +25 -0
  72. package/docs/reference/variables/StatusType.md +31 -0
  73. package/docs/reference/variables/UriActionTypes.md +314 -0
  74. package/locales/en.json +1 -0
  75. package/package.json +40 -0
@@ -0,0 +1,911 @@
1
+ 'use strict';
2
+
3
+ // Copyright 2024 IOTA Stiftung.
4
+ // SPDX-License-Identifier: Apache-2.0.
5
+ /**
6
+ * The contexts for ODRL.
7
+ */
8
+ // eslint-disable-next-line @typescript-eslint/naming-convention
9
+ const OdrlContexts = {
10
+ /**
11
+ * The context root for ODRL.
12
+ */
13
+ Context: "https://www.w3.org/ns/odrl.jsonld",
14
+ /**
15
+ * The context root for ODRL vocabulary.
16
+ */
17
+ ContextVocabulary: "https://www.w3.org/ns/odrl/2/",
18
+ /**
19
+ * The context root for Dublin Core Terms.
20
+ */
21
+ ContextDcTerms: "https://purl.org/dc/terms/",
22
+ /**
23
+ * The context root for RDF.
24
+ */
25
+ ContextRdf: "https://www.w3.org/1999/02/22-rdf-syntax-ns#",
26
+ /**
27
+ * The context root for XSD.
28
+ */
29
+ ContextXsd: "https://www.w3.org/2001/XMLSchema#"
30
+ };
31
+
32
+ // Copyright 2024 IOTA Stiftung.
33
+ // SPDX-License-Identifier: Apache-2.0.
34
+ /**
35
+ * The types for ODRL.
36
+ */
37
+ // eslint-disable-next-line @typescript-eslint/naming-convention
38
+ const OdrlTypes = {
39
+ /**
40
+ * Policy type.
41
+ */
42
+ Policy: "Policy",
43
+ /**
44
+ * Set type (subclass of Policy).
45
+ */
46
+ Set: "Set",
47
+ /**
48
+ * Offer type (subclass of Policy).
49
+ */
50
+ Offer: "Offer",
51
+ /**
52
+ * Agreement type (subclass of Policy).
53
+ */
54
+ Agreement: "Agreement",
55
+ /**
56
+ * Asset type.
57
+ */
58
+ Asset: "Asset",
59
+ /**
60
+ * AssetCollection type.
61
+ */
62
+ AssetCollection: "AssetCollection",
63
+ /**
64
+ * Party type.
65
+ */
66
+ Party: "Party",
67
+ /**
68
+ * PartyCollection type.
69
+ */
70
+ PartyCollection: "PartyCollection",
71
+ /**
72
+ * Action type.
73
+ */
74
+ Action: "Action",
75
+ /**
76
+ * Rule type.
77
+ */
78
+ Rule: "Rule",
79
+ /**
80
+ * Permission type (subclass of Rule).
81
+ */
82
+ Permission: "Permission",
83
+ /**
84
+ * Prohibition type (subclass of Rule).
85
+ */
86
+ Prohibition: "Prohibition",
87
+ /**
88
+ * Duty type (subclass of Rule).
89
+ */
90
+ Duty: "Duty",
91
+ /**
92
+ * Constraint type.
93
+ */
94
+ Constraint: "Constraint",
95
+ /**
96
+ * LogicalConstraint type.
97
+ */
98
+ LogicalConstraint: "LogicalConstraint"
99
+ };
100
+
101
+ // Copyright 2024 IOTA Stiftung.
102
+ // SPDX-License-Identifier: Apache-2.0.
103
+ /**
104
+ * The types for ODRL Policies.
105
+ */
106
+ // eslint-disable-next-line @typescript-eslint/naming-convention
107
+ const PolicyType = {
108
+ /**
109
+ * Policy type.
110
+ */
111
+ Policy: "Policy",
112
+ /**
113
+ * Set type.
114
+ */
115
+ Set: "Set",
116
+ /**
117
+ * Offer type.
118
+ */
119
+ Offer: "Offer",
120
+ /**
121
+ * Agreement type.
122
+ */
123
+ Agreement: "Agreement"
124
+ };
125
+
126
+ // Copyright 2024 IOTA Stiftung.
127
+ // SPDX-License-Identifier: Apache-2.0.
128
+ /**
129
+ * The types for ODRL Rules.
130
+ */
131
+ // eslint-disable-next-line @typescript-eslint/naming-convention
132
+ const RuleType = {
133
+ /**
134
+ * Permission type.
135
+ */
136
+ Permission: "Permission",
137
+ /**
138
+ * Prohibition type.
139
+ */
140
+ Prohibition: "Prohibition",
141
+ /**
142
+ * Duty type.
143
+ */
144
+ Duty: "Duty"
145
+ };
146
+
147
+ // Copyright 2024 IOTA Stiftung.
148
+ // SPDX-License-Identifier: Apache-2.0.
149
+ /**
150
+ * The types for ODRL Conflict Resolution Strategies.
151
+ */
152
+ // eslint-disable-next-line @typescript-eslint/naming-convention
153
+ const ConflictStrategyTypes = {
154
+ /**
155
+ * Permission type.
156
+ */
157
+ Perm: "perm",
158
+ /**
159
+ * Prohibition type.
160
+ */
161
+ Prohibit: "prohibit",
162
+ /**
163
+ * Invalid type.
164
+ */
165
+ Invalid: "invalid"
166
+ };
167
+
168
+ // Copyright 2024 IOTA Stiftung.
169
+ // SPDX-License-Identifier: Apache-2.0.
170
+ /**
171
+ * The types for ODRL Status.
172
+ */
173
+ // eslint-disable-next-line @typescript-eslint/naming-convention
174
+ const StatusType = {
175
+ /**
176
+ * Active type.
177
+ */
178
+ Active: "active",
179
+ /**
180
+ * Inactive type.
181
+ */
182
+ Inactive: "inactive",
183
+ /**
184
+ * Pending type.
185
+ */
186
+ Pending: "pending",
187
+ /**
188
+ * Revoked type.
189
+ */
190
+ Revoked: "revoked"
191
+ };
192
+
193
+ // Copyright 2024 IOTA Stiftung.
194
+ // SPDX-License-Identifier: Apache-2.0.
195
+ /**
196
+ * The types for ODRL Operators.
197
+ */
198
+ // eslint-disable-next-line @typescript-eslint/naming-convention
199
+ const OperatorType = {
200
+ /**
201
+ * Equal type.
202
+ */
203
+ Eq: "eq",
204
+ /**
205
+ * Greater than type.
206
+ */
207
+ Gt: "gt",
208
+ /**
209
+ * Greater than or equal to type.
210
+ */
211
+ Gteq: "gteq",
212
+ /**
213
+ * Less than type.
214
+ */
215
+ Lt: "lt",
216
+ /**
217
+ * Less than or equal to type.
218
+ */
219
+ Lteq: "lteq",
220
+ /**
221
+ * Not equal to type.
222
+ */
223
+ Neq: "neq",
224
+ /**
225
+ * Is a type.
226
+ */
227
+ IsA: "isA",
228
+ /**
229
+ * Has part type.
230
+ */
231
+ HasPart: "hasPart",
232
+ /**
233
+ * Is part of type.
234
+ */
235
+ IsPartOf: "isPartOf",
236
+ /**
237
+ * Is all of type.
238
+ */
239
+ IsAllOf: "isAllOf",
240
+ /**
241
+ * Is any of type.
242
+ */
243
+ IsAnyOf: "isAnyOf",
244
+ /**
245
+ * Is none of type.
246
+ */
247
+ IsNoneOf: "isNoneOf",
248
+ /**
249
+ * Location time equal to type.
250
+ */
251
+ LocTimeEq: "locTimeEq",
252
+ /**
253
+ * Location time greater than or equal to type.
254
+ */
255
+ LocTimeGteq: "locTimeGteq"
256
+ };
257
+
258
+ // Copyright 2024 IOTA Stiftung.
259
+ // SPDX-License-Identifier: Apache-2.0.
260
+ /**
261
+ * The types for ODRL Logical Constraints.
262
+ */
263
+ // eslint-disable-next-line @typescript-eslint/naming-convention
264
+ const LogicalConstraintType = {
265
+ /**
266
+ * And type.
267
+ */
268
+ And: "and",
269
+ /**
270
+ * Or type.
271
+ */
272
+ Or: "or",
273
+ /**
274
+ * Xone type.
275
+ */
276
+ Xone: "xone",
277
+ /**
278
+ * And sequence type.
279
+ */
280
+ AndSequence: "andSequence"
281
+ };
282
+
283
+ // Copyright 2024 IOTA Stiftung.
284
+ // SPDX-License-Identifier: Apache-2.0.
285
+ /**
286
+ * The types for ODRL Actions.
287
+ * Simple action types (for direct string usage)
288
+ */
289
+ // eslint-disable-next-line @typescript-eslint/naming-convention
290
+ const ActionTypes = {
291
+ /**
292
+ * To use the Asset - actions that involve general usage by parties.
293
+ */
294
+ Use: "use",
295
+ /**
296
+ * To transfer the ownership to third parties.
297
+ */
298
+ Transfer: "transfer",
299
+ /**
300
+ * To accept that the use of the Asset may be tracked.
301
+ */
302
+ AcceptTracking: "acceptTracking",
303
+ /**
304
+ * To use the Asset or parts of it as part of a composite collection.
305
+ */
306
+ Aggregate: "aggregate",
307
+ /**
308
+ * To add explanatory notations/commentaries to the Asset without modifying the Asset in any other way.
309
+ */
310
+ Annotate: "annotate",
311
+ /**
312
+ * To anonymize all or parts of the Asset.
313
+ */
314
+ Anonymize: "anonymize",
315
+ /**
316
+ * To store the Asset (in a non-transient form).
317
+ */
318
+ Archive: "archive",
319
+ /**
320
+ * To attribute the use of the Asset.
321
+ */
322
+ Attribute: "attribute",
323
+ /**
324
+ * Credit be given to copyright holder and/or author.
325
+ */
326
+ Attribution: "attribution",
327
+ /**
328
+ * Exercising rights for commercial purposes.
329
+ */
330
+ CommercialUse: "commercialUse",
331
+ /**
332
+ * To compensate by transfer of some amount of value for using or selling the Asset.
333
+ */
334
+ Compensate: "compensate",
335
+ /**
336
+ * To create multiple copies of the Asset that are being concurrently used.
337
+ */
338
+ ConcurrentUse: "concurrentUse",
339
+ /**
340
+ * To permanently remove all copies of the Asset after it has been used.
341
+ */
342
+ Delete: "delete",
343
+ /**
344
+ * To create a new derivative Asset from this Asset and to edit or modify the derivative.
345
+ */
346
+ Derive: "derive",
347
+ /**
348
+ * Distribution of derivative works.
349
+ */
350
+ DerivativeWorks: "derivativeWorks",
351
+ /**
352
+ * To produce a digital copy of (or otherwise digitize) the Asset from its analogue form.
353
+ */
354
+ Digitize: "digitize",
355
+ /**
356
+ * To create a static and transient rendition of an Asset.
357
+ */
358
+ Display: "display",
359
+ /**
360
+ * To supply the Asset to third-parties.
361
+ */
362
+ Distribute: "distribute",
363
+ /**
364
+ * Distribution, public display, and publicly performance.
365
+ */
366
+ Distribution: "distribution",
367
+ /**
368
+ * To ensure that the Rule on the Asset is exclusive.
369
+ */
370
+ EnsureExclusivity: "ensureExclusivity",
371
+ /**
372
+ * To run the computer program Asset.
373
+ */
374
+ Execute: "execute",
375
+ /**
376
+ * To extract parts of the Asset and to use it as a new Asset.
377
+ */
378
+ Extract: "extract",
379
+ /**
380
+ * To transfer the ownership without compensation and while deleting the original asset.
381
+ */
382
+ Give: "give",
383
+ /**
384
+ * To grant the use of the Asset to third parties.
385
+ */
386
+ GrantUse: "grantUse",
387
+ /**
388
+ * To include other related assets in the Asset.
389
+ */
390
+ Include: "include",
391
+ /**
392
+ * To record the Asset in an index.
393
+ */
394
+ Index: "index",
395
+ /**
396
+ * To inform that an action has been performed on or in relation to the Asset.
397
+ */
398
+ Inform: "inform",
399
+ /**
400
+ * To load the computer program Asset onto a storage device.
401
+ */
402
+ Install: "install",
403
+ /**
404
+ * To change existing content of the Asset without creating a new asset.
405
+ */
406
+ Modify: "modify",
407
+ /**
408
+ * To move the Asset from one digital location to another including deleting the original copy.
409
+ */
410
+ Move: "move",
411
+ /**
412
+ * To grant the specified Policy to a third party for their use of the Asset.
413
+ */
414
+ NextPolicy: "nextPolicy",
415
+ /**
416
+ * Copyright and license notices be kept intact.
417
+ */
418
+ Notice: "notice",
419
+ /**
420
+ * To obtain verifiable consent to perform the requested action.
421
+ */
422
+ ObtainConsent: "obtainConsent",
423
+ /**
424
+ * To create a sequential and transient rendition of an Asset.
425
+ */
426
+ Play: "play",
427
+ /**
428
+ * To publicly perform the Asset.
429
+ */
430
+ Present: "present",
431
+ /**
432
+ * To create a tangible and permanent rendition of an Asset.
433
+ */
434
+ Print: "print",
435
+ /**
436
+ * To obtain data from the Asset.
437
+ */
438
+ Read: "read",
439
+ /**
440
+ * To make duplicate copies of the Asset in any material form.
441
+ */
442
+ Reproduce: "reproduce",
443
+ /**
444
+ * Making multiple copies.
445
+ */
446
+ Reproduction: "reproduction",
447
+ /**
448
+ * To review the Policy applicable to the Asset.
449
+ */
450
+ ReviewPolicy: "reviewPolicy",
451
+ /**
452
+ * To transfer the ownership with compensation and while deleting the original asset.
453
+ */
454
+ Sell: "sell",
455
+ /**
456
+ * Derivative works be licensed under the same terms or compatible terms.
457
+ */
458
+ ShareAlike: "shareAlike",
459
+ /**
460
+ * Permits commercial derivatives, but only non-commercial distribution.
461
+ */
462
+ Sharing: "sharing",
463
+ /**
464
+ * Source code must be provided when exercising some rights.
465
+ */
466
+ SourceCode: "sourceCode",
467
+ /**
468
+ * To deliver the Asset in real-time.
469
+ */
470
+ Stream: "stream",
471
+ /**
472
+ * To use the Asset in timed relations with media elements of another Asset.
473
+ */
474
+ Synchronize: "synchronize",
475
+ /**
476
+ * To have a text Asset read out loud.
477
+ */
478
+ TextToSpeech: "textToSpeech",
479
+ /**
480
+ * To convert the Asset into a different format.
481
+ */
482
+ Transform: "transform",
483
+ /**
484
+ * To translate the Asset into another natural language.
485
+ */
486
+ Translate: "translate",
487
+ /**
488
+ * To unload and delete the computer program Asset.
489
+ */
490
+ Uninstall: "uninstall",
491
+ /**
492
+ * To apply a watermark to the Asset.
493
+ */
494
+ Watermark: "watermark"
495
+ };
496
+
497
+ // Copyright 2024 IOTA Stiftung.
498
+ // SPDX-License-Identifier: Apache-2.0.
499
+ /**
500
+ * The types for ODRL Data Types.
501
+ */
502
+ // eslint-disable-next-line @typescript-eslint/naming-convention
503
+ const DataType = {
504
+ /**
505
+ * String type.
506
+ */
507
+ String: "xsd:string",
508
+ /**
509
+ * Boolean type.
510
+ */
511
+ Boolean: "xsd:boolean",
512
+ /**
513
+ * Integer type.
514
+ */
515
+ Integer: "xsd:integer",
516
+ /**
517
+ * Decimal type.
518
+ */
519
+ Decimal: "xsd:decimal",
520
+ /**
521
+ * Double type.
522
+ */
523
+ Double: "xsd:double",
524
+ /**
525
+ * Date type.
526
+ */
527
+ Date: "xsd:date",
528
+ /**
529
+ * DateTime type.
530
+ */
531
+ DateTime: "xsd:dateTime"
532
+ };
533
+
534
+ // Copyright 2024 IOTA Stiftung.
535
+ // SPDX-License-Identifier: Apache-2.0.
536
+ /**
537
+ * The types for ODRL Data Types.
538
+ */
539
+ // eslint-disable-next-line @typescript-eslint/naming-convention
540
+ const LeftOperandType = {
541
+ /**
542
+ * Absolute Position type.
543
+ */
544
+ AbsolutePosition: "absolutePosition",
545
+ /**
546
+ * Absolute Spatial Position type.
547
+ */
548
+ AbsoluteSpatialPosition: "absoluteSpatialPosition",
549
+ /**
550
+ * Absolute Temporal Position type.
551
+ */
552
+ AbsoluteTemporalPosition: "absoluteTemporalPosition",
553
+ /**
554
+ * Absolute Size type.
555
+ */
556
+ AbsoluteSize: "absoluteSize",
557
+ /**
558
+ * Count type.
559
+ */
560
+ Count: "count",
561
+ /**
562
+ * DateTime type.
563
+ */
564
+ DateTime: "dateTime",
565
+ /**
566
+ * Delay Period type.
567
+ */
568
+ DelayPeriod: "delayPeriod",
569
+ /**
570
+ * Delivery Channel type.
571
+ */
572
+ DeliveryChannel: "deliveryChannel",
573
+ /**
574
+ * Elapsed Time type.
575
+ */
576
+ ElapsedTime: "elapsedTime",
577
+ /**
578
+ * Event type.
579
+ */
580
+ Event: "event",
581
+ /**
582
+ * File Format type.
583
+ */
584
+ FileFormat: "fileFormat",
585
+ /**
586
+ * Industry type.
587
+ */
588
+ Industry: "industry",
589
+ /**
590
+ * Language type.
591
+ */
592
+ Language: "language",
593
+ /**
594
+ * Media type.
595
+ */
596
+ Media: "media",
597
+ /**
598
+ * Metered Time type.
599
+ */
600
+ MeteredTime: "meteredTime",
601
+ /**
602
+ * Pay Amount type.
603
+ */
604
+ PayAmount: "payAmount",
605
+ /**
606
+ * Percentage type.
607
+ */
608
+ Percentage: "percentage",
609
+ /**
610
+ * Product type.
611
+ */
612
+ Product: "product",
613
+ /**
614
+ * Purpose type.
615
+ */
616
+ Purpose: "purpose",
617
+ /**
618
+ * Recipient type.
619
+ */
620
+ Recipient: "recipient",
621
+ /**
622
+ * Relative Position type.
623
+ */
624
+ RelativePosition: "relativePosition",
625
+ /**
626
+ * Relative Spatial Position type.
627
+ */
628
+ RelativeSpatialPosition: "relativeSpatialPosition",
629
+ /**
630
+ * Relative Temporal Position type.
631
+ */
632
+ RelativeTemporalPosition: "relativeTemporalPosition",
633
+ /**
634
+ * Relative Size type.
635
+ */
636
+ RelativeSize: "relativeSize",
637
+ /**
638
+ * Resolution type.
639
+ */
640
+ Resolution: "resolution",
641
+ /**
642
+ * Spatial type.
643
+ */
644
+ Spatial: "spatial",
645
+ /**
646
+ * Spatial Coordinates type.
647
+ */
648
+ SpatialCoordinates: "spatialCoordinates",
649
+ /**
650
+ * System Device type.
651
+ */
652
+ SystemDevice: "systemDevice",
653
+ /**
654
+ * Time Interval type.
655
+ */
656
+ TimeInterval: "timeInterval",
657
+ /**
658
+ * Unit of Count type.
659
+ */
660
+ UnitOfCount: "unitOfCount",
661
+ /**
662
+ * Version type.
663
+ */
664
+ Version: "version",
665
+ /**
666
+ * Virtual Location type.
667
+ */
668
+ VirtualLocation: "virtualLocation"
669
+ };
670
+
671
+ // Copyright 2024 IOTA Stiftung.
672
+ // SPDX-License-Identifier: Apache-2.0.
673
+ /**
674
+ * The types for ODRL Actions.
675
+ * URI action types (for use with rdf:value/@id)
676
+ */
677
+ // eslint-disable-next-line @typescript-eslint/naming-convention
678
+ const UriActionTypes = {
679
+ /**
680
+ * To use the Asset - actions that involve general usage by parties.
681
+ */
682
+ OdrlUse: "odrl:use",
683
+ /**
684
+ * To transfer the ownership to third parties.
685
+ */
686
+ OdrlTransfer: "odrl:transfer",
687
+ /**
688
+ * To accept that the use of the Asset may be tracked.
689
+ */
690
+ OdrlAcceptTracking: "odrl:acceptTracking",
691
+ /**
692
+ * To use the Asset or parts of it as part of a composite collection.
693
+ */
694
+ OdrlAggregate: "odrl:aggregate",
695
+ /**
696
+ * To add explanatory notations/commentaries to the Asset without modifying the Asset in any other way.
697
+ */
698
+ OdrlAnnotate: "odrl:annotate",
699
+ /**
700
+ * To anonymize all or parts of the Asset.
701
+ */
702
+ OdrlAnonymize: "odrl:anonymize",
703
+ /**
704
+ * To store the Asset (in a non-transient form).
705
+ */
706
+ OdrlArchive: "odrl:archive",
707
+ /**
708
+ * To attribute the use of the Asset.
709
+ */
710
+ OdrlAttribute: "odrl:attribute",
711
+ /**
712
+ * Credit be given to copyright holder and/or author.
713
+ */
714
+ OdrlAttribution: "odrl:attribution",
715
+ /**
716
+ * Exercising rights for commercial purposes.
717
+ */
718
+ OdrlCommercialUse: "odrl:commercialUse",
719
+ /**
720
+ * To compensate by transfer of some amount of value for using or selling the Asset.
721
+ */
722
+ OdrlCompensate: "odrl:compensate",
723
+ /**
724
+ * To create multiple copies of the Asset that are being concurrently used.
725
+ */
726
+ OdrlConcurrentUse: "odrl:concurrentUse",
727
+ /**
728
+ * To permanently remove all copies of the Asset after it has been used.
729
+ */
730
+ OdrlDelete: "odrl:delete",
731
+ /**
732
+ * To create a new derivative Asset from this Asset and to edit or modify the derivative.
733
+ */
734
+ OdrlDerive: "odrl:derive",
735
+ /**
736
+ * Distribution of derivative works.
737
+ */
738
+ OdrlDerivativeWorks: "odrl:derivativeWorks",
739
+ /**
740
+ * To produce a digital copy of (or otherwise digitize) the Asset from its analogue form.
741
+ */
742
+ OdrlDigitize: "odrl:digitize",
743
+ /**
744
+ * To create a static and transient rendition of an Asset.
745
+ */
746
+ OdrlDisplay: "odrl:display",
747
+ /**
748
+ * To supply the Asset to third-parties.
749
+ */
750
+ OdrlDistribute: "odrl:distribute",
751
+ /**
752
+ * Distribution, public display, and publicly performance.
753
+ */
754
+ OdrlDistribution: "odrl:distribution",
755
+ /**
756
+ * To ensure that the Rule on the Asset is exclusive.
757
+ */
758
+ OdrlEnsureExclusivity: "odrl:ensureExclusivity",
759
+ /**
760
+ * To run the computer program Asset.
761
+ */
762
+ OdrlExecute: "odrl:execute",
763
+ /**
764
+ * To extract parts of the Asset and to use it as a new Asset.
765
+ */
766
+ OdrlExtract: "odrl:extract",
767
+ /**
768
+ * To transfer the ownership without compensation and while deleting the original asset.
769
+ */
770
+ OdrlGive: "odrl:give",
771
+ /**
772
+ * To grant the use of the Asset to third parties.
773
+ */
774
+ OdrlGrantUse: "odrl:grantUse",
775
+ /**
776
+ * To include other related assets in the Asset.
777
+ */
778
+ OdrlInclude: "odrl:include",
779
+ /**
780
+ * To record the Asset in an index.
781
+ */
782
+ OdrlIndex: "odrl:index",
783
+ /**
784
+ * To inform that an action has been performed on or in relation to the Asset.
785
+ */
786
+ OdrlInform: "odrl:inform",
787
+ /**
788
+ * To load the computer program Asset onto a storage device.
789
+ */
790
+ OdrlInstall: "odrl:install",
791
+ /**
792
+ * To change existing content of the Asset without creating a new asset.
793
+ */
794
+ OdrlModify: "odrl:modify",
795
+ /**
796
+ * To move the Asset from one digital location to another including deleting the original copy.
797
+ */
798
+ OdrlMove: "odrl:move",
799
+ /**
800
+ * To grant the specified Policy to a third party for their use of the Asset.
801
+ */
802
+ OdrlNextPolicy: "odrl:nextPolicy",
803
+ /**
804
+ * Copyright and license notices be kept intact.
805
+ */
806
+ OdrlNotice: "odrl:notice",
807
+ /**
808
+ * To obtain verifiable consent to perform the requested action.
809
+ */
810
+ OdrlObtainConsent: "odrl:obtainConsent",
811
+ /**
812
+ * To create a sequential and transient rendition of an Asset.
813
+ */
814
+ OdrlPlay: "odrl:play",
815
+ /**
816
+ * To publicly perform the Asset.
817
+ */
818
+ OdrlPresent: "odrl:present",
819
+ /**
820
+ * To create a tangible and permanent rendition of an Asset.
821
+ */
822
+ OdrlPrint: "odrl:print",
823
+ /**
824
+ * To obtain data from the Asset.
825
+ */
826
+ OdrlRead: "odrl:read",
827
+ /**
828
+ * To make duplicate copies of the Asset in any material form.
829
+ */
830
+ OdrlReproduce: "odrl:reproduce",
831
+ /**
832
+ * Making multiple copies.
833
+ */
834
+ OdrlReproduction: "odrl:reproduction",
835
+ /**
836
+ * To review the Policy applicable to the Asset.
837
+ */
838
+ OdrlReviewPolicy: "odrl:reviewPolicy",
839
+ /**
840
+ * To transfer the ownership with compensation and while deleting the original asset.
841
+ */
842
+ OdrlSell: "odrl:sell",
843
+ /**
844
+ * Derivative works be licensed under the same terms or compatible terms.
845
+ */
846
+ OdrlShareAlike: "odrl:shareAlike",
847
+ /**
848
+ * Permits commercial derivatives, but only non-commercial distribution.
849
+ */
850
+ OdrlSharing: "odrl:sharing",
851
+ /**
852
+ * Source code must be provided when exercising some rights.
853
+ */
854
+ OdrlSourceCode: "odrl:sourceCode",
855
+ /**
856
+ * To deliver the Asset in real-time.
857
+ */
858
+ OdrlStream: "odrl:stream",
859
+ /**
860
+ * To use the Asset in timed relations with media elements of another Asset.
861
+ */
862
+ OdrlSynchronize: "odrl:synchronize",
863
+ /**
864
+ * To have a text Asset read out loud.
865
+ */
866
+ OdrlTextToSpeech: "odrl:textToSpeech",
867
+ /**
868
+ * To convert the Asset into a different format.
869
+ */
870
+ OdrlTransform: "odrl:transform",
871
+ /**
872
+ * To translate the Asset into another natural language.
873
+ */
874
+ OdrlTranslate: "odrl:translate",
875
+ /**
876
+ * To unload and delete the computer program Asset.
877
+ */
878
+ OdrlUninstall: "odrl:uninstall",
879
+ /**
880
+ * To apply a watermark to the Asset.
881
+ */
882
+ OdrlWatermark: "odrl:watermark"
883
+ };
884
+
885
+ // Copyright 2024 IOTA Stiftung.
886
+ // SPDX-License-Identifier: Apache-2.0.
887
+ /**
888
+ * Right operand types for ODRL constraints
889
+ */
890
+ // eslint-disable-next-line @typescript-eslint/naming-convention
891
+ const RightOperandTypes = {
892
+ /**
893
+ * Reference to policy usage events
894
+ */
895
+ PolicyUsage: "odrl:policyUsage"
896
+ // ... other right operand types ...
897
+ };
898
+
899
+ exports.ActionTypes = ActionTypes;
900
+ exports.ConflictStrategyTypes = ConflictStrategyTypes;
901
+ exports.DataType = DataType;
902
+ exports.LeftOperandType = LeftOperandType;
903
+ exports.LogicalConstraintType = LogicalConstraintType;
904
+ exports.OdrlContexts = OdrlContexts;
905
+ exports.OdrlTypes = OdrlTypes;
906
+ exports.OperatorType = OperatorType;
907
+ exports.PolicyType = PolicyType;
908
+ exports.RightOperandTypes = RightOperandTypes;
909
+ exports.RuleType = RuleType;
910
+ exports.StatusType = StatusType;
911
+ exports.UriActionTypes = UriActionTypes;