forked from mirrors/gecko-dev
Current implementation
```lang=javascript
exports.method = function(fn, spec = {}) {
fn._methodSpec = Object.freeze(spec);
if (spec.request) {
Object.freeze(spec.request);
}
if (spec.response) {
Object.freeze(spec.response);
}
return fn;
};
```
https://searchfox.org/mozilla-central/rev/5a1a34953a26117f3be1a00db20c8bbdc03273d6/devtools/shared/protocol/utils.js#70-79
The helper method() in protocol/utils.js is only called from two methods:
- actorBridge (never used in the codebase)
- actorBridgeWithSpec (used by a few actors)
actorBridgeWithSpec doesn't pass the second argument, so in practice, this method could be reduced to:
```lang=javascript
exports.method = function(fn) {
fn._methodSpec = Object.freeze({});
return fn;
};
```
`_methodSpec` is only mentioned in one other spot: https://searchfox.org/mozilla-central/rev/5a1a34953a26117f3be1a00db20c8bbdc03273d6/devtools/shared/protocol/Actor/generateActorSpec.js#27-40
But based on our coverage tooling, we never actually have a `_methodSpec` when we run this code: https://coverage.moz.tools/#view=file&revision=latest&path=devtools/shared/protocol/Actor/generateActorSpec.js
To hit it, we would have to call `generateActorSpec` directly with an actor where we used `actorBridgeWithSpec`. But we never do that, we only use it with plain JS objects in the devtools/shared/specs folder.
Consequently, this helper can be removed.
Differential Revision: https://phabricator.services.mozilla.com/D96935
37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
"use strict";
|
|
|
|
var { Actor, ActorClassWithSpec } = require("devtools/shared/protocol/Actor");
|
|
var { Pool } = require("devtools/shared/protocol/Pool");
|
|
var {
|
|
types,
|
|
registerFront,
|
|
getFront,
|
|
createRootFront,
|
|
} = require("devtools/shared/protocol/types");
|
|
var { Front } = require("devtools/shared/protocol/Front");
|
|
var {
|
|
FrontClassWithSpec,
|
|
} = require("devtools/shared/protocol/Front/FrontClassWithSpec");
|
|
var { Arg, Option } = require("devtools/shared/protocol/Request");
|
|
const { RetVal } = require("devtools/shared/protocol/Response");
|
|
const {
|
|
generateActorSpec,
|
|
} = require("devtools/shared/protocol/Actor/generateActorSpec");
|
|
|
|
exports.Front = Front;
|
|
exports.Pool = Pool;
|
|
exports.Actor = Actor;
|
|
exports.ActorClassWithSpec = ActorClassWithSpec;
|
|
exports.types = types;
|
|
exports.generateActorSpec = generateActorSpec;
|
|
exports.FrontClassWithSpec = FrontClassWithSpec;
|
|
exports.Arg = Arg;
|
|
exports.Option = Option;
|
|
exports.RetVal = RetVal;
|
|
exports.registerFront = registerFront;
|
|
exports.getFront = getFront;
|
|
exports.createRootFront = createRootFront;
|