Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   пишу shells.js это оболочки на все все все, очень удобная библиотека (https://javascript.ru/forum/project/25184-pishu-shells-js-ehto-obolochki-na-vse-vse-vse-ochen-udobnaya-biblioteka.html)

Livaanderiamarum 27.01.2012 20:59

пишу shells.js это оболочки на все все все, очень удобная библиотека
 
РАКУШКА.ЖС

// console.log
(function(name) {
	window[name] = function(arg) {
		console.log(arg)
	}
})('log');

// JSON
(function(name) {
	var json = JSON
	var func = function(arg) {
		return json[typeof arg == 'string' ? 'parse' : 'stringify'](arg)
	}
	func.parse = json.parse
	func.stringify = json.stringify
	window[name] = func
})('JSON');

// localStorage
(function(name) {
	var storage = localStorage
	window[name] = function(arg, arg2) {
		if (arguments.length == 1) {
			return (arg === null) ? storage.clear() : JSON.parse(storage
					.getItem(arg))
		} else {
			return (arg2 === null) ? storage.removeItem(arg) : storage
					.setItem(arg, JSON.stringify(arg2))
		}
	}
})('storage');

Livaanderiamarum 27.01.2012 21:01

При чем они не взаимосвязаны)) и каждый модуль можно переименовать или отключить)
Ракушечки придают новый интерфейс привычным вещам, гораздо более удобный и интуитивный)) в стиле jQuery.

storage('name', 'Вася') установить ключ name в значение "Вася"
storage('name') вернет значение ключа name
storage('name', null) удалить ключ name
storage(null) очистит хранилище

и все в таком стиле.

melky 27.01.2012 23:17

было бы неплохо запускаемых примеров и комментариев, как в коде, так и без кода.

прочитав код, я не понял, что к чему.

Octane 27.01.2012 23:25

Это конечно замечательно, когда все скрипты на сейте тобой написаны, но не всегда все так будет, поэтому оставь ссылку на JSON в покое.

Livaanderiamarum 28.01.2012 16:41

Цитата:

Сообщение от Octane (Сообщение 153497)
Это конечно замечательно, когда все скрипты на сейте тобой написаны, но не всегда все так будет, поэтому оставь ссылку на JSON в покое.

JSON обратно совместим!) они все обратносовместимы

trikadin 29.01.2012 01:23

Цитата:

Сообщение от Livaanderiamarum
storage('name', 'Вася') установить ключ name в значение "Вася"
storage('name') вернет значение ключа name
storage('name', null) удалить ключ name
storage(null) очистит хранилище

А мне не нравится такой подход. Потому что он предполагает 100500 if'ов в ф-ции, и как следствие - хреновый код.

Почему нельзя сделать storage.clear()/clearItem(), storage.write(), storage.get()?

Gvozd 29.01.2012 01:41

Цитата:

Сообщение от trikadin
А мне не нравится такой подход.

Чувак, это jQuery-чик))

trikadin 29.01.2012 01:43

Цитата:

Сообщение от Gvozd
Чувак, это jQuery-чик))

А мне и jQuery не нравится)))...

Livaanderiamarum 29.01.2012 01:54

Цитата:

Сообщение от trikadin
А мне и jQuery не нравится)))...

Ооооот она где зарыта)?

Livaanderiamarum 29.01.2012 01:54

Цитата:

Сообщение от melky
было бы неплохо запускаемых примеров и комментариев, как в коде, так и без кода.

сделаю


Часовой пояс GMT +3, время: 23:34.