Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

audit AOs with optional parameters #3475

Open
1 of 41 tasks
michaelficarra opened this issue Nov 15, 2024 · 2 comments
Open
1 of 41 tasks

audit AOs with optional parameters #3475

michaelficarra opened this issue Nov 15, 2024 · 2 comments

Comments

@michaelficarra
Copy link
Member

For example, the Call AO's argument list parameter is currently optional, which can make it a footgun for authors and a bit misleading for readers. We should make it mandatory. See tc39/proposal-upsert#65.

Matrix conversation
  • ToPrimitive preferredType
  • Call argumentsList
  • Construct argumentsList
  • Construct newTarget
  • CreateListFromArrayLike validElementTypes
  • Invoke argumentsList
  • IteratorNext value
  • ResolveBinding env
  • OrdinaryObjectCreate additionalInternalSlotsList
  • OrdinaryCreateFromConstructor internalSlotsList
  • MakeConstructor writablePrototype
  • MakeConstructor prototype
  • SetFunctionName prefix
  • CreateBuiltinFunction realm
  • CreateBuiltinFunction prototype
  • CreateBuiltinFunction prefix
  • ArrayCreate proto
  • ForIn/OfBodyEvaluation iteratorKind
  • InstantiateOrdinaryFunctionExpression name
  • InstantiateArrowFunctionExpression name
  • DefineMethod functionPrototype
  • InstantiateGeneratorFunctionExpression name
  • InstantiateAsyncGeneratorFunctionExpression name
  • InstantiateAsyncFunctionExpression name
  • InstantiateAsyncArrowFunctionExpression name
  • LoadRequestedModules hostDefined
  • GetExportedNames exportStarSet
  • ResolveExport resolveSet
  • ExecuteModule capability
  • FlattenIntoArray mapperFunction
  • FlattenIntoArray thisArg
  • AllocateTypedArray length
  • AllocateArrayBuffer maxByteLength
  • DetachArrayBuffer key
  • GetValueFromBuffer isLittleEndian
  • SetValueInBuffer isLittleEndian
  • AllocateSharedArrayBuffer maxByteLength
  • ValidateAtomicAccessOnIntegerTypedArray waitable
  • PerformPromiseThen resultCapability
  • CreateIteratorFromClosure extraSlots
  • AsyncGeneratorCompleteStep realm
@ljharb
Copy link
Member

ljharb commented Nov 15, 2024

I assume the goal here is to remove footguns, not to remove optional parameters entirely?

@michaelficarra
Copy link
Member Author

It's to consider whether each optional parameter is a net negative or a net positive and remove the former.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants