@opra/common 0.28.0 → 0.29.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/browser.js +209 -99
- package/cjs/document/data-type/complex-type-class.js +36 -13
- package/cjs/document/data-type/field-class.js +8 -10
- package/cjs/document/factory/api-document-factory.js +26 -3
- package/cjs/document/factory/type-document-factory.js +6 -3
- package/cjs/document/index.js +1 -1
- package/cjs/document/resource/collection-class.js +31 -20
- package/cjs/document/resource/collection-decorator.js +61 -33
- package/cjs/document/resource/{operation-decorator.js → crud-operation-decorator.js} +3 -2
- package/cjs/document/resource/crud-operation.js +49 -0
- package/cjs/document/resource/crud-resource.js +2 -2
- package/cjs/document/resource/endpoint.js +11 -3
- package/cjs/document/resource/singleton-class.js +20 -10
- package/cjs/document/resource/storage-decorator.js +10 -10
- package/esm/document/data-type/complex-type-class.js +36 -13
- package/esm/document/data-type/field-class.js +8 -10
- package/esm/document/factory/api-document-factory.js +26 -3
- package/esm/document/factory/type-document-factory.js +6 -3
- package/esm/document/index.js +1 -1
- package/esm/document/resource/collection-class.js +31 -20
- package/esm/document/resource/collection-decorator.js +54 -26
- package/esm/document/resource/{operation-decorator.js → crud-operation-decorator.js} +3 -2
- package/esm/document/resource/crud-operation.js +44 -0
- package/esm/document/resource/crud-resource.js +2 -2
- package/esm/document/resource/endpoint.js +11 -3
- package/esm/document/resource/singleton-class.js +20 -10
- package/esm/document/resource/storage-decorator.js +7 -7
- package/package.json +4 -3
- package/types/document/data-type/complex-type-class.d.ts +1 -1
- package/types/document/data-type/complex-type.d.ts +7 -3
- package/types/document/data-type/data-type.d.ts +4 -0
- package/types/document/data-type/field-class.d.ts +2 -4
- package/types/document/index.d.ts +1 -1
- package/types/document/resource/collection-class.d.ts +0 -9
- package/types/document/resource/collection-decorator.d.ts +12 -0
- package/types/document/resource/crud-operation-decorator.d.ts +6 -0
- package/types/document/resource/{operation.d.ts → crud-operation.d.ts} +12 -4
- package/types/document/resource/crud-resource.d.ts +3 -3
- package/types/document/resource/endpoint.d.ts +1 -1
- package/types/document/resource/resource-decorator.d.ts +3 -2
- package/types/document/resource/resource.d.ts +2 -2
- package/types/document/resource/singleton-class.d.ts +5 -5
- package/types/document/resource/singleton-decorator.d.ts +6 -0
- package/types/document/resource/storage-class.d.ts +4 -4
- package/types/schema/data-type/complex-type.interface.d.ts +1 -1
- package/types/schema/data-type/field.interface.d.ts +2 -0
- package/types/schema/resource/collection.interface.d.ts +7 -7
- package/types/schema/resource/endpoint.interface.d.ts +2 -1
- package/types/schema/resource/singleton.interface.d.ts +0 -2
- package/cjs/document/resource/operation.js +0 -25
- package/esm/document/resource/operation.js +0 -20
- package/types/document/resource/operation-decorator.d.ts +0 -6
package/browser.js
CHANGED
|
@@ -1074,6 +1074,7 @@ var Endpoint = class {
|
|
|
1074
1074
|
constructor(resource, name, init) {
|
|
1075
1075
|
this.resource = resource;
|
|
1076
1076
|
this.name = name;
|
|
1077
|
+
this.options = {};
|
|
1077
1078
|
Object.assign(this, init);
|
|
1078
1079
|
this.parameters = new ResponsiveMap();
|
|
1079
1080
|
if (init.parameters) {
|
|
@@ -1098,12 +1099,19 @@ var Endpoint = class {
|
|
|
1098
1099
|
const schema = omitUndefined({
|
|
1099
1100
|
description: this.description
|
|
1100
1101
|
});
|
|
1102
|
+
if (Object.keys(this.options).length)
|
|
1103
|
+
schema.options = { ...this.options };
|
|
1101
1104
|
if (this.parameters.size) {
|
|
1102
|
-
|
|
1105
|
+
let i = 0;
|
|
1106
|
+
const parameters = {};
|
|
1103
1107
|
for (const [name, param] of this.parameters.entries()) {
|
|
1104
|
-
if (!param.isBuiltin)
|
|
1105
|
-
|
|
1108
|
+
if (!param.isBuiltin) {
|
|
1109
|
+
parameters[name] = param.exportSchema(options);
|
|
1110
|
+
i++;
|
|
1111
|
+
}
|
|
1106
1112
|
}
|
|
1113
|
+
if (i)
|
|
1114
|
+
schema.parameters = parameters;
|
|
1107
1115
|
}
|
|
1108
1116
|
return schema;
|
|
1109
1117
|
}
|
|
@@ -1401,6 +1409,8 @@ var FieldClass = class {
|
|
|
1401
1409
|
this.default = init.default;
|
|
1402
1410
|
this.fixed = init.fixed;
|
|
1403
1411
|
this.required = init.required;
|
|
1412
|
+
this.readonly = init.readonly;
|
|
1413
|
+
this.writeonly = init.writeonly;
|
|
1404
1414
|
this.exclusive = init.exclusive;
|
|
1405
1415
|
this.deprecated = init.deprecated;
|
|
1406
1416
|
this.examples = init.examples;
|
|
@@ -1413,22 +1423,18 @@ var FieldClass = class {
|
|
|
1413
1423
|
default: this.default,
|
|
1414
1424
|
fixed: this.fixed,
|
|
1415
1425
|
required: this.required,
|
|
1426
|
+
readonly: this.readonly,
|
|
1427
|
+
writeonly: this.writeonly,
|
|
1416
1428
|
exclusive: this.exclusive,
|
|
1417
1429
|
deprecated: this.deprecated,
|
|
1418
1430
|
examples: this.examples
|
|
1419
1431
|
});
|
|
1420
1432
|
}
|
|
1421
|
-
getDecoder() {
|
|
1422
|
-
if (!this._decoder)
|
|
1423
|
-
this._decoder = this.generateCodec("decode");
|
|
1424
|
-
return this._decoder;
|
|
1425
|
-
}
|
|
1426
|
-
getEncoder() {
|
|
1427
|
-
if (!this._encoder)
|
|
1428
|
-
this._encoder = this.generateCodec("encode");
|
|
1429
|
-
return this._encoder;
|
|
1430
|
-
}
|
|
1431
1433
|
generateCodec(codec, options) {
|
|
1434
|
+
if (options?.operation === "read" && this.writeonly)
|
|
1435
|
+
return vg3.isUndefined();
|
|
1436
|
+
if (options?.operation === "write" && this.readonly)
|
|
1437
|
+
return vg3.isUndefined();
|
|
1432
1438
|
let fn = this.type.generateCodec(codec, options);
|
|
1433
1439
|
if (this.isArray)
|
|
1434
1440
|
fn = vg3.isArray(fn);
|
|
@@ -1479,6 +1485,7 @@ var ComplexTypeClass = class extends DataType {
|
|
|
1479
1485
|
constructor(document, init) {
|
|
1480
1486
|
super(document, init);
|
|
1481
1487
|
this.kind = opra_schema_ns_exports.ComplexType.Kind;
|
|
1488
|
+
this.fields = new ResponsiveMap();
|
|
1482
1489
|
const own = this.own = {};
|
|
1483
1490
|
own.ctor = init.ctor;
|
|
1484
1491
|
if (init.base) {
|
|
@@ -1497,7 +1504,6 @@ var ComplexTypeClass = class extends DataType {
|
|
|
1497
1504
|
this.additionalFields = true;
|
|
1498
1505
|
else if (this.base?.additionalFields === "error" && !this.additionalFields)
|
|
1499
1506
|
this.additionalFields = "error";
|
|
1500
|
-
this.fields = new ResponsiveMap();
|
|
1501
1507
|
if (this.base) {
|
|
1502
1508
|
if (this.base.fields)
|
|
1503
1509
|
for (const [k, el] of this.base.fields.entries()) {
|
|
@@ -1594,7 +1600,7 @@ var ComplexTypeClass = class extends DataType {
|
|
|
1594
1600
|
Object.assign(out, omitUndefined({
|
|
1595
1601
|
base: this.base ? this.base.name ? this.base.name : this.base.exportSchema(options) : void 0,
|
|
1596
1602
|
abstract: this.abstract,
|
|
1597
|
-
additionalFields: this.own.additionalFields
|
|
1603
|
+
additionalFields: this.own.additionalFields instanceof DataType ? this.own.additionalFields.name ? this.own.additionalFields.name : this.own.additionalFields.exportSchema(options) : this.own.additionalFields
|
|
1598
1604
|
}));
|
|
1599
1605
|
if (this.own.fields.size) {
|
|
1600
1606
|
const fields = out.fields = {};
|
|
@@ -1618,9 +1624,10 @@ var ComplexTypeClass = class extends DataType {
|
|
|
1618
1624
|
}
|
|
1619
1625
|
generateCodec(codec, options) {
|
|
1620
1626
|
const schema = this._generateCodecSchema(codec, options);
|
|
1627
|
+
const additionalFields = this.additionalFields instanceof DataType ? this.additionalFields.generateCodec(codec, options) : this.additionalFields;
|
|
1621
1628
|
return vg4.isObject(schema, {
|
|
1622
1629
|
ctor: this.ctor,
|
|
1623
|
-
additionalFields
|
|
1630
|
+
additionalFields,
|
|
1624
1631
|
name: this.name,
|
|
1625
1632
|
caseInSensitive: !options?.caseSensitive
|
|
1626
1633
|
});
|
|
@@ -1629,16 +1636,24 @@ var ComplexTypeClass = class extends DataType {
|
|
|
1629
1636
|
const schema = {};
|
|
1630
1637
|
const pickOption = (options?.pick || []).map((x) => x.toLowerCase());
|
|
1631
1638
|
const omitOption = (options?.omit || []).map((x) => x.toLowerCase());
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1639
|
+
const dedupedFieldNames = (options?.overwriteFields ? Array.from(/* @__PURE__ */ new Set([...this.fields.keys(), ...options?.overwriteFields.keys()])) : Array.from(this.fields.keys())).map((x) => x.toLocaleString());
|
|
1640
|
+
for (const nameLower of dedupedFieldNames) {
|
|
1641
|
+
const overwriteField = options?.overwriteFields?.get(nameLower);
|
|
1642
|
+
const field = this.fields.get(nameLower);
|
|
1643
|
+
if (!(field || overwriteField))
|
|
1635
1644
|
continue;
|
|
1636
|
-
if (pickOption.length && !pickOption.find((x) => x === nameLower || x.startsWith(nameLower + ".")))
|
|
1645
|
+
if (!overwriteField && (omitOption.find((x) => x === nameLower) || pickOption.length && !pickOption.find((x) => x === nameLower || x.startsWith(nameLower + "."))))
|
|
1637
1646
|
continue;
|
|
1647
|
+
let f;
|
|
1648
|
+
if (overwriteField) {
|
|
1649
|
+
f = { ...overwriteField };
|
|
1650
|
+
Object.setPrototypeOf(f, field || ApiField.prototype);
|
|
1651
|
+
} else
|
|
1652
|
+
f = field;
|
|
1638
1653
|
schema[f.name] = f.generateCodec(codec, {
|
|
1639
1654
|
...options,
|
|
1640
|
-
pick: pickOption.filter((x) => x.startsWith(nameLower + ".")).map((x) => x.substring(x.indexOf(".") + 1)),
|
|
1641
|
-
omit: omitOption.filter((x) => x.startsWith(nameLower + ".")).map((x) => x.substring(x.indexOf(".") + 1))
|
|
1655
|
+
pick: overwriteField ? [] : pickOption.filter((x) => x.startsWith(nameLower + ".")).map((x) => x.substring(x.indexOf(".") + 1)),
|
|
1656
|
+
omit: overwriteField ? [] : omitOption.filter((x) => x.startsWith(nameLower + ".")).map((x) => x.substring(x.indexOf(".") + 1))
|
|
1642
1657
|
});
|
|
1643
1658
|
}
|
|
1644
1659
|
return schema;
|
|
@@ -2642,7 +2657,7 @@ var TypeDocumentFactory = class _TypeDocumentFactory {
|
|
|
2642
2657
|
return dataType;
|
|
2643
2658
|
throw new TypeError(`Class "${thunk.name}" doesn't have a valid DataType metadata`);
|
|
2644
2659
|
}
|
|
2645
|
-
name = metadata.name;
|
|
2660
|
+
name = metadata.anonymous ? void 0 : metadata.name;
|
|
2646
2661
|
initArguments = cloneObject(metadata);
|
|
2647
2662
|
ctor = thunk;
|
|
2648
2663
|
} else if (typeof thunk === "object") {
|
|
@@ -2654,7 +2669,7 @@ var TypeDocumentFactory = class _TypeDocumentFactory {
|
|
|
2654
2669
|
const metadata = thunk[DATATYPE_METADATA];
|
|
2655
2670
|
if (!metadata)
|
|
2656
2671
|
throw new TypeError(`No EnumType metadata found for object ${JSON.stringify(thunk).substring(0, 20)}...`);
|
|
2657
|
-
name = metadata.name;
|
|
2672
|
+
name = metadata.anonymous ? void 0 : metadata.name;
|
|
2658
2673
|
initArguments = cloneObject(metadata);
|
|
2659
2674
|
initArguments.enumObject = thunk;
|
|
2660
2675
|
}
|
|
@@ -2684,9 +2699,11 @@ var TypeDocumentFactory = class _TypeDocumentFactory {
|
|
|
2684
2699
|
if (name)
|
|
2685
2700
|
this.document.types.set(name, instance);
|
|
2686
2701
|
await this.prepareDataTypeInitArguments(initArguments, ctor);
|
|
2687
|
-
if (initArguments.kind === "ComplexType")
|
|
2702
|
+
if (initArguments.kind === "ComplexType") {
|
|
2703
|
+
if (typeof initArguments.additionalFields === "function")
|
|
2704
|
+
initArguments.additionalFields = await this.importDataType(initArguments.additionalFields);
|
|
2688
2705
|
ComplexType2.apply(instance, [this.document, initArguments]);
|
|
2689
|
-
else if (initArguments.kind === "SimpleType")
|
|
2706
|
+
} else if (initArguments.kind === "SimpleType")
|
|
2690
2707
|
SimpleType2.apply(instance, [this.document, initArguments]);
|
|
2691
2708
|
else if (initArguments.kind === "EnumType")
|
|
2692
2709
|
EnumType2.apply(instance, [this.document, initArguments]);
|
|
@@ -10322,11 +10339,11 @@ var _wrapEntryValue = /* @__PURE__ */ __name((v) => {
|
|
|
10322
10339
|
return new StringLiteral("" + v);
|
|
10323
10340
|
}, "_wrapEntryValue");
|
|
10324
10341
|
|
|
10325
|
-
// ../../build/common/esm/document/resource/operation.js
|
|
10342
|
+
// ../../build/common/esm/document/resource/crud-operation.js
|
|
10326
10343
|
import * as vg7 from "valgen";
|
|
10327
|
-
var
|
|
10344
|
+
var CrudOperation = class extends Endpoint {
|
|
10328
10345
|
static {
|
|
10329
|
-
__name(this, "
|
|
10346
|
+
__name(this, "CrudOperation");
|
|
10330
10347
|
}
|
|
10331
10348
|
constructor(resource, name, init) {
|
|
10332
10349
|
super(resource, name, init);
|
|
@@ -10336,7 +10353,27 @@ var Operation = class extends Endpoint {
|
|
|
10336
10353
|
this.decodeInput = vg7.isAny();
|
|
10337
10354
|
this.encodeReturning = vg7.isAny();
|
|
10338
10355
|
this.returnType = init.returnType instanceof DataType ? init.returnType : this.resource.document.getDataType(init.returnType || "any");
|
|
10339
|
-
this.encodeReturning = this.returnType.generateCodec("encode");
|
|
10356
|
+
this.encodeReturning = this.returnType.generateCodec("encode", { operation: "read" });
|
|
10357
|
+
if (init.options.inputOverwriteFields)
|
|
10358
|
+
this.inputOverwriteFields = new ResponsiveMap(init.options.inputOverwriteFields);
|
|
10359
|
+
if (init.options.outputOverwriteFields)
|
|
10360
|
+
this.outputOverwriteFields = new ResponsiveMap(init.options.outputOverwriteFields);
|
|
10361
|
+
}
|
|
10362
|
+
exportSchema(options) {
|
|
10363
|
+
const schema = super.exportSchema(options);
|
|
10364
|
+
if (this.inputOverwriteFields) {
|
|
10365
|
+
const trg = schema.options.inputOverwriteFields = {};
|
|
10366
|
+
Array.from(this.inputOverwriteFields.entries()).forEach(([k, o]) => {
|
|
10367
|
+
trg[k] = ApiField.prototype.exportSchema.call(o, options);
|
|
10368
|
+
});
|
|
10369
|
+
}
|
|
10370
|
+
if (this.outputOverwriteFields) {
|
|
10371
|
+
const trg = schema.options.outputOverwriteFields = {};
|
|
10372
|
+
Array.from(this.outputOverwriteFields.entries()).forEach(([k, o]) => {
|
|
10373
|
+
trg[k] = ApiField.prototype.exportSchema.call(o, options);
|
|
10374
|
+
});
|
|
10375
|
+
}
|
|
10376
|
+
return schema;
|
|
10340
10377
|
}
|
|
10341
10378
|
};
|
|
10342
10379
|
|
|
@@ -10350,7 +10387,7 @@ var CrudResource = class extends Resource {
|
|
|
10350
10387
|
this.operations = new ResponsiveMap();
|
|
10351
10388
|
if (init.operations) {
|
|
10352
10389
|
for (const [name, meta] of Object.entries(init.operations)) {
|
|
10353
|
-
this.operations.set(name, new
|
|
10390
|
+
this.operations.set(name, new CrudOperation(this, name, meta));
|
|
10354
10391
|
}
|
|
10355
10392
|
}
|
|
10356
10393
|
}
|
|
@@ -10393,14 +10430,18 @@ var CollectionClass = class extends CrudResource {
|
|
|
10393
10430
|
endpoint.defineParameter("include", { type: "string", isArray: true, isBuiltin: true });
|
|
10394
10431
|
endpoint.decodeInput = this.type.generateCodec("decode", {
|
|
10395
10432
|
partial: true,
|
|
10396
|
-
pick: endpoint.inputPickFields,
|
|
10397
|
-
omit: endpoint.inputOmitFields
|
|
10433
|
+
pick: endpoint.options.inputPickFields,
|
|
10434
|
+
omit: endpoint.options.inputOmitFields,
|
|
10435
|
+
operation: "write",
|
|
10436
|
+
overwriteFields: endpoint.inputOverwriteFields
|
|
10398
10437
|
});
|
|
10399
10438
|
endpoint.returnType = this.type;
|
|
10400
10439
|
endpoint.encodeReturning = endpoint.returnType.generateCodec("encode", {
|
|
10401
10440
|
partial: true,
|
|
10402
|
-
pick: endpoint.outputPickFields,
|
|
10403
|
-
omit: endpoint.outputOmitFields
|
|
10441
|
+
pick: endpoint.options.outputPickFields,
|
|
10442
|
+
omit: endpoint.options.outputOmitFields,
|
|
10443
|
+
operation: "read",
|
|
10444
|
+
overwriteFields: endpoint.outputOverwriteFields
|
|
10404
10445
|
});
|
|
10405
10446
|
}
|
|
10406
10447
|
endpoint = this.operations.get("deleteMany");
|
|
@@ -10415,8 +10456,10 @@ var CollectionClass = class extends CrudResource {
|
|
|
10415
10456
|
endpoint.returnType = this.type;
|
|
10416
10457
|
endpoint.encodeReturning = endpoint.returnType.generateCodec("encode", {
|
|
10417
10458
|
partial: true,
|
|
10418
|
-
pick: endpoint.outputPickFields,
|
|
10419
|
-
omit: endpoint.outputOmitFields
|
|
10459
|
+
pick: endpoint.options.outputPickFields,
|
|
10460
|
+
omit: endpoint.options.outputOmitFields,
|
|
10461
|
+
operation: "read",
|
|
10462
|
+
overwriteFields: endpoint.outputOverwriteFields
|
|
10420
10463
|
});
|
|
10421
10464
|
}
|
|
10422
10465
|
endpoint = this.operations.get("findMany");
|
|
@@ -10433,8 +10476,10 @@ var CollectionClass = class extends CrudResource {
|
|
|
10433
10476
|
endpoint.returnType = this.type;
|
|
10434
10477
|
endpoint.encodeReturning = vg8.isArray(this.type.generateCodec("encode", {
|
|
10435
10478
|
partial: true,
|
|
10436
|
-
pick: endpoint.outputPickFields,
|
|
10437
|
-
omit: endpoint.outputOmitFields
|
|
10479
|
+
pick: endpoint.options.outputPickFields,
|
|
10480
|
+
omit: endpoint.options.outputOmitFields,
|
|
10481
|
+
operation: "read",
|
|
10482
|
+
overwriteFields: endpoint.outputOverwriteFields
|
|
10438
10483
|
}));
|
|
10439
10484
|
}
|
|
10440
10485
|
endpoint = this.operations.get("update");
|
|
@@ -10443,28 +10488,31 @@ var CollectionClass = class extends CrudResource {
|
|
|
10443
10488
|
endpoint.defineParameter("omit", { type: "string", isArray: true, isBuiltin: true });
|
|
10444
10489
|
endpoint.defineParameter("include", { type: "string", isArray: true, isBuiltin: true });
|
|
10445
10490
|
endpoint.decodeInput = this.type.generateCodec("decode", {
|
|
10446
|
-
pick: endpoint.inputPickFields,
|
|
10447
|
-
omit: endpoint.inputOmitFields
|
|
10491
|
+
pick: endpoint.options.inputPickFields,
|
|
10492
|
+
omit: endpoint.options.inputOmitFields,
|
|
10493
|
+
operation: "write",
|
|
10494
|
+
overwriteFields: endpoint.inputOverwriteFields
|
|
10448
10495
|
});
|
|
10449
10496
|
endpoint.returnType = this.type;
|
|
10450
10497
|
endpoint.encodeReturning = endpoint.returnType.generateCodec("encode", {
|
|
10451
10498
|
partial: true,
|
|
10452
|
-
pick: endpoint.outputPickFields,
|
|
10453
|
-
omit: endpoint.outputOmitFields
|
|
10499
|
+
pick: endpoint.options.outputPickFields,
|
|
10500
|
+
omit: endpoint.options.outputOmitFields,
|
|
10501
|
+
operation: "read",
|
|
10502
|
+
overwriteFields: endpoint.outputOverwriteFields
|
|
10454
10503
|
});
|
|
10455
10504
|
}
|
|
10456
10505
|
endpoint = this.operations.get("updateMany");
|
|
10457
10506
|
if (endpoint) {
|
|
10458
10507
|
endpoint.defineParameter("filter", { type: "string", isBuiltin: true });
|
|
10459
10508
|
endpoint.decodeInput = this.type.generateCodec("decode", {
|
|
10460
|
-
pick: endpoint.inputPickFields,
|
|
10461
|
-
omit: endpoint.inputOmitFields
|
|
10509
|
+
pick: endpoint.options.inputPickFields,
|
|
10510
|
+
omit: endpoint.options.inputOmitFields,
|
|
10511
|
+
operation: "write",
|
|
10512
|
+
overwriteFields: endpoint.inputOverwriteFields
|
|
10462
10513
|
});
|
|
10463
10514
|
}
|
|
10464
10515
|
}
|
|
10465
|
-
getOperation(name) {
|
|
10466
|
-
return super.getOperation(name);
|
|
10467
|
-
}
|
|
10468
10516
|
exportSchema(options) {
|
|
10469
10517
|
return {
|
|
10470
10518
|
...super.exportSchema(options),
|
|
@@ -10511,7 +10559,7 @@ var CollectionClass = class extends CrudResource {
|
|
|
10511
10559
|
if (!normalized)
|
|
10512
10560
|
return;
|
|
10513
10561
|
const findManyOp = this.getOperation("findMany");
|
|
10514
|
-
const sortFields = findManyOp && findManyOp.sortFields;
|
|
10562
|
+
const sortFields = findManyOp && findManyOp.options.sortFields;
|
|
10515
10563
|
(Array.isArray(normalized) ? normalized : [normalized]).forEach((field) => {
|
|
10516
10564
|
if (!sortFields?.find((x) => x === field))
|
|
10517
10565
|
throw new BadRequestError({
|
|
@@ -10530,13 +10578,13 @@ var CollectionClass = class extends CrudResource {
|
|
|
10530
10578
|
throw new TypeError(`Invalid filter query. Left side should be a data field.`);
|
|
10531
10579
|
const findManyOp = this.getOperation("findMany");
|
|
10532
10580
|
const fieldLower = ast.left.value.toLowerCase();
|
|
10533
|
-
const filterDef = (findManyOp && findManyOp.filters || []).find((f) => f.field.toLowerCase() === fieldLower);
|
|
10581
|
+
const filterDef = (findManyOp && findManyOp.options.filters || []).find((f) => f.field.toLowerCase() === fieldLower);
|
|
10534
10582
|
if (!filterDef) {
|
|
10535
10583
|
throw new BadRequestError({
|
|
10536
10584
|
message: translate("error:UNACCEPTED_FILTER_FIELD", { field: ast.left.value })
|
|
10537
10585
|
});
|
|
10538
10586
|
}
|
|
10539
|
-
if (!filterDef.operators
|
|
10587
|
+
if (filterDef.operators && !filterDef.operators.includes(ast.op))
|
|
10540
10588
|
throw new BadRequestError({
|
|
10541
10589
|
message: translate("error:UNACCEPTED_FILTER_OPERATION", { field: ast.left.value })
|
|
10542
10590
|
});
|
|
@@ -10570,14 +10618,15 @@ var CollectionClass = class extends CrudResource {
|
|
|
10570
10618
|
}
|
|
10571
10619
|
};
|
|
10572
10620
|
|
|
10573
|
-
// ../../build/common/esm/document/resource/operation-decorator.js
|
|
10574
|
-
function createOperationDecorator(operation,
|
|
10621
|
+
// ../../build/common/esm/document/resource/crud-operation-decorator.js
|
|
10622
|
+
function createOperationDecorator(operation, init, list) {
|
|
10575
10623
|
const decorator = /* @__PURE__ */ __name((target, propertyKey) => {
|
|
10576
10624
|
if (propertyKey !== operation)
|
|
10577
10625
|
throw new TypeError(`Name of the handler name should be '${operation}'`);
|
|
10578
10626
|
const resourceMetadata = Reflect.getOwnMetadata(RESOURCE_METADATA, target.constructor) || {};
|
|
10579
10627
|
resourceMetadata.operations = resourceMetadata.operations || {};
|
|
10580
|
-
const operationMeta = { ...
|
|
10628
|
+
const operationMeta = { ...init };
|
|
10629
|
+
operationMeta.options = operationMeta.options || {};
|
|
10581
10630
|
resourceMetadata.operations[operation] = operationMeta;
|
|
10582
10631
|
for (const fn of list)
|
|
10583
10632
|
fn(operationMeta, target, propertyKey);
|
|
@@ -10613,23 +10662,31 @@ Object.assign(CollectionDecorator, ResourceDecorator);
|
|
|
10613
10662
|
const list = [];
|
|
10614
10663
|
const decorator = createOperationDecorator("create", options, list);
|
|
10615
10664
|
decorator.InputMaxContentSize = (sizeInBytes) => {
|
|
10616
|
-
list.push((operationMeta) => operationMeta.inputMaxContentSize = sizeInBytes);
|
|
10665
|
+
list.push((operationMeta) => operationMeta.options.inputMaxContentSize = sizeInBytes);
|
|
10617
10666
|
return decorator;
|
|
10618
10667
|
};
|
|
10619
10668
|
decorator.InputPickFields = (...fields) => {
|
|
10620
|
-
list.push((operationMeta) => operationMeta.inputPickFields = fields);
|
|
10669
|
+
list.push((operationMeta) => operationMeta.options.inputPickFields = fields);
|
|
10621
10670
|
return decorator;
|
|
10622
10671
|
};
|
|
10623
10672
|
decorator.InputOmitFields = (...fields) => {
|
|
10624
|
-
list.push((operationMeta) => operationMeta.inputOmitFields = fields);
|
|
10673
|
+
list.push((operationMeta) => operationMeta.options.inputOmitFields = fields);
|
|
10674
|
+
return decorator;
|
|
10675
|
+
};
|
|
10676
|
+
decorator.InputOverwriteFields = (fields) => {
|
|
10677
|
+
list.push((operationMeta) => operationMeta.options.inputOverwriteFields = fields);
|
|
10625
10678
|
return decorator;
|
|
10626
10679
|
};
|
|
10627
10680
|
decorator.OutputPickFields = (...fields) => {
|
|
10628
|
-
list.push((operationMeta) => operationMeta.outputPickFields = fields);
|
|
10681
|
+
list.push((operationMeta) => operationMeta.options.outputPickFields = fields);
|
|
10629
10682
|
return decorator;
|
|
10630
10683
|
};
|
|
10631
10684
|
decorator.OutputOmitFields = (...fields) => {
|
|
10632
|
-
list.push((operationMeta) => operationMeta.outputOmitFields = fields);
|
|
10685
|
+
list.push((operationMeta) => operationMeta.options.outputOmitFields = fields);
|
|
10686
|
+
return decorator;
|
|
10687
|
+
};
|
|
10688
|
+
decorator.OutputOverwriteFields = (fields) => {
|
|
10689
|
+
list.push((operationMeta) => operationMeta.options.outputOverwriteFields = fields);
|
|
10633
10690
|
return decorator;
|
|
10634
10691
|
};
|
|
10635
10692
|
return decorator;
|
|
@@ -10649,8 +10706,8 @@ Object.assign(CollectionDecorator, ResourceDecorator);
|
|
|
10649
10706
|
if (typeof operators === "string")
|
|
10650
10707
|
operators = operators.split(/\s*[,| ]\s*/);
|
|
10651
10708
|
list.push((operationMeta) => {
|
|
10652
|
-
operationMeta.filters = operationMeta.filters || [];
|
|
10653
|
-
operationMeta.filters.push(omitUndefined({ field, operators, notes }));
|
|
10709
|
+
operationMeta.options.filters = operationMeta.options.filters || [];
|
|
10710
|
+
operationMeta.options.filters.push(omitUndefined({ field, operators, notes }));
|
|
10654
10711
|
});
|
|
10655
10712
|
return decorator;
|
|
10656
10713
|
};
|
|
@@ -10662,11 +10719,15 @@ Object.assign(CollectionDecorator, ResourceDecorator);
|
|
|
10662
10719
|
const list = [];
|
|
10663
10720
|
const decorator = createOperationDecorator("get", options, list);
|
|
10664
10721
|
decorator.OutputPickFields = (...fields) => {
|
|
10665
|
-
list.push((operationMeta) => operationMeta.outputPickFields = fields);
|
|
10722
|
+
list.push((operationMeta) => operationMeta.options.outputPickFields = fields);
|
|
10666
10723
|
return decorator;
|
|
10667
10724
|
};
|
|
10668
10725
|
decorator.OutputOmitFields = (...fields) => {
|
|
10669
|
-
list.push((operationMeta) => operationMeta.outputOmitFields = fields);
|
|
10726
|
+
list.push((operationMeta) => operationMeta.options.outputOmitFields = fields);
|
|
10727
|
+
return decorator;
|
|
10728
|
+
};
|
|
10729
|
+
decorator.OutputOverwriteFields = (fields) => {
|
|
10730
|
+
list.push((operationMeta) => operationMeta.options.outputOverwriteFields = fields);
|
|
10670
10731
|
return decorator;
|
|
10671
10732
|
};
|
|
10672
10733
|
return decorator;
|
|
@@ -10677,28 +10738,32 @@ Object.assign(CollectionDecorator, ResourceDecorator);
|
|
|
10677
10738
|
const list = [];
|
|
10678
10739
|
const decorator = createOperationDecorator("findMany", options, list);
|
|
10679
10740
|
decorator.SortFields = (...fields) => {
|
|
10680
|
-
list.push((operationMeta) => operationMeta.sortFields = fields);
|
|
10741
|
+
list.push((operationMeta) => operationMeta.options.sortFields = fields);
|
|
10681
10742
|
return decorator;
|
|
10682
10743
|
};
|
|
10683
10744
|
decorator.DefaultSort = (...fields) => {
|
|
10684
|
-
list.push((operationMeta) => operationMeta.defaultSort = fields);
|
|
10745
|
+
list.push((operationMeta) => operationMeta.options.defaultSort = fields);
|
|
10685
10746
|
return decorator;
|
|
10686
10747
|
};
|
|
10687
10748
|
decorator.Filter = (field, operators, notes) => {
|
|
10688
10749
|
if (typeof operators === "string")
|
|
10689
10750
|
operators = operators.split(/\s*[,| ]\s*/);
|
|
10690
10751
|
list.push((operationMeta) => {
|
|
10691
|
-
operationMeta.filters = operationMeta.filters || [];
|
|
10692
|
-
operationMeta.filters.push(omitUndefined({ field, operators, notes }));
|
|
10752
|
+
operationMeta.options.filters = operationMeta.options.filters || [];
|
|
10753
|
+
operationMeta.options.filters.push(omitUndefined({ field, operators, notes }));
|
|
10693
10754
|
});
|
|
10694
10755
|
return decorator;
|
|
10695
10756
|
};
|
|
10696
10757
|
decorator.OutputPickFields = (...fields) => {
|
|
10697
|
-
list.push((operationMeta) => operationMeta.outputPickFields = fields);
|
|
10758
|
+
list.push((operationMeta) => operationMeta.options.outputPickFields = fields);
|
|
10698
10759
|
return decorator;
|
|
10699
10760
|
};
|
|
10700
10761
|
decorator.OutputOmitFields = (...fields) => {
|
|
10701
|
-
list.push((operationMeta) => operationMeta.outputOmitFields = fields);
|
|
10762
|
+
list.push((operationMeta) => operationMeta.options.outputOmitFields = fields);
|
|
10763
|
+
return decorator;
|
|
10764
|
+
};
|
|
10765
|
+
decorator.OutputOverwriteFields = (fields) => {
|
|
10766
|
+
list.push((operationMeta) => operationMeta.options.outputOverwriteFields = fields);
|
|
10702
10767
|
return decorator;
|
|
10703
10768
|
};
|
|
10704
10769
|
return decorator;
|
|
@@ -10711,23 +10776,31 @@ Object.assign(CollectionDecorator, ResourceDecorator);
|
|
|
10711
10776
|
const list = [];
|
|
10712
10777
|
const decorator = createOperationDecorator("update", options, list);
|
|
10713
10778
|
decorator.InputMaxContentSize = (sizeInBytes) => {
|
|
10714
|
-
list.push((operationMeta) => operationMeta.inputMaxContentSize = sizeInBytes);
|
|
10779
|
+
list.push((operationMeta) => operationMeta.options.inputMaxContentSize = sizeInBytes);
|
|
10715
10780
|
return decorator;
|
|
10716
10781
|
};
|
|
10717
10782
|
decorator.InputPickFields = (...fields) => {
|
|
10718
|
-
list.push((operationMeta) => operationMeta.inputPickFields = fields);
|
|
10783
|
+
list.push((operationMeta) => operationMeta.options.inputPickFields = fields);
|
|
10719
10784
|
return decorator;
|
|
10720
10785
|
};
|
|
10721
10786
|
decorator.InputOmitFields = (...fields) => {
|
|
10722
|
-
list.push((operationMeta) => operationMeta.inputOmitFields = fields);
|
|
10787
|
+
list.push((operationMeta) => operationMeta.options.inputOmitFields = fields);
|
|
10788
|
+
return decorator;
|
|
10789
|
+
};
|
|
10790
|
+
decorator.InputOverwriteFields = (fields) => {
|
|
10791
|
+
list.push((operationMeta) => operationMeta.options.inputOverwriteFields = fields);
|
|
10723
10792
|
return decorator;
|
|
10724
10793
|
};
|
|
10725
10794
|
decorator.OutputPickFields = (...fields) => {
|
|
10726
|
-
list.push((operationMeta) => operationMeta.outputPickFields = fields);
|
|
10795
|
+
list.push((operationMeta) => operationMeta.options.outputPickFields = fields);
|
|
10727
10796
|
return decorator;
|
|
10728
10797
|
};
|
|
10729
10798
|
decorator.OutputOmitFields = (...fields) => {
|
|
10730
|
-
list.push((operationMeta) => operationMeta.outputOmitFields = fields);
|
|
10799
|
+
list.push((operationMeta) => operationMeta.options.outputOmitFields = fields);
|
|
10800
|
+
return decorator;
|
|
10801
|
+
};
|
|
10802
|
+
decorator.OutputOverwriteFields = (fields) => {
|
|
10803
|
+
list.push((operationMeta) => operationMeta.options.outputOverwriteFields = fields);
|
|
10731
10804
|
return decorator;
|
|
10732
10805
|
};
|
|
10733
10806
|
return decorator;
|
|
@@ -10741,23 +10814,27 @@ Object.assign(CollectionDecorator, ResourceDecorator);
|
|
|
10741
10814
|
const options = typeof arg0 === "string" ? { description: arg0 } : { ...arg0 };
|
|
10742
10815
|
const decorator = createOperationDecorator("updateMany", options, list);
|
|
10743
10816
|
decorator.InputMaxContentSize = (sizeInBytes) => {
|
|
10744
|
-
list.push((operationMeta) => operationMeta.inputMaxContentSize = sizeInBytes);
|
|
10817
|
+
list.push((operationMeta) => operationMeta.options.inputMaxContentSize = sizeInBytes);
|
|
10745
10818
|
return decorator;
|
|
10746
10819
|
};
|
|
10747
10820
|
decorator.InputPickFields = (...fields) => {
|
|
10748
|
-
list.push((operationMeta) => operationMeta.inputPickFields = fields);
|
|
10821
|
+
list.push((operationMeta) => operationMeta.options.inputPickFields = fields);
|
|
10749
10822
|
return decorator;
|
|
10750
10823
|
};
|
|
10751
10824
|
decorator.InputOmitFields = (...fields) => {
|
|
10752
|
-
list.push((operationMeta) => operationMeta.inputOmitFields = fields);
|
|
10825
|
+
list.push((operationMeta) => operationMeta.options.inputOmitFields = fields);
|
|
10826
|
+
return decorator;
|
|
10827
|
+
};
|
|
10828
|
+
decorator.InputOverwriteFields = (fields) => {
|
|
10829
|
+
list.push((operationMeta) => operationMeta.options.inputOverwriteFields = fields);
|
|
10753
10830
|
return decorator;
|
|
10754
10831
|
};
|
|
10755
10832
|
decorator.Filter = (field, operators, notes) => {
|
|
10756
10833
|
if (typeof operators === "string")
|
|
10757
10834
|
operators = operators.split(/\s*[,| ]\s*/);
|
|
10758
10835
|
list.push((operationMeta) => {
|
|
10759
|
-
operationMeta.filters = operationMeta.filters || [];
|
|
10760
|
-
operationMeta.filters.push(omitUndefined({ field, operators, notes }));
|
|
10836
|
+
operationMeta.options.filters = operationMeta.options.filters || [];
|
|
10837
|
+
operationMeta.options.filters.push(omitUndefined({ field, operators, notes }));
|
|
10761
10838
|
});
|
|
10762
10839
|
return decorator;
|
|
10763
10840
|
};
|
|
@@ -10799,14 +10876,18 @@ var SingletonClass = class extends CrudResource {
|
|
|
10799
10876
|
endpoint.defineParameter("include", { type: "string", isArray: true, isBuiltin: true });
|
|
10800
10877
|
endpoint.decodeInput = this.type.generateCodec("decode", {
|
|
10801
10878
|
partial: true,
|
|
10802
|
-
pick: endpoint.inputPickFields,
|
|
10803
|
-
omit: endpoint.inputOmitFields
|
|
10879
|
+
pick: endpoint.options.inputPickFields,
|
|
10880
|
+
omit: endpoint.options.inputOmitFields,
|
|
10881
|
+
operation: "write",
|
|
10882
|
+
overwriteFields: endpoint.inputOverwriteFields
|
|
10804
10883
|
});
|
|
10805
10884
|
endpoint.returnType = this.type;
|
|
10806
10885
|
endpoint.encodeReturning = endpoint.returnType.generateCodec("encode", {
|
|
10807
10886
|
partial: true,
|
|
10808
|
-
pick: endpoint.outputPickFields,
|
|
10809
|
-
omit: endpoint.outputOmitFields
|
|
10887
|
+
pick: endpoint.options.outputPickFields,
|
|
10888
|
+
omit: endpoint.options.outputOmitFields,
|
|
10889
|
+
operation: "read",
|
|
10890
|
+
overwriteFields: endpoint.outputOverwriteFields
|
|
10810
10891
|
});
|
|
10811
10892
|
}
|
|
10812
10893
|
endpoint = this.operations.get("get");
|
|
@@ -10817,8 +10898,10 @@ var SingletonClass = class extends CrudResource {
|
|
|
10817
10898
|
endpoint.returnType = this.type;
|
|
10818
10899
|
endpoint.encodeReturning = endpoint.returnType.generateCodec("encode", {
|
|
10819
10900
|
partial: true,
|
|
10820
|
-
pick: endpoint.outputPickFields,
|
|
10821
|
-
omit: endpoint.outputOmitFields
|
|
10901
|
+
pick: endpoint.options.outputPickFields,
|
|
10902
|
+
omit: endpoint.options.outputOmitFields,
|
|
10903
|
+
operation: "read",
|
|
10904
|
+
overwriteFields: endpoint.outputOverwriteFields
|
|
10822
10905
|
});
|
|
10823
10906
|
}
|
|
10824
10907
|
endpoint = this.operations.get("update");
|
|
@@ -10827,14 +10910,18 @@ var SingletonClass = class extends CrudResource {
|
|
|
10827
10910
|
endpoint.defineParameter("omit", { type: "string", isArray: true, isBuiltin: true });
|
|
10828
10911
|
endpoint.defineParameter("include", { type: "string", isArray: true, isBuiltin: true });
|
|
10829
10912
|
endpoint.decodeInput = this.type.generateCodec("decode", {
|
|
10830
|
-
pick: endpoint.inputPickFields,
|
|
10831
|
-
omit: endpoint.inputOmitFields
|
|
10913
|
+
pick: endpoint.options.inputPickFields,
|
|
10914
|
+
omit: endpoint.options.inputOmitFields,
|
|
10915
|
+
operation: "write",
|
|
10916
|
+
overwriteFields: endpoint.inputOverwriteFields
|
|
10832
10917
|
});
|
|
10833
10918
|
endpoint.returnType = this.type;
|
|
10834
10919
|
endpoint.encodeReturning = endpoint.returnType.generateCodec("encode", {
|
|
10835
10920
|
partial: true,
|
|
10836
|
-
pick: endpoint.outputPickFields,
|
|
10837
|
-
omit: endpoint.outputOmitFields
|
|
10921
|
+
pick: endpoint.options.outputPickFields,
|
|
10922
|
+
omit: endpoint.options.outputOmitFields,
|
|
10923
|
+
operation: "read",
|
|
10924
|
+
overwriteFields: endpoint.outputOverwriteFields
|
|
10838
10925
|
});
|
|
10839
10926
|
}
|
|
10840
10927
|
}
|
|
@@ -10957,27 +11044,27 @@ Object.assign(StorageDecorator, ResourceDecorator);
|
|
|
10957
11044
|
const list = [];
|
|
10958
11045
|
const decorator = createOperationDecorator("post", options, list);
|
|
10959
11046
|
decorator.MaxFields = (amount) => {
|
|
10960
|
-
list.push((operationMeta) => operationMeta.maxFields = amount);
|
|
11047
|
+
list.push((operationMeta) => operationMeta.options.maxFields = amount);
|
|
10961
11048
|
return decorator;
|
|
10962
11049
|
};
|
|
10963
11050
|
decorator.MaxFieldSize = (amount) => {
|
|
10964
|
-
list.push((operationMeta) => operationMeta.maxFieldsSize = amount);
|
|
11051
|
+
list.push((operationMeta) => operationMeta.options.maxFieldsSize = amount);
|
|
10965
11052
|
return decorator;
|
|
10966
11053
|
};
|
|
10967
11054
|
decorator.MaxFiles = (amount) => {
|
|
10968
|
-
list.push((operationMeta) => operationMeta.maxFiles = amount);
|
|
11055
|
+
list.push((operationMeta) => operationMeta.options.maxFiles = amount);
|
|
10969
11056
|
return decorator;
|
|
10970
11057
|
};
|
|
10971
11058
|
decorator.MaxFileSize = (sizeInBytes) => {
|
|
10972
|
-
list.push((operationMeta) => operationMeta.maxFileSize = sizeInBytes);
|
|
11059
|
+
list.push((operationMeta) => operationMeta.options.maxFileSize = sizeInBytes);
|
|
10973
11060
|
return decorator;
|
|
10974
11061
|
};
|
|
10975
11062
|
decorator.MaxTotalFileSize = (sizeInBytes) => {
|
|
10976
|
-
list.push((operationMeta) => operationMeta.maxTotalFileSize = sizeInBytes);
|
|
11063
|
+
list.push((operationMeta) => operationMeta.options.maxTotalFileSize = sizeInBytes);
|
|
10977
11064
|
return decorator;
|
|
10978
11065
|
};
|
|
10979
11066
|
decorator.MinFileSize = (sizeInBytes) => {
|
|
10980
|
-
list.push((operationMeta) => operationMeta.minFileSize = sizeInBytes);
|
|
11067
|
+
list.push((operationMeta) => operationMeta.options.minFileSize = sizeInBytes);
|
|
10981
11068
|
return decorator;
|
|
10982
11069
|
};
|
|
10983
11070
|
return decorator;
|
|
@@ -11143,9 +11230,9 @@ var ApiDocumentFactory = class _ApiDocumentFactory extends TypeDocumentFactory {
|
|
|
11143
11230
|
return;
|
|
11144
11231
|
const output = {};
|
|
11145
11232
|
for (const [kA, oA] of Object.entries(source)) {
|
|
11146
|
-
|
|
11233
|
+
const o = output[kA] = { ...oA };
|
|
11147
11234
|
if (oA.parameters) {
|
|
11148
|
-
parameters = {};
|
|
11235
|
+
const parameters = o.parameters = {};
|
|
11149
11236
|
for (const [kP, oP] of Object.entries(oA.parameters)) {
|
|
11150
11237
|
if (oP.enum) {
|
|
11151
11238
|
oP.type = EnumType2(oP.enum, { name: kP + "Enum" });
|
|
@@ -11156,7 +11243,30 @@ var ApiDocumentFactory = class _ApiDocumentFactory extends TypeDocumentFactory {
|
|
|
11156
11243
|
};
|
|
11157
11244
|
}
|
|
11158
11245
|
}
|
|
11159
|
-
|
|
11246
|
+
if (oA.options?.inputOverwriteFields) {
|
|
11247
|
+
const inputOverwriteFields = {};
|
|
11248
|
+
for (const [kP, oP] of Object.entries(oA.options.inputOverwriteFields)) {
|
|
11249
|
+
if (oP.enum) {
|
|
11250
|
+
oP.type = EnumType2(oP.enum, { name: kP + "Enum" });
|
|
11251
|
+
}
|
|
11252
|
+
inputOverwriteFields[kP] = { ...oP };
|
|
11253
|
+
if (oP.type)
|
|
11254
|
+
inputOverwriteFields[kP].type = await this.importDataType(oP.type);
|
|
11255
|
+
}
|
|
11256
|
+
o.options.inputOverwriteFields = inputOverwriteFields;
|
|
11257
|
+
}
|
|
11258
|
+
if (oA.options?.outputOverwriteFields) {
|
|
11259
|
+
const outputOverwriteFields = {};
|
|
11260
|
+
for (const [kP, oP] of Object.entries(oA.options.outputOverwriteFields)) {
|
|
11261
|
+
if (oP.enum) {
|
|
11262
|
+
oP.type = EnumType2(oP.enum, { name: kP + "Enum" });
|
|
11263
|
+
}
|
|
11264
|
+
outputOverwriteFields[kP] = { ...oP };
|
|
11265
|
+
if (oP.type)
|
|
11266
|
+
outputOverwriteFields[kP].type = await this.importDataType(oP.type);
|
|
11267
|
+
}
|
|
11268
|
+
o.options.outputOverwriteFields = outputOverwriteFields;
|
|
11269
|
+
}
|
|
11160
11270
|
}
|
|
11161
11271
|
return output;
|
|
11162
11272
|
}, "convertEndpoints");
|
|
@@ -11925,6 +12035,7 @@ export {
|
|
|
11925
12035
|
Collection2 as Collection,
|
|
11926
12036
|
ComplexType2 as ComplexType,
|
|
11927
12037
|
Container2 as Container,
|
|
12038
|
+
CrudOperation,
|
|
11928
12039
|
CrudResource,
|
|
11929
12040
|
DATATYPE_METADATA,
|
|
11930
12041
|
DECORATOR,
|
|
@@ -11946,7 +12057,6 @@ export {
|
|
|
11946
12057
|
NotAcceptableError,
|
|
11947
12058
|
NotFoundError,
|
|
11948
12059
|
OmitType,
|
|
11949
|
-
Operation,
|
|
11950
12060
|
OperationResult,
|
|
11951
12061
|
OpraException,
|
|
11952
12062
|
opra_filter_ns_exports as OpraFilter,
|