UNPKG

starling-framework

Version:

A fast, productive library for 2D cross-platform development.

161 lines (144 loc) 3.66 kB
// Class: haxe.ds.StringMap var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this $global.Object.defineProperty(exports, "__esModule", {value: true}); var __map_reserved = {}; // Imports var $hxClasses = require("./../../hxClasses_stub").default; var $hxEnums = require("./../../hxEnums_stub").default; var $import = require("./../../import_stub").default; function haxe_IMap() {return require("./../../haxe/IMap");} function HxOverrides() {return require("./../../HxOverrides");} function haxe_ds__$StringMap_StringMapIterator() {return require("./../../haxe/ds/_StringMap/StringMapIterator");} function haxe_iterators_MapKeyValueIterator() {return require("./../../haxe/iterators/MapKeyValueIterator");} function StringBuf() {return require("./../../StringBuf");} function Std() {return require("./../../Std");} // Constructor var StringMap = function() { this.h = { }; } // Meta StringMap.__name__ = "haxe.ds.StringMap"; StringMap.__isInterface__ = false; StringMap.__interfaces__ = [(haxe_IMap().default)]; StringMap.prototype = { isReserved: function(key) { return __map_reserved[key] != null; }, set: function(key,value) { if(this.isReserved(key)) { this.setReserved(key,value); } else { this.h[key] = value; } }, get: function(key) { if(this.isReserved(key)) { return this.getReserved(key); } return this.h[key]; }, exists: function(key) { if(this.isReserved(key)) { return this.existsReserved(key); } return this.h.hasOwnProperty(key); }, setReserved: function(key,value) { if(this.rh == null) { this.rh = { }; } this.rh["$" + key] = value; }, getReserved: function(key) { if(this.rh == null) { return null; } else { return this.rh["$" + key]; } }, existsReserved: function(key) { if(this.rh == null) { return false; } return this.rh.hasOwnProperty("$" + key); }, remove: function(key) { if(this.isReserved(key)) { key = "$" + key; if(this.rh == null || !this.rh.hasOwnProperty(key)) { return false; } delete(this.rh[key]); return true; } else { if(!this.h.hasOwnProperty(key)) { return false; } delete(this.h[key]); return true; } }, keys: function() { return (HxOverrides().default).iter(this.arrayKeys()); }, arrayKeys: function() { var out = []; for( var key in this.h ) { if(this.h.hasOwnProperty(key)) { out.push(key); } } if(this.rh != null) { for( var key in this.rh ) { if(key.charCodeAt(0) == 36) { out.push(key.substr(1)); } } } return out; }, iterator: function() { return new (haxe_ds__$StringMap_StringMapIterator().default)(this,this.arrayKeys()); }, keyValueIterator: function() { return new (haxe_iterators_MapKeyValueIterator().default)(this); }, copy: function() { var copied = new StringMap(); var key = this.keys(); while(key.hasNext()) { var key1 = key.next(); copied.set(key1,this.get(key1)); } return copied; }, toString: function() { var s = new (StringBuf().default)(); s.add("{"); var keys = this.arrayKeys(); var _g = 0; var _g1 = keys.length; while(_g < _g1) { var i = _g++; var k = keys[i]; s.add(k); s.add(" => "); s.add((Std().default).string(this.get(k))); if(i < keys.length - 1) { s.add(", "); } } s.add("}"); return s.toString(); }, clear: function() { this.h = { }; this.rh = null; } }; StringMap.prototype.__class__ = StringMap.prototype.constructor = $hxClasses["haxe.ds.StringMap"] = StringMap; // Init var __map_reserved = {};; // Statics // Export exports.default = StringMap;