UNPKG

idevicedb

Version:

Searchable collection of Apple devices

210 lines (125 loc) 5.32 kB
# iDeviceDB [![npm](https://img.shields.io/npm/v/iDeviceDB.svg)](https://www.npmjs.com/package/iDeviceDB) Searchable collection of Apple devices. Parameters per device: Generation, Model number ("A" Number), Bootrom, Variant, FCC ID, Internal Name, Identifier, Case Material, Color, Storage, Model Sources: - https://en.wikipedia.org/wiki/List_of_iOS_devices - https://www.theiphonewiki.com/wiki/Models - https://developer.apple.com/reference/uikit/uidevice - https://support.apple.com/en-ph/HT201296 ## Install ``` $ npm install idevicedb ``` ## Usage In node: ```js var iosDevices = require("idevicedb"); ``` In browser: ```html <script src="node_modules/idevicedb/dist/idevicedb.min.js"></script> <script> window.iosDeviceList; // Object </script> ``` ### `.deviceTypes()` : Array Returns the device type list: airpods, apple_tv, apple_watch, homepod, ipad, ipad_air, ipad_pro, ipad_mini, iphone, ipod_touch ### `.devices([type])` : Array Returns the full device list. With optional type parameter returns the device list of the actual type. ### `.generations([type])` : Array Returns the full Generation list. With optional type parameter returns the generation list of the actual type. ### `.anumbers([type])` : Array Returns the full "A" Number list. With optional type parameter returns the "A" Number list of the actual type. ### `.fccids([type])` : Array Returns the full FCC ID list. With optional type parameter returns the FCC ID list of the actual type. ### `.internalNames([type])` : Array Returns the full Internal Name list. With optional type parameter returns the Internal Name list of the actual type. ### `.identifiers([type])` : Array Returns the full Identifier list. With optional type parameter returns the Identifier list of the actual type. ### `.colors([type])` : Array Returns the full Color list. With optional type parameter returns the Color list of the actual type. ### `.storages([type])` : Array Returns the full Storage list. With optional type parameter returns the Storage list of the actual type. ### `.models([type])` : Array Returns the full Model list. With optional type parameter returns the Model list of the actual type. ### `.deviceByGeneration(generation, [type], [options])` : Array Returns a device list with matching Generation. With optional type parameter the result is filtered by the device type. `options` is an `Object`. - `caseInsensitive`: boolean _(default false)_ - do not care of case type - `contains`: boolean _(default false)_ - return partial (substring) results too ### `.deviceByANumber(anumber, [type], [options])` : Array Returns a device list with matching "A" Number. With optional type parameter the result is filtered by the device type. ### `.deviceByFCCID(fccid, [type], [options])` : Array Returns a device list with matching FCC ID. With optional type parameter the result is filtered by the device type. ### `.deviceByInternalName(name, [type], [options])` : Array Returns a device list with matching Internal Name. With optional type parameter the result is filtered by the device type. ### `.deviceByIdentifier(id, [type], [options])` : Array Returns a device list with matching Identifier. With optional type parameter the result is filtered by the device type. ### `.deviceByColor(color, [type], [options])` : Array Returns a device list with matching Color. With optional type parameter the result is filtered by the device type. ### `.deviceByStorage(storage, [type], [options])` : Array Returns a device list with matching Storage. With optional type parameter the result is filtered by the device type. ### `.deviceByModel(model, [type], [options])` : Array Returns a device list with matching Model. With optional type parameter the result is filtered by the device type. ### `.generationByIdentifier(id, [type])` : String Returns the generation name with matching Identifier. With optional type parameter the result is filtered by the device type. ## Example ```js var iosDevices = require("idevicedb"); var deviceTypes = iosDevices.deviceTypes(); var devices = iosDevices.devices(); console.log(deviceTypes.length); // 6 console.log(devices.length); // 727 console.log(devices[500]); // { Type: 'iphone', // Generation: 'iPhone 5c', // ANumber: [ 'A1456', 'A1532' ], // Bootrom: [ 'Bootrom 1145.3' ], // Variant: 'iPhone5,3', // FCCID: [ 'BCG‑E2644A' ], // InternalName: 'N48AP', // Identifier: 'iPhone5,3', // Color: 'Yellow', // Storage: '32 GB', // Model: 'MF135' } var iphone82; iphone82 = iosDevices.deviceByIdentifier("iPhone8,2"); console.log(iphone82.length); // 24 iphone82 = iosDevices.deviceByIdentifier("iphone8,2", null, { caseInsensitive: true, }); console.log(iphone82.length); // 24 iphone82 = iosDevices.deviceByIdentifier("iPhone8", null, { contains: true }); console.log(iphone82.length); // 56 var gen = iosDevices.generationByIdentifier("iPhone8,2"); console.log(gen); // 'iPhone 6s Plus' ``` ## License **iDeviceDB** is licensed under the Apache license. For more information, see the LICENSE file in this repository. _Note that this software is a continuation of a previous package called "ios-device-list", which was no longer being maintained, see ACKNOWLEDGMENTS file for more information_