js/Foundation/NSKeyedArchiver.js
- 'use strict'
-
- import NSCoder from './NSCoder'
- //import NSMutableData from './NSMutableData'
- //import NSKeyedArchiverDelegate from '../undefined/NSKeyedArchiverDelegate'
-
-
- /**
- * NSKeyedArchiver, a concrete subclass of NSCoder, provides a way to encode objects (and scalar values) into an architecture-independent format that can be stored in a file. When you archive a set of objects, the class information and instance variables for each object are written to the archive. NSKeyedArchiver’s companion class, NSKeyedUnarchiver, decodes the data in an archive and creates a set of objects equivalent to the original set.
- * @access public
- * @extends {NSCoder}
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver
- */
- export default class NSKeyedArchiver extends NSCoder {
- // Initializers
-
- /**
- *
- * @access public
- * @constructor
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1642790-init
- */
- constructor() {
- super()
-
- // Archiving Data
-
- /**
- * The format in which the receiver encodes its data.
- * @type {PropertyListSerialization.PropertyListFormat}
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1417520-outputformat
- */
- this.outputFormat = null
-
- /**
- * Indicates whether the receiver requires all archived classes to conform to NSSecureCoding.
- * @type {boolean}
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1417084-requiressecurecoding
- */
- this.requiresSecureCoding = false
-
-
- // Managing the Delegate
-
- /**
- * The archiver’s delegate.
- * @type {?NSKeyedArchiverDelegate}
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1412809-delegate
- */
- this.delegate = null
-
-
- // Instance Properties
-
- this._encodedData = null
- }
-
- // Initializing an NSKeyedArchiver Object
-
- /**
- * Returns the receiver, initialized for encoding an archive into a given a mutable-data object.
- * @access public
- * @param {NSMutableData} data - The mutable-data object into which the archive is written.
- * @returns {NSKeyedArchiver}
- * @desc When you finish encoding data, you must invoke finishEncoding() at which point data is filled. The format of the receiver is NSPropertyListBinaryFormat_v1_0.
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1409579-init
- */
- //initForWritingWith(data) {
- static archiverForWritingWithData(data) {
- const instance = new NSKeyedArchiver()
-
- // TODO: implement
-
- return instance
- }
-
- // Archiving Data
-
- /**
- * Returns an NSData object containing the encoded form of the object graph whose root object is given.
- * @access public
- * @param {Object} rootObject -
- * @returns {Data} -
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1413189-archiveddata
- */
- static archivedDataWithRootObject(rootObject) {
- return null
- }
-
- /**
- * Archives an object graph rooted at a given object by encoding it into a data object then atomically writes the resulting data object to a file at a given path, and returns a Boolean value that indicates whether the operation was successful.
- * @access public
- * @param {Object} rootObject -
- * @param {string} path - The path of the file in which to write the archive.
- * @returns {boolean} -
- * @desc The format of the archive is NSPropertyListBinaryFormat_v1_0.
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1410621-archiverootobject
- */
- static archiveRootObjectToFile(rootObject, path) {
- return false
- }
-
- /**
- * Instructs the receiver to construct the final data stream.
- * @access public
- * @returns {void}
- * @desc No more values can be encoded after this method is called. You must call this method when finished.
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1413904-finishencoding
- */
- finishEncoding() {
- }
-
- // Encoding Data and Objects
-
- /**
- * Encodes a given float value and associates it with a given key.
- * @access public
- * @param {number} realv - The value to encode.
- * @param {string} key - The key with which to associate realv. This value must not be nil.
- * @returns {void}
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1416972-encode
- */
- encodeForKey(realv, key) {
- }
-
- /**
- * Encodes a given number of bytes from a given C array of bytes and associates them with the a given key.
- * @access public
- * @param {?UnsafePointer<UInt8>} bytesp - A C array of bytes to encode.
- * @param {number} lenv - The number of bytes from bytesp to encode.
- * @param {string} key - The key with which to associate the encoded value. This value must not be nil.
- * @returns {void}
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1417696-encodebytes
- */
- encodeBytesLengthForKey(bytesp, lenv, key) {
- }
-
- /**
- * Encodes a reference to a given object and associates it with a given key only if it has been unconditionally encoded elsewhere in the archive with encode(_:forKey:).
- * @access public
- * @param {?Object} objv - The object to encode.
- * @param {string} key - The key with which to associate the encoded value. This value must not be nil.
- * @returns {void}
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1413677-encodeconditionalobject
- */
- encodeConditionalObjectForKey(objv, key) {
- }
-
- // Managing Classes and Class Names
-
- /**
- * Adds a class translation mapping to the receiver whereby instances of of a given class are encoded with a given class name instead of their real class names.
- * @access public
- * @param {?string} codedName -
- * @param {Object} cls - The class for which to set up a translation mapping.
- * @returns {void}
- * @desc When encoding, the receiver’s translation map overrides any translation that may also be present in the class’s map.
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1414746-setclassname
- */
- static setClassNameFor(codedName, cls) {
- }
-
- /**
- * Returns the class name with which the receiver encodes instances of a given class.
- * @access public
- * @param {Object} cls - The class for which to determine the translation mapping.
- * @returns {?string} -
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1407245-classname
- */
- static classNameFor(cls) {
- return null
- }
-
-
- // Instance Properties
- /**
- * Returns the encoded data for the archiver.
- * @type {Data}
- * @desc If encoding has not yet finished, invoking this property calls finishEncoding() and returns the data. If you initialized the keyed archiver with a specific mutable data instance, then that data is returned by the property after finishEncoding() is called.
- * @see https://developer.apple.com/documentation/foundation/nskeyedarchiver/1643042-encodeddata
- */
- get encodedData() {
- return this._encodedData
- }
- }