АС
Size: a a a
АС
АС
АТ
MK
const apiKeys = {
api1: {
'createUser': 'createUser',
'getUser': 'getUser'
},
api2: {
'createUser': 'addUser'
}
};
const apiCarry = (api, apiKey) => (method) => (...args) => {
const methodKey = apiKeys[apiKey][method] ?? apiKeys['api1'][method];
api[methodKey](...args);
};
const currentApi = apiCarry(api1, 'api1');
currentApi('createUser')();
ND
АТ
RC
ND
RC
ND
RC
𝐼
D
D
const apiKeys = {
api1: {
'createUser': 'createUser',
'getUser': 'getUser'
},
api2: {
'createUser': 'addUser'
}
};
const apiCarry = (api, apiKey) => (method) => (...args) => {
const methodKey = apiKeys[apiKey][method] ?? apiKeys['api1'][method];
api[methodKey](...args);
};
const currentApi = apiCarry(api1, 'api1');
currentApi('createUser')();
АК
NK
𝐼
GV
const apiKeys = {
api1: {
'createUser': 'createUser',
'getUser': 'getUser'
},
api2: {
'createUser': 'addUser'
}
};
const apiCarry = (api, apiKey) => (method) => (...args) => {
const methodKey = apiKeys[apiKey][method] ?? apiKeys['api1'][method];
api[methodKey](...args);
};
const currentApi = apiCarry(api1, 'api1');
currentApi('createUser')();
GV
class EndpointsConfig {
final String createUser;
final String auth;
EndpointsConfig._({this.createUser, this.auth});
}
class EndpointsConfigDev extends EndpointsConfig {
EndpointsConfigDev() : super._(createUser: 'dev/user/create', auth: 'dev/auth');
}
class Endpoints {
static Endpoints _singleton;
static String _createUser;
static String get createUser => _createUser;
// OR non static
String _auth; // OR final String auth;
String get auth => _auth;
factory Endpoints() {
assert(_singleton != null);
return _singleton;
}
static init(EndpointsConfig config) {
assert(_singleton == null);
Endpoints._createUser = config.createUser;
// OR non static
_singleton = Endpoints._().._auth = config.auth;
}
Endpoints._();
}
void main() {
Endpoints.init(EndpointsConfigDev());
print(Endpoints.createUser);
// OR non static
print(Endpoints().auth);
}
НК
A RenderFlex overflowed by 54 pixels on the right.
. Просто убрать нужно