[ci] format
This commit is contained in:
parent
fcb9a05c31
commit
65d753488e
3 changed files with 28 additions and 23 deletions
|
@ -577,9 +577,10 @@ async function tryToInstallIntegrations({
|
|||
if (installCommand === null) {
|
||||
return UpdateResult.none;
|
||||
} else {
|
||||
const coloredOutput = `${bold(installCommand.pm)} ${
|
||||
installCommand.command
|
||||
}${['', ...installCommand.flags].join(' ')} ${cyan(installCommand.dependencies.join(' '))}`;
|
||||
const coloredOutput = `${bold(installCommand.pm)} ${installCommand.command}${[
|
||||
'',
|
||||
...installCommand.flags,
|
||||
].join(' ')} ${cyan(installCommand.dependencies.join(' '))}`;
|
||||
const message = `\n${boxen(coloredOutput, {
|
||||
margin: 0.5,
|
||||
padding: 0.5,
|
||||
|
|
|
@ -13,7 +13,11 @@ const PROP_TYPE = {
|
|||
URL: 7,
|
||||
};
|
||||
|
||||
function serializeArray(value: any[], metadata: AstroComponentMetadata | Record<string, any> = {}, parents = new WeakSet<any>()): any[] {
|
||||
function serializeArray(
|
||||
value: any[],
|
||||
metadata: AstroComponentMetadata | Record<string, any> = {},
|
||||
parents = new WeakSet<any>()
|
||||
): any[] {
|
||||
if (parents.has(value)) {
|
||||
throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!
|
||||
|
||||
|
@ -21,7 +25,7 @@ Cyclic references cannot be safely serialized for client-side usage. Please remo
|
|||
}
|
||||
parents.add(value);
|
||||
const serialized = value.map((v) => {
|
||||
return convertToSerializedForm(v, metadata, parents)
|
||||
return convertToSerializedForm(v, metadata, parents);
|
||||
});
|
||||
parents.delete(value);
|
||||
return serialized;
|
||||
|
|
|
@ -6,62 +6,62 @@ describe('serialize', () => {
|
|||
const input = { a: 1 };
|
||||
const output = `{"a":[0,1]}`;
|
||||
expect(serializeProps(input)).to.equal(output);
|
||||
})
|
||||
});
|
||||
it('serializes an array', () => {
|
||||
const input = { a: [0] };
|
||||
const output = `{"a":[1,"[[0,0]]"]}`;
|
||||
expect(serializeProps(input)).to.equal(output);
|
||||
})
|
||||
});
|
||||
it('serializes a regular expression', () => {
|
||||
const input = { a: /b/ };
|
||||
const output = `{"a":[2,"b"]}`;
|
||||
expect(serializeProps(input)).to.equal(output);
|
||||
})
|
||||
});
|
||||
it('serializes a Date', () => {
|
||||
const input = { a: new Date(0) };
|
||||
const output = `{"a":[3,"1970-01-01T00:00:00.000Z"]}`;
|
||||
expect(serializeProps(input)).to.equal(output);
|
||||
})
|
||||
});
|
||||
it('serializes a Map', () => {
|
||||
const input = { a: new Map([[0, 1]]) };
|
||||
const output = `{"a":[4,"[[1,\\"[[0,0],[0,1]]\\"]]"]}`;
|
||||
expect(serializeProps(input)).to.equal(output);
|
||||
})
|
||||
});
|
||||
it('serializes a Set', () => {
|
||||
const input = { a: new Set([0, 1, 2, 3]) };
|
||||
const output = `{"a":[5,"[[0,0],[0,1],[0,2],[0,3]]"]}`;
|
||||
expect(serializeProps(input)).to.equal(output);
|
||||
})
|
||||
});
|
||||
it('serializes a BigInt', () => {
|
||||
const input = { a: BigInt('1') };
|
||||
const output = `{"a":[6,"1"]}`;
|
||||
expect(serializeProps(input)).to.equal(output);
|
||||
})
|
||||
});
|
||||
it('serializes a URL', () => {
|
||||
const input = { a: new URL('https://example.com/') };
|
||||
const output = `{"a":[7,"https://example.com/"]}`;
|
||||
expect(serializeProps(input)).to.equal(output);
|
||||
})
|
||||
});
|
||||
it('cannot serialize a cyclic reference', () => {
|
||||
const a = {}
|
||||
const a = {};
|
||||
a.b = a;
|
||||
const input = { a };
|
||||
expect(() => serializeProps(input)).to.throw(/cyclic/);
|
||||
})
|
||||
});
|
||||
it('cannot serialize a cyclic array', () => {
|
||||
const input = { foo: ['bar'] }
|
||||
input.foo.push(input)
|
||||
const input = { foo: ['bar'] };
|
||||
input.foo.push(input);
|
||||
expect(() => serializeProps(input)).to.throw(/cyclic/);
|
||||
})
|
||||
});
|
||||
it('cannot serialize a deep cyclic reference', () => {
|
||||
const a = { b: {}};
|
||||
const a = { b: {} };
|
||||
a.b.c = a;
|
||||
const input = { a };
|
||||
expect(() => serializeProps(input)).to.throw(/cyclic/);
|
||||
})
|
||||
});
|
||||
it('can serialize shared references that are not cyclic', () => {
|
||||
const b = {}
|
||||
const b = {};
|
||||
const input = { a: { b, b }, b };
|
||||
expect(() => serializeProps(input)).not.to.throw();
|
||||
})
|
||||
})
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue