madden-franchise 4.2.0 → 4.2.2
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/data/schemas/26/M26_682_1.gz +0 -0
- package/dist/FranchiseFileTable.d.ts.map +1 -1
- package/dist/index.cjs +57 -34
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +57 -34
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/data/schemas/26/M26_660_1.gz +0 -0
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FranchiseFileTable.d.ts","sourceRoot":"","sources":["../src/FranchiseFileTable.js"],"names":[],"mappings":";;;UAQc,MAAM;aACN,OAAO;aACP,MAAM;eACN,MAAM;cACN,MAAM;mBACN,MAAM;mBACN,MAAM;aACN,MAAM;eACN,MAAM;mBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,MAAM;sBACN,MAAM;oBACN,MAAM;iBACN,MAAM;kBACN,MAAM;sBACN,MAAM;eACN,MAAM;kBACN,MAAM;kBACN,MAAM;eACN,MAAM;eACN,MAAM;gBACN,MAAM;kBACN,MAAM;uBACN,MAAM;uBACN,MAAM;iBACN,MAAM;iBACN,MAAM;aACN,MAAM;mBACN,MAAM;sBACN,MAAM;oBACN,OAAO;sBACP,MAAM;sBACN,MAAM;iBACN,MAAM;oBACN,MAAM;gBACN,MAAM;qBACN,MAAM;mBACN,OAAO;;;WAIP,MAAM;mBACN,MAAM;UACN,MAAM;UACN,MAAM;iBACN,OAAO;wBACP,OAAO;uBACP,OAAO;cACP,OAAO;cACP,MAAM;cACN,MAAM;eACN,MAAM;WACN,OAAO;iBACP,MAAM;UACN,aAAa;WACb,OAAO;YACP,MAAM;;;cAIN,MAAM;UACN,MAAM;;oCAIP,OAAO,4BAA4B,EAAE,OAAO;0BAC5C,OAAO,sBAAsB,EAAE,WAAW;4BAC1C,OAAO,oBAAoB,EAAE,OAAO;2BACpC,OAAO,gCAAgC,EAAE,YAAY;4BACrD,OAAO,gCAAgC,EAAE,aAAa;AA1EnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH;;;;GAIG;AAEH;;;;;;GAMG;AACH;IACI,iFAqCC;IAnCG,cAAe;IACf,qBAAqB;IACrB,MADW,MAAM,CACD;IAChB,qBAAqB;IACrB,kBADW,MAAM,CACkB;IACnC,qBAAqB;IACrB,QADW,MAAM,CACG;IACpB,2BAA2B;IAC3B,cADW,YAAY,CACK;IAC5B,4BAA4B;IAC5B,UADW,aAAa,CACe;IACvC,qBAAwB;IACxB,qBAAqB;IACrB,WADW,MAAM,CACQ;IACzB,uCAAuC;IACvC,QADW,wBAAwB,CACe;IAClD,qBAAqB;IACrB,MADW,MAAM,CACW;IAC5B,sBAAsB;IACtB,SADW,OAAO,CACgB;IAClC,sCAAsC;IACtC,eADW,MAAM,gBAAgB,CAAC,CACX;IACvB,mBAAsB;IACtB,yCAAyC;IACzC,SADW,MAAM,mBAAmB,CAAC,CACpB;IACjB,8CAA8C;IAC9C,eADW,MAAM,wBAAwB,CAAC,CACnB;IACvB,8CAA8C;IAC9C,eADW,MAAM,wBAAwB,CAAC,CACnB;IACvB,4BAA4B;IAC5B,YADW,MAAM,MAAM,CAAC,CACJ;IACpB,oCAAoC;IACpC,yCAA6B;IAC7B,oCAAoC;IACpC,WADW,qBAAqB,CACP;IAE7B,wBAAwB;IACxB,sBAGC;IACD,kCAAkC;IAClC,+DAyBC;IACD,0BAA0B;IAC1B,yDAEC;IAzBG,mCAAmC;IACnC,gBAAqB;IAcrB;;;;;;;;;;;;;;oBAAqB;IAWzB;;;;;;;MAWC;IACD,8CAA8C;IAC9C,kCADY,MAAM,GAAkB,MAAM,CAGzC;IACD,
|
|
1
|
+
{"version":3,"file":"FranchiseFileTable.d.ts","sourceRoot":"","sources":["../src/FranchiseFileTable.js"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -3354,51 +3354,70 @@ async function generateSchemaV2({ fileMap, extraSchemas }) {
|
|
|
3354
3354
|
.replace(/"/g, '"');
|
|
3355
3355
|
}
|
|
3356
3356
|
}
|
|
3357
|
-
|
|
3358
|
-
return enums.find((theEnum) => theEnum.name === name);
|
|
3359
|
-
}
|
|
3357
|
+
|
|
3360
3358
|
function addExtraSchemas() {
|
|
3361
3359
|
if (!Array.isArray(extraSchemas)) return;
|
|
3360
|
+
|
|
3361
|
+
// extra enums
|
|
3362
|
+
extraSchemas
|
|
3363
|
+
.filter((schema) => schema.type === 'enum')
|
|
3364
|
+
.forEach((theEnum) => {
|
|
3365
|
+
if (theEnum.forceOverride || !enumMap[theEnum.name]) {
|
|
3366
|
+
const newEnum = new FranchiseEnum(
|
|
3367
|
+
theEnum.name,
|
|
3368
|
+
theEnum.assetId,
|
|
3369
|
+
Boolean(theEnum.isRecordPersistent)
|
|
3370
|
+
);
|
|
3371
|
+
newEnum._members = theEnum.members || [];
|
|
3372
|
+
enums.unshift(newEnum);
|
|
3373
|
+
enumMap[newEnum.name] = newEnum;
|
|
3374
|
+
}
|
|
3375
|
+
});
|
|
3376
|
+
|
|
3377
|
+
// extra schemas
|
|
3362
3378
|
extraSchemas.forEach((schema) => {
|
|
3363
|
-
if (
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
schemas.unshift(
|
|
3379
|
+
if (schema.type === 'enum') return;
|
|
3380
|
+
|
|
3381
|
+
if (schema.forceOverride || !schemaMap[schema.name]) {
|
|
3382
|
+
const newSchema = {
|
|
3383
|
+
...schema,
|
|
3384
|
+
attributes: schema.attributes?.map((attrib, index) => ({
|
|
3385
|
+
...attrib,
|
|
3386
|
+
index: attrib.index || String(index)
|
|
3387
|
+
}))
|
|
3388
|
+
};
|
|
3389
|
+
|
|
3390
|
+
schemas.unshift(newSchema);
|
|
3391
|
+
schemaMap[newSchema.name] = newSchema;
|
|
3375
3392
|
}
|
|
3376
3393
|
});
|
|
3377
3394
|
}
|
|
3395
|
+
|
|
3378
3396
|
function calculateInheritedSchemas(schemaList) {
|
|
3379
3397
|
const schemasWithBase = schemaList.filter(
|
|
3380
3398
|
(schema) => schema.base && schema.base.indexOf('()') === -1
|
|
3381
3399
|
);
|
|
3400
|
+
|
|
3382
3401
|
schemasWithBase.forEach((schema) => {
|
|
3383
3402
|
if (schema.base && schema.base.indexOf('()') === -1) {
|
|
3384
3403
|
schema.originalAttributesOrder = schema.attributes;
|
|
3385
3404
|
const baseSchema = schemaList.find(
|
|
3386
3405
|
(schemaToSearch) => schemaToSearch.name === schema.base
|
|
3387
3406
|
);
|
|
3407
|
+
|
|
3388
3408
|
if (baseSchema) {
|
|
3389
3409
|
baseSchema.attributes.forEach((baseAttribute, index) => {
|
|
3390
|
-
|
|
3410
|
+
const oldIndex = schema.attributes.findIndex(
|
|
3391
3411
|
(schemaAttribute) =>
|
|
3392
3412
|
schemaAttribute?.name === baseAttribute?.name
|
|
3393
3413
|
);
|
|
3394
3414
|
|
|
3395
3415
|
if (oldIndex >= 0) {
|
|
3396
|
-
|
|
3397
|
-
schema.attributes,
|
|
3416
|
+
const [item] = schema.attributes.splice(
|
|
3398
3417
|
oldIndex,
|
|
3399
|
-
|
|
3400
|
-
false
|
|
3418
|
+
1
|
|
3401
3419
|
);
|
|
3420
|
+
schema.attributes.splice(index, 0, item);
|
|
3402
3421
|
}
|
|
3403
3422
|
});
|
|
3404
3423
|
}
|
|
@@ -3506,10 +3525,10 @@ class FranchiseSchema extends EventEmitter$2 {
|
|
|
3506
3525
|
for (let j = 0; j < schema.attributes.length; j++) {
|
|
3507
3526
|
const attribute = schema.attributes[j];
|
|
3508
3527
|
if (attribute.enum) {
|
|
3509
|
-
if (attribute.enum.
|
|
3528
|
+
if (attribute.enum._name) {
|
|
3510
3529
|
// V1 schema - enums are denormalized
|
|
3511
3530
|
attribute.enum = new FranchiseEnum(attribute.enum);
|
|
3512
|
-
this.enumMap[attribute.enum] = attribute.enum;
|
|
3531
|
+
this.enumMap[attribute.enum._name] = attribute.enum;
|
|
3513
3532
|
} else {
|
|
3514
3533
|
// V2 schema - enums are normalized
|
|
3515
3534
|
// !!!!!! Need to account for extra schema enums ------------------------------
|
|
@@ -4564,9 +4583,12 @@ class FranchiseFileTable extends EventEmitter$1 {
|
|
|
4564
4583
|
}
|
|
4565
4584
|
updateBuffer() {
|
|
4566
4585
|
// need to check table2 & table3 data first because it may change offsets of the legit records.
|
|
4586
|
+
const table2EndIndex = this.header.hasThirdTable
|
|
4587
|
+
? this.header.table3StartIndex // make sure we don't also grab table3 data when slicing
|
|
4588
|
+
: this.data.length;
|
|
4567
4589
|
let table2Data = this.strategy.getTable2BinaryData(
|
|
4568
4590
|
this.table2Records,
|
|
4569
|
-
this.data.slice(this.header.table2StartIndex)
|
|
4591
|
+
this.data.slice(this.header.table2StartIndex, table2EndIndex)
|
|
4570
4592
|
);
|
|
4571
4593
|
let table3Data = [];
|
|
4572
4594
|
if (this.header.table3StartIndex) {
|
|
@@ -4587,9 +4609,11 @@ class FranchiseFileTable extends EventEmitter$1 {
|
|
|
4587
4609
|
table3DataLength += arr.length;
|
|
4588
4610
|
});
|
|
4589
4611
|
this.header.table2Length = table2DataLength;
|
|
4590
|
-
this.header.tableTotalLength =
|
|
4591
|
-
this.header.table1Length + this.header.table2Length;
|
|
4592
4612
|
this.header.table3Length = table3DataLength;
|
|
4613
|
+
this.header.tableTotalLength =
|
|
4614
|
+
this.header.table1Length +
|
|
4615
|
+
this.header.table2Length +
|
|
4616
|
+
this.header.table3Length;
|
|
4593
4617
|
this.data.writeUInt32BE(
|
|
4594
4618
|
this.header.table2Length,
|
|
4595
4619
|
this.header.offsetStart - 44
|
|
@@ -4643,7 +4667,10 @@ class FranchiseFileTable extends EventEmitter$1 {
|
|
|
4643
4667
|
this.header.hasSecondTable &&
|
|
4644
4668
|
table2Data.length === 0
|
|
4645
4669
|
) {
|
|
4646
|
-
table2Data = this.data.slice(
|
|
4670
|
+
table2Data = this.data.slice(
|
|
4671
|
+
this.header.table2StartIndex,
|
|
4672
|
+
table2EndIndex
|
|
4673
|
+
);
|
|
4647
4674
|
}
|
|
4648
4675
|
bufferArrays = bufferArrays.concat(table2Data);
|
|
4649
4676
|
if (
|
|
@@ -5700,14 +5727,10 @@ FranchiseTable2FieldStrategy.setUnformattedValueFromFormatted = (
|
|
|
5700
5727
|
formattedValue,
|
|
5701
5728
|
maxLength
|
|
5702
5729
|
) => {
|
|
5703
|
-
//
|
|
5704
|
-
|
|
5705
|
-
|
|
5706
|
-
|
|
5707
|
-
}
|
|
5708
|
-
const numberOfNullCharactersToAdd = maxLength - valueBuffer.length;
|
|
5709
|
-
const padBuffer = Buffer.alloc(numberOfNullCharactersToAdd, 0);
|
|
5710
|
-
valueBuffer = Buffer.concat([valueBuffer, padBuffer]);
|
|
5730
|
+
// We can simply allocate a buffer of maxLength size and then use
|
|
5731
|
+
// buffer.write, which automatically handles UTF-8 and truncation
|
|
5732
|
+
let valueBuffer = Buffer.alloc(maxLength, 0);
|
|
5733
|
+
valueBuffer.write(formattedValue, 0, maxLength, 'utf-8');
|
|
5711
5734
|
return valueBuffer;
|
|
5712
5735
|
};
|
|
5713
5736
|
|