declare global
, похоже, является билетом типа TypeScript 2.1. Обратите внимание, что Array.prototype
имеет тип any[]
, поэтому, если вы хотите, чтобы ваша реализация функции проверялась на согласованность, лучше всего добавить параметр универсального типа.
declare global {
interface Array<T> {
remove(elem: T): Array<T>;
}
}
if (!Array.prototype.remove) {
Array.prototype.remove = function<T>(elem: T): T[] {
return this.filter(e => e !== elem);
}
}
Вопрос с ответом на себя, на всякий случай он может быть полезен любому:
Это довольно странная ситуация, связанная с драйвером codeigniter mysqli class CI_DB_mysqli_driver
в system\database\drivers\mysqli\mysqli_driver.php
. По какой-то причине код в
if (isset($this->stricton)) { /* ... */ }
... устанавливает некоторые параметры mysqli MYSQLI_INIT_COMMAND, которые вызывают ошибку.
Легко обойти ошибку , не устанавливая флаг 'stricton'
в настройках вашей дБ. Просто закомментируйте это:
$db['default'] = array(
'dsn' => '',
'hostname' => '127.0.0.1',
'username' => 'my_username',
'password' => 'my_password',
'database' => 'my_db',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
// 'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);