What is bplist-creator?
The bplist-creator package is a Node.js module designed for creating binary property list (bplist) files. Binary property lists are a binary format used by macOS and iOS for storing serialized objects. This package allows developers to generate these files programmatically, making it useful for applications that need to interact with Apple ecosystems or require efficient data serialization.
What are bplist-creator's main functionalities?
Creating binary plist from JavaScript objects
This feature allows developers to convert JavaScript objects into binary plist format. The code sample demonstrates how to create a binary plist from a simple JavaScript object and then write it to a file.
const bplistCreator = require('bplist-creator');
const fs = require('fs');
const object = { a: 1, b: 'Test', c: true };
const buffer = bplistCreator(object);
fs.writeFileSync('example.plist', buffer);
Other packages similar to bplist-creator
plist
The 'plist' package provides functionality for parsing and building both XML and binary plist files. Unlike bplist-creator, which focuses solely on creating binary plists, 'plist' supports both parsing and serialization in both binary and XML formats, offering a more versatile solution for working with plist files.
bplist-parser
While bplist-creator is designed for creating binary plist files, 'bplist-parser' complements it by offering the ability to parse binary plist files. This package is useful for reading and extracting data from binary plist files, making it a good counterpart to bplist-creator for applications that need both serialization and deserialization capabilities.
bplist-parser
Binary Mac OS X Plist (property list) creator.
Installation
$ npm install bplist-creator
Quick Examples
var bplist = require('bplist-creator');
var buffer = bplist({
key1: [1, 2, 3]
});
Real/Double/Float handling
Javascript don't have different types for 1
and 1.0
. This package
will automatically store numbers as the appropriate type, but can't
detect floats that is also integers.
If you need to force a value to be written with the real
type pass
an instance of Real
.
var buffer = bplist({
backgroundRed: new bplist.Real(1),
backgroundGreen: new bplist.Real(0),
backgroundBlue: new bplist.Real(0)
});
In xml
the corresponding tags is <integer>
and <real>
.
License
(The MIT License)
Copyright (c) 2012 Near Infinity Corporation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.